:root{--ink:#182d31;--navy:#112a2e;--paper:#faf9f5;--gold:#9a723f;--muted:#5f6d6d}
::selection{background:#cfb180;color:#10292d}
.section{padding-top:104px;padding-bottom:104px}
.eyebrow{font-size:.8125rem;line-height:1.7}
.nav{font-size:.875rem;gap:22px}
.languages{font-size:.875rem}
.languages a{padding:8px 0}
.header-inner{min-height:94px}
.header-actions{gap:20px}
.menu-toggle{min-width:44px;min-height:44px;align-items:center;justify-content:center;gap:8px}
.home .hero{height:min(960px,100svh);min-height:780px;background:#132c30}
.home .hero>img{object-position:50% 53%}
.home .hero:after{background:linear-gradient(180deg,#061d2775,transparent 29%,#061d2925 60%,#061b2799),linear-gradient(90deg,#061d2833,#061d286b 50%,#061d2833)}
.home .hero .wrap{align-items:center;text-align:center;padding-top:167px;padding-bottom:145px}
.home .hero h1{max-width:1140px;font-size:clamp(4.9rem,7.65vw,8.7rem);line-height:.96;letter-spacing:-.035em;margin-bottom:24px;text-wrap:balance}
.home .hero h1 em{color:#f0d5a7}
.home .hero .eyebrow{letter-spacing:.22em;font-size:.8125rem;margin-bottom:25px}
.home .hero .lead{max-width:540px;font-size:1.0625rem;line-height:1.75;margin-bottom:30px;text-wrap:balance}
.home .hero .actions{justify-content:center}
.home .hero .button.light{background:#e5c99d;border-color:#e5c99d;color:#162d32;box-shadow:0 3px 20px #071e2533}
.home .hero .button.light:hover{background:#f0dfc2;border-color:#f0dfc2}
.hero-footer{bottom:32px}
.hero-signature{font-size:.8125rem}
.hero-location{font-size:.75rem}
.hero-scroll{font-size:.875rem;letter-spacing:.015em}
.home .header-actions .button:hover{background:#fff;color:#183036}
.location-ribbon{background:#fff;border-bottom:1px solid #dedfd6;padding:29px 0}
.location-ribbon .wrap{justify-content:space-between;font-size:.875rem;gap:20px}
.location-ribbon span{font-size:.8125rem;color:var(--gold)}
.intro-editorial .intro-body{padding-top:18px}
.intro-editorial h2{font-size:clamp(3.2rem,5vw,5.3rem)}
.intro-editorial p{font-size:1.0625rem;line-height:1.9}
.services-section{background:#eae6dd}
.atelier-grid{gap:20px;grid-template-rows:340px 340px}
.atelier-content{bottom:34px;left:35px;right:35px}
.atelier-content h3{font-size:3.1rem}
.atelier-card:first-child h3{font-size:4rem}
.atelier-card .atelier-content p{font-size:1rem;line-height:1.65}
.atelier-content .round-arrow{width:44px;height:44px}
.services-list{margin-top:30px}
.services-list a{font-size:1rem;min-height:74px}
.living-photo>.main-image{height:700px}
.living-photo .detail-image{height:290px;width:52%;right:-10px;border-width:10px}
.living-copy p{font-size:1.0625rem}
.feature-lines>div{font-size:1rem!important}
.territory-photo{height:690px}
.territory-photo img{object-position:60% center}
.territory-copy>p{font-size:1.0625rem}
.territory-names a{padding:17px 0}
.territory-names strong{font-size:2rem}
.territory-names small{font-size:.8125rem}
.area-links a{font-size:.875rem}
.page-head{background:linear-gradient(115deg,#efede5,#faf9f5);border-bottom:1px solid #e1e0d8;padding-top:37px;padding-bottom:65px}
.page-head h1 em{color:var(--gold)}
.page-head .lead{max-width:790px;font-size:1.0625rem}
.page-hero{grid-template-columns:1fr 1.05fr;gap:7%}
.page-hero figure{margin:0}
.page-hero img{aspect-ratio:1.12}
.page-hero h1{font-size:clamp(3.3rem,4.5vw,5.15rem)}
.page-hero .lead{font-size:1.0625rem}
.breadcrumbs{font-size:.8125rem}
.article-card .tag{font-size:.8125rem}
.article-card p{font-size:1rem}
.article-card h3{font-size:2.25rem}
.aside-box{border-top:2px solid #b99663;background:#f0ece4}
.aside-box p,.aside-links{font-size:1rem}
.aside-links a{padding:12px 0}
.prose p,.prose li{font-size:1.0625rem}
.prose h2{font-size:2.7rem}
.service-faq{margin-top:50px;border-top:1px solid #b8c2bb;padding-top:5px}
.service-faq>h2{font-size:2.4rem}
.service-faq .faq-list summary{font-size:1rem;line-height:1.55}
.service-faq .faq-list p{font-size:1rem;line-height:1.8;margin-bottom:0}
.service-faq .faq-more{margin-top:28px}
.faq-list details{padding:23px 0;border-color:#cdd2c9}
.faq-list summary{font-size:1.0625rem;line-height:1.6;padding-right:32px}
.faq-list summary::after{font-size:1.4rem;color:#9a723f}
.faq-list details[open] summary{color:#8b632d}
.faq-list .faq-answer{padding-top:16px}
.faq-list .faq-answer p{margin:0;font-size:1rem;line-height:1.85;max-width:790px}
.faq-context{font-size:.875rem;display:inline-flex;gap:22px;align-items:center;border-bottom:1px solid #b8b7aa;padding-bottom:4px;margin-top:17px}
.home-answers{background:#f1ede5}
.home-answers .faq-grid{grid-template-columns:.85fr 1.15fr;gap:10%;align-items:start}
.faq-intro h2{font-size:clamp(3.2rem,4.6vw,5rem);line-height:1.02}
.faq-intro h2 em{color:var(--gold)}
.faq-intro>p{max-width:370px;color:var(--muted);font-size:1rem}
.faq-image{margin:34px 0 0;max-width:385px}
.faq-image img{aspect-ratio:1.6;object-fit:cover;object-position:50% 60%}
.faq-image figcaption{font-size:.75rem;margin-top:9px;color:var(--muted)}
.faq-hub{padding-top:50px}
.faq-tools{margin-bottom:14px;max-width:1050px}
.faq-tools input{min-width:0}
.faq-directory{display:grid;grid-template-columns:265px minmax(0,1fr);gap:8%;margin-top:38px;align-items:start}
.faq-topics{position:sticky;top:122px;border-top:1px solid #aebbb0}
.faq-topics a{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 0;border-bottom:1px solid #d5d9d0;font-size:.875rem;line-height:1.5}
.faq-topics a:hover{color:#956c34}
.faq-topics small{color:#9b7645;font-size:.8125rem}
.faq-group{margin-bottom:65px;scroll-margin-top:130px}
.faq-group h2{font-size:3.2rem;margin-bottom:23px}
.faq-group .eyebrow{font-size:.75rem;margin-bottom:11px;color:#6f786e}
.faq-group details{scroll-margin-top:130px}
.faq-group details:target{border-top:2px solid #b18b52}
.faq-groups{min-width:0}
.service-catalogue{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:52px 30px}
.service-tile{min-width:0}
.service-tile-image{position:relative;aspect-ratio:1.44;overflow:hidden;background:#eae6dd}
.service-tile-image img{height:100%;object-fit:cover;transition:transform .6s}
.service-tile:hover .service-tile-image img{transform:scale(1.035)}
.service-tile-image>span{position:absolute;bottom:0;left:0;display:grid;place-items:center;min-width:48px;min-height:48px;background:#f9f7f1;font-family:var(--serif);font-size:1.6rem;color:#8c6939}
.service-tile-body{padding-top:25px}
.service-tile-body .eyebrow{font-size:.75rem;margin-bottom:12px;letter-spacing:.13em}
.service-tile h2{font-size:2.35rem;line-height:1.08;margin-bottom:15px}
.service-tile p{font-size:1rem;color:var(--muted);line-height:1.75;margin-bottom:18px}
.service-tile .text-link{font-size:.875rem}
.story-section{background:#fff}
.story-section .section-head{align-items:end;margin-bottom:31px}
.story-section h2 em{color:var(--gold)}
.story-section .section-head>p{font-size:1.0625rem;color:var(--muted);line-height:1.8;max-width:430px;margin-bottom:0}
.story-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 28px;list-style:none;margin:0;padding:0}
.story-card{min-width:0}
.story-image{aspect-ratio:1;position:relative;overflow:hidden;background:#fff}
.story-image img{position:absolute;max-width:none;width:300%;height:200%;left:calc(var(--col) * -100%);top:calc(var(--row) * -100%);object-fit:fill}
.story-copy{position:relative;padding:24px 0 0 43px;margin-top:5px;border-top:1px solid #d5d7cd}
.story-number{position:absolute;left:0;top:22px;font-size:.8125rem;letter-spacing:.04em;color:#987441}
.story-copy h3{font-size:2rem;margin-bottom:14px}
.story-copy p{font-size:1rem;color:var(--muted);line-height:1.8;margin-bottom:0}
.story-copy p+p{margin-top:18px}
.story-outcome{margin-top:23px;padding-top:17px;border-top:1px solid #e1e3dc;font-size:.875rem;line-height:1.65}
.story-outcome span{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.09em;color:#927143;margin-bottom:5px}
.story-tail{margin-top:40px;display:flex;justify-content:center}
.story-tail:empty{display:none}
.swipe-hint{display:none}
.story-detailed .story-strip{gap:65px 35px}
.approach-index .story-section .section-head{display:none}
.approach-index .story-section{padding-top:45px}
.knowledge-index .panel{border:0;border-top:1px solid #bac2b6;background:transparent;padding:34px 0}
.knowledge-index .panel-grid{grid-template-columns:1fr 1fr;gap:35px 70px}
.knowledge-index .panel h3{font-size:2.45rem}
.knowledge-index .panel p{font-size:1rem;max-width:540px}
.knowledge-index .panel:hover{background:transparent}
.contact-band{background:#d9c5a2;padding:94px 0}
.contact-band p{color:#374847;font-size:1.0625rem}
.contact-band .button{background:#132e32;border-color:#132e32}
.site-footer{background:#10282d;padding-top:90px}
.site-footer .brand-name{font-size:2rem}
.site-footer .footer-links{font-size:.9375rem;gap:12px}
.site-footer .footer-grid h3{font-size:.9375rem}
.footer-bottom{padding-bottom:84px}
@media(max-width:1320px){.header-actions>.button{display:none}.nav{gap:23px}.header-inner{gap:25px}.home .hero h1{font-size:7.3rem}.atelier-grid{grid-template-rows:310px 310px}.atelier-card:first-child h3{font-size:3.5rem}.atelier-content h3{font-size:2.6rem}.living-photo>.main-image{height:610px}.territory-photo{height:620px}}
@media(max-width:1100px){.nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:28px 5.5%;flex-direction:column;align-items:flex-start;color:var(--ink);font-size:1.0625rem;border-bottom:1px solid #cfd4c9;gap:15px}.nav.open{display:flex}.menu-toggle{display:flex}.home .nav a{color:var(--ink)}.home .hero h1{font-size:6.2rem}.home .hero .wrap{padding-top:150px}.home .header-inner{min-height:96px}.faq-directory{grid-template-columns:220px minmax(0,1fr);gap:6%}.story-strip{gap:35px 24px}.story-copy{padding-left:34px}.story-copy h3{font-size:1.8rem}.service-catalogue{grid-template-columns:repeat(2,minmax(0,1fr));gap:45px 30px}.living-photo .detail-image{height:230px}.home-answers .faq-grid{gap:7%}.hero-signature{font-size:.75rem}.home .hero .eyebrow{font-size:.75rem}.atelier-card .atelier-content p{font-size:.9375rem}.service-tile h2{font-size:2.4rem}}
@media(max-width:850px){.section{padding-top:78px;padding-bottom:78px}.home .hero h1{font-size:5.5rem}.home .hero{height:870px;min-height:780px}.home .hero .lead{font-size:1.0625rem}.living-photo>.main-image{height:530px}.territory-photo{height:570px}.home-answers .faq-grid{grid-template-columns:1fr;gap:32px}.faq-image{display:none}.faq-intro>p{max-width:550px}.story-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.story-copy h3{font-size:2rem}.faq-directory{grid-template-columns:1fr;gap:35px}.faq-topics{position:static;display:grid;grid-template-columns:1fr 1fr;gap:0 28px}.faq-group h2{font-size:3rem}.page-hero h1{font-size:3.6rem}.page-hero{gap:5%}.knowledge-index .panel-grid{gap:25px 35px}.knowledge-index .panel h3{font-size:2.2rem}.home .hero .actions{flex-direction:row}.home .hero .actions .button{max-width:100%}.hero-footer .hero-signature{display:none}}
@media(max-width:650px){.wrap{padding-left:22px;padding-right:22px}.section{padding-top:65px;padding-bottom:65px}.header-inner,.home .header-inner{min-height:86px;gap:12px}.brand{gap:10px}.brand-mark{width:27px;height:33px;font-size:26px}.brand-name{font-size:1.375rem}.brand-name small{font-size:.6rem;letter-spacing:.2em}.header-actions{gap:11px}.languages{font-size:.8125rem;gap:9px}.languages a{padding:11px 0}.menu-toggle{font-size:1.1rem;padding:8px;min-width:40px}.menu-word{display:none}.home .nav{padding:24px 22px}.nav a{padding:6px 0}.home .hero{height:auto;min-height:850px}.home .hero>img{object-position:52% 50%}.home .hero:after{background:linear-gradient(180deg,#031c2877,#041c2866 43%,#041c2877),linear-gradient(90deg,#051b2722,#041b2833)}.home .hero .wrap{min-height:850px;padding-top:147px;padding-bottom:133px;align-items:center}.home .hero h1{font-size:clamp(3.3rem,12.9vw,4.7rem);line-height:1.02;margin-bottom:27px;max-width:100%;text-wrap:balance;hyphens:manual}.home .hero h1 em{display:inline}.home .hero .eyebrow{font-size:.75rem;letter-spacing:.13em;line-height:1.9;max-width:310px}.home .hero .lead{font-size:1rem;line-height:1.85;max-width:340px}.home .hero .actions{flex-direction:column;align-items:center;gap:24px;flex-wrap:nowrap}.home .hero .button.light{min-height:56px;font-size:.875rem;padding:16px 22px}.hero-footer{left:22px;right:22px;bottom:24px;gap:20px}.hero-scroll{font-size:.8125rem;max-width:155px;gap:12px}.hero-footer .image-attribution{font-size:.75rem;max-width:149px}.location-ribbon .wrap{justify-content:center;gap:14px 23px;font-size:.8125rem}.location-ribbon span{flex-basis:100%;text-align:center;font-size:.75rem}.intro-editorial h2{font-size:3.2rem}.intro-editorial p{font-size:1rem;line-height:1.85}.atelier-grid{grid-template-rows:none;gap:22px}.atelier-card:first-child{min-height:515px}.atelier-card{min-height:415px}.atelier-card:first-child h3{font-size:3.45rem}.atelier-content{left:25px;right:25px;bottom:28px}.atelier-content h3{font-size:3rem}.atelier-card .atelier-content p{font-size:1rem}.services-list a{font-size:1rem;min-height:66px}.living-photo>.main-image{height:470px}.living-photo .detail-image{height:210px;width:53%;right:0;border-width:7px}.living-copy p{font-size:1rem}.territory-photo{height:475px}.territory-copy>p{font-size:1rem}.territory-names strong{font-size:2rem}.area-links{gap:0 20px}.area-links a{font-size:.875rem}.page-head{padding-top:27px;padding-bottom:47px}.page-head h1,.page-hero h1{font-size:3.25rem;line-height:1.04}.page-head .lead,.page-hero .lead{font-size:1rem}.page-hero{grid-template-columns:1fr;gap:32px}.prose p,.prose li{font-size:1rem}.prose h2{font-size:2.4rem}.faq-list summary{font-size:1rem;line-height:1.65}.faq-list details{padding:22px 0}.faq-list .faq-answer p{font-size:1rem;line-height:1.85}.faq-intro h2{font-size:3.35rem}.home-answers .faq-grid{gap:25px}.faq-group h2{font-size:2.65rem}.faq-group{margin-bottom:45px}.faq-topics{gap:0 20px}.faq-topics a{font-size:.8125rem;padding:16px 0;align-items:start;gap:10px}.faq-context{font-size:.875rem;line-height:1.6}.faq-hub{padding-top:35px}.faq-tools{grid-template-columns:1fr}.service-catalogue{grid-template-columns:1fr;gap:43px}.service-tile h2{font-size:2.6rem}.service-tile-image{aspect-ratio:1.45}.service-tile-body{padding-top:24px}.service-tile-body .eyebrow{font-size:.75rem}.story-section .section-head{display:block}.story-section h2{font-size:3.2rem}.story-section .section-head>p{font-size:1rem;max-width:100%}.swipe-hint{display:flex;align-items:center;justify-content:space-between;font-size:.8125rem;color:var(--muted);border-top:1px solid #d8dcd2;padding-top:16px;margin-bottom:15px}.story-strip{display:flex;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;gap:25px;padding-bottom:22px;scrollbar-width:thin;scrollbar-color:#c8b58f #f0eee7}.story-card{flex:0 0 89%;scroll-snap-align:start}.story-copy h3{font-size:2.05rem}.story-copy{padding-top:23px;padding-left:34px}.story-copy p{font-size:1rem}.story-tail{margin-top:26px;justify-content:flex-start}.story-detailed .story-strip{display:grid;grid-template-columns:1fr;gap:43px;overflow:visible}.story-detailed .swipe-hint{display:none}.story-detailed .story-copy{padding-left:37px}.story-outcome{font-size:.9375rem}.knowledge-index .panel-grid{grid-template-columns:1fr;gap:12px}.knowledge-index .panel h3{font-size:2.45rem}.contact-band{padding:64px 0}.contact-band h2{font-size:3.25rem}.contact-band p{font-size:1rem}.site-footer{padding-top:65px}.site-footer .brand-mark{width:33px;height:39px}.site-footer .brand-name{font-size:1.8rem}.sticky-contact{font-size:.875rem;min-height:45px}.footer-bottom{padding-bottom:48px}}
@media(max-width:370px){.brand-name{font-size:1.22rem}.brand-mark{display:grid;width:23px;height:29px;font-size:22px}.brand{gap:8px}.brand-name small{font-size:.5625rem;letter-spacing:.16em}.header-actions{gap:7px}.languages{gap:7px;font-size:.75rem}.home .hero h1{font-size:3.1rem}.hero-footer{gap:13px}.hero-footer .image-attribution{max-width:125px}.story-card{flex-basis:94%}}
@media(prefers-reduced-motion:reduce){.service-tile-image img{transition:none}html{scroll-behavior:auto}.story-strip{scroll-behavior:auto}}
