@font-face{font-family:"Everest Serif";src:url(fonts/pagella-regular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Everest Serif";src:url(fonts/pagella-italic.woff) format("woff");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Everest Sans";src:url(fonts/inter-Regular.woff) format("woff");font-weight:400;font-display:swap}
@font-face{font-family:"Everest Sans";src:url(fonts/inter-Medium.woff) format("woff");font-weight:500;font-display:swap}
@font-face{font-family:"Everest Sans";src:url(fonts/inter-SemiBold.woff) format("woff");font-weight:600;font-display:swap}

/* Juniper palette: light pages, deep teal for actions and one closing band */
:root{
  --paper:#F5F8F7;
  --white:#FFFFFF;
  --ink:#17292A;
  --body:#45575A;
  --muted:#576769;
  --line:#D8E3E2;
  --tint:#EAF1F0;
  --juniper:#1F4E4F;
  --juniper-dk:#173D3E;
  --seafoam:#7FA6A3;
  --seafoam-lt:#C0D5D3;
  --accent-text:#2F6766;
  --serif:"Everest Serif","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;
  --sans:"Everest Sans",Inter,-apple-system,"Segoe UI",Roboto,sans-serif;
  --max:1240px;
  --g:clamp(20px,4.5vw,64px);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--white);color:var(--body);font:400 1.0625rem/1.7 var(--sans);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}
:focus-visible{outline:2px solid var(--seafoam);outline-offset:3px}
.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--g)}
h1,h2,h3{font-family:var(--serif);font-weight:400;color:var(--ink);margin:0;letter-spacing:-.01em;text-wrap:balance}
p{margin:0 0 1.1em}
.kicker{display:block;font:600 .875rem/1 var(--sans);color:var(--accent-text);letter-spacing:.05em;margin-bottom:20px}

.btn{display:inline-flex;align-items:center;justify-content:center;font:600 .9375rem/1 var(--sans);text-decoration:none;padding:17px 28px;border-radius:2px;border:1px solid transparent;transition:background .18s,border-color .18s,color .18s;white-space:nowrap}
.btn-primary{background:var(--juniper);color:var(--white)}
.btn-primary:hover{background:var(--juniper-dk)}
.btn-outline{border-color:var(--ink);color:var(--ink)}
.btn-outline:hover{background:var(--ink);color:var(--white)}

/* Header */
.site-head{background:var(--white);border-bottom:1px solid var(--line)}
.util{background:var(--tint);font-size:.875rem;color:var(--muted)}
.util .wrap{display:flex;justify-content:space-between;gap:20px;padding-top:9px;padding-bottom:9px}
.util a{text-decoration:none;color:var(--ink);font-weight:500}
.nav{display:flex;align-items:center;justify-content:space-between;gap:28px;padding-top:22px;padding-bottom:22px}
.logo{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--ink)}
.logo svg{flex:none}
.logo b{font:400 1.6rem/1 var(--serif);white-space:nowrap}
.logo small{display:block;font:500 .75rem/1 var(--sans);letter-spacing:.12em;color:var(--muted);margin-top:6px}
.menu{display:flex;align-items:center;gap:34px;font-size:.9375rem;font-weight:500}
.menu a{text-decoration:none;color:var(--body)}
.menu a:hover{color:var(--ink)}
.menu a[aria-current]:not(.btn){color:var(--ink);box-shadow:0 2px 0 var(--seafoam)}
.menu .btn{padding:13px 22px;color:var(--white)}
.menu .btn .short{display:none}
@media (max-width:980px){.menu a:not(.btn){display:none}}
@media (max-width:520px){.logo small{display:none}.logo b{font-size:1.4rem}.menu .btn{padding:11px 14px;font-size:.8125rem}.menu .btn .long{display:none}.menu .btn .short{display:inline}}
.mnav{display:none}
@media (max-width:980px){
  .mnav{display:block;border-top:1px solid var(--line)}
  .mnav .wrap{display:flex;gap:22px;overflow-x:auto;padding-top:13px;padding-bottom:13px;font-size:.875rem;font-weight:500;scrollbar-width:none}
  .mnav a{color:var(--body);text-decoration:none;white-space:nowrap}
  .mnav a[aria-current]{color:var(--ink);box-shadow:0 2px 0 var(--seafoam)}
}

/* Home hero */
.hero{background:var(--paper)}
.hero-grid{display:grid;grid-template-columns:7fr 5fr;gap:clamp(32px,5vw,80px);align-items:center;padding-top:clamp(56px,8vw,104px);padding-bottom:clamp(56px,8vw,104px)}
.hero h1{font-size:clamp(2.75rem,5vw,4.5rem);line-height:1.05;max-width:16ch;letter-spacing:-.02em}
.hero .lede{font-size:clamp(1.0625rem,1.35vw,1.1875rem);line-height:1.65;max-width:48ch;margin:26px 0 38px}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px}
@media (max-width:860px){.hero-grid{grid-template-columns:1fr}}
.idcard{background:var(--white);border:1px solid var(--line);padding:clamp(28px,3.5vw,40px)}
.idcard-name{font:400 1.625rem/1.2 var(--serif);color:var(--ink);margin:0 0 18px}
.idcard dl{margin:0 0 24px;border-top:1px solid var(--line)}
.idcard dl div{display:grid;grid-template-columns:7.5rem 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:.9375rem}
.idcard dt{color:var(--muted)}
.idcard dd{margin:0;color:var(--ink);font-weight:500}
.textlink{font-weight:600;color:var(--juniper);text-decoration:none;border-bottom:1px solid var(--seafoam);padding-bottom:2px}
.textlink:hover{border-bottom-color:var(--juniper)}

/* Key numbers (legal services) */
.facts-row{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,4vw,56px)}
.facts-row > div{border-top:1px solid var(--ink);padding-top:26px;min-width:0}
.facts-row .big{font:400 clamp(2.5rem,4vw,3.25rem)/1 var(--serif);color:var(--juniper);margin:0 0 18px;letter-spacing:-.02em}
.facts-row h3{font-size:1.375rem;margin-bottom:10px}
.facts-row p:last-child{margin:0}
.facts-row.two{grid-template-columns:1fr 1fr}
@media (max-width:860px){.facts-row,.facts-row.two{grid-template-columns:1fr}}

.creds{background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.creds ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr)}
.creds li{padding:24px 28px 26px 0;font-size:.9375rem;line-height:1.45;color:var(--muted)}
.creds li + li{padding-left:28px;border-left:1px solid var(--line)}
.creds strong{display:block;font:400 1.3125rem/1.2 var(--serif);color:var(--ink);margin-bottom:5px}
@media (max-width:900px){.creds ul{grid-template-columns:1fr 1fr}.creds li:nth-child(3){padding-left:0;border-left:0}.creds li:nth-child(n+3){border-top:1px solid var(--line)}}

/* Inner page header */
.page-hero{background:var(--paper);border-bottom:1px solid var(--line)}
.page-hero .wrap{padding-top:clamp(56px,7vw,96px);padding-bottom:clamp(48px,6vw,80px)}
.page-hero h1{font-size:clamp(2.5rem,4.4vw,3.75rem);line-height:1.08;max-width:26ch}
.page-hero .lede{font-size:clamp(1.0625rem,1.35vw,1.1875rem);max-width:68ch;margin:20px 0 0}

.disclose{background:var(--white);border-bottom:1px solid var(--line);font-size:.9375rem;line-height:1.6;color:var(--muted)}
.disclose p{margin:0;padding:18px 0}
.disclose b{color:var(--ink);font-weight:600}

/* Sections */
.sec{padding:clamp(80px,9vw,128px) 0}
.tinted{background:var(--paper)}
.sec-head{margin-bottom:clamp(36px,4vw,56px)}
.sec-head h2{font-size:clamp(2rem,3.4vw,3rem);line-height:1.08}
.sec-head p{margin:16px 0 0;max-width:68ch}

/* Home: two doors */
.doors{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,36px)}
.door{display:flex;flex-direction:column;text-decoration:none;padding:clamp(32px,4vw,52px);border:1px solid var(--line);background:var(--white);transition:border-color .2s}
.door:hover{border-color:var(--juniper)}
.door .kicker{margin-bottom:16px}
.door h2{font-size:clamp(1.75rem,2.6vw,2.375rem);line-height:1.12;margin-bottom:14px}
.door p{margin-bottom:28px;max-width:44ch}
.door .go{margin-top:auto;align-self:flex-start;font-weight:600;color:var(--juniper);border-bottom:1px solid var(--seafoam);padding-bottom:2px}
.door:hover .go{border-bottom-color:var(--juniper)}
@media (max-width:760px){.doors{grid-template-columns:1fr}}

/* Closing band (home) */
.band{background:var(--juniper);color:#D3E3E2}
.band .wrap{display:grid;gap:clamp(36px,4vw,56px)}
.band h2{color:var(--white);font-size:clamp(2rem,3.4vw,3rem);line-height:1.08}

/* Contact details */
.reach{display:grid;grid-template-columns:1fr 1.3fr 1.3fr;gap:clamp(24px,3vw,48px)}
.reach div{border-top:1px solid rgba(255,255,255,.25);padding-top:18px;min-width:0}
.reach small{display:block;font-size:.875rem;color:rgba(255,255,255,.65);margin-bottom:6px}
.reach a,.reach span{font:400 1.375rem/1.3 var(--serif);color:var(--white);text-decoration:none;overflow-wrap:anywhere}
.reach a:hover{color:var(--seafoam-lt)}
@media (max-width:760px){.reach{grid-template-columns:1fr;gap:20px}}

/* Services grid */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.svc{padding:40px 36px 44px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--white)}
.svc h3{font-size:1.5rem;line-height:1.2;margin:0 0 14px}
.svc p{margin:0}
@media (max-width:980px){.svc-grid{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.svc-grid{grid-template-columns:1fr}.svc{padding:32px 26px 34px}}

/* Situations */
.sit{display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(32px,5vw,72px);border-top:1px solid var(--ink)}
.sit div{padding:30px 0 32px;border-bottom:1px solid var(--line)}
.sit h3{font-size:clamp(1.375rem,2vw,1.75rem);line-height:1.22;margin-bottom:12px}
.sit p{margin:0;max-width:44ch}
@media (max-width:760px){.sit{grid-template-columns:1fr}}

/* Scope */
.scope{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
.scope div{background:var(--white);padding:36px 40px}
.scope h3{font-size:1.5rem;margin-bottom:18px}
.scope ul{list-style:none;margin:0;padding:0}
.scope li{position:relative;padding-left:28px;margin-bottom:12px}
.scope li::before{content:"";position:absolute;left:2px;top:.75em;width:12px;height:1.5px;background:var(--muted)}
.scope .in li::before{width:7px;height:12px;top:.32em;left:3px;background:none;border:solid var(--juniper);border-width:0 2px 2px 0;transform:rotate(45deg)}
@media (max-width:700px){.scope{grid-template-columns:1fr}.scope div{padding:30px 26px}}

/* Consulting list */
.split{display:block}
.split > div:first-child{margin-bottom:clamp(32px,4vw,48px)}
.split h2{font-size:clamp(2rem,3.4vw,3rem);line-height:1.08;margin-bottom:16px}
.split > div:first-child p{max-width:68ch;margin:0}
.list{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.list li{display:grid;grid-template-columns:minmax(220px,1fr) 2fr;gap:clamp(24px,4vw,64px);padding:28px 0;border-bottom:1px solid var(--line)}
.list h3{font-size:1.375rem;line-height:1.25}
.list p{margin:0}
.fine{font-size:.875rem;color:var(--muted);margin-top:22px}
@media (max-width:760px){.list li{grid-template-columns:1fr;gap:8px}}

/* About */
.about-page{background:var(--paper);border-bottom:1px solid var(--line)}
.about-grid{display:grid;grid-template-columns:7fr 5fr;gap:clamp(32px,6vw,96px);align-items:start;padding-top:clamp(28px,4.5vh,64px);padding-bottom:clamp(28px,4.5vh,64px)}
.about-grid h1{font-size:clamp(2.25rem,3.8vw,3.25rem);line-height:1.05}
.about-sub{font:italic 400 1.1875rem/1.4 var(--serif);color:var(--muted);margin:6px 0 22px}
.about-grid p{max-width:58ch}
.about-contact{margin:20px 0 0;padding-top:18px;border-top:1px solid var(--line)}
.about-contact a{color:var(--juniper);font-weight:600;text-decoration:none;border-bottom:1px solid var(--seafoam)}
.about-page .facts div{padding:14px 0}
.about-page .facts dd{font-size:1.125rem}
@media (max-width:860px){.about-grid{grid-template-columns:1fr;gap:24px}
  .about-page .facts{display:grid;grid-template-columns:1fr 1fr;column-gap:20px}
  .about-page .facts div{padding:10px 0}
  .about-page .facts div:last-child{display:none}
  .about-grid{padding-top:24px;padding-bottom:28px}
  .about-sub{margin-bottom:16px}
  .about-grid p{margin-bottom:.9em}
  .about-page .facts dd{font-size:1rem}}
@media (max-width:640px){.util{display:none}.nav{padding-top:16px;padding-bottom:16px}}
.bio{display:grid;grid-template-columns:7fr 5fr;gap:clamp(40px,7vw,120px);align-items:start}
.bio .lead{font:400 clamp(1.5rem,2.4vw,2rem)/1.35 var(--serif);color:var(--ink);margin-bottom:28px}
.facts{margin:0;border-top:1px solid var(--ink)}
.facts div{padding:20px 0;border-bottom:1px solid var(--line)}
.facts dt{font-size:.875rem;color:var(--muted);margin-bottom:4px}
.facts dd{margin:0;font:400 1.25rem/1.35 var(--serif);color:var(--ink)}
@media (max-width:860px){.bio{grid-template-columns:1fr}}

/* FAQ */
.qa{border-top:1px solid var(--ink)}
details{border-bottom:1px solid var(--line)}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px 0;font:400 1.375rem/1.35 var(--serif);color:var(--ink)}
summary::-webkit-details-marker{display:none}
summary::after{content:"";flex:none;width:14px;height:14px;background:
  linear-gradient(var(--juniper),var(--juniper)) center/14px 2px no-repeat,
  linear-gradient(var(--juniper),var(--juniper)) center/2px 14px no-repeat;transition:transform .2s}
details[open] summary::after{transform:rotate(45deg)}
details p{margin:0 0 28px;max-width:80ch}

/* Contact page */
.contact-page .reach div{border-top-color:var(--ink)}
.contact-page .reach small{color:var(--muted)}
.contact-page .reach a,.contact-page .reach span{color:var(--ink);font-size:clamp(1.375rem,2.2vw,1.875rem)}
.contact-page .reach a:hover{color:var(--juniper)}
.contact-note{margin-top:56px;padding-top:28px;border-top:1px solid var(--line);font-size:.9375rem;color:var(--muted);max-width:70ch}

/* CTA strip on inner pages */
.cta{background:var(--paper);border-top:1px solid var(--line)}
.cta .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;padding-top:56px;padding-bottom:56px}
.cta h2{font-size:clamp(1.75rem,2.8vw,2.375rem)}

/* Footer */
footer{background:var(--ink);color:rgba(255,255,255,.72);font-size:.9375rem;line-height:1.6}
footer .logo{color:var(--white)}
.foot-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;padding-top:64px;padding-bottom:48px}
.foot-top h4{margin:0 0 14px;font:600 .875rem/1 var(--sans);color:var(--white)}
.foot-top ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.foot-top a{text-decoration:none}
.foot-top a:hover{color:var(--white)}
.foot-top .logo{margin-bottom:18px}
.foot-top p{max-width:46ch}
.foot-bot{border-top:1px solid rgba(255,255,255,.12);padding-top:24px;padding-bottom:30px;font-size:.875rem;color:rgba(255,255,255,.62)}
.foot-bot p{margin:0 0 6px}
@media (max-width:760px){.foot-top{grid-template-columns:1fr}}
