
:root{
  --green:#082c23;
  --green-2:#0d3a2e;
  --cream:#f3efe4;
  --paper:#f7f4ec;
  --ink:#101a16;
  --muted:#69726d;
  --line:rgba(8,44,35,.16);
  --white:#fff;
  --serif:Georgia,"Times New Roman",serif;
  --sans:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Arial,sans-serif;
  --max:1460px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.skip-link{position:fixed;z-index:9999;left:14px;top:14px;transform:translateY(-160%);background:#fff;padding:10px 14px}
.skip-link:focus{transform:none}
.site-header{position:fixed;z-index:300;inset:0 0 auto;background:rgba(8,44,35,.96);color:var(--cream);border-bottom:1px solid rgba(255,255,255,.12);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.header-inner{height:76px;max-width:var(--max);margin:auto;padding:0 30px;display:flex;align-items:center;gap:34px}
.brand-link{display:flex;align-items:center;gap:12px;min-width:max-content}
.brand-link img{width:35px;height:35px;object-fit:contain}
.brand-link span{font-size:13px;font-weight:700;letter-spacing:.14em}
.desktop-nav{display:flex;align-items:center;gap:27px;margin-left:auto}
.desktop-nav>a,.nav-group>a{height:76px;display:flex;align-items:center;font-size:12px;letter-spacing:.03em;color:rgba(243,239,228,.78);position:relative}
.desktop-nav>a:hover,.nav-group>a:hover,.desktop-nav .active{color:#fff}
.desktop-nav .active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--cream)}
.nav-group{position:relative}
.nav-panel{position:absolute;top:70px;left:-22px;width:330px;padding:15px;background:var(--cream);color:var(--green);border:1px solid rgba(8,44,35,.08);box-shadow:0 22px 60px rgba(0,0,0,.17);opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s ease}
.nav-group:hover .nav-panel,.nav-group:focus-within .nav-panel{opacity:1;visibility:visible;transform:none}
.nav-panel a{display:flex;justify-content:space-between;padding:14px 13px;border-bottom:1px solid var(--line);font-size:13px}
.nav-panel a:last-child{border:0}
.header-actions{display:flex;align-items:center;gap:18px}
.header-mail{font-size:11px;color:rgba(243,239,228,.68)}
.wa-button{display:inline-flex;align-items:center;gap:16px;padding:12px 15px;background:var(--cream);color:var(--green);font-size:12px;font-weight:700}
.menu-button{display:none;background:none;border:0;width:42px;height:42px;padding:10px;margin-left:auto}
.menu-button span{display:block;height:1px;background:var(--cream);margin:7px 0;transition:.2s ease}
.menu-button[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}
.menu-button[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}
.mobile-nav{position:fixed;z-index:250;inset:76px 0 0;background:var(--green);color:var(--cream);visibility:hidden;opacity:0;transition:.25s ease;overflow:auto}
.mobile-nav.open{visibility:visible;opacity:1}
.mobile-nav-inner{padding:32px 24px 100px;max-width:680px;margin:auto}
.mobile-nav a{display:flex;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:20px}
.mobile-nav .mobile-primary{font-size:34px;font-family:var(--serif);font-style:italic}
.mobile-label{display:block;margin-top:30px;padding-bottom:9px;font-size:10px;letter-spacing:.16em;color:rgba(243,239,228,.55)}
.mobile-contact{margin-top:35px}
.mobile-contact a{font-size:14px}
main{padding-top:76px}
.section{max-width:var(--max);margin:auto;padding:120px 40px}
.eyebrow{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin:0 0 20px}
.eyebrow.light{color:rgba(243,239,228,.76)}
h1,h2,h3,p{margin-top:0}
h1,h2{letter-spacing:-.045em;line-height:.96}
h1 em,h2 em{font-family:var(--serif);font-weight:400}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid transparent;padding:16px 19px;font-size:12px;font-weight:700;letter-spacing:.01em;transition:.2s ease}
.button:hover{transform:translateY(-2px)}
.button-light{background:var(--cream);color:var(--green)}
.button-dark{background:var(--green);color:var(--cream)}
.button-ghost{background:transparent;border-color:var(--line);color:var(--green)}
.text-link{display:inline-flex;align-items:center;gap:24px;padding-bottom:6px;border-bottom:1px solid currentColor;font-size:12px;font-weight:700}
.text-link.light{color:var(--cream)}
.home-hero{height:calc(100svh - 76px);min-height:650px;position:relative;background:#061a15;color:var(--cream);overflow:hidden}
.home-hero-media,.home-hero-shade{position:absolute;inset:0}
.home-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 38%}
.home-hero-shade{background:linear-gradient(90deg,rgba(4,20,16,.82) 0%,rgba(4,20,16,.46) 48%,rgba(4,20,16,.16) 100%),linear-gradient(0deg,rgba(4,20,16,.32),transparent 50%)}
.home-hero-content{position:absolute;left:max(32px,calc((100% - 1460px)/2 + 40px));bottom:10%;width:min(850px,68vw)}
.home-hero h1{font-size:clamp(72px,8.2vw,135px);margin:0 0 28px;font-weight:650}
.home-hero h1 em{font-weight:400}
.hero-copy{max-width:610px;font-size:18px;line-height:1.55;color:rgba(243,239,228,.86)}
.hero-actions{display:flex;align-items:center;gap:28px;margin-top:34px}
.hero-scroll{position:absolute;right:30px;bottom:26px;width:48px;height:48px;border:1px solid rgba(255,255,255,.3);display:grid;place-items:center;border-radius:50%}
.intro{display:grid;grid-template-columns:130px 1fr;gap:40px}
.section-number{font-size:11px;letter-spacing:.15em;color:var(--muted)}
.intro-copy{max-width:1050px}
.intro h2,.detail-intro h2,.about-text h2{font-size:clamp(48px,6.3vw,96px);font-weight:580;margin-bottom:34px}
.intro-copy>p:last-child,.detail-intro>p:last-child,.about-text p{font-size:18px;line-height:1.7;max-width:720px;color:#4f5b55}
.service-grid{padding-top:0;display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line)}
.service-card{background:var(--paper);min-height:340px;padding:36px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr auto;transition:.25s ease}
.service-card:hover{background:var(--green);color:var(--cream)}
.service-card>span{font-size:11px;color:var(--muted)}
.service-card b{font-weight:400;font-size:24px}
.service-card h3{grid-column:1/-1;align-self:end;font-size:clamp(42px,4.5vw,72px);letter-spacing:-.05em;margin:0 0 18px}
.service-card p{max-width:330px;line-height:1.55;color:var(--muted);margin:0}
.service-card:hover p,.service-card:hover>span{color:rgba(243,239,228,.7)}
.split-section{display:grid;grid-template-columns:1.03fr .97fr;min-height:760px}
.split-media{overflow:hidden;min-height:620px}
.split-media img{width:100%;height:100%;object-fit:cover}
.split-content{background:var(--cream);padding:90px 8vw;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.split-content h2{font-size:clamp(48px,5.4vw,84px);font-weight:580;margin-bottom:28px}
.split-content p{max-width:560px;font-size:17px;line-height:1.7;color:#536058}
.split-content .text-link{margin-top:20px}
.facts{display:grid;grid-template-columns:repeat(4,1fr);padding-top:75px;padding-bottom:75px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.facts div{padding:0 26px;border-right:1px solid var(--line)}
.facts div:first-child{padding-left:0}.facts div:last-child{border:0}
.facts strong,.facts span{display:block}
.facts strong{font-size:17px;margin-bottom:7px}
.facts span{font-size:12px;color:var(--muted)}
.selected-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px}
.selected-head h2{font-size:clamp(54px,6.2vw,94px);font-weight:580;margin-bottom:0}
.reference-list{margin-top:70px}
.reference-list>div{display:grid;grid-template-columns:80px 1fr 300px;align-items:center;border-top:1px solid var(--line);padding:29px 0}
.reference-list>div:last-child{border-bottom:1px solid var(--line)}
.reference-list span{font-size:11px;color:var(--muted)}
.reference-list strong{font-size:30px;letter-spacing:-.035em}
.reference-list small{text-align:right;color:var(--muted)}
.page-hero{min-height:610px;display:flex;align-items:flex-end;position:relative;overflow:hidden;color:var(--cream)}
.green-hero{background:var(--green)}
.compact-hero{min-height:520px}
.page-hero-inner{position:relative;z-index:2;width:100%;max-width:var(--max);margin:auto;padding:105px 40px 80px}
.page-hero h1{font-size:clamp(68px,8vw,124px);font-weight:610;margin-bottom:28px}
.page-hero p:not(.eyebrow){font-size:18px;line-height:1.6;max-width:680px;color:rgba(243,239,228,.82)}
.page-hero .button{margin-top:16px}
.page-hero-image,.page-hero-overlay{position:absolute;inset:0}
.page-hero-image img{width:100%;height:100%;object-fit:cover}
.page-hero-overlay{background:linear-gradient(90deg,rgba(4,20,16,.85),rgba(4,20,16,.4) 60%,rgba(4,20,16,.18))}
.service-index{padding-top:70px}
.service-index-row{display:grid;grid-template-columns:80px 1fr 40px;gap:25px;align-items:center;padding:35px 0;border-top:1px solid var(--line);transition:.2s ease}
.service-index-row:last-child{border-bottom:1px solid var(--line)}
.service-index-row:hover{padding-left:14px}
.service-index-row>span{font-size:11px;color:var(--muted)}
.service-index-row h2{font-size:clamp(40px,4.6vw,70px);font-weight:560;margin:0}
.service-index-row p{margin:7px 0 0;color:var(--muted)}
.service-index-row>b{font-size:24px;font-weight:400}
.process-short{border-top:1px solid var(--line)}
.process-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:45px}
.process-columns>div{padding-top:25px;border-top:1px solid var(--line)}
.process-columns span{font-size:10px;color:var(--muted)}
.process-columns h3{font-size:32px;letter-spacing:-.035em;margin:25px 0 12px}
.process-columns p{line-height:1.6;color:var(--muted)}
.detail-intro{padding-bottom:70px}
.detail-intro{max-width:var(--max)}
.detail-intro>p:last-child{max-width:760px}
.detail-grid{padding-top:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line)}
.detail-grid>div{background:var(--paper);padding:32px;min-height:260px}
.detail-grid span{font-size:10px;color:var(--muted)}
.detail-grid h3{font-size:30px;letter-spacing:-.035em;margin:70px 0 14px}
.detail-grid p{font-size:14px;line-height:1.6;color:var(--muted)}
.photo-break{height:80svh;min-height:620px;overflow:hidden}
.photo-break img{width:100%;height:100%;object-fit:cover}
.references-page{padding-bottom:65px}
.references-page article{display:grid;grid-template-columns:90px 1fr;border-top:1px solid var(--line);padding:34px 0}
.references-page article:last-child{border-bottom:1px solid var(--line)}
.references-page span{font-size:11px;color:var(--muted)}
.references-page h2{font-size:clamp(40px,5.4vw,80px);font-weight:560;margin:0 0 8px}
.references-page p{color:var(--muted)}
.gallery-grid{padding-top:0;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.gallery-grid figure{margin:0;overflow:hidden;height:720px;background:#ddd}
.gallery-grid figure:nth-child(2),.gallery-grid figure:nth-child(3){height:540px}
.gallery-grid img{width:100%;height:100%;object-fit:cover}
.about-hero{display:grid;grid-template-columns:.92fr 1.08fr;gap:70px;align-items:center;min-height:760px}
.about-copy h1{font-size:clamp(72px,8vw,120px);font-weight:600;margin-bottom:30px}
.about-copy>p:last-child{font-size:20px;line-height:1.6;max-width:500px;color:var(--muted)}
.about-hero figure{height:680px;margin:0;overflow:hidden}
.about-hero figure img{width:100%;height:100%;object-fit:cover}
.about-text{display:grid;grid-template-columns:130px 1fr;border-top:1px solid var(--line)}
.about-text>div:last-child{max-width:950px}
.about-text .button{margin-top:20px}
.contact-hero{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:start}
.contact-hero-copy{position:sticky;top:125px;padding-top:40px}
.contact-hero h1{font-size:clamp(72px,8vw,118px);font-weight:600;margin-bottom:28px}
.contact-hero-copy>p:not(.eyebrow){font-size:18px;line-height:1.6;max-width:560px;color:var(--muted)}
.contact-direct{display:flex;align-items:center;gap:26px;margin:35px 0 20px;flex-wrap:wrap}
.contact-hero-copy small{color:var(--muted)}
.contact-form-wrap{background:var(--cream);padding:48px}
.lead-form{display:grid;grid-template-columns:1fr 1fr;gap:24px 18px}
.field{grid-column:1/-1}
.field-half{grid-column:auto}
.field label{display:block;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;margin-bottom:8px}
.field input,.field select,.field textarea{width:100%;border:0;border-bottom:1px solid rgba(8,44,35,.3);background:transparent;border-radius:0;padding:14px 0;color:var(--ink);outline:none}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green)}
.field textarea{resize:vertical}
.privacy-check{grid-column:1/-1;display:grid;grid-template-columns:18px 1fr;gap:10px;font-size:11px;line-height:1.5;color:var(--muted)}
.privacy-check input{margin-top:2px}
.privacy-check a{text-decoration:underline}
.form-submit{grid-column:1/-1;justify-self:start}
.form-status,.form-success{grid-column:1/-1}
.form-status{font-size:12px;color:#8b2b2b}
.form-success{padding:20px;border:1px solid rgba(8,44,35,.2);background:rgba(255,255,255,.45)}
.form-success strong{display:block;margin-bottom:7px}
.hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}
.contact-ribbon{background:var(--green);color:var(--cream);padding:72px max(40px,calc((100vw - 1460px)/2 + 40px));display:flex;align-items:flex-end;justify-content:space-between;gap:40px;border-top:1px solid rgba(255,255,255,.12)}
.contact-ribbon p{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(243,239,228,.6)}
.contact-ribbon h2{font-size:clamp(54px,6vw,90px);font-weight:580;margin:0}
.contact-ribbon-actions{display:flex;align-items:center;gap:28px;padding-bottom:5px}
.site-footer{background:#061e18;color:var(--cream);padding:65px max(40px,calc((100vw - 1460px)/2 + 40px)) 26px}
.footer-top{display:grid;grid-template-columns:1.2fr .7fr .9fr;gap:50px}
.footer-brand{display:flex;align-items:center;gap:16px}
.footer-brand img{width:46px;height:46px;object-fit:contain}
.footer-brand strong,.footer-brand span{display:block}
.footer-brand strong{font-size:15px;letter-spacing:.12em}
.footer-brand span{margin-top:5px;font-size:11px;color:rgba(243,239,228,.55)}
.footer-links,.footer-contact{display:flex;flex-direction:column;gap:12px;font-size:12px}
.footer-contact{text-align:right}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.12);margin-top:55px;padding-top:22px;font-size:10px;color:rgba(243,239,228,.48)}
.footer-bottom div{display:flex;gap:18px}
.footer-bottom button{background:none;border:0;color:inherit;padding:0}
.mobile-quick{display:none}
.consent{position:fixed;z-index:500;left:24px;right:24px;bottom:24px;max-width:780px;margin-left:auto;background:var(--cream);border:1px solid rgba(8,44,35,.16);box-shadow:0 20px 70px rgba(0,0,0,.24);padding:20px;display:grid;grid-template-columns:1fr auto;gap:25px;align-items:center}
.consent[hidden]{display:none}
.consent strong{font-size:14px}
.consent p{margin:5px 0 0;font-size:11px;line-height:1.5;color:var(--muted)}
.consent-actions{display:flex;gap:8px}
.consent .button{padding:11px 13px;font-size:10px}

@media(max-width:1120px){
  .desktop-nav{display:none}.header-mail{display:none}.menu-button{display:block}
  .header-actions{margin-left:auto}.wa-button{display:none}
  .section{padding-left:28px;padding-right:28px}
  .home-hero-content{left:28px;width:72vw}
  .service-grid{grid-template-columns:1fr 1fr}
  .detail-grid{grid-template-columns:1fr 1fr}
  .facts{grid-template-columns:1fr 1fr;gap:30px}
  .facts div{border-right:0;padding:0}
  .contact-hero{gap:45px}
}
@media(max-width:760px){
  .header-inner{height:68px;padding:0 17px}.mobile-nav{inset:68px 0 0}main{padding-top:68px}
  .brand-link img{width:31px;height:31px}.brand-link span{font-size:11px}
  .section{padding:78px 20px}
  .home-hero{height:calc(100svh - 68px);min-height:610px}
  .home-hero-media img{object-position:55% center}
  .home-hero-shade{background:linear-gradient(0deg,rgba(4,20,16,.82),rgba(4,20,16,.12) 80%)}
  .home-hero-content{left:20px;right:20px;bottom:10%;width:auto}
  .home-hero h1{font-size:clamp(54px,16vw,80px);margin-bottom:22px}
  .hero-copy{font-size:15px;max-width:92%}
  .hero-actions{align-items:flex-start;flex-direction:column;gap:18px;margin-top:28px}
  .hero-scroll{right:18px;bottom:18px}
  .intro{grid-template-columns:1fr;gap:24px}.intro h2,.detail-intro h2,.about-text h2{font-size:clamp(43px,13vw,64px)}
  .service-grid{grid-template-columns:1fr;padding-top:0}
  .service-card{min-height:260px;padding:25px}
  .service-card h3{font-size:44px}
  .split-section{grid-template-columns:1fr;min-height:0}
  .split-media{min-height:520px;height:64svh}
  .split-content{padding:65px 20px}
  .split-content h2{font-size:48px}
  .facts{grid-template-columns:1fr 1fr;padding-top:55px;padding-bottom:55px;gap:35px 20px}
  .selected-head{display:block}.selected-head .text-link{margin-top:28px}
  .selected-head h2{font-size:54px}
  .reference-list{margin-top:46px}
  .reference-list>div{grid-template-columns:38px 1fr;padding:23px 0}
  .reference-list strong{font-size:25px}.reference-list small{grid-column:2;text-align:left;margin-top:6px}
  .page-hero{min-height:590px}.compact-hero{min-height:470px}
  .page-hero-inner{padding:90px 20px 55px}.page-hero h1{font-size:clamp(55px,15vw,78px)}
  .page-hero p:not(.eyebrow){font-size:15px}
  .service-index-row{grid-template-columns:42px 1fr 24px;gap:10px;padding:27px 0}
  .service-index-row h2{font-size:36px}.service-index-row p{font-size:13px}
  .process-columns{grid-template-columns:1fr;gap:24px}
  .detail-grid{grid-template-columns:1fr}
  .detail-grid>div{min-height:220px;padding:25px}
  .detail-grid h3{margin-top:52px}
  .photo-break{height:70svh;min-height:520px}
  .gallery-grid{grid-template-columns:1fr;gap:8px}
  .gallery-grid figure,.gallery-grid figure:nth-child(2),.gallery-grid figure:nth-child(3){height:60svh;min-height:480px}
  .about-hero{grid-template-columns:1fr;gap:35px;min-height:0}.about-copy h1{font-size:66px}.about-hero figure{height:62svh}
  .about-text{grid-template-columns:1fr;gap:24px}
  .contact-hero{grid-template-columns:1fr;gap:50px}
  .contact-hero-copy{position:static;padding-top:0}
  .contact-hero h1{font-size:68px}
  .contact-form-wrap{padding:28px 20px}
  .lead-form{grid-template-columns:1fr}.field-half{grid-column:1/-1}
  .contact-ribbon{padding:58px 20px 80px;display:block}.contact-ribbon h2{font-size:55px}
  .contact-ribbon-actions{margin-top:28px;align-items:flex-start;flex-direction:column}
  .site-footer{padding:55px 20px 95px}.footer-top{grid-template-columns:1fr;gap:34px}.footer-contact{text-align:left}
  .footer-bottom{display:block;line-height:2}.footer-bottom div{flex-wrap:wrap;margin-top:10px}
  .mobile-quick{position:fixed;z-index:220;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 1fr;background:rgba(6,30,24,.94);padding:8px 8px calc(8px + env(safe-area-inset-bottom));backdrop-filter:blur(16px);border-top:1px solid rgba(255,255,255,.1)}
  .mobile-quick a{height:46px;display:grid;place-items:center;color:var(--cream);font-size:12px}
  .mobile-quick a:last-child{background:var(--cream);color:var(--green)}
  .consent{left:10px;right:10px;bottom:70px;grid-template-columns:1fr;padding:16px}.consent-actions{display:grid;grid-template-columns:1fr 1fr}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.service-card,.service-index-row{transition:none}}


/* V5 production refinements */
.image-story{padding-top:90px;padding-bottom:120px}
.image-story-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:55px}
.image-story-head h2{font-size:clamp(48px,5.5vw,82px);line-height:1.02;font-weight:560;margin:0;letter-spacing:-.045em}
.image-story-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:620px 420px;gap:12px}
.image-story figure{margin:0;overflow:hidden;background:#d8d4c8}
.image-story img{width:100%;height:100%;object-fit:cover}
.story-a{grid-row:1/3}.story-b{grid-column:2}.story-c{grid-column:2}
.packages{padding-top:70px;padding-bottom:120px}
.packages-head{max-width:950px;margin-bottom:55px}.packages-head h2{font-size:clamp(48px,5.5vw,82px);line-height:1.02;font-weight:560;letter-spacing:-.045em}
.package-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.package-grid article{min-height:300px;padding:34px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.package-grid span{font-size:10px;color:var(--muted)}.package-grid h3{font-size:44px;letter-spacing:-.04em;margin:72px 0 14px}.package-grid p{max-width:500px;color:var(--muted);line-height:1.65}
.reverse .split-media{order:2}.reverse .split-content{order:1}
.editorial-gallery{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:92px;gap:12px;padding-top:20px;padding-bottom:120px}
.editorial-gallery figure{margin:0;overflow:hidden;background:#ddd}.editorial-gallery img{width:100%;height:100%;object-fit:cover}
.editorial-gallery .g1{grid-column:1/8;grid-row:1/8}.editorial-gallery .g2{grid-column:8/13;grid-row:1/6}.editorial-gallery .g3{grid-column:8/13;grid-row:6/12}.editorial-gallery .g4{grid-column:1/8;grid-row:8/14}.editorial-gallery .g5{grid-column:1/13;grid-row:14/21}
.about-second{border-top:1px solid var(--line)}
.legal-page,.not-found{padding-top:150px;min-height:70vh}.legal-page h1,.not-found h1{font-size:clamp(68px,8vw,118px);letter-spacing:-.055em;margin:15px 0 60px}.legal-copy{max-width:880px;margin-left:min(14vw,180px)}.legal-copy h2{font-size:28px;margin:52px 0 14px}.legal-copy p{font-size:15px;line-height:1.75;color:var(--muted)}.legal-copy a{text-decoration:underline;text-underline-offset:3px}.not-found>p:not(.eyebrow){font-size:18px;color:var(--muted)}
.consent a{text-decoration:underline;text-underline-offset:2px}
.button:disabled{opacity:.55;cursor:wait}
@media(max-width:760px){
  .image-story{padding-top:65px;padding-bottom:80px}.image-story-head{display:block}.image-story-head h2{font-size:52px}.image-story-grid{display:grid;grid-template-columns:1fr;grid-template-rows:none;gap:8px}.image-story figure,.story-a,.story-b,.story-c{grid-column:auto;grid-row:auto;height:60svh;min-height:470px}
  .package-grid{grid-template-columns:1fr}.package-grid article{min-height:240px;padding:25px}.package-grid h3{font-size:38px;margin-top:52px}
  .reverse .split-media,.reverse .split-content{order:initial}
  .editorial-gallery{display:grid;grid-template-columns:1fr;grid-auto-rows:auto;gap:8px;padding-bottom:80px}.editorial-gallery figure,.editorial-gallery .g1,.editorial-gallery .g2,.editorial-gallery .g3,.editorial-gallery .g4,.editorial-gallery .g5{grid-column:auto;grid-row:auto;height:60svh;min-height:470px}
  .legal-page,.not-found{padding-top:105px}.legal-page h1,.not-found h1{font-size:64px;margin-bottom:42px}.legal-copy{margin-left:0}.legal-copy h2{font-size:23px;margin-top:42px}
}

:root{
  --green:#082c23;
  --green-2:#0d3a2e;
  --cream:#f3efe4;
  --paper:#f7f4ec;
  --ink:#101a16;
  --muted:#69726d;
  --line:rgba(8,44,35,.16);
  --white:#fff;
  --serif:Georgia,"Times New Roman",serif;
  --sans:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Arial,sans-serif;
  --max:1460px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.skip-link{position:fixed;z-index:9999;left:14px;top:14px;transform:translateY(-160%);background:#fff;padding:10px 14px}
.skip-link:focus{transform:none}
.site-header{position:fixed;z-index:300;inset:0 0 auto;background:rgba(8,44,35,.96);color:var(--cream);border-bottom:1px solid rgba(255,255,255,.12);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.header-inner{height:76px;max-width:var(--max);margin:auto;padding:0 30px;display:flex;align-items:center;gap:34px}
.brand-link{display:flex;align-items:center;gap:12px;min-width:max-content}
.brand-link img{width:35px;height:35px;object-fit:contain}
.brand-link span{font-size:13px;font-weight:700;letter-spacing:.14em}
.desktop-nav{display:flex;align-items:center;gap:27px;margin-left:auto}
.desktop-nav>a,.nav-group>a{height:76px;display:flex;align-items:center;font-size:12px;letter-spacing:.03em;color:rgba(243,239,228,.78);position:relative}
.desktop-nav>a:hover,.nav-group>a:hover,.desktop-nav .active{color:#fff}
.desktop-nav .active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--cream)}
.nav-group{position:relative}
.nav-panel{position:absolute;top:70px;left:-22px;width:330px;padding:15px;background:var(--cream);color:var(--green);border:1px solid rgba(8,44,35,.08);box-shadow:0 22px 60px rgba(0,0,0,.17);opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s ease}
.nav-group:hover .nav-panel,.nav-group:focus-within .nav-panel{opacity:1;visibility:visible;transform:none}
.nav-panel a{display:flex;justify-content:space-between;padding:14px 13px;border-bottom:1px solid var(--line);font-size:13px}
.nav-panel a:last-child{border:0}
.header-actions{display:flex;align-items:center;gap:18px}
.header-mail{font-size:11px;color:rgba(243,239,228,.68)}
.wa-button{display:inline-flex;align-items:center;gap:16px;padding:12px 15px;background:var(--cream);color:var(--green);font-size:12px;font-weight:700}
.menu-button{display:none;background:none;border:0;width:42px;height:42px;padding:10px;margin-left:auto}
.menu-button span{display:block;height:1px;background:var(--cream);margin:7px 0;transition:.2s ease}
.menu-button[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}
.menu-button[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}
.mobile-nav{position:fixed;z-index:250;inset:76px 0 0;background:var(--green);color:var(--cream);visibility:hidden;opacity:0;transition:.25s ease;overflow:auto}
.mobile-nav.open{visibility:visible;opacity:1}
.mobile-nav-inner{padding:32px 24px 100px;max-width:680px;margin:auto}
.mobile-nav a{display:flex;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:20px}
.mobile-nav .mobile-primary{font-size:34px;font-family:var(--serif);font-style:italic}
.mobile-label{display:block;margin-top:30px;padding-bottom:9px;font-size:10px;letter-spacing:.16em;color:rgba(243,239,228,.55)}
.mobile-contact{margin-top:35px}
.mobile-contact a{font-size:14px}
main{padding-top:76px}
.section{max-width:var(--max);margin:auto;padding:120px 40px}
.eyebrow{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin:0 0 20px}
.eyebrow.light{color:rgba(243,239,228,.76)}
h1,h2,h3,p{margin-top:0}
h1,h2{letter-spacing:-.045em;line-height:.96}
h1 em,h2 em{font-family:var(--serif);font-weight:400}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid transparent;padding:16px 19px;font-size:12px;font-weight:700;letter-spacing:.01em;transition:.2s ease}
.button:hover{transform:translateY(-2px)}
.button-light{background:var(--cream);color:var(--green)}
.button-dark{background:var(--green);color:var(--cream)}
.button-ghost{background:transparent;border-color:var(--line);color:var(--green)}
.text-link{display:inline-flex;align-items:center;gap:24px;padding-bottom:6px;border-bottom:1px solid currentColor;font-size:12px;font-weight:700}
.text-link.light{color:var(--cream)}
.home-hero{height:calc(100svh - 76px);min-height:650px;position:relative;background:#061a15;color:var(--cream);overflow:hidden}
.home-hero-media,.home-hero-shade{position:absolute;inset:0}
.home-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 38%}
.home-hero-shade{background:linear-gradient(90deg,rgba(4,20,16,.82) 0%,rgba(4,20,16,.46) 48%,rgba(4,20,16,.16) 100%),linear-gradient(0deg,rgba(4,20,16,.32),transparent 50%)}
.home-hero-content{position:absolute;left:max(32px,calc((100% - 1460px)/2 + 40px));bottom:10%;width:min(850px,68vw)}
.home-hero h1{font-size:clamp(72px,8.2vw,135px);margin:0 0 28px;font-weight:650}
.home-hero h1 em{font-weight:400}
.hero-copy{max-width:610px;font-size:18px;line-height:1.55;color:rgba(243,239,228,.86)}
.hero-actions{display:flex;align-items:center;gap:28px;margin-top:34px}
.hero-scroll{position:absolute;right:30px;bottom:26px;width:48px;height:48px;border:1px solid rgba(255,255,255,.3);display:grid;place-items:center;border-radius:50%}
.intro{display:grid;grid-template-columns:130px 1fr;gap:40px}
.section-number{font-size:11px;letter-spacing:.15em;color:var(--muted)}
.intro-copy{max-width:1050px}
.intro h2,.detail-intro h2,.about-text h2{font-size:clamp(48px,6.3vw,96px);font-weight:580;margin-bottom:34px}
.intro-copy>p:last-child,.detail-intro>p:last-child,.about-text p{font-size:18px;line-height:1.7;max-width:720px;color:#4f5b55}
.service-grid{padding-top:0;display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line)}
.service-card{background:var(--paper);min-height:340px;padding:36px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr auto;transition:.25s ease}
.service-card:hover{background:var(--green);color:var(--cream)}
.service-card>span{font-size:11px;color:var(--muted)}
.service-card b{font-weight:400;font-size:24px}
.service-card h3{grid-column:1/-1;align-self:end;font-size:clamp(42px,4.5vw,72px);letter-spacing:-.05em;margin:0 0 18px}
.service-card p{max-width:330px;line-height:1.55;color:var(--muted);margin:0}
.service-card:hover p,.service-card:hover>span{color:rgba(243,239,228,.7)}
.split-section{display:grid;grid-template-columns:1.03fr .97fr;min-height:760px}
.split-media{overflow:hidden;min-height:620px}
.split-media img{width:100%;height:100%;object-fit:cover}
.split-content{background:var(--cream);padding:90px 8vw;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.split-content h2{font-size:clamp(48px,5.4vw,84px);font-weight:580;margin-bottom:28px}
.split-content p{max-width:560px;font-size:17px;line-height:1.7;color:#536058}
.split-content .text-link{margin-top:20px}
.facts{display:grid;grid-template-columns:repeat(4,1fr);padding-top:75px;padding-bottom:75px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.facts div{padding:0 26px;border-right:1px solid var(--line)}
.facts div:first-child{padding-left:0}.facts div:last-child{border:0}
.facts strong,.facts span{display:block}
.facts strong{font-size:17px;margin-bottom:7px}
.facts span{font-size:12px;color:var(--muted)}
.selected-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px}
.selected-head h2{font-size:clamp(54px,6.2vw,94px);font-weight:580;margin-bottom:0}
.reference-list{margin-top:70px}
.reference-list>div{display:grid;grid-template-columns:80px 1fr 300px;align-items:center;border-top:1px solid var(--line);padding:29px 0}
.reference-list>div:last-child{border-bottom:1px solid var(--line)}
.reference-list span{font-size:11px;color:var(--muted)}
.reference-list strong{font-size:30px;letter-spacing:-.035em}
.reference-list small{text-align:right;color:var(--muted)}
.page-hero{min-height:610px;display:flex;align-items:flex-end;position:relative;overflow:hidden;color:var(--cream)}
.green-hero{background:var(--green)}
.compact-hero{min-height:520px}
.page-hero-inner{position:relative;z-index:2;width:100%;max-width:var(--max);margin:auto;padding:105px 40px 80px}
.page-hero h1{font-size:clamp(68px,8vw,124px);font-weight:610;margin-bottom:28px}
.page-hero p:not(.eyebrow){font-size:18px;line-height:1.6;max-width:680px;color:rgba(243,239,228,.82)}
.page-hero .button{margin-top:16px}
.page-hero-image,.page-hero-overlay{position:absolute;inset:0}
.page-hero-image img{width:100%;height:100%;object-fit:cover}
.page-hero-overlay{background:linear-gradient(90deg,rgba(4,20,16,.85),rgba(4,20,16,.4) 60%,rgba(4,20,16,.18))}
.service-index{padding-top:70px}
.service-index-row{display:grid;grid-template-columns:80px 1fr 40px;gap:25px;align-items:center;padding:35px 0;border-top:1px solid var(--line);transition:.2s ease}
.service-index-row:last-child{border-bottom:1px solid var(--line)}
.service-index-row:hover{padding-left:14px}
.service-index-row>span{font-size:11px;color:var(--muted)}
.service-index-row h2{font-size:clamp(40px,4.6vw,70px);font-weight:560;margin:0}
.service-index-row p{margin:7px 0 0;color:var(--muted)}
.service-index-row>b{font-size:24px;font-weight:400}
.process-short{border-top:1px solid var(--line)}
.process-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:45px}
.process-columns>div{padding-top:25px;border-top:1px solid var(--line)}
.process-columns span{font-size:10px;color:var(--muted)}
.process-columns h3{font-size:32px;letter-spacing:-.035em;margin:25px 0 12px}
.process-columns p{line-height:1.6;color:var(--muted)}
.detail-intro{padding-bottom:70px}
.detail-intro{max-width:var(--max)}
.detail-intro>p:last-child{max-width:760px}
.detail-grid{padding-top:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line)}
.detail-grid>div{background:var(--paper);padding:32px;min-height:260px}
.detail-grid span{font-size:10px;color:var(--muted)}
.detail-grid h3{font-size:30px;letter-spacing:-.035em;margin:70px 0 14px}
.detail-grid p{font-size:14px;line-height:1.6;color:var(--muted)}
.photo-break{height:80svh;min-height:620px;overflow:hidden}
.photo-break img{width:100%;height:100%;object-fit:cover}
.references-page{padding-bottom:65px}
.references-page article{display:grid;grid-template-columns:90px 1fr;border-top:1px solid var(--line);padding:34px 0}
.references-page article:last-child{border-bottom:1px solid var(--line)}
.references-page span{font-size:11px;color:var(--muted)}
.references-page h2{font-size:clamp(40px,5.4vw,80px);font-weight:560;margin:0 0 8px}
.references-page p{color:var(--muted)}
.gallery-grid{padding-top:0;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.gallery-grid figure{margin:0;overflow:hidden;height:720px;background:#ddd}
.gallery-grid figure:nth-child(2),.gallery-grid figure:nth-child(3){height:540px}
.gallery-grid img{width:100%;height:100%;object-fit:cover}
.about-hero{display:grid;grid-template-columns:.92fr 1.08fr;gap:70px;align-items:center;min-height:760px}
.about-copy h1{font-size:clamp(72px,8vw,120px);font-weight:600;margin-bottom:30px}
.about-copy>p:last-child{font-size:20px;line-height:1.6;max-width:500px;color:var(--muted)}
.about-hero figure{height:680px;margin:0;overflow:hidden}
.about-hero figure img{width:100%;height:100%;object-fit:cover}
.about-text{display:grid;grid-template-columns:130px 1fr;border-top:1px solid var(--line)}
.about-text>div:last-child{max-width:950px}
.about-text .button{margin-top:20px}
.contact-hero{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:start}
.contact-hero-copy{position:sticky;top:125px;padding-top:40px}
.contact-hero h1{font-size:clamp(72px,8vw,118px);font-weight:600;margin-bottom:28px}
.contact-hero-copy>p:not(.eyebrow){font-size:18px;line-height:1.6;max-width:560px;color:var(--muted)}
.contact-direct{display:flex;align-items:center;gap:26px;margin:35px 0 20px;flex-wrap:wrap}
.contact-hero-copy small{color:var(--muted)}
.contact-form-wrap{background:var(--cream);padding:48px}
.lead-form{display:grid;grid-template-columns:1fr 1fr;gap:24px 18px}
.field{grid-column:1/-1}
.field-half{grid-column:auto}
.field label{display:block;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;margin-bottom:8px}
.field input,.field select,.field textarea{width:100%;border:0;border-bottom:1px solid rgba(8,44,35,.3);background:transparent;border-radius:0;padding:14px 0;color:var(--ink);outline:none}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green)}
.field textarea{resize:vertical}
.privacy-check{grid-column:1/-1;display:grid;grid-template-columns:18px 1fr;gap:10px;font-size:11px;line-height:1.5;color:var(--muted)}
.privacy-check input{margin-top:2px}
.privacy-check a{text-decoration:underline}
.form-submit{grid-column:1/-1;justify-self:start}
.form-status,.form-success{grid-column:1/-1}
.form-status{font-size:12px;color:#8b2b2b}
.form-success{padding:20px;border:1px solid rgba(8,44,35,.2);background:rgba(255,255,255,.45)}
.form-success strong{display:block;margin-bottom:7px}
.hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}
.contact-ribbon{background:var(--green);color:var(--cream);padding:72px max(40px,calc((100vw - 1460px)/2 + 40px));display:flex;align-items:flex-end;justify-content:space-between;gap:40px;border-top:1px solid rgba(255,255,255,.12)}
.contact-ribbon p{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(243,239,228,.6)}
.contact-ribbon h2{font-size:clamp(54px,6vw,90px);font-weight:580;margin:0}
.contact-ribbon-actions{display:flex;align-items:center;gap:28px;padding-bottom:5px}
.site-footer{background:#061e18;color:var(--cream);padding:65px max(40px,calc((100vw - 1460px)/2 + 40px)) 26px}
.footer-top{display:grid;grid-template-columns:1.2fr .7fr .9fr;gap:50px}
.footer-brand{display:flex;align-items:center;gap:16px}
.footer-brand img{width:46px;height:46px;object-fit:contain}
.footer-brand strong,.footer-brand span{display:block}
.footer-brand strong{font-size:15px;letter-spacing:.12em}
.footer-brand span{margin-top:5px;font-size:11px;color:rgba(243,239,228,.55)}
.footer-links,.footer-contact{display:flex;flex-direction:column;gap:12px;font-size:12px}
.footer-contact{text-align:right}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.12);margin-top:55px;padding-top:22px;font-size:10px;color:rgba(243,239,228,.48)}
.footer-bottom div{display:flex;gap:18px}
.footer-bottom button{background:none;border:0;color:inherit;padding:0}
.mobile-quick{display:none}
.consent{position:fixed;z-index:500;left:24px;right:24px;bottom:24px;max-width:780px;margin-left:auto;background:var(--cream);border:1px solid rgba(8,44,35,.16);box-shadow:0 20px 70px rgba(0,0,0,.24);padding:20px;display:grid;grid-template-columns:1fr auto;gap:25px;align-items:center}
.consent[hidden]{display:none}
.consent strong{font-size:14px}
.consent p{margin:5px 0 0;font-size:11px;line-height:1.5;color:var(--muted)}
.consent-actions{display:flex;gap:8px}
.consent .button{padding:11px 13px;font-size:10px}

@media(max-width:1120px){
  .desktop-nav{display:none}.header-mail{display:none}.menu-button{display:block}
  .header-actions{margin-left:auto}.wa-button{display:none}
  .section{padding-left:28px;padding-right:28px}
  .home-hero-content{left:28px;width:72vw}
  .service-grid{grid-template-columns:1fr 1fr}
  .detail-grid{grid-template-columns:1fr 1fr}
  .facts{grid-template-columns:1fr 1fr;gap:30px}
  .facts div{border-right:0;padding:0}
  .contact-hero{gap:45px}
}
@media(max-width:760px){
  .header-inner{height:68px;padding:0 17px}.mobile-nav{inset:68px 0 0}main{padding-top:68px}
  .brand-link img{width:31px;height:31px}.brand-link span{font-size:11px}
  .section{padding:78px 20px}
  .home-hero{height:calc(100svh - 68px);min-height:610px}
  .home-hero-media img{object-position:55% center}
  .home-hero-shade{background:linear-gradient(0deg,rgba(4,20,16,.82),rgba(4,20,16,.12) 80%)}
  .home-hero-content{left:20px;right:20px;bottom:10%;width:auto}
  .home-hero h1{font-size:clamp(54px,16vw,80px);margin-bottom:22px}
  .hero-copy{font-size:15px;max-width:92%}
  .hero-actions{align-items:flex-start;flex-direction:column;gap:18px;margin-top:28px}
  .hero-scroll{right:18px;bottom:18px}
  .intro{grid-template-columns:1fr;gap:24px}.intro h2,.detail-intro h2,.about-text h2{font-size:clamp(43px,13vw,64px)}
  .service-grid{grid-template-columns:1fr;padding-top:0}
  .service-card{min-height:260px;padding:25px}
  .service-card h3{font-size:44px}
  .split-section{grid-template-columns:1fr;min-height:0}
  .split-media{min-height:520px;height:64svh}
  .split-content{padding:65px 20px}
  .split-content h2{font-size:48px}
  .facts{grid-template-columns:1fr 1fr;padding-top:55px;padding-bottom:55px;gap:35px 20px}
  .selected-head{display:block}.selected-head .text-link{margin-top:28px}
  .selected-head h2{font-size:54px}
  .reference-list{margin-top:46px}
  .reference-list>div{grid-template-columns:38px 1fr;padding:23px 0}
  .reference-list strong{font-size:25px}.reference-list small{grid-column:2;text-align:left;margin-top:6px}
  .page-hero{min-height:590px}.compact-hero{min-height:470px}
  .page-hero-inner{padding:90px 20px 55px}.page-hero h1{font-size:clamp(55px,15vw,78px)}
  .page-hero p:not(.eyebrow){font-size:15px}
  .service-index-row{grid-template-columns:42px 1fr 24px;gap:10px;padding:27px 0}
  .service-index-row h2{font-size:36px}.service-index-row p{font-size:13px}
  .process-columns{grid-template-columns:1fr;gap:24px}
  .detail-grid{grid-template-columns:1fr}
  .detail-grid>div{min-height:220px;padding:25px}
  .detail-grid h3{margin-top:52px}
  .photo-break{height:70svh;min-height:520px}
  .gallery-grid{grid-template-columns:1fr;gap:8px}
  .gallery-grid figure,.gallery-grid figure:nth-child(2),.gallery-grid figure:nth-child(3){height:60svh;min-height:480px}
  .about-hero{grid-template-columns:1fr;gap:35px;min-height:0}.about-copy h1{font-size:66px}.about-hero figure{height:62svh}
  .about-text{grid-template-columns:1fr;gap:24px}
  .contact-hero{grid-template-columns:1fr;gap:50px}
  .contact-hero-copy{position:static;padding-top:0}
  .contact-hero h1{font-size:68px}
  .contact-form-wrap{padding:28px 20px}
  .lead-form{grid-template-columns:1fr}.field-half{grid-column:1/-1}
  .contact-ribbon{padding:58px 20px 80px;display:block}.contact-ribbon h2{font-size:55px}
  .contact-ribbon-actions{margin-top:28px;align-items:flex-start;flex-direction:column}
  .site-footer{padding:55px 20px 95px}.footer-top{grid-template-columns:1fr;gap:34px}.footer-contact{text-align:left}
  .footer-bottom{display:block;line-height:2}.footer-bottom div{flex-wrap:wrap;margin-top:10px}
  .mobile-quick{position:fixed;z-index:220;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 1fr;background:rgba(6,30,24,.94);padding:8px 8px calc(8px + env(safe-area-inset-bottom));backdrop-filter:blur(16px);border-top:1px solid rgba(255,255,255,.1)}
  .mobile-quick a{height:46px;display:grid;place-items:center;color:var(--cream);font-size:12px}
  .mobile-quick a:last-child{background:var(--cream);color:var(--green)}
  .consent{left:10px;right:10px;bottom:70px;grid-template-columns:1fr;padding:16px}.consent-actions{display:grid;grid-template-columns:1fr 1fr}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.service-card,.service-index-row{transition:none}}


/* V5 production refinements */
.image-story{padding-top:90px;padding-bottom:120px}
.image-story-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:55px}
.image-story-head h2{font-size:clamp(48px,5.5vw,82px);line-height:1.02;font-weight:560;margin:0;letter-spacing:-.045em}
.image-story-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:620px 420px;gap:12px}
.image-story figure{margin:0;overflow:hidden;background:#d8d4c8}
.image-story img{width:100%;height:100%;object-fit:cover}
.story-a{grid-row:1/3}.story-b{grid-column:2}.story-c{grid-column:2}
.packages{padding-top:70px;padding-bottom:120px}
.packages-head{max-width:950px;margin-bottom:55px}.packages-head h2{font-size:clamp(48px,5.5vw,82px);line-height:1.02;font-weight:560;letter-spacing:-.045em}
.package-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.package-grid article{min-height:300px;padding:34px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.package-grid span{font-size:10px;color:var(--muted)}.package-grid h3{font-size:44px;letter-spacing:-.04em;margin:72px 0 14px}.package-grid p{max-width:500px;color:var(--muted);line-height:1.65}
.reverse .split-media{order:2}.reverse .split-content{order:1}
.editorial-gallery{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:92px;gap:12px;padding-top:20px;padding-bottom:120px}
.editorial-gallery figure{margin:0;overflow:hidden;background:#ddd}.editorial-gallery img{width:100%;height:100%;object-fit:cover}
.editorial-gallery .g1{grid-column:1/8;grid-row:1/8}.editorial-gallery .g2{grid-column:8/13;grid-row:1/6}.editorial-gallery .g3{grid-column:8/13;grid-row:6/12}.editorial-gallery .g4{grid-column:1/8;grid-row:8/14}.editorial-gallery .g5{grid-column:1/13;grid-row:14/21}
.about-second{border-top:1px solid var(--line)}
.legal-page,.not-found{padding-top:150px;min-height:70vh}.legal-page h1,.not-found h1{font-size:clamp(68px,8vw,118px);letter-spacing:-.055em;margin:15px 0 60px}.legal-copy{max-width:880px;margin-left:min(14vw,180px)}.legal-copy h2{font-size:28px;margin:52px 0 14px}.legal-copy p{font-size:15px;line-height:1.75;color:var(--muted)}.legal-copy a{text-decoration:underline;text-underline-offset:3px}.not-found>p:not(.eyebrow){font-size:18px;color:var(--muted)}
.consent a{text-decoration:underline;text-underline-offset:2px}
.button:disabled{opacity:.55;cursor:wait}
@media(max-width:760px){
  .image-story{padding-top:65px;padding-bottom:80px}.image-story-head{display:block}.image-story-head h2{font-size:52px}.image-story-grid{display:grid;grid-template-columns:1fr;grid-template-rows:none;gap:8px}.image-story figure,.story-a,.story-b,.story-c{grid-column:auto;grid-row:auto;height:60svh;min-height:470px}
  .package-grid{grid-template-columns:1fr}.package-grid article{min-height:240px;padding:25px}.package-grid h3{font-size:38px;margin-top:52px}
  .reverse .split-media,.reverse .split-content{order:initial}
  .editorial-gallery{display:grid;grid-template-columns:1fr;grid-auto-rows:auto;gap:8px;padding-bottom:80px}.editorial-gallery figure,.editorial-gallery .g1,.editorial-gallery .g2,.editorial-gallery .g3,.editorial-gallery .g4,.editorial-gallery .g5{grid-column:auto;grid-row:auto;height:60svh;min-height:470px}
  .legal-page,.not-found{padding-top:105px}.legal-page h1,.not-found h1{font-size:64px;margin-bottom:42px}.legal-copy{margin-left:0}.legal-copy h2{font-size:23px;margin-top:42px}
}

:root{
  --green:#082c23;
  --green-2:#0d3a2e;
  --cream:#f3efe4;
  --paper:#f7f4ec;
  --ink:#101a16;
  --muted:#69726d;
  --line:rgba(8,44,35,.16);
  --white:#fff;
  --serif:Georgia,"Times New Roman",serif;
  --sans:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Arial,sans-serif;
  --max:1460px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.skip-link{position:fixed;z-index:9999;left:14px;top:14px;transform:translateY(-160%);background:#fff;padding:10px 14px}
.skip-link:focus{transform:none}
.site-header{position:fixed;z-index:300;inset:0 0 auto;background:rgba(8,44,35,.96);color:var(--cream);border-bottom:1px solid rgba(255,255,255,.12);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.header-inner{height:76px;max-width:var(--max);margin:auto;padding:0 30px;display:flex;align-items:center;gap:34px}
.brand-link{display:flex;align-items:center;gap:12px;min-width:max-content}
.brand-link img{width:35px;height:35px;object-fit:contain}
.brand-link span{font-size:13px;font-weight:700;letter-spacing:.14em}
.desktop-nav{display:flex;align-items:center;gap:27px;margin-left:auto}
.desktop-nav>a,.nav-group>a{height:76px;display:flex;align-items:center;font-size:12px;letter-spacing:.03em;color:rgba(243,239,228,.78);position:relative}
.desktop-nav>a:hover,.nav-group>a:hover,.desktop-nav .active{color:#fff}
.desktop-nav .active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--cream)}
.nav-group{position:relative}
.nav-panel{position:absolute;top:70px;left:-22px;width:330px;padding:15px;background:var(--cream);color:var(--green);border:1px solid rgba(8,44,35,.08);box-shadow:0 22px 60px rgba(0,0,0,.17);opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s ease}
.nav-group:hover .nav-panel,.nav-group:focus-within .nav-panel{opacity:1;visibility:visible;transform:none}
.nav-panel a{display:flex;justify-content:space-between;padding:14px 13px;border-bottom:1px solid var(--line);font-size:13px}
.nav-panel a:last-child{border:0}
.header-actions{display:flex;align-items:center;gap:18px}
.header-mail{font-size:11px;color:rgba(243,239,228,.68)}
.wa-button{display:inline-flex;align-items:center;gap:16px;padding:12px 15px;background:var(--cream);color:var(--green);font-size:12px;font-weight:700}
.menu-button{display:none;background:none;border:0;width:42px;height:42px;padding:10px;margin-left:auto}
.menu-button span{display:block;height:1px;background:var(--cream);margin:7px 0;transition:.2s ease}
.menu-button[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}
.menu-button[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}
.mobile-nav{position:fixed;z-index:250;inset:76px 0 0;background:var(--green);color:var(--cream);visibility:hidden;opacity:0;transition:.25s ease;overflow:auto}
.mobile-nav.open{visibility:visible;opacity:1}
.mobile-nav-inner{padding:32px 24px 100px;max-width:680px;margin:auto}
.mobile-nav a{display:flex;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:20px}
.mobile-nav .mobile-primary{font-size:34px;font-family:var(--serif);font-style:italic}
.mobile-label{display:block;margin-top:30px;padding-bottom:9px;font-size:10px;letter-spacing:.16em;color:rgba(243,239,228,.55)}
.mobile-contact{margin-top:35px}
.mobile-contact a{font-size:14px}
main{padding-top:76px}
.section{max-width:var(--max);margin:auto;padding:120px 40px}
.eyebrow{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin:0 0 20px}
.eyebrow.light{color:rgba(243,239,228,.76)}
h1,h2,h3,p{margin-top:0}
h1,h2{letter-spacing:-.045em;line-height:.96}
h1 em,h2 em{font-family:var(--serif);font-weight:400}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid transparent;padding:16px 19px;font-size:12px;font-weight:700;letter-spacing:.01em;transition:.2s ease}
.button:hover{transform:translateY(-2px)}
.button-light{background:var(--cream);color:var(--green)}
.button-dark{background:var(--green);color:var(--cream)}
.button-ghost{background:transparent;border-color:var(--line);color:var(--green)}
.text-link{display:inline-flex;align-items:center;gap:24px;padding-bottom:6px;border-bottom:1px solid currentColor;font-size:12px;font-weight:700}
.text-link.light{color:var(--cream)}
.home-hero{height:calc(100svh - 76px);min-height:650px;position:relative;background:#061a15;color:var(--cream);overflow:hidden}
.home-hero-media,.home-hero-shade{position:absolute;inset:0}
.home-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 38%}
.home-hero-shade{background:linear-gradient(90deg,rgba(4,20,16,.82) 0%,rgba(4,20,16,.46) 48%,rgba(4,20,16,.16) 100%),linear-gradient(0deg,rgba(4,20,16,.32),transparent 50%)}
.home-hero-content{position:absolute;left:max(32px,calc((100% - 1460px)/2 + 40px));bottom:10%;width:min(850px,68vw)}
.home-hero h1{font-size:clamp(72px,8.2vw,135px);margin:0 0 28px;font-weight:650}
.home-hero h1 em{font-weight:400}
.hero-copy{max-width:610px;font-size:18px;line-height:1.55;color:rgba(243,239,228,.86)}
.hero-actions{display:flex;align-items:center;gap:28px;margin-top:34px}
.hero-scroll{position:absolute;right:30px;bottom:26px;width:48px;height:48px;border:1px solid rgba(255,255,255,.3);display:grid;place-items:center;border-radius:50%}
.intro{display:grid;grid-template-columns:130px 1fr;gap:40px}
.section-number{font-size:11px;letter-spacing:.15em;color:var(--muted)}
.intro-copy{max-width:1050px}
.intro h2,.detail-intro h2,.about-text h2{font-size:clamp(48px,6.3vw,96px);font-weight:580;margin-bottom:34px}
.intro-copy>p:last-child,.detail-intro>p:last-child,.about-text p{font-size:18px;line-height:1.7;max-width:720px;color:#4f5b55}
.service-grid{padding-top:0;display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line)}
.service-card{background:var(--paper);min-height:340px;padding:36px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr auto;transition:.25s ease}
.service-card:hover{background:var(--green);color:var(--cream)}
.service-card>span{font-size:11px;color:var(--muted)}
.service-card b{font-weight:400;font-size:24px}
.service-card h3{grid-column:1/-1;align-self:end;font-size:clamp(42px,4.5vw,72px);letter-spacing:-.05em;margin:0 0 18px}
.service-card p{max-width:330px;line-height:1.55;color:var(--muted);margin:0}
.service-card:hover p,.service-card:hover>span{color:rgba(243,239,228,.7)}
.split-section{display:grid;grid-template-columns:1.03fr .97fr;min-height:760px}
.split-media{overflow:hidden;min-height:620px}
.split-media img{width:100%;height:100%;object-fit:cover}
.split-content{background:var(--cream);padding:90px 8vw;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.split-content h2{font-size:clamp(48px,5.4vw,84px);font-weight:580;margin-bottom:28px}
.split-content p{max-width:560px;font-size:17px;line-height:1.7;color:#536058}
.split-content .text-link{margin-top:20px}
.facts{display:grid;grid-template-columns:repeat(4,1fr);padding-top:75px;padding-bottom:75px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.facts div{padding:0 26px;border-right:1px solid var(--line)}
.facts div:first-child{padding-left:0}.facts div:last-child{border:0}
.facts strong,.facts span{display:block}
.facts strong{font-size:17px;margin-bottom:7px}
.facts span{font-size:12px;color:var(--muted)}
.selected-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px}
.selected-head h2{font-size:clamp(54px,6.2vw,94px);font-weight:580;margin-bottom:0}
.reference-list{margin-top:70px}
.reference-list>div{display:grid;grid-template-columns:80px 1fr 300px;align-items:center;border-top:1px solid var(--line);padding:29px 0}
.reference-list>div:last-child{border-bottom:1px solid var(--line)}
.reference-list span{font-size:11px;color:var(--muted)}
.reference-list strong{font-size:30px;letter-spacing:-.035em}
.reference-list small{text-align:right;color:var(--muted)}
.page-hero{min-height:610px;display:flex;align-items:flex-end;position:relative;overflow:hidden;color:var(--cream)}
.green-hero{background:var(--green)}
.compact-hero{min-height:520px}
.page-hero-inner{position:relative;z-index:2;width:100%;max-width:var(--max);margin:auto;padding:105px 40px 80px}
.page-hero h1{font-size:clamp(68px,8vw,124px);font-weight:610;margin-bottom:28px}
.page-hero p:not(.eyebrow){font-size:18px;line-height:1.6;max-width:680px;color:rgba(243,239,228,.82)}
.page-hero .button{margin-top:16px}
.page-hero-image,.page-hero-overlay{position:absolute;inset:0}
.page-hero-image img{width:100%;height:100%;object-fit:cover}
.page-hero-overlay{background:linear-gradient(90deg,rgba(4,20,16,.85),rgba(4,20,16,.4) 60%,rgba(4,20,16,.18))}
.service-index{padding-top:70px}
.service-index-row{display:grid;grid-template-columns:80px 1fr 40px;gap:25px;align-items:center;padding:35px 0;border-top:1px solid var(--line);transition:.2s ease}
.service-index-row:last-child{border-bottom:1px solid var(--line)}
.service-index-row:hover{padding-left:14px}
.service-index-row>span{font-size:11px;color:var(--muted)}
.service-index-row h2{font-size:clamp(40px,4.6vw,70px);font-weight:560;margin:0}
.service-index-row p{margin:7px 0 0;color:var(--muted)}
.service-index-row>b{font-size:24px;font-weight:400}
.process-short{border-top:1px solid var(--line)}
.process-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:45px}
.process-columns>div{padding-top:25px;border-top:1px solid var(--line)}
.process-columns span{font-size:10px;color:var(--muted)}
.process-columns h3{font-size:32px;letter-spacing:-.035em;margin:25px 0 12px}
.process-columns p{line-height:1.6;color:var(--muted)}
.detail-intro{padding-bottom:70px}
.detail-intro{max-width:var(--max)}
.detail-intro>p:last-child{max-width:760px}
.detail-grid{padding-top:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line)}
.detail-grid>div{background:var(--paper);padding:32px;min-height:260px}
.detail-grid span{font-size:10px;color:var(--muted)}
.detail-grid h3{font-size:30px;letter-spacing:-.035em;margin:70px 0 14px}
.detail-grid p{font-size:14px;line-height:1.6;color:var(--muted)}
.photo-break{height:80svh;min-height:620px;overflow:hidden}
.photo-break img{width:100%;height:100%;object-fit:cover}
.references-page{padding-bottom:65px}
.references-page article{display:grid;grid-template-columns:90px 1fr;border-top:1px solid var(--line);padding:34px 0}
.references-page article:last-child{border-bottom:1px solid var(--line)}
.references-page span{font-size:11px;color:var(--muted)}
.references-page h2{font-size:clamp(40px,5.4vw,80px);font-weight:560;margin:0 0 8px}
.references-page p{color:var(--muted)}
.gallery-grid{padding-top:0;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.gallery-grid figure{margin:0;overflow:hidden;height:720px;background:#ddd}
.gallery-grid figure:nth-child(2),.gallery-grid figure:nth-child(3){height:540px}
.gallery-grid img{width:100%;height:100%;object-fit:cover}
.about-hero{display:grid;grid-template-columns:.92fr 1.08fr;gap:70px;align-items:center;min-height:760px}
.about-copy h1{font-size:clamp(72px,8vw,120px);font-weight:600;margin-bottom:30px}
.about-copy>p:last-child{font-size:20px;line-height:1.6;max-width:500px;color:var(--muted)}
.about-hero figure{height:680px;margin:0;overflow:hidden}
.about-hero figure img{width:100%;height:100%;object-fit:cover}
.about-text{display:grid;grid-template-columns:130px 1fr;border-top:1px solid var(--line)}
.about-text>div:last-child{max-width:950px}
.about-text .button{margin-top:20px}
.contact-hero{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:start}
.contact-hero-copy{position:sticky;top:125px;padding-top:40px}
.contact-hero h1{font-size:clamp(72px,8vw,118px);font-weight:600;margin-bottom:28px}
.contact-hero-copy>p:not(.eyebrow){font-size:18px;line-height:1.6;max-width:560px;color:var(--muted)}
.contact-direct{display:flex;align-items:center;gap:26px;margin:35px 0 20px;flex-wrap:wrap}
.contact-hero-copy small{color:var(--muted)}
.contact-form-wrap{background:var(--cream);padding:48px}
.lead-form{display:grid;grid-template-columns:1fr 1fr;gap:24px 18px}
.field{grid-column:1/-1}
.field-half{grid-column:auto}
.field label{display:block;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;margin-bottom:8px}
.field input,.field select,.field textarea{width:100%;border:0;border-bottom:1px solid rgba(8,44,35,.3);background:transparent;border-radius:0;padding:14px 0;color:var(--ink);outline:none}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green)}
.field textarea{resize:vertical}
.privacy-check{grid-column:1/-1;display:grid;grid-template-columns:18px 1fr;gap:10px;font-size:11px;line-height:1.5;color:var(--muted)}
.privacy-check input{margin-top:2px}
.privacy-check a{text-decoration:underline}
.form-submit{grid-column:1/-1;justify-self:start}
.form-status,.form-success{grid-column:1/-1}
.form-status{font-size:12px;color:#8b2b2b}
.form-success{padding:20px;border:1px solid rgba(8,44,35,.2);background:rgba(255,255,255,.45)}
.form-success strong{display:block;margin-bottom:7px}
.hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}
.contact-ribbon{background:var(--green);color:var(--cream);padding:72px max(40px,calc((100vw - 1460px)/2 + 40px));display:flex;align-items:flex-end;justify-content:space-between;gap:40px;border-top:1px solid rgba(255,255,255,.12)}
.contact-ribbon p{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(243,239,228,.6)}
.contact-ribbon h2{font-size:clamp(54px,6vw,90px);font-weight:580;margin:0}
.contact-ribbon-actions{display:flex;align-items:center;gap:28px;padding-bottom:5px}
.site-footer{background:#061e18;color:var(--cream);padding:65px max(40px,calc((100vw - 1460px)/2 + 40px)) 26px}
.footer-top{display:grid;grid-template-columns:1.2fr .7fr .9fr;gap:50px}
.footer-brand{display:flex;align-items:center;gap:16px}
.footer-brand img{width:46px;height:46px;object-fit:contain}
.footer-brand strong,.footer-brand span{display:block}
.footer-brand strong{font-size:15px;letter-spacing:.12em}
.footer-brand span{margin-top:5px;font-size:11px;color:rgba(243,239,228,.55)}
.footer-links,.footer-contact{display:flex;flex-direction:column;gap:12px;font-size:12px}
.footer-contact{text-align:right}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.12);margin-top:55px;padding-top:22px;font-size:10px;color:rgba(243,239,228,.48)}
.footer-bottom div{display:flex;gap:18px}
.footer-bottom button{background:none;border:0;color:inherit;padding:0}
.mobile-quick{display:none}
.consent{position:fixed;z-index:500;left:24px;right:24px;bottom:24px;max-width:780px;margin-left:auto;background:var(--cream);border:1px solid rgba(8,44,35,.16);box-shadow:0 20px 70px rgba(0,0,0,.24);padding:20px;display:grid;grid-template-columns:1fr auto;gap:25px;align-items:center}
.consent[hidden]{display:none}
.consent strong{font-size:14px}
.consent p{margin:5px 0 0;font-size:11px;line-height:1.5;color:var(--muted)}
.consent-actions{display:flex;gap:8px}
.consent .button{padding:11px 13px;font-size:10px}

@media(max-width:1120px){
  .desktop-nav{display:none}.header-mail{display:none}.menu-button{display:block}
  .header-actions{margin-left:auto}.wa-button{display:none}
  .section{padding-left:28px;padding-right:28px}
  .home-hero-content{left:28px;width:72vw}
  .service-grid{grid-template-columns:1fr 1fr}
  .detail-grid{grid-template-columns:1fr 1fr}
  .facts{grid-template-columns:1fr 1fr;gap:30px}
  .facts div{border-right:0;padding:0}
  .contact-hero{gap:45px}
}
@media(max-width:760px){
  .header-inner{height:68px;padding:0 17px}.mobile-nav{inset:68px 0 0}main{padding-top:68px}
  .brand-link img{width:31px;height:31px}.brand-link span{font-size:11px}
  .section{padding:78px 20px}
  .home-hero{height:calc(100svh - 68px);min-height:610px}
  .home-hero-media img{object-position:55% center}
  .home-hero-shade{background:linear-gradient(0deg,rgba(4,20,16,.82),rgba(4,20,16,.12) 80%)}
  .home-hero-content{left:20px;right:20px;bottom:10%;width:auto}
  .home-hero h1{font-size:clamp(54px,16vw,80px);margin-bottom:22px}
  .hero-copy{font-size:15px;max-width:92%}
  .hero-actions{align-items:flex-start;flex-direction:column;gap:18px;margin-top:28px}
  .hero-scroll{right:18px;bottom:18px}
  .intro{grid-template-columns:1fr;gap:24px}.intro h2,.detail-intro h2,.about-text h2{font-size:clamp(43px,13vw,64px)}
  .service-grid{grid-template-columns:1fr;padding-top:0}
  .service-card{min-height:260px;padding:25px}
  .service-card h3{font-size:44px}
  .split-section{grid-template-columns:1fr;min-height:0}
  .split-media{min-height:520px;height:64svh}
  .split-content{padding:65px 20px}
  .split-content h2{font-size:48px}
  .facts{grid-template-columns:1fr 1fr;padding-top:55px;padding-bottom:55px;gap:35px 20px}
  .selected-head{display:block}.selected-head .text-link{margin-top:28px}
  .selected-head h2{font-size:54px}
  .reference-list{margin-top:46px}
  .reference-list>div{grid-template-columns:38px 1fr;padding:23px 0}
  .reference-list strong{font-size:25px}.reference-list small{grid-column:2;text-align:left;margin-top:6px}
  .page-hero{min-height:590px}.compact-hero{min-height:470px}
  .page-hero-inner{padding:90px 20px 55px}.page-hero h1{font-size:clamp(55px,15vw,78px)}
  .page-hero p:not(.eyebrow){font-size:15px}
  .service-index-row{grid-template-columns:42px 1fr 24px;gap:10px;padding:27px 0}
  .service-index-row h2{font-size:36px}.service-index-row p{font-size:13px}
  .process-columns{grid-template-columns:1fr;gap:24px}
  .detail-grid{grid-template-columns:1fr}
  .detail-grid>div{min-height:220px;padding:25px}
  .detail-grid h3{margin-top:52px}
  .photo-break{height:70svh;min-height:520px}
  .gallery-grid{grid-template-columns:1fr;gap:8px}
  .gallery-grid figure,.gallery-grid figure:nth-child(2),.gallery-grid figure:nth-child(3){height:60svh;min-height:480px}
  .about-hero{grid-template-columns:1fr;gap:35px;min-height:0}.about-copy h1{font-size:66px}.about-hero figure{height:62svh}
  .about-text{grid-template-columns:1fr;gap:24px}
  .contact-hero{grid-template-columns:1fr;gap:50px}
  .contact-hero-copy{position:static;padding-top:0}
  .contact-hero h1{font-size:68px}
  .contact-form-wrap{padding:28px 20px}
  .lead-form{grid-template-columns:1fr}.field-half{grid-column:1/-1}
  .contact-ribbon{padding:58px 20px 80px;display:block}.contact-ribbon h2{font-size:55px}
  .contact-ribbon-actions{margin-top:28px;align-items:flex-start;flex-direction:column}
  .site-footer{padding:55px 20px 95px}.footer-top{grid-template-columns:1fr;gap:34px}.footer-contact{text-align:left}
  .footer-bottom{display:block;line-height:2}.footer-bottom div{flex-wrap:wrap;margin-top:10px}
  .mobile-quick{position:fixed;z-index:220;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 1fr;background:rgba(6,30,24,.94);padding:8px 8px calc(8px + env(safe-area-inset-bottom));backdrop-filter:blur(16px);border-top:1px solid rgba(255,255,255,.1)}
  .mobile-quick a{height:46px;display:grid;place-items:center;color:var(--cream);font-size:12px}
  .mobile-quick a:last-child{background:var(--cream);color:var(--green)}
  .consent{left:10px;right:10px;bottom:70px;grid-template-columns:1fr;padding:16px}.consent-actions{display:grid;grid-template-columns:1fr 1fr}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.service-card,.service-index-row{transition:none}}


/* V5 production refinements */
.image-story{padding-top:90px;padding-bottom:120px}
.image-story-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:55px}
.image-story-head h2{font-size:clamp(48px,5.5vw,82px);line-height:1.02;font-weight:560;margin:0;letter-spacing:-.045em}
.image-story-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:620px 420px;gap:12px}
.image-story figure{margin:0;overflow:hidden;background:#d8d4c8}
.image-story img{width:100%;height:100%;object-fit:cover}
.story-a{grid-row:1/3}.story-b{grid-column:2}.story-c{grid-column:2}
.packages{padding-top:70px;padding-bottom:120px}
.packages-head{max-width:950px;margin-bottom:55px}.packages-head h2{font-size:clamp(48px,5.5vw,82px);line-height:1.02;font-weight:560;letter-spacing:-.045em}
.package-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.package-grid article{min-height:300px;padding:34px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.package-grid span{font-size:10px;color:var(--muted)}.package-grid h3{font-size:44px;letter-spacing:-.04em;margin:72px 0 14px}.package-grid p{max-width:500px;color:var(--muted);line-height:1.65}
.reverse .split-media{order:2}.reverse .split-content{order:1}
.editorial-gallery{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:92px;gap:12px;padding-top:20px;padding-bottom:120px}
.editorial-gallery figure{margin:0;overflow:hidden;background:#ddd}.editorial-gallery img{width:100%;height:100%;object-fit:cover}
.editorial-gallery .g1{grid-column:1/8;grid-row:1/8}.editorial-gallery .g2{grid-column:8/13;grid-row:1/6}.editorial-gallery .g3{grid-column:8/13;grid-row:6/12}.editorial-gallery .g4{grid-column:1/8;grid-row:8/14}.editorial-gallery .g5{grid-column:1/13;grid-row:14/21}
.about-second{border-top:1px solid var(--line)}
.legal-page,.not-found{padding-top:150px;min-height:70vh}.legal-page h1,.not-found h1{font-size:clamp(68px,8vw,118px);letter-spacing:-.055em;margin:15px 0 60px}.legal-copy{max-width:880px;margin-left:min(14vw,180px)}.legal-copy h2{font-size:28px;margin:52px 0 14px}.legal-copy p{font-size:15px;line-height:1.75;color:var(--muted)}.legal-copy a{text-decoration:underline;text-underline-offset:3px}.not-found>p:not(.eyebrow){font-size:18px;color:var(--muted)}
.consent a{text-decoration:underline;text-underline-offset:2px}
.button:disabled{opacity:.55;cursor:wait}
@media(max-width:760px){
  .image-story{padding-top:65px;padding-bottom:80px}.image-story-head{display:block}.image-story-head h2{font-size:52px}.image-story-grid{display:grid;grid-template-columns:1fr;grid-template-rows:none;gap:8px}.image-story figure,.story-a,.story-b,.story-c{grid-column:auto;grid-row:auto;height:60svh;min-height:470px}
  .package-grid{grid-template-columns:1fr}.package-grid article{min-height:240px;padding:25px}.package-grid h3{font-size:38px;margin-top:52px}
  .reverse .split-media,.reverse .split-content{order:initial}
  .editorial-gallery{display:grid;grid-template-columns:1fr;grid-auto-rows:auto;gap:8px;padding-bottom:80px}.editorial-gallery figure,.editorial-gallery .g1,.editorial-gallery .g2,.editorial-gallery .g3,.editorial-gallery .g4,.editorial-gallery .g5{grid-column:auto;grid-row:auto;height:60svh;min-height:470px}
  .legal-page,.not-found{padding-top:105px}.legal-page h1,.not-found h1{font-size:64px;margin-bottom:42px}.legal-copy{margin-left:0}.legal-copy h2{font-size:23px;margin-top:42px}
}

:root{
  --green:#082c23;
  --green-2:#0d3a2e;
  --cream:#f3efe4;
  --paper:#f7f4ec;
  --ink:#101a16;
  --muted:#69726d;
  --line:rgba(8,44,35,.16);
  --white:#fff;
  --serif:Georgia,"Times New Roman",serif;
  --sans:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Arial,sans-serif;
  --max:1460px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.skip-link{position:fixed;z-index:9999;left:14px;top:14px;transform:translateY(-160%);background:#fff;padding:10px 14px}
.skip-link:focus{transform:none}
.site-header{position:fixed;z-index:300;inset:0 0 auto;background:rgba(8,44,35,.96);color:var(--cream);border-bottom:1px solid rgba(255,255,255,.12);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.header-inner{height:76px;max-width:var(--max);margin:auto;padding:0 30px;display:flex;align-items:center;gap:34px}
.brand-link{display:flex;align-items:center;gap:12px;min-width:max-content}
.brand-link img{width:35px;height:35px;object-fit:contain}
.brand-link span{font-size:13px;font-weight:700;letter-spacing:.14em}
.desktop-nav{display:flex;align-items:center;gap:27px;margin-left:auto}
.desktop-nav>a,.nav-group>a{height:76px;display:flex;align-items:center;font-size:12px;letter-spacing:.03em;color:rgba(243,239,228,.78);position:relative}
.desktop-nav>a:hover,.nav-group>a:hover,.desktop-nav .active{color:#fff}
.desktop-nav .active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--cream)}
.nav-group{position:relative}
.nav-panel{position:absolute;top:70px;left:-22px;width:330px;padding:15px;background:var(--cream);color:var(--green);border:1px solid rgba(8,44,35,.08);box-shadow:0 22px 60px rgba(0,0,0,.17);opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s ease}
.nav-group:hover .nav-panel,.nav-group:focus-within .nav-panel{opacity:1;visibility:visible;transform:none}
.nav-panel a{display:flex;justify-content:space-between;padding:14px 13px;border-bottom:1px solid var(--line);font-size:13px}
.nav-panel a:last-child{border:0}
.header-actions{display:flex;align-items:center;gap:18px}
.header-mail{font-size:11px;color:rgba(243,239,228,.68)}
.wa-button{display:inline-flex;align-items:center;gap:16px;padding:12px 15px;background:var(--cream);color:var(--green);font-size:12px;font-weight:700}
.menu-button{display:none;background:none;border:0;width:42px;height:42px;padding:10px;margin-left:auto}
.menu-button span{display:block;height:1px;background:var(--cream);margin:7px 0;transition:.2s ease}
.menu-button[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}
.menu-button[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}
.mobile-nav{position:fixed;z-index:250;inset:76px 0 0;background:var(--green);color:var(--cream);visibility:hidden;opacity:0;transition:.25s ease;overflow:auto}
.mobile-nav.open{visibility:visible;opacity:1}
.mobile-nav-inner{padding:32px 24px 100px;max-width:680px;margin:auto}
.mobile-nav a{display:flex;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:20px}
.mobile-nav .mobile-primary{font-size:34px;font-family:var(--serif);font-style:italic}
.mobile-label{display:block;margin-top:30px;padding-bottom:9px;font-size:10px;letter-spacing:.16em;color:rgba(243,239,228,.55)}
.mobile-contact{margin-top:35px}
.mobile-contact a{font-size:14px}
main{padding-top:76px}
.section{max-width:var(--max);margin:auto;padding:120px 40px}
.eyebrow{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin:0 0 20px}
.eyebrow.light{color:rgba(243,239,228,.76)}
h1,h2,h3,p{margin-top:0}
h1,h2{letter-spacing:-.045em;line-height:.96}
h1 em,h2 em{font-family:var(--serif);font-weight:400}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid transparent;padding:16px 19px;font-size:12px;font-weight:700;letter-spacing:.01em;transition:.2s ease}
.button:hover{transform:translateY(-2px)}
.button-light{background:var(--cream);color:var(--green)}
.button-dark{background:var(--green);color:var(--cream)}
.button-ghost{background:transparent;border-color:var(--line);color:var(--green)}
.text-link{display:inline-flex;align-items:center;gap:24px;padding-bottom:6px;border-bottom:1px solid currentColor;font-size:12px;font-weight:700}
.text-link.light{color:var(--cream)}
.home-hero{height:calc(100svh - 76px);min-height:650px;position:relative;background:#061a15;color:var(--cream);overflow:hidden}
.home-hero-media,.home-hero-shade{position:absolute;inset:0}
.home-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 38%}
.home-hero-shade{background:linear-gradient(90deg,rgba(4,20,16,.82) 0%,rgba(4,20,16,.46) 48%,rgba(4,20,16,.16) 100%),linear-gradient(0deg,rgba(4,20,16,.32),transparent 50%)}
.home-hero-content{position:absolute;left:max(32px,calc((100% - 1460px)/2 + 40px));bottom:10%;width:min(850px,68vw)}
.home-hero h1{font-size:clamp(72px,8.2vw,135px);margin:0 0 28px;font-weight:650}
.home-hero h1 em{font-weight:400}
.hero-copy{max-width:610px;font-size:18px;line-height:1.55;color:rgba(243,239,228,.86)}
.hero-actions{display:flex;align-items:center;gap:28px;margin-top:34px}
.hero-scroll{position:absolute;right:30px;bottom:26px;width:48px;height:48px;border:1px solid rgba(255,255,255,.3);display:grid;place-items:center;border-radius:50%}
.intro{display:grid;grid-template-columns:130px 1fr;gap:40px}
.section-number{font-size:11px;letter-spacing:.15em;color:var(--muted)}
.intro-copy{max-width:1050px}
.intro h2,.detail-intro h2,.about-text h2{font-size:clamp(48px,6.3vw,96px);font-weight:580;margin-bottom:34px}
.intro-copy>p:last-child,.detail-intro>p:last-child,.about-text p{font-size:18px;line-height:1.7;max-width:720px;color:#4f5b55}
.service-grid{padding-top:0;display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line)}
.service-card{background:var(--paper);min-height:340px;padding:36px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr auto;transition:.25s ease}
.service-card:hover{background:var(--green);color:var(--cream)}
.service-card>span{font-size:11px;color:var(--muted)}
.service-card b{font-weight:400;font-size:24px}
.service-card h3{grid-column:1/-1;align-self:end;font-size:clamp(42px,4.5vw,72px);letter-spacing:-.05em;margin:0 0 18px}
.service-card p{max-width:330px;line-height:1.55;color:var(--muted);margin:0}
.service-card:hover p,.service-card:hover>span{color:rgba(243,239,228,.7)}
.split-section{display:grid;grid-template-columns:1.03fr .97fr;min-height:760px}
.split-media{overflow:hidden;min-height:620px}
.split-media img{width:100%;height:100%;object-fit:cover}
.split-content{background:var(--cream);padding:90px 8vw;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.split-content h2{font-size:clamp(48px,5.4vw,84px);font-weight:580;margin-bottom:28px}
.split-content p{max-width:560px;font-size:17px;line-height:1.7;color:#536058}
.split-content .text-link{margin-top:20px}
.facts{display:grid;grid-template-columns:repeat(4,1fr);padding-top:75px;padding-bottom:75px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.facts div{padding:0 26px;border-right:1px solid var(--line)}
.facts div:first-child{padding-left:0}.facts div:last-child{border:0}
.facts strong,.facts span{display:block}
.facts strong{font-size:17px;margin-bottom:7px}
.facts span{font-size:12px;color:var(--muted)}
.selected-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px}
.selected-head h2{font-size:clamp(54px,6.2vw,94px);font-weight:580;margin-bottom:0}
.reference-list{margin-top:70px}
.reference-list>div{display:grid;grid-template-columns:80px 1fr 300px;align-items:center;border-top:1px solid var(--line);padding:29px 0}
.reference-list>div:last-child{border-bottom:1px solid var(--line)}
.reference-list span{font-size:11px;color:var(--muted)}
.reference-list strong{font-size:30px;letter-spacing:-.035em}
.reference-list small{text-align:right;color:var(--muted)}
.page-hero{min-height:610px;display:flex;align-items:flex-end;position:relative;overflow:hidden;color:var(--cream)}
.green-hero{background:var(--green)}
.compact-hero{min-height:520px}
.page-hero-inner{position:relative;z-index:2;width:100%;max-width:var(--max);margin:auto;padding:105px 40px 80px}
.page-hero h1{font-size:clamp(68px,8vw,124px);font-weight:610;margin-bottom:28px}
.page-hero p:not(.eyebrow){font-size:18px;line-height:1.6;max-width:680px;color:rgba(243,239,228,.82)}
.page-hero .button{margin-top:16px}
.page-hero-image,.page-hero-overlay{position:absolute;inset:0}
.page-hero-image img{width:100%;height:100%;object-fit:cover}
.page-hero-overlay{background:linear-gradient(90deg,rgba(4,20,16,.85),rgba(4,20,16,.4) 60%,rgba(4,20,16,.18))}
.service-index{padding-top:70px}
.service-index-row{display:grid;grid-template-columns:80px 1fr 40px;gap:25px;align-items:center;padding:35px 0;border-top:1px solid var(--line);transition:.2s ease}
.service-index-row:last-child{border-bottom:1px solid var(--line)}
.service-index-row:hover{padding-left:14px}
.service-index-row>span{font-size:11px;color:var(--muted)}
.service-index-row h2{font-size:clamp(40px,4.6vw,70px);font-weight:560;margin:0}
.service-index-row p{margin:7px 0 0;color:var(--muted)}
.service-index-row>b{font-size:24px;font-weight:400}
.process-short{border-top:1px solid var(--line)}
.process-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:45px}
.process-columns>div{padding-top:25px;border-top:1px solid var(--line)}
.process-columns span{font-size:10px;color:var(--muted)}
.process-columns h3{font-size:32px;letter-spacing:-.035em;margin:25px 0 12px}
.process-columns p{line-height:1.6;color:var(--muted)}
.detail-intro{padding-bottom:70px}
.detail-intro{max-width:var(--max)}
.detail-intro>p:last-child{max-width:760px}
.detail-grid{padding-top:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line)}
.detail-grid>div{background:var(--paper);padding:32px;min-height:260px}
.detail-grid span{font-size:10px;color:var(--muted)}
.detail-grid h3{font-size:30px;letter-spacing:-.035em;margin:70px 0 14px}
.detail-grid p{font-size:14px;line-height:1.6;color:var(--muted)}
.photo-break{height:80svh;min-height:620px;overflow:hidden}
.photo-break img{width:100%;height:100%;object-fit:cover}
.references-page{padding-bottom:65px}
.references-page article{display:grid;grid-template-columns:90px 1fr;border-top:1px solid var(--line);padding:34px 0}
.references-page article:last-child{border-bottom:1px solid var(--line)}
.references-page span{font-size:11px;color:var(--muted)}
.references-page h2{font-size:clamp(40px,5.4vw,80px);font-weight:560;margin:0 0 8px}
.references-page p{color:var(--muted)}
.gallery-grid{padding-top:0;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.gallery-grid figure{margin:0;overflow:hidden;height:720px;background:#ddd}
.gallery-grid figure:nth-child(2),.gallery-grid figure:nth-child(3){height:540px}
.gallery-grid img{width:100%;height:100%;object-fit:cover}
.about-hero{display:grid;grid-template-columns:.92fr 1.08fr;gap:70px;align-items:center;min-height:760px}
.about-copy h1{font-size:clamp(72px,8vw,120px);font-weight:600;margin-bottom:30px}
.about-copy>p:last-child{font-size:20px;line-height:1.6;max-width:500px;color:var(--muted)}
.about-hero figure{height:680px;margin:0;overflow:hidden}
.about-hero figure img{width:100%;height:100%;object-fit:cover}
.about-text{display:grid;grid-template-columns:130px 1fr;border-top:1px solid var(--line)}
.about-text>div:last-child{max-width:950px}
.about-text .button{margin-top:20px}
.contact-hero{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:start}
.contact-hero-copy{position:sticky;top:125px;padding-top:40px}
.contact-hero h1{font-size:clamp(72px,8vw,118px);font-weight:600;margin-bottom:28px}
.contact-hero-copy>p:not(.eyebrow){font-size:18px;line-height:1.6;max-width:560px;color:var(--muted)}
.contact-direct{display:flex;align-items:center;gap:26px;margin:35px 0 20px;flex-wrap:wrap}
.contact-hero-copy small{color:var(--muted)}
.contact-form-wrap{background:var(--cream);padding:48px}
.lead-form{display:grid;grid-template-columns:1fr 1fr;gap:24px 18px}
.field{grid-column:1/-1}
.field-half{grid-column:auto}
.field label{display:block;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;margin-bottom:8px}
.field input,.field select,.field textarea{width:100%;border:0;border-bottom:1px solid rgba(8,44,35,.3);background:transparent;border-radius:0;padding:14px 0;color:var(--ink);outline:none}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green)}
.field textarea{resize:vertical}
.privacy-check{grid-column:1/-1;display:grid;grid-template-columns:18px 1fr;gap:10px;font-size:11px;line-height:1.5;color:var(--muted)}
.privacy-check input{margin-top:2px}
.privacy-check a{text-decoration:underline}
.form-submit{grid-column:1/-1;justify-self:start}
.form-status,.form-success{grid-column:1/-1}
.form-status{font-size:12px;color:#8b2b2b}
.form-success{padding:20px;border:1px solid rgba(8,44,35,.2);background:rgba(255,255,255,.45)}
.form-success strong{display:block;margin-bottom:7px}
.hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}
.contact-ribbon{background:var(--green);color:var(--cream);padding:72px max(40px,calc((100vw - 1460px)/2 + 40px));display:flex;align-items:flex-end;justify-content:space-between;gap:40px;border-top:1px solid rgba(255,255,255,.12)}
.contact-ribbon p{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(243,239,228,.6)}
.contact-ribbon h2{font-size:clamp(54px,6vw,90px);font-weight:580;margin:0}
.contact-ribbon-actions{display:flex;align-items:center;gap:28px;padding-bottom:5px}
.site-footer{background:#061e18;color:var(--cream);padding:65px max(40px,calc((100vw - 1460px)/2 + 40px)) 26px}
.footer-top{display:grid;grid-template-columns:1.2fr .7fr .9fr;gap:50px}
.footer-brand{display:flex;align-items:center;gap:16px}
.footer-brand img{width:46px;height:46px;object-fit:contain}
.footer-brand strong,.footer-brand span{display:block}
.footer-brand strong{font-size:15px;letter-spacing:.12em}
.footer-brand span{margin-top:5px;font-size:11px;color:rgba(243,239,228,.55)}
.footer-links,.footer-contact{display:flex;flex-direction:column;gap:12px;font-size:12px}
.footer-contact{text-align:right}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.12);margin-top:55px;padding-top:22px;font-size:10px;color:rgba(243,239,228,.48)}
.footer-bottom div{display:flex;gap:18px}
.footer-bottom button{background:none;border:0;color:inherit;padding:0}
.mobile-quick{display:none}
.consent{position:fixed;z-index:500;left:24px;right:24px;bottom:24px;max-width:780px;margin-left:auto;background:var(--cream);border:1px solid rgba(8,44,35,.16);box-shadow:0 20px 70px rgba(0,0,0,.24);padding:20px;display:grid;grid-template-columns:1fr auto;gap:25px;align-items:center}
.consent[hidden]{display:none}
.consent strong{font-size:14px}
.consent p{margin:5px 0 0;font-size:11px;line-height:1.5;color:var(--muted)}
.consent-actions{display:flex;gap:8px}
.consent .button{padding:11px 13px;font-size:10px}

@media(max-width:1120px){
  .desktop-nav{display:none}.header-mail{display:none}.menu-button{display:block}
  .header-actions{margin-left:auto}.wa-button{display:none}
  .section{padding-left:28px;padding-right:28px}
  .home-hero-content{left:28px;width:72vw}
  .service-grid{grid-template-columns:1fr 1fr}
  .detail-grid{grid-template-columns:1fr 1fr}
  .facts{grid-template-columns:1fr 1fr;gap:30px}
  .facts div{border-right:0;padding:0}
  .contact-hero{gap:45px}
}
@media(max-width:760px){
  .header-inner{height:68px;padding:0 17px}.mobile-nav{inset:68px 0 0}main{padding-top:68px}
  .brand-link img{width:31px;height:31px}.brand-link span{font-size:11px}
  .section{padding:78px 20px}
  .home-hero{height:calc(100svh - 68px);min-height:610px}
  .home-hero-media img{object-position:55% center}
  .home-hero-shade{background:linear-gradient(0deg,rgba(4,20,16,.82),rgba(4,20,16,.12) 80%)}
  .home-hero-content{left:20px;right:20px;bottom:10%;width:auto}
  .home-hero h1{font-size:clamp(54px,16vw,80px);margin-bottom:22px}
  .hero-copy{font-size:15px;max-width:92%}
  .hero-actions{align-items:flex-start;flex-direction:column;gap:18px;margin-top:28px}
  .hero-scroll{right:18px;bottom:18px}
  .intro{grid-template-columns:1fr;gap:24px}.intro h2,.detail-intro h2,.about-text h2{font-size:clamp(43px,13vw,64px)}
  .service-grid{grid-template-columns:1fr;padding-top:0}
  .service-card{min-height:260px;padding:25px}
  .service-card h3{font-size:44px}
  .split-section{grid-template-columns:1fr;min-height:0}
  .split-media{min-height:520px;height:64svh}
  .split-content{padding:65px 20px}
  .split-content h2{font-size:48px}
  .facts{grid-template-columns:1fr 1fr;padding-top:55px;padding-bottom:55px;gap:35px 20px}
  .selected-head{display:block}.selected-head .text-link{margin-top:28px}
  .selected-head h2{font-size:54px}
  .reference-list{margin-top:46px}
  .reference-list>div{grid-template-columns:38px 1fr;padding:23px 0}
  .reference-list strong{font-size:25px}.reference-list small{grid-column:2;text-align:left;margin-top:6px}
  .page-hero{min-height:590px}.compact-hero{min-height:470px}
  .page-hero-inner{padding:90px 20px 55px}.page-hero h1{font-size:clamp(55px,15vw,78px)}
  .page-hero p:not(.eyebrow){font-size:15px}
  .service-index-row{grid-template-columns:42px 1fr 24px;gap:10px;padding:27px 0}
  .service-index-row h2{font-size:36px}.service-index-row p{font-size:13px}
  .process-columns{grid-template-columns:1fr;gap:24px}
  .detail-grid{grid-template-columns:1fr}
  .detail-grid>div{min-height:220px;padding:25px}
  .detail-grid h3{margin-top:52px}
  .photo-break{height:70svh;min-height:520px}
  .gallery-grid{grid-template-columns:1fr;gap:8px}
  .gallery-grid figure,.gallery-grid figure:nth-child(2),.gallery-grid figure:nth-child(3){height:60svh;min-height:480px}
  .about-hero{grid-template-columns:1fr;gap:35px;min-height:0}.about-copy h1{font-size:66px}.about-hero figure{height:62svh}
  .about-text{grid-template-columns:1fr;gap:24px}
  .contact-hero{grid-template-columns:1fr;gap:50px}
  .contact-hero-copy{position:static;padding-top:0}
  .contact-hero h1{font-size:68px}
  .contact-form-wrap{padding:28px 20px}
  .lead-form{grid-template-columns:1fr}.field-half{grid-column:1/-1}
  .contact-ribbon{padding:58px 20px 80px;display:block}.contact-ribbon h2{font-size:55px}
  .contact-ribbon-actions{margin-top:28px;align-items:flex-start;flex-direction:column}
  .site-footer{padding:55px 20px 95px}.footer-top{grid-template-columns:1fr;gap:34px}.footer-contact{text-align:left}
  .footer-bottom{display:block;line-height:2}.footer-bottom div{flex-wrap:wrap;margin-top:10px}
  .mobile-quick{position:fixed;z-index:220;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 1fr;background:rgba(6,30,24,.94);padding:8px 8px calc(8px + env(safe-area-inset-bottom));backdrop-filter:blur(16px);border-top:1px solid rgba(255,255,255,.1)}
  .mobile-quick a{height:46px;display:grid;place-items:center;color:var(--cream);font-size:12px}
  .mobile-quick a:last-child{background:var(--cream);color:var(--green)}
  .consent{left:10px;right:10px;bottom:70px;grid-template-columns:1fr;padding:16px}.consent-actions{display:grid;grid-template-columns:1fr 1fr}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.service-card,.service-index-row{transition:none}}


/* V5 production refinements */
.image-story{padding-top:90px;padding-bottom:120px}
.image-story-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:55px}
.image-story-head h2{font-size:clamp(48px,5.5vw,82px);line-height:1.02;font-weight:560;margin:0;letter-spacing:-.045em}
.image-story-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:620px 420px;gap:12px}
.image-story figure{margin:0;overflow:hidden;background:#d8d4c8}
.image-story img{width:100%;height:100%;object-fit:cover}
.story-a{grid-row:1/3}.story-b{grid-column:2}.story-c{grid-column:2}
.packages{padding-top:70px;padding-bottom:120px}
.packages-head{max-width:950px;margin-bottom:55px}.packages-head h2{font-size:clamp(48px,5.5vw,82px);line-height:1.02;font-weight:560;letter-spacing:-.045em}
.package-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.package-grid article{min-height:300px;padding:34px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.package-grid span{font-size:10px;color:var(--muted)}.package-grid h3{font-size:44px;letter-spacing:-.04em;margin:72px 0 14px}.package-grid p{max-width:500px;color:var(--muted);line-height:1.65}
.reverse .split-media{order:2}.reverse .split-content{order:1}
.editorial-gallery{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:92px;gap:12px;padding-top:20px;padding-bottom:120px}
.editorial-gallery figure{margin:0;overflow:hidden;background:#ddd}.editorial-gallery img{width:100%;height:100%;object-fit:cover}
.editorial-gallery .g1{grid-column:1/8;grid-row:1/8}.editorial-gallery .g2{grid-column:8/13;grid-row:1/6}.editorial-gallery .g3{grid-column:8/13;grid-row:6/12}.editorial-gallery .g4{grid-column:1/8;grid-row:8/14}.editorial-gallery .g5{grid-column:1/13;grid-row:14/21}
.about-second{border-top:1px solid var(--line)}
.legal-page,.not-found{padding-top:150px;min-height:70vh}.legal-page h1,.not-found h1{font-size:clamp(68px,8vw,118px);letter-spacing:-.055em;margin:15px 0 60px}.legal-copy{max-width:880px;margin-left:min(14vw,180px)}.legal-copy h2{font-size:28px;margin:52px 0 14px}.legal-copy p{font-size:15px;line-height:1.75;color:var(--muted)}.legal-copy a{text-decoration:underline;text-underline-offset:3px}.not-found>p:not(.eyebrow){font-size:18px;color:var(--muted)}
.consent a{text-decoration:underline;text-underline-offset:2px}
.button:disabled{opacity:.55;cursor:wait}
@media(max-width:760px){
  .image-story{padding-top:65px;padding-bottom:80px}.image-story-head{display:block}.image-story-head h2{font-size:52px}.image-story-grid{display:grid;grid-template-columns:1fr;grid-template-rows:none;gap:8px}.image-story figure,.story-a,.story-b,.story-c{grid-column:auto;grid-row:auto;height:60svh;min-height:470px}
  .package-grid{grid-template-columns:1fr}.package-grid article{min-height:240px;padding:25px}.package-grid h3{font-size:38px;margin-top:52px}
  .reverse .split-media,.reverse .split-content{order:initial}
  .editorial-gallery{display:grid;grid-template-columns:1fr;grid-auto-rows:auto;gap:8px;padding-bottom:80px}.editorial-gallery figure,.editorial-gallery .g1,.editorial-gallery .g2,.editorial-gallery .g3,.editorial-gallery .g4,.editorial-gallery .g5{grid-column:auto;grid-row:auto;height:60svh;min-height:470px}
  .legal-page,.not-found{padding-top:105px}.legal-page h1,.not-found h1{font-size:64px;margin-bottom:42px}.legal-copy{margin-left:0}.legal-copy h2{font-size:23px;margin-top:42px}
}
