:root{--ink:#15211d;--body:#34443d;--muted:#617169;--canvas:#f5f5f0;--surface:#fff;--soft:#e9eee9;--teal:#087f68;--teal-dark:#066b58;--teal-light:#dff3ed;--link:#145da0;--danger:#b42318;--danger-bg:#feeceb;--warning:#8a5700;--warning-bg:#fff2cc;--success:#16734b;--border:#c9d2cc;--focus:#0b6fd3;--shadow:0 12px 32px rgba(21,33,29,.08);--sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--serif:Georgia,"Times New Roman",serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--canvas);color:var(--body);font:clamp(1rem,.25vw + .95rem,1.125rem)/1.55 var(--sans)}a{color:var(--link);text-underline-offset:.2em}a:hover{text-decoration-thickness:2px}img,svg{max-width:100%}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.skip-link{position:fixed;z-index:100;left:1rem;top:1rem;padding:.75rem 1rem;background:var(--ink);color:#fff;transform:translateY(-150%)}.skip-link:focus{transform:none}.shell{width:min(1200px,calc(100% - clamp(2rem,8vw,6rem)));margin-inline:auto}.reading{width:min(760px,calc(100% - clamp(2rem,8vw,6rem)));margin-inline:auto}.site-header{background:rgba(245,245,240,.96);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}.header-row{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:1rem}.wordmark{display:inline-flex;align-items:center;gap:.65rem;color:var(--ink);font-weight:700;text-decoration:none;letter-spacing:-.02em}.wordmark b{color:var(--teal)}.mark{width:28px;height:32px;border:2px solid currentColor;border-radius:4px;display:grid;align-content:center;gap:4px;padding:5px}.mark i{height:2px;background:currentColor;display:block}.site-header nav{display:flex;align-items:center;gap:clamp(.75rem,2vw,1.5rem)}.site-header nav>a:not(.button){color:var(--body);text-decoration:none;font-size:.92rem}.button,button{border:0;border-radius:6px;background:var(--teal);color:#fff;min-height:46px;padding:.72rem 1.15rem;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.button:hover,button:hover{background:var(--teal-dark)}.button.secondary,button.secondary{background:var(--surface);color:var(--ink);border:1px solid var(--border)}.button.quiet{background:transparent;color:var(--link);text-decoration:underline}.button.danger,button.danger{background:var(--danger)}.button.small{min-height:40px;padding:.55rem .9rem;font-size:.9rem}.hero{padding:clamp(4rem,9vw,8rem) 0;background:linear-gradient(145deg,#f5f5f0 55%,#e4eee8)}.hero-grid{display:grid;gap:clamp(2rem,6vw,5rem);align-items:center}.eyebrow{color:var(--teal);font-weight:800;letter-spacing:.09em;text-transform:uppercase;font-size:.78rem}.hero h1{font-size:clamp(2.25rem,6vw,5.2rem);line-height:.98;letter-spacing:-.055em;color:var(--ink);margin:.4rem 0 1.5rem;max-width:900px}.hero p{font-size:clamp(1.1rem,1.4vw,1.35rem);max-width:660px}.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.75rem}.trust-note{font-size:.88rem;color:var(--muted)}.process-card{background:var(--ink);color:#eef6f1;padding:clamp(1.5rem,4vw,2.5rem);border-radius:10px;box-shadow:var(--shadow)}.process-card ol{margin:0;padding:0;list-style:none;counter-reset:step}.process-card li{counter-increment:step;display:grid;grid-template-columns:2.5rem 1fr;gap:1rem;padding:1rem 0;border-bottom:1px solid #ffffff24}.process-card li:last-child{border:0}.process-card li:before{content:counter(step);width:2.25rem;height:2.25rem;border:1px solid #7fb7a7;border-radius:50%;display:grid;place-items:center;color:#bde6d9}.band{padding:clamp(3.5rem,8vw,7rem) 0}.band.white{background:var(--surface)}.section-head{max-width:760px;margin-bottom:2rem}.section-head h2,.content h1{color:var(--ink);font-size:clamp(1.8rem,4vw,3rem);line-height:1.08;letter-spacing:-.035em;margin:.35rem 0 1rem}.grid-3,.price-grid,.resource-grid{display:grid;gap:1rem}.card,.price-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:clamp(1.25rem,3vw,2rem)}.card h3,.price-card h3{color:var(--ink);margin-top:0}.price{font-size:2.3rem;font-weight:800;color:var(--ink);letter-spacing:-.04em}.price span{font-size:1rem;color:var(--muted);font-weight:500}.price-card.featured{border:2px solid var(--teal);box-shadow:var(--shadow)}.content{padding:clamp(3rem,7vw,6rem) 0}.content h2{color:var(--ink);margin-top:2.5rem;line-height:1.2}.content h3{color:var(--ink);margin-top:2rem}.breadcrumbs{font-size:.88rem;margin-bottom:2rem;color:var(--muted)}.breadcrumbs a{color:inherit}.callout{border-left:4px solid var(--teal);background:var(--teal-light);padding:1rem 1.25rem;margin:1.5rem 0}.callout.warning{border-color:var(--warning);background:var(--warning-bg)}.site-footer{background:var(--ink);color:#cfdbd5;padding:4rem 0 1.5rem}.site-footer a{color:#f1f7f4}.wordmark.inverse{color:#fff}.footer-grid{display:grid;gap:2rem}.footer-grid h2{color:#fff;font-size:1rem}.footer-grid>div>a{display:block;margin:.5rem 0}.footer-grid p{font-size:.88rem}.footer-base{border-top:1px solid #ffffff20;padding-top:1.25rem;margin-top:2rem;font-size:.8rem}.question-shell{padding:2rem 0 5rem}.question-layout{display:grid;gap:2rem;max-width:1120px}.progress-card{background:var(--ink);color:#fff;border-radius:10px;padding:1.25rem;align-self:start}.progress-card ol{padding-left:1.2rem;font-size:.86rem;color:#b9c9c1}.progress-card li.current{color:#fff;font-weight:800}.progress-bar{height:8px;background:#ffffff25;border-radius:99px;overflow:hidden;margin:.75rem 0}.progress-bar span{display:block;height:100%;background:#62c5a9}.form-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:clamp(1.25rem,4vw,2.5rem);box-shadow:var(--shadow)}.form-card h1{color:var(--ink);font-size:clamp(1.6rem,4vw,2.5rem);line-height:1.1;margin-top:0}.field{margin:1.5rem 0}.field>label,.legend{display:block;color:var(--ink);font-weight:750;margin-bottom:.45rem}.hint{display:block;color:var(--muted);font-size:.88rem;margin:.25rem 0 .65rem}.field input[type=text],.field input[type=email],.field input[type=url],.field input[type=tel],.field input[type=date],.field input[type=number],.field textarea,.field select{width:100%;min-height:48px;border:1px solid #aebbb3;border-radius:6px;padding:.7rem .8rem;background:#fff;color:var(--ink)}.field textarea{min-height:100px;resize:vertical}.choice-grid{display:grid;gap:.65rem}.choice{display:flex;gap:.75rem;align-items:flex-start;border:1px solid var(--border);border-radius:7px;padding:.85rem;background:#fff;min-height:48px;cursor:pointer}.choice:has(input:checked){border-color:var(--teal);background:var(--teal-light)}.choice input{width:1.2rem;height:1.2rem;margin:.1rem 0 0;accent-color:var(--teal);flex:none}.conditional{border-left:3px solid var(--teal);padding-left:1rem;margin-left:.2rem}.form-actions{display:flex;justify-content:space-between;gap:.75rem;border-top:1px solid var(--border);padding-top:1.25rem;margin-top:2rem}.save-status{font-size:.82rem;color:var(--muted);min-height:1.3em}.error-summary{background:var(--danger-bg);border:1px solid #f0a8a3;border-radius:7px;padding:1rem 1.25rem;color:#76130d}.error-summary h2{font-size:1.05rem;margin-top:0}.error-summary a{color:#76130d}.review-grid{display:grid;gap:1rem}.summary-list{display:grid;grid-template-columns:minmax(9rem,1fr) 2fr;gap:.4rem 1rem}.summary-list dt{font-weight:700;color:var(--ink)}.summary-list dd{margin:0;overflow-wrap:anywhere}.policy-frame{background:#e6e9e5;padding:clamp(1rem,4vw,3rem)}.policy-toolbar{width:min(1120px,100%);margin:0 auto 1rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}.policy-layout{width:min(1120px,100%);margin:auto;display:grid;gap:1.5rem;align-items:start}.policy-toc{background:#fff;border:1px solid var(--border);border-radius:8px;padding:1rem;font-size:.86rem}.policy-toc ol{padding-left:1.25rem}.policy-toc a{color:var(--body)}.policy-paper{background:#fff;padding:clamp(1.5rem,6vw,5rem);box-shadow:var(--shadow);border-radius:4px;min-width:0}.policy-document{font:1.08rem/1.75 var(--serif);color:#27342e;overflow-wrap:anywhere}.policy-document header{border-bottom:2px solid var(--ink);padding-bottom:1.5rem;margin-bottom:2rem}.policy-document h1{font:700 clamp(2rem,5vw,3.5rem)/1.05 var(--serif);color:var(--ink);margin:0 0 1rem}.policy-document h2{font:700 1.55rem/1.2 var(--serif);color:var(--ink);margin:2.5rem 0 1rem;break-after:avoid}.policy-document .effective{font:600 .9rem/1.5 var(--sans);color:var(--muted)}.policy-document p{widows:3;orphans:3}.account-grid{display:grid;gap:1rem}.policy-row{background:#fff;border:1px solid var(--border);border-radius:8px;padding:1.25rem}.pill{display:inline-block;border-radius:99px;padding:.2rem .55rem;background:var(--soft);font-size:.78rem;font-weight:700}.pill.published{background:#e4f5ea;color:var(--success)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.7rem;border-bottom:1px solid var(--border);vertical-align:top}th{color:var(--ink)}code{overflow-wrap:anywhere}.not-found{text-align:center;padding:7rem 1rem}.not-found strong{font-size:6rem;color:var(--teal);display:block;line-height:1}@supports(content-visibility:auto){main>section:not(:first-child){content-visibility:auto;contain-intrinsic-size:auto 720px}}@media(min-width:720px){.hero-grid{grid-template-columns:1.4fr .8fr}.grid-3,.price-grid,.resource-grid{grid-template-columns:repeat(3,1fr)}.footer-grid{grid-template-columns:2fr 1fr 1fr 1.4fr}.choice-grid.two{grid-template-columns:1fr 1fr}.review-grid{grid-template-columns:1fr 1fr}.account-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:960px){.question-layout{grid-template-columns:250px minmax(0,1fr)}.progress-card{position:sticky;top:96px}.policy-layout{grid-template-columns:270px minmax(0,1fr)}.policy-toc{position:sticky;top:96px}}@media(max-width:820px){.site-header nav>a:not(.button){display:none}.summary-list{grid-template-columns:1fr}.summary-list dd{margin-bottom:.6rem}}@media(max-width:520px){.shell,.reading{width:min(100% - 2rem,1200px)}.site-header .button{display:none}.form-actions{position:sticky;bottom:0;background:#fff;padding:1rem 0 max(1rem,env(safe-area-inset-bottom));z-index:10}.form-actions>*{flex:1}.policy-frame{padding:.5rem}.policy-paper{padding:1.25rem}.actions>.button{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media print{.site-header,.site-footer,.policy-toolbar,.policy-toc,.skip-link{display:none!important}body,.policy-frame{background:#fff}.policy-layout{display:block;width:auto}.policy-paper{box-shadow:none;padding:0}.policy-document{font-size:10.5pt}@page{size:A4;margin:19mm 18mm 21mm}@page{@bottom-right{content:"Page " counter(page);font:9pt var(--sans);color:#617169}}a{color:inherit;text-decoration:none}}
[hidden] {
  display: none !important;
}

.company-results {
  margin-top: .4rem;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 7px;
  background: var(--surface);
  box-shadow: var(--shadow);
}

.company-result {
  display: grid;
  width: 100%;
  min-height: 54px;
  padding: .7rem .8rem;
  border: 0;
  border-bottom: 1px solid var(--soft);
  border-radius: 0;
  background: var(--surface);
  color: var(--body);
  text-align: left;
}

.company-result:last-child {
  border-bottom: 0;
}

.company-result:hover,
.company-result:focus-visible {
  background: var(--teal-light);
  color: var(--ink);
}

.company-result strong,
.company-result span {
  display: block;
}

.company-result span {
  margin-top: .15rem;
  color: var(--muted);
  font-size: .82rem;
  font-weight: 500;
  overflow-wrap: anywhere;
}

.language-picker {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  color: var(--muted);
  font-size: .78rem;
  font-weight: 700;
}

.language-picker select {
  min-height: 40px;
  max-width: 8rem;
  padding: .4rem .55rem;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: var(--surface);
  color: var(--ink);
}

.mobile-language-picker {
  display: grid;
  padding: .65rem;
}

.mobile-language-picker select {
  max-width: none;
  width: 100%;
}

.header-switcher,
.generator-tabs {
  display: inline-flex;
  align-items: center;
  gap: .2rem;
  padding: .25rem;
  background: #e7ece8;
  border: 1px solid var(--border);
  border-radius: 999px;
}

.header-switcher a,
.generator-tabs a {
  color: var(--ink);
  text-decoration: none;
  font-size: .86rem;
  font-weight: 750;
  padding: .45rem .75rem;
  border-radius: 999px;
}

.header-switcher a:hover,
.generator-tabs a:hover,
.generator-tabs a.active {
  background: var(--surface);
  box-shadow: 0 1px 3px #13261d1c;
}

.generator-tabs {
  margin-bottom: 2rem;
  padding: .35rem;
}

.generator-tabs a {
  padding: .65rem 1rem;
}

.document-hero {
  padding-top: clamp(2rem, 5vw, 4rem);
}

.generator-hero {
  position: relative;
  overflow: hidden;
  padding-bottom: 0;
  background:
    radial-gradient(circle at 82% 18%, #bfe7da 0, #bfe7da00 28%),
    linear-gradient(145deg, #f8f7f1 48%, #e5eee8);
}

.generator-hero::before {
  content: "";
  position: absolute;
  width: 26rem;
  height: 26rem;
  left: -18rem;
  top: 9rem;
  border: 1px solid #087f6822;
  border-radius: 50%;
}

.generator-hero .shell {
  position: relative;
}

.generator-hero h1 {
  max-width: 850px;
  font-size: clamp(2.45rem, 5.6vw, 4.9rem);
}

.result-card {
  background: linear-gradient(160deg, #17251f, #0e342b);
}

.mini-price {
  display: grid;
  gap: .5rem;
  border-top: 1px solid #ffffff24;
  padding-top: 1rem;
  margin-top: .5rem;
  font-size: .84rem;
}

.mini-price span {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  color: #c9d8d1;
}

.mini-price strong {
  color: #fff;
}

.intent-jump {
  display: flex;
  flex-wrap: wrap;
  gap: .25rem 1.5rem;
  margin-top: clamp(2.5rem, 6vw, 5rem);
  padding: 1.1rem 0;
  border-top: 1px solid #78918742;
}

.intent-jump a {
  color: var(--body);
  font-size: .88rem;
  font-weight: 750;
  text-decoration: none;
}

.intent-jump a::after,
.intent-action::after {
  content: "  ›";
  color: var(--teal);
}

.agent-prompt-band {
  padding: clamp(2rem, 5vw, 3.5rem) 0;
  color: #dce9e3;
  background: var(--ink);
}

.agent-prompt-grid {
  display: grid;
  gap: clamp(1.5rem, 5vw, 4rem);
  align-items: center;
}

.agent-prompt-band .eyebrow {
  color: #81ddc2;
}

.agent-prompt-band h2 {
  margin: .35rem 0 .75rem;
  color: #fff;
  font-size: clamp(1.65rem, 3.4vw, 2.6rem);
  line-height: 1.08;
  letter-spacing: -.035em;
}

.agent-prompt-band p {
  max-width: 680px;
  margin-bottom: 0;
}

.agent-prompt-card {
  padding: clamp(1.1rem, 2.5vw, 1.5rem);
  background: #ffffff0d;
  border: 1px solid #ffffff2e;
  border-radius: 12px;
}

.agent-prompt-card p {
  margin: 0 0 1rem;
  color: #fff;
  font-weight: 700;
}

@media (min-width: 800px) {
  .agent-prompt-grid {
    grid-template-columns: minmax(0, 1fr) minmax(320px, .8fr);
  }
}

.intent-grid {
  display: grid;
  gap: 1rem;
}

.intent-card {
  display: flex;
  flex-direction: column;
  min-height: 245px;
  padding: clamp(1.25rem, 2.5vw, 1.8rem);
  color: var(--body);
  background: #fbfcfa;
  border: 1px solid var(--border);
  border-radius: 12px;
  text-decoration: none;
  box-shadow: 0 1px 0 #15211d08;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.intent-card:hover {
  transform: translateY(-3px);
  border-color: #7cae9f;
  box-shadow: var(--shadow);
}

.intent-card h3 {
  margin: .9rem 0 .5rem;
  color: var(--ink);
  font-size: 1.28rem;
}

.intent-card p {
  margin: 0 0 1.25rem;
  font-size: .95rem;
}

.intent-tag {
  align-self: flex-start;
  padding: .25rem .55rem;
  color: var(--teal-dark);
  background: var(--teal-light);
  border-radius: 99px;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.intent-action {
  margin-top: auto;
  color: var(--ink);
  font-size: .88rem;
  font-weight: 800;
}

.included-band {
  background: #ecf0eb;
}

.included-grid {
  display: grid;
  gap: clamp(2rem, 7vw, 6rem);
  align-items: center;
}

.answer-topics {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}

.answer-topics span {
  padding: .45rem .7rem;
  color: #315047;
  background: #fff;
  border: 1px solid #c5d1ca;
  border-radius: 99px;
  font-size: .8rem;
  font-weight: 700;
}

.document-preview {
  overflow: hidden;
  background: #fff;
  border: 1px solid #bec9c2;
  border-radius: 14px;
  box-shadow: 0 24px 60px #15211d1a;
  transform: rotate(1deg);
}

.preview-top {
  display: flex;
  align-items: center;
  gap: .35rem;
  padding: .85rem 1rem;
  color: #e6eee9;
  background: var(--ink);
  font-size: .76rem;
}

.preview-top span {
  width: .55rem;
  height: .55rem;
  background: #75a596;
  border-radius: 50%;
}

.preview-top strong {
  margin-left: .45rem;
}

.document-preview ol {
  margin: 0;
  padding: clamp(1.1rem, 3vw, 2rem);
  list-style: none;
  counter-reset: none;
}

.document-preview li {
  display: grid;
  grid-template-columns: 2.2rem 1fr;
  gap: .8rem;
  padding: .85rem 0;
  border-bottom: 1px solid #e0e6e2;
}

.document-preview li:last-child {
  border: 0;
}

.document-preview li > span {
  color: var(--teal);
  font-size: .76rem;
  font-weight: 800;
}

.document-preview strong,
.document-preview small {
  display: block;
}

.document-preview strong {
  color: var(--ink);
  font-size: .92rem;
}

.document-preview small {
  margin-top: .18rem;
  color: var(--muted);
  font-size: .75rem;
  line-height: 1.4;
}

.flow-row {
  display: grid;
  gap: 1rem;
}

.flow-row article {
  position: relative;
  padding: clamp(1.25rem, 3vw, 2rem);
  background: #f6f8f5;
  border: 1px solid var(--border);
  border-radius: 12px;
}

.flow-row article > span {
  display: grid;
  place-items: center;
  width: 2.25rem;
  height: 2.25rem;
  color: #fff;
  background: var(--teal);
  border-radius: 50%;
  font-weight: 800;
}

.flow-row h3 {
  margin: 1rem 0 .4rem;
  color: var(--ink);
}

.flow-row p {
  margin: 0;
  font-size: .92rem;
}

.pricing-band {
  color: #d9e4de;
  background:
    radial-gradient(circle at 90% 20%, #176b57 0, #176b5700 30%),
    var(--ink);
}

.pricing-band .eyebrow {
  color: #81ddc2;
}

.pricing-band h2 {
  color: #fff;
}

.pricing-ribbon {
  display: grid;
  overflow: hidden;
  background: #ffffff0c;
  border: 1px solid #ffffff2a;
  border-radius: 14px;
}

.pricing-ribbon > div {
  display: grid;
  gap: .35rem;
  padding: clamp(1.2rem, 3vw, 1.8rem);
  border-bottom: 1px solid #ffffff22;
}

.pricing-ribbon > div:last-child {
  border: 0;
}

.pricing-ribbon small,
.pricing-ribbon span {
  color: #b9cbc3;
  font-size: .76rem;
}

.pricing-ribbon strong {
  color: #fff;
  font-size: clamp(1.65rem, 3vw, 2.3rem);
  letter-spacing: -.04em;
}

.pricing-note {
  max-width: 840px;
  margin: 1.25rem 0 0;
  font-size: .88rem;
}

.faq-grid {
  display: grid;
  gap: 1rem;
}

.faq-card {
  padding: clamp(1.25rem, 3vw, 2rem);
  background: #f8faf7;
  border: 1px solid var(--border);
  border-radius: 12px;
}

.faq-card h3 {
  margin: 0 0 .6rem;
  color: var(--ink);
  font-size: 1.08rem;
}

.faq-card p {
  margin: 0;
  font-size: .92rem;
}

.final-cta {
  text-align: center;
  background:
    radial-gradient(circle at 50% 0, #c9eee2 0, #c9eee200 44%),
    var(--canvas);
}

.final-cta h2 {
  margin: .35rem 0 1rem;
  color: var(--ink);
  font-size: clamp(2rem, 5vw, 3.5rem);
  line-height: 1.05;
  letter-spacing: -.04em;
}

.final-cta .button {
  margin-top: 1rem;
}

.document-grid {
  display: grid;
  gap: 1rem;
}

.document-card {
  position: relative;
  overflow: hidden;
  min-height: 270px;
  padding: clamp(1.5rem, 4vw, 2.6rem);
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 12px;
}

.document-card::after {
  content: "";
  position: absolute;
  right: -55px;
  bottom: -80px;
  width: 190px;
  height: 190px;
  background: var(--teal-light);
  border-radius: 50%;
}

.terms-card::after {
  background: #efe9d8;
}

.document-card h3 {
  margin: .8rem 0;
  color: var(--ink);
  font-size: clamp(1.6rem, 3vw, 2.3rem);
}

.document-card p,
.document-card a {
  position: relative;
  z-index: 1;
}

.document-number {
  color: var(--teal);
  font-weight: 800;
}

.text-link {
  color: var(--link);
  font-weight: 800;
}

@media (min-width: 640px) {
  .intent-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .flow-row {
    grid-template-columns: repeat(3, 1fr);
  }

  .pricing-ribbon {
    grid-template-columns: repeat(2, 1fr);
  }

  .pricing-ribbon > div {
    border-bottom: 0;
  }

  .pricing-ribbon > div:nth-child(odd) {
    border-right: 1px solid #ffffff22;
  }

  .pricing-ribbon > div:nth-child(-n+2) {
    border-bottom: 1px solid #ffffff22;
  }

  .faq-grid,
  .document-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (min-width: 900px) {
  .intent-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .included-grid {
    grid-template-columns: .95fr 1.05fr;
  }

  .pricing-ribbon {
    grid-template-columns: repeat(4, 1fr);
  }

  .pricing-ribbon > div,
  .pricing-ribbon > div:nth-child(-n+2) {
    border-right: 1px solid #ffffff22;
    border-bottom: 0;
  }

  .pricing-ribbon > div:last-child {
    border-right: 0;
  }
}

@media (max-width: 960px) {
  .header-switcher {
    display: none;
  }
}

@media (max-width: 639px) {
  .intent-jump {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .7rem;
  }

  .intent-card {
    min-height: 220px;
  }

  .document-preview {
    transform: none;
  }
}

@media (max-width: 520px) {
  .progress-card ol {
    display: none;
  }

  .progress-card {
    padding: 1rem;
  }

  .generator-tabs {
    width: 100%;
  }

  .generator-tabs a {
    flex: 1;
    padding: .6rem .4rem;
    text-align: center;
  }
}
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

.mobile-menu {
  display: none;
}

.grid-3,
.price-grid,
.resource-grid,
.card,
.price-card {
  min-width: 0;
}

.card,
.price-card {
  overflow-wrap: anywhere;
}

.mobile-menu summary {
  list-style: none;
}

.mobile-menu summary::-webkit-details-marker {
  display: none;
}

@media (min-width: 640px) and (max-width: 1023px) {
  .hero-grid {
    grid-template-columns: 1fr;
  }

  .grid-3,
  .price-grid,
  .resource-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .site-header nav {
    display: none;
  }

  .mobile-menu {
    display: block;
    position: relative;
  }

  .mobile-menu summary {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-width: 46px;
    min-height: 46px;
    padding: 0.55rem 0.7rem;
    color: var(--ink);
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 7px;
    font-size: 0.86rem;
    font-weight: 800;
    cursor: pointer;
  }

  .mobile-menu summary i,
  .mobile-menu summary i::before,
  .mobile-menu summary i::after {
    display: block;
    width: 16px;
    height: 2px;
    background: currentColor;
    content: "";
  }

  .mobile-menu summary i {
    position: relative;
  }

  .mobile-menu summary i::before,
  .mobile-menu summary i::after {
    position: absolute;
    left: 0;
  }

  .mobile-menu summary i::before {
    top: -5px;
  }

  .mobile-menu summary i::after {
    top: 5px;
  }

  .mobile-menu[open] summary {
    background: var(--teal-light);
    border-color: var(--teal);
  }

  .mobile-menu-panel {
    position: absolute;
    z-index: 30;
    top: calc(100% + 0.65rem);
    right: 0;
    display: grid;
    width: min(20rem, calc(100vw - 2rem));
    padding: 0.75rem;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 10px;
    box-shadow: var(--shadow);
  }

  .mobile-menu-panel strong {
    padding: 0.65rem 0.65rem 0.25rem;
    color: var(--muted);
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .mobile-menu-panel a:not(.button) {
    display: flex;
    align-items: center;
    min-height: 46px;
    padding: 0.65rem;
    color: var(--ink);
    border-radius: 6px;
    text-decoration: none;
    font-weight: 700;
  }

  .mobile-menu-panel a:not(.button):hover {
    background: var(--soft);
  }

  .mobile-menu-panel .button {
    margin-top: 0.65rem;
  }

  .summary-list {
    grid-template-columns: 1fr;
  }

  .summary-list dd {
    margin-bottom: 0.6rem;
  }

  table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
  }

  .policy-toolbar {
    align-items: stretch;
  }

  .policy-toolbar > * {
    max-width: 100%;
  }
}

@media (max-width: 520px) {
  .site-header {
    padding-top: env(safe-area-inset-top);
  }

  .header-row {
    min-height: 64px;
  }

  .content {
    padding-block: 2.5rem;
  }

  .hero,
  .band {
    padding-block: 3rem;
  }

  .form-card {
    padding: 1.1rem;
  }

  .conditional {
    margin-left: 0;
    padding-left: 0.75rem;
  }

  .form-actions > * {
    min-width: 0;
  }

  .form-actions .button,
  .form-actions button {
    padding-inline: 0.7rem;
  }

  .actions > form,
  .actions > form button,
  .policy-toolbar > .actions,
  .policy-toolbar > .button,
  .policy-toolbar > button {
    width: 100%;
  }

  .policy-document {
    font-size: 1rem;
    line-height: 1.65;
  }

  .policy-document h2 {
    font-size: clamp(1.3rem, 7vw, 1.55rem);
  }

  .footer-grid {
    gap: 1.5rem;
  }

  .footer-base,
  code,
  a {
    overflow-wrap: anywhere;
  }
}

@media (max-width: 360px) {
  .shell,
  .reading {
    width: min(100% - 1.25rem, 1200px);
  }

  .wordmark {
    gap: 0.45rem;
    font-size: 0.9rem;
  }

  .wordmark .brand-mark {
    width: 29px;
    height: 29px;
  }

  .mobile-menu summary span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }

  .generator-tabs a {
    font-size: 0.78rem;
  }

  .form-actions {
    gap: 0.45rem;
  }
}

@media (min-width: 1600px) {
  .shell {
    width: min(1440px, calc(100% - 10rem));
  }

  .hero h1 {
    max-width: 1000px;
  }

  .hero-grid {
    gap: 7rem;
  }

  .question-layout,
  .policy-layout,
  .policy-toolbar {
    max-width: 1280px;
  }

  .footer-grid {
    column-gap: 4rem;
  }
}
:root[data-theme="light"] {
  color-scheme: light;
}

.brand-mark {
  width: 32px;
  height: 32px;
  display: block;
  flex: none;
}

.site-header nav {
  margin-left: auto;
}

.theme-toggle {
  flex: 0 0 46px;
  width: 46px;
  min-height: 46px;
  padding: 0;
  color: var(--ink);
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 50%;
  box-shadow: 0 2px 8px rgba(21, 33, 29, .08);
}

.theme-toggle:hover {
  color: var(--ink);
  background: var(--teal-light);
  border-color: var(--teal);
}

.theme-toggle:active {
  transform: scale(.94);
}

.theme-icon {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
  transition: transform .2s ease;
}

.theme-toggle:hover .theme-icon {
  transform: rotate(12deg);
}

.theme-icon-sun {
  display: none;
}

:root[data-theme="dark"] {
  color-scheme: dark;
  --ink: #edf7f3;
  --body: #c5d5cf;
  --muted: #9aafa7;
  --canvas: #0f1513;
  --surface: #18211e;
  --soft: #222e2a;
  --teal: #17856e;
  --teal-dark: #0f705d;
  --teal-light: #193b32;
  --link: #7fc4ff;
  --danger: #b42318;
  --danger-bg: #3a1b1a;
  --warning: #f0bd58;
  --warning-bg: #392d17;
  --success: #79d9a3;
  --border: #3c4b46;
  --focus: #8dccff;
  --shadow: 0 12px 32px rgba(0, 0, 0, .35);
}

:root[data-theme="dark"] .theme-icon-moon {
  display: none;
}

:root[data-theme="dark"] .theme-icon-sun {
  display: block;
}

:root[data-theme="dark"] .site-header {
  background: rgba(15, 21, 19, .94);
}

:root[data-theme="dark"] .hero {
  background: linear-gradient(145deg, #101714 55%, #17231f);
}

:root[data-theme="dark"] .skip-link {
  color: #101714;
  background: #edf7f3;
}

:root[data-theme="dark"] .wordmark b,
:root[data-theme="dark"] .eyebrow,
:root[data-theme="dark"] .not-found strong,
:root[data-theme="dark"] .document-number,
:root[data-theme="dark"] .document-preview li > span,
:root[data-theme="dark"] .intent-jump a::after,
:root[data-theme="dark"] .intent-action::after {
  color: #58d0ad;
}

:root[data-theme="dark"] .site-footer,
:root[data-theme="dark"] .process-card,
:root[data-theme="dark"] .progress-card,
:root[data-theme="dark"] .preview-top {
  background: #101b18;
}

:root[data-theme="dark"] .field input[type="text"],
:root[data-theme="dark"] .field input[type="email"],
:root[data-theme="dark"] .field input[type="url"],
:root[data-theme="dark"] .field input[type="tel"],
:root[data-theme="dark"] .field input[type="date"],
:root[data-theme="dark"] .field input[type="number"],
:root[data-theme="dark"] .field textarea,
:root[data-theme="dark"] .field select,
:root[data-theme="dark"] .choice,
:root[data-theme="dark"] .form-actions,
:root[data-theme="dark"] .policy-toc,
:root[data-theme="dark"] .policy-paper,
:root[data-theme="dark"] .policy-row {
  color: var(--ink);
  background: var(--surface);
  border-color: var(--border);
}

:root[data-theme="dark"] .policy-frame {
  background: #0b100e;
}

:root[data-theme="dark"] .policy-document {
  color: var(--body);
}

:root[data-theme="dark"] .error-summary,
:root[data-theme="dark"] .error-summary a {
  color: #ffb4ad;
}

:root[data-theme="dark"] .pill.published {
  color: var(--success);
  background: #183526;
}

:root[data-theme="dark"] .header-switcher,
:root[data-theme="dark"] .generator-tabs {
  background: #202b27;
}

:root[data-theme="dark"] .generator-hero {
  background: radial-gradient(circle at 82% 18%, #1b4a3c 0, #1b4a3c00 28%), linear-gradient(145deg, #101714 48%, #17231f);
}

:root[data-theme="dark"] .intent-card,
:root[data-theme="dark"] .answer-topics span,
:root[data-theme="dark"] .document-preview,
:root[data-theme="dark"] .flow-row article,
:root[data-theme="dark"] .faq-card {
  color: var(--body);
  background: var(--surface);
  border-color: var(--border);
}

:root[data-theme="dark"] .intent-tag {
  color: #8ae4ca;
}

:root[data-theme="dark"] .included-band {
  background: #131c19;
}

:root[data-theme="dark"] .document-preview li {
  border-color: var(--border);
}

:root[data-theme="dark"] .pricing-band {
  color: #d9e4de;
  background: radial-gradient(circle at 90% 20%, #176b57 0, #176b5700 30%), #101b18;
}

:root[data-theme="dark"] .agent-prompt-band {
  background: #101b18;
}

:root[data-theme="dark"] .final-cta {
  background: radial-gradient(circle at 50% 0, #194c3e 0, #194c3e00 44%), var(--canvas);
}

:root[data-theme="dark"] .terms-card::after {
  background: #3a3323;
}

@media (max-width: 820px) {
  .mobile-menu {
    margin-left: auto;
  }
}

@media (max-width: 520px) {
  .header-row {
    gap: .5rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .theme-icon {
    transition: none;
  }
}

@media print {
  .theme-toggle,
  .consent-banner {
    display: none !important;
  }

  :root[data-theme="dark"] {
    color-scheme: light;
    --ink: #15211d;
    --body: #34443d;
    --muted: #617169;
    --canvas: #fff;
    --surface: #fff;
    --border: #c9d2cc;
  }

  :root[data-theme="dark"] body,
  :root[data-theme="dark"] .policy-frame,
  :root[data-theme="dark"] .policy-paper {
    color: #27342e;
    background: #fff;
  }
}

[hidden] {
  display: none !important;
}

.footer-link {
  display: inline;
  min-height: 44px;
  padding: .25rem .4rem;
  color: #f1f7f4;
  background: transparent;
  font-size: inherit;
  text-decoration: underline;
}

.footer-link:hover {
  background: #ffffff18;
}

.consent-banner {
  position: fixed;
  z-index: 90;
  inset: auto 1rem 1rem;
  max-width: 760px;
  margin: auto;
  display: block;
  padding: 1.25rem;
  color: var(--body);
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 10px;
  box-shadow: 0 18px 50px rgba(21, 33, 29, .25);
}

.consent-banner h2 {
  margin: 0 0 .35rem;
  color: var(--ink);
  font-size: 1.2rem;
}

.consent-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
}

.consent-banner p {
  margin: 0;
  font-size: .94rem;
}

.consent-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: .65rem;
}

.consent-actions button {
  flex: 1 1 120px;
}

.consent-settings > p {
  margin-bottom: 1rem;
}

.consent-options {
  display: grid;
  gap: .65rem;
  margin-bottom: 1rem;
}

.consent-option {
  min-height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .8rem;
  color: var(--body);
  background: var(--canvas);
  border: 1px solid var(--border);
  border-radius: 7px;
}

.consent-option strong,
.consent-option small {
  display: block;
}

.consent-option strong {
  color: var(--ink);
}

.consent-option small {
  margin-top: .15rem;
  font-size: .82rem;
}

.consent-option b {
  flex: none;
  color: var(--success);
  font-size: .82rem;
}

.consent-option input {
  flex: none;
  width: 24px;
  height: 24px;
  accent-color: var(--teal);
}

@media (max-width: 700px) {
  .consent-summary {
    align-items: stretch;
    flex-direction: column;
  }
}
.policy-frame {
  --legal-rule: var(--border);
  --legal-number: var(--muted);
  --legal-rule: color-mix(in srgb, var(--ink) 18%, transparent);
  --legal-number: color-mix(in srgb, var(--ink) 58%, transparent);
  padding-block: clamp(1.25rem, 4vw, 3.5rem);
}

.policy-frame--standalone {
  min-height: 100vh;
}

.policy-toolbar .actions {
  margin-top: 0;
}

.policy-action {
  width: 46px;
  min-width: 46px;
  padding: 0;
}

.policy-action svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.policy-action span {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.policy-layout {
  grid-template-columns: minmax(0, 51rem);
  justify-content: center;
  gap: clamp(1.25rem, 3vw, 2.5rem);
}

.policy-toc {
  padding: 1.25rem;
  border-color: var(--legal-rule);
  border-radius: 2px;
  box-shadow: 0 8px 24px rgba(21, 33, 29, 0.05);
}

.policy-toc > strong {
  display: block;
  padding-bottom: 0.8rem;
  border-bottom: 1px solid var(--legal-rule);
  color: var(--ink);
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.policy-toc ol {
  margin: 0.8rem 0 0;
  padding: 0;
  list-style: none;
}

.policy-toc li + li {
  border-top: 1px solid color-mix(in srgb, var(--ink) 8%, transparent);
}

.policy-toc a {
  display: grid;
  grid-template-columns: 1.8rem minmax(0, 1fr);
  gap: 0.35rem;
  padding-block: 0.58rem;
  color: var(--body);
  line-height: 1.35;
  text-decoration: none;
}

.policy-toc a:hover {
  color: var(--link);
}

.toc-number {
  color: var(--legal-number);
  font-variant-numeric: tabular-nums;
}

.policy-paper {
  min-height: min(70rem, calc(100vh - 7rem));
  padding: clamp(2rem, 6vw, 5.5rem);
  border: 1px solid var(--legal-rule);
  border-radius: 2px;
  box-shadow: 0 20px 55px rgba(21, 33, 29, 0.1);
}

.policy-document {
  max-width: 45rem;
  margin-inline: auto;
  color: var(--body);
  font-family: var(--serif);
  font-size: clamp(1rem, 0.3vw + 0.94rem, 1.08rem);
  font-kerning: normal;
  line-height: 1.78;
  text-rendering: optimizeLegibility;
}

.policy-document header {
  margin-bottom: clamp(2.75rem, 7vw, 5rem);
  padding: 1.2rem 0 clamp(1.75rem, 4vw, 2.75rem);
  border-top: 4px solid var(--ink);
  border-bottom: 1px solid var(--legal-rule);
}

.document-kind {
  margin: 0 0 1.2rem;
  color: var(--muted);
  font: 750 0.72rem/1.3 var(--sans);
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.policy-document h1 {
  max-width: 38rem;
  margin: 0;
  color: var(--ink);
  font: 700 clamp(2.15rem, 5vw, 3.65rem)/1.06 var(--serif);
  letter-spacing: -0.035em;
  text-wrap: balance;
}

.document-meta {
  margin: clamp(1.75rem, 4vw, 2.5rem) 0 0;
  font-family: var(--sans);
}

.document-meta div {
  display: grid;
  grid-template-columns: 8rem minmax(0, 1fr);
  gap: 1rem;
  padding-top: 0.9rem;
  border-top: 1px solid var(--legal-rule);
}

.document-meta dt {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.document-meta dd {
  margin: 0;
  color: var(--ink);
  font-size: 0.88rem;
  font-weight: 650;
  font-variant-numeric: tabular-nums;
}

.policy-section {
  scroll-margin-top: 6.5rem;
}

.policy-section + .policy-section {
  margin-top: clamp(2.5rem, 6vw, 4rem);
  padding-top: clamp(2rem, 5vw, 3rem);
  border-top: 1px solid var(--legal-rule);
}

.policy-document h2 {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  gap: 0.6rem;
  align-items: baseline;
  margin: 0 0 1.2rem;
  color: var(--ink);
  font: 700 clamp(1.35rem, 2vw, 1.65rem)/1.22 var(--serif);
  letter-spacing: -0.018em;
  text-wrap: balance;
}

.section-number {
  color: var(--legal-number);
  font: 700 0.76rem/1 var(--sans);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.06em;
}

.policy-document p {
  margin: 0;
  widows: 3;
  orphans: 3;
}

.policy-document p + p {
  margin-top: 1.05em;
}

@media (min-width: 960px) {
  .policy-layout {
    grid-template-columns: minmax(13rem, 16.5rem) minmax(0, 51rem);
  }
}

@media (max-width: 720px) {
  .policy-toolbar .actions {
    width: auto;
  }

  .policy-layout {
    display: block;
  }

  .policy-toc {
    margin-bottom: 1rem;
    max-height: 17rem;
    overflow-y: auto;
    scrollbar-gutter: stable;
  }

  .policy-paper {
    min-height: 0;
    padding: clamp(1.35rem, 6vw, 2.25rem);
    border-inline: 0;
    box-shadow: none;
  }

  .policy-document header {
    margin-bottom: 2.5rem;
  }

  .document-meta div {
    grid-template-columns: 1fr;
    gap: 0.2rem;
  }

  .policy-document h2 {
    grid-template-columns: 2rem minmax(0, 1fr);
    gap: 0.35rem;
  }
}

.policy-toolbar .policy-action {
  width: 48px;
  height: 48px;
  padding: 0;
  flex: none;
}

.policy-action svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@media print {
  body,
  .policy-frame,
  .policy-paper {
    color: #222;
    background: #fff;
  }

  .policy-frame {
    padding: 0;
  }

  .policy-paper {
    min-height: 0;
    padding: 0;
    border: 0;
    box-shadow: none;
  }

  .policy-document {
    max-width: none;
    color: #222;
    font-size: 10.5pt;
    line-height: 1.55;
  }

  .policy-document header {
    margin-bottom: 14mm;
    padding-top: 4mm;
  }

  .policy-document h1 {
    font-size: 26pt;
  }

  .policy-section + .policy-section {
    margin-top: 8mm;
    padding-top: 7mm;
  }

  .policy-document h2 {
    font-size: 14pt;
  }
}
.contact-layout{display:grid;gap:clamp(2rem,6vw,5rem);align-items:start}.contact-intro{max-width:34rem}.contact-aside{display:grid;gap:.35rem;margin-top:2rem;padding:1.25rem;border-left:4px solid var(--teal);background:var(--teal-light);color:var(--body)}.contact-aside span{font-size:.9rem}.contact-form{position:relative}.contact-hp{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}.captcha-box{display:grid;gap:1rem;margin:1.5rem 0;padding:1.25rem;border:1px solid var(--border);border-radius:8px;background:var(--soft)}.captcha-box>div:first-child{display:grid;gap:.2rem}.captcha-box span{color:var(--muted);font-size:.88rem}.captcha-box .field{margin:0}.captcha-box input{max-width:10rem}.contact-success{margin-top:0}@media(min-width:820px){.contact-layout{grid-template-columns:minmax(0,.75fr) minmax(28rem,1.25fr)}}
.content pre {
  max-width: 100%;
  overflow-x: auto;
  padding: 1rem;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: var(--soft);
}

.content pre code {
  display: block;
  width: max-content;
  min-width: 100%;
  overflow-wrap: normal;
  word-break: normal;
  white-space: pre;
}
@keyframes skeleton-pulse{0%{background-position:100% 0}100%{background-position:-100% 0}}html[data-language-loading] .language-picker select{color:transparent;background:linear-gradient(100deg,var(--soft) 20%,var(--surface) 40%,var(--soft) 60%);background-size:200% 100%;animation:skeleton-pulse 1.2s linear infinite}
.review-page > .shell > h1 {
  max-width: 52rem;
  margin-bottom: 1.25rem;
}

.review-ready {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  max-width: 52rem;
  margin-bottom: 2rem;
  padding: 0.85rem 1rem;
  color: #105f40;
  background: #e4f5ea;
  border: 1px solid #acd7bd;
  border-radius: 8px;
}

.review-ready > span {
  display: grid;
  flex: 0 0 2rem;
  width: 2rem;
  height: 2rem;
  place-items: center;
  color: #fff;
  background: var(--success);
  border-radius: 50%;
  font-weight: 800;
}

.review-ready p {
  margin: 0.1rem 0 0;
  font-size: 0.9rem;
}

.offer-grid {
  display: grid;
  gap: 1rem;
  scroll-margin-top: 6rem;
}

.offer-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: clamp(1.2rem, 2.5vw, 1.8rem);
  overflow-wrap: anywhere;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 10px;
}

.offer-card .eyebrow {
  margin: 0 0 0.45rem;
}

.offer-card h2 {
  margin: 0;
  font-size: clamp(1.4rem, 2.25vw, 2rem);
  line-height: 1.12;
}

.offer-card > p:not(.eyebrow, .offer-price, .checkout-note, .purchase-breakdown) {
  margin: 1rem 0;
}

.offer-heading {
  display: grid;
  gap: 1rem;
}

.offer-price {
  margin: 0;
}

.offer-price strong,
.offer-price span {
  display: block;
}

.offer-price strong {
  color: var(--ink);
  font-size: clamp(1.85rem, 3.5vw, 2.65rem);
  line-height: 1;
  letter-spacing: -0.05em;
}

.offer-price span {
  margin-top: 0.3rem;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 750;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.offer-benefits {
  display: grid;
  gap: 0.45rem;
  margin: 0 0 1.25rem;
  padding: 0;
  list-style: none;
  font-size: 0.88rem;
}

.offer-benefits li {
  display: grid;
  grid-template-columns: 1.2rem minmax(0, 1fr);
  gap: 0.4rem;
}

.offer-benefits li::before {
  color: var(--teal);
  content: "✓";
  font-weight: 850;
}

.offer-card form,
.offer-card > .button,
.offer-card .download-links {
  margin-top: auto;
}

.offer-card form {
  display: grid;
}

.offer-card button,
.offer-card > .button {
  width: 100%;
}

.offer-card-primary {
  color: #d8e9e2;
  background: radial-gradient(circle at 100% 0, #126d59 0, transparent 44%), linear-gradient(145deg, #13251f, #0e1a16);
  border-color: #317160;
  box-shadow: 0 22px 55px rgba(21, 33, 29, 0.2);
}

.offer-card-primary .eyebrow {
  color: #79e3c2;
}

.offer-card-primary h2,
.offer-card-primary .offer-price strong {
  color: #fff;
}

.offer-card-primary .offer-price span {
  color: #b8d0c7;
}

.offer-card-primary .offer-benefits li::before {
  color: #79e3c2;
}

.offer-button-primary {
  min-height: 56px;
  color: #0d2b22;
  background: #65dbb8;
  border-color: transparent;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
}

.offer-button-primary:hover {
  color: #0d2b22;
  background: #8de8cd;
}

.offer-button-secondary {
  min-height: 50px;
  color: var(--ink);
  background: var(--soft);
  border: 1px solid var(--border);
}

.offer-button-secondary:hover {
  color: #fff;
  background: var(--teal-dark);
}

.offer-card-hosting {
  box-shadow: var(--shadow);
}

.offer-card-download {
  background: color-mix(in srgb, var(--surface) 72%, var(--soft));
}

.offer-card-download .offer-price strong {
  font-size: clamp(1.55rem, 3vw, 2.1rem);
}

.billing-account {
  margin: 0.6rem 0;
  font-size: 0.84rem;
}

.offer-card .field {
  margin: 0.75rem 0;
}

.discount-disclosure {
  margin: 0.25rem 0 0.65rem;
}

.discount-disclosure summary {
  width: fit-content;
  min-height: 44px;
  padding-block: 0.65rem;
  color: var(--link);
  cursor: pointer;
  font-size: 0.82rem;
  font-weight: 750;
}

.discount-field {
  margin-top: 0.15rem;
}

.purchase-breakdown,
.checkout-note {
  color: var(--muted);
  font-size: 0.78rem;
}

.purchase-breakdown {
  margin: -0.25rem 0 0.75rem;
}

.checkout-note {
  margin: 0.65rem 0 0;
  text-align: center;
}

.download-links {
  display: grid;
  gap: 0.5rem;
}

.download-links a {
  display: grid;
  min-height: 44px;
  place-items: center;
  color: var(--body);
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 6px;
  font-size: 0.82rem;
  font-weight: 750;
  text-decoration: none;
}

.download-links a:hover {
  color: var(--link);
  border-color: var(--teal);
}

.review-facts {
  display: grid;
  gap: 1rem;
  align-items: center;
  margin-top: 1rem;
  padding-block: 1.1rem;
}

.review-facts .eyebrow,
.review-facts h2 {
  margin: 0;
}

.review-facts h2 {
  font-size: 1.2rem;
}

.fact-grid {
  display: grid;
  gap: 0.65rem 1rem;
  margin: 0;
}

.fact-grid div {
  min-width: 0;
}

.fact-grid dt {
  color: var(--muted);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.fact-grid dd {
  margin: 0.15rem 0 0;
  overflow-wrap: anywhere;
  color: var(--ink);
  font-size: 0.86rem;
  font-weight: 650;
}

.review-facts .button.quiet {
  justify-self: start;
  white-space: nowrap;
}

.review-limitation {
  margin: 0.65rem 0 0;
  color: var(--muted);
  font-size: 0.78rem;
}

.review-preview-heading {
  width: min(70rem, 100%);
  margin: clamp(3.5rem, 8vw, 6rem) auto 1.5rem;
}

.review-preview-heading h2 {
  margin: 0.2rem 0 0.45rem;
}

.review-preview-heading p {
  margin: 0;
  color: var(--muted);
}

.review-page .policy-frame {
  overflow: clip;
  border: 1px solid var(--border);
  border-radius: 10px;
}

@media (min-width: 720px) {
  .offer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .offer-card-primary {
    grid-column: 1 / -1;
  }

  .offer-grid-entitled .offer-card-primary {
    grid-column: 1 / -1;
  }

  .offer-grid-entitled-simple .offer-card-download {
    grid-column: 1 / -1;
  }

  .review-facts {
    grid-template-columns: auto minmax(0, 1fr) auto;
  }

  .fact-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (min-width: 1100px) {
  .offer-grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }

  .offer-grid-simple .offer-card-primary {
    grid-column: span 5;
  }

  .offer-grid-simple .offer-card-hosting {
    grid-column: span 4;
  }

  .offer-grid-simple .offer-card-download {
    grid-column: span 3;
  }

  .offer-grid-advanced .offer-card-primary {
    grid-column: span 7;
  }

  .offer-grid-advanced .offer-card-hosting {
    grid-column: span 5;
  }

  .offer-grid-entitled-simple .offer-card-primary {
    grid-column: span 8;
  }

  .offer-grid-entitled-simple .offer-card-download {
    grid-column: span 4;
  }

  .offer-grid-entitled .offer-card-primary {
    grid-column: 1 / -1;
  }

  .offer-heading {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
  }

  .offer-price {
    text-align: right;
  }
}

@media (max-width: 719px) {
  .review-page > .shell {
    width: min(100% - 1.25rem, 1200px);
  }

  .offer-card {
    padding: 1.15rem;
  }

  .review-facts {
    padding: 1.15rem;
  }

  .fact-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .review-page .policy-frame {
    margin-inline: -0.25rem;
    border-inline: 0;
    border-radius: 0;
  }
}

@media (max-width: 420px) {
  .fact-grid {
    grid-template-columns: 1fr;
  }

  .review-ready {
    align-items: flex-start;
  }
}

:root[data-theme="dark"] .review-ready {
  color: #a9e8c9;
  background: #163126;
  border-color: #285941;
}

:root[data-theme="dark"] .offer-card-primary {
  background: radial-gradient(circle at 100% 0, #12634f 0, transparent 44%), linear-gradient(145deg, #0c1713, #111f1a);
  border-color: #285d4f;
}
