:root{--pine:#16302b;--pine2:#1f423b;--fog:#eef1ec;--bone:#f8f6f0;--cop:#b0602f;--copl:#e0a77c;--ink:#16211f;--mute:#566360}
html{scroll-behavior:smooth;scroll-padding-top:150px}
html,body{overflow-x:hidden}
body{font-family:'Figtree',system-ui,sans-serif;color:var(--ink);background:var(--bone);font-size:1.075rem;line-height:1.65}
h1,h2,h3,h4,.disp{font-family:'Bodoni Moda',Georgia,serif;font-weight:600;line-height:1.05}
a{color:var(--cop)}
.eyebrow{font-family:'Figtree',sans-serif;font-size:.78rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--cop);display:block;margin-bottom:.8rem}
.eyebrow.lt{color:var(--copl)}
.rose{position:absolute;pointer-events:none;color:var(--pine);opacity:.07}
.rose.lt{color:#fff;opacity:.07}
/* nav: centered logo over links */
.topbar{background:var(--pine);color:#cfe0da;font-size:.9rem;padding:.35rem 0;text-align:center}
.topbar a{color:var(--copl);font-weight:700;text-decoration:none}
.navbar.site-nav{background:var(--bone);border-bottom:1px solid #d9d9cf;padding:.6rem 0 0;position:sticky;top:0;z-index:1030}
.site-nav .container{flex-direction:column;align-items:center}
.site-nav .brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--pine);margin:0 0 .3rem}
.site-nav .brand img{height:52px;width:auto}
.site-nav .brand span{font-family:'Bodoni Moda',serif;font-weight:700;font-size:1.35rem;letter-spacing:.14em;text-transform:uppercase;line-height:1}
.site-nav .brand small{display:block;font-family:'Figtree',sans-serif;font-size:.62rem;letter-spacing:.34em;font-weight:600;color:var(--cop);margin-top:3px}
.navbar.site-nav .navbar-collapse{justify-content:center;width:100%}
.site-nav .nav-link{color:var(--pine);font-weight:600;font-size:.92rem;letter-spacing:.06em;text-transform:uppercase;padding:.7rem 1.1rem}
.site-nav .nav-link:hover{color:var(--cop)}
.site-nav .navbar-toggler{position:absolute;right:1rem;top:1.1rem;border-color:var(--pine)}
.btn-cop{background:var(--cop);color:#fff;border:2px solid var(--cop);border-radius:0;font-weight:700;letter-spacing:.05em;padding:.85rem 1.7rem;text-transform:uppercase;font-size:.9rem}
.btn-cop:hover{background:var(--pine);border-color:var(--pine);color:#fff}
.btn-line{border:2px solid var(--pine);color:var(--pine);border-radius:0;font-weight:700;letter-spacing:.05em;padding:.85rem 1.7rem;text-transform:uppercase;font-size:.9rem}
.btn-line:hover{background:var(--pine);color:#fff}
/* hero */
.hero{position:relative;overflow:hidden;background:var(--fog);padding:4.5rem 0 5rem}
.hero .rose{width:620px;right:-140px;top:-60px}
.hero h1{font-size:clamp(2.8rem,7vw,5.6rem);color:var(--pine);letter-spacing:-.015em}
.hero h1 em{color:var(--cop);font-style:italic}
.hero .lead{max-width:34rem;color:var(--mute);font-size:1.2rem;margin:1.4rem 0 2rem}
.coords{font-size:.8rem;letter-spacing:.2em;color:var(--mute);margin-top:2rem;text-transform:uppercase}
.inset{position:relative}
.inset img{width:100%;display:block;aspect-ratio:1/1;object-fit:cover;box-shadow:16px 16px 0 var(--pine)}
.inset .tag{position:absolute;left:-14px;bottom:30px;background:var(--cop);color:#fff;padding:.5rem 1rem;font-weight:700;letter-spacing:.12em;font-size:.78rem;text-transform:uppercase}
/* sections */
section{position:relative}
.sec{padding:5.5rem 0}
.sec h2{font-size:clamp(2.1rem,4.4vw,3.4rem);color:var(--pine)}
/* practice index */
.areas{background:var(--bone)}
.area{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:2rem;padding:2.2rem 0;border-top:1px solid #cfd2c6}
.area:last-child{border-bottom:1px solid #cfd2c6}
.area h3{font-size:clamp(1.8rem,3.4vw,2.7rem);color:var(--pine)}
.area h3 small{display:block;font-family:'Figtree',sans-serif;font-size:.74rem;letter-spacing:.2em;color:var(--cop);text-transform:uppercase;font-weight:700;margin-bottom:.5rem}
.area ul{list-style:none;padding:0;margin:0;columns:2;column-gap:2rem}
.area li{padding:.35rem 0 .35rem 1.4rem;position:relative;break-inside:avoid;font-weight:500}
.area li:before{content:"";position:absolute;left:0;top:.95rem;width:8px;height:8px;background:var(--cop);transform:rotate(45deg)}
.areaimg{width:100%;aspect-ratio:3/4;object-fit:cover;box-shadow:12px 12px 0 var(--copl)}
/* approach / route */
.approach{background:var(--pine);color:#e5eee9;overflow:hidden}
.approach h2{color:#fff}
.approach .rose{width:520px;left:-160px;bottom:-200px}
.route{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:3.5rem}
.route:before{content:"";position:absolute;left:0;right:0;top:19px;border-top:2px dashed var(--copl);opacity:.7}
.stop{position:relative;padding-top:3.2rem}
.stop:before{content:"";position:absolute;left:0;top:8px;width:24px;height:24px;border:3px solid var(--copl);background:var(--pine);transform:rotate(45deg)}
.stop .when{font-family:'Bodoni Moda',serif;font-size:1.9rem;color:var(--copl);line-height:1}
.stop h3{font-size:1.4rem;color:#fff;margin:.4rem 0 .5rem}
.stop p{margin:0;color:#c9dad3;font-size:1rem}
/* about / why */
.about img{width:100%;display:block}
.about .frame{box-shadow:-14px 14px 0 var(--copl)}
.checks{list-style:none;padding:0;margin:1.2rem 0 1.6rem}
.checks li{padding:.3rem 0 .3rem 1.6rem;position:relative}
.checks li:before{content:"";position:absolute;left:0;top:.95rem;width:8px;height:8px;background:var(--cop);transform:rotate(45deg)}
/* team */
.team{background:var(--fog)}
.card-p{background:var(--pine);color:#fff;height:100%}
.card-p img{width:100%;aspect-ratio:5/7;object-fit:cover;object-position:top;display:block}
.card-p .meta{padding:1rem 1.1rem 1.2rem;border-top:4px solid var(--cop)}
.card-p h3{font-size:1.25rem;margin:0;color:#fff}
.card-p p{margin:.2rem 0 0;color:var(--copl);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700}
/* quote band */
.band{background:var(--cop);color:#fff;padding:3.2rem 0;text-align:center}
.band p{font-family:'Bodoni Moda',serif;font-size:clamp(1.5rem,3.4vw,2.5rem);font-style:italic;margin:0 auto;max-width:900px;line-height:1.25}
/* articles */
.art{background:#fff;border:1px solid #d9d9cf;padding:1.6rem;height:100%;border-top:4px solid var(--pine)}
.art h3{font-size:1.3rem;color:var(--pine)}
.art p{color:var(--mute);margin:0;font-size:1rem}
/* contact */
.contact{background:var(--pine);color:#e5eee9}
.contact h2{color:#fff}
.contact a{color:var(--copl)}
.info dt{font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--copl);font-weight:700;margin-top:1.3rem}
.info dd{margin:0;font-size:1.2rem}
.phone{font-family:'Bodoni Moda',serif;font-size:2.4rem;color:#fff!important;text-decoration:none}
.map{width:100%;height:100%;min-height:380px;border:0;display:block}
/* footer */
footer{background:#0e201c;color:#9db3ac;padding:2.5rem 0;font-size:.92rem}
footer img{height:44px;filter:invert(1);opacity:.9}
footer a{color:var(--copl)}
.disclaimer{font-size:.78rem;color:#7f958e}
@media(max-width:991px){
.route{grid-template-columns:1fr 1fr;row-gap:2.5rem}.route:before{display:none}
.area{grid-template-columns:1fr}
.site-nav .brand img{height:40px}.site-nav .brand span{font-size:1.1rem}
.navbar.site-nav .navbar-collapse{padding-bottom:.6rem}
.hero{padding:3rem 0 4rem}.hero .rose{width:380px;right:-120px}
}
@media(max-width:575px){.area ul{columns:1}.route{grid-template-columns:1fr}.sec{padding:4rem 0}.phone{font-size:2rem}.inset .tag{left:0}}
.plate{background:var(--pine);color:var(--copl);padding:2.5rem;text-align:center;box-shadow:-14px 14px 0 var(--copl)}.plate svg{width:min(320px,80%);opacity:.9}.plate p{margin:1.2rem 0 0;color:#cfe0da;letter-spacing:.2em;text-transform:uppercase;font-size:.8rem;font-weight:700}
