
/* Layout: burgundy hero with the drawn monogram, ivory sections that alternate with deeper ivory, one burgundy band for the school/consult family, quiet corporate type throughout. */
:root{
  --bg:#F7F3EC; --bg-alt:#EFE8DC; --fg:#1F1B1C; --muted:#5C5557; --rule:#D8D0C4;
  --accent:#6B0F1A; --btn-bg:#6B0F1A; --btn-fg:#F7F3EC; --sq:#BF9D63;
  --burg:#6B0F1A; --burg-fg:#F7F3EC; --burg-muted:#E0D3CC; --brass:#BF9D63; --brass-btn-fg:#4E0A13;
  --serif:'Baskervville','Libre Baskerville',Georgia,'Times New Roman',serif;
  --sans:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#171213; --bg-alt:#1F181A; --fg:#F1EBE2; --muted:#B9AEA9; --rule:#3A2F32;
  --accent:#D6B77F; --btn-bg:#D6B77F; --btn-fg:#2A0A10; --sq:#D6B77F; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#171213; --bg-alt:#1F181A; --fg:#F1EBE2; --muted:#B9AEA9; --rule:#3A2F32;
  --accent:#D6B77F; --btn-bg:#D6B77F; --btn-fg:#2A0A10; --sq:#D6B77F; color-scheme:dark}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:5.5rem}
body{background:var(--bg);color:var(--fg);font-family:var(--sans);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.01em;line-height:1.1;margin:0;text-wrap:balance}
p{margin:0}
.wrap{width:100%;max-width:1160px;margin-inline:auto;padding-inline:clamp(16px,4vw,40px)}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:2px}
.burg :focus-visible,.hero :focus-visible{outline-color:var(--brass)}
.skip{position:absolute;left:-999px;top:0;background:var(--btn-bg);color:var(--btn-fg);padding:.6rem 1rem;z-index:50}
.skip:focus{left:8px;top:8px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font:600 .95rem/1 var(--sans);padding:1rem 1.5rem;border:1.5px solid transparent;text-decoration:none;cursor:pointer;background:var(--btn-bg);color:var(--btn-fg);transition:transform .15s ease,opacity .15s ease}
.btn:hover{opacity:.92;transform:translateY(-1px)}
.btn.sm{padding:.7rem 1.1rem;font-size:.88rem}
.btn.brass{background:var(--brass);color:var(--brass-btn-fg)}
.btn.line{background:transparent;color:var(--burg-fg);border-color:rgba(247,243,236,.5)}
/* header */
header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:var(--bg);border-bottom:1px solid var(--rule)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4.4rem}
.logo{display:block;color:var(--fg);line-height:0}.logo svg{height:2.1rem;width:auto;display:block}
nav.main{display:flex;align-items:center;gap:1.7rem}
nav.main a.l{text-decoration:none;font-size:.92rem;font-weight:500;color:var(--fg);padding:.4rem 0;border-bottom:1.5px solid transparent}
nav.main a.l:hover{border-color:var(--accent)}
.tools{display:flex;align-items:center;gap:.6rem}
.ib{font:500 .8rem var(--sans);background:transparent;color:var(--fg);border:1px solid var(--rule);padding:.5rem .7rem;cursor:pointer}
.menu{display:none}
@media (max-width:860px){
  .menu{display:inline-block}
  nav.main{position:absolute;left:0;right:0;top:100%;background:var(--bg);border-bottom:1px solid var(--rule);flex-direction:column;align-items:stretch;gap:0;padding:.5rem clamp(16px,4vw,40px) 1.2rem;display:none}
  nav.main.open{display:flex}
  nav.main a.l{padding:.9rem 0;border-bottom:1px solid var(--rule);font-size:1rem}
  nav.main .btn{margin-top:1rem}
  header.top{position:sticky}
}
/* hero */
.hero{background:var(--burg);color:var(--burg-fg);position:relative;overflow:hidden}
.hero .main{position:relative;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:2rem;align-items:center;padding-block:clamp(3.5rem,8vw,6.5rem) clamp(3rem,6vw,5rem)}
.hero h1{font-size:clamp(2.5rem,6.2vw,5rem);line-height:1.04;color:var(--burg-fg)}
.hero .lede{margin-top:1.6rem;max-width:34rem;font-size:clamp(1.05rem,1.6vw,1.2rem);line-height:1.6;color:var(--burg-muted)}
.hero .cta{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2.2rem}
.mark{width:100%;max-width:340px;justify-self:end;height:auto}
.mark .ring{fill:var(--burg-fg);opacity:.2}
.mark .stem{fill:var(--burg-fg)}
.mark .t{fill:var(--brass);transform-box:fill-box;transform-origin:top;animation:grow .9s cubic-bezier(.2,.7,.2,1) both}
.mark .t:nth-of-type(2){animation-delay:.12s}.mark .t:nth-of-type(3){animation-delay:.24s}.mark .t:nth-of-type(4){animation-delay:.36s}
@keyframes grow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
.hero .tag{border-top:1px solid rgba(247,243,236,.22)}
.hero .tag p{padding-block:1.1rem;font-size:.82rem;letter-spacing:.22em;text-transform:uppercase;color:var(--brass);font-weight:500}
@media (max-width:760px){.hero .main{grid-template-columns:minmax(0,1fr)}.mark{max-width:150px;justify-self:start;order:-1}}
/* sections */
section{padding-block:clamp(3.5rem,8vw,6.5rem)}
.alt{background:var(--bg-alt)}
h2{font-size:clamp(1.9rem,3.8vw,3rem)}
.lead{color:var(--muted);max-width:40rem;margin-top:1.1rem;font-size:1.08rem}
/* gap */
.gap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,6vw,5rem);align-items:start}
.gap h2{font-size:clamp(2rem,4.4vw,3.4rem)}
.probs{list-style:none;margin:0;padding:0}
.probs li{display:flex;gap:1rem;align-items:baseline;padding:1rem 0;border-top:1px solid var(--rule);font-size:1.05rem}
.probs li:last-child{border-bottom:1px solid var(--rule)}
.probs li::before{content:"";flex:none;width:.6rem;height:.6rem;background:var(--sq);position:relative;top:-.05rem}
@media (max-width:820px){.gap{grid-template-columns:minmax(0,1fr)}}
/* who */
.who{list-style:none;margin:2.6rem 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:2.5rem}
.who li{padding:1.3rem 0;border-top:1px solid var(--rule);font-family:var(--serif);font-size:clamp(1.25rem,2.2vw,1.55rem);line-height:1.2}
.also{margin-top:1.6rem;color:var(--muted);max-width:44rem}
@media (max-width:820px){.who{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.who{grid-template-columns:minmax(0,1fr)}}
/* approach */
.pil{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.5rem,4vw,3.5rem);margin-top:3rem}
.pil div{border-top:3px solid var(--accent);padding-top:1.4rem}
.pil h3{font-size:clamp(1.7rem,3vw,2.3rem);color:var(--accent)}
.pil p{margin-top:.8rem;color:var(--muted)}
@media (max-width:760px){.pil{grid-template-columns:minmax(0,1fr)}}
/* family band */
.burg{background:var(--burg);color:var(--burg-fg)}
.burg h2{color:var(--burg-fg)}
.fam{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,6vw,5rem);align-items:center}
.fam p.t{margin-top:1.3rem;color:var(--burg-muted);max-width:30rem;font-size:1.08rem}
.tree{display:flex;flex-direction:column;align-items:center;gap:0}
.tree .p{border:1.5px solid rgba(247,243,236,.55);padding:1.1rem 2.4rem;font-family:var(--serif);font-size:1.6rem;text-align:center}
.tree .ln{width:1.5px;height:2rem;background:var(--brass)}
.tree .kids{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;width:100%;position:relative}
.tree .kids::before{content:"";position:absolute;left:25%;right:25%;top:-1px;height:1.5px;background:var(--brass)}
.tree .k{border:1.5px solid rgba(247,243,236,.55);padding:1.2rem 1rem;text-align:center;font-family:var(--serif);font-size:1.3rem;line-height:1.2}
.tree .k small{display:block;margin-top:.5rem;font:500 .74rem var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--burg-muted)}
.tree .k.me{background:var(--burg-fg);color:var(--burg)}
.tree .k.me small{color:#5A1520}
@media (max-width:820px){.fam{grid-template-columns:minmax(0,1fr)}}
/* footer */
footer{background:var(--bg-alt);border-top:1px solid var(--rule);padding-block:3rem 2.5rem}
.ft{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2rem}
.ft .logo svg{height:2.4rem}
.ft p{color:var(--muted);font-size:.92rem;margin-top:.9rem;max-width:26rem}
.ft ul{list-style:none;margin:0;padding:0;display:grid;gap:.55rem;font-size:.95rem}
.ft a{text-decoration:none}.ft a:hover{text-decoration:underline}
.legal{margin-top:2.2rem;padding-top:1.2rem;border-top:1px solid var(--rule);font-size:.82rem;color:var(--muted);display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.mark .t{animation:none}.btn{transition:none}}

/* contact */
.contact{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,6vw,5rem);align-items:start}
.det{margin-top:2rem;display:grid;gap:1.2rem}
.det dt{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600}
.det dd{margin:.2rem 0 0;font-size:1.05rem;overflow-wrap:anywhere}
form{display:grid;gap:1.1rem;min-width:0}
.row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem}
label{display:grid;gap:.4rem;font-size:.88rem;font-weight:600}
input,select,textarea{font:400 1rem var(--sans);color:var(--fg);background:var(--bg);border:1px solid var(--muted);padding:.85rem .9rem;width:100%;border-radius:0}
textarea{min-height:7.5rem;resize:vertical}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:1px}
.err{color:#B3261E;font-size:.85rem;font-weight:500}
:root[data-theme="dark"] .err{color:#FF8A80}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .err{color:#FF8A80}}
.note{border:1px solid var(--accent);padding:1.3rem 1.4rem;display:grid;gap:.8rem}
.note strong{font-family:var(--serif);font-weight:400;font-size:1.4rem;color:var(--accent)}
.copy{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center}
.copy code{font:500 .95rem var(--sans);background:var(--bg-alt);padding:.5rem .7rem;overflow-wrap:anywhere}
@media (max-width:820px){.contact{grid-template-columns:minmax(0,1fr)}.row{grid-template-columns:minmax(0,1fr)}}
/* page hero */
.phero{background:var(--burg);color:var(--burg-fg);position:relative;overflow:hidden}
.phero .wrap{position:relative;padding-block:clamp(3rem,7vw,5.5rem)}
.phero h1{font-size:clamp(2.2rem,5vw,3.9rem);max-width:17ch;color:var(--burg-fg)}
.phero p{margin-top:1.4rem;max-width:36rem;font-size:clamp(1.05rem,1.6vw,1.2rem);color:var(--burg-muted)}
.phero .ghost{position:absolute;right:clamp(-60px,-2vw,0px);top:50%;transform:translateY(-50%);width:clamp(180px,24vw,320px);height:auto;opacity:.16}
.phero .ghost *{fill:var(--burg-fg)}
@media (max-width:760px){.phero .ghost{display:none}}
nav.main a.l[aria-current="page"]{border-color:var(--accent)}
/* jump links */
.jump{display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;margin-top:2rem}
.jump a{font-weight:500;text-decoration:none;border-bottom:1.5px solid var(--accent);padding-bottom:.15rem}
/* service sections */
.ss{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,6vw,5rem);align-items:start}
.ss h2{font-size:clamp(1.8rem,3.4vw,2.6rem);color:var(--accent)}
.ss .prob{margin-top:1.6rem;padding-top:1.1rem;border-top:1px solid var(--rule);color:var(--muted);max-width:30rem}
.ss .prob b{display:block;color:var(--fg);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:.35rem}
.ss .btn{margin-top:1.8rem}
.dl{list-style:none;margin:0;padding:0;min-width:0}
.dl li{display:flex;gap:1rem;align-items:baseline;padding:1rem 0;border-top:1px solid var(--rule);font-size:1.05rem}
.dl li:last-child{border-bottom:1px solid var(--rule)}
.dl li::before{content:"";flex:none;width:.55rem;height:.55rem;background:var(--sq);position:relative;top:-.05rem}
@media (max-width:820px){.ss{grid-template-columns:minmax(0,1fr)}}
/* home service list */
.sl{list-style:none;margin:2.4rem 0 0;padding:0;border-top:1px solid var(--rule)}
.sl a{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) auto;gap:1.5rem;align-items:baseline;padding:1.4rem 0;border-bottom:1px solid var(--rule);text-decoration:none}
.sl .n{font-family:var(--serif);font-size:clamp(1.3rem,2.4vw,1.8rem);line-height:1.2}
.sl .d{color:var(--muted)}
.sl .go{font-weight:600;font-size:.9rem;color:var(--accent);white-space:nowrap}
.sl a:hover .n{color:var(--accent)}
@media (max-width:760px){.sl a{grid-template-columns:minmax(0,1fr);gap:.4rem}}
/* audience rows */
.aud{list-style:none;margin:2.4rem 0 0;padding:0;border-top:1px solid var(--rule)}
.aud li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:1.5rem;padding:1.4rem 0;border-bottom:1px solid var(--rule);align-items:baseline}
.aud .n{font-family:var(--serif);font-size:clamp(1.3rem,2.4vw,1.8rem);line-height:1.2;color:var(--accent)}
.aud .d{color:var(--muted)}
.aud .d a{color:var(--fg);font-weight:500}
@media (max-width:700px){.aud li{grid-template-columns:minmax(0,1fr);gap:.4rem}}
/* cta band */
.ctaband .wrap{display:flex;flex-wrap:wrap;gap:1.6rem 3rem;align-items:center;justify-content:space-between}
.ctaband h2{max-width:20ch}
.text2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,6vw,5rem);align-items:start}
.text2 p+p{margin-top:1rem}
.text2 .big{font-family:var(--serif);font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.2;color:var(--accent)}
@media (max-width:820px){.text2{grid-template-columns:minmax(0,1fr)}}
.phero .jump a{color:var(--burg-fg);border-color:var(--brass)}

/* ---- motion: quiet, short, and off for reduced-motion ---- */
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.25s}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes drop{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.hero h1,.phero h1{animation:rise .8s cubic-bezier(.2,.7,.2,1) .05s both}
.hero .lede,.phero p{animation:rise .8s cubic-bezier(.2,.7,.2,1) .2s both}
.hero .cta,.phero .jump{animation:rise .8s cubic-bezier(.2,.7,.2,1) .35s both}
.hero .tag p{animation:fade 1s ease .9s both}
.phero .ghost{animation:fade 1.4s ease .3s both}
nav.main.open{animation:drop .2s ease both}
.note:not([hidden]){animation:rise .5s ease both}
.btn:active{transform:translateY(0)}
/* header settles when the page scrolls */
.bar{transition:min-height .25s ease}
.logo svg{transition:height .25s ease}
header.top{transition:box-shadow .25s ease}
header.top.scrolled{box-shadow:0 8px 20px -14px rgba(0,0,0,.45)}
header.top.scrolled .bar{min-height:3.7rem}
header.top.scrolled .logo svg{height:1.75rem}
/* hover details */
.sl a{transition:padding-left .25s ease}
.sl a:hover{padding-left:.6rem}
.sl .go{background:linear-gradient(currentColor,currentColor) left bottom/0 1.5px no-repeat;padding-bottom:.15rem;transition:background-size .25s ease}
.sl a:hover .go,.sl a:focus-visible .go{background-size:100% 1.5px}
.aud li,.who li{transition:background-color .2s ease}
input,select,textarea{transition:border-color .15s ease,box-shadow .15s ease}
input:focus,select:focus,textarea:focus{border-color:var(--accent)}
/* the pillars' top rules draw in; the family tree builds down */
.pil>div{border-top:0;position:relative}
.pil>div::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--accent);transform-origin:left}
/* scroll reveal: starts partly visible, never hidden */
.js-anim .rv{opacity:.45;transform:translateY(16px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s)}
.js-anim .rv.in{opacity:1;transform:none}
.js-anim .pil>div::before{transform:scaleX(0);transition:transform .9s cubic-bezier(.2,.7,.2,1) .1s}
.js-anim .pil>div.in::before{transform:scaleX(1)}
.js-anim .tree .ln{transform:scaleY(0);transform-origin:top;transition:transform .5s ease .35s}
.js-anim .tree .kids{opacity:.35;transition:opacity .6s ease .8s}
.js-anim .tree.in .ln{transform:scaleY(1)}
.js-anim .tree.in .kids{opacity:1}
@media (prefers-reduced-motion:reduce){
  .hero h1,.hero .lede,.hero .cta,.hero .tag p,.phero h1,.phero p,.phero .jump,.phero .ghost,nav.main.open,.note:not([hidden]){animation:none}
  .js-anim .rv,.js-anim .pil>div::before,.js-anim .tree .ln,.js-anim .tree .kids,.bar,.logo svg,header.top,.sl a,.sl .go{transition:none}
}
.sl.stack a{grid-template-columns:minmax(0,1fr) auto;gap:.3rem 1rem}
.sl.stack .d{grid-column:1}
.sl.stack .go{align-self:center}
/* full-height layout: the page always fills the screen, footer sits at the bottom */
body{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
main{flex:1 0 auto;display:flex;flex-direction:column}
main>section,main>.phero{flex:none}
main>.hero{flex:1 0 auto;display:flex;flex-direction:column}
.hero .main{flex:1;align-content:center}
footer{flex:none}
@media (max-width:760px){main>.hero{min-height:calc(100vh - 8.5rem);min-height:calc(100dvh - 8.5rem)}}
.det a{color:inherit;text-decoration:none;border-bottom:1px solid var(--accent)}
/* resources + checkboxes */
.chk{display:flex!important;gap:.7rem;align-items:flex-start;font-weight:400!important;font-size:.95rem!important}
.chk input{width:auto!important;margin-top:.3rem;flex:none;accent-color:var(--accent)}
.tool{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,6vw,5rem);align-items:start}
.tool .lead{margin-top:1rem}
.card{display:grid;gap:1.1rem;border:1px solid var(--rule);background:var(--bg);padding:clamp(1.2rem,3vw,1.8rem)}
.out{padding:1rem 1.1rem;background:var(--bg-alt);line-height:1.6;font-size:1rem}
.out ul{margin:.4rem 0 0;padding-left:1.1rem}.out li{margin:.35rem 0}.out a{color:var(--accent)}
.qs{list-style:none;margin:0;padding:0;display:grid;gap:.2rem}
.qs li{padding:.65rem 0;border-bottom:1px solid var(--rule)}
.guides{margin-top:2rem;border-top:1px solid var(--rule)}
.guides details{border-bottom:1px solid var(--rule)}
.guides summary{cursor:pointer;list-style:none;padding:1.2rem 0;font-family:var(--serif);font-size:clamp(1.2rem,2.2vw,1.55rem);display:flex;justify-content:space-between;gap:1rem}
.guides summary::-webkit-details-marker{display:none}
.guides summary::after{content:"+";color:var(--accent);font-family:var(--sans)}
.guides details[open] summary::after{content:"\2212"}
.gb{padding:0 0 1.4rem;max-width:44rem;color:var(--muted)}.gb ol{margin:0;padding-left:1.2rem;display:grid;gap:.7rem}.gb b{color:var(--fg)}
.burg .card,#sub{display:grid;gap:1.1rem}
#sub input{background:rgba(255,255,255,.08);color:inherit;border-color:rgba(255,255,255,.4)}
@media (max-width:820px){.tool{grid-template-columns:minmax(0,1fr)}}
.cap{display:grid;gap:.9rem;border-top:1px solid var(--rule);padding-top:1.1rem}
.cap[hidden]{display:none}
.cap p{margin:0}.cap .cm{margin-left:.6rem;font-size:.92rem}
/* articles */
.eyebrow{margin:0 0 1rem!important;font-size:.8rem!important;letter-spacing:.16em;text-transform:uppercase;font-weight:600}
.eyebrow a{color:var(--burg-muted);text-decoration:none;border-bottom:1px solid currentColor}
.phero .meta{margin-top:1.2rem}
.art{max-width:42rem;margin:0 auto;font-size:1.1rem;line-height:1.7}
.art p,.art ul,.art ol{margin:0 0 1.2rem}
.art h2{font-size:clamp(1.4rem,2.6vw,1.8rem);margin:2.2rem 0 .7rem;color:var(--accent)}
.art ul,.art ol{padding-left:1.3rem;display:grid;gap:.5rem}
.art a{color:var(--accent)}
.art .back{margin-top:3rem;padding-top:1.4rem;border-top:1px solid var(--rule);font-size:.98rem}
.sl small{color:var(--muted)}
/* article headings: bigger, bolder */
.phero.ah h1{font-size:clamp(2.8rem,7.5vw,5rem);font-weight:700;line-height:1.04;letter-spacing:-.015em;max-width:19ch}
.phero.ah .wrap{padding-block:clamp(3.5rem,9vw,7rem)}
.phero.ah .meta{font-size:1.05rem;letter-spacing:.04em}
.art h2{font-weight:700}
.alist{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.alist a{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:clamp(1rem,3vw,2.4rem);row-gap:.7rem;padding:clamp(1.8rem,4vw,3rem) 0;border-bottom:1px solid var(--rule);text-decoration:none;color:inherit}
.alist .no{grid-row:1;font-family:var(--serif);font-weight:700;font-size:clamp(1.4rem,3vw,2rem);color:var(--accent);line-height:1.15;padding-top:.35rem}
.alist .tt{font-family:var(--serif);font-weight:700;font-size:clamp(1.9rem,4.8vw,3.3rem);line-height:1.08;letter-spacing:-.012em;transition:color .2s ease}
.alist .sm{grid-column:2;color:var(--muted);font-size:1.08rem;line-height:1.6;max-width:44rem}
.alist .mt{grid-column:2;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.alist .rd{grid-column:2;font-weight:600;color:var(--accent);margin-top:.2rem}
.alist a:hover .tt,.alist a:focus-visible .tt{color:var(--accent)}
/* whatsapp, footer contact, privacy line */
.wa{position:fixed;right:1rem;bottom:1rem;z-index:40;display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1rem;background:var(--accent);color:var(--bg);font-weight:600;font-size:.92rem;text-decoration:none;box-shadow:0 4px 18px rgba(0,0,0,.25);border-radius:999px}
.wa:hover{filter:brightness(1.08)}
.wa:focus-visible{outline:3px solid currentColor;outline-offset:3px}
@media (max-width:480px){.wa span{display:none}.wa{padding:.8rem}}
.fc{margin-top:1rem;font-size:.95rem;line-height:1.8}
.fc a{color:inherit}
.pv{margin:.2rem 0 0;font-size:.85rem;color:var(--muted)}
.pv a{color:inherit}
.legal a{color:inherit}
/* process steps */
.steps{list-style:none;margin:2.4rem 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.6rem;counter-reset:s}
.steps li{border-top:2px solid var(--accent);padding-top:1.1rem;display:grid;gap:.6rem;align-content:start}
.steps .sn{font-family:var(--serif);font-weight:700;font-size:1.9rem;color:var(--accent);line-height:1}
.steps h3{font-size:1.25rem;margin:0}
.steps p{margin:0;color:var(--muted);line-height:1.6}
@media (max-width:900px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.steps{grid-template-columns:minmax(0,1fr)}}
.steps li>div{display:grid;gap:.5rem}
