
    :root{
      --ink:#102d52;
      --ink-2:#244664;
      --muted:#667b91;
      --paper:#ffffff;
      --wash:#f6f9fc;
      --line:#dce6ed;
      --accent:#128370;
      --accent-dark:#08705f;
      --accent-soft:#e8f6f2;
      --warm:#f4b942;
      --danger:#a61b1b;
      --shadow:0 14px 38px rgba(16,45,82,.08);
      --radius:20px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      color:var(--ink);
      background:var(--wash);
      line-height:1.55;
      -webkit-font-smoothing:antialiased;
    }
    a{color:inherit}
    .wrap{width:min(1120px, calc(100% - 32px)); margin-inline:auto}
    header{
      position:sticky; top:0; z-index:10;
      background:rgba(255,255,255,.94);
      backdrop-filter:blur(10px);
      border-bottom:1px solid var(--line);
    }
    .nav{min-height:66px; display:flex; align-items:center; justify-content:space-between; gap:20px}
    .brand{
      display:inline-flex;
      align-items:center;
      gap:11px;
      text-decoration:none;
      color:var(--ink);
      min-width:0;
    }
    .brand-logo{
      width:43px;
      height:45px;
      object-fit:contain;
      flex:0 0 auto;
      display:block;
    }
    .brand-wordmark{
      display:flex;
      flex-direction:column;
      line-height:1;
      min-width:0;
    }
    .brand-name{
      font-size:1.28rem;
      font-weight:900;
      letter-spacing:-.035em;
      white-space:nowrap;
    }
    .brand-name .jungle{color:var(--accent-dark)}
    .brand span{color:var(--accent)}
    .icon{width:1.05em;height:1.05em;display:inline-block;vertical-align:-.16em;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
    .eyebrow .icon{width:1rem;height:1rem}
    .tool-title-row{display:flex;align-items:flex-start;gap:12px}
    .tool-icon{
      flex:0 0 auto;width:42px;height:42px;border-radius:12px;
      display:grid;place-items:center;background:var(--accent-soft);
      color:var(--accent-dark);border:1px solid #cae9e1;margin-top:1px
    }
    .tool-icon .icon{width:22px;height:22px}
    .tool-title-copy{min-width:0}
    .info-title{display:flex;align-items:center;gap:9px}
    .info-title .icon{color:var(--accent-dark)}
    nav{display:flex; gap:18px; font-size:.92rem; flex-wrap:nowrap}
    nav a{text-decoration:none; color:var(--ink-2); font-weight:650; white-space:nowrap}
    nav a:hover{color:var(--accent-dark)}
    .currency-control{
      display:flex;align-items:center;gap:8px;flex:0 0 auto;
    }
    .currency-control label{
      font-size:.78rem;color:var(--muted);font-weight:750;
    }
    .currency-select{
      appearance:none;
      border:1px solid var(--line);
      background:#fff;
      color:var(--ink);
      border-radius:10px;
      min-height:38px;
      padding:7px 30px 7px 10px;
      font:inherit;
      font-size:.85rem;
      font-weight:800;
      cursor:pointer;
      background-image:
        linear-gradient(45deg,transparent 50%,var(--muted) 50%),
        linear-gradient(135deg,var(--muted) 50%,transparent 50%);
      background-position:
        calc(100% - 14px) 16px,
        calc(100% - 10px) 16px;
      background-size:4px 4px,4px 4px;
      background-repeat:no-repeat;
    }
    .currency-select:focus{
      outline:0;border-color:var(--accent);
      box-shadow:0 0 0 3px rgba(22,131,111,.12)
    }
    .hero{
      position:relative;
      overflow:hidden;
      padding:72px 0 0;
      background:
        radial-gradient(circle at 88% 12%, rgba(22,131,111,.15), transparent 28rem),
        linear-gradient(180deg,#fff 0%,var(--wash) 100%);
    }
    .hero > .wrap{
      position:relative;
      z-index:2;
    }
    .approved-hero-draft{
      display:none;
    }
    .hero-cars-wide{
      display:block;
      position:absolute;
      z-index:1;
      top:104px;
      right:max(0px, calc((100vw - 1120px)/2 - 20px));
      width:min(54vw,620px);
      height:auto;
      opacity:.48;
      pointer-events:none;
      -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.18) 9%,#000 24%,#000 100%);
      mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.18) 9%,#000 24%,#000 100%);
    }
    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:8px;
      background:transparent;
      color:var(--accent-dark);
      border:0;
      padding:0;
      border-radius:0;
      font-size:clamp(.9rem,2.8vw,1.02rem);
      font-weight:900;
      letter-spacing:.01em;
      text-transform:none;
      white-space:nowrap;
      box-shadow:none;
    }
    .eyebrow .icon{
      width:1.08rem;
      height:1.08rem;
      stroke-width:2.15;
    }
    h1,h2,h3{line-height:1.08; letter-spacing:-.035em; margin-top:0}
    h1{font-size:clamp(2.35rem,6vw,4.9rem); max-width:870px; margin:20px 0 18px}
    .category-emphasis{
      color:var(--accent-dark);
      font-weight:950;
      position:relative;
      white-space:nowrap;
    }
    .category-emphasis::after{
      content:"";
      position:absolute;
      left:0;
      right:0;
      bottom:.02em;
      height:.16em;
      border-radius:999px;
      background:rgba(22,131,111,.18);
      z-index:-1;
    }
    .hero p{font-size:clamp(1.05rem,2vw,1.24rem); max-width:720px; color:var(--ink-2); margin:0 0 26px}
    .hero-points{
      list-style:none;
      padding:0;
      margin:0 0 28px;
      display:grid;
      gap:10px;
      max-width:760px;
    }
    .hero-points li{
      position:relative;
      padding:16px 16px 16px 58px;
      background:rgba(255,255,255,.82);
      border:1px solid var(--line);
      border-radius:13px;
      color:var(--ink-2);
      font-weight:700;
      box-shadow:0 8px 22px rgba(16,35,63,.04);
    }
    .hero-points li::before{
      content:"✓";
      position:absolute;
      left:17px;
      top:50%;
      transform:translateY(-50%);
      width:28px;
      height:28px;
      display:grid;
      place-items:center;
      border-radius:50%;
      background:var(--accent-soft);
      color:var(--accent-dark);
      font-size:1.05rem;
      line-height:1;
      font-weight:950;
    }
    .hero-actions{
      display:flex;
      gap:12px;
      flex-wrap:wrap;
      margin-top:28px;
      margin-bottom:28px;
    }
    .btn{
      appearance:none; border:0; cursor:pointer; text-decoration:none;
      display:inline-flex; justify-content:center; align-items:center; gap:8px;
      min-height:46px; padding:11px 16px; border-radius:12px;
      font-weight:800; font-size:.95rem;
    }
    .btn-primary{background:var(--ink); color:white}
    .btn-primary:hover{background:#0a2442}
    .btn-secondary{background:white; color:var(--ink); border:1px solid var(--line)}
    .btn-secondary:hover{border-color:#b7c5d3}

    .hero-actions .btn{
      color:#fff;
      border:0;
      box-shadow:0 8px 20px rgba(16,35,63,.08);
    }
    .hero-actions .btn-yield{
      background:#102d52;
    }
    .hero-actions .btn-income{
      background:#128370;
    }
    .hero-actions .btn-ev{
      background:#187487;
    }
    .hero-actions .btn-yield:hover{background:#0a2442}
    .hero-actions .btn-income:hover{background:#08705f}
    .hero-actions .btn-ev:hover{background:#125e70}
    .mini-trust{display:flex; gap:16px; flex-wrap:wrap; margin-top:28px; color:var(--muted); font-size:.9rem}
    .mini-trust span::before{content:"✓"; color:var(--accent); font-weight:900; margin-right:7px}
    main{padding-bottom:70px}
    .section-intro{padding:54px 0 22px}
    .calculator-intro{padding-top:0}
    .section-intro h2{font-size:clamp(1.8rem,4vw,2.8rem); margin-bottom:10px}
    .section-intro p{margin:0; color:var(--muted); max-width:720px}
    .tool{
      background:var(--paper); border:1px solid var(--line); border-radius:var(--radius);
      box-shadow:var(--shadow); margin:18px 0 28px; overflow:hidden;
      scroll-margin-top:88px;
    }
    .tool-head{padding:26px 26px 18px; border-bottom:1px solid var(--line)}
    .kicker{font-size:.78rem; font-weight:850; color:var(--accent-dark); text-transform:uppercase; letter-spacing:.08em; margin-bottom:8px}
    .tool-head h2{font-size:clamp(1.55rem,3vw,2.2rem); margin-bottom:9px}
    .tool-head p{margin:0; color:var(--muted); max-width:760px}
    .tool-grid{display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.88fr); gap:0}
    .inputs{padding:26px}
    .results{padding:26px; background:#f9fbfc; border-left:1px solid var(--line)}
    .fields{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px}
    .field{display:flex; flex-direction:column; gap:7px}
    .field.full{grid-column:1/-1}
    label{font-weight:750; font-size:.9rem}
    .help{font-size:.78rem; color:var(--muted); margin-top:-2px}
    .input-shell{display:flex; align-items:center; border:1px solid #c9d4df; background:white; border-radius:11px; overflow:hidden}
    .input-shell:focus-within{border-color:var(--accent); box-shadow:0 0 0 3px rgba(22,131,111,.12)}
    .prefix,.suffix{padding:0 11px; color:var(--muted); font-weight:700; white-space:nowrap}
    input{
      width:100%; border:0; outline:0; padding:12px 10px; min-height:46px;
      font:inherit; font-variant-numeric:tabular-nums; color:var(--ink); background:transparent;
    }
    input:first-child{padding-left:12px}
    input::placeholder{color:#a8b5c3; opacity:1}
    .calc-actions{display:flex; gap:10px; margin-top:20px; flex-wrap:wrap}
    .error{color:var(--danger); font-weight:650; font-size:.86rem; min-height:1.35em; margin-top:9px}
    .results-title{font-size:.82rem; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); font-weight:850; margin-bottom:12px}
    .headline-result{
      background:var(--ink); color:#fff; padding:20px; border-radius:15px; margin-bottom:14px
    }
    .headline-result .label{font-size:.8rem; opacity:.78; font-weight:700}
    .headline-result .value{font-size:clamp(2rem,5vw,3.2rem); font-weight:900; letter-spacing:-.045em; line-height:1.05; margin-top:5px}
    .metrics{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px}
    .metric{background:white; border:1px solid var(--line); padding:14px; border-radius:13px}
    .metric .label{font-size:.78rem; color:var(--muted); font-weight:700}
    .metric .value{font-size:1.15rem; font-weight:850; margin-top:3px; font-variant-numeric:tabular-nums}
    .metric.target-success{background:#e8f6f2; border-color:#b8e4d8}
    .metric.target-success .label,.metric.target-success .value{color:#08705f}
    .metric.target-warning{background:#fff0f0; border-color:#efc1c1}
    .metric.target-warning .label,.metric.target-warning .value{color:#a33b3b}
    .target-status-row{display:flex; align-items:flex-start; gap:12px}
    .target-status-icon{display:none; flex:0 0 34px; width:34px; height:34px; border-radius:50%; align-items:center; justify-content:center; color:#fff; font-size:22px; font-weight:900; line-height:1; margin-top:1px}
    .metric.target-success .target-status-icon{display:flex; background:#128370}
    .metric.target-warning .target-status-icon{display:flex; background:#a33b3b}
    .method{margin:16px 0 0; padding-top:15px; border-top:1px solid var(--line); color:var(--muted); font-size:.82rem}
    .info-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:22px}
    .info-card{background:white; border:1px solid var(--line); border-radius:16px; padding:22px}
    .info-card h3{font-size:1.15rem; margin-bottom:8px}
    .info-card p,.info-card li{color:var(--ink-2); font-size:.94rem}
    .info-card ul{padding-left:19px; margin-bottom:0}
    footer{background:var(--ink); color:white; padding:34px 0}
    .footer-grid{display:flex; justify-content:space-between; gap:28px; align-items:flex-start}
    footer p{color:#cbd6e1; font-size:.86rem; max-width:760px; margin:8px 0 0}
    footer a{color:#fff; text-decoration:none; font-weight:750}
    footer a:hover{text-decoration:underline}
    .footer-privacy{margin-top:14px; max-width:760px}
    .footer-privacy strong{display:block; color:#fff; font-size:.88rem; margin-bottom:2px}
    .footer-privacy p{margin-top:0}
    .footer-brand{font-weight:850}
    .footnote{font-size:.78rem; opacity:.74; margin-top:15px}
        @media (min-width:781px) and (max-width:1050px){
      .hero-cars-wide{
        width:58vw;
        right:-14px;
        top:108px;
        opacity:.44;
      }
    }
    @media (max-width:780px){
      nav{display:none}
      .nav{
        min-height:76px;
        justify-content:center;
        gap:24px;
      }
      .brand{gap:12px}
      .brand-logo{width:44px;height:46px}
      .brand-name{font-size:1.18rem}
      .brand-tag{display:none}
      .currency-control label{display:none}
      .currency-select{
        min-height:40px;
        padding-left:11px;
        padding-right:30px;
        font-size:.84rem;
      }
      .hero{
        padding-top:0;
        padding-bottom:0;
        background:var(--wash);
      }
      .approved-hero-draft{
        display:block;
        width:100%;
        height:auto;
        margin:0;
      }
      .hero-cars-wide{
        display:none;
      }
      .hero > .wrap > .eyebrow,
      .hero > .wrap > h1{
        display:none;
      }
      .hero-points{
        margin-top:0;
      }
      .tool-grid{grid-template-columns:1fr}
      .results{border-left:0; border-top:1px solid var(--line)}
      .info-grid{grid-template-columns:1fr}
      .footer-grid{display:block}
    }
    @media (max-width:520px){
      .wrap{width:min(100% - 22px,1120px)}
      .nav{gap:22px}
      .eyebrow{gap:7px;padding:0;font-size:.9rem}
      .hero{padding-bottom:0}
      .tool-head,.inputs,.results{padding:20px}
      .fields{grid-template-columns:1fr}
      .field.full{grid-column:auto}
      .metrics{grid-template-columns:1fr 1fr}
      .btn{width:100%}
      .calc-actions .btn-secondary{width:auto}
    }
  

    /* v1.48 controlled multi-page architecture additions */
    .page-intro{padding:54px 0 4px}
    .page-intro .kicker a{text-decoration:none;color:inherit}
    .page-intro h1{font-size:clamp(2.1rem,5vw,3.8rem);max-width:900px;margin:10px 0 14px}
    .page-intro p{margin:0;color:var(--ink-2);max-width:780px;font-size:clamp(1rem,2vw,1.12rem)}
    .cards-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:22px 0 10px}
    .card-link{display:block;text-decoration:none;color:inherit;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
    .card-link:hover{transform:translateY(-2px);border-color:#b8cbc5;box-shadow:0 10px 24px rgba(16,45,82,.06)}
    .card-link .card-arrow{display:inline-block;margin-top:10px;color:var(--accent-dark);font-weight:850}
    .link-list{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
    .link-list a{color:var(--accent-dark);font-weight:800;text-decoration:none}
    .link-list a:hover{text-decoration:underline}
    .home-hero .approved-hero-draft,.home-hero .hero-cars-wide{display:none}
    .home-hero{padding-bottom:28px}
    .home-hero .hero-actions{margin-bottom:8px}
    .compact-note{margin:18px 0 0;color:var(--muted);font-size:.88rem}
    .tool.page-tool{margin-top:20px}
    .tool-head h1{font-size:clamp(1.7rem,3.5vw,2.55rem);margin:0 0 9px}
    .other-tools{padding-top:36px}
    .other-tools h2{font-size:clamp(1.55rem,3vw,2.25rem);margin-bottom:8px}
    .other-tools > p{color:var(--muted);margin-top:0}
    @media (max-width:900px){.cards-3{grid-template-columns:1fr}}
    @media (max-width:780px){
      .home-hero{padding:34px 0 28px;background:linear-gradient(180deg,#fff 0%,var(--wash) 100%)}
      .home-hero > .wrap > .eyebrow{display:inline-flex}
      .home-hero > .wrap > h1{display:block;font-size:clamp(2.25rem,11vw,3.6rem);margin-top:18px}
      .page-intro{padding-top:34px}
    }


    /* v1.49 homepage canopy integration preview */
    .home-hero-structure-test{
      padding:46px 0 38px;
      background:
        radial-gradient(circle at 86% 16%, rgba(18,131,112,.07), transparent 25rem),
        linear-gradient(180deg,#fff 0%,var(--wash) 100%);
    }
    .home-hero-layout{
      display:grid;
      grid-template-columns:minmax(0,1fr);
      grid-template-areas:
        "copy"
        "visual"
        "intro"
        "cta";
      gap:22px;
      align-items:center;
    }
    .home-hero-copy{
      grid-area:copy;
      min-width:0;
    }
    .home-hero-copy h1{
      max-width:820px;
      margin:0 auto;
      text-align:center;
    }
    .home-main-headline .headline-line{
      display:block;
    }
    .home-main-headline .headline-emphasis{
      color:var(--ink);
      font-weight:950;
      margin-top:.04em;
    }
    .home-canopy-figure{
      grid-area:visual;
      margin:0;
      width:100%;
    }
    .home-canopy-frame{
      width:100%;
      overflow:hidden;
      border-radius:24px;
      background:#fff;
      box-shadow:0 18px 42px rgba(16,45,82,.10);
    }
    .home-canopy-image{
      width:100%;
      height:auto;
      aspect-ratio:3 / 1;
      object-fit:cover;
      object-position:center;
      display:block;
    }
    .home-canopy-tagline{
      margin:14px auto 0;
      text-align:center;
      color:var(--ink-2);
      font-size:.95rem;
      font-weight:800;
      letter-spacing:.005em;
    }
    .home-hero-intro{
      grid-area:intro;
      max-width:760px;
      margin:0 auto;
      text-align:center;
    }
    .home-hero-cta{
      grid-area:cta;
      margin:0;
      justify-content:center;
    }
    .home-primary-cta{
      min-height:58px;
      padding:15px 26px;
      border-radius:14px;
      background:var(--ink);
      color:#fff;
      font-size:1.02rem;
      font-weight:900;
      box-shadow:0 12px 28px rgba(16,45,82,.20);
      transition:transform .16s ease,box-shadow .16s ease,background .16s ease;
    }
    .home-primary-cta:hover{
      background:#0a2442;
      transform:translateY(-1px);
      box-shadow:0 14px 32px rgba(16,45,82,.24);
    }

    @media (min-width:781px) and (max-width:1050px){
      .home-hero-structure-test{padding-top:40px}
      .home-hero-copy h1{font-size:clamp(2.8rem,6vw,4.25rem)}
      .home-canopy-frame{border-radius:22px}
      .home-canopy-tagline{font-size:.93rem}
    }

    @media (max-width:780px){
      .home-hero-structure-test{padding:28px 0 30px}
      .home-hero-layout{gap:21px}
      .home-hero-copy h1{
        display:block;
        font-size:clamp(2.25rem,11vw,3.6rem);
        margin:0 auto;
        text-align:center;
      }
      .home-canopy-frame{
        border-radius:20px;
        box-shadow:0 14px 32px rgba(16,45,82,.10);
      }
      .home-canopy-image{
        aspect-ratio:16 / 9;
        object-fit:cover;
        object-position:center;
      }
      .home-canopy-tagline{
        margin-top:12px;
        font-size:.9rem;
        line-height:1.4;
      }
      .home-hero-intro{
        font-size:clamp(1.02rem,4.3vw,1.18rem);
        line-height:1.55;
      }
      .home-hero-cta{width:100%}
      .home-primary-cta{
        width:100%;
        min-height:58px;
        font-size:1.02rem;
      }
    }

    @media (max-width:520px){
      .home-canopy-frame{border-radius:18px}
      .home-canopy-tagline{padding:0 8px}
    }


/* === CalcJungle v1.49 approved homepage release === */
/* v1.49 homepage canopy integration preview */
    .home-hero-structure-test{
      padding:46px 0 38px;
      background:
        radial-gradient(circle at 86% 16%, rgba(18,131,112,.07), transparent 25rem),
        linear-gradient(180deg,#fff 0%,var(--wash) 100%);
    }
    .home-hero-layout{
      display:grid;
      grid-template-columns:minmax(0,1fr);
      grid-template-areas:
        "visual"
        "intro"
        "cta";
      gap:22px;
      align-items:center;
    }
    .home-canopy-figure{
      grid-area:visual;
      margin:0;
      width:100%;
    }
    .home-canopy-frame{
      width:100%;
      overflow:hidden;
      border-radius:24px;
      background:#fff;
      box-shadow:0 18px 42px rgba(16,45,82,.10);
    }
    .home-canopy-prelude{
      margin:0 auto 12px;
      text-align:center;
      color:var(--ink-2);
      font-size:1rem;
      font-weight:800;
      letter-spacing:.005em;
      line-height:1.35;
    }
    .home-canopy-frame{position:relative}
    .home-canopy-heading{
      position:absolute;
      z-index:2;
      left:50%;
      top:31%;
      transform:translate(-50%,-50%);
      width:min(72%,900px);
      margin:0;
      text-align:center;
      color:rgba(16,45,82,.93);
      font-size:clamp(2.35rem,5.2vw,5rem);
      font-weight:950;
      line-height:.98;
      letter-spacing:-.045em;
      text-wrap:balance;
      text-shadow:
        0 1px 0 rgba(255,255,255,.78),
        0 3px 16px rgba(255,255,255,.82),
        0 1px 2px rgba(16,45,82,.08);
      pointer-events:none;
    }
    .canopy-hangers{display:none}

    /* Green, viewport-fixed foliage on the homepage margins. */
    .home-page{overflow-x:clip}
    .home-edge-foliage{
      position:fixed;
      z-index:1;
      width:clamp(138px,12vw,190px);
      height:auto;
      pointer-events:none;
      opacity:.30;
      filter:saturate(.96);
    }
    .home-edge-foliage-left{left:-48px;top:63vh;transform:translateY(-50%) rotate(-6deg)}
    .home-edge-foliage-right{right:-48px;top:57vh;transform:translateY(-50%) scaleX(-1) rotate(-4deg)}
    .home-edge-foliage svg{display:block;width:100%;height:auto;overflow:visible}
    .edge-stem{fill:none;stroke:#277a61;stroke-width:4;stroke-linecap:round;opacity:.70}
    .edge-leaf{stroke:rgba(16,45,82,.08);stroke-width:1.1}
    .edge-leaf-1{fill:#0f7d68}
    .edge-leaf-2{fill:#2f8f6d}
    .edge-leaf-3{fill:#65a978}
    .edge-leaf-4{fill:#93c59a}
    .home-page header,.home-page .hero > .wrap,.home-page main,.home-page footer{position:relative;z-index:2}

    .home-canopy-image{
      width:100%;
      height:auto;
      aspect-ratio:3 / 1;
      object-fit:cover;
      object-position:center;
      display:block;
    }
    .home-canopy-tagline{
      margin:14px auto 0;
      text-align:center;
      color:var(--ink-2);
      font-size:.95rem;
      font-weight:800;
      letter-spacing:.005em;
    }
    .home-hero-intro{
      grid-area:intro;
      max-width:760px;
      margin:0 auto;
      text-align:center;
    }
    .home-hero-cta{
      grid-area:cta;
      margin:0;
      justify-content:center;
    }
    .home-primary-cta{
      min-height:58px;
      padding:15px 26px;
      border-radius:14px;
      background:var(--ink);
      color:#fff;
      font-size:1.02rem;
      font-weight:900;
      box-shadow:0 12px 28px rgba(16,45,82,.20);
      transition:transform .16s ease,box-shadow .16s ease,background .16s ease;
    }
    .home-primary-cta:hover{
      background:#0a2442;
      transform:translateY(-1px);
      box-shadow:0 14px 32px rgba(16,45,82,.24);
    }

    @media (min-width:781px) and (max-width:1050px){
      .home-hero-structure-test{padding-top:28px}
      .home-canopy-frame{border-radius:22px}
      .home-canopy-tagline{font-size:.93rem}
    }

    @media (max-width:780px){
      .home-canopy-prelude{
        margin-bottom:10px;
        font-size:.92rem;
        line-height:1.35;
      }
      .home-canopy-heading{
        top:29%;
        width:62%;
        font-size:clamp(2.05rem,9.7vw,3rem);
        line-height:.96;
        letter-spacing:-.04em;
        color:rgba(16,45,82,.94);
        text-shadow:
          0 1px 0 rgba(255,255,255,.86),
          0 3px 14px rgba(255,255,255,.88);
      }
      .canopy-hangers{display:block;position:absolute;inset:0;z-index:3;pointer-events:none}
      .canopy-hanger{position:absolute;width:30px;height:90px;transform:translateX(-50%)}
      /* Left anchors sit directly on the visible horizontal branch in the mobile crop. */
      .h-l1{left:4.5%;top:40.6%}
      .h-l2{left:10.5%;top:40.6%}
      .h-l3{left:16.2%;top:40.2%}
      /* Right anchors follow the visible diagonal branch, not the empty centre sky. */
      .hanger-vine{position:absolute;left:0;top:0;width:30px;height:calc(var(--drop) + 9px);overflow:visible}
      .hanger-vine path{fill:none;stroke:#4f8568;stroke-width:1.25;vector-effect:non-scaling-stroke;stroke-linecap:round;opacity:.92}
      .hanger-node{fill:#d4bd72;stroke:rgba(255,255,255,.95);stroke-width:1;vector-effect:non-scaling-stroke}
      .hanger-card{
        position:absolute;left:2px;top:var(--drop);width:26px;height:26px;border-radius:7px;
        display:grid;place-items:center;color:#4f876b;background:rgba(251,253,252,.94);
        border:1px solid rgba(78,125,101,.17);box-shadow:0 3px 8px rgba(16,45,82,.10)
      }
      .hanger-card svg{width:14px;height:14px;fill:currentColor;overflow:visible}
      .home-edge-foliage{width:104px;opacity:.20}
      .home-edge-foliage-left{left:-61px;top:66vh}
      .home-edge-foliage-right{right:-61px;top:54vh}
      .home-hero-structure-test{padding:22px 0 30px}
      .home-hero-layout{gap:21px}
      .home-canopy-frame{
        border-radius:20px;
        box-shadow:0 14px 32px rgba(16,45,82,.10);
      }
      .home-canopy-image{
        aspect-ratio:16 / 9;
        object-fit:cover;
        object-position:center;
      }
      .home-canopy-tagline{
        margin-top:12px;
        font-size:.9rem;
        line-height:1.4;
      }
      .home-hero-intro{
        font-size:clamp(1.02rem,4.3vw,1.18rem);
        line-height:1.55;
      }
      .home-hero-cta{width:100%}
      .home-primary-cta{
        width:100%;
        min-height:58px;
        font-size:1.02rem;
      }
    }

    @media (max-width:520px){
      .home-canopy-prelude{
        font-size:.9rem;
        margin-bottom:9px;
      }
      .home-canopy-heading{
        top:28%;
        width:61%;
        font-size:clamp(1.95rem,9.5vw,2.65rem);
      }
      .canopy-hanger{width:28px}
      .hanger-vine{width:28px}
      .hanger-card{left:2px;width:24px;height:24px;border-radius:6px}
      .hanger-card svg{width:13px;height:13px}
      .home-edge-foliage{width:82px;opacity:.14}
      .home-edge-foliage-left{left:-55px;top:68vh}
      .home-edge-foliage-right{right:-55px;top:52vh}
      .home-canopy-frame{border-radius:18px}
      .home-canopy-tagline{padding:0 8px}
    }

/* Homepage-only production polish: spacing, type hierarchy and responsive scaling. */
.home-page .home-hero-structure-test{
  padding:34px 0 34px;
}
.home-page .home-hero-layout{
  gap:26px;
}
.home-page .home-canopy-prelude{
  max-width:34rem;
  margin:0 auto 13px;
  color:var(--muted);
  font-size:.91rem;
  font-weight:650;
  line-height:1.35;
  letter-spacing:.008em;
}
.home-page .home-canopy-heading{
  width:min(68%,820px);
  color:rgba(16,45,82,.95);
  font-size:clamp(2.5rem,4vw,3.6rem);
  font-weight:900;
  line-height:.96;
  letter-spacing:-.038em;
  text-shadow:
    0 1px 0 rgba(255,255,255,.72),
    0 3px 13px rgba(255,255,255,.72),
    0 1px 2px rgba(16,45,82,.06);
}
.home-page .home-hero-intro{
  max-width:680px;
  color:var(--ink-2);
  font-size:1.04rem;
  font-weight:400;
  line-height:1.62;
  letter-spacing:-.005em;
  margin:0 auto;
}
.home-page .home-hero-cta{
  margin-top:1px;
}
.home-page .home-primary-cta{
  min-height:56px;
  padding:14px 25px;
  border-radius:14px;
  font-size:1rem;
  font-weight:850;
}

@media (min-width:1060px){
  .home-page .home-hero-structure-test{padding:38px 0 38px}
  .home-page .home-hero-layout{gap:28px}
  .home-page .home-canopy-prelude{font-size:.92rem;margin-bottom:14px}
  .home-page .home-hero-intro{max-width:690px;font-size:1.05rem;line-height:1.62}
}

@media (min-width:781px) and (max-width:1050px){
  .home-page .home-hero-structure-test{padding:30px 0 34px}
  .home-page .home-hero-layout{gap:24px}
  .home-page .home-canopy-prelude{font-size:.88rem;margin-bottom:11px}
  .home-page .home-canopy-heading{
    width:67%;
    font-size:clamp(2.4rem,4.8vw,3.15rem);
    line-height:.97;
  }
  .home-page .home-hero-intro{
    max-width:640px;
    font-size:1rem;
    line-height:1.58;
  }
  .home-page .home-primary-cta{
    min-height:54px;
    padding:13px 23px;
    font-size:.98rem;
  }
}

@media (max-width:780px){
  .home-page .home-hero-structure-test{padding:19px 0 27px}
  .home-page .home-hero-layout{gap:23px}
  .home-page .home-canopy-prelude{
    max-width:90%;
    margin-bottom:9px;
    font-size:.84rem;
    font-weight:650;
    line-height:1.3;
  }
  .home-page .home-canopy-heading{
    width:64%;
    font-size:clamp(1.95rem,8.7vw,2.55rem);
    font-weight:900;
    line-height:.96;
    letter-spacing:-.035em;
    text-shadow:
      0 1px 0 rgba(255,255,255,.80),
      0 3px 11px rgba(255,255,255,.80);
  }
  .home-page .home-hero-intro{
    max-width:34rem;
    padding:0 5px;
    font-size:.98rem;
    font-weight:400;
    line-height:1.56;
    letter-spacing:-.004em;
  }
  .home-page .home-primary-cta{
    width:100%;
    min-height:56px;
    padding:14px 18px;
    font-size:1rem;
    font-weight:850;
  }
}

@media (max-width:520px){
  .home-page .home-hero-structure-test{padding-top:17px}
  .home-page .home-hero-layout{gap:22px}
  .home-page .home-canopy-prelude{
    font-size:.82rem;
    margin-bottom:8px;
  }
  .home-page .home-canopy-heading{
    width:65%;
    font-size:clamp(1.9rem,8.75vw,2.35rem);
    line-height:.95;
  }
  .home-page .home-hero-intro{
    max-width:360px;
    padding:0 4px;
    font-size:.965rem;
    line-height:1.55;
  }
  .home-page .home-primary-cta{
    min-height:56px;
    border-radius:13px;
    font-size:.98rem;
  }
}
