:root { --canvas:#fcfcfb; --paper:#efefeb; --ink:#14181d; --body:#565f6b; --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(48px,7.1vw,90px); font-weight:600; letter-spacing:-.052em; line-height:.93; }
    .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); }

    .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:68px 0 80px; background:var(--paper); border-bottom:1px solid var(--hair); }
    .hero-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(430px,1fr); gap:72px; align-items:center; }
    .hero .eyebrow { margin-bottom:24px; }
    .hero-service-label { margin:0 0 20px; color:var(--blue); font-size:18px; font-weight:650; line-height:1.35; }
    .hero-sub { max-width:56ch; margin:28px 0 0; color:var(--body); font-size:18px; line-height:1.72; }
    .hero-sub strong { color:var(--ink); font-weight:600; }
    .hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:19px; margin-top:31px; }
    .hero-phone { color:var(--body); font-size:14px; font-weight:600; }
    .hero-visual { position:relative; min-height:590px; overflow:hidden; background:#d5d5d0; }
    .hero-visual img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
    .estimate-card { position:absolute; left:0; bottom:0; width:min(330px,78%); padding:29px 31px; background:var(--night); color:#fff; }
    .estimate-card span { color:#75b8f4; font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
    .estimate-card strong { display:block; margin-top:11px; font-size:48px; letter-spacing:-.05em; line-height:1; }
    .estimate-card p { margin:10px 0 0; color:rgba(255,255,255,.78); font-size:14px; line-height:1.6; }

    .premise { padding:78px 0; border-bottom:1px solid var(--hair); }
    .premise-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:82px; align-items:start; }
    .premise h2 { margin:0; max-width:16ch; font-size:clamp(35px,4vw,52px); font-weight:600; letter-spacing:-.04em; line-height:1.02; }
    .premise-body p { margin:0 0 22px; color:var(--body); font-size:17px; line-height:1.8; }
    .premise-body p:first-child { color:var(--ink); font-size:22px; letter-spacing:-.02em; line-height:1.55; }

    .comparison { padding:112px 0; }
    .comparison-head { display:grid; grid-template-columns:.72fr 1.28fr; gap:82px; align-items:end; margin-bottom:60px; }
    .comparison-head p:last-child { margin:0; max-width:58ch; color:var(--body); font-size:17px; line-height:1.72; }
    .compare-grid { display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--hair); }
    .compare { min-height:440px; padding:44px; }
    .compare + .compare { border-left:1px solid var(--hair); }
    .compare.independent { background:var(--night); color:#fff; }
    .compare-label { color:var(--blue); font-size:11px; font-weight:700; letter-spacing:.17em; text-transform:uppercase; }
    .independent .compare-label { color:#75b8f4; }
    .compare h3 { margin:54px 0 25px; max-width:12ch; font-size:34px; font-weight:600; letter-spacing:-.04em; line-height:1.03; }
    .compare p { margin:0; color:var(--body); font-size:16px; line-height:1.72; }
    .independent p { color:rgba(255,255,255,.74); }
    .compare-list { margin-top:32px; border-top:1px solid var(--hair); }
    .independent .compare-list { border-color:rgba(255,255,255,.18); }
    .compare-item { padding:14px 0; border-bottom:1px solid var(--hair); font-size:14px; }
    .independent .compare-item { border-color:rgba(255,255,255,.18); }
    .compare-item::before { content:"—"; margin-right:13px; color:var(--blue); }
    .independent .compare-item::before { color:#75b8f4; }

    .analysis-section { padding:110px 0; background:var(--paper); }
    .analysis-head { display:grid; grid-template-columns:.72fr 1.28fr; gap:82px; align-items:end; }
    .analysis-head p:last-child { margin:0; max-width:58ch; color:var(--body); font-size:17px; line-height:1.72; }
    .analysis-grid { display:grid; grid-template-columns:repeat(4,1fr); margin-top:66px; border-top:1px solid #d6d6d0; }
    .analysis-card { position:relative; min-height:270px; padding:34px 26px 28px 0; border-bottom:1px solid #d6d6d0; }
    .analysis-card + .analysis-card { padding-left:26px; border-left:1px solid #d6d6d0; }
    .analysis-card::before { content:""; display:block; width:34px; height:3px; margin-bottom:46px; background:var(--blue); }
    .analysis-card h3 { margin:0 0 14px; font-size:24px; font-weight:600; letter-spacing:-.03em; }
    .analysis-card p { margin:0; color:var(--body); font-size:14px; line-height:1.65; }

    .options { padding:112px 0; background:var(--night); color:#fff; }
    .options-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:90px; }
    .options .eyebrow { color:#75b8f4; }
    .options-copy p:not(.eyebrow) { margin:26px 0 0; color:rgba(255,255,255,.67); font-size:17px; line-height:1.8; }
    .option-list { border-top:1px solid rgba(255,255,255,.2); }
    .option { position:relative; padding:25px 0 25px 24px; border-bottom:1px solid rgba(255,255,255,.2); }
    .option::before { content:""; position:absolute; top:34px; left:0; width:7px; height:7px; border-radius:50%; background:#75b8f4; }
    .option strong { display:block; font-size:20px; font-weight:600; letter-spacing:-.02em; }
    .option p { margin:7px 0 0; color:rgba(255,255,255,.72); font-size:15px; line-height:1.65; }

    .advisory { padding:72px 0; border-bottom:1px solid var(--hair); }
    .advisory-grid { display:grid; grid-template-columns:220px 1fr; gap:70px; }
    .advisory h2 { margin:0; font-size:23px; letter-spacing:-.025em; }
    .advisory p { margin:0; color:var(--body); font-size:16px; line-height:1.76; }

    .second-proof { padding:98px 0 104px; background:var(--night); color:#fff; }
    .second-proof-grid { display:block; }
    .second-proof .eyebrow { color:#75b8f4; }
    .second-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; }
    .second-proof figure { max-width:920px; margin:0 auto; padding-left:40px; border-left:3px solid #75b8f4; }
    .second-proof blockquote { max-width:27ch; margin:0; font-size:clamp(25px,3vw,38px); font-weight:500; letter-spacing:-.035em; line-height:1.28; }
    .second-proof figcaption { margin-top:24px; color:rgba(255,255,255,.76); font-size:14px; }
    .second-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: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-grid,.premise-grid,.comparison-head,.analysis-head,.options-grid,.second-proof-grid,.faq-grid { grid-template-columns:1fr; gap:44px; }
      .hero-visual { min-height:500px; }
      .analysis-grid { grid-template-columns:repeat(2,1fr); }
      .analysis-card:nth-child(3) { padding-left:0; border-left:0; }
    }
    @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:48px 0 58px; }
      .hero-visual { min-height:410px; }
      .premise,.comparison,.analysis-section,.options,.second-proof,.faq,.cta { padding:78px 0; }
      .compare-grid,.analysis-grid,.cta-grid,.footer-grid { grid-template-columns:1fr; }
      .compare { min-height:0; padding:34px 26px; }
      .compare + .compare { border-left:0; border-top:1px solid var(--hair); }
      .analysis-card { min-height:0; padding:25px 0; border-left:0!important; }
      .analysis-card + .analysis-card { padding-left:0; }
      .analysis-card::before { margin-bottom:26px; }
      .advisory-grid { grid-template-columns:1fr; gap:20px; }
      .second-proof figure { padding-left:24px; }
      .footer-grid { gap:40px; }
    }
    @media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto} *{transition:none!important} }
