:root{--esp:#2b1d15;--esp2:#3d2a1e;--parch:#f4ecdc;--paper:#fbf7ee;--amber:#b8651b;--amberl:#e3a468;--sage:#6f7f64;--ink:#2a2018;--mute:#6a5c50}
html{scroll-behavior:smooth;scroll-padding-top:120px}
html,body{overflow-x:hidden}
body{font-family:'Hanken Grotesk',system-ui,sans-serif;color:var(--ink);background:var(--paper);font-size:1.075rem;line-height:1.7}
h1,h2,h3,h4,.disp{font-family:'Gloock',Georgia,serif;font-weight:400;line-height:1.08}
a{color:var(--amber)}
.sec{padding:5.5rem 0;position:relative}
.eyebrow{font-size:.78rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--amber);display:block;margin-bottom:.8rem}
.eyebrow.lt{color:var(--amberl)}
.btn-amber{background:var(--amber);color:#fff;border:0;font-weight:700;padding:.85rem 1.6rem;border-radius:2px}
.btn-amber:hover{background:#9b5212;color:#fff}
.btn-ghost{border:2px solid var(--amberl);color:#fff;font-weight:700;padding:.8rem 1.5rem;border-radius:2px}
.btn-ghost:hover{background:var(--amberl);color:var(--esp)}
/* utility bar + nav */
.util{background:var(--esp);color:#d9c8b4;font-size:.88rem;padding:.4rem 0}
.util a{color:var(--amberl);font-weight:700;text-decoration:none}
.util .sep{opacity:.4;margin:0 .6rem}
.mainbar{position:sticky;top:0;z-index:1030;background:var(--parch);border-bottom:3px solid var(--amber)}
.mainbar .navbar{padding:.55rem 0}
.brand{display:flex;align-items:center;gap:.8rem;text-decoration:none;color:var(--esp)}
.mono{width:46px;height:56px;border-radius:50%;background:#8a4b00;color:#fff;display:grid;place-items:center;font-family:'Hanken Grotesk',sans-serif;font-weight:300;font-size:1.15rem;letter-spacing:-.03em;flex:none}
.brand b{font-family:'Gloock',serif;font-weight:400;font-size:1.35rem;line-height:1.05;display:block}
.brand small{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mute);display:block}
.navbar .nav-link{color:var(--esp);font-weight:600;font-size:.95rem;padding:.5rem .8rem}
.navbar .nav-link:hover{color:var(--amber)}
/* route shields (signature) */
.shield{display:inline-grid;place-items:center;width:2.6rem;height:2.9rem;background:#fff;color:#111;font-weight:800;font-family:'Hanken Grotesk',sans-serif;font-size:1.05rem;border:2.5px solid #111;border-radius:48% 48% 50% 50%/22% 22% 78% 78%;line-height:1;vertical-align:middle}
.shield.sm{width:2rem;height:2.25rem;font-size:.82rem;border-width:2px}
.shield.on-dark{box-shadow:0 0 0 2px var(--esp)}
.route-line{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;font-weight:600}
.route-dash{flex:0 0 2.5rem;height:0;border-top:3px dashed var(--amberl)}
/* hero */
.hero{background:var(--esp);color:#f4ecdc;padding:4.5rem 0 5rem;position:relative;overflow:hidden}
.hero h1{font-size:clamp(2.5rem,5.6vw,4.4rem);color:#fff;margin:.2rem 0 1.2rem}
.hero h1 em{font-style:normal;color:var(--amberl)}
.hero p.lead{font-size:1.2rem;color:#e6d8c5;max-width:34rem}
.arch{width:100%;max-width:400px;aspect-ratio:4/5;border-radius:999px 999px 6px 6px;overflow:hidden;border:6px solid var(--amber);box-shadow:14px 14px 0 rgba(184,101,27,.28);margin:0 auto}
.arch img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;display:block}
.hero .plate{max-width:400px;margin:1.4rem auto 0;text-align:center;font-size:.95rem;color:#d9c8b4}
.hero .plate b{display:block;font-family:'Gloock',serif;font-weight:400;font-size:1.3rem;color:#fff}
.roads{position:absolute;inset:auto -4% -2.5rem auto;width:60%;opacity:.12;color:var(--amberl);pointer-events:none}
/* intro */
.intro p{color:var(--mute)}
.collage{border:6px solid #fff;box-shadow:10px 10px 0 var(--sage);transform:rotate(-1.2deg);width:100%;height:auto}
.stat{display:flex;gap:2rem;flex-wrap:wrap;margin-top:1.8rem}
.stat div{border-left:3px solid var(--amber);padding-left:.9rem}
.stat b{font-family:'Gloock',serif;font-weight:400;font-size:1.7rem;display:block;line-height:1.1;color:var(--esp)}
.stat span{font-size:.85rem;color:var(--mute)}
/* practice */
.practice{background:var(--parch)}
.accordion{--bs-accordion-bg:transparent;--bs-accordion-border-color:rgba(43,29,21,.25);--bs-accordion-btn-focus-box-shadow:none;--bs-accordion-active-bg:transparent;--bs-accordion-active-color:var(--amber);--bs-accordion-btn-padding-y:1.25rem}
.accordion-item{background:transparent;border-left:0;border-right:0}
.accordion-button{font-family:'Gloock',serif;font-size:1.55rem;color:var(--esp);background:transparent;padding-left:0}
.accordion-button:not(.collapsed){box-shadow:none;color:var(--amber)}
.accordion-body{padding:0 0 1.6rem;color:#4a3d32}
.accordion-body img{width:100%;max-width:340px;border:4px solid #fff;box-shadow:6px 6px 0 var(--sage);height:auto}
.sidecard{background:var(--esp);color:#e6d8c5;padding:2rem;border-radius:4px;position:sticky;top:130px}
.sidecard h3{color:#fff;font-size:1.6rem}
.sidecard a.tel{color:var(--amberl);font-family:'Gloock',serif;font-size:2rem;text-decoration:none;display:block;margin:.4rem 0 1rem}
/* mediation / PI */
.mediation{background:var(--sage);color:#fff}
.mediation h2{color:#fff}
.mediation .eyebrow{color:#f4ecdc}
.mediation img{width:100%;height:auto;border:6px solid #fff;box-shadow:-10px 10px 0 rgba(43,29,21,.3)}
.pi img{width:100%;height:auto;border:6px solid #fff;box-shadow:10px 10px 0 var(--amber)}
.pi h3{font-size:1.35rem;margin-top:1.4rem;color:var(--esp)}
.carriers{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;margin-top:1.2rem}
.carriers img{height:56px;width:auto;border-radius:3px;background:#fff;padding:3px;box-shadow:none;border:1px solid rgba(43,29,21,.15)}
/* team */
.team{background:var(--parch)}
.person{background:#fff;border-radius:4px;overflow:hidden;height:100%;border-bottom:4px solid var(--amber)}
.person img{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:50% 25%;display:block;filter:sepia(.35)}
.person .in{padding:1.4rem 1.5rem 1.7rem}
.person h3{font-size:1.5rem;margin:0 0 .15rem}
.person .role{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--amber);font-weight:700;margin-bottom:.8rem;display:block}
.person p{font-size:.97rem;color:var(--mute)}
.tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.7rem}
.tags span{font-size:.76rem;border:1px solid rgba(43,29,21,.25);padding:.12rem .55rem;border-radius:99px;color:var(--esp)}
/* payment */
.steps{counter-reset:s;list-style:none;padding:0;margin:0}
.steps li{counter-increment:s;position:relative;padding:0 0 1.3rem 3.4rem}
.steps li:before{content:counter(s);position:absolute;left:0;top:-.1rem;width:2.3rem;height:2.3rem;border-radius:50%;background:var(--amber);color:#fff;display:grid;place-items:center;font-family:'Gloock',serif}
/* contact */
.contact{background:var(--esp);color:#e6d8c5}
.contact h2{color:#fff}
.contact a{color:var(--amberl)}
.contact .big{font-family:'Gloock',serif;font-size:2.1rem;text-decoration:none;display:block;line-height:1.2}
.contact .off{border-left:3px solid var(--amber);padding-left:1rem;margin:1.4rem 0}
.contact .towns{font-size:.9rem;color:#bba995}
.map{width:100%;height:100%;min-height:380px;border:0;border-radius:4px}
.socials a{margin-right:1rem;font-weight:600}
footer{background:#1d130d;color:#a8957f;font-size:.9rem;padding:2rem 0}
footer a{color:var(--amberl)}
@media(max-width:991px){.sec{padding:3.8rem 0}.sidecard{position:static;margin-top:2rem}.hero{padding:3rem 0 3.5rem}.arch{max-width:300px}}
@media(max-width:575px){.accordion-button{font-size:1.3rem}.util .hide-sm{display:none}}
