@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');

 :root { --ink:#111522; --paper:#f5f2eb; --muted:#66708a; --blue:#1d55f5; --line:#d9d7d0; --white:#fff; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; color:var(--ink); background:var(--paper); font-family:Manrope,Arial,sans-serif; letter-spacing:.006em; } a { color:inherit; } .site-header { height:74px; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:0 clamp(20px,5vw,84px); background:#0b0e16; color:var(--white); position:sticky; top:0; z-index:5; } .brand img { width:188px; display:block; } nav { display:flex; align-items:center; gap:26px; font-size:13px; font-weight:700; } nav a { text-decoration:none; } .nav-cta { color:#0d1421; background:var(--paper); border-radius:999px; padding:10px 16px; } .menu-button { display:none; }
.hero { min-height:650px; height:calc(100vh - 74px); max-height:820px; position:relative; overflow:hidden; color:var(--white); display:flex; align-items:center; padding:clamp(40px,8vw,118px); } .hero-image,.hero-shade { position:absolute; inset:0; width:100%; height:100%; } .hero-image { object-fit:cover; object-position:center; } .hero-shade { background:linear-gradient(90deg,rgba(5,7,12,.96) 0%,rgba(5,7,12,.79) 37%,rgba(5,7,12,.17) 70%,rgba(5,7,12,.18)); } .hero-copy { position:relative; max-width:700px; } .eyebrow { font-family:'DM Mono',monospace; font-size:11px; letter-spacing:1.5px; margin:0 0 18px; font-weight:500; } .blue { color:var(--blue); } h1,h2,h3,p { margin-top:0; } h1 { font-size:clamp(42px,5.4vw,78px); line-height:1.08; letter-spacing:-.025em; margin-bottom:22px; } h2 { font-size:clamp(30px,3.5vw,51px); line-height:1.14; letter-spacing:-.018em; margin-bottom:0; } h3 { font-size:21px; line-height:1.3; letter-spacing:-.008em; } .lede { max-width:530px; font-size:18px; line-height:1.62; color:#dbe0ed; margin-bottom:31px; } .hero-actions { display:flex; align-items:center; gap:26px; } .button { display:inline-flex; justify-content:center; align-items:center; min-height:48px; padding:12px 20px; font:700 13px Manrope,Arial,sans-serif; border:0; border-radius:3px; text-decoration:none; cursor:pointer; transition:transform .2s,box-shadow .2s; } .button:hover { transform:translateY(-2px); box-shadow:0 9px 24px rgba(0,0,0,.2); } .button-primary { color:white; background:var(--blue); } .button-dark { color:white; background:var(--ink); } .text-link { font-size:13px; font-weight:800; text-decoration:none; } .hero-note { position:absolute; right:clamp(22px,5vw,84px); bottom:36px; border-left:1px solid rgba(255,255,255,.6); padding-left:16px; font-size:12px; line-height:1.55; } .hero-note span { color:#bec6dc; display:block; margin-bottom:4px; } .hero-note strong { font-size:13px; }
.proof-strip { padding:20px clamp(20px,5vw,84px); background:#dce6ff; display:flex; justify-content:space-between; gap:20px; font:500 11px 'DM Mono',monospace; text-transform:uppercase; letter-spacing:.8px; } .section { padding:clamp(64px,9vw,132px) clamp(20px,8vw,140px); } .intro { display:grid; grid-template-columns:1.25fr .75fr; gap:clamp(42px,8vw,134px); align-items:end; border-bottom:1px solid var(--line); } .intro p:last-child { margin:0; color:#454e62; font-size:16px; line-height:1.7; }
.workflow { background:#101520; color:#f7f4ee; } .workflow h2 { max-width:710px; } .workflow ol { padding:0; margin:62px 0 0; list-style:none; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #3d4558; } .workflow li { padding:24px 28px 0 0; min-height:210px; border-right:1px solid #3d4558; margin-right:28px; } .workflow li:last-child { border:0; margin:0; } .workflow li span { color:#7f9cff; font:12px 'DM Mono',monospace; } .workflow h3 { margin:37px 0 9px; color:#fff; } .workflow p { color:#b7c0d1; font-size:14px; line-height:1.55; }
.section-heading { display:flex; gap:40px; justify-content:space-between; align-items:end; margin-bottom:42px; } .section-heading > p { max-width:275px; margin:0; color:#565f72; font-size:13px; line-height:1.55; } .product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; align-items:stretch; } .product-card { border:1px solid var(--line); padding:28px; display:flex; flex-direction:column; background:#fbfaf7; position:relative; min-height:530px; } .product-card.featured { color:#fff; background:#111a31; border-color:#111a31; box-shadow:0 14px 34px rgba(15,30,69,.17); } .tag { position:absolute; top:-11px; left:18px; padding:5px 9px; color:#123cc2; background:#dce6ff; font:500 9px 'DM Mono',monospace; letter-spacing:.55px; } .level { margin:0 0 34px; font:500 11px 'DM Mono',monospace; letter-spacing:1px; color:#58647b; } .featured .level { color:#93adff; } .product-card h3 { font-size:27px; line-height:1.03; margin-bottom:20px; } .price { font-size:32px; font-weight:800; letter-spacing:-.06em; margin:0 0 20px; } .price small { display:block; margin-top:5px; font:11px 'DM Mono',monospace; letter-spacing:0; color:#647087; } .featured .price small { color:#aeb9d3; } .product-description { font-size:14px; line-height:1.6; color:#4b5568; min-height:67px; } .featured .product-description { color:#d1d9ec; } .product-card ul { padding:0; list-style:none; margin:21px 0 28px; flex:1; border-top:1px solid var(--line); } .featured ul { border-color:#46506a; } .product-card li { padding:11px 0 11px 19px; border-bottom:1px solid var(--line); font-size:12px; line-height:1.35; position:relative; } .featured li { border-color:#46506a; } .product-card li::before { content:'+'; position:absolute; left:0; color:var(--blue); font-weight:800; }
.research { border-top:1px solid var(--line); } .research > div:first-child { display:flex; gap:40px; align-items:baseline; justify-content:space-between; margin-bottom:55px; } .research-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:25px; } .research-grid article { border-top:2px solid var(--blue); padding-top:19px; } .research-grid h3 { line-height:1.25; margin-bottom:12px; } .research-grid p { color:#4d576b; font-size:14px; line-height:1.7; } .sources { font-size:11px; line-height:1.7; color:#687287; margin:46px 0 0; max-width:900px; } .final-cta { background:#dce6ff; padding:clamp(70px,10vw,145px) 20px; text-align:center; } .final-cta h2 { max-width:730px; margin:0 auto 28px; } footer { background:#0b0e16; color:#dce0ea; padding:38px clamp(20px,5vw,84px); display:grid; grid-template-columns:1.1fr 1.2fr 1fr .6fr; gap:30px; align-items:start; font-size:11px; line-height:1.55; } footer img { width:174px; } footer p { margin:0; } footer a { display:block; margin-bottom:4px; } .footer-small { color:#8590aa; }
dialog { width:min(480px,calc(100% - 32px)); border:0; padding:34px; background:#f7f4ee; color:var(--ink); box-shadow:0 20px 80px rgba(0,0,0,.35); } dialog::backdrop { background:rgba(5,9,18,.72); } dialog h2 { font-size:28px; margin-bottom:15px; } dialog p:not(.eyebrow) { color:#596276; font-size:14px; line-height:1.55; margin-bottom:25px; } .dialog-close { position:absolute; top:8px; right:12px; border:0; background:transparent; font-size:30px; cursor:pointer; }
.cart-count { min-width:17px; height:17px; display:inline-grid; place-items:center; margin-left:5px; padding:0 4px; color:white; background:var(--blue); border-radius:999px; font:10px 'DM Mono',monospace; } .checkout-header { position:relative; } .checkout-back { color:#fff; font-size:13px; font-weight:700; text-decoration:none; } .checkout-page { max-width:1240px; margin:0 auto; padding:clamp(56px,8vw,112px) clamp(20px,5vw,64px); } .checkout-intro { max-width:750px; margin-bottom:52px; } .checkout-intro h1 { font-size:clamp(38px,5vw,63px); color:var(--ink); } .checkout-intro > p:last-child { max-width:680px; color:#566074; font-size:16px; line-height:1.65; } .checkout-layout { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr); gap:28px; align-items:start; } .checkout-form-panel,.order-summary { border:1px solid var(--line); background:#fbfaf7; padding:clamp(24px,4vw,42px); } .checkout-form-panel h2,.order-summary h2 { font-size:31px; margin-bottom:28px; } .checkout-form-panel form { display:grid; gap:18px; } .form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; } label { display:grid; gap:7px; color:#30394c; font-size:12px; font-weight:800; } label span { color:#70798d; font-weight:500; } input,select { width:100%; height:48px; border:1px solid #cdd0d6; padding:0 12px; color:var(--ink); background:white; border-radius:2px; font:14px Manrope,Arial,sans-serif; } input:focus,select:focus { outline:2px solid #9db5ff; outline-offset:1px; border-color:var(--blue); } .payment-pending { margin-top:8px; padding:21px; border:1px solid #b9c8fd; background:#e8eeff; } .payment-pending .eyebrow { margin-bottom:12px; } .payment-pending h3 { margin:0 0 8px; font-size:19px; } .payment-pending p:last-child,.summary-note { margin:0; color:#526078; font-size:13px; line-height:1.6; } .place-order-button { width:100%; } .form-message { min-height:0; margin:0; color:#58647b; font-size:13px; line-height:1.5; } .cart-items { display:grid; gap:0; margin-top:18px; } .cart-item { display:flex; justify-content:space-between; gap:20px; padding:18px 0; border-top:1px solid var(--line); } .cart-item-tier { margin:0 0 6px; color:var(--blue); font:10px 'DM Mono',monospace; letter-spacing:1px; } .cart-item h3 { margin:0; font-size:16px; } .cart-item-price { display:grid; justify-items:end; align-content:start; gap:8px; white-space:nowrap; font-size:14px; } .remove-item { padding:0; color:#596276; background:none; border:0; border-bottom:1px solid #596276; font:11px Manrope,Arial,sans-serif; cursor:pointer; } .cart-total { display:flex; justify-content:space-between; margin-top:10px; padding:20px 0; border-top:2px solid var(--ink); font-size:15px; } .cart-total strong { font-size:22px; letter-spacing:-.04em; } .summary-note { border-top:1px solid var(--line); padding-top:17px; } .empty-cart { padding:24px 0 6px; border-top:1px solid var(--line); } .empty-cart p { color:#566074; }
.shop-page,.product-detail,.confirmation-page { max-width:1120px; margin:0 auto; padding:clamp(58px,9vw,120px) clamp(20px,5vw,64px); } .shop-page>h1,.product-detail h1,.confirmation-page h1 { max-width:850px; color:var(--ink); } .shop-page .product-grid { margin-top:48px; } .product-detail { max-width:780px; } .product-detail .product-lede { max-width:660px; color:#526078; font-size:18px; line-height:1.65; } .product-detail ul { margin:26px 0 32px; padding-left:20px; line-height:2; } .confirmation-page { max-width:800px; } .confirmation-page>p { color:#526078; font-size:16px; line-height:1.65; } .confirmation-card { margin:35px 0; padding:28px; background:#fbfaf7; border:1px solid var(--line); } .confirmation-card>p:not(.eyebrow) { display:flex; justify-content:space-between; gap:18px; border-bottom:1px solid var(--line); padding:12px 0; margin:0; } .confirmation-total { font-size:20px; border-bottom:0 !important; }
.business-details { border-top:1px solid var(--line); background:#fbfaf7; } .business-details>div:first-child { max-width:770px; } .business-details-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:40px; } .business-details-grid p { margin:0; padding:20px; border:1px solid var(--line); background:white; color:#4d576b; font-size:13px; line-height:1.65; } .business-details-grid strong { color:var(--ink); font-size:11px; text-transform:uppercase; letter-spacing:.7px; } .business-details-note { max-width:850px; margin:25px 0; color:#526078; font-size:14px; line-height:1.7; } .business-details .text-link { display:inline-block; margin-right:24px; } .dark-link { color:var(--ink); text-decoration:underline; text-underline-offset:4px; } .footer-links a { display:block; }
.site-footer { grid-template-columns:1.25fr .8fr .9fr 1.2fr; gap:clamp(26px,4vw,66px); } .site-footer h2 { color:#fff; font-size:18px; margin:0 0 18px; } .site-footer h2::after { content:''; display:block; width:55px; height:2px; margin-top:13px; background:#8794b5; } .site-footer section>p { margin:0 0 9px; } .site-footer section>a { margin-bottom:9px; text-decoration:none; } .footer-ein { margin-top:15px !important; color:#9aa5be; } .site-footer form { display:grid; gap:10px; } .site-footer input[type="email"] { height:46px; } .site-footer .button { width:100%; } .newsletter-consent { display:block; color:#b8c1d4; font-size:11px; line-height:1.55; font-weight:500; } .newsletter-consent input { width:auto; height:auto; margin-right:6px; } .newsletter-consent a { display:inline; color:#fff; } .newsletter-message { min-height:18px; margin:0; color:#c5d2ff; font-size:11px; line-height:1.45; }
.information-page { max-width:1040px; margin:0 auto; padding:clamp(58px,9vw,120px) clamp(20px,5vw,64px); } .information-page h1 { max-width:900px; } .page-lede { max-width:720px; color:#526078; font-size:18px; line-height:1.7; } .information-card,.information-copy { max-width:850px; margin-top:42px; padding:clamp(24px,4vw,42px); background:#fbfaf7; border:1px solid var(--line); } .information-card h2,.information-copy h2 { font-size:clamp(24px,3vw,33px); margin-bottom:24px; } .information-copy { background:transparent; } .information-copy h2:not(:first-child) { margin-top:38px; } .information-copy p { color:#4d576b; font-size:15px; line-height:1.75; } .business-list { display:grid; grid-template-columns:1fr 1fr; gap:24px 50px; margin:0; } .business-list div { border-top:1px solid var(--line); padding-top:13px; } .business-list dt { color:#66708a; font:11px 'DM Mono',monospace; letter-spacing:.7px; text-transform:uppercase; } .business-list dd { margin:8px 0 0; font-size:15px; line-height:1.6; } .contact-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:42px 0; } .contact-card { min-height:185px; padding:26px; border:1px solid var(--line); background:#fbfaf7; text-decoration:none; display:flex; flex-direction:column; gap:13px; } .contact-card span { color:var(--blue); font:11px 'DM Mono',monospace; letter-spacing:.7px; text-transform:uppercase; } .contact-card strong { font-size:17px; line-height:1.35; } .contact-card small { margin-top:auto; color:#596276; font-size:12px; line-height:1.5; } .contact-card[href]:hover { border-color:var(--blue); box-shadow:0 10px 24px rgba(20,43,102,.08); }

/* Contact page */
.contact-page {
  width:min(1180px, calc(100% - 40px));
  margin:0 auto;
  padding:60px 0 80px;
}
.contact-hero {
  display:grid;
  grid-template-columns:minmax(0, 1.15fr) minmax(320px, .85fr);
  gap:clamp(36px, 7vw, 96px);
  align-items:end;
  padding-bottom:42px;
  border-bottom:1px solid var(--line);
}
.contact-hero h1 {
  max-width:720px;
  margin:0;
  font-size:clamp(42px, 5vw, 66px);
}
.contact-hero .page-lede {
  margin:0 0 6px;
  font-size:16px;
}
.contact-methods {
  padding:46px 0 18px;
}
.compact-section-heading {
  display:flex;
  justify-content:space-between;
  gap:30px;
  align-items:end;
}
.compact-section-heading .eyebrow {
  margin:0 0 7px;
}
.compact-section-heading h2 {
  max-width:560px;
  font-size:clamp(27px, 3vw, 38px);
}
.contact-page .contact-grid {
  margin:28px 0 0;
}
.contact-page .contact-card {
  min-height:168px;
}
.contact-page .contact-card strong {
  overflow-wrap:anywhere;
}
.contact-panel {
  display:inline-block;
  width:calc(50% - 10px);
  vertical-align:top;
  min-height:265px;
  margin:20px 16px 0 0;
  padding:30px;
  border:1px solid var(--line);
  background:#fbfaf7;
}
.contact-panel:nth-of-type(odd) {
  margin-right:0;
}
.contact-panel-wide {
  display:grid;
  grid-template-columns:minmax(250px, .75fr) minmax(0, 1.25fr);
  gap:40px;
  align-items:start;
  width:100%;
  min-height:0;
  margin-right:0;
}
.contact-panel .eyebrow {
  margin-bottom:18px;
}
.contact-panel h2 {
  margin-bottom:16px;
  font-size:clamp(23px, 2.5vw, 31px);
}
.contact-panel p {
  margin-bottom:0;
  color:#4d576b;
  font-size:14px;
  line-height:1.72;
}
.contact-panel .text-link {
  display:inline-block;
  margin-top:20px;
}
.contact-business-list {
  display:grid;
  gap:15px;
  margin:2px 0 0;
}
.contact-business-list div {
  display:grid;
  grid-template-columns:145px 1fr;
  gap:20px;
  padding-top:12px;
  border-top:1px solid var(--line);
}
.contact-business-list dt {
  color:#66708a;
  font:10px 'DM Mono',monospace;
  letter-spacing:.6px;
  text-transform:uppercase;
}
.contact-business-list dd {
  margin:0;
  font-size:14px;
  font-weight:700;
}
.contact-links-panel {
  align-items:center;
}
.contact-link-list {
  display:grid;
  border-top:1px solid var(--line);
}
.contact-link-list a {
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:14px 0;
  border-bottom:1px solid var(--line);
  font-size:13px;
  font-weight:700;
  text-decoration:none;
}
.contact-link-list a:hover {
  color:var(--blue);
}
.contact-final {
  display:flex;
  justify-content:space-between;
  gap:34px;
  align-items:center;
  margin-top:20px;
  padding:34px 38px;
  color:#fff;
  background:#111a31;
}
.contact-final .eyebrow {
  color:#93adff;
  margin-bottom:12px;
}
.contact-final h2 {
  margin-bottom:10px;
  font-size:clamp(27px, 3vw, 38px);
}
.contact-final p:last-child {
  margin:0;
  color:#cbd3e6;
  font-size:14px;
  line-height:1.6;
}
.contact-final .button {
  flex:0 0 auto;
}
@media (max-width:800px) { .site-header { height:66px; } .brand img { width:156px; } .menu-button { display:block; background:none; border:0; color:#fff; font:700 12px Manrope,sans-serif; } nav { display:none; position:absolute; top:66px; left:0; right:0; padding:20px; background:#0b0e16; flex-direction:column; align-items:stretch; gap:17px; } nav.open { display:flex; } .nav-cta { text-align:center; } .hero { min-height:620px; height:calc(100vh - 66px); padding:38px 22px 96px; align-items:end; } .hero-image { object-position:62% center; } .hero-shade { background:linear-gradient(0deg,rgba(4,7,12,.97) 0%,rgba(4,7,12,.7) 50%,rgba(4,7,12,.12)); } h1 { font-size:45px; } .lede { font-size:16px; } .hero-note { display:none; } .proof-strip { padding:14px 20px; overflow:auto; white-space:nowrap; } .intro,.section-heading,.research > div:first-child { grid-template-columns:1fr; display:grid; gap:20px; } .workflow ol,.product-grid,.research-grid,.business-details-grid,.business-list,.contact-grid { grid-template-columns:1fr; } .workflow ol { margin-top:35px; } .workflow li { min-height:0; margin:0; padding:18px 0; border-right:0; border-bottom:1px solid #3d4558; } .workflow h3 { margin:14px 0 6px; } .product-card { min-height:0; } .product-description { min-height:0; } footer,.site-footer { grid-template-columns:1fr; gap:20px; } .checkout-page { padding:52px 20px; } .checkout-layout,.form-row { grid-template-columns:1fr; } .checkout-intro { margin-bottom:35px; } .checkout-intro h1 { font-size:39px; } .checkout-form-panel,.order-summary { padding:24px 20px; } .checkout-form-panel h2,.order-summary h2 { font-size:27px; } .contact-page { width:min(100% - 32px, 680px); padding:42px 0 56px; } .contact-hero { grid-template-columns:1fr; gap:20px; padding-bottom:30px; } .contact-hero h1 { font-size:clamp(38px, 11vw, 54px); } .contact-methods { padding-top:32px; } .compact-section-heading { display:block; } .compact-section-heading h2 { margin-top:10px; } .contact-page .contact-grid { gap:12px; margin-top:22px; } .contact-page .contact-card { min-height:140px; padding:22px; } .contact-panel,.contact-panel:nth-of-type(odd) { display:block; width:100%; min-height:0; margin:14px 0 0; padding:24px 22px; } .contact-panel-wide { display:grid; grid-template-columns:1fr; gap:20px; } .contact-business-list div { grid-template-columns:1fr; gap:6px; } .contact-final { display:grid; padding:28px 24px; } .contact-final .button { width:100%; } }
@media (min-width:801px) and (max-width:1050px) { .contact-page { width:min(100% - 48px, 960px); } .contact-hero { grid-template-columns:1fr; gap:20px; } .contact-panel { min-height:290px; } .contact-panel-wide { min-height:0; } .site-footer { grid-template-columns:1fr 1fr; } }
@media (prefers-reduced-motion:no-preference) { .hero-copy { animation:rise .7s both; } @keyframes rise { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:translateY(0); } } }

/* ===================== Shared interior-page components ===================== */
nav a:hover { color:#9db5ff; }
.text-link:hover { color:var(--blue); }
:where(a,button,summary,input,select):focus-visible { outline:2px solid var(--blue); outline-offset:2px; }


/* Dark page hero for interior pages */
.page-hero { color:#fff; background:#101520; padding:clamp(52px,7vw,92px) clamp(20px,8vw,140px); }
.page-hero h1 { max-width:900px; font-size:clamp(37px,4.6vw,62px); margin-bottom:18px; }
.page-hero .page-lede { color:#c3cadd; max-width:700px; margin-bottom:0; }
.hero-chips { display:flex; flex-wrap:wrap; gap:10px; margin-top:30px; }
.chip { display:inline-flex; align-items:center; gap:8px; padding:8px 14px; border:1px solid #38415a; border-radius:999px; color:#c9d4ef; font:500 10px 'DM Mono',monospace; letter-spacing:.8px; text-transform:uppercase; }
.chip::before { content:''; flex:0 0 auto; width:6px; height:6px; border-radius:50%; background:var(--blue); }

/* Product-card digital format line */
.format-line { margin:-24px 0 24px; color:#58647b; font:500 10px 'DM Mono',monospace; letter-spacing:.8px; text-transform:uppercase; }
.featured .format-line { color:#93adff; }
.card-secondary-link { display:inline-block; margin-top:14px; font-size:12px; font-weight:800; color:inherit; text-decoration:underline; text-underline-offset:4px; }

/* Three-up value cards */
.value-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:44px; }
.value-card { border:1px solid var(--line); background:#fbfaf7; padding:28px; }
.value-card .eyebrow { margin-bottom:16px; }
.value-card h3 { margin:0 0 10px; }
.value-card p { margin:0; color:#4d576b; font-size:14px; line-height:1.7; }

/* Light numbered steps (delivery / how it works) */
.delivery-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin-top:48px; border-top:1px solid var(--ink); }
.delivery-steps li { list-style:none; padding:22px 26px 6px 0; border-right:1px solid var(--line); margin-right:26px; }
.delivery-steps li:last-child { border-right:0; margin-right:0; }
.delivery-steps span { color:var(--blue); font:500 12px 'DM Mono',monospace; }
.delivery-steps h3 { margin:26px 0 9px; font-size:18px; }
.delivery-steps p { margin:0; color:#4d576b; font-size:13.5px; line-height:1.65; }
.steps-note { margin:34px 0 0; max-width:760px; color:#526078; font-size:14px; line-height:1.7; }

/* FAQ accordions */
.faq-groups { display:grid; gap:52px; margin-top:54px; max-width:880px; }
.faq-group h2 { font-size:clamp(23px,2.6vw,31px); margin-bottom:20px; }
.faq-item { border:1px solid var(--line); background:#fbfaf7; }
.faq-item + .faq-item { border-top:0; }
.faq-item summary { list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:baseline; gap:24px; padding:19px 22px; font-weight:800; font-size:15px; line-height:1.4; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary::after { content:'+'; flex:0 0 auto; color:var(--blue); font-size:21px; font-weight:800; line-height:1; }
.faq-item[open] summary::after { content:'\2212'; }
.faq-answer { padding:0 22px 21px; color:#4d576b; font-size:14px; line-height:1.75; }
.faq-answer p { margin:0 0 10px; }
.faq-answer p:last-child { margin-bottom:0; }
.faq-answer a { color:var(--ink); text-decoration:underline; text-underline-offset:3px; }

/* Legal & policy pages */
.policy-page { max-width:1160px; margin:0 auto; padding:clamp(48px,7vw,88px) clamp(20px,5vw,64px) clamp(64px,8vw,110px); }
.policy-page > h1 { max-width:860px; }
.policy-layout { display:grid; grid-template-columns:250px minmax(0,1fr); gap:clamp(30px,5vw,72px); align-items:start; margin-top:46px; }
.policy-nav { position:sticky; top:98px; border:1px solid var(--line); background:#fbfaf7; padding:24px; }
.policy-nav h2 { margin:0 0 14px; color:#66708a; font:500 10.5px 'DM Mono',monospace; letter-spacing:.9px; text-transform:uppercase; }
.policy-nav a { display:block; padding:10px 0; border-bottom:1px solid var(--line); font-size:13px; font-weight:700; text-decoration:none; }
.policy-nav a:last-child { border-bottom:0; }
.policy-nav a:hover { color:var(--blue); }
.policy-nav a[aria-current="page"] { color:var(--blue); }
.policy-updated { margin:0 0 20px; color:#66708a; font:500 11px 'DM Mono',monospace; letter-spacing:.8px; text-transform:uppercase; }
.policy-copy h2 { font-size:clamp(21px,2.4vw,27px); margin:42px 0 14px; }
.policy-copy h2:first-of-type { margin-top:0; }
.policy-copy p, .policy-copy li { color:#4d576b; font-size:15px; line-height:1.8; }
.policy-copy ul { margin:0 0 16px; padding-left:20px; }
.policy-copy li { margin-bottom:6px; }
.policy-copy a { color:var(--ink); text-decoration:underline; text-underline-offset:3px; }
.policy-copy a:hover { color:var(--blue); }
.policy-callout { margin:26px 0; padding:18px 22px; border-left:3px solid var(--blue); background:#eef3ff; }
.policy-callout p { margin:0; }
.policy-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:44px; }
.policy-card { display:flex; flex-direction:column; gap:12px; min-height:190px; padding:28px; border:1px solid var(--line); background:#fbfaf7; text-decoration:none; }
.policy-card:hover { border-color:var(--blue); box-shadow:0 10px 24px rgba(20,43,102,.08); }
.policy-card span { color:var(--blue); font:500 10.5px 'DM Mono',monospace; letter-spacing:.8px; text-transform:uppercase; }
.policy-card strong { font-size:19px; letter-spacing:-.01em; }
.policy-card p { margin:0; color:#596276; font-size:13.5px; line-height:1.6; }
.policy-card small { margin-top:auto; color:var(--ink); font-size:12px; font-weight:800; text-decoration:underline; text-underline-offset:4px; }

/* Comparison table */
.table-scroll { overflow-x:auto; margin-top:42px; border:1px solid var(--line); background:#fbfaf7; }
.compare-table { width:100%; min-width:680px; border-collapse:collapse; font-size:13px; }
.compare-table th, .compare-table td { padding:14px 18px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; line-height:1.5; }
.compare-table thead th { color:#58647b; background:#f1efe8; font:500 10px 'DM Mono',monospace; letter-spacing:.8px; text-transform:uppercase; }
.compare-table tbody tr:last-child td { border-bottom:0; }
.compare-table td:first-child { font-weight:700; }
.compare-table .yes { color:var(--blue); font-weight:800; }
.compare-table .no { color:#9aa3b8; }

/* Product detail page */
.product-detail-page { max-width:1160px; margin:0 auto; padding:clamp(44px,6vw,72px) clamp(20px,5vw,64px) clamp(64px,8vw,110px); }
.pd-layout { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr); gap:clamp(26px,4vw,48px); align-items:start; margin-top:30px; }
.pd-main h1 { font-size:clamp(34px,4vw,52px); }
.pd-main .product-lede { max-width:640px; color:#526078; font-size:17px; line-height:1.7; }
.pd-main h2 { font-size:clamp(22px,2.5vw,29px); margin:38px 0 8px; }
.pd-main ul { margin:18px 0 0; padding:0; list-style:none; border-top:1px solid var(--line); max-width:640px; }
.pd-main li { position:relative; padding:12px 0 12px 22px; border-bottom:1px solid var(--line); font-size:14px; line-height:1.5; }
.pd-main li::before { content:'+'; position:absolute; left:0; color:var(--blue); font-weight:800; }
.buy-card { position:sticky; top:98px; border:1px solid var(--line); background:#fbfaf7; padding:clamp(24px,3vw,34px); }
.buy-card .level { margin-bottom:14px; }
.buy-card .price { margin:0 0 6px; }
.buy-card .spec-list { display:grid; margin:20px 0 24px; border-top:1px solid var(--line); }
.spec-list div { display:grid; grid-template-columns:118px 1fr; gap:14px; padding:11px 0; border-bottom:1px solid var(--line); }
.spec-list dt { color:#66708a; font:500 10px 'DM Mono',monospace; letter-spacing:.7px; text-transform:uppercase; align-self:center; }
.spec-list dd { margin:0; font-size:13px; font-weight:700; line-height:1.5; }
.buy-card .button { width:100%; }
.buy-links { display:grid; gap:7px; margin:18px 0 0; font-size:12px; }
.buy-links a { color:#596276; text-decoration:underline; text-underline-offset:3px; }
.buy-links a:hover { color:var(--blue); }
.pd-loading { color:#526078; font-size:15px; }

/* Order confirmation */
.confirmation-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:42px 0; }
.confirmation-steps article { border:1px solid var(--line); background:#fbfaf7; padding:24px; }
.confirmation-steps span { color:var(--blue); font:500 11px 'DM Mono',monospace; }
.confirmation-steps h3 { margin:16px 0 8px; font-size:17px; }
.confirmation-steps p { margin:0; color:#4d576b; font-size:13.5px; line-height:1.65; }
.confirmation-actions { display:flex; flex-wrap:wrap; gap:16px; align-items:center; }

/* Checkout small print */
.checkout-agreement { margin:4px 0 0; color:#66708a; font-size:12px; line-height:1.65; font-weight:500; }
.checkout-agreement a { color:var(--ink); text-decoration:underline; text-underline-offset:3px; }

/* Interior-page section rhythm */
.subpage-section { padding:clamp(56px,7vw,96px) clamp(20px,8vw,140px); }
.subpage-section + .subpage-section { border-top:1px solid var(--line); padding-top:clamp(48px,6vw,80px); }
.subpage-section .section-heading h2 { max-width:760px; }
.link-row { display:flex; flex-wrap:wrap; gap:14px 28px; margin-top:30px; }

@media (max-width:1050px) { nav { gap:18px; } }
@media (max-width:900px) {
  .policy-layout, .pd-layout { grid-template-columns:1fr; }
  .policy-nav { position:static; display:flex; overflow-x:auto; gap:4px 22px; padding:14px 18px; }
  .policy-nav h2 { display:none; }
  .policy-nav a { border-bottom:0; white-space:nowrap; }
  .buy-card { position:static; }
  .value-grid, .policy-grid, .confirmation-steps { grid-template-columns:1fr; }
  .delivery-steps { grid-template-columns:1fr; border-top:0; }
  .delivery-steps li { margin:0; padding:18px 0; border-right:0; border-top:1px solid var(--line); }
  .delivery-steps h3 { margin-top:14px; }
  .page-hero { padding:44px 22px 48px; }
  .hero-chips { gap:8px; }
  .subpage-section { padding:52px 22px; }
}
