/* WealthTech Select editorial design system (components + typography).
   Brand color tokens live in tokens.css — link it before this file. */
*{margin:0;padding:0;box-sizing:border-box;}
body{
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-weight:400; line-height:1.6; color:var(--body); background:var(--paper-cool);
  font-feature-settings:"ss01","cv11"; -webkit-font-smoothing:antialiased;
}
.serif{font-family:'Instrument Serif',Georgia,serif;font-weight:400;letter-spacing:-0.01em;}
.mono{font-family:'JetBrains Mono',ui-monospace,Consolas,monospace;}

.sheet{
  max-width:820px; margin:2.5rem auto; background:var(--paper);
  padding:2.6rem 3.2rem 2.2rem; position:relative; overflow:hidden;
  box-shadow:0 1px 40px rgba(31,12,59,0.08); border:1px solid var(--rule);
}
.sheet::before{
  content:""; position:absolute; top:-10%; right:-15%;
  width:55%; height:60%;
  background:radial-gradient(ellipse at top right,rgba(168,123,240,0.16),transparent 62%);
  pointer-events:none; z-index:0;
}
.sheet > *{position:relative;z-index:1;}

/* header */
.top{display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding-bottom:1.1rem; border-bottom:1px solid var(--rule); margin-bottom:1.8rem;}
.top img{height:26px; width:auto; display:block;}
.top .kicker{font-family:'JetBrains Mono',monospace; font-size:0.66rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--muted);}

/* hero */
.eyebrow{display:inline-flex; align-items:center; gap:0.55rem; font-size:0.68rem; letter-spacing:0.16em; text-transform:uppercase; color:var(--pink); font-weight:600; margin-bottom:1rem;}
.eyebrow::before{content:""; width:24px; height:1px; background:var(--pink);}
h1.serif{font-size:clamp(2.1rem,4vw,2.85rem); line-height:1.05; color:var(--ink); letter-spacing:-0.015em; margin-bottom:1rem; max-width:20ch;}
h1.serif em{font-style:italic; color:var(--ink-soft);}
.lead{font-size:1.02rem; line-height:1.55; color:var(--ink-soft); max-width:64ch;}

/* sections */
section{margin-top:1.6rem; break-inside:avoid;}
.label{font-size:0.64rem; letter-spacing:0.16em; text-transform:uppercase; color:var(--pink); font-weight:600; display:block; margin-bottom:0.5rem;}
h2.serif{font-size:1.5rem; line-height:1.12; color:var(--ink); margin-bottom:0.7rem;}
h2.serif .accent{color:var(--pink); font-style:italic;}
p{font-size:0.93rem; line-height:1.58; color:var(--body); margin-bottom:0.65rem;}
p:last-child{margin-bottom:0;}

/* pull quote */
.pull{font-family:'Instrument Serif',Georgia,serif; font-size:1.35rem; line-height:1.3; color:var(--ink); font-style:italic; padding:0.9rem 0 0.9rem 1.5rem; border-left:2px solid var(--pink); margin:1.5rem 0; max-width:44ch;}

/* services list */
.svc{list-style:none; margin-top:0.4rem;}
.svc li{padding-left:1.4rem; position:relative; margin-bottom:0.65rem; break-inside:avoid;}
.svc li::before{content:""; position:absolute; left:0; top:0.62rem; width:7px; height:7px; border-radius:50%; background:var(--pink);}
.svc .name{font-family:'Instrument Serif',Georgia,serif; font-size:1.1rem; color:var(--ink); display:block; line-height:1.2; margin-bottom:0.1rem;}
.svc .desc{font-size:0.9rem; line-height:1.52; color:var(--body);}

/* closing block */
.closing{margin-top:1.8rem; padding:1.3rem 1.6rem; background:var(--paper-cool); border:1px solid var(--rule); border-radius:6px; break-inside:avoid;}
.closing .label{margin-bottom:0.6rem;}
.closing h3{font-family:'Instrument Serif',Georgia,serif; font-size:1.3rem; color:var(--ink); margin-bottom:0.45rem; line-height:1.15;}
.closing p{margin-bottom:0; color:var(--ink-soft);}
.contact{margin-top:0.95rem; padding-top:0.85rem; border-top:1px solid var(--rule); font-family:'JetBrains Mono',monospace; font-size:0.78rem; letter-spacing:0.01em; color:var(--ink-soft); display:flex; flex-wrap:wrap; align-items:center; gap:0.55rem;}
.contact a{color:var(--ink-soft); text-decoration:none; border-bottom:1px solid transparent;}
.contact a:hover{color:var(--pink); border-bottom-color:var(--pink);}
.contact .sep{color:var(--pink);}

/* footer */
footer{margin-top:1.6rem; padding-top:1.1rem; border-top:1px solid var(--rule); display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap;}
footer img{height:22px; width:auto;}
footer .site{font-family:'JetBrains Mono',monospace; font-size:0.74rem; letter-spacing:0.04em; color:var(--ink-soft);}

@media print{
  body{background:#fff; orphans:3; widows:3;}
  .sheet{margin:0; max-width:100%; box-shadow:none; border:none; padding:0;}
  .sheet::before{display:none;}
  .closing{background:var(--paper-cool) !important; -webkit-print-color-adjust:exact; print-color-adjust:exact;}
  .label, h1.serif, h2.serif, .closing h3{break-after:avoid;}
  p, .lead, .svc li, .pull, .closing, footer{break-inside:avoid;}
  section{break-inside:auto;}
}
@page{ size:letter; margin:0.6in 0.72in 0.55in 0.72in; }

@media (max-width:600px){
  .sheet{padding:2rem 1.4rem; margin:1rem;}
  .top{flex-direction:column; align-items:flex-start; gap:0.8rem;}
}
