
:root{--paper:#f7f5f0;--ink:#282c25;--muted:#666b60;--olive:#454e3c;--line:#dcded3;--wash:#edece4;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit}a,button{cursor:pointer}img{display:block;max-width:100%}button{color:inherit}::selection{background:#d9ddcd}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #858d66;outline-offset:5px}p{line-height:1.85}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}h2{font-size:clamp(40px,4.4vw,64px);line-height:1.03;letter-spacing:-.035em}h2 em,h1 em{font-weight:400;color:var(--olive)}.wrap{max-width:1320px;margin-inline:auto;padding-inline:64px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.skip{position:fixed;top:8px;left:8px;z-index:100;background:white;padding:12px;transform:translateY(-150%)}.skip:focus{transform:none}
.preview-bar{padding:7px 24px;text-align:center;background:#e8ebdf;color:var(--olive);font-size:10px;letter-spacing:.06em}.preview-bar span{margin:0 10px;opacity:.5}.site-header{position:sticky;top:0;z-index:20;background:rgba(247,245,240,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.header-inner{height:86px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:36px;height:43px;border:1px solid #939b85;border-radius:50% 50% 2px 2px;font:italic 30px var(--serif)}.brand-name{font:23px var(--serif);letter-spacing:.16em}.brand-name small{display:block;margin-top:4px;font:8px var(--sans);letter-spacing:.33em;text-align:center}.desktop-nav{display:flex;align-items:center;gap:30px;font-size:11px}.desktop-nav>a{padding-block:12px}.desktop-nav>a:hover,.text-link:hover{color:#68784f}.mobile-menu{display:none}.arrow{display:inline-flex;align-items:center}.icon-arrow{display:inline-block;width:20px;height:20px;flex-shrink:0;vertical-align:middle}.footer-links .icon-arrow{width:14px;height:14px}.button{display:inline-flex;justify-content:center;align-items:center;gap:30px;min-height:48px;padding:14px 24px;border:1px solid var(--olive);background:var(--olive);color:var(--paper);font-size:11px;font-weight:500}.button:hover{background:#303a29}.button.outline{background:transparent;color:var(--olive)}.button.outline:hover{background:var(--wash)}.text-link{display:inline-flex;align-items:center;gap:24px;min-height:44px;font-size:11px;border-bottom:1px solid #9ba28e;padding:8px 0}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px}.section-head .eyebrow{margin-bottom:18px}
.hero{padding-top:34px;padding-bottom:26px;display:grid;grid-template-columns:1fr 1.05fr;gap:48px;align-items:center}.hero-copy{padding-block:32px}.hero .eyebrow{display:flex;align-items:center;gap:12px}.hero .eyebrow:before{content:'';width:28px;height:1px;background:#929b80}.hero h1{font-size:clamp(54px,5.75vw,85px);line-height:.98;letter-spacing:-.045em;margin:27px 0 24px}.hero h1 em{display:block}.hero-intro{max-width:355px;font-size:13px;color:var(--muted)}.hero-actions{display:flex;align-items:center;gap:24px;margin-top:29px}.hero-actions .text-link{font-size:10px}.hero-note{display:flex;align-items:center;gap:13px;margin-top:46px;color:var(--muted);font-size:10px}.hero-note:before{content:'';height:27px;width:1px;background:#a9b096}.hero-image{position:relative;margin:0}.hero-image>img{width:100%;height:590px;object-fit:cover;object-position:center 55%}.hero-stamp{position:absolute;bottom:24px;left:-25px;background:var(--paper);padding:16px 24px;border:1px solid var(--line);font:italic 24px var(--serif);box-shadow:0 5px 20px #00000008}.hero-image figcaption{display:flex;justify-content:space-between;padding-top:13px;font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}.opening-note{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-block:25px 30px;margin-bottom:70px}.opening-note p{font:24px var(--serif)}.opening-note .eyebrow{font-size:9px;white-space:nowrap}
.selection{padding-bottom:82px}.selection .section-intro{max-width:315px;font-size:12px;color:var(--muted);margin-top:18px}.stories{display:grid;grid-template-columns:1fr 1fr 1fr;gap:26px;margin-top:38px}.story{margin:0}.story:nth-child(2){padding-top:54px}.story button{display:block;width:100%;padding:0;border:0;background:transparent;text-align:left}.story-frame{display:block;position:relative;overflow:hidden;background:#e5e4dd}.story img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;transition:transform .6s ease}.story button:hover img{transform:scale(1.035)}.story-zoom{position:absolute;bottom:15px;right:15px;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#f7f5f0ec;font-size:19px}.story h3{font-size:29px;line-height:1.1;letter-spacing:-.02em}.story .eyebrow{font-size:8px;letter-spacing:.13em;margin-top:8px}.story-number{font:italic 19px var(--serif);color:#909782}.selection-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}.selection-bottom p{font-size:11px;color:var(--muted)}
.moment{position:relative;margin:0;isolation:isolate;color:white}.moment>img{width:100%;height:460px;object-fit:cover;object-position:center 65%}.moment:after{content:'';position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,#172017c9 0%,#17201775 42%,transparent 80%)}.moment-copy{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;max-width:1320px;margin:auto;padding:60px 64px;z-index:1}.moment .eyebrow{color:#e0e3d8;margin-bottom:25px}.moment h2{font-size:clamp(43px,4.8vw,68px);max-width:500px}.moment p:last-child{max-width:340px;font-size:12px;margin-top:24px;color:#f0f0e8}
.about{display:grid;grid-template-columns:.9fr 1.1fr;gap:88px;align-items:center;padding-block:96px}.portrait{position:relative;margin:0;padding:0 34px 0 0}.portrait img{width:100%;height:510px;object-fit:cover;object-position:center 42%}.portrait figcaption{position:absolute;right:0;bottom:30px;padding:18px 24px;background:var(--paper);font:italic 33px var(--serif)}.about .eyebrow{margin-bottom:20px}.about h2{margin-bottom:24px}.about-copy>p:not(.eyebrow){font-size:13px;color:var(--muted);margin-top:15px;max-width:390px}.about .text-link{margin-top:19px}.approach{display:grid;grid-template-columns:1fr 1fr;gap:22px;border-top:1px solid var(--line);padding-top:22px;margin-top:30px}.approach strong{display:block;font:24px var(--serif)}.approach span{display:block;margin-top:8px;color:var(--muted);font-size:11px;line-height:1.7}

.contact{display:grid;grid-template-columns:.95fr 1.05fr;gap:70px;padding-block:90px}.contact .eyebrow{margin-bottom:22px}.contact h2{font-size:clamp(49px,5vw,73px)}.contact-copy>p:not(.eyebrow){font-size:13px;max-width:330px;color:var(--muted);margin-top:23px}.contact-note{display:flex;align-items:center;gap:11px;margin-top:30px;font:italic 24px var(--serif);color:var(--olive)}
footer{background:#30392d;color:var(--paper)}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-block:40px}.footer-brand{font:34px var(--serif);letter-spacing:.09em}.footer-main p{font-size:10px;color:#c8cebf;margin-top:8px}.footer-links{display:flex;gap:28px;font-size:11px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-block:20px;border-top:1px solid #56604e;font-size:9px;color:#c8cebf}.footer-bottom a{text-decoration:underline;text-underline-offset:3px}
.dialog{padding:0;border:1px solid var(--line);max-width:min(510px,calc(100vw - 32px));width:100%;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#11170fe3;backdrop-filter:blur(5px)}.close-dialog{position:absolute;right:8px;top:8px;width:44px;height:44px;border:0;background:transparent;font-size:28px;z-index:2}.lightbox{width:min(1120px,calc(100vw - 24px));max-width:none;max-height:94dvh;background:#181d17;color:white;border:0}.lightbox .close-dialog{background:#181d17cb;color:white}.lightbox figure{margin:0}.lightbox img{width:100%;height:76dvh;object-fit:contain}.lightbox-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px}.lightbox-controls p{color:#d0d6c8;font-size:12px}.lightbox-controls button{background:transparent;color:white;border:1px solid #727a69;width:44px;height:44px;font-size:20px}.lightbox-controls div{display:flex;gap:8px}
@media(min-width:1500px){.hero-image>img{height:650px}.hero h1{font-size:88px}}
@media(max-width:1000px){.wrap{padding-inline:34px}.header-inner{height:78px}.desktop-nav{gap:18px}.brand-name{font-size:19px}.hero{gap:30px}.hero-image>img{height:560px}.hero h1{font-size:64px}.hero-actions{gap:15px;flex-wrap:wrap}.hero-note{margin-top:28px}.about{gap:42px}.portrait img{height:470px}.moment-copy{padding-inline:34px}.contact{gap:36px}.stories{gap:18px}.story h3{font-size:25px}}
@media(max-width:700px){html{scroll-padding-top:92px}.wrap{padding-inline:22px}.preview-bar{font-size:9px;padding:7px 12px}.preview-bar span{margin:0 5px}.header-inner{height:73px;gap:12px}.brand-mark{width:29px;height:35px;font-size:24px}.brand{gap:9px}.brand-name{font-size:17px;letter-spacing:.12em}.brand-name small{font-size:7px}.desktop-nav{display:none}.mobile-menu{display:block}.mobile-menu summary{display:flex;list-style:none;align-items:center;gap:8px;padding:12px 0 12px 12px;font-size:11px;cursor:pointer;min-height:44px}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary:after{content:'☰';font-size:18px}.mobile-menu[open] summary:after{content:'×';font-size:24px}.mobile-menu nav{position:absolute;inset:73px 0 auto;background:var(--paper);padding:14px 22px 22px;border-bottom:1px solid var(--line);display:grid;gap:3px;box-shadow:0 15px 20px #0000000a}.mobile-menu nav a{padding:13px 0;font-size:13px}.hero{grid-template-columns:1fr;gap:28px;padding-top:28px;padding-bottom:15px}.hero-copy{padding:0}.hero h1{font-size:clamp(52px,12.6vw,78px);margin:21px 0 19px;max-width:520px}.hero-intro{font-size:12px;max-width:340px}.hero-actions{margin-top:23px;gap:24px}.hero-actions .button{padding:12px 20px}.hero-note{display:none}.hero-image>img{height:auto;aspect-ratio:4/4.6;object-position:center 57%}.hero-stamp{left:-8px;bottom:37px;font-size:21px;padding:12px 19px}.hero-image figcaption{font-size:8px}.opening-note{padding-block:20px 25px;margin-bottom:46px;display:block}.opening-note p{font-size:24px;max-width:280px}.opening-note .eyebrow{display:block;margin-top:15px}.section-head{display:block}.section-head>.text-link{margin-top:20px}.selection{padding-bottom:46px}.stories{grid-template-columns:1fr;gap:28px;margin-top:25px}.story:nth-child(2){padding-top:0}.story img{aspect-ratio:4/4.6}.story h3{font-size:30px}.story .eyebrow{font-size:9px}.selection-bottom{display:block;margin-top:25px}.selection-bottom .text-link{margin-top:13px}.moment>img{height:420px;object-position:62% center}.moment:after{background:#1e251ca8}.moment-copy{padding:32px 25px}.moment h2{font-size:48px;max-width:320px}.moment p:last-child{max-width:285px}.about{grid-template-columns:1fr;gap:32px;padding-block:48px}.portrait{padding-right:30px;max-width:420px}.portrait img{height:400px}.portrait figcaption{bottom:24px;font-size:31px}.about-copy h2{font-size:46px}.approach{gap:18px}.contact{grid-template-columns:1fr;gap:28px;padding-block:46px}.contact h2{font-size:53px}.contact-copy>p:not(.eyebrow){margin-top:18px}.contact-note{display:none}.footer-main{display:block;padding-block:30px}.footer-brand{font-size:29px}.footer-links{margin-top:24px;gap:22px}.footer-bottom{flex-direction:column;gap:8px;line-height:1.7}.lightbox img{height:65dvh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Portfolio and direct contact use the same approved editorial system. */
.contact-card{align-self:center;padding:36px;background:#eeeee6;border:1px solid var(--line)}
.contact-card .eyebrow{font-size:9px;margin-bottom:20px}
.contact-card h3{font-size:43px;line-height:1.06;letter-spacing:-.025em}
.contact-card>p:not(.eyebrow){font-size:12px;color:var(--muted);margin-top:20px;max-width:340px}
.contact-card .button{margin-top:25px;gap:18px;width:100%;font-size:11px}
.contact-card .contact-caption{font-size:10px!important;line-height:1.7}
.footer-bottom .admin-link{display:inline-flex;align-items:center;min-height:44px;margin-left:22px;font-size:10px;color:#c8cebf;text-decoration:none}
.footer-bottom .admin-link:hover{text-decoration:underline}
.portfolio-intro{padding-block:56px 42px;display:flex;align-items:flex-end;justify-content:space-between;gap:40px}
.portfolio-intro .eyebrow{margin-bottom:22px}
.portfolio-intro h1{font-size:clamp(48px,6vw,80px);line-height:1.02;letter-spacing:-.04em}
.portfolio-intro p:last-child{font-size:12px;color:var(--muted);max-width:305px}
.portfolio-grid{columns:3;column-gap:18px;padding-bottom:55px}
.portfolio-photo{display:block;break-inside:avoid;width:100%;margin:0 0 18px;padding:0;border:0;background:var(--wash);position:relative;overflow:hidden}
.portfolio-photo img{width:100%;height:auto;transition:transform .5s ease}
.portfolio-photo:hover img{transform:scale(1.025)}
.portfolio-photo span{position:absolute;right:12px;bottom:12px;background:#f7f5f0eb;color:var(--ink);width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:18px}
.portfolio-cta{border-top:1px solid var(--line);padding-block:38px 65px;display:flex;align-items:center;justify-content:space-between;gap:25px}
.portfolio-cta h2{font-size:40px}.portfolio-cta p{font-size:12px;color:var(--muted);margin-top:10px}
@media(max-width:700px){.contact-card{padding:26px 22px}.contact-card h3{font-size:38px}.contact-card .button{padding-inline:15px}.footer-bottom .admin-link{margin-left:15px}.portfolio-intro{display:block;padding-block:32px}.portfolio-intro h1{font-size:55px}.portfolio-intro p:last-child{margin-top:20px}.portfolio-grid{columns:2;column-gap:10px;padding-bottom:25px}.portfolio-photo{margin-bottom:10px}.portfolio-photo span{right:7px;bottom:7px;width:29px;height:29px}.portfolio-cta{display:block;padding-block:28px 40px}.portfolio-cta h2{font-size:35px}.portfolio-cta .button{margin-top:24px}.contact{padding-block:46px}}
@media(prefers-reduced-motion:reduce){.portfolio-photo img{transition:none}}

.story-label{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-top:18px}
