/* ZMS v7: approved night-meadow concept. The animated iris and logo stay intact. */
:root{--cream:#101b18;--ink:#e8e8dc;--warm:#b6bea7;--line:#b7c0a37b;--night:#08120f;--soft:#aab1a5;--border:#a6b29c39}
html{scroll-padding-top:calc(var(--nav-h) + 24px)}
body{background:var(--night);color:var(--ink);font-family:'Manrope',Arial,sans-serif;font-weight:300;letter-spacing:.01em}
::selection{background:#9fb8a3;color:#06100a}
a,button{outline-offset:5px}
.header{background:rgba(9,19,16,.9);border-bottom:1px solid #c2c6a344;backdrop-filter:blur(16px);padding:0 5.4%;gap:20px}
.header.scrolled{background:#091411f5;box-shadow:0 12px 36px #0209086b}
.header-wordmark{color:#efe9d9;font-size:34px;font-weight:400}
.header-identity{border-color:#d3d4b94d;color:#f0e8d9}
.header-identity span:first-child{color:#d8ddce}
.header-identity span:last-child{color:#a6ae9c}
.nav{margin-left:auto;gap:clamp(15px,2.5vw,39px)}
.nav a{color:#e5e5d8;font:400 11px/1.5 'Manrope',Arial,sans-serif;letter-spacing:.05em}
.nav a:hover,.nav a:focus-visible{color:#c5dcba}
.nav a:hover:after,.nav a:focus-visible:after{background:#afc5a6}
.menu-toggle{color:#e8e8dc}
.hero{min-height:clamp(670px,52vw,785px);grid-template-columns:50% 50%;background:linear-gradient(90deg,#05120ec4 0%,#05110da1 32%,#07140e61 66%,#06120ba9 100%),linear-gradient(0deg,#06130ee6,transparent 38%),url('meadow.jpg') center 52%/cover no-repeat,#081610}
.hero::before{z-index:0;background:radial-gradient(ellipse at 75% 47%,#081a1775 0%,transparent 49%),linear-gradient(180deg,transparent 62%,#07140d99 100%)}
.hero::after{bottom:69px;left:5.4%;right:5.4%;background:#ded9ad66}
.hero-copy{grid-column:1;padding:130px 2% 112px 9.5%;z-index:3}
.hero .overline{font-size:10px;color:#b9bea1;letter-spacing:.42em;font-weight:400;margin-bottom:25px}
.hero h1{font-family:'Bodoni Moda',Georgia,serif;font-size:clamp(39px,4.3vw,71px);font-weight:400;letter-spacing:-.035em;line-height:1.13;color:#f3eee0;white-space:nowrap;margin-bottom:26px;text-shadow:0 2px 12px #05120d77}
.hero h1 span{font-weight:400}
.hero-more{font-family:'Manrope',sans-serif;font-size:15px;color:#f1f1de;border-bottom:1px solid #d4d5b879;letter-spacing:.03em;gap:21px;padding-bottom:11px}
.hero-more-arrow{color:#f0e8d4}
.hero-more:hover{color:#d6e5c5;border-color:#d6e5c5}
.hero-connector{color:#c4c9aa;opacity:.86}
.scroll-cue{color:#cac9ac;bottom:28px;font-size:8px;letter-spacing:.28em}
.scroll-cue span:last-child{color:#d8dfc5}
.hero-orbits{opacity:.44}
.hero-orbits i{border-top-color:#bfc69b99;border-right-color:#afc29b54}
.hero-orbits i:nth-child(2){border-top-color:#bfc5ad77}
.hero-orbits i:nth-child(3){border-top-color:#c8bd9777}
.hero-orbits i:nth-child(4){border-top-color:#a5b99d36}
.interactive-lens::before{background:#123023a6;opacity:.24}
.outer-ring .ring-hairline{stroke:#d5d8be;stroke-width:1.3}
.outer-ring .ring-emphasis{stroke:#d3d5b4;stroke-width:2.9}
.outer-ring .ring-emphasis.faint{stroke:#a6b6a0;stroke-width:2.4}
.outer-ring .ring-ticks{stroke:#bec6ae;stroke-width:5}
.outer-ring .ring-faint{stroke:#95a491;stroke-width:1}
.lens-glass{box-shadow:0 0 0 3px #d3d5b6,0 0 0 6px #071610ed,inset 0 0 27px #000;background:#0a201b}
.iris path{fill:#091c16;stroke:#889d8655;stroke-width:.45}
.iris-call{font-family:'Bodoni Moda',Georgia,serif;color:#f0e6d3;font-size:clamp(24px,2.65vw,39px);font-weight:400;letter-spacing:.035em;line-height:1.1;gap:11px;text-shadow:0 2px 16px #000a}
.iris-call small{font-family:'Manrope',sans-serif;font-size:7px;letter-spacing:.24em;color:#b8c2a8;text-shadow:none}
.iris-arrow{color:#c6d6b7;font-size:20px}
.lens-hover-help{color:#c4c6a9;font-size:8px;letter-spacing:.27em}
.intro-band{margin:0;position:relative;padding:0 5.4%;border-bottom:1px solid #afba9e26;background:linear-gradient(100deg,#101b17,#12231d 60%,#0b1814)}
.intro-band-inner{padding:42px 0 46px}
.intro-band .short-about{color:#dedfd1;font-family:'Manrope',sans-serif;font-weight:300;font-size:clamp(16px,1.6vw,21px);letter-spacing:.004em;line-height:1.8;max-width:1190px}
.section{padding:83px 5.4%;background:#101b18}
.section-rule,.section-line{background:#bec7ac47}
.section-kicker{display:flex;justify-content:space-between;align-items:center;color:#a7b49d;font-size:9px;letter-spacing:.24em;line-height:1.7;margin-top:23px}
.section-kicker span:last-child{color:#737f73}
.section-header{margin:26px 0 22px;gap:23px}
.section-header h2{font-family:'Bodoni Moda',Georgia,serif;font-weight:400;font-size:clamp(36px,4.2vw,61px);letter-spacing:-.025em;color:#eee9d9}
.section-header span{color:#95a690;letter-spacing:.22em;font-size:9px}
.section-lead{margin:0 0 28px;color:#a8b4a5;font-size:13px;line-height:1.75;font-weight:300}
.portfolio.section{padding-top:58px}
.portfolio .section-rule{display:block}
.gallery-filters{margin-top:0;margin-bottom:26px}
.gallery-filter{font-size:11px;font-weight:300;letter-spacing:.04em;color:#c8cebe;border:1px solid #bcc5b44e;background:transparent}
.gallery-filter:hover{background:#c1cfab20;color:#eff2e6}
.gallery-filter.active{background:#b3c6a5;border-color:#b3c6a5;color:#0c1c14;font-weight:500}
.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.gallery-item{background:none;border:0;cursor:pointer;padding:0;color:inherit;min-width:0;text-align:left}
.gallery-item .gallery-picture{overflow:hidden;border:1px solid #d3d6c52a;background:#091310}
.gallery-item img{filter:grayscale(.18) brightness(.78);width:100%;aspect-ratio:1.32;object-fit:cover;transition:filter .7s ease,transform .75s cubic-bezier(.22,1,.36,1)}
.gallery-item:hover img,.gallery-item:focus-visible img{filter:grayscale(0) brightness(1);transform:scale(1.045)}
.gallery-item .gallery-picture .gallery-overlay{background:#07130bc9;color:#f0f4e8}
.gallery-meta{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.gallery-meta strong{font:400 13px/1.4 'Manrope',sans-serif;letter-spacing:.02em;color:#deded0}
.gallery-meta small{color:#91a28f;font-size:10px;letter-spacing:.09em}
.portfolio-note{margin-top:30px;color:#798b7d;line-height:1.7}
.about{background:linear-gradient(125deg,#13241e,#101b17 58%);}
.about-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw;align-items:center;margin-top:44px}
.about-copy .overline{color:#aab99f;letter-spacing:.33em}
.about h2,.services h2,.reviews h2,.contact h2{font-family:'Bodoni Moda',Georgia,serif;font-weight:400;font-style:normal;font-size:clamp(38px,5vw,72px);line-height:1.22;letter-spacing:-.045em;color:#ece9db;margin:25px 0}
.about p{font-size:16px;line-height:1.9;color:#b5c0b1;max-width:590px}
.about-visual{margin:0;position:relative}
.about-visual img{width:100%;max-height:580px;aspect-ratio:1.32;object-fit:cover;filter:grayscale(1) brightness(.84);display:block}
.about-visual:after{content:'';position:absolute;inset:0;border:1px solid #e0e5d030;pointer-events:none}
.about-visual figcaption{margin-top:13px;font-size:9px;letter-spacing:.18em;color:#8b9c86}
.quiet-link{display:inline-flex;align-items:center;gap:40px;font-size:13px;color:#e2e8d4;text-decoration:none;border-bottom:1px solid #b7c4a088;padding:0 0 13px;margin-top:20px;transition:gap .25s,color .25s}
.quiet-link:hover{gap:48px;color:#c4ddaf}
.services{background:#0b1713}
.services-heading,.reviews-heading{display:flex;justify-content:space-between;align-items:end;gap:8vw;margin:22px 0 39px}
.services-heading h2,.reviews-heading h2{margin:0}
.services-heading p,.reviews-heading p{max-width:330px;color:#aab9a7;line-height:1.8;font-size:13px}
.services-row{display:grid;grid-template-columns:54px minmax(0,1fr) 180px;gap:22px;min-height:118px;padding:26px 0;border-color:#bac9ad3f}
.service-content{display:flex;flex-direction:column;gap:9px}
.service-content>span{font:400 clamp(18px,2.2vw,27px)/1.4 'Manrope',sans-serif;color:#e9e9dc;letter-spacing:.015em}
.service-content small{font-size:12px;color:#94a695;letter-spacing:.025em}
.services-row>span:first-child{font:400 10px 'Manrope',sans-serif;color:#8d9c8b;letter-spacing:.12em}
.services-row>span.service-price{font:300 15px 'Manrope',sans-serif;color:#e8e7d6;justify-self:end;text-align:right;white-space:nowrap}
.services .quiet-link{margin-top:30px}
.reviews{background:linear-gradient(135deg,#13231c,#0d1713);}
.review-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.review-card,.reviews-empty{border:1px solid #bdc9af45;padding:31px;min-height:245px;display:flex;flex-direction:column;justify-content:space-between;background:#192a214d}
.review-index{font-size:10px;color:#b1bfaa;letter-spacing:.22em}
.review-card blockquote,.reviews-empty p{margin:20px 0;font:400 clamp(19px,2vw,27px)/1.5 'Bodoni Moda',Georgia,serif;color:#edebdf}
.review-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #a7b9a23f;padding-top:18px;font-size:11px;color:#d1d8c8}
.review-bottom strong{font-weight:500}.review-bottom span{color:#87998a;letter-spacing:.12em;text-transform:uppercase}
.reviews-empty{grid-column:1/-1;min-height:180px;align-items:flex-start;justify-content:center;border-style:dashed;opacity:.82}
.reviews-empty p{margin:15px 0 8px}.reviews-empty small{font-size:12px;color:#94a28f}
.contact{background:radial-gradient(ellipse at 90% 20%,#224334b5,transparent 42%),#09130f;min-height:450px;padding-top:87px;padding-bottom:105px}
.contact .section-kicker{margin-top:0}
.contact-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;align-items:end;margin-top:75px}
.contact .overline{color:#b9caae;font-size:9px;letter-spacing:.35em}
.contact h2{color:#f0efe3;margin-bottom:0}
.contact p{font:300 16px/1.8 'Manrope',sans-serif;color:#bdc9b9;max-width:430px}
.contact #contactLink{margin-top:20px;padding:15px 30px;color:#0d1c13;background:#d6e1c7;border:1px solid #d6e1c7;transition:background .25s,color .25s}
.contact #contactLink:hover{background:transparent;color:#e8f2db}
.contact .contact-caption{font-size:10px;color:#859383;line-height:1.7;margin-top:18px}
footer{background:#060f0b;color:#97a493;border-top:1px solid #c8d4bc25;padding:30px 5.4%;font-size:9px;letter-spacing:.15em}
.album-viewer{background:#0d1712;color:#edf0e5;border:1px solid #b4c4ab5c}
.album-viewer::backdrop{background:#030906e8}
.album-dialog-top,.album-dialog-bottom{background:#101c17;color:#e7ecdc}
.album-dialog-top h3{color:#e9eddf;font-family:'Bodoni Moda',Georgia,serif}
.album-dialog-top p,.album-eyebrow,.album-dialog-bottom{color:#9fb39a}
.album-image-area{background:#06100c}
.album-close,.album-arrow{background:#14251ddc;color:#f2f2e7;border-color:#afbda652}
.album-dots button{background:#82947f}.album-dots button.active{background:#edf0e5}
@media(min-width:1400px){.hero-copy{padding-left:10%}.hero{min-height:760px}}
@media(max-width:1100px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-item img{aspect-ratio:6/5}.hero h1{font-size:clamp(35px,4.7vw,56px)}.services-row{grid-template-columns:38px minmax(0,1fr) 140px}.services-heading,.reviews-heading{gap:5vw}}
@media(max-width:900px){.header{gap:12px}.nav{gap:16px}.hero{min-height:630px}.hero-copy{padding-left:7%;padding-top:128px}.hero h1{font-size:clamp(30px,4.6vw,42px)}.hero .overline{font-size:9px}.about-layout{gap:4vw}.about h2,.services h2,.reviews h2,.contact h2{font-size:clamp(32px,4vw,52px)}}
@media(max-width:620px){
 :root{--nav-h:64px}
 .header{padding:0 5%;gap:10px}.header-identity span:first-child{font-size:9px}.header-identity span:last-child{font-size:7px}
 .header-wordmark{font-size:31px}
 .menu-toggle{color:#e8eadd}
 .nav{background:#0e1c16;border-color:#aeb9a447;box-shadow:0 20px 40px #0008;padding:20px 22px}.nav a{color:#ecf0e5;font-size:14px}
 .hero{min-height:min(790px,calc(164vw + 160px));background:linear-gradient(0deg,#04120cdb,#06150c94 52%,#06180da0),url('meadow.jpg') center center/cover no-repeat}
 .hero-copy{padding: min(446px,calc(98vw + 75px)) 6% 90px;align-items:flex-start}
 .hero h1{font-size:clamp(32px,8vw,45px);letter-spacing:-.035em;white-space:nowrap;line-height:1.16;margin-bottom:23px}
 .hero::after{bottom:58px}.scroll-cue{bottom:20px;font-size:7px}
 .hero-more{font-size:14px}.hero .overline{font-size:9px;margin-bottom:15px}
 .iris-call{font-size:clamp(22px,5.8vw,30px)}
 .intro-band{padding:0 6%}.intro-band-inner{padding:26px 0}.intro-band .short-about{font-size:14px;line-height:1.78}
 .section{padding:56px 6%}.section-kicker{font-size:8px;letter-spacing:.16em}
 .section-header{margin:22px 0 18px}.section-header h2{font-size:33px}
 .section-lead{font-size:12px}.gallery{gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}
 .gallery-item img{aspect-ratio:3/4}.gallery-meta{display:block}.gallery-meta strong{font-size:11px}.gallery-meta small{display:block;font-size:8px;margin-top:3px}
 .about-layout{grid-template-columns:1fr;gap:30px}.about-visual img{max-height:370px;aspect-ratio:4/3}
 .about h2,.services h2,.reviews h2,.contact h2{font-size:clamp(35px,9vw,47px)}
 .about p{font-size:14px}.services-heading,.reviews-heading{display:block;margin-top:28px}.services-heading p,.reviews-heading p{max-width:none;margin-top:23px}
 .services-row{grid-template-columns:25px minmax(0,1fr);gap:11px;padding:24px 0;min-height:100px}
 .services-row>span.service-price{grid-column:2;justify-self:start;text-align:left;margin-top:8px}
 .service-content>span{font-size:19px}
 .review-cards{grid-template-columns:1fr}.reviews-empty{min-height:165px;padding:22px}
 .contact-layout{grid-template-columns:1fr;gap:30px;margin-top:35px}
 .contact{padding-top:60px;padding-bottom:80px}.contact p{font-size:14px}
 footer{flex-wrap:wrap;gap:15px}
}
@media(max-width:380px){.hero h1{font-size:clamp(27px,8vw,33px)}.hero-copy{padding-top:min(418px,calc(105vw + 43px))}}
@media(prefers-reduced-motion:reduce){.gallery-item img,.quiet-link{transition:none}}
