@font-face{font-family:Poppins;src:url('./fonts/poppins-300-latin.woff2') format('woff2');font-weight:300;font-display:swap}
@font-face{font-family:Poppins;src:url('./fonts/poppins-400-latin.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Poppins;src:url('./fonts/poppins-600-latin.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:'Kumbh Sans';src:url('./fonts/kumbh-sans-variable-latin.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{--ink:#010212;--gold:#a08043;--button-bg:#80652e;--button-hover:#674f23;--paper:#f5f5f5;--muted:#666;--line:#d6c7aa;font-family:Poppins,sans-serif;color:var(--ink);font-weight:300;font-size:16px;line-height:1.5}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Kumbh Sans',sans-serif;font-weight:400;line-height:1.18}h1{font-size:52px;letter-spacing:-1.1px}h2{font-size:48px;letter-spacing:-.7px}h3{font-size:26px}p{margin-bottom:20px}a:hover{text-decoration:underline}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #2971aa;outline-offset:5px}button:disabled{opacity:.6}::selection{background:#e8ddc5}.container{width:min(1200px,calc(100% - 80px));margin:auto}.center{text-align:center}.section{padding:120px 0}/* Shared CTA variants: solid conversion, outlined exploration, opaque on photos. */
.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;max-width:100%;border:2px solid var(--button-bg);border-radius:999px;background:var(--button-bg);color:white;padding:12px 24px;font-size:15px;font-weight:600;line-height:1.5;text-align:center;white-space:normal;transition:background .18s,border-color .18s}
.button:hover:not(:disabled){background:var(--button-hover);border-color:var(--button-hover);text-decoration:none}
.button:active:not(:disabled){background:var(--ink);border-color:var(--ink);color:white}
.button:focus-visible{outline:3px solid #2971aa;outline-offset:3px;box-shadow:0 0 0 3px white}
.button-secondary{background:white;border-color:var(--ink);color:var(--ink)}
.button-secondary:hover:not(:disabled){background:var(--ink);border-color:var(--ink);color:white}
.button-light{background:white;color:var(--ink);border-color:white}
.button-light:hover:not(:disabled){background:#f0e9dc;border-color:#f0e9dc;color:var(--ink)}
.wide{min-width:min(270px,100%)}
.skip-link{position:fixed;left:12px;top:12px;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);background:white;z-index:100}.skip-link:focus{width:auto;height:auto;padding:12px;clip-path:none}.demo-banner{font-size:11px;letter-spacing:.4px;text-align:center;background:#f2eee5;color:#59451f;padding:5px 12px}.header{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:24px 48px;background:#fff}.logo{flex-shrink:0;width:230px}.logo img{object-fit:contain;height:auto}.main-nav{display:grid;grid-template-columns:80px 80px 110px;align-items:center;gap:18px;width:306px;flex-shrink:0;font-size:15px;font-weight:400}.main-nav a{display:flex;align-items:center;min-height:44px;white-space:nowrap}.main-nav [aria-current]{text-decoration:underline;text-underline-offset:3px}.header-contact{display:flex;align-items:center;flex:0 0 232px;width:232px}.header-contact>.header-phone{flex:0 0 200px;min-width:0}.menu-toggle{display:none}.hero{background-size:cover;background-position:center;color:white;padding:88px 0 110px}.hero-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:130px;align-items:center}.hero-copy{max-width:600px}.hero h1{font-size:60px;margin-bottom:30px;line-height:1.17}.hero-copy p{max-width:560px;margin-bottom:34px}.hero .contact-details{padding-top:18px}.contact-details>div{padding-bottom:34px;margin-bottom:34px;position:relative}.contact-details>div:not(:last-child):after{content:'';position:absolute;bottom:0;left:0;width:70%;height:2px;background:var(--gold)}.contact-details>div:last-child{padding-bottom:0;margin-bottom:0}.contact-details h3{margin-bottom:8px}.contact-details p{margin:0;overflow-wrap:anywhere}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;margin:72px 0 55px}.service-grid article{text-align:center;min-width:0;display:flex;flex-direction:column;align-items:center}.service-grid article>.button{margin-top:auto}.service-grid .service-icon{flex-shrink:0}.contact-details a{text-decoration:underline;text-underline-offset:3px}.service-grid h3{margin:24px 0 18px}.service-grid p{font-size:15px;line-height:1.6;color:var(--muted)}.service-icon{width:60px;height:60px;color:var(--gold);margin:auto}.steps{background:var(--paper)}.split{display:grid;grid-template-columns:1fr 1fr;gap:150px;align-items:center}.steps img{width:100%;height:560px;object-fit:cover;clip-path:polygon(0 22%,100% 0,100% 100%,0 100%)}.steps ol{list-style:none;margin:0;padding:0}.steps li{display:flex;align-items:center;gap:80px;padding:26px 0;border-bottom:1px solid var(--line)}.steps li:last-child{border:0}.steps li span{font-family:'Kumbh Sans',sans-serif;font-size:30px}.stats{display:grid;grid-template-columns:repeat(3,1fr);margin:70px 0 55px}.stats strong{font-family:'Kumbh Sans',sans-serif;font-size:80px;font-weight:400;color:var(--gold)}.stats p{margin:0}.testimonials{background-size:cover;background-position:center;padding:120px 0}.quotes{background:white;padding:48px;width:600px;max-width:100%}.quotes figure{margin:0 0 24px}.quotes figure:last-child{margin:0}.stars{color:#e87d24;letter-spacing:4px;font-size:22px}.quotes blockquote{margin:8px 0 10px;color:var(--muted);font-size:15px;line-height:1.5}.quotes figcaption{font-weight:400;font-size:16px}.cta{background:var(--gold);color:white;text-align:center;padding:100px 20px}.cta h2{line-height:1.25;margin-bottom:40px}.social{border-radius:50%;background:var(--gold);color:white;font:bold 24px Arial;width:38px;height:38px;display:grid;place-items:center}.page-intro{padding-top:105px;padding-bottom:70px}.page-intro h1{margin:0 auto 40px;max-width:1200px}.page-intro p{color:var(--muted);max-width:1000px;margin:0 0 12px}.service-list{padding-bottom:120px;display:grid;grid-template-columns:1fr 1fr;gap:70px 80px;padding-top:35px}.service-row{display:block}.service-row img{width:100%;height:auto;object-fit:contain;margin-bottom:40px}.service-row h2{margin-bottom:26px;font-size:32px}.service-row p{font-size:15px;color:var(--muted);line-height:1.65}.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;padding-bottom:110px}.gallery-item{position:relative;padding:0;border:0;background:var(--paper);overflow:hidden;aspect-ratio:1.64}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .25s}.gallery-item span{position:absolute;bottom:14px;right:14px;border-radius:50%;background:rgba(1,2,18,.7);color:white;width:34px;height:34px;font-size:25px}.gallery-item:hover img{transform:scale(1.035)}.lightbox{border:0;padding:0;background:transparent;color:white;width:95vw;max-width:1200px;max-height:95vh;overflow:visible}.lightbox::backdrop{background:rgba(1,2,18,.94)}.lightbox-content{position:relative}.lightbox img{margin:auto;max-height:75vh;width:auto;object-fit:contain}.lightbox button{border:1px solid #aaa;border-radius:50%;background:#1e1f2c;color:white;width:44px;height:44px}.lightbox-close{position:absolute;right:0;top:-48px}.lightbox-controls{display:flex;align-items:center;justify-content:center;gap:35px;margin-top:20px}.contact-page{display:grid;grid-template-columns:1fr 1fr;gap:180px;padding-top:110px;padding-bottom:120px}.contact-page h1{max-width:360px}.contact-page>div>p{color:var(--muted)}.contact-page form{margin-top:58px}.contact-page label{display:block;font-size:15px;margin-bottom:24px;color:#555}.contact-page input,.contact-page select,.contact-page textarea{display:block;border:0;border-bottom:1px solid #999;border-radius:0;background:white;width:100%;padding:10px 0;color:var(--ink);min-height:40px;resize:vertical}.contact-page textarea{min-height:100px}.contact-page form .button{min-width:250px}.form-note{font-size:12px;padding:12px 15px;background:#f5f1e8;color:#65502a;border-left:3px solid var(--gold)}.form-success{padding:18px;background:#edf5ed;color:#23502d;margin-top:22px}.contact-panel{background:var(--gold);padding:95px 50px;color:white}.contact-panel .contact-details>div:not(:last-child):after{width:100%;background:#efe8d7}.map-section{height:400px;background:#f4f3ef}.map-placeholder{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:30px;text-align:center;background:linear-gradient(120deg,#eeede7,#faf9f6)}.map-placeholder svg{width:40px;height:40px;color:var(--gold);margin-bottom:12px}.map-placeholder h2{font-size:28px;margin:8px 0}.map-placeholder p{font-size:14px}.map-placeholder small{font-size:11px;margin-top:18px;color:var(--muted)}.map-section iframe{width:100%;height:100%;border:0}
@media(max-width:1100px){.container{width:calc(100% - 64px)}.header{padding:20px 28px;gap:22px}.logo{width:190px}.main-nav{gap:18px;font-size:14px}.hero-grid{gap:60px}.hero h1{font-size:50px}.split{gap:70px}.service-grid{gap:24px}.contact-page{gap:70px}.contact-panel{padding:70px 35px}.service-row{gap:50px}.steps img{height:510px}}
@media(max-width:767px){h1{font-size:36px;letter-spacing:-.6px}h2{font-size:34px}h3{font-size:24px}.container{width:calc(100% - 40px)}.section{padding:65px 0}.header{position:relative;padding:18px 20px;flex-wrap:wrap}.logo{width:190px}.header-contact{display:none}.menu-toggle{display:block;border:0;background:white;font-size:26px;color:var(--ink);padding:8px}.main-nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0}.main-nav.is-open{display:flex}.main-nav a{padding:13px 4px;border-top:1px solid #eee}.hero{padding:60px 0;background-position:58% center}.hero-grid{grid-template-columns:1fr;gap:60px}.hero h1{font-size:43px}.hero-copy p{font-size:15px}.hero .contact-details{padding:0}.contact-details>div{padding-bottom:25px;margin-bottom:25px}.service-grid{grid-template-columns:1fr 1fr;gap:40px 25px;margin:45px 0}.service-grid p{font-size:14px}.split{grid-template-columns:1fr;gap:45px}.steps img{height:380px;max-width:500px;margin:auto}.steps li{padding:21px 0;gap:60px}.stats{margin:40px 0;gap:15px}.stats strong{font-size:48px}.stats p{font-size:12px}.testimonials{padding:65px 0;background-position:70% center}.quotes{padding:28px}.cta{padding:65px 20px}.cta h2{font-size:34px;margin-bottom:30px}.page-intro{padding:65px 0 30px}.page-intro h1{margin-bottom:25px}.page-intro p{font-size:15px}.desktop-break{display:none}.service-list{padding-bottom:40px;grid-template-columns:1fr;gap:15px}.service-row{grid-template-columns:1fr;gap:30px;padding:35px 0}.service-row.reverse>img{order:0}.service-row img{height:auto}.service-row h2{margin-bottom:20px}.gallery{grid-template-columns:1fr;gap:16px;padding-top:20px;padding-bottom:65px}.contact-page{grid-template-columns:1fr;gap:50px;padding-top:65px;padding-bottom:65px}.contact-page h1{max-width:360px}.contact-page form{margin-top:35px}.contact-panel{padding:45px 30px}.map-section{height:360px}.lightbox img{max-height:65vh}.demo-banner{font-size:10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Contact delivery states use the existing form layout. */
.contact-page fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.form-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.form-error { padding: 1rem; border-left: 4px solid #982f2f; background: #fff2f2; color: #681d1d; }
.form-reference { font-size: .75rem; overflow-wrap: anywhere; }
.contact-page button:disabled { opacity: .65; cursor: default; }

.privacy-settings{background:transparent;border:0;color:inherit;text-decoration:underline;font:inherit;font-size:.85rem;cursor:pointer;padding:.75rem}
#tarteaucitronRoot:not([data-morel-ready]){visibility:hidden}
#tarteaucitronRoot #tarteaucitronAlertBig{background:#fff;color:#161626;box-shadow:0 -3px 24px #0002;font-family:inherit}
#tarteaucitronRoot #tarteaucitronDisclaimerAlert{color:#161626;font-family:inherit;font-size:14px}
#tarteaucitronRoot #tarteaucitronPersonalize2,#tarteaucitronRoot #tarteaucitronAllDenied2{background:#161626;color:#fff;border:1px solid #161626;border-radius:3px;font-family:inherit}
#tarteaucitronRoot #tarteaucitronCloseAlert{background:#fff;color:#161626;border:1px solid #161626;border-radius:3px;font-family:inherit}

.language-switcher{display:grid;grid-template-columns:32px 32px;gap:4px;align-items:center;width:68px;flex-shrink:0;font-size:13px;font-weight:600}
.language-switcher a{text-align:center;padding:9px 0;border-radius:3px;text-decoration:none}
.language-switcher a[aria-current="true"]{background:var(--ink);color:white}
footer .language-switcher a[aria-current="true"]{background:var(--gold);color:var(--ink)}
.site-credit{margin:0}.site-credit a{font-weight:700;text-underline-offset:3px}
@media(max-width:767px){.header{display:grid;grid-template-columns:minmax(0,1fr) 68px 40px;gap:10px}.header .logo{width:min(160px,100%)}.header .logo img{width:100%;height:auto}.menu-toggle{margin-left:0;width:40px;height:48px;padding:0;line-height:1}.header .main-nav{grid-column:1/-1;order:4}}
@media(min-width:768px) and (max-width:1000px){.header-contact{display:none}}

/* Informative hero photo remains crawlable without changing the overlay. */
.hero{position:relative;isolation:isolate;background:var(--ink)}
.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}
.hero::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(1,2,18,.56),rgba(1,2,18,.52));z-index:-1}
.gallery-figure{margin:0;min-width:0}
.gallery-item{display:block;width:100%}
.gallery-figure figcaption{padding:12px 0 4px;color:var(--muted);font-size:14px;line-height:1.5}
.lightbox-figure{margin:0}
.lightbox-figure img{height:auto;max-width:100%;max-height:65vh}
.lightbox-figure figcaption{text-align:center;font-size:14px;line-height:1.5;margin:12px 0 0}
@media(max-width:767px){.hero-image{object-position:58% center}.lightbox-figure img{max-height:55vh}}

/* Shared bilingual service template. Layout uses existing brand and font tokens. */
.service-eyebrow{font-size:12px;font-weight:600;letter-spacing:1.7px;text-transform:uppercase;color:#725929;margin-bottom:20px;line-height:1.6}
.service-lead{font-size:17px;line-height:1.8;color:#53535a;font-weight:300}

.services-hub-intro{background:#f4f1eb;padding:76px 0 66px}.services-hub-intro h1{max-width:850px;font-size:64px;line-height:1.07;margin-bottom:28px}.services-hub-intro .service-lead{max-width:760px;margin-bottom:0}
.services-hub-grid{padding-top:64px;padding-bottom:70px}.service-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:60px 36px}.service-card{min-width:0;display:flex;flex-direction:column}.service-card-image{display:block}.service-photo{margin:0;position:relative}.service-photo img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.service-card-image img{transition:filter .2s}.service-card-image:hover img{filter:brightness(.96)}.service-card-copy{position:relative;padding:26px 0 0;display:flex;flex:1;flex-direction:column;align-items:flex-start}.service-card-copy>h2,.service-card-copy>h3{padding-right:42px}.service-card-copy>.button{margin-top:auto}.service-card-number{position:absolute;right:0;top:28px;font-family:'Kumbh Sans',sans-serif;font-size:18px;color:#725929}.service-card h2{font-size:32px;margin:0 0 16px}.service-card p{color:var(--muted);line-height:1.7;font-size:15px;margin-bottom:20px}.service-project-link{display:flex;gap:40px;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:48px;padding-bottom:64px}.service-project-link h2{font-size:32px}.service-project-link p{max-width:640px;margin:0;color:var(--muted)}.service-project-link .button{flex-shrink:0;gap:12px}
.service-detail-hero{background:#f4f1eb;padding:26px 0 64px}.service-breadcrumb{display:flex;gap:12px;font-size:12px;color:#666;flex-wrap:wrap;margin-bottom:44px}.service-breadcrumb a{text-decoration:underline;text-underline-offset:3px}.service-detail-hero-grid{display:grid;grid-template-columns:1fr 1.08fr;gap:56px;align-items:center}.service-detail-heading{padding:12px 0}.service-detail-heading h1{font-size:clamp(42px,4.3vw,64px);line-height:1.05;letter-spacing:-1.6px;margin-bottom:28px}.service-detail-heading .service-lead{margin-bottom:30px}.service-detail-heading .button{gap:14px}.service-actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.service-phone{font-size:14px}.service-detail-hero .service-photo{margin-right:calc((min(1200px,100vw - 80px) - 100vw)/2);max-width:780px}.service-detail-hero .service-photo img{aspect-ratio:1.18;object-position:center}
.service-area{background:var(--ink);color:white;padding:22px 0}.service-area .container{display:flex;gap:20px;justify-content:space-between;align-items:center;font-size:13px}.service-area strong{font-weight:400;letter-spacing:.5px}
.service-detail-section{padding-top:90px;padding-bottom:90px}.service-section-intro{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}.service-section-intro h2{font-size:44px;line-height:1.12;max-width:500px;margin-bottom:0}.service-section-intro>p{padding-top:38px;color:var(--muted);line-height:1.8;margin:0}.service-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:55px}.service-points>div{border-top:1px solid var(--line);padding-top:24px}.service-point-number{color:#725929;font-size:13px;font-weight:400;display:block;margin-bottom:25px}.service-points h3{font-size:26px;line-height:1.2}.service-points p{color:var(--muted);font-size:15px;line-height:1.8;margin-bottom:0}
.service-process{background:#f4f1eb;padding:75px 0}.service-process-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:100px}.service-process h2{font-size:44px;line-height:1.12;margin-bottom:30px}.service-process ol{margin:0;padding:0;list-style:none}.service-process li{display:flex;gap:28px;border-bottom:1px solid var(--line);padding:26px 0}.service-process li:first-child{padding-top:0}.service-process li:last-child{border-bottom:0;padding-bottom:0}.service-process li>span{font-size:16px;font-weight:400;color:#725929;padding-top:4px}.service-process h3{font-size:24px;margin-bottom:12px}.service-process p{color:var(--muted);font-size:15px;line-height:1.8;margin:0}.service-prepare{padding-top:48px;padding-bottom:48px;display:grid;grid-template-columns:1fr 2fr;gap:70px;border-bottom:1px solid var(--line)}.service-prepare h2{font-size:24px;margin:0}.service-prepare p{font-size:14px;line-height:1.8;margin:0;color:var(--muted)}
.service-faq-section{padding:88px 0}.service-faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.service-faq-grid h2{font-size:46px;line-height:1.12;margin-bottom:22px}.service-faq-grid>div>p:not(.service-eyebrow){color:var(--muted);font-size:15px}.service-faq details{border-bottom:1px solid var(--line)}.service-faq details:first-child{border-top:1px solid var(--line)}.service-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:24px;padding:24px 0;font-size:16px;font-weight:400;line-height:1.5}.service-faq summary::-webkit-details-marker{display:none}.service-faq summary span{font-size:24px;line-height:1;flex-shrink:0;color:#725929;font-weight:300}.service-faq details[open] summary span{transform:rotate(45deg)}.service-faq summary:focus-visible{outline:3px solid #2971aa;outline-offset:5px}.service-faq summary:hover{text-decoration:underline;text-underline-offset:4px}.service-faq details>div{padding:0 32px 24px 0}.service-faq details p{margin:0;font-size:15px;line-height:1.8;color:var(--muted)}
.service-related{padding-top:55px;padding-bottom:90px;border-top:1px solid var(--line)}.service-related-intro{margin-bottom:40px}.service-related-intro h2{font-size:38px;margin-bottom:12px}.service-related-intro p{color:var(--muted);font-size:15px}.service-cards-related{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.service-cards-related h3{font-size:25px}.service-cards-related .service-card-copy>h3{padding-right:0}.service-cards-related .service-card-number{display:none}
@media(min-width:1600px){.service-detail-hero .service-photo{margin-right:-100px}}
@media(max-width:1100px){.service-detail-hero .service-photo{margin-right:0}}
@media(max-width:1000px){.service-detail-hero-grid{gap:30px;grid-template-columns:1fr 1fr}.service-section-intro,.service-process-grid,.service-faq-grid{gap:42px}.service-detail-heading h1{font-size:46px}.service-detail-hero .service-photo img{aspect-ratio:.9}.service-lead{font-size:16px}.service-section-intro h2,.service-process h2,.service-faq-grid h2{font-size:38px}.service-points{gap:25px}.service-prepare{gap:35px}.services-hub-intro h1{font-size:54px}}
@media(max-width:767px){.service-detail-hero{padding:22px 0 0}.service-breadcrumb{margin-bottom:26px;font-size:11px;gap:9px}.service-detail-hero-grid{grid-template-columns:1fr;gap:30px}.service-detail-heading{padding:0}.service-detail-heading h1{font-size:44px;letter-spacing:-1px;max-width:520px}.service-eyebrow{font-size:11px;letter-spacing:1.3px;margin-bottom:16px}.service-detail-hero .service-photo{margin:0 calc((min(1200px,100vw - 40px) - 100vw)/2);max-width:none}.service-detail-hero .service-photo img{aspect-ratio:3/2}.service-area .container{flex-direction:column;align-items:flex-start;gap:6px;font-size:12px}.service-detail-section{padding-top:52px;padding-bottom:52px}.service-section-intro,.service-process-grid,.service-faq-grid,.service-prepare{grid-template-columns:1fr;gap:24px}.service-section-intro>p{padding:0;font-size:15px}.service-section-intro h2,.service-process h2,.service-faq-grid h2{font-size:36px}.service-points{grid-template-columns:1fr;gap:28px;margin-top:34px}.service-point-number{margin-bottom:12px}.service-points h3{font-size:24px;margin-bottom:12px}.service-process{padding:48px 0}.service-process-grid{gap:38px}.service-process li{gap:20px}.service-prepare{padding-top:35px;padding-bottom:35px;gap:16px}.service-faq-section{padding:50px 0}.service-faq-grid{gap:32px}.service-faq summary{font-size:15px;padding:20px 0;gap:18px}.service-faq details>div{padding-right:10px}.service-faq details p{font-size:14px}.service-related{padding-top:40px;padding-bottom:52px}.service-related-intro h2{font-size:32px}.service-cards,.service-cards-related{grid-template-columns:1fr;gap:40px}.service-card h2,.service-cards-related h3{font-size:28px}.service-card-copy{padding-top:22px}.services-hub-intro{padding:48px 0}.services-hub-intro h1{font-size:44px}.services-hub-grid{padding-top:38px;padding-bottom:45px}.service-project-link{flex-direction:column;align-items:flex-start;gap:24px;padding-top:35px;padding-bottom:48px}.service-project-link h2{font-size:28px}.service-related .service-card-image{max-width:100%}}
@media(prefers-reduced-motion:reduce){.service-card-image img{transition:none}}

/* Separate parent link and 44px disclosure target; fixed tracks in both languages. */
.header{position:relative;z-index:20}
@media(min-width:768px){.main-nav{grid-template-columns:110px 80px 110px;width:336px}}
.nav-services{position:relative;min-width:0}
.nav-services>.nav-top-link{width:calc(100% - 44px)}
.nav-services summary{position:absolute;right:0;top:0;display:flex;align-items:center;justify-content:center;width:44px;height:44px;list-style:none;cursor:pointer;border-radius:3px}
.nav-services summary::-webkit-details-marker{display:none}
.nav-services summary svg{flex-shrink:0}
.nav-services details[open]>summary svg{transform:rotate(180deg)}
.nav-services summary:hover{background:#f4f1eb}
.nav-services summary:focus-visible{outline:3px solid #2971aa;outline-offset:2px}
.services-submenu{position:absolute;top:100%;left:-18px;width:288px;padding:10px;background:white;border:1px solid var(--line);border-top:3px solid var(--gold);box-shadow:0 14px 32px rgba(1,2,18,.13)}
.main-nav .services-submenu a{display:flex;justify-content:space-between;gap:14px;min-height:46px;padding:12px 14px;font-size:14px;line-height:1.5;white-space:normal;border:0;border-radius:2px;text-decoration:none}
.main-nav .services-submenu a:hover,.main-nav .services-submenu a:focus-visible{background:#f4f1eb}
.main-nav .services-submenu a[aria-current="page"]{background:#f4f1eb;font-weight:600}
.services-submenu a span{flex-shrink:0;color:#725929}
@media(max-width:767px){.nav-services{border-top:1px solid #eee}.main-nav .nav-services>.nav-top-link{border:0;min-height:48px}.nav-services summary{height:48px}.services-submenu{position:static;width:100%;margin:0 0 8px;padding:6px 10px;background:#f4f1eb;border:0;border-left:2px solid var(--gold);box-shadow:none}.main-nav .services-submenu a:hover,.main-nav .services-submenu a:focus-visible,.main-nav .services-submenu a[aria-current="page"]{background:white}}

/* Static photographic scenes first; scroll-linked motion is progressive enhancement. */
.service-scene{position:relative;isolation:isolate;overflow:hidden;background:var(--ink);color:white}
.service-scene-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2;pointer-events:none}
.service-scene::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(1,2,18,.8),rgba(1,2,18,.65));pointer-events:none}
.service-scene .service-eyebrow{color:#f0ddba}
.service-scene .service-lead{color:white}

.services-hub-intro.service-scene{padding:100px 0 110px;min-height:520px;display:flex;align-items:center}
.services-hub-intro.service-scene h1{max-width:760px}
.services-hub-intro.service-scene .service-lead{max-width:650px}
.service-process.service-scene{padding:90px 0 100px}
.service-process.service-scene .service-process-grid{align-items:center;gap:90px}
.service-process.service-scene h2{font-size:48px;max-width:480px}
.service-process.service-scene ol{background:#faf8f3;color:var(--ink);padding:38px 40px;border-top:3px solid var(--gold)}
.service-process.service-scene ol p{color:#53535a}
@supports (animation-timeline: view()){
 @media(min-width:1024px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .service-scene{view-timeline-name:--service-scene;view-timeline-axis:block}
  .service-scene-image{top:-60px;height:calc(100% + 120px);animation:service-scene-drift linear both;animation-timeline:--service-scene;animation-range:entry 0% exit 100%}
 }
}
@keyframes service-scene-drift{from{transform:translate3d(0,-48px,0)}to{transform:translate3d(0,48px,0)}}
@media(max-width:1100px){.service-process.service-scene .service-process-grid{gap:40px}.service-process.service-scene h2{font-size:38px}.service-process.service-scene ol{padding:30px}}
@media(max-width:767px){.services-hub-intro.service-scene{min-height:0;padding:64px 0 78px}.service-process.service-scene{padding:50px 0 64px}.service-process.service-scene .service-process-grid{gap:30px}.service-process.service-scene h2{font-size:36px}.service-process.service-scene ol{padding:28px 22px}.service-scene::before{background:rgba(1,2,18,.76)}}

/* Keep service summaries and action labels readable on narrow phones. */
@media(max-width:480px){.service-grid{grid-template-columns:1fr}.service-grid article{max-width:360px;margin-inline:auto}}

/* Editorial pages share the brand and CTA system; prose stays comfortably readable. */
.blog-index-intro{padding:76px 0 62px;background:#f4f1eb}.blog-index-intro h1{max-width:900px;font-size:clamp(44px,5vw,70px);line-height:1.08;margin-bottom:24px}.blog-lead{font-size:18px;line-height:1.8;color:#53535a;max-width:780px}.blog-index-intro .blog-lead{margin:0}.blog-index-list{padding-top:54px;padding-bottom:90px}.blog-photo{margin:0;position:relative;min-width:0}.blog-photo img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px}.blog-index-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 40px}.blog-card{min-width:0;display:flex;flex-direction:column}.blog-card-copy{display:flex;flex-direction:column;align-items:flex-start;flex:1;padding-top:24px}.blog-card h3{font-size:28px;line-height:1.24;margin-bottom:16px}.blog-card .button{margin-top:auto}.blog-meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:11px;color:#725929;font-weight:600;line-height:1.6;margin-bottom:15px}.blog-meta span+span{color:var(--muted);font-weight:400}.blog-excerpt{font-size:14px;line-height:1.8;color:var(--muted);margin-bottom:24px}.blog-featured{display:grid;grid-template-columns:1.2fr 1fr;gap:0;background:#f4f1eb}.blog-featured .blog-photo img{height:100%;min-height:470px;aspect-ratio:auto}.blog-featured .blog-card-copy{padding:46px 38px;justify-content:center}.blog-featured h2{font-size:40px;line-height:1.13;margin-bottom:22px}.blog-featured .button{margin-top:10px}.blog-more-heading{font-size:34px;margin:65px 0 32px}.blog-latest{padding:85px 0;background:#f4f1eb}.blog-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:40px}.blog-section-heading h2{font-size:42px;line-height:1.15;margin-bottom:18px}.blog-section-heading p:not(.service-eyebrow){max-width:660px;font-size:15px;line-height:1.8;color:var(--muted);margin:0}.blog-section-heading>.button{flex-shrink:0}.blog-article-header{padding-top:28px;padding-bottom:40px}.blog-article-header .service-breadcrumb{margin-bottom:48px}.blog-article-header h1{font-size:clamp(40px,4.7vw,64px);line-height:1.1;max-width:980px;margin-bottom:28px}.blog-byline{font-size:12px;line-height:1.7;color:var(--muted);margin:26px 0 0}.blog-byline a{font-weight:600;color:var(--ink)}.blog-article-image .blog-photo img{aspect-ratio:2.2;object-position:center}.blog-reading-grid{display:grid;grid-template-columns:260px minmax(0,740px);gap:76px;padding-top:60px;padding-bottom:30px}.blog-sidebar{min-width:0}.blog-toc{position:sticky;top:32px;border-top:3px solid var(--gold);padding-top:22px}.blog-toc h2{font-family:Poppins,sans-serif;font-size:14px;font-weight:600;letter-spacing:0;margin-bottom:14px}.blog-toc ol{padding-left:20px;font-size:13px;line-height:1.6;color:#53535a}.blog-toc li{padding-left:5px;margin-bottom:12px}.blog-toc a{display:block;padding:4px 0}.blog-prose{font-size:16px;line-height:1.9;color:#3e3e47;min-width:0}.blog-prose h2{font-size:32px;color:var(--ink);line-height:1.22;margin-bottom:22px;scroll-margin-top:30px}.blog-prose h3{font-size:21px;color:var(--ink)}.blog-prose ul{padding-left:24px;margin-bottom:28px}.blog-prose li{margin-bottom:10px}.blog-takeaway{padding:28px 30px;background:#f4f1eb;border-left:3px solid var(--gold);margin-bottom:44px}.blog-takeaway h2{font-family:Poppins,sans-serif;font-size:13px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:#725929;margin-bottom:12px}.blog-takeaway p{margin:0}.blog-text-section{margin-bottom:44px}.blog-help li a{text-decoration:underline;text-underline-offset:3px}.blog-faq{margin:48px 0}.blog-help{padding:34px;background:#f4f1eb;margin-top:44px}.blog-help h2{font-size:29px}.blog-help h3{margin-top:28px;margin-bottom:14px}.blog-help ul{margin:0;font-size:14px}.blog-related{padding-top:40px;padding-bottom:80px}.blog-related .blog-section-heading h2{margin:0}
/* Reserve identical navigation geometry in FR/EN after adding Blog. */
@media(min-width:768px){.main-nav{grid-template-columns:110px 80px 74px 110px;width:428px;gap:18px}}
@media(min-width:768px) and (max-width:1200px){.header{gap:12px}.header .logo{width:160px}.main-nav{grid-template-columns:104px 72px 64px 104px;width:380px;gap:12px}.header-contact{display:none}}

@media(max-width:1100px){.blog-reading-grid{grid-template-columns:210px minmax(0,1fr);gap:36px}.blog-grid{gap:24px}.blog-card h3{font-size:25px}.blog-featured .blog-card-copy{padding:30px}.blog-featured h2{font-size:34px}.blog-section-heading{align-items:flex-start;gap:24px}.blog-section-heading h2{font-size:36px}}
@media(max-width:767px){.blog-index-intro{padding:50px 0 38px}.blog-index-intro h1{font-size:42px}.blog-lead{font-size:16px;line-height:1.8}.blog-index-list{padding-top:32px;padding-bottom:55px}.blog-grid,.blog-index-grid{grid-template-columns:1fr;gap:42px}.blog-featured{grid-template-columns:1fr}.blog-featured .blog-photo img{height:auto;min-height:0;aspect-ratio:3/2}.blog-featured .blog-card-copy{padding:26px 22px}.blog-featured h2{font-size:32px}.blog-card h3{font-size:28px}.blog-more-heading{font-size:30px;margin-top:44px}.blog-section-heading{flex-direction:column;align-items:flex-start;gap:24px;margin-bottom:32px}.blog-section-heading h2{font-size:34px}.blog-latest{padding:55px 0}.blog-article-header{padding-top:22px;padding-bottom:28px}.blog-article-header .service-breadcrumb{margin-bottom:30px}.blog-article-header h1{font-size:39px;letter-spacing:-.8px}.blog-article-image{width:100%}.blog-article-image .blog-photo img{aspect-ratio:3/2}.blog-reading-grid{grid-template-columns:1fr;gap:30px;padding-top:32px}.blog-toc{position:static;padding:20px 22px 10px;background:#f4f1eb}.blog-toc ol{margin-bottom:0}.blog-toc li{margin-bottom:8px}.blog-toc a{padding:8px 0}.blog-prose{font-size:16px;line-height:1.85}.blog-prose h2{font-size:29px}.blog-takeaway{padding:24px 22px;margin-bottom:34px}.blog-takeaway h2{font-size:13px}.blog-text-section{margin-bottom:34px}.blog-help{padding:26px 22px}.blog-help h2{font-size:27px}.blog-related{padding-top:25px;padding-bottom:55px}}

/* Picture does not add a layout box around existing grid/absolute images. */
.responsive-photo{display:contents}
/* Source candidates select an image but must not occupy a grid/flex cell. */
.responsive-photo>source{display:none}

.blog-publication{font-size:12px;color:var(--muted);margin:8px 0 0}
.blog-meta time,.blog-meta time+span{color:var(--muted);font-weight:400}

.footer-review{margin:0 0 20px}.footer-review .button{max-width:100%;gap:12px}.footer-review-logo{position:relative;width:24px;height:24px;flex-shrink:0;overflow:hidden}.footer-review-logo img{position:absolute;width:72px;height:72px;max-width:none;left:-24px;top:-24px}

/* Footer uses its own layout; header navigation geometry stays independent. */
.site-footer{background:white;text-align:left}
.footer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:56px;padding-top:60px;padding-bottom:48px}
.footer-grid>div{min-width:0}
.footer-links{width:160px;max-width:100%;justify-self:center}
.footer-connect{width:280px;max-width:100%;justify-self:end}
.footer-brand .logo{display:block;width:210px;max-width:100%;margin-bottom:24px}
.footer-business{font-size:13px;line-height:1.8;color:var(--muted);margin-bottom:20px}
.footer-heading{font-size:20px;line-height:1.4;letter-spacing:0;margin:0 0 18px}
.footer-nav{display:grid;grid-template-columns:minmax(0,1fr);gap:0;width:100%;font-size:15px}
.footer-nav a{display:flex;align-items:center;min-height:44px;width:100%}
.footer-nav [aria-current]{text-decoration:underline;text-underline-offset:3px}
.footer-social{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-size:15px}
.footer-social .social{width:32px;height:32px;font-size:22px}
.footer-meta{display:flex;align-items:center;justify-content:space-between;gap:16px 32px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:18px;padding-bottom:18px;font-size:12px;color:var(--muted)}
.footer-meta .privacy-settings{padding:10px 0;min-height:44px;font-size:12px;text-align:left}
@media(min-width:768px) and (max-width:1000px){.footer-grid{gap:28px;grid-template-columns:minmax(0,1fr) minmax(0,.65fr) minmax(0,1.2fr)}.footer-review .button{padding:12px 16px}}
@media(max-width:767px){.footer-grid{grid-template-columns:minmax(0,1fr);gap:32px;padding-top:40px;padding-bottom:32px}.footer-links,.footer-connect{width:100%;justify-self:start}.footer-heading{margin-bottom:12px}.footer-meta{align-items:flex-start;flex-direction:column;gap:4px;padding-bottom:24px}}
