    :root{
      --ink:#0b1220;
      --text:#111827;
      --muted:#6b7280;
      --hairline:#e5e7eb;
      --wash:#fbfbfc;
      --paper:#ffffff;
      --accent:#0f2a56;
      --radius:14px;

      --sans:-apple-system, BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
      --serif:ui-serif,"Iowan Old Style","Palatino Linotype",Palatino,"Times New Roman",serif;
    }

    *{box-sizing:border-box;}
    html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth;}
    body{
      margin:0;
      font-family:var(--sans);
      color:var(--text);
      background:var(--wash);
      font-size:16px;
      line-height:1.75;
      letter-spacing:-0.01em;
    }
    a{color:inherit;text-decoration:none;}
    .container{width:min(1040px,92vw);margin:0 auto;}
    .divider{height:1px;background:var(--hairline);}

    header{
      position:sticky;top:0;z-index:10;
      background:color-mix(in srgb, var(--wash) 88%, #fff);
      border-bottom:1px solid var(--hairline);
    }
    .nav{display:flex;align-items:center;justify-content:space-between;padding:14px 0;gap:16px;}
    .brand{display:flex;align-items:baseline;gap:12px;min-width:220px;}
    .brand .name{font-family:var(--serif);font-weight:650;letter-spacing:-0.02em;color:var(--ink);font-size:18px;line-height:1.2;}
    .brand .tag{font-size:12px;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted);white-space:nowrap;}

    .navlinks{display:flex;gap:18px;align-items:center;color:color-mix(in srgb, var(--muted) 85%, var(--ink));font-size:14px;}
    .navlinks a{padding:8px 6px;border-radius:10px;}
    .navlinks a:hover{background:color-mix(in srgb, var(--hairline) 35%, transparent);color:var(--ink);}

    .cta{display:flex;gap:10px;align-items:center;min-width:220px;justify-content:flex-end;}
    .btn{
      display:inline-flex;align-items:center;justify-content:center;
      padding:10px 16px;border-radius:999px;border:1px solid var(--hairline);
      font-weight:650;font-size:14px;letter-spacing:-0.01em;cursor:pointer;
      background:#fff;color:var(--ink);
    }
    .btn:hover{background:color-mix(in srgb, var(--hairline) 25%, transparent);}
    .btn-primary{
      background:transparent;color:var(--accent);
      border-color:color-mix(in srgb, var(--accent) 35%, var(--hairline));
    }
    .btn-primary:hover{background:color-mix(in srgb, var(--accent) 6%, transparent);}
    .btn:disabled{opacity:.55;cursor:not-allowed;}

    section{padding:84px 0;}
    section[id], footer[id]{scroll-margin-top:84px;}
    #consultation-form{scroll-margin-top:calc(84px + env(safe-area-inset-top, 0px));}
    .hero{
      padding:72px 0 60px;
      background:linear-gradient(180deg, #fff, var(--wash));
      border-bottom:1px solid var(--hairline);
    }
    .hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:44px;align-items:start;}
    .hero-single .hero-grid{grid-template-columns:1fr;gap:0;}
    .hero-form-panel{display:none;}
    .hero-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;}

    @media (min-width:1200px){
      .hero-single .hero-grid{
        grid-template-columns:minmax(0,1.14fr) minmax(360px,.86fr);
        gap:34px;
        align-items:start;
      }
      .hero-form-panel{
        display:block;
        padding:24px;
        position:sticky;
        top:94px;
      }
      .hero-actions{display:none;}
    }

    .eyebrow{font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:var(--muted);margin:0 0 16px;}
    h1{
      font-family:var(--serif);font-weight:700;letter-spacing:-0.03em;color:var(--ink);
      line-height:1.06;font-size:clamp(34px,4.2vw,52px);margin:0 0 18px;max-width:21ch;
    }
    .lead{
      font-size:18px;
      color:color-mix(in srgb, var(--text) 84%, var(--muted));
      margin:0 0 22px;
      max-width:62ch;
      letter-spacing:-0.005em;
    }

    .hero-points{list-style:none;margin:18px 0 26px;padding:0;display:grid;gap:10px;}
    .hero-points li{display:flex;gap:10px;align-items:flex-start;font-size:15px;color:color-mix(in srgb, var(--text) 90%, var(--muted));}
    .dot{width:8px;height:8px;border-radius:999px;margin-top:8px;background:var(--accent);flex:0 0 8px;}
    .meta{margin-top:14px;font-size:13px;color:var(--muted);}

    .panel{
      background:#fff;border:1px solid var(--hairline);border-radius:var(--radius);
      padding:22px;
    }
    .panel h2{font-family:var(--serif);font-weight:650;letter-spacing:-0.02em;color:var(--ink);font-size:20px;margin:0 0 10px;line-height:1.2;}
    .panel p{margin:0 0 14px;color:color-mix(in srgb, var(--text) 88%, var(--muted));font-size:14px;}
    .consultation-points{list-style:none;margin:0;padding:0;display:grid;gap:12px;}
    .consultation-points li{display:flex;gap:10px;align-items:flex-start;font-size:15px;line-height:1.45;color:color-mix(in srgb, var(--text) 90%, var(--muted));}
    .consultation-icon{
      width:26px;height:26px;flex:0 0 26px;border-radius:8px;
      border:1px solid color-mix(in srgb, var(--accent) 24%, var(--hairline));
      background:color-mix(in srgb, var(--accent) 4%, #fff);
      color:var(--accent);display:flex;align-items:center;justify-content:center;margin-top:1px;
    }
    .consultation-icon svg{width:16px;height:16px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round;}
    .mobile-fab{display:none;}

    .form{display:grid;gap:12px;margin-top:10px;}
    label{display:grid;gap:8px;font-size:13px;color:var(--muted);}
    input,textarea{
      width:100%;padding:12px;border-radius:12px;border:1px solid #d1d5db;background:#fff;
      font-family:var(--sans);font-size:14px;letter-spacing:-0.01em;outline:none;
    }
    input:focus,textarea:focus{
      border-color:color-mix(in srgb, var(--accent) 28%, #9ca3af);
      box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 10%, transparent);
    }
    textarea{min-height:110px;resize:vertical;}

    .consent{
      display:flex;gap:10px;align-items:flex-start;font-size:14px;
      color:color-mix(in srgb, var(--text) 82%, var(--muted));line-height:1.55;
    }
    .consent input[type="checkbox"]{width:16px;height:16px;margin-top:3px;flex:0 0 16px;}
    .consent input[type="checkbox"]:focus-visible{outline:2px solid var(--accent);outline-offset:3px;}
    .consent label{display:inline;font-size:inherit;color:inherit;line-height:inherit;cursor:pointer;}
    .consent a{text-decoration:underline;}
    .fine{margin-top:12px;font-size:12px;color:var(--muted);}
    .form-status{font-size:13px;min-height:52px;line-height:1.45;}
    .form-status.ok{color:#0f766e;}
    .form-status.error{color:#b91c1c;}
    .hp-field{position:absolute;left:-9999px;opacity:0;pointer-events:none;}

    .kicker{font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:var(--muted);margin:0 0 12px;}
    .section-title{
      font-family:var(--serif);font-weight:650;letter-spacing:-0.02em;color:var(--ink);
      font-size:clamp(22px,2.3vw,30px);margin:0 0 14px;line-height:1.15;max-width:26ch;
    }
    .section-lead{margin:0 0 28px;color:color-mix(in srgb, var(--text) 86%, var(--muted));max-width:72ch;}

    .grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px;}
    .grid > *{min-width:0;}
    .col-12{grid-column:span 12;}
    .col-6{grid-column:span 6;}
    .col-4{grid-column:span 4;}

    .tile{background:#fff;border:1px solid var(--hairline);border-radius:var(--radius);padding:24px;}
    .tile h3{margin:0 0 10px;font-family:var(--sans);font-size:14px;font-weight:700;letter-spacing:-0.01em;color:var(--ink);}
    #approach .tile h3{display:flex;align-items:center;gap:10px;line-height:1.3;}
    .approach-index{
      width:30px;height:30px;flex:0 0 30px;border-radius:8px;
      border:1px solid color-mix(in srgb, var(--accent) 20%, var(--hairline));
      background:color-mix(in srgb, var(--accent) 4%, #fff);color:var(--accent);
      display:inline-flex;align-items:center;justify-content:center;
      font-size:11px;font-weight:700;line-height:1;letter-spacing:.04em;
      font-variant-numeric:tabular-nums;
    }
    .tile p{margin:0;color:color-mix(in srgb, var(--text) 88%, var(--muted));font-size:14px;}

    .consultation-mobile-photo{
      display:block;
      margin:4px 0 14px;
      border-radius:12px;
      overflow:hidden;
    }
    .consultation-mobile-photo img{
      display:block;
      width:100%;
      height:auto;
    }
    @media (min-width:1024px){
      #consultation-request .grid{align-items:stretch;}
      #consultation-request .grid > .tile{
        height:100%;
        display:flex;
        flex-direction:column;
      }
      #consultation-request .contacts-tile{
        display:flex;
        flex-direction:column;
        gap:8px;
        padding-bottom:14px;
      }
      #consultation-request .contacts-tile .consultation-mobile-photo{
        margin:0;
        flex:0 0 454px;
        min-height:0;
      }
      #consultation-request .contacts-tile .consultation-mobile-photo img{
        height:100%;
        object-fit:cover;
        object-position:center 18%;
      }
      #consultation-request .contacts-text{
        display:flex;
        flex-direction:column;
        justify-content:flex-end;
        gap:3px;
        flex:1 1 auto;
        line-height:1.2;
        margin:0;
      }
    }

    .pricebox{
      display:flex;align-items:baseline;justify-content:space-between;gap:14px;
      padding:22px 24px;border:1px solid var(--hairline);border-radius:var(--radius);background:#fff;
    }
    .pricebox .label{font-size:12px;color:var(--muted);letter-spacing:0.12em;text-transform:uppercase;}
    .pricebox .value{font-family:var(--serif);font-weight:700;letter-spacing:-0.02em;color:var(--ink);font-size:26px;line-height:1;}

    details{border:1px solid var(--hairline);border-radius:14px;padding:16px 18px;background:#fff;}
    details + details{margin-top:10px;}
    summary{
      cursor:pointer;list-style:none;font-weight:700;color:var(--ink);letter-spacing:-0.01em;
      display:flex;align-items:center;justify-content:space-between;gap:16px;
    }
    summary::marker{content:"";}
    summary::after{
      content:"";
      flex:0 0 24px;
      width:24px;height:24px;
      border:1px solid color-mix(in srgb, var(--accent) 24%, var(--hairline));
      border-radius:999px;
      background:
        linear-gradient(var(--accent),var(--accent)) center/10px 1px no-repeat,
        linear-gradient(var(--accent),var(--accent)) center/1px 10px no-repeat;
    }
    details[open] summary::after{
      background:linear-gradient(var(--accent),var(--accent)) center/10px 1px no-repeat;
    }
    summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:6px;}
    summary::-webkit-details-marker{display:none;}
    details p{margin:10px 0 0;color:color-mix(in srgb, var(--text) 88%, var(--muted));font-size:14px;}

    footer{padding:44px 0 64px;color:var(--muted);font-size:13px;background:transparent;}
    .footgrid{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;}
    .footgrid strong{color:var(--ink);font-weight:700;}

    @media (max-width:920px){
      .hero-grid{grid-template-columns:1fr;gap:22px;}
      .navlinks{display:none;}
      section{padding:72px 0;}
      .hero{padding:64px 0 52px;}
    }
    @media (max-width:768px){
      html{
        scroll-padding-bottom:calc(72px + env(safe-area-inset-bottom, 0px));
      }
      #contacts .footgrid{
        padding-right:calc(126px + env(safe-area-inset-right, 0px));
        gap:12px;
      }
      .container{width:min(1040px,94vw);}
      .nav{padding:10px 0;gap:10px;}
      .brand{min-width:0;gap:8px;}
      .brand .name{font-size:17px;}
      .brand .tag{font-size:10px;letter-spacing:0.1em;}
      .cta{min-width:0;gap:8px;padding-right:2px;}
      .cta .btn{padding:8px 12px;font-size:13px;min-height:38px;}

      .hero-grid{gap:22px;}
      .hero{
        padding:34px 0 58px;
        min-height:100svh;
        min-height:100dvh;
        display:flex;
        align-items:stretch;
      }
      .hero-single .hero-grid{
        min-height:calc(100svh - 102px);
        min-height:calc(100dvh - 102px);
      }
      .hero-single .hero-grid > div{
        min-height:100%;
        display:flex;
        flex-direction:column;
        justify-content:flex-start;
      }
      .eyebrow{margin:0 0 18px;font-size:11px;}
      h1{font-size:clamp(28px,8.8vw,34px);margin:0 0 24px;line-height:1.08;}
      .lead{font-size:16px;line-height:1.62;margin:0 0 28px;}
      .hero-points{margin:0 0 26px;gap:10px;}
      .hero-points li{font-size:14px;line-height:1.4;gap:8px;}
      .dot{margin-top:7px;}
      .hero-actions{gap:10px;margin-top:0;}
      .hero-actions .btn{min-height:44px;padding:11px 16px;}
      .meta{margin-top:24px;padding-bottom:22px;}

      .form{gap:10px;}
      label{gap:6px;}
      input,textarea{padding:11px;}
      textarea{min-height:96px;}
      .form button[type="submit"]{margin-top:2px;min-height:44px;}
      .consent{gap:8px;}
      .fine{margin-top:8px;}
      .consultation-points{gap:10px;}
      .consultation-points li{font-size:14px;gap:9px;}
      .mobile-fab{
        position:fixed;
        right:calc(14px + env(safe-area-inset-right, 0px));
        bottom:calc(14px + env(safe-area-inset-bottom, 0px));
        z-index:20;
        display:flex;
        flex-direction:row;
        gap:10px;
      }
      .mobile-fab.mobile-fab--hidden-for-hero{display:none;}
      .fab-btn{
        width:48px;
        height:48px;
        border-radius:999px;
        border:1px solid color-mix(in srgb, var(--accent) 28%, var(--hairline));
        background:#fff;
        color:var(--accent);
        display:flex;
        align-items:center;
        justify-content:center;
        box-shadow:0 8px 20px color-mix(in srgb, var(--ink) 12%, transparent);
        font-size:18px;
        font-weight:650;
        line-height:1;
      }
      .fab-btn-up{background:color-mix(in srgb, var(--accent) 6%, #fff);}
      .fab-btn:focus-visible{outline:3px solid var(--accent);outline-offset:3px;}
    }
    @media (max-width:640px){
      .col-6,.col-4{grid-column:span 12;}
      .pricebox{flex-direction:column;align-items:flex-start;}
      .form .btn{width:100%;}
      .form .btn.btn-primary{width:100%;}
    }
    @media (max-width:420px){
      #contacts .footgrid{
        padding-right:calc(118px + env(safe-area-inset-right, 0px));
      }
      .container{width:min(1040px,93vw);}
      h1{font-size:clamp(24px,8.2vw,29px);line-height:1.1;}
      .brand .tag{display:none;}
      .cta .btn{padding:8px 10px;font-size:12px;min-height:36px;}
      .hero{
        padding:30px 0 50px;
      }
      .hero-single .hero-grid{
        min-height:calc(100svh - 94px);
        min-height:calc(100dvh - 94px);
      }
      .hero-points{margin:0 0 20px;gap:7px;}
      .hero-points li{font-size:13.5px;line-height:1.35;}
      .hero-actions{gap:8px;margin-top:0;}
      .hero-actions .btn{width:100%;min-height:46px;padding:11px 14px;}
      .meta{margin-top:20px;padding-bottom:18px;}
      .consultation-points li{font-size:13.5px;}
      .consultation-icon{width:24px;height:24px;flex-basis:24px;}
      .consultation-icon svg{width:15px;height:15px;}
      .mobile-fab{
        right:calc(12px + env(safe-area-inset-right, 0px));
        bottom:calc(12px + env(safe-area-inset-bottom, 0px));
        gap:8px;
      }
      .fab-btn{width:46px;height:46px;}

      .form{gap:8px;}
      label{gap:5px;}
      input,textarea{padding:10px;}
      textarea{min-height:90px;}
      .form button[type="submit"]{margin-top:4px;}
    }
    @media (max-width:380px){
      #consultation-form{padding-inline:16px;}
    }

    .space-18{height:18px;}
    .pricebox-subtitle{color:var(--muted);font-size:14px;margin-top:6px;}
    .formats-note{margin:16px 0 0;color:var(--muted);font-size:13px;}
    .contacts-text{margin:0;color:var(--muted);font-size:14px;}
    #consultation-request .contacts-heading{
      display:grid;justify-items:start;gap:4px;margin:0;
    }
    #consultation-request .contacts-heading h3{margin:0;}
    #consultation-request .contacts-demo-label{
      display:inline-flex;align-items:center;padding:2px 7px;
      border:1px solid var(--hairline);border-radius:999px;
      background:var(--wash);color:var(--muted);
      font-size:11px;font-weight:650;line-height:1.2;letter-spacing:.02em;
    }
    #consultation-request .contacts-line{
      display:block;
      margin:0;
    }
    #consultation-request .contacts-link{
      color:var(--accent);font-weight:650;border:0;border-radius:3px;
      background:transparent;text-decoration:none;
    }
    #consultation-request .contacts-link:visited{
      color:var(--accent);
    }
    #consultation-request .contacts-link:hover{
      background:color-mix(in srgb, var(--accent) 5%, transparent);
      text-decoration:underline;text-decoration-thickness:1px;
      text-underline-offset:3px;text-decoration-color:currentColor;
    }
    #consultation-request .contacts-link:focus-visible{
      outline:2px solid var(--accent);outline-offset:2px;
      background:color-mix(in srgb, var(--accent) 6%, transparent);
      text-decoration:underline;text-decoration-thickness:1px;
      text-underline-offset:3px;text-decoration-color:currentColor;
    }
    .footer-inner{padding:44px 0 64px;color:var(--muted);font-size:13px;}

    /* MOBILE-RHYTHM-V2-001 START */
    @media (max-width:768px){
      section{
        padding:28px 0;
      }

      .hero{
        min-height:calc(100svh - 60px);
        min-height:calc(100dvh - 60px);
        padding:24px 0 28px;
        display:flex;
        align-items:stretch;
      }

      .hero > .container{
        display:flex;
        padding-inline:24px;
      }

      .hero-single .hero-grid{
        min-height:0;
        flex:1 1 auto;
        align-items:stretch;
      }

      .hero-single .hero-grid > div{
        min-height:0;
        display:grid;
        grid-template-rows:
          auto
          minmax(28px,1fr)
          auto
          minmax(28px,1fr)
          auto
          minmax(24px,.55fr);
        gap:0;
      }

      .hero-intro,
      .hero-conversion{
        min-width:0;
      }

      .hero-intro{
        grid-row:1;
      }

      .hero .eyebrow{
        margin:0 0 16px;
        font-size:12px;
        line-height:1.4;
      }

      .hero h1{
        margin:0 0 18px;
        font-size:clamp(32px,8.2vw,34px);
        line-height:1.08;
      }

      .hero .lead{
        margin:0;
        font-size:18px;
        line-height:1.5;
      }

      .hero .hero-points{
        grid-row:3;
        margin:0;
        gap:10px;
      }

      .hero .hero-points li{
        gap:10px;
        font-size:16px;
        line-height:1.45;
      }

      .hero .dot{
        margin-top:7px;
      }

      .hero .hero-actions{
        display:grid;
        grid-template-columns:1fr;
        gap:12px;
        margin-top:0;
        padding-top:0;
      }

      .hero .hero-actions .btn{
        width:100%;
      }

      .hero-conversion{
        grid-row:5;
      }

      .hero .meta{
        margin-top:14px;
        padding-top:0;
        padding-bottom:0;
        font-size:14px;
        line-height:1.45;
      }

      #consultation-request .consultation-mobile-photo{
        height:clamp(280px,80vw,360px);
        max-height:none;
      }

      #consultation-request .consultation-mobile-photo img{
        width:100%;
        height:100%;
        object-fit:cover;
        object-position:center 18%;
      }

      footer{
        padding:0;
      }

      .footer-inner{
        padding:16px 0;
      }
    }

    @media (max-width:420px){
      section{
        padding:24px 0;
      }

      .hero{
        padding:24px 0 28px;
      }

    }
    /* MOBILE-RHYTHM-V2-001 END */
