:root { --canvas:#fcfcfb; --paper:#efefeb; --ink:#14181d; --body:#565f6b; --muted:#8a929c; --hair:#e5e5e1; --blue:#1b63b6; --night:#112943; }
    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; }
    body { margin:0; background:var(--canvas); color:var(--ink); font-family:"Instrument Sans",system-ui,sans-serif; -webkit-font-smoothing:antialiased; }
    img { display:block; max-width:100%; }
    a { color:inherit; text-decoration:none; }
    a:focus-visible, summary:focus-visible { outline:2px solid var(--blue); outline-offset:4px; }
    .wrap { width:min(1160px,calc(100% - 48px)); margin-inline:auto; }
    .eyebrow { margin:0; color:var(--blue); font-size:11px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
    .display { margin:0; font-size:clamp(46px,6.8vw,86px); font-weight:600; letter-spacing:-.05em; line-height:.94; }
    .section-title { margin:0; max-width:14ch; font-size:clamp(36px,4.5vw,58px); font-weight:600; letter-spacing:-.04em; line-height:1; }
    .button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 26px; border-radius:999px; background:var(--ink); color:#fff; font-size:13px; font-weight:600; transition:background .2s ease,transform .2s ease; }
    .button:hover { background:var(--blue); transform:translateY(-1px); }
    .button-blue { background:var(--blue); }
    .button-blue:hover { background:#14528f; }

    .site-nav { position:sticky; top:0; z-index:20; border-bottom:1px solid var(--hair); background:rgba(252,252,251,.94); backdrop-filter:blur(10px); }
    .nav-inner { height:80px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
    .brand img { width:210px; height:auto; }
    .nav-links { display:flex; align-items:center; gap:23px; color:var(--body); font-size:13px; font-weight:500; }
    .nav-links a:hover,.nav-links [aria-current="page"],.phone:hover { color:var(--blue); }
    .nav-actions { display:flex; align-items:center; gap:16px; }
    .phone { font-size:13px; font-weight:600; white-space:nowrap; }

    .hero { padding:64px 0 0; background:var(--paper); border-bottom:1px solid var(--hair); }
    .hero-top { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(330px,.88fr); gap:74px; align-items:end; padding-bottom:62px; }
    .hero .eyebrow { margin-bottom:24px; }
    .hero-copy { margin:0 0 5px; color:var(--body); font-size:18px; line-height:1.72; }
    .hero-copy strong { color:var(--ink); font-weight:600; }
    body.family-permit .hero .hero-copy { color:#fff; text-shadow:0 1px 1px rgba(0,0,0,.18); }
    body.family-permit .hero .hero-copy strong { color:#fff; }
    .hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:20px; margin-top:29px; }
    .hero-phone { color:var(--body); font-size:14px; font-weight:600; }
    .hero-media { display:grid; grid-template-columns:1.35fr .65fr; min-height:390px; }
    .hero-media figure { position:relative; margin:0; overflow:hidden; }
    .hero-media figure + figure { border-left:8px solid var(--paper); }
    .hero-media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
    .hero-media figure:last-child img { filter:saturate(.78) contrast(1.04); }

    .uses { padding:58px 0; border-bottom:1px solid var(--hair); }
    .uses-grid { display:grid; grid-template-columns:repeat(4,1fr); }
    .use { min-height:125px; padding:0 28px; border-left:1px solid var(--hair); }
    .use:first-child { padding-left:0; border-left:0; }
    .use::before { content:""; display:block; width:36px; height:3px; background:var(--blue); }
    .use h2 { margin:24px 0 0; font-size:18px; font-weight:600; letter-spacing:-.02em; line-height:1.25; }
    .use p { margin:10px 0 0; color:var(--body); font-size:14px; line-height:1.6; }

    .overview { padding:112px 0; }
    .overview-grid { display:grid; grid-template-columns:.72fr 1.28fr; gap:82px; }
    .overview-body { max-width:700px; }
    .overview-body p { margin:0 0 24px; color:var(--body); font-size:17px; line-height:1.8; }
    .overview-body p:first-child { color:var(--ink); font-size:23px; letter-spacing:-.02em; line-height:1.55; }
    .overview-body a { color:var(--blue); font-weight:600; text-decoration:underline; text-underline-offset:3px; }
    .report-includes { margin-top:44px; border-top:1px solid var(--hair); display:grid; grid-template-columns:repeat(2,1fr); }
    .include { position:relative; padding:21px 20px 21px 19px; border-bottom:1px solid var(--hair); color:var(--ink); font-size:15px; line-height:1.45; }
    .include:nth-child(even) { padding-left:22px; border-left:1px solid var(--hair); }
    .include::before { content:""; position:absolute; left:0; top:29px; width:6px; height:6px; border-radius:50%; background:var(--blue); }
    .include:nth-child(even)::before { left:22px; }
    .include:nth-child(even) { padding-left:41px; }

    .process { padding:110px 0; background:var(--night); color:#fff; }
    .process-head { display:grid; grid-template-columns:.72fr 1.28fr; gap:82px; align-items:end; }
    .process .eyebrow { color:#75b8f4; }
    .process-intro { margin:0; max-width:57ch; color:rgba(255,255,255,.67); font-size:17px; line-height:1.72; }
    .steps { display:grid; grid-template-columns:repeat(3,1fr); margin-top:68px; border-top:1px solid rgba(255,255,255,.2); }
    .step { min-height:305px; padding:34px 34px 0 0; border-bottom:1px solid rgba(255,255,255,.2); }
    .step + .step { padding-left:34px; border-left:1px solid rgba(255,255,255,.2); }
    .step-num { color:#75b8f4; font-size:12px; font-weight:700; letter-spacing:.15em; }
    .step h3 { margin:55px 0 16px; font-size:28px; font-weight:600; letter-spacing:-.035em; }
    .step p { margin:0; color:rgba(255,255,255,.74); font-size:15px; line-height:1.72; }

    .official { padding:112px 0; background:var(--mist); }
    .official-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:90px; align-items:center; }
    .official p:not(.eyebrow) { margin:26px 0 0; color:var(--body); font-size:17px; line-height:1.78; }
    .stamp-panel { padding:42px; background:var(--canvas); border:1px solid #d9d9d3; }
    .stamp-kicker { color:var(--blue); font-size:11px; font-weight:700; letter-spacing:.17em; text-transform:uppercase; }
    .stamp-panel strong { display:block; margin-top:46px; font-size:42px; letter-spacing:-.045em; line-height:1; }
    .stamp-panel p { margin:16px 0 0!important; font-size:15px!important; line-height:1.68!important; }
    .timeline { display:flex; align-items:center; gap:12px; margin-top:42px; padding-top:22px; border-top:1px solid var(--hair); color:var(--body); font-size:13px; }
    .timeline b { color:var(--ink); font-weight:600; }

    .report-proof { padding:98px 0 104px; background:var(--night); color:#fff; }
    .report-proof-grid { display:grid; grid-template-columns:.72fr 1.28fr; gap:82px; }
    .report-proof .eyebrow { color:#75b8f4; }
    .report-proof h2 { max-width:13ch; margin:18px 0 0; font-size:clamp(34px,4vw,54px); font-weight:600; letter-spacing:-.04em; line-height:1.02; }
    .report-proof figure { margin:0; padding-left:40px; border-left:3px solid #75b8f4; }
    .report-proof blockquote { max-width:27ch; margin:0; font-size:clamp(25px,3vw,38px); font-weight:500; letter-spacing:-.035em; line-height:1.28; }
    .report-proof figcaption { margin-top:24px; color:rgba(255,255,255,.76); font-size:14px; }
    .report-proof a { display:inline-block; margin-top:28px; color:#75b8f4; font-size:14px; font-weight:600; }

    .faq { padding:112px 0 124px; }
    .faq-grid { display:grid; grid-template-columns:.72fr 1.28fr; gap:82px; }
    .faq-list { border-top:1px solid var(--hair); }
    details { border-bottom:1px solid var(--hair); }
    summary { position:relative; cursor:pointer; list-style:none; padding:27px 52px 27px 0; font-size:19px; font-weight:600; letter-spacing:-.018em; line-height:1.4; }
    summary::-webkit-details-marker { display:none; }
    summary::after { content:"+"; position:absolute; right:2px; top:23px; color:var(--blue); font-size:28px; font-weight:400; }
    details[open] summary::after { content:"–"; }
    details p { margin:0; padding:0 48px 28px 0; color:var(--body); font-size:15px; line-height:1.72; }

    .cta { padding:96px 0; background:var(--paper); border-top:1px solid var(--hair); }
    .cta-grid { display:grid; grid-template-columns:1fr auto; gap:48px; align-items:end; }
    .cta h2 { margin:16px 0 0; max-width:16ch; font-size:clamp(38px,5vw,62px); font-weight:600; letter-spacing:-.04em; line-height:1; }

    .site-footer { padding:64px 0 34px; background:var(--ink); color:#fff; }
    .footer-grid { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:60px; }
    .footer-brand { width:240px; filter:brightness(0) invert(1); }
    .footer-copy { max-width:36ch; margin:24px 0 0; color:rgba(255,255,255,.58); font-size:13px; line-height:1.7; }
    .footer-title { margin:0 0 18px; color:rgba(255,255,255,.46); font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
    .footer-links { display:grid; gap:12px; font-size:14px; }
    .footer-links a:hover { color:#75b8f4; }
    .legal { margin-top:54px; padding-top:26px; border-top:1px solid rgba(255,255,255,.14); color:rgba(255,255,255,.44); font-size:11px; line-height:1.7; }

    @media (max-width:960px) {
      .nav-links { display:none; }
      .hero-top,.overview-grid,.process-head,.official-grid,.report-proof-grid,.faq-grid { grid-template-columns:1fr; gap:44px; }
      .uses-grid { grid-template-columns:repeat(2,1fr); }
      .use:nth-child(3) { padding-left:0; border-left:0; }
      .use:nth-child(n+3) { padding-top:30px; margin-top:30px; border-top:1px solid var(--hair); }
      .steps { grid-template-columns:1fr; }
      .step { min-height:0; padding:30px 0; }
      .step + .step { padding-left:0; border-left:0; }
      .step h3 { margin-top:32px; }
    }
    @media (max-width:700px) {
      .wrap { width:min(100% - 32px,1160px); }
      .site-nav .phone { display:none; }
      .brand img { width:180px; }
      .nav-inner { height:72px; }
      .nav-actions .button { min-height:42px; padding:0 16px; }
      .hero { padding-top:46px; }
      .hero-media { grid-template-columns:1fr; min-height:560px; }
      .hero-media figure + figure { border-left:0; border-top:8px solid var(--paper); }
      .uses-grid,.report-includes,.cta-grid,.footer-grid { grid-template-columns:1fr; }
      .use { min-height:0; padding:24px 0; border-left:0; border-top:1px solid var(--hair); }
      .use:first-child { border-top:0; }
      .use:nth-child(n+3) { margin-top:0; }
      .overview,.process,.official,.report-proof,.faq,.cta { padding:78px 0; }
      .include:nth-child(even) { padding-left:0; border-left:0; }
      .include:nth-child(even) { padding-left:19px; }
      .include:nth-child(even)::before { left:0; }
      .stamp-panel { padding:30px; }
      .report-proof figure { padding-left:24px; }
      .footer-grid { gap:40px; }
    }
    @media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto} *{transition:none!important} }
