/* Above-the-fold critical CSS (inlined). Keep in sync with handoff tokens. */
@font-face{font-family:Alegreya;src:url(/assets/fonts/Alegreya-ExtraBold.woff2) format('woff2');font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:'Alegreya Sans';src:url(/assets/fonts/AlegreyaSans-Regular.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Alegreya Sans';src:url(/assets/fonts/AlegreyaSans-Bold.woff2) format('woff2');font-weight:700;font-style:normal;font-display:swap}
:root{
  --bg:#F8F5EF;--surface:#FFFDF8;--ink:#2B2A3A;--mute:#5A5C70;--value:#B23C28;--label:#1C7372;
  --strong:#2D478A;--on-strong:#FFF8EA;--sun:#FFBE2E;--coral:#EE6A52;--line:rgba(45,71,138,.14);--focus:#2D478A;
  --line-strong:rgba(45,71,138,.32);--field:#7C84A3;
  --serif:Alegreya,Georgia,serif;--sans:'Alegreya Sans',system-ui,sans-serif;
  --fs-display:clamp(2.75rem,1.6rem + 4.2vw,5.25rem);
  --fs-lead:clamp(1.125rem,1.04rem + .38vw,1.375rem);
  --fs-body:clamp(1.0625rem,1.03rem + .12vw,1.125rem);
  --fs-small:.9375rem;--fs-label:.8125rem;
  --margin:clamp(20px,6.4vw,104px);--gutter:clamp(16px,2vw,28px);--maxw:1232px;
  --sp-5:48px;--sp-6:clamp(56px,7vw,96px);--sp-7:clamp(80px,11vw,168px);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility}
body{margin:0;background:var(--bg);color:var(--ink);font:400 var(--fs-body)/1.55 var(--sans);font-kerning:normal;-webkit-font-smoothing:antialiased;font-variant-numeric:lining-nums}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1{font-family:var(--serif);font-weight:800;margin:0;text-wrap:balance}
p{margin:0;text-wrap:pretty}
.wrap{width:100%;max-width:calc(var(--maxw) + 2*var(--margin));margin:0 auto;padding:0 var(--margin)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.label{font:700 var(--fs-label)/1.25 var(--sans);letter-spacing:.07em;text-transform:uppercase;color:var(--label)}
.lead{font:400 var(--fs-lead)/1.5 var(--sans);color:var(--ink)}
.wm{display:block;height:34px;width:auto}
.a-top{position:absolute;inset:0 0 auto 0;z-index:3;padding-top:22px;background:#F8F5EF;background-color:#F8F5EF;-webkit-backdrop-filter:none;backdrop-filter:none}
.a-top-row{display:flex;justify-content:space-between;align-items:center}
.a-top-r{display:flex;gap:20px;align-items:center;font:700 1rem/1 var(--sans)}
.a-top-r a{color:var(--strong);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:.28em;padding:12px 0}
.a-scene{position:relative;width:100%;overflow:hidden}
.a-scene img,.a-scene picture{width:100%;height:auto;display:block}
.a-hero{position:relative;padding-bottom:var(--sp-6)}
.a-hero-grid{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gutter);align-items:start;margin-top:clamp(20px,2.4vw,40px)}
.a-h1col{grid-column:1 / span 5}
.a-h1col .label{margin-bottom:18px}
.a-hero h1{font-size:var(--fs-display);line-height:.98;letter-spacing:-.022em;color:var(--strong);font-weight:800}
.a-leadcol{grid-column:6 / span 4;padding-top:34px}
.a-leadcol .lead{margin-bottom:28px}
.a-phonecol{grid-column:10 / span 3;position:relative;align-self:end;height:100%}
.a-phonecol .phone{position:absolute;right:0;bottom:-48px}
.wl{max-width:470px}
.wl-row{display:flex;gap:8px;align-items:stretch}
.wl label.wl-lab{display:block;font:700 var(--fs-label)/1.3 var(--sans);letter-spacing:.07em;text-transform:uppercase;color:var(--label);margin:0 0 8px}
.wl input{flex:1;min-width:0;height:56px;padding:0 20px;border-radius:999px;border:1.5px solid var(--field);background:var(--surface);color:var(--ink);font:400 1.0625rem/1 var(--sans)}
.wl input::placeholder{color:var(--mute);opacity:1}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:56px;padding:0 26px;border-radius:999px;border:0;background:var(--strong);color:var(--on-strong);font:700 1.0625rem/1 var(--sans);white-space:nowrap;cursor:pointer;box-shadow:inset 0 -2px 0 rgba(0,0,0,.18)}
.wl-note{margin-top:12px;font:400 var(--fs-small)/1.45 var(--sans);color:var(--mute)}
.wl-note b{font-weight:700;color:var(--ink)}
.wl-note a{color:var(--ink);text-decoration:underline;text-underline-offset:.2em;white-space:nowrap}
.wl-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.phone{--w:300px;position:relative;width:var(--w);padding:calc(var(--w)*.032);border-radius:calc(var(--w)*.158);background:#1B1A21;box-shadow:inset 0 0 0 1.5px #3A3843,inset 0 0 0 3px #0E0D12,0 calc(var(--w)*.1) calc(var(--w)*.16) calc(var(--w)*-.08) rgba(43,30,40,.38),0 4px 10px -4px rgba(43,30,40,.3)}
.phone img,.phone picture{width:100%;border-radius:calc(var(--w)*.128);display:block}
@media (max-width:900px){
  .a-top{padding-top:14px}
  .a-top-r .label{display:none}
  .wm{height:28px}
  .a-hero .a-scene{margin-top:64px}
  .a-hero .a-scene img,.a-hero .a-scene picture{width:180%;max-width:none;margin-left:-38%}
  .a-hero-grid{display:block}
  .a-hero h1{font-size:2.875rem;line-height:1}
  .a-leadcol{padding-top:20px}
  .a-phonecol{height:auto;margin-top:48px;display:flex;justify-content:center}
  .a-phonecol .phone{position:relative;bottom:auto}
  .wl-row{flex-direction:column}
  .wl input{flex:none;width:100%}
  .wl .btn{width:100%}
}
