
:root{--maroon:#510400;--night:#1E0200;--cream:#F6F0E4;--paper:#FDFAF3;--ink:#2B2226;--ink-soft:#6B5F63;--rule:#D8CCBB;--brass:#A9884F;--display:'Marcellus',serif;--body:'Karla',sans-serif}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--body);background:var(--paper);color:var(--ink);line-height:1.65;font-size:17px}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px}
.eyebrow{font-size:12px;letter-spacing:.24em;text-transform:uppercase;font-weight:600;color:var(--brass)}
.double-rule{border:0;border-top:1px solid var(--maroon);height:3px;border-bottom:1px solid var(--maroon);width:100%}
.double-rule.light{border-color:rgba(246,240,228,.4)}
.btn{display:inline-block;text-decoration:none;font-size:13.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;padding:17px 32px;transition:all .2s;text-align:center}
.btn.solid{background:var(--maroon);color:var(--cream)}
.btn.solid:hover{background:var(--night)}
.btn.brass{background:var(--brass);color:var(--night)}
.btn.brass:hover{background:#c3a267}
.btn.ghost-l{border:1px solid rgba(246,240,228,.6);color:var(--cream)}
.btn.ghost-l:hover{background:var(--cream);color:var(--night)}
/* header */
header{position:sticky;top:0;z-index:60;background:rgba(253,250,243,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--rule)}
.nav{display:flex;align-items:center;gap:26px;padding:15px 0}
.monogram{display:flex;align-items:center;gap:13px;text-decoration:none;margin-right:auto}
.mg-logo{width:46px;height:46px;object-fit:cover}
.mg-name{font-family:var(--display);font-size:18px;color:var(--night);line-height:1.15}
.mg-name small{display:block;font-family:var(--body);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft)}
nav.links{display:flex;gap:26px}
nav.links a{text-decoration:none;font-size:13px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;padding:4px 0;border-bottom:2px solid transparent}
nav.links a:hover,nav.links a.on{color:var(--maroon);border-bottom-color:var(--maroon)}
.hdr-phone{text-decoration:none;font-family:var(--display);font-size:18px;color:var(--maroon);white-space:nowrap}
.lang-switch{display:flex;border:1px solid var(--maroon)}
.lang-switch a{text-decoration:none;padding:8px 11px;font-size:11.5px;letter-spacing:.12em;font-weight:700;color:var(--maroon)}
.lang-switch a.on{background:var(--maroon);color:var(--cream)}
.burger{display:none;background:none;border:1px solid var(--maroon);width:42px;height:42px;cursor:pointer;padding:10px;flex-direction:column;justify-content:space-between}
.burger span{display:block;height:2px;background:var(--maroon)}
/* hero (home) */
.hero{background:linear-gradient(160deg,var(--night) 0%,#3A0602 70%,var(--maroon) 100%);color:var(--cream)}
.hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:60px;align-items:center;padding:86px 0 80px}
h1.big{font-family:var(--display);font-weight:400;font-size:clamp(42px,5.6vw,72px);line-height:1.05;letter-spacing:.01em}
.hero .eyebrow{display:block;margin-bottom:20px}
.hero .lede{margin:26px 0 30px;max-width:54ch;font-size:19px;font-weight:300;color:rgba(246,240,228,.94)}
.hero .lede b{font-weight:700;color:#fff}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap}
.portrait{position:relative;padding:22px}
.portrait::before{content:"";position:absolute;inset:0;border:1px solid var(--brass);pointer-events:none}
.portrait-inner{aspect-ratio:857/1006;background:var(--night) url(/assets/portrait-v1.jpg) center top/cover no-repeat}
/* credentials band */
.creds{background:var(--night);border-top:1px solid rgba(169,136,79,.4);border-bottom:1px solid rgba(169,136,79,.4)}
.creds .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 26px;padding:20px 32px}
.creds span{font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass);font-weight:700}
/* page hero (interior) */
.page-hero{background:linear-gradient(160deg,var(--night),var(--maroon));color:var(--cream);padding:66px 0 58px}
.page-hero h1{font-family:var(--display);font-weight:400;font-size:clamp(32px,4vw,52px);line-height:1.1;margin:16px 0 10px}
.page-hero .sub{font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--brass);font-weight:700}
.page-hero .btn{margin-top:28px}
/* sections */
section{padding:84px 0}
.sec-head{display:grid;grid-template-columns:auto 1fr;gap:26px;align-items:center;margin-bottom:48px}
.sec-head h2{font-family:var(--display);font-weight:400;font-size:clamp(28px,3.2vw,42px);color:var(--night);white-space:nowrap}
/* practice cards (home) */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.card{background:#fff;border:1px solid var(--rule);border-top:3px solid var(--maroon);padding:34px 30px;display:flex;flex-direction:column}
.card h3{font-family:var(--display);font-weight:400;font-size:23px;color:var(--night);margin-bottom:12px}
.card p{font-weight:300;font-size:15.5px;color:var(--ink-soft);flex:1}
.card a.more{margin-top:20px;text-decoration:none;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--maroon)}
.card a.more:hover{color:var(--brass)}
/* detail list (practice pages) */
.intro-p{max-width:74ch;font-size:18.5px;font-weight:300;margin-bottom:8px}
.detail{margin-top:44px}
.detail .item{display:grid;grid-template-columns:minmax(220px,.38fr) 1fr;gap:26px;padding:24px 0;border-top:1px solid var(--rule)}
.detail .item:last-child{border-bottom:1px solid var(--rule)}
.detail h3{font-family:var(--display);font-weight:400;font-size:19.5px;color:var(--maroon)}
.detail p{font-weight:300;color:var(--ink-soft);font-size:15.5px}
/* about */
.about{background:var(--night);color:var(--cream)}
.about .sec-head h2{color:var(--cream)}
.about-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:66px}
.about p{font-weight:300;color:rgba(246,240,228,.92);max-width:62ch;margin-bottom:20px;font-size:17.5px}
.about p b{font-weight:700;color:#fff}
.about-aside{border-left:1px solid rgba(169,136,79,.5);padding-left:38px;align-self:start}
.fact{padding:16px 0;border-bottom:1px solid rgba(246,240,228,.15)}
.fact:last-child{border-bottom:0}
.fact .k{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--brass);margin-bottom:5px;font-weight:700}
.fact .v{font-family:var(--display);font-size:18px}
/* process strip */
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:34px}
.step .num{font-family:var(--display);font-size:40px;line-height:1;color:var(--brass)}
.step h4{font-family:var(--display);font-weight:400;font-size:19px;color:var(--night);margin:9px 0 7px}
.step p{font-size:14.5px;color:var(--ink-soft);font-weight:300}
/* faq */
.faq details{border-top:1px solid var(--rule)}
.faq details:last-child{border-bottom:1px solid var(--rule)}
.faq summary{cursor:pointer;font-family:var(--display);font-size:19.5px;color:var(--night);padding:22px 0;list-style:none;display:flex;justify-content:space-between;gap:22px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:23px;color:var(--brass);flex-shrink:0}
.faq details[open] summary::after{content:"–"}
.faq .faq-a{padding:0 0 26px;max-width:72ch;font-weight:300}
.faq .faq-a a{color:var(--maroon);text-decoration-color:var(--brass)}
/* contact / form */
.contact{background:var(--cream)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:66px;align-items:start}
.contact h2{font-family:var(--display);font-weight:400;font-size:clamp(30px,3.4vw,44px);color:var(--night);margin-bottom:18px}
.contact .note{font-weight:300;max-width:48ch;margin-bottom:30px}
.line{display:grid;grid-template-columns:120px 1fr;gap:18px;padding:16px 0;border-top:1px solid var(--rule);font-size:16px}
.line:last-child{border-bottom:1px solid var(--rule)}
.line .k{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--maroon);font-weight:700;padding-top:4px}
.line a{color:var(--night);text-decoration-color:var(--brass)}
.consult-card{background:var(--paper);border:1px solid var(--maroon);padding:40px}
.consult-card h3{font-family:var(--display);font-weight:400;font-size:23px;color:var(--night);margin-bottom:8px}
.consult-card>p{font-weight:300;font-size:15px;color:var(--ink-soft);margin-bottom:24px}
.consult-card form{display:flex;flex-direction:column;gap:15px}
.field label{font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--maroon);display:block;margin-bottom:6px}
input,select,textarea{width:100%;font-family:var(--body);font-size:15.5px;padding:13px 14px;border:1px solid var(--rule);background:#fff;color:var(--ink);border-radius:0;-webkit-appearance:none;appearance:none}
select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23510400'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}
textarea{min-height:104px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--maroon)}
.consult-card button.btn{border:0;cursor:pointer;font-family:var(--body)}
.alt-line{margin-top:18px;font-size:13.5px;color:var(--ink-soft);text-align:center}
.alt-line a{color:var(--night);text-decoration-color:var(--brass)}
.hidden{display:none}
/* footer */
footer{background:var(--night);color:rgba(246,240,228,.75);padding:50px 0 96px;font-size:13px}
.foot-top{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:14px;margin-bottom:14px}
.foot-name{font-family:var(--display);font-size:18px;color:var(--cream)}
.foot-nap{margin-bottom:22px;color:rgba(246,240,228,.85)}
.foot-nap a{color:var(--cream);text-decoration-color:var(--brass)}
.disclaimer{max-width:88ch;line-height:1.7;font-weight:300}
.disclaimer b{color:var(--cream);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:11px}
/* sticky mobile bar */
.sticky-bar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:70;background:var(--night);border-top:1px solid var(--brass)}
.sticky-bar a{flex:1;text-align:center;padding:16px 8px;text-decoration:none;font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:700}
.sticky-bar .sb-call{color:var(--night);background:var(--brass)}
.sticky-bar .sb-consult{color:var(--cream)}
.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px}
@media (max-width:980px){
  nav.links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);flex-direction:column;gap:0;border-bottom:1px solid var(--rule);padding:6px 32px 12px}
  nav.links.open{display:flex}
  nav.links a{padding:13px 0;border-bottom:1px solid var(--rule)}
  nav.links a:last-child{border-bottom:0}
  .burger{display:flex}
  .hdr-phone{display:none}
  .nav{position:relative}
  .hero-grid{grid-template-columns:1fr;gap:44px;padding:56px 0 60px}
  .portrait{max-width:420px}
  .cards{grid-template-columns:1fr}
  .about-grid,.contact-grid{grid-template-columns:1fr;gap:44px}
  .about-aside{border-left:0;padding-left:0;border-top:1px solid rgba(169,136,79,.5);padding-top:26px}
  .process-grid{grid-template-columns:1fr 1fr}
  .detail .item{grid-template-columns:1fr;gap:8px}
  .sticky-bar{display:flex}
}
@media (max-width:640px){
  .wrap{padding:0 20px}
  section{padding:60px 0}
  .sec-head{grid-template-columns:1fr;gap:12px}
  .sec-head h2{white-space:normal}
  .process-grid{grid-template-columns:1fr}
  .creds .wrap{justify-content:flex-start}
}
