:root{--bone:#f3eee5;--ink:#1c1a18;--terra:#b66a4d;--teal:#164e4a;--ochre:#c49946;--mist:#aabfba;--paper:#fffdf9;--line:rgba(28,26,24,.22);--serif:"Bodoni Moda",Georgia,serif;--story:"Cormorant Garamond",Georgia,serif;--sans:"Manrope",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bone);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}a{color:inherit}.skip{position:fixed;top:-4rem;left:1rem;z-index:20;background:var(--ink);color:white;padding:.8rem 1rem}.skip:focus{top:1rem}.site-header{height:92px;padding:0 3.8vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(243,238,229,.95);backdrop-filter:blur(12px);position:sticky;top:0;z-index:10}.wordmark{font-family:var(--serif);font-style:italic;font-size:clamp(1.4rem,2.4vw,2.2rem);letter-spacing:.04em;text-decoration:none;white-space:nowrap}.site-header nav{display:flex;align-items:center;gap:clamp(.8rem,1.55vw,1.7rem);font-size:.76rem;letter-spacing:.07em;text-transform:uppercase}.site-header nav>a,.nav-group>a{text-decoration:none;padding:.75rem 0;border-bottom:1px solid transparent}.site-header nav>a:hover,.site-header nav>a.active,.nav-group>a:hover{border-color:var(--ink)}.nav-cta{border:1px solid var(--ink)!important;padding:.65rem .9rem!important}.nav-group{position:relative}.subnav{display:none;position:absolute;top:100%;left:-1rem;min-width:190px;background:var(--paper);border:1px solid var(--line);padding:.6rem}.nav-group:hover .subnav,.nav-group:focus-within .subnav{display:grid}.subnav a{padding:.55rem;text-decoration:none}.subnav a:hover{background:var(--bone)}.menu-toggle{display:none;border:1px solid var(--ink);background:transparent;padding:.55rem .75rem;font:500 .75rem var(--sans);text-transform:uppercase;letter-spacing:.08em}
main{min-height:70vh}.page{animation:enter .55s ease both}@keyframes enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.hero{min-height:calc(100vh - 92px);display:grid;grid-template-columns:55% 45%;border-bottom:1px solid var(--line)}.hero-media{min-height:680px;background-size:cover;background-position:center;position:relative}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(28,26,24,.46))}.hero-copy{padding:7vw 6vw 5vw;display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.18em;color:var(--teal);font-weight:600}.hero h1,.page-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(3.5rem,7.6vw,7.8rem);line-height:.92;margin:.35em 0 .2em;letter-spacing:-.045em}.hero h1 em,.page-hero h1 em{font-weight:400;color:var(--terra)}.lede{font-family:var(--story);font-size:clamp(1.35rem,2.3vw,2.05rem);line-height:1.28;max-width:640px;margin:.7rem 0 1.8rem}.button-row{display:flex;gap:.8rem;flex-wrap:wrap}.button{display:inline-block;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:600;background:var(--ink);color:var(--paper);padding:.95rem 1.2rem;border:1px solid var(--ink)}.button.alt{background:transparent;color:var(--ink)}.section{padding:7vw 5vw;border-bottom:1px solid var(--line)}.section.dark{background:var(--ink);color:var(--bone)}.section.teal{background:var(--teal);color:var(--bone)}.section-head{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-bottom:3.5rem}.section h2,.split h2{font:400 clamp(2.5rem,5vw,5.7rem)/1 var(--serif);letter-spacing:-.04em;margin:0}.section-head p{max-width:600px;margin:0}.editorial-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1.1rem}.card{grid-column:span 4;border-top:1px solid currentColor;padding-top:1rem}.card.wide{grid-column:span 6}.card h3{font:400 2rem/1.12 var(--serif);margin:.4rem 0}.card p{font-size:.9rem}.card .number{font:italic 1.15rem var(--story);color:var(--terra)}.image-card{min-height:490px;position:relative;background-size:cover;background-position:center;display:flex;align-items:flex-end;padding:1.5rem;color:white;text-decoration:none;overflow:hidden}.image-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(15,14,12,.74))}.image-card>div{position:relative;z-index:1}.image-card h3{font:400 2.4rem/1 var(--serif);margin:.2rem 0}.image-card p{margin:.45rem 0}.image-card:hover{filter:saturate(1.1)}.quote-band{padding:6vw 8vw;background:var(--terra);color:var(--paper);font:italic clamp(2rem,4vw,4.6rem)/1.15 var(--story);text-align:center}.page-hero{padding:8vw 5vw 5vw;border-bottom:1px solid var(--line);display:grid;grid-template-columns:2fr 1fr;gap:5vw;align-items:end}.page-hero h1{font-size:clamp(4rem,9vw,9rem);margin:0}.page-hero p{font-family:var(--story);font-size:1.5rem;line-height:1.3}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--ink)}.gallery-item{min-height:390px;background:var(--bone);padding:2rem;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}.gallery-item.photo{background-size:cover;background-position:center;color:white}.gallery-item.photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.66))}.gallery-item>*{position:relative;z-index:1}.gallery-item h3{font:400 2rem/1.1 var(--serif);margin:.3rem 0}.tag{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase}.split{display:grid;grid-template-columns:1fr 1fr;min-height:680px;border-bottom:1px solid var(--line)}.split-copy{padding:7vw 6vw;display:flex;justify-content:center;flex-direction:column}.split-media{background-size:cover;background-position:center;min-height:550px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line)}.stat{background:var(--bone);padding:2.5rem}.stat strong{display:block;font:400 3.2rem var(--serif)}.service-list{list-style:none;padding:0;margin:2rem 0}.service-list li{padding:1rem 0;border-top:1px solid currentColor;display:flex;justify-content:space-between;gap:1rem}.case-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line)}.case{background:var(--paper);padding:4vw;min-height:340px}.case h3{font:400 2.3rem var(--serif);margin:.4rem 0}.process{counter-reset:step;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line)}.process div{background:var(--bone);padding:2.2rem}.process div:before{counter-increment:step;content:"0"counter(step);font:italic 1.2rem var(--story);color:var(--terra)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-grid label{display:grid;gap:.4rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.form-grid input,.form-grid textarea,.form-grid select{width:100%;background:transparent;border:0;border-bottom:1px solid var(--ink);padding:.8rem .2rem;font:1rem var(--sans);border-radius:0}.form-grid .full{grid-column:1/-1}.form-grid textarea{min-height:120px;border:1px solid var(--ink);padding:.8rem}.note{font-size:.78rem;color:#69635c}.route-link{color:inherit;text-underline-offset:.25em}footer{padding:4rem 5vw 2rem;display:grid;grid-template-columns:1fr 1fr;gap:2rem;background:var(--ink);color:var(--bone)}.footer-links{display:grid;justify-content:end;text-align:right}.footer-links a{text-decoration:none}.copyright{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.2);padding-top:1.5rem;font-size:.72rem}
@media(max-width:900px){.site-header{height:74px}.menu-toggle{display:block}.site-header nav{display:none;position:absolute;top:74px;left:0;right:0;background:var(--bone);padding:1.2rem 5vw;align-items:stretch;flex-direction:column;border-bottom:1px solid var(--ink);font-size:.84rem}.site-header nav.open{display:flex}.subnav{display:grid;position:static;border:0;background:transparent;padding:0 0 0 1rem}.hero{grid-template-columns:1fr}.hero-media{min-height:55vh;order:2}.hero-copy{padding:12vw 7vw}.section,.page-hero{padding:14vw 7vw}.page-hero,.section-head,.split{grid-template-columns:1fr}.page-hero{gap:1.5rem}.section-head{gap:1.5rem}.card,.card.wide{grid-column:span 12}.gallery{grid-template-columns:1fr}.gallery-item{min-height:420px}.split-media{order:-1;min-height:60vh}.stats,.process{grid-template-columns:1fr 1fr}.case-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}footer{grid-template-columns:1fr}.footer-links{justify-content:start;text-align:left}.copyright{grid-column:auto}}
@media(max-width:520px){.hero h1,.page-hero h1{font-size:3.7rem}.hero-media{min-height:48vh}.stats,.process{grid-template-columns:1fr}.image-card{min-height:410px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important}}
.story-button{border:0;text-align:left;font:inherit;cursor:pointer;width:100%}.destination-index{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line)}.destination-region{background:var(--paper);padding:2rem}.destination-region h3{font:400 1.8rem var(--serif);margin:.2rem 0 1rem}.destination-region p{font-size:.88rem}dialog{width:min(1100px,94vw);max-height:92vh;padding:0;border:1px solid var(--ink);background:var(--bone);color:var(--ink)}dialog::backdrop{background:rgba(28,26,24,.82);backdrop-filter:blur(4px)}.dialog-close{position:sticky;top:0;z-index:2;float:right;margin:1rem;border:1px solid var(--ink);background:var(--bone);padding:.7rem 1rem;text-transform:uppercase;letter-spacing:.1em;font:600 .7rem var(--sans)}.story-modal-head{padding:5vw 5vw 2vw}.story-modal-head h2{font:400 clamp(3rem,7vw,7rem)/.95 var(--serif);margin:.2rem 0}.story-meta{display:flex;gap:1.5rem;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:1rem;font-size:.74rem;text-transform:uppercase;letter-spacing:.08em}.story-gallery{display:grid;grid-template-columns:2fr 1fr;gap:1px;background:var(--ink)}.story-gallery div{min-height:360px;background-size:cover;background-position:center}.story-gallery div:first-child{grid-row:span 2;min-height:721px}.story-summary{padding:4vw 5vw;display:grid;grid-template-columns:1fr 1fr;gap:4rem}.story-summary h3{font:400 2.2rem var(--serif);margin:0}.story-summary p{margin-top:0}@media(max-width:900px){.destination-index{grid-template-columns:1fr 1fr}.story-gallery,.story-summary{grid-template-columns:1fr}.story-gallery div:first-child{grid-row:auto;min-height:480px}}@media(max-width:520px){.destination-index{grid-template-columns:1fr}}
