/* LIFE GALLERY — responsive front-end */
:root{--ink:#211f1b;--paper:#f4f0e8;--cream:#e9e1d4;--rust:#b65f43;--olive:#77785c;--muted:#77736b;--line:rgba(33,31,27,.18);--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}.announcement{background:var(--ink);color:#f4f0e8;text-align:center;padding:10px 18px;font-size:11px;letter-spacing:.06em}.announcement a{color:#e5a78d;text-decoration:underline;text-underline-offset:3px;margin-left:5px}.site-header{height:86px;padding:0 6.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(244,240,232,.96);backdrop-filter:blur(12px);z-index:20}.brand{display:flex;align-items:center;gap:12px}.brand-logo{width:54px;height:54px;object-fit:contain;background:#000;display:block}.brand-mark,.about-mark{width:43px;height:43px;border:1px solid var(--ink);display:grid;place-items:center;font:600 19px var(--serif);letter-spacing:-.12em}.brand-mark span,.about-mark span{color:var(--rust)}.brand-name{font-size:14px;letter-spacing:.16em}.brand-name b,.footer-brand b{font-weight:700}.brand-name small{display:block;font-size:8px;letter-spacing:.2em;margin-top:4px;color:var(--muted)}.main-nav{display:flex;align-items:center;gap:34px;font-size:12px}.main-nav>a:not(.nav-cta){color:#555149;transition:color .2s}.main-nav>a:hover{color:var(--rust)}.nav-cta{background:var(--ink);color:white;padding:13px 18px}.nav-cta span,.button span{margin-left:15px}.menu-toggle{display:none;background:none;border:0}.hero{min-height:650px;padding:78px 8% 70px;display:grid;grid-template-columns:.92fr 1.08fr;align-items:center;gap:5%}.eyebrow{font-size:9px;font-weight:700;letter-spacing:.2em;color:var(--rust);margin:0 0 22px}.eyebrow span{display:inline-block;width:23px;height:1px;background:var(--rust);vertical-align:middle;margin-right:9px}.hero h1,.section h2,.service-intro h2,.experience-copy h2,.contact-top h2{font:500 clamp(58px,7vw,98px)/.98 var(--serif);letter-spacing:-.055em;margin:0}.hero h1 em,h2 em{font-weight:500;color:var(--rust)}.hero-intro{max-width:410px;color:#69645c;font-size:14px;line-height:1.9;margin:27px 0 30px}.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;padding:17px 20px;font-size:11px;font-weight:700;letter-spacing:.04em;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.button-dark{background:var(--ink);color:white}.text-link{font-size:11px;border-bottom:1px solid var(--ink);padding-bottom:7px}.text-link span{margin-left:9px}.hero-note{display:flex;align-items:center;gap:13px;margin-top:75px;font-size:8px;letter-spacing:.2em;color:#77736b}.note-line{width:44px;height:1px;background:var(--rust)}.hero-art{height:500px;position:relative}.hero-image{position:absolute;background-size:cover;background-position:center}.image-main{right:6%;top:0;width:66%;height:88%;background-image:url('https://images.unsplash.com/photo-1541961017774-22349e4a1262?auto=format&fit=crop&w=1200&q=90');box-shadow:18px 18px 0 var(--cream)}.image-small{left:0;bottom:0;width:37%;height:43%;border:9px solid var(--paper);background-image:url('https://images.unsplash.com/photo-1513364776144-60967b0f800f?auto=format&fit=crop&w=700&q=85')}.art-stamp{position:absolute;right:0;bottom:7%;width:105px;height:105px;border-radius:50%;background:var(--rust);color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:8px;letter-spacing:.2em;transform:rotate(10deg)}.art-stamp b{font:600 22px var(--serif);letter-spacing:.02em}.art-stamp i{font-style:normal;font-size:15px;margin-top:3px}.image-caption{position:absolute;right:5%;bottom:-15px;font:italic 15px var(--serif);line-height:1.35;color:#77736b}.ticker{overflow:hidden;background:var(--rust);color:#fff;padding:16px 0;white-space:nowrap;font-size:10px;letter-spacing:.22em;font-weight:600}.ticker div{min-width:max-content;animation:marquee 32s linear infinite}.ticker span{padding:0 32px;font-size:15px}@keyframes marquee{to{transform:translateX(-30%)}}.section{padding:110px 8%}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:48px}.section h2,.service-intro h2,.experience-copy h2,.contact-top h2{font-size:clamp(48px,6vw,76px)}.section-aside{max-width:290px;font-size:12px;line-height:1.8;color:var(--muted);margin:0 2% 8px 20px}.filter-bar{display:flex;align-items:center;gap:9px;margin-bottom:27px;flex-wrap:wrap}.filter{border:1px solid var(--line);background:transparent;border-radius:30px;padding:9px 16px;font-size:10px;color:#666157;cursor:pointer}.filter.active,.filter:hover{background:var(--ink);color:white;border-color:var(--ink)}.filter-count{margin-left:auto;font-size:8px;letter-spacing:.15em;color:#938d82}.art-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:38px 22px;align-items:start}.art-card{min-width:0}.art-card.tall{grid-row:span 2}.art-image{display:block;width:100%;height:275px;border:0;background-image:var(--art);background-size:cover;background-position:center;cursor:zoom-in;transition:filter .25s,transform .25s}.art-card.tall .art-image{height:500px}.art-card.wide{grid-column:span 2}.art-card.wide .art-image{height:300px}.art-image:hover{filter:saturate(1.12);transform:translateY(-4px)}.art-meta{display:flex;justify-content:space-between;padding:13px 2px 0;border-top:1px solid var(--line);margin-top:12px}.art-meta h3{font:500 18px var(--serif);margin:0 0 5px}.art-meta p{font-size:9px;color:var(--muted);margin:0;letter-spacing:.06em}.art-meta>span{font-size:9px;color:var(--rust)}.gallery-footnote{font-size:10px;color:var(--muted);margin-top:35px}.services-section{background:var(--cream);padding:105px 8%;display:grid;grid-template-columns:.8fr 1.2fr;gap:9%}.service-intro>p:last-child{max-width:270px;color:var(--muted);font-size:12px;line-height:1.8;margin-top:26px}.service-list{border-top:1px solid var(--line)}.service-item{display:grid;grid-template-columns:38px 1fr 24px;gap:16px;padding:25px 0;border-bottom:1px solid var(--line);align-items:start}.service-number{font-size:9px;color:var(--rust);padding-top:5px}.service-item h3{font:500 23px var(--serif);margin:0 0 8px}.service-item p{font-size:11px;line-height:1.8;color:var(--muted);max-width:470px;margin:0}.service-arrow{font-size:19px;color:var(--rust)}.experience-section{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:var(--paper);min-height:500px}.experience-image{background:url('https://images.unsplash.com/photo-1513364776144-60967b0f800f?auto=format&fit=crop&w=1200&q=90') center/cover;min-height:500px}.experience-copy{padding:85px 12%;align-self:center}.experience-copy .eyebrow{color:#d68a6d}.experience-copy h2 em{color:#d68a6d}.experience-copy>p:not(.eyebrow){font-size:12px;line-height:1.9;color:#bcb7ad;max-width:390px;margin:25px 0 28px}.button-light{background:var(--paper);color:var(--ink)}.about-section{display:grid;grid-template-columns:70px 1fr .6fr;gap:6%;align-items:center}.about-mark{width:60px;height:60px;font-size:25px}.about-copy h2{font-size:clamp(44px,5vw,65px)}.about-copy>p:last-child{max-width:500px;color:var(--muted);font-size:12px;line-height:1.9;margin-top:22px}.about-side{border-left:1px solid var(--line);padding:20px 0 20px 30px}.about-side span{font-size:8px;letter-spacing:.18em;color:var(--muted)}.about-side strong{display:block;font:600 35px/.98 var(--serif);margin:20px 0;color:var(--rust)}.contact-section{background:#d9d0c1;padding:95px 8%;display:grid;grid-template-columns:1fr 1fr;gap:10%;}.contact-top h2{font-size:clamp(55px,6vw,80px)}.contact-top>p:last-child{font-size:12px;line-height:1.9;color:#69645c;max-width:360px;margin-top:25px}.contact-details{padding-top:15px}.contact-link{display:grid;grid-template-columns:1fr auto;gap:8px;padding:17px 0;border-bottom:1px solid rgba(33,31,27,.25)}.contact-link span{grid-column:1/-1;font-size:8px;letter-spacing:.17em;color:#777064}.contact-link strong{font:500 clamp(16px,2vw,22px) var(--serif)}.contact-link i{font-style:normal;color:var(--rust)}.button-accent{margin-top:25px;background:var(--rust);color:white;min-width:205px}.site-footer{background:var(--ink);color:#c8c2b8;padding:28px 6.5%;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:8px;letter-spacing:.12em}.footer-brand{font-size:13px;letter-spacing:.15em;color:white;display:flex;align-items:center;gap:9px}.footer-logo{width:30px;height:30px;object-fit:contain;background:#000}.site-footer>a:last-child{color:#e0a18a}.art-modal{position:fixed;inset:0;background:rgba(20,19,17,.94);z-index:50;display:none;align-items:center;justify-content:center;padding:7%;color:white}.art-modal.open{display:flex}.modal-close{position:absolute;right:30px;top:20px;background:none;border:0;color:white;font-size:38px;cursor:pointer}.modal-art{width:min(52%,600px);height:min(75vh,650px);background-size:contain;background-repeat:no-repeat;background-position:center}.modal-copy{max-width:340px;padding:30px}.modal-copy h2{font:500 42px var(--serif);margin:0 0 15px}.modal-copy>p:not(.eyebrow){font-size:12px;line-height:1.8;color:#c8c2b8}.modal-enquire{margin-top:20px}
@media(max-width:900px){.main-nav{gap:18px}.hero{padding-left:6%;padding-right:6%;gap:2%}.hero-art{height:420px}.section,.services-section{padding-left:6%;padding-right:6%}.services-section{gap:5%}.about-section{grid-template-columns:55px 1fr .5fr;gap:4%}.about-side{padding-left:18px}.about-side strong{font-size:27px}}
@media(max-width:680px){.announcement{font-size:9px}.site-header{height:72px;padding:0 5%}.brand-logo{width:45px;height:45px}.brand-mark{width:38px;height:38px}.brand-name{font-size:12px}.menu-toggle{display:flex;flex-direction:column;gap:6px;padding:10px}.menu-toggle span{width:23px;height:1px;background:var(--ink)}.main-nav{display:none;position:absolute;top:71px;left:0;right:0;background:var(--paper);padding:20px 6% 25px;flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid var(--line)}.main-nav.open{display:flex}.main-nav>a{padding:14px 0;border-bottom:1px solid var(--line)}.main-nav .nav-cta{margin-top:14px;padding:14px 17px;border:0}.hero{display:flex;flex-direction:column;align-items:stretch;padding:65px 7% 55px;gap:35px}.hero h1{font-size:66px}.hero-intro{font-size:13px}.hero-note{margin-top:40px}.hero-art{height:380px;margin:0 1%}.image-main{width:72%;height:85%;right:4%}.image-small{width:40%;height:42%}.art-stamp{width:85px;height:85px;right:-1%;bottom:6%}.art-stamp b{font-size:18px}.image-caption{right:4%;font-size:12px}.section{padding:75px 7%}.section-heading{display:block;margin-bottom:32px}.section-aside{margin:20px 0 0;max-width:350px}.section h2,.service-intro h2,.experience-copy h2{font-size:55px}.filter-bar{gap:7px}.filter{padding:8px 12px;font-size:9px}.filter-count{width:100%;margin:7px 0 0}.art-grid{grid-template-columns:1fr 1fr;gap:28px 13px}.art-card.tall{grid-row:span 1}.art-card.tall .art-image{height:260px}.art-image{height:210px}.art-card.wide{grid-column:span 2}.art-card.wide .art-image{height:220px}.art-meta h3{font-size:15px}.art-meta p{font-size:8px}.services-section{padding:75px 7%;grid-template-columns:1fr;gap:35px}.service-item{grid-template-columns:27px 1fr 20px;gap:10px;padding:21px 0}.service-item h3{font-size:20px}.experience-section{grid-template-columns:1fr}.experience-image{min-height:300px}.experience-copy{padding:65px 8% 75px}.about-section{padding:75px 7%;grid-template-columns:50px 1fr;gap:20px}.about-mark{width:48px;height:48px;font-size:20px}.about-copy h2{font-size:47px}.about-side{grid-column:2;border-left:0;border-top:1px solid var(--line);padding:20px 0 0;display:flex;align-items:center;gap:20px}.about-side strong{font-size:24px;margin:0}.contact-section{padding:75px 7%;grid-template-columns:1fr;gap:30px}.contact-top h2{font-size:62px}.site-footer{padding:25px 7%;flex-wrap:wrap}.site-footer>span:nth-child(2){display:none}.art-modal{flex-direction:column;padding:55px 7% 25px;overflow:auto}.modal-art{width:100%;height:45vh;flex-shrink:0}.modal-copy{padding:20px 0}.modal-copy h2{font-size:32px}.modal-close{right:18px;top:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

:root{--ink:#1d211e;--paper:#f5f2ea;--cream:#e9e3d8;--rust:#a8563b;--muted:#77776f;--line:rgba(29,33,30,.16)}
body{background-color:var(--paper);background-image:radial-gradient(rgba(29,33,30,.045) .65px,transparent .65px);background-size:6px 6px}
::selection{background:#d6a38d;color:var(--ink)}
a:focus-visible,button:focus-visible,select:focus-visible{outline:2px solid var(--rust);outline-offset:4px}
.site-header{box-shadow:0 10px 30px rgba(29,33,30,.035)}
.main-nav>a:not(.nav-cta){position:relative}
.main-nav>a:not(.nav-cta)::after{position:absolute;content:"";height:1px;background:var(--rust);left:0;right:100%;bottom:-6px;transition:right .25s}
.main-nav>a:not(.nav-cta):hover::after{right:0}
.nav-cta,.button{transition:transform .25s,background .25s,box-shadow .25s}
.nav-cta:hover,.button-dark:hover{background:#343a34;box-shadow:0 8px 20px rgba(29,33,30,.16)}
.hero{overflow:hidden}
.hero h1{font-size:clamp(64px,8vw,112px)}
.hero-art{perspective:1200px;transform-style:preserve-3d;transform:rotateX(var(--hero-tilt-x,0deg)) rotateY(var(--hero-tilt-y,0deg));transition:transform .35s ease-out}
.image-main{border:10px solid rgba(255,252,245,.94);transform:rotateY(-7deg) rotateX(2deg) translateZ(-8px);box-shadow:20px 22px 0 var(--cream),0 30px 60px rgba(29,33,30,.16)}
.image-small{transform:rotateY(9deg) rotateX(-3deg) translateZ(50px);box-shadow:0 18px 34px rgba(29,33,30,.2)}
.art-stamp{box-shadow:0 12px 30px rgba(29,33,30,.2);transform:rotate(10deg) translateZ(75px)}
.image-caption{transform:translateZ(45px)}
.ticker{background:var(--rust);background-image:linear-gradient(110deg,rgba(255,255,255,.08),transparent 40%,rgba(0,0,0,.07))}
.section-heading{gap:30px}
.art-card{perspective:1100px}
.art-image{border:10px solid rgba(255,252,245,.96);background-clip:padding-box;box-shadow:inset 0 0 0 1px rgba(255,255,255,.55),0 3px 8px rgba(29,33,30,.08),0 17px 32px rgba(29,33,30,.11);transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transform-style:preserve-3d;transition:filter .25s,transform .15s ease-out,box-shadow .25s}
.art-image:hover{filter:saturate(1.12);transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-5px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.65),0 8px 14px rgba(29,33,30,.1),0 25px 42px rgba(29,33,30,.17)}
.art-meta{position:relative}
.art-meta>span{font-size:10px;letter-spacing:.1em}
.curator-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:8%;align-items:center;padding:100px 8%;background:#202622;color:var(--paper);position:relative;overflow:hidden}
.curator-section::before{content:"";position:absolute;width:480px;height:480px;border:1px solid rgba(244,240,232,.08);border-radius:50%;right:-150px;top:-270px;box-shadow:0 0 0 45px rgba(244,240,232,.025),0 0 0 95px rgba(244,240,232,.02);pointer-events:none}
.curator-copy,.curator-panel{position:relative;z-index:1}
.curator-copy .eyebrow{color:#d79578}
.curator-copy h2{font:500 clamp(48px,6vw,76px)/1 var(--serif);letter-spacing:-.055em;margin:0}
.curator-copy h2 em{color:#d79578}
.curator-copy>p:not(.eyebrow){max-width:380px;color:#c1c6be;font-size:13px;line-height:1.9;margin:22px 0}
.curator-copy .curator-note{font-size:10px;margin-top:30px;color:#9da49b}
.curator-panel{padding:32px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.13);box-shadow:0 25px 55px rgba(0,0,0,.15);backdrop-filter:blur(8px)}
.curator-form{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}
.curator-form label{font-size:10px;letter-spacing:.1em;color:#d4d7d1}
.curator-form select{min-width:0;width:100%;padding:14px 12px;background:#303732;color:var(--paper);border:1px solid rgba(255,255,255,.16);border-radius:0;font:inherit;font-size:11px}
.curator-form .button{grid-column:1/-1;justify-self:start;margin-top:8px;color:var(--ink);border:0;cursor:pointer}
.curator-results{margin-top:28px;padding-top:22px;border-top:1px solid rgba(255,255,255,.15);display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.curator-results>p{width:100%;margin:0 0 3px;font-size:8px;letter-spacing:.18em;color:#d79578}
.curator-results>span{font-size:11px;line-height:1.6;color:#b9c0b7}
.curator-match{padding:9px 12px;border:1px solid rgba(255,255,255,.2);background:transparent;color:var(--paper);font-size:10px;cursor:pointer;transition:background .2s,border-color .2s}
.curator-match:hover{background:rgba(255,255,255,.12);border-color:#d79578}
.experience-image{position:relative}
.experience-image::after{content:"";position:absolute;inset:18px;border:1px solid rgba(255,255,255,.35);pointer-events:none}
.service-item{transition:padding .2s}
.service-item:hover{padding-left:8px}
.contact-section{background-image:radial-gradient(rgba(29,33,30,.08) .65px,transparent .65px);background-size:6px 6px}
.contact-link{transition:border-color .2s,color .2s}
.contact-link:hover{border-color:var(--rust);color:var(--rust)}
.button-accent:hover{background:#8e4933;box-shadow:0 10px 22px rgba(119,56,36,.2)}
.site-footer{border-top:1px solid rgba(255,255,255,.12)}
.modal-art{filter:drop-shadow(0 14px 28px rgba(0,0,0,.25))}
.modal-copy{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.12)}
.modal-close{transition:transform .2s,color .2s}
.modal-close:hover{transform:rotate(90deg);color:#e5a78d}
@media(max-width:900px){.hero h1{font-size:clamp(62px,9vw,88px)}.curator-section{padding:80px 6%;gap:5%}.curator-panel{padding:26px}}
@media(max-width:680px){.hero h1{font-size:66px}.hero-art{transform:none!important}.image-main{transform:rotateY(-4deg) rotateX(2deg);box-shadow:12px 14px 0 var(--cream),0 24px 40px rgba(29,33,30,.15)}.image-small{transform:rotateY(6deg) translateZ(25px)}.art-image{border-width:7px}.curator-section{grid-template-columns:1fr;gap:28px;padding:74px 7%}.curator-copy h2{font-size:55px}.curator-panel{padding:22px}.curator-form{gap:9px 12px}.curator-form select{font-size:10px;padding:12px 9px}.curator-results{margin-top:22px}.modal-copy{border:0;background:transparent;padding:20px 0}}
@media(prefers-reduced-motion:reduce){.hero-art,.art-image{transform:none!important}}
