@font-face{font-family:Archivo;src:url(assets/archivo-400-normal.ttf) format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Archivo;src:url(assets/archivo-600-normal.ttf) format('truetype');font-weight:600;font-display:swap}
:root{--ink:#1e211a;--muted:#55594e;--paper:#f3f1ea;--surface:#fffefa;--accent:#c1f527;--accent-hover:#b0e018;--line:#cccbbf;--field-line:#85897e;--focus:#4e6d0b;--danger:#882b21;--error-bg:#fce9e4;--radius:.3rem;--font:Archivo,'Helvetica Neue',sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.55 var(--font);-webkit-font-smoothing:antialiased}[hidden]{display:none}a{color:var(--focus);text-underline-offset:.2em}button,input,select{font:inherit;color:inherit}button,a{touch-action:manipulation}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}.skip-link{position:fixed;left:1rem;top:-5rem;background:var(--accent);padding:1rem;z-index:2}.skip-link:focus{top:1rem}
.site-header{max-width:78rem;margin:auto;padding:1.3rem 1.25rem;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem}.site-header span:first-child{font-weight:600}.site-header span:last-child{color:var(--muted);font-size:.875rem}main{max-width:72rem;margin:auto;padding:2.5rem 1.25rem 4rem;min-height:75vh}.intro{max-width:46rem;margin-bottom:2.25rem}.eyebrow{font-size:.875rem;color:var(--muted);margin:0 0 .7rem}h1{font-size:clamp(2rem,5vw,3.75rem);line-height:1.12;font-weight:600;letter-spacing:-.035em;margin:0 0 1.25rem;overflow-wrap:anywhere}h2{font-size:1.5rem;line-height:1.3;margin:0 0 .7rem;overflow-wrap:anywhere}h3{font-size:1rem;margin:1.7rem 0 .7rem}p{margin:.65rem 0}.intro>p:last-child{max-width:55ch;color:var(--muted)}.notice{padding:1rem 1.25rem;background:var(--surface);border:1px solid var(--line);margin-bottom:1.5rem;border-radius:var(--radius);overflow-wrap:anywhere}.notice.error{color:var(--danger);background:var(--error-bg);border-color:var(--danger)}.muted,.note{color:var(--muted)}.note{font-size:.875rem;line-height:1.6;margin:1.1rem 0}.workspace{display:grid;gap:1.5rem}.offer{align-self:start;padding:1.5rem 0;border-top:1px solid var(--ink)}.offer h2{font-size:1.8rem}.offer dl{margin-top:1.7rem}.content{background:var(--surface);padding:1.5rem;border:1px solid var(--line);border-radius:var(--radius);min-width:0}dl{margin:0}dl>div{display:flex;justify-content:space-between;align-items:start;gap:1.1rem;border-bottom:1px solid var(--line);padding:.85rem 0}dt{color:var(--muted)}dd{margin:0;text-align:right;font-weight:600;overflow-wrap:anywhere}fieldset{border:0;margin:1.5rem 0;padding:0}legend{padding:0;margin-bottom:.5rem;font-weight:600}.recipient-choice{display:flex;gap:1rem;flex-wrap:wrap}.recipient-choice label{display:flex;align-items:center;gap:.55rem;min-height:3rem}input[type=radio],input[type=checkbox]{width:1.2rem;height:1.2rem;accent-color:var(--focus);flex:none}.fields{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}.fields label{display:grid;gap:.4rem;min-width:0;font-size:.9375rem}.fields input,.fields select{width:100%;min-width:0;min-height:3.1rem;padding:.7rem;border:1px solid var(--field-line);border-radius:var(--radius);background:var(--surface);font-size:1rem}.optional{font-size:.875rem;color:var(--muted)}button{min-height:3rem;border-radius:var(--radius);padding:.8rem 1.1rem;font-weight:600}.primary{width:100%;border:1px solid var(--accent);background:var(--accent);display:flex;justify-content:space-between;gap:1rem;align-items:center}.primary:hover{background:var(--accent-hover)}.secondary{border:1px solid var(--field-line);background:transparent;margin-top:.7rem}.secondary:hover{background:var(--paper)}address{font-style:normal;white-space:pre-line;overflow-wrap:anywhere}.total{font-size:1.125rem}.total dt{color:var(--ink);font-weight:600}.total dd{white-space:nowrap}table{width:100%;border-collapse:collapse;text-align:left;margin:1.5rem 0;font-variant-numeric:tabular-nums}caption{text-align:left;font-weight:600;margin-bottom:.6rem}th,td{padding:.65rem .3rem;border-bottom:1px solid var(--line);font-size:.875rem}th{font-weight:400;color:var(--muted)}th:last-child,td:last-child{text-align:right;white-space:nowrap}.acceptance{display:flex;gap:.7rem;align-items:start;margin-top:1.75rem;cursor:pointer}.acceptance input{margin-top:.2rem}.acceptance span{font-size:.9375rem}.payment-state{max-width:42rem;background:var(--surface);border:1px solid var(--line);padding:1.5rem}.actions{margin-top:1.3rem;display:grid;gap:.7rem}.actions button{margin:0}footer{padding:1.4rem 1.25rem;border-top:1px solid var(--line);font-size:.875rem;color:var(--muted);text-align:center}
@media(min-width:30rem){.fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.full{grid-column:1/-1}}
@media(min-width:48rem){main{padding-top:3.5rem}.workspace{grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr);gap:3rem}.offer{padding-right:.5rem}.content{padding:2rem}.actions{display:flex;flex-wrap:wrap}.actions .primary{width:auto}}
body [hidden]{display:none}
.skip-link{top:0;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);padding:0;white-space:nowrap}.skip-link:focus{top:1rem;width:auto;height:auto;overflow:visible;clip-path:none;padding:1rem}

/* Product offer: editorial introduction, followed by services and confirmation. */
:root { --dark-muted:#d0d5c8; }
.site-header { max-width:80rem; padding:1.4rem 1.25rem; border:0; align-items:center; gap:.75rem; }
.site-header span:first-child { max-width:31rem; }
main { max-width:80rem; padding-top:0; }
.intro { max-width:none; background:var(--ink); color:var(--surface); padding:2.25rem 1.5rem; display:grid; gap:2.5rem; margin:.5rem 0 3rem; overflow:hidden; }
.intro-copy { min-width:0; }
.intro .eyebrow { color:var(--accent); margin-bottom:1rem; }
h1 { font-size:clamp(2.4rem,5.3vw,4.5rem); line-height:1.04; letter-spacing:-.055em; margin-bottom:1.5rem; max-width:15ch; text-wrap:balance; }
h2 { font-size:1.65rem; letter-spacing:-.03em; }
#offer-intro-text { color:var(--dark-muted); max-width:52ch; line-height:1.65; }
.intro-link { color:var(--accent); display:inline-flex; align-items:center; gap:1.5rem; min-height:3rem; padding:.6rem 0; margin-top:1rem; text-decoration:none; border-bottom:1px solid var(--accent); font-weight:600; }
.intro-link span { font-size:1.5rem; }
.intro-link:hover { color:var(--surface); border-color:var(--surface); }
.intro-link:focus-visible { outline-color:var(--accent); }
.program-signature { border:1px solid var(--accent); padding:1.25rem; color:var(--accent); display:flex; flex-direction:column; position:relative; min-width:0; }
.signature-label { color:var(--dark-muted); font-size:.875rem; }
#hero-product { font-size:clamp(2rem,4.5vw,4rem); font-weight:600; line-height:1; letter-spacing:-.05em; margin:1.25rem 0; text-wrap:balance; overflow-wrap:anywhere; }
.program-period { font-size:1rem; margin-top:auto; max-width:80%; }
.program-signature.long-product-name { container-type:inline-size; }
.long-product-name #hero-product { font-size:clamp(1.5rem,14cqw,3rem); }
.signature-arrow { position:absolute; right:1rem; bottom:.5rem; font-size:2.5rem; line-height:1; }
.workspace { gap:2.5rem; }
.offer { padding:0; border:0; min-width:0; }
.offer h2 { font-size:2.1rem; }
#service-description { max-width:54ch; }
#service-period { display:inline-block; font-size:.875rem; border:1px solid var(--line); border-radius:2rem; padding:.3rem .8rem; margin:.7rem 0; }
.product-benefits { list-style:none; padding:0; margin:1.25rem 0 0; }
.product-benefits li { padding:1.15rem 0 1.15rem 2rem; border-top:1px solid var(--line); position:relative; }
.product-benefits li::before { content:'↗'; position:absolute; top:1.15rem; left:0; color:var(--focus); font-size:1.25rem; }
.product-benefits h3 { margin:0 0 .3rem; font-size:1.05rem; }
.product-benefits p { color:var(--muted); margin:0; font-size:.9375rem; line-height:1.6; }
.closing-line { font-size:1.3rem; font-weight:600; letter-spacing:-.025em; line-height:1.35; margin:1.7rem 0 2rem; max-width:29ch; }
.agreement-summary { margin-top:2rem; padding-top:.5rem; border-top:2px solid var(--ink); }
.agreement-summary h3 { margin:.7rem 0; font-size:1.15rem; }
.offer dl { margin:0; }
.agreement-summary dt,.agreement-summary dd { font-size:.875rem; }
.agreement-summary .offer-price { display:block; padding:1.2rem 0; }
.offer-price dd { font-size:2.5rem; text-align:left; letter-spacing:-.05em; line-height:1.15; margin-top:.5rem; }
.content { align-self:start; }
.agreement-summary .offer-price[hidden] { display:none; }
#service-period[hidden] { display:none; }
.selected-product { padding:1.5rem 0; border-top:1px solid var(--line); }
.selected-product h3 { margin:0 0 .75rem; font-size:1.35rem; }
.selected-product-period { font-size:.875rem; color:var(--muted); }
.selected-product-benefits > div { display:block; padding:.75rem 0; border:0; }
.selected-product-benefits dt { color:var(--ink); font-weight:600; }
.selected-product-benefits dd { text-align:left; font-weight:400; color:var(--muted); font-size:.9375rem; }
#hero-period { white-space:pre-line; }
.form-step { color:var(--muted); font-size:.8125rem; margin:0 0 1.3rem; padding-bottom:1rem; border-bottom:1px solid var(--line); }
#details-heading { scroll-margin-top:1.5rem; }
.payment-state { margin:3rem auto; padding:2rem; }
footer a { display:inline-block; min-height:2.75rem; padding:.6rem .4rem; }
@media(min-width:48rem) {
  .intro { grid-template-columns:minmax(0,1.8fr) minmax(0,1fr); padding:3rem; gap:3rem; margin-bottom:3.5rem; }
  .program-signature { align-self:center; min-height:16rem; padding:1.5rem; }
  .workspace { grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:3rem; padding:0 1rem; }
}
@media(min-width:70rem) {
  .intro { padding:3.75rem; gap:4rem; }
  .program-signature { min-height:18rem; padding:2rem; }
  .workspace { gap:5rem; padding:0 2rem; }
}
