/* Resolute v2 - anti-template redesign. Type: Fraunces display + Archivo body. */
:root{
  --font-display:"Fraunces",Georgia,"Times New Roman",serif;
  --font-body:"Archivo",-apple-system,"Segoe UI",Roboto,sans-serif;
}
body{font-family:var(--font-body)}

/* ---------- type ---------- */
h1,h2,h3,.h1,.h2,.h3{font-family:var(--font-display);font-weight:560;letter-spacing:-.015em;line-height:1.04}
h1 em,.hero h1 em{font-style:italic;font-weight:480;color:var(--signal-on-dark,#8fd0ff)}
h2{font-size:clamp(1.9rem,1.4rem+2.4vw,3rem)}
.sechead h2{max-width:22ch}
.lede{font-family:var(--font-body)}

/* ---------- header: sharper, quieter ---------- */
.site-header,.header{backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.btn{border-radius:3px;transition:transform .22s var(--ease-out),box-shadow .22s var(--ease-out),background .22s,border-color .22s}
.btn:hover{transform:translateY(-2px)}
.btn--signal{box-shadow:0 1px 0 var(--signal-deep)}
.btn--signal:hover{box-shadow:0 6px 16px -6px var(--signal)}

/* ---------- hero: art-directed, full-bleed ---------- */
.hero{min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;position:relative}
.hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 40%;transform:scale(1.06);filter:saturate(1.15) contrast(1.06) brightness(.9)}
.hero::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(100deg,oklch(16% .04 258/.92) 0%,oklch(18% .05 258/.78) 34%,oklch(20% .05 258/.30) 62%,oklch(22% .05 258/.08) 100%)}
.hero::after{content:"";position:absolute;inset:auto 0 0 0;height:34%;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,transparent,oklch(15% .04 258/.85))}
.hero__in{position:relative;z-index:2;width:100%;padding-bottom:clamp(2.5rem,6vh,4.5rem)}
.hero__copy{max-width:44rem}
.hero .eyebrow{display:flex;align-items:center;gap:.9rem;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:oklch(88% .03 258);font-weight:600}
.hero .eyebrow::before{content:"";width:2.6rem;height:1px;background:var(--signal)}
.hero h1{font-size:clamp(2.9rem,2rem+5.4vw,5.6rem);line-height:1.0;text-wrap:balance;text-shadow:0 2px 30px oklch(12% .04 258/.5)}
.hero .lede{font-size:clamp(1.05rem,1rem+.45vw,1.22rem);max-width:46ch;color:oklch(92% .02 258);text-shadow:0 1px 14px oklch(12% .04 258/.6)}
.hero__cta{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap}
.hero__rates{color:#fff;text-underline-offset:.22em}
.hero__owner{margin-top:2.2rem;padding-top:1.2rem;border-top:1px solid oklch(100% 0 0/.18);font-size:.92rem;color:oklch(85% .02 258);max-width:52ch}
/* quote form: sharp panel, signal spine - not a floating rounded card */
.hero__form{align-self:flex-end}
.hero__form .hlf,.hlf{background:var(--paper);border-radius:3px;border:none;border-top:4px solid var(--signal);box-shadow:0 30px 60px -20px oklch(12% .05 258/.55)}
.hlf__head h2{font-size:1.6rem}
.hlf input,.hlf select,.hlf textarea,.field input,.field select,.field textarea{border-radius:3px}
.hlf .btn,.hero__form .btn{width:100%}

/* ---------- ticker (signature motion, homepage) ---------- */
.ticker{background:var(--ink);color:var(--on-ink);overflow:hidden;border-block:1px solid var(--line-ink);padding:.85rem 0}
.ticker__track{display:flex;gap:3rem;width:max-content;animation:ticker 32s linear infinite;white-space:nowrap}
.ticker__track span{font-family:var(--font-display);font-size:1.02rem;font-weight:520;letter-spacing:.02em;display:flex;align-items:center;gap:3rem}
.ticker__track i{font-style:normal;color:var(--signal-on-dark,#8fd0ff)}
@keyframes ticker{to{transform:translateX(-50%)}}
.ticker:hover .ticker__track{animation-play-state:paused}

/* ---------- cards: hairline, sharp, lift on hover ---------- */
.card,.role,.pchecks li,.minirates-quote{border-radius:3px;border:1px solid var(--line);box-shadow:none;background:var(--paper);transition:transform .25s var(--ease-out),border-color .25s var(--ease-out)}
.card:hover,.role:hover{transform:translateY(-4px);border-color:var(--signal)}
/* kill template-looking soft shadows site-wide */
.section :where(.card,.role,.panel,.box){box-shadow:none}

/* ---------- section rhythm: editorial contrast ---------- */
.section{padding-block:clamp(3.5rem,8vh,6rem)}
.sechead{margin-bottom:2.2rem}
.sechead .lede{max-width:56ch}
/* dark contrast sections get display-serif treatment */
.section--ink,.section--dark,.cta-band{background:var(--ink);color:var(--on-ink)}
.section--ink h2,.section--dark h2,.cta-band h2{color:var(--on-ink)}

/* ---------- pricing page components (kept from v1, restyled sharp) ---------- */
.pchecks{list-style:none;padding:0;display:grid;gap:var(--s1);margin-top:var(--s2)}
.pchecks li{position:relative;padding:var(--s1) var(--s1) var(--s1) 3.1rem}
.pchecks li::before{content:"";position:absolute;left:1rem;top:1.15rem;width:.95rem;height:.95rem;border-radius:50%;background:var(--signal);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12.5l5 5L20 7'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12.5l5 5L20 7'/%3E%3C/svg%3E") center/contain no-repeat}
.psteps{counter-reset:ps;list-style:none;padding:0;display:grid;gap:var(--s1);margin-top:var(--s2);max-width:var(--measure)}
.psteps li{counter-increment:ps;position:relative;padding:var(--s1) var(--s1) var(--s1) 3.4rem;background:var(--paper);border:1px solid var(--line);border-radius:3px}
.psteps li::before{content:counter(ps,decimal-leading-zero);position:absolute;left:1rem;top:var(--s1);font-family:var(--font-display);font-weight:560;font-style:italic;color:var(--signal-text);font-size:var(--step-1)}
.phead__cta{display:flex;gap:var(--s1);flex-wrap:wrap;margin-top:var(--s2)}
.minirates-quote{font-size:var(--step-1);font-weight:600;color:var(--ink-2);padding:var(--s1) var(--s2);display:inline-block}
.qf__est,[data-estimate]{display:none!important}

/* ---------- footer ---------- */
footer,.site-footer{border-top:1px solid var(--line-ink)}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  .ticker__track{animation:none}
  .btn,.card,.role{transition:none}
}
