@font-face{font-family:Lora;src:url('/assets/fonts/lora-normal-latin.woff2') format('woff2');font-style:normal;font-weight:400 700;font-display:swap}
@font-face{font-family:Mulish;src:url('/assets/fonts/mulish-normal-latin.woff2') format('woff2');font-style:normal;font-weight:200 900;font-display:swap}
:root{--green:#0d352e;--deep:#082a24;--petrol:#28524d;--sage:#b5d3bf;--gold:#cda359;--accent:#e06b0e;--white:#fdfdfd;--ink:#10382f;--muted:#486259;--line:#d9e3dc;--serif:Lora,Georgia,serif;--sans:Mulish,Arial,sans-serif;--gutter:clamp(24px,4vw,72px);--radius:28px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--white);color:var(--ink);font-family:var(--sans);font-size:18px;line-height:1.65;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%;height:auto}a{color:inherit;text-underline-offset:.23em}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}main:focus{outline:none}h1,h2,h3,p{margin:0}h1,h2,h3{overflow-wrap:break-word}h1,h2,h3{font-family:var(--serif);font-weight:500;font-style:normal;text-wrap:balance;letter-spacing:-.035em}h1,h2{line-height:1.12}h3{line-height:1.18}h2{font-size:clamp(42px,4.5vw,72px)}h3{font-size:clamp(30px,3.1vw,48px)}::selection{background:var(--gold);color:var(--deep)}.wrap{width:calc(100% - var(--gutter)*2);max-width:1536px;margin-inline:auto}.opening{background:var(--green);color:var(--white)}
/* The image and section surfaces reach the screen edge. Only readable content is constrained. */
.header-position{position:absolute;inset:24px 0 auto;z-index:10}.site-header{display:flex;align-items:center;justify-content:space-between;gap:28px;max-width:none;width:calc(100% - 48px);padding:12px 20px 12px 30px;border-radius:100px;background:var(--green);box-shadow:0 4px 24px #082a2414;color:var(--white)}.brand{display:block;flex:none;width:104px}.brand img{width:100%;height:auto}.desktop-nav{display:flex;align-items:center;gap:4px}.desktop-nav a{font-size:16px;font-weight:500;text-transform:uppercase;letter-spacing:.02em;text-decoration:none;padding:13px 17px;border-radius:50px;white-space:nowrap;line-height:1.4;transition:background .2s,color .2s,transform .25s ease}.desktop-nav a:not(.nav-contact):hover,.desktop-nav a:not(.nav-contact):focus-visible,.desktop-nav a[aria-current=page]:not(.nav-contact){background:transparent;color:var(--white)}.desktop-nav .nav-contact{margin-left:12px;background:var(--accent);color:var(--deep);padding:11px 24px;min-height:44px;font-weight:700}.desktop-nav .nav-contact:hover{background:var(--accent)}.menu-toggle,.fallback-nav,.mobile-menu{display:none}.skip-link{position:absolute;left:30px;top:8px;z-index:20;background:var(--white);color:var(--green);padding:12px 20px;transform:translateY(-220%)}.skip-link:focus{transform:none}
.hero{position:relative;isolation:isolate;min-height:810px;padding:192px 0 100px;display:flex;align-items:center}.hero-photo{position:absolute;inset:0;z-index:-2}.hero-photo picture{display:block;width:100%;height:100%}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center}.hero:has(.hero-photo):after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,35,29,.94) 0%,rgba(8,35,29,.86) 29%,rgba(8,35,29,.47) 56%,rgba(8,35,29,.06) 85%)}.hero-copy{max-width:810px;width:62%;min-width:0}.eyebrow{font-family:var(--sans);font-weight:700;font-size:12px;letter-spacing:.11em;line-height:1.5;margin-bottom:24px;text-transform:uppercase}.hero .eyebrow{color:#e3e9df}.hero h1{font-size:clamp(46px,4.65vw,74px);margin-bottom:28px}.accent{display:block;color:var(--gold);font-style:normal}.hero-intro{max-width:600px;font-size:18px;line-height:1.65;color:#f1f3ef}.hero-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:42px}.button,.quiet-link,.more-link,.action-line a{display:inline-flex;align-items:center;justify-content:center;max-width:100%;min-height:54px;padding:15px 26px;border:1px solid var(--accent);border-radius:100px;background:var(--accent);color:var(--deep);text-decoration:none;text-align:center;font-size:15px;font-weight:700;line-height:1.4;transition:transform .25s ease,background .25s ease,box-shadow .25s ease}.quiet-link{background:transparent;color:var(--white)}.quiet-link:hover{background:color-mix(in srgb,var(--accent) 12%,transparent)}
.hero-inner{min-height:730px;padding-block:205px 95px}.hero-inner .hero-copy{max-width:850px}.hero-inner .hero-photo{top:0}.hero-inner .hero-photo img{object-position:center top}.hero-inner h1{font-size:clamp(50px,5.3vw,82px)}.hero-text-only{min-height:0;padding-block:210px 85px}.hero-text-only .hero-copy{width:100%;max-width:1100px}.hero-text-only .hero-intro{max-width:780px}.hero-text-only .hero-actions{display:none}
.section{padding-block:112px}.section-heading{margin-bottom:64px}.section-heading h2{max-width:1120px}.section-heading .eyebrow{color:var(--muted)}.section-intro{max-width:760px;margin:28px 0 0;font-size:20px;line-height:1.6}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.service{border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;min-width:0}.card-tone-1{background:var(--green);color:var(--white)}.card-tone-2{background:var(--sage);color:var(--green)}.card-tone-3{background:#e5d69f;color:var(--green)}.card-tone-4{background:var(--petrol);color:var(--white)}.service-image{position:relative;overflow:hidden}.service-image img{width:100%;height:auto;aspect-ratio:1;object-fit:contain}.card-number{position:absolute;top:20px;left:22px;border-radius:50%;width:44px;height:44px;display:grid;place-items:center;background:var(--deep);color:var(--white);font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}.service-copy{padding:36px 40px 36px;display:flex;flex:1;flex-direction:column}.service-copy h3{max-width:570px;margin-bottom:24px}.service-copy .prose{max-width:560px;font-size:18px;line-height:1.65;margin-bottom:44px}.more-link{align-self:flex-start;width:fit-content;margin-top:auto}

.prose>p+p,.prose>ul+p,.prose>ol+p{margin-top:1em}.prose ul,.prose ol{margin-block:22px;padding-left:0}.prose ul{list-style:none}.prose ul>li{position:relative;padding-left:31px;margin-block:13px;line-height:1.65}.prose>ul:first-child{margin-top:0}.prose>ul:first-child>li:first-child{margin-top:0}.prose ul>li:before{content:"";position:absolute;left:0;top:calc(.825em - 8px);width:16px;height:16px;border-radius:50%;font-size:inherit;background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='m2.5 6 2.3 2.4L9.5 3.5' fill='none' stroke='%23082a24' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/11px 11px no-repeat}.prose ol{padding-left:25px}.prose ol>li{padding-left:5px;margin-block:12px}.prose a:hover{text-decoration-thickness:2px}.prose .action-line{margin-block:36px}.prose .action-line+p{margin-top:36px}
.about-section{padding-block:112px;background:var(--green);color:var(--white)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:6%;align-items:start}.about-heading{text-align:center;max-width:1120px;margin:0 auto 60px}.about-heading .eyebrow{color:#bed3c8}.about-copy .prose{color:#e2e9e5;max-width:650px}.about-copy .more-link{margin-top:36px;max-width:520px}.about-image img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius)}.home-faq{background:var(--white)}.faq-preview{display:grid;grid-template-columns:.8fr 1.2fr;gap:6%;align-items:start}.faq-preview h2{font-size:clamp(40px,3.9vw,62px)}.faq-panel{background:var(--petrol);color:var(--white);padding:28px;border-radius:var(--radius)}.faq-panel .more-link{margin-top:24px}.faq-question{background:#ffffff12;border-radius:18px;margin-bottom:16px;scroll-margin-top:40px;transition:background .2s}.faq-question[open]{background:var(--green)}.faq-question summary{display:flex;align-items:center;gap:18px;padding:20px;list-style:none;cursor:pointer;min-height:85px}.faq-question summary::-webkit-details-marker{display:none}.faq-number{font-variant-numeric:tabular-nums;color:#c0d6cc;font-size:15px;font-weight:800;align-self:flex-start;padding-top:14px;flex:none}.faq-title{font-size:18px;font-weight:700;line-height:1.4;flex:1}.faq-toggle{display:grid;place-items:center;width:45px;height:48px;background:var(--gold);border-radius:12px;flex:none;color:var(--green)}.faq-toggle:after{content:"";width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid currentColor}.faq-question[open] .faq-toggle{background:var(--gold);color:var(--green)}.faq-question[open] .faq-toggle:after{transform:rotate(180deg)}.faq-answer{padding:0 30px 28px 58px;color:#e4eee8;font-size:17px}.faq-question:target{outline:2px solid var(--gold);outline-offset:4px}.contact-banner{background:var(--green);color:var(--white);padding-block:110px;position:relative;overflow:hidden}.contact-banner-grid{display:grid;grid-template-columns:minmax(0,720px) 208px;gap:clamp(36px,4.5vw,64px);align-items:center;justify-content:start}.contact-banner h2{max-width:950px;margin-bottom:28px;color:var(--gold)}.contact-banner .prose{max-width:660px;color:#e1e9e4}.contact-banner .eyebrow{color:#c5d6cd}.contact-note{font-size:14px;color:#bfd1c8;max-width:540px}.contact-banner .quiet-link{margin-top:28px}.contact-circle{width:208px;height:208px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:var(--accent);color:var(--green);border-radius:50%;font-size:23px;font-weight:900;text-transform:uppercase;line-height:1.16;text-decoration:none;box-shadow:0 0 75px color-mix(in srgb,var(--accent) 12%,transparent);transition:transform .25s ease,box-shadow .25s ease}
/* Shared service pages use the same numbered color system. */
.detail-section{padding-block:100px}.section-tinted{background:var(--green);color:var(--white)}.section-opening{display:grid;gap:7%;align-items:center}.section-opening>*{min-width:0}.section-opening.with-image{grid-template-columns:1.1fr .9fr}.section-copy h2{max-width:880px;margin-bottom:30px}.section-copy .prose{max-width:700px}.section-image img{width:100%;aspect-ratio:1.12;object-fit:cover;border-radius:var(--radius)}.section-tinted .section-copy .prose{color:#e1e9e4}.section-tinted .eyebrow{color:#bfd3c8}.content-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:60px}.content-block{position:relative;min-width:0;border-radius:var(--radius);padding:34px 38px 40px}.content-block .step-number{display:block;font-size:16px;font-weight:700;margin-bottom:52px;font-variant-numeric:tabular-nums}.content-block h3{margin-bottom:22px;font-size:clamp(30px,2.7vw,42px)}.content-block .prose{max-width:620px}.steps{grid-template-columns:repeat(2,minmax(0,1fr))}.steps .content-block{min-height:330px}.text-section .section-copy{max-width:1050px;margin-inline:auto;text-align:center}.text-section .section-copy h2,.text-section .section-copy .prose{margin-inline:auto}.section-tinted .content-block.card-tone-1{background:var(--petrol)}.section-tinted .content-block.card-tone-4{background:#476e60}.page-faq .page-content{background:var(--green);color:var(--white)}.faq-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:36px;padding-block:30px 100px}.faq-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:stretch}.faq-nav a{display:flex;align-items:center;padding:22px 26px;text-decoration:none;border-radius:16px;font-size:15px;font-weight:700;line-height:1.5;background:#ffffff0d}.faq-nav a:hover{background:#ffffff15}.faq-group{padding:36px;background:var(--petrol);border-radius:var(--radius)}.faq-group+.faq-group{margin-top:28px}.faq-group h2{font-size:clamp(34px,3.7vw,57px);margin-bottom:36px;max-width:900px}.faq-group .faq-question:last-child{margin-bottom:0}.contact-layout{display:grid;grid-template-columns:1.25fr .85fr;gap:6%;padding-block:100px}.contact-main h2{margin-bottom:28px}.contact-main .prose{max-width:720px}.contact-sidebar section{padding:35px;border-radius:var(--radius);background:var(--sage)}.contact-sidebar section+section{margin-top:24px;background:var(--green);color:var(--white)}.contact-sidebar h2{font-size:32px;margin-bottom:26px}.contact-sidebar .prose{font-size:17px}
.site-footer{background:var(--deep);color:#d5e2da;padding-top:64px;font-size:15px}.footer-main{display:grid;grid-template-columns:.8fr 1fr 1.3fr;gap:70px;padding-bottom:56px}.footer-brand{width:145px}.footer-address a{display:inline-block;margin-top:18px;color:var(--white)}.footer-nav{display:grid;grid-template-columns:1fr 1fr;gap:9px 30px;align-content:start}.footer-nav a{text-decoration:none;color:var(--gold);transition:color .2s}.footer-nav a:hover,.footer-nav a:focus-visible{color:var(--white)}.footer-bottom{display:flex;align-items:center;gap:30px;flex-wrap:wrap;border-top:1px solid #ffffff20;padding-block:26px;font-size:12px}.footer-bottom nav{display:flex;gap:24px}.footer-bottom a{text-decoration:none}.back-top{margin-left:auto}.back-top span{margin-left:12px;color:var(--gold);font-size:20px}
.footer-disclosure{display:flex;align-items:center;gap:12px;margin:0;padding-bottom:32px}.footer-disclosure svg{flex:none;width:49.64px;height:49.64px;color:var(--gold)}.footer-disclosure p{margin:0;font-size:13px;font-weight:400;line-height:1.45;color:var(--sage);min-width:0}.footer-disclosure strong{font-weight:700}
.reveal-ready{opacity:var(--reveal-opacity,1);translate:0 var(--reveal-offset,0px)}
@supports selector(:popover-open){.mobile-menu{position:fixed;inset:0 0 0 auto;margin:0;width:min(440px,94vw);height:100dvh;max-height:none;border:0;padding:28px 30px;background:var(--green);color:var(--white);overflow:auto;box-shadow:-20px 0 80px #0003;opacity:0;transform:translateX(100%);transition:transform .3s,opacity .3s,display .3s allow-discrete,overlay .3s allow-discrete}.mobile-menu:popover-open{display:block;opacity:1;transform:translateX(0)}@starting-style{.mobile-menu:popover-open{opacity:0;transform:translateX(100%)}}.mobile-menu::backdrop{background:#061b12a3}.mobile-menu-top{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-bottom:26px;border-bottom:1px solid #ffffff30;font-size:14px}.mobile-menu-top button{display:flex;gap:15px;align-items:center;background:none;border:0;padding:10px 0 10px 10px;color:var(--white);font-size:14px}.mobile-menu-top button span{font-size:28px;line-height:1}.mobile-menu nav{display:flex;flex-direction:column;padding-block:24px}.mobile-menu nav a{font-family:var(--sans);font-size:clamp(23px,7vw,30px);font-weight:500;text-transform:uppercase;letter-spacing:.02em;padding-block:10px;text-decoration:none;line-height:1.25}.mobile-menu nav a[aria-current=page]{color:var(--gold)}.mobile-menu nav a:hover{color:var(--white)}.menu-email{font-size:17px;display:inline-block;margin-top:15px}}
/* Long introductions get a full-width title; compact introductions stay beside their image. */
.detail-heading{text-align:center;max-width:1180px;margin:0 auto 52px}.detail-heading h2{max-width:1100px;margin-inline:auto}.section-tinted .detail-heading .eyebrow{color:#bfd3c8}
.detail-heading+.section-opening{align-items:start}.section-opening.image-first .section-image{order:-1}
.contact-banner-light{background:var(--white);color:var(--green)}.contact-banner-light h2{color:var(--green)}.contact-banner-light .prose{color:var(--ink)}.contact-banner-light .eyebrow,.contact-banner-light .contact-note{color:var(--muted)}
/* Transparent opening header; scrolling adds a full-width green navigation bar. */
.header-position{pointer-events:none;transition:top .28s ease,background .28s ease,box-shadow .28s ease}
.header-position.header-enhanced{position:fixed}
.header-position .site-header{pointer-events:auto;width:calc(100% - var(--gutter)*2);padding:0;min-height:80px;background:transparent;box-shadow:none;border:1px solid transparent;transition:background-color .28s ease,box-shadow .28s ease,padding .28s ease,border-color .28s ease}
.header-position .brand{transition:width .28s ease}
.header-position.is-scrolled{top:0;background:var(--green);box-shadow:0 4px 20px #082a241a}
.header-position.is-scrolled .site-header{max-width:1536px;width:calc(100% - var(--gutter)*2);padding:10px 0;min-height:0;background:transparent;border-radius:0;border-color:transparent;box-shadow:none}
.header-position.is-scrolled .brand{width:76px}
.desktop-nav a:not(.nav-contact){position:relative;background:transparent}.desktop-nav a[aria-current=page]:not(.nav-contact){background:transparent}
.desktop-nav a:not(.nav-contact):after{content:"";position:absolute;bottom:8px;left:17px;right:17px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
.desktop-nav a:not(.nav-contact):hover:after,.desktop-nav a[aria-current=page]:not(.nav-contact):after{transform:scaleX(1)}
.hero:before{content:"";position:absolute;inset:0 0 auto;height:250px;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(8,42,36,.9) 0%,rgba(8,42,36,.64) 35%,rgba(8,42,36,.2) 70%,transparent 100%)}
.has-sticky-header{scroll-padding-top:125px}
.has-sticky-header .faq-question{scroll-margin-top:15px}
@media(max-width:1100px){.header-position .site-header{min-height:72px}.header-position.is-scrolled .site-header{padding:9px 0}.header-position.is-scrolled .brand{width:70px}}
@media(max-width:600px){.header-position .site-header{width:calc(100% - 40px);padding:0;min-height:62px}.header-position.is-scrolled{top:0}.header-position.is-scrolled .site-header{width:calc(100% - 40px);padding:9px 0}.header-position.is-scrolled .brand{width:62px}.header-position.is-scrolled .menu-toggle{min-height:44px;padding:9px 15px}.has-sticky-header{scroll-padding-top:100px}.hero:before{display:none}}
@media(max-width:1100px){.desktop-nav{display:none}.site-header{padding:10px 16px 10px 25px}.brand{width:90px}.fallback-nav{display:flex;text-transform:uppercase;gap:14px;flex-wrap:wrap;font-size:14px}.hero{padding-top:175px;min-height:760px}.hero-copy{width:70%}.hero h1{font-size:clamp(46px,5.3vw,64px)}.hero:has(.hero-photo):after{background:linear-gradient(90deg,#08231ded 0%,#08231dcf 35%,#08231d35 100%)}.hero-inner .hero-copy{width:70%}.service-copy{padding:30px}.service-copy h3{font-size:38px}.faq-preview{grid-template-columns:1fr;gap:4px}.faq-preview .section-heading{max-width:800px;margin-bottom:35px}.about-grid{gap:5%}.contact-banner-grid{grid-template-columns:minmax(0,1fr) 180px;gap:40px;padding-right:40px}.contact-circle{width:180px;height:180px;font-size:20px}.faq-layout{gap:28px}.faq-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.faq-group{padding:25px}.footer-main{gap:35px}@supports selector(:popover-open){.fallback-nav{display:none}.menu-toggle{display:flex;gap:15px;align-items:center;min-height:50px;border:1px solid #ffffff50;border-radius:100px;background:none;color:var(--white);padding:11px 18px;font-size:14px}.menu-icon{width:21px;height:12px;border-block:1px solid currentColor}}}
@media(min-width:1101px){.mobile-menu:popover-open{display:none}}
@media(max-width:800px){:root{--gutter:28px}.hero-copy,.hero-inner .hero-copy{width:85%}.hero h1{font-size:clamp(43px,6.4vw,54px)}.hero:has(.hero-photo):after{background:linear-gradient(90deg,#08231ded,#08231d91)}.service-grid{gap:20px}.service-copy{padding:26px}.service-copy h3{font-size:31px}.service-copy .prose{font-size:16px}.section,.about-section,.detail-section{padding-block:80px}.section-intro{max-width:540px}.about-grid{grid-template-columns:1fr;gap:45px}.about-heading{margin-bottom:40px}.detail-heading{margin-bottom:38px}.section-opening.image-first .section-image{order:0}.about-copy .prose{max-width:none}.section-opening.with-image{grid-template-columns:1fr;gap:35px}.section-image img{aspect-ratio:1.65}.content-block{padding:28px}.content-block h3{font-size:31px}.faq-layout{grid-template-columns:1fr;gap:30px}.faq-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-layout{grid-template-columns:1fr;gap:45px;padding-block:75px}.contact-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-sidebar section+section{margin-top:0}.contact-sidebar section{padding:28px}.contact-sidebar h2{font-size:29px}.contact-banner-grid{grid-template-columns:minmax(0,1fr) 160px;gap:30px;padding-right:24px}.contact-circle{width:160px;height:160px;font-size:18px}.contact-banner h2{font-size:45px}.footer-main{grid-template-columns:.7fr 1.3fr}.footer-nav{grid-column:1/-1;grid-template-columns:repeat(4,1fr);padding-top:20px;border-top:1px solid #ffffff20}}
@media(max-width:600px){:root{--gutter:20px;--radius:24px}body{font-size:17px}h2{font-size:40px;line-height:1.14;letter-spacing:-.035em;hyphens:auto}.header-position{top:14px}.site-header{width:calc(100% - 28px);padding:9px 14px 9px 21px;gap:20px}.brand{width:80px}.hero,.hero-inner{display:flex;flex-direction:column;align-items:stretch;padding:140px 0 0;min-height:0}.hero-content{order:0}.hero-copy,.hero-inner .hero-copy{width:100%;max-width:none}.hero h1,.hero-inner h1{font-size:clamp(32px,8.4vw,49px);line-height:1.13;letter-spacing:-.035em;margin-bottom:25px}.hero .eyebrow{font-size:9px;letter-spacing:.07em;margin-bottom:23px}.hero-intro{font-size:16px;line-height:1.65;color:#e0e9e3}.hero-actions{margin-top:34px;gap:14px}.button{padding:14px 20px;font-size:14px;gap:13px;min-height:53px}.quiet-link{font-size:13px;padding:13px 18px;min-height:53px}.hero-inner .hero-photo{top:auto}.hero-photo{order:1;position:relative;inset:auto;z-index:0;width:100%;margin-top:38px}.hero-photo:before{content:"";position:absolute;inset:0 0 auto;height:70px;background:linear-gradient(var(--green),transparent);z-index:1}.hero-photo picture{height:auto}.hero-photo img{height:auto;aspect-ratio:4/4.6;object-fit:cover;object-position:center 40%;border-radius:0}.hero:has(.hero-photo):after{display:none}.hero-text-only{padding-bottom:54px}.hero-text-only h1{font-size:clamp(43px,11vw,59px)}.section,.about-section,.detail-section{padding-block:65px}.eyebrow{font-size:10px;letter-spacing:.1em;margin-bottom:18px}.section-heading{margin-bottom:35px}.section-intro{font-size:17px;margin-top:26px}.service-grid{grid-template-columns:1fr;gap:24px}.service-copy{padding:28px 26px 30px}.service-copy h3{font-size:35px;margin-bottom:22px}.service-copy .prose{font-size:16px;line-height:1.65;margin-bottom:34px}.card-number{left:18px;top:18px;width:39px;height:39px;font-size:13px}.more-link{font-size:14px;min-height:50px;padding:13px 22px}.about-copy .prose{font-size:17px}.about-grid{gap:35px}.faq-preview h2{font-size:39px}.faq-panel{padding:14px;border-radius:24px}.faq-question{border-radius:16px;margin-bottom:12px}.faq-question summary{padding:16px 13px;gap:12px;min-height:87px}.faq-number{font-size:12px;padding-top:12px}.faq-title{font-size:16px;line-height:1.4}.faq-toggle{width:36px;height:42px;border-radius:11px}.faq-answer{padding:0 20px 23px;font-size:15px;overflow-wrap:anywhere}.contact-banner{padding-block:65px}.contact-banner-grid{grid-template-columns:1fr;gap:30px;padding-right:0}.contact-banner h2{font-size:42px}.contact-circle{justify-self:center;width:166px;height:166px;font-size:18px}.contact-banner .prose{font-size:17px}.contact-note{font-size:13px}.section-copy h2{margin-bottom:25px}.section-image img{aspect-ratio:1.15}.content-grid,.steps{grid-template-columns:1fr;gap:20px;margin-top:35px}.content-block{padding:26px}.content-block .step-number{margin-bottom:36px;font-size:14px}.content-block h3{font-size:33px;margin-bottom:20px}.content-block .prose{font-size:16px}.steps .content-block{min-height:0}.faq-layout{padding-block:10px 65px}.faq-nav{grid-template-columns:1fr;gap:10px}.faq-nav a{font-size:14px;padding:18px 24px}.faq-group{padding:22px 14px;border-radius:24px}.faq-group h2{font-size:32px;margin-bottom:26px;padding-inline:8px}.contact-layout{padding-block:60px;gap:35px}.contact-main .prose{font-size:16px}.contact-sidebar{grid-template-columns:1fr;gap:20px}.contact-sidebar h2{font-size:31px}.site-footer{padding-top:44px}.footer-main{grid-template-columns:1fr 1.4fr;gap:30px 20px;padding-bottom:35px}.footer-brand{width:110px}.footer-address{font-size:12px;line-height:1.8}.footer-nav{grid-template-columns:repeat(2,1fr);gap:10px 25px;font-size:14px}.footer-bottom{gap:15px 20px;padding-block:22px;font-size:11px}.footer-bottom>p{width:100%}.footer-bottom nav{gap:20px}.back-top{margin-left:0}}
@media(max-width:360px){:root{--gutter:16px}.hero h1{font-size:29px}.hero .eyebrow{font-size:8px}.hero-actions{gap:10px}.service-copy{padding:24px 22px 28px}.service-copy h3{font-size:31px}.faq-question summary{gap:8px;padding-inline:10px}.faq-title{font-size:15px}.faq-number{font-size:11px}.faq-toggle{width:31px}.faq-panel{padding:11px}.faq-group{padding-inline:10px}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.button:hover,.quiet-link:hover,.more-link:hover,.action-line a:hover,.desktop-nav .nav-contact:hover,.contact-circle:hover{transform:scale(1.035)}}
@media(prefers-reduced-motion:no-preference){.button:focus-visible,.quiet-link:focus-visible,.more-link:focus-visible,.action-line a:focus-visible,.desktop-nav .nav-contact:focus-visible,.contact-circle:focus-visible{transform:scale(1.035)}}
/* Image-only slides preserve the readable hero copy and keep a static fallback. */
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity .9s ease;pointer-events:none}.hero-slide.is-active{opacity:1}.hero-slide picture{height:100%}
/* Match inner-page hero framing while preserving the mobile portrait crop. */
@media(min-width:601px){.hero-home .hero-photo img{object-position:center top}}
@media(max-width:600px){.hero-photo:has(.hero-slide){aspect-ratio:4/4.6}.hero-photo:has(.hero-slide) img{height:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal-ready{opacity:1!important;translate:none!important}}
.page-legal .hero h1{font-size:clamp(33px,6vw,72px);hyphens:auto}.legal-content{max-width:980px;padding-block:80px 100px;font-size:18px;overflow-wrap:anywhere}.legal-content section+section{margin-top:48px;padding-top:40px;border-top:1px solid var(--line)}.legal-content h2{font-size:clamp(28px,3vw,40px);margin-bottom:24px;line-height:1.2;letter-spacing:-.02em;text-wrap:initial}.legal-content p{margin-top:18px}.legal-address{display:block;font-style:normal}.legal-content strong{font-weight:700}@media(max-width:600px){.legal-content{font-size:16px;padding-block:48px 65px}.legal-content section+section{margin-top:34px;padding-top:30px}}
@media print{.header-position,.hero-actions,.site-footer,.contact-banner,.faq-nav{display:none!important}.opening{background:white;color:black}.hero{display:block;min-height:0;padding:25px 0}.hero-photo{display:none}.hero:after{display:none}.hero-copy{width:100%}.hero-intro,.eyebrow,.accent{color:black}.wrap{width:100%}body{font-size:12pt}.section,.detail-section{padding-block:20px}.reveal-ready{opacity:1!important;translate:none!important}.faq-answer{display:block}.faq-question::details-content{content-visibility:visible;height:auto}.service,.content-block,.faq-question{break-inside:avoid}.page-content section{background:white;color:black}}
/* Permanent AI labelling of the photorealistic motifs: the wording sits
   inside the image at its bottom right, 12px from both edges, always in the
   layout — no hover, no tap, mobile included. No icon, box, plate, border or
   blur; one layered text shadow carries it over every motif alike — no
   image-specific exceptions.
   The hero label is a sibling of .hero-photo (see build.py), which keeps it
   above the hero gradient and steady across the slider's fades. */
figure{margin:0}
.about-image,.section-image{position:relative}
.ai-note{position:absolute;right:12px;bottom:12px;z-index:2;margin:0;font-family:var(--sans);font-size:.7rem;font-weight:400;line-height:1.4;color:#cbd5ce;text-shadow:0 1px 2px rgba(0,0,0,.55),0 0 8px rgba(0,0,0,.45),0 0 16px rgba(0,0,0,.3)}
/* The hero image is not printed, so its label has nothing left to label. */
@media print{.hero .ai-note{display:none}}
