/* ============================================================
   GROWTH YANTRA — Production stylesheet v1.0
   "The Instrument" · light editorial luxury
   Tokens mirror theme.json; custom props kept for non-block CSS.
   ============================================================ */

:root{
  --paper:#F7F3EB; --paper-2:#EFE8DB; --paper-3:#E9E1D1;
  --ink:#1A1611; --ink-70:#4A443C; --ink-50:#7A7268;
  --gold:#A06B2A; --gold-deep:#7E5320;
  --line:rgba(26,22,17,.16); --line-soft:rgba(26,22,17,.09);
  --dark:#16120D; --dark-2:#201A13;
  --ivory:#F1EADC; --ivory-dim:#B8AE9E; --gold-dark:#C89B58;
  --serif:"Fraunces",Georgia,"Times New Roman",serif;
  --sans:"Inter","Helvetica Neue",Arial,sans-serif;
  --dur:480ms; --ease:cubic-bezier(.22,.61,.36,1);
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html,body{overflow-x:hidden}
body{-webkit-font-smoothing:antialiased}
a{text-underline-offset:3px}
:focus-visible{outline:2px solid var(--gold-deep);outline-offset:3px;border-radius:2px}
.screen-reader-text{clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;overflow:hidden;position:absolute!important}
.skip-link{position:absolute;left:8px;top:-48px;z-index:100;background:var(--ink);color:var(--ivory);padding:10px 18px;border-radius:0 0 6px 6px;transition:top .2s}
.skip-link:focus{top:0}

/* ---------- Typography utilities ---------- */
.display-xl,.display-l,.display-m,.display-s{font-family:var(--serif)}
.display-xl{font-weight:340;font-size:clamp(48px,7vw,92px);line-height:1.02;letter-spacing:-.022em}
.display-l{font-weight:350;font-size:clamp(38px,5vw,64px);line-height:1.05;letter-spacing:-.018em}
.display-m{font-weight:380;font-size:clamp(30px,3.4vw,44px);line-height:1.12;letter-spacing:-.012em}
.display-s{font-weight:420;font-size:clamp(24px,2.4vw,30px);line-height:1.2}
.display-xl em,.display-l em,.display-m em,.display-s em{font-style:italic;font-weight:320;color:var(--gold-deep)}
.is-dark .display-xl em,.is-dark .display-l em,.is-dark .display-m em{color:var(--gold-dark)}
.lede{font-size:clamp(17px,1.6vw,20px);line-height:1.65;color:var(--ink-70);max-width:56ch}
.body-m{font-size:16px;color:var(--ink-70);max-width:62ch}
.small{font-size:13.5px;color:var(--ink-50)}

.label{font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-deep);display:flex;align-items:center;gap:14px;font-family:var(--sans)}
.label::before{content:"";width:34px;height:1px;background:var(--gold);flex:none}
.label.bare::before{display:none}
.is-dark .label{color:var(--gold-dark)}
.is-dark .label::before{background:var(--gold-dark)}
.index-num{font-family:var(--serif);font-style:italic;font-weight:300;font-size:15px;color:var(--gold-deep)}

/* ---------- Layout ---------- */
.gy-wrap{max-width:1280px;margin:0 auto;padding-left:clamp(20px,4.5vw,56px);padding-right:clamp(20px,4.5vw,56px)}
.gy-sec{padding-top:clamp(72px,10vw,110px);padding-bottom:clamp(72px,10vw,110px)}
.gy-sec.tight{padding-top:clamp(56px,8vw,84px);padding-bottom:clamp(56px,8vw,84px)}
.gy-sec.alt{background:var(--paper-2)}
.gy-sec.is-dark{background:var(--dark);color:var(--ivory)}
.is-dark .lede,.is-dark .body-m{color:var(--ivory-dim)}
.is-dark h1,.is-dark h2,.is-dark h3,.is-dark h4{color:var(--ivory)}
.sec-head{display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(28px,5vw,64px);align-items:end;margin-bottom:clamp(44px,6vw,72px)}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,6vw,72px)}
@media (max-width:880px){.sec-head,.two-col{grid-template-columns:1fr}}

/* ---------- Header ---------- */
.gy-head{position:relative;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px clamp(20px,4.5vw,56px);max-width:1280px;margin:0 auto}
.gy-brand{display:flex;align-items:center;gap:14px;text-decoration:none}
.gy-brand .word{font-family:var(--serif);font-weight:480;font-size:21px;color:var(--ink);text-decoration:none}
.gy-brand .word em{font-style:italic;font-weight:320;color:var(--gold-deep)}
.gy-wordmark{display:flex;flex-direction:column;gap:5px}
.gy-tagline{font:600 9.5px/1 var(--sans);letter-spacing:.34em;text-transform:uppercase;color:var(--gold-deep)}
@media (max-width:600px){.gy-wordmark svg{width:170px;height:auto}.gy-tagline{font-size:8px;letter-spacing:.28em}}
.gy-nav{display:flex;gap:clamp(18px,3vw,36px);align-items:center}
.gy-nav a{font-size:13.5px;font-weight:500;color:var(--ink-70);text-decoration:none}
.gy-nav a:hover{color:var(--ink)}
.gy-nav a[aria-current="page"]{color:var(--ink);border-bottom:1px solid var(--gold);padding-bottom:3px}
.gy-nav-toggle{display:none;background:none;border:1px solid var(--line);border-radius:8px;padding:10px 14px;font:600 13px var(--sans);color:var(--ink)}
@media (max-width:880px){
  .gy-nav-toggle{display:block}
  .gy-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;padding:20px clamp(20px,4.5vw,56px) 28px;gap:18px}
  .gy-nav.open{display:flex}
}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:10px;font:600 13.5px/1 var(--sans);letter-spacing:.04em;padding:14px 26px;border:1px solid var(--ink);border-radius:100px;color:var(--ink);background:transparent;text-decoration:none;cursor:pointer;transition:transform var(--dur) var(--ease),background .25s,color .25s}
.btn:hover{transform:translateY(-1px)}
.btn.solid{background:var(--ink);color:var(--ivory)}
.btn.solid:hover{color:var(--ivory)}
.btn.gold{background:var(--gold);border-color:var(--gold);color:#FBF7EE}
.btn.gold:hover{background:var(--gold-deep);border-color:var(--gold-deep);color:#FBF7EE}
.btn.on-dark{border-color:var(--ivory);color:var(--ivory)}
.btn .arr{font-family:var(--serif)}

/* ---------- Breadcrumbs ---------- */
.gy-crumb{font-size:12.5px;color:var(--ink-50);margin-bottom:28px}
.gy-crumb ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.gy-crumb li+li::before{content:"·";margin-right:6px}
.gy-crumb a{color:var(--ink-50);text-decoration:none}
.gy-crumb a:hover{color:var(--ink)}
.gy-crumb b{color:var(--ink);font-weight:500}

/* ---------- Editorial rows / pillar map ---------- */
.ed-row{display:grid;grid-template-columns:90px 1fr 1.2fr;gap:clamp(20px,4vw,48px);padding:40px 0;border-top:1px solid var(--line);align-items:baseline}
.ed-row:last-child{border-bottom:1px solid var(--line)}
.ed-row h3{font-family:var(--serif);font-weight:420;font-size:clamp(21px,2.2vw,27px);margin:0}
.ed-row p{font-size:15.5px;color:var(--ink-70);margin:0}
.pillar{border-top:1px solid var(--line);padding:44px 0;display:grid;grid-template-columns:90px 1fr 1.1fr;gap:clamp(20px,3.5vw,44px);align-items:start}
.pillar:last-of-type{border-bottom:1px solid var(--line)}
.pillar h3{font-family:var(--serif);font-weight:400;font-size:clamp(26px,2.8vw,34px);letter-spacing:-.012em;margin:0}
.pillar .sub{font-size:13px;color:var(--ink-50);margin-top:10px}
@media (max-width:880px){.ed-row,.pillar{grid-template-columns:1fr}}

/* ---------- Service / related lists ---------- */
.gy-svc-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.gy-svc-list li{border-bottom:1px solid var(--line)}
.gy-svc-list a{display:grid;grid-template-columns:1fr auto;gap:20px;padding:16px 0;align-items:center;text-decoration:none;color:inherit}
.gy-svc-list .nm{font-family:var(--serif);font-size:19px;font-weight:440}
.gy-svc-list .sub-line{display:block;font-size:12.5px;color:var(--ink-50);margin-top:3px}
.gy-svc-list .arrow{font-family:var(--serif);color:var(--gold-deep);font-size:18px;transition:transform var(--dur) var(--ease)}
.gy-svc-list a:hover .arrow{transform:translateX(6px)}
.gy-rel-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.gy-rel-list li{border-bottom:1px solid var(--line)}
.gy-rel-list a{display:flex;justify-content:space-between;gap:20px;padding:16px 0;font-family:var(--serif);font-size:18px;text-decoration:none;color:inherit}
.gy-rel-list a span{color:var(--gold-deep)}

/* ---------- Stat band ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(241,234,220,.14)}
.stat{background:var(--dark);padding:clamp(28px,4vw,44px) clamp(24px,3.4vw,40px)}
.stat .n{font-family:var(--serif);font-weight:330;font-size:clamp(34px,4.4vw,52px);letter-spacing:-.02em;color:var(--ivory)}
.stat .n em{font-style:italic;color:var(--gold-dark)}
.stat .d{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ivory-dim);margin-top:10px}
@media (max-width:880px){.stats{grid-template-columns:1fr 1fr}}

/* ---------- Process rail ---------- */
.rail{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.rail .step{background:var(--paper);padding:40px 34px;min-height:230px}
.rail .step .k{font-family:var(--serif);font-style:italic;font-weight:300;font-size:17px;color:var(--gold-deep)}
.rail .step h4{font-family:var(--serif);font-weight:440;font-size:23px;margin:16px 0 12px}
.rail .step p{font-size:14.5px;color:var(--ink-70);margin:0}
@media (max-width:1000px){.rail{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.rail{grid-template-columns:1fr}}

/* ---------- Tables ---------- */
.gy-tbl,.wp-block-table.gy-tbl table{width:100%;border-collapse:collapse;font-size:15px}
.gy-tbl th{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-50);font-weight:600;text-align:left;padding:0 24px 14px 0;border-bottom:1px solid var(--ink)}
.gy-tbl td{padding:18px 24px 18px 0;border-bottom:1px solid var(--line);color:var(--ink-70);vertical-align:top}
.gy-tbl td:first-child{font-family:var(--serif);font-size:17px;color:var(--ink);font-weight:450}

/* ---------- FAQ (native details/summary — zero JS) ---------- */
.gy-faq{border-top:1px solid var(--line)}
.gy-faq-item{border-bottom:1px solid var(--line)}
.gy-faq-item summary{display:grid;grid-template-columns:70px 1fr 40px;gap:clamp(14px,3vw,32px);padding:26px 0;align-items:baseline;cursor:pointer;list-style:none}
.gy-faq-item summary::-webkit-details-marker{display:none}
.gy-faq-item .q{font-family:var(--serif);font-weight:440;font-size:clamp(17px,1.8vw,20px)}
.gy-faq-item .pm::after{content:"+";font-family:var(--serif);font-size:22px;color:var(--gold-deep)}
.gy-faq-item[open] .pm::after{content:"−"}
.gy-faq-item p{margin:0 0 26px 70px;font-size:15px;color:var(--ink-70);max-width:60ch}
@media (max-width:600px){.gy-faq-item summary{grid-template-columns:1fr 30px}.gy-faq-item summary .index-num{display:none}.gy-faq-item p{margin-left:0}}

/* ---------- Quote ---------- */
.quote{font-family:var(--serif);font-weight:340;font-size:clamp(24px,3vw,34px);line-height:1.32;letter-spacing:-.01em;font-style:italic}
.quote-attr{margin-top:22px;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-50)}

/* ---------- TOC / article ---------- */
.gy-toc{border:1px solid var(--line);background:rgba(255,255,255,.4);padding:28px 32px;margin:36px 0}
.gy-toc ol{margin:14px 0 0;padding-left:18px}
.gy-toc li{margin-bottom:8px;font-size:14.5px}
.gy-article .wp-block-post-content>p,.gy-article .wp-block-post-content>ul,.gy-article .wp-block-post-content>ol{max-width:68ch}
.gy-author-box{display:grid;grid-template-columns:88px 1fr;gap:24px;border:1px solid var(--line);padding:32px;margin-top:56px;align-items:center;background:rgba(255,255,255,.4)}
.gy-author-box .avatar{border-radius:50%}

/* ---------- CTA ritual ---------- */
.cta-ritual{position:relative;overflow:hidden;text-align:center}
.cta-ritual .inner{position:relative;z-index:2;max-width:760px;margin:0 auto}
.cta-ritual .gy-yantra{position:absolute;right:-140px;top:50%;transform:translateY(-50%);opacity:.16;z-index:1}

/* ---------- Forms ---------- */
.gy-form .field{border-bottom:1px solid var(--line);padding:22px 0 14px}
.gy-form label{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-50);font-weight:600;margin-bottom:8px}
.gy-form input,.gy-form select,.gy-form textarea{width:100%;border:0;background:transparent;font:400 17px var(--serif);color:var(--ink);padding:4px 0}
.gy-form input:focus,.gy-form select:focus,.gy-form textarea:focus{outline:none}
.gy-form .field:focus-within{border-color:var(--gold)}
.form-card{border:1px solid var(--line);background:rgba(255,255,255,.45);padding:clamp(28px,4.5vw,56px)}

/* ---------- Footer ---------- */
.gy-foot{background:var(--dark);color:var(--ivory-dim);padding:clamp(56px,8vw,88px) 0 44px}
.gy-foot .top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:clamp(28px,5vw,56px);padding-bottom:64px;border-bottom:1px solid rgba(241,234,220,.14)}
.gy-foot h2,.gy-foot h5{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-dark);margin:0 0 18px;font-weight:600;font-family:var(--sans)}
.gy-foot ul{list-style:none;margin:0;padding:0}
.gy-foot li{margin-bottom:10px;font-size:14px}
.gy-foot a{color:var(--ivory-dim);text-decoration:none}
.gy-foot a:hover{color:var(--ivory)}
.gy-foot .brandline{font-family:var(--serif);font-size:26px;color:var(--ivory);font-weight:380;margin-bottom:14px}
.gy-foot .brandline em{font-style:italic;color:var(--gold-dark)}
.gy-foot .bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:32px;font-size:12.5px;color:#8d8474}
@media (max-width:880px){.gy-foot .top{grid-template-columns:1fr 1fr}}

/* ---------- Motion: reveal on scroll ---------- */
@media (prefers-reduced-motion: no-preference){
  .gy-reveal{opacity:0;transform:translateY(24px);transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease)}
  .gy-reveal.in{opacity:1;transform:none}
}

/* ---------- Print ---------- */
@media print{.gy-head,.gy-foot,.cta-ritual{display:none}}

/* ---------- Growth Intelligence™ instrument ---------- */
.gy-gi{max-width:920px}
.gi-form{display:flex;gap:20px;align-items:flex-end;flex-wrap:wrap}
.gi-input{flex:1;min-width:260px;border-bottom:1px solid var(--ink);padding-bottom:10px}
.gi-input label{color:var(--ink-50);margin-bottom:8px}
.gi-input input{width:100%;border:0;background:transparent;font:400 clamp(20px,2.4vw,28px)/1.2 var(--serif);color:var(--ink)}
.gi-input input:focus{outline:none}
.gi-input input::placeholder{color:var(--ink-50);font-style:italic}
.gi-stage{margin-top:56px}
.gi-scan{text-align:center;padding:44px 0}
.gi-yantra{width:190px;height:190px;margin:0 auto 24px}
@media (prefers-reduced-motion: no-preference){
  .scanning .gi-p{stroke-dasharray:600;stroke-dashoffset:600;animation:gi-draw 2.4s var(--ease) infinite}
  .scanning .gi-p:nth-child(2){animation-delay:.2s}.scanning .gi-p:nth-child(3){animation-delay:.4s}
  .scanning .gi-p:nth-child(4){animation-delay:.6s}.scanning .gi-p:nth-child(5){animation-delay:.8s}
  @keyframes gi-draw{0%{stroke-dashoffset:600}55%{stroke-dashoffset:0}100%{stroke-dashoffset:0}}
}
.gi-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;border-bottom:1px solid var(--ink);padding-bottom:22px}
.gi-overall{font-family:var(--serif);font-weight:320;letter-spacing:-.02em}
.gi-overall-n{font-size:clamp(56px,7vw,88px);line-height:1}
.gi-overall-max{font-size:20px;color:var(--ink-50);font-style:italic}
.gi-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-top:none}
@media (max-width:900px){.gi-grid{grid-template-columns:repeat(2,1fr)}}
.gi-cell{background:var(--paper);padding:26px 22px;opacity:0;transform:translateY(14px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.gi-cell.in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){.gi-cell{opacity:1;transform:none}}
.gi-sys{font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep);font-weight:600;margin:0 0 14px}
.gi-val{font-family:var(--serif);font-weight:330;font-size:44px;line-height:1;margin:0}
.gi-val .pc{font-size:18px;color:var(--ink-50);font-style:italic}
.gi-lab{font-size:13px;color:var(--ink-70);margin:8px 0 14px}
.gi-bar{height:3px;background:var(--line-soft);overflow:hidden}
.gi-bar span{display:block;height:100%;background:var(--gold);transition:width 1.1s var(--ease)}
.gi-bar.low span{background:#A3542F}
.gi-bar.good span{background:#6F7D4F}
.gi-opps{margin-top:56px}
.gi-opplist{list-style:none;margin:22px 0 0;padding:0;border-top:1px solid var(--ink)}
.gi-opplist li{display:grid;grid-template-columns:44px 1fr auto;gap:18px;padding:16px 0;border-bottom:1px solid var(--line);align-items:baseline;font-size:15px;color:var(--ink-70)}
.gi-opplist a{font-weight:600;color:var(--gold-deep);text-decoration:none;white-space:nowrap}
@media (max-width:700px){.gi-opplist li{grid-template-columns:1fr}.gi-opplist li .index-num{display:none}}
.gi-note{margin-top:22px}
.gi-cta{margin-top:56px;border:1px solid var(--line);background:var(--paper-2);padding:clamp(28px,4vw,48px)}
.gi-cta p:last-child{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px}

/* ---------- Inline enquiry (every page) ---------- */
.gy-enquiry{border:1px solid var(--line);background:rgba(255,255,255,.45);padding:clamp(28px,4vw,48px);display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(28px,4vw,56px)}
@media (max-width:880px){.gy-enquiry{grid-template-columns:1fr}}
.gy-enquiry .fields{display:grid;grid-template-columns:1fr 1fr;gap:0 32px}
@media (max-width:600px){.gy-enquiry .fields{grid-template-columns:1fr}}
.gy-enquiry .hp{position:absolute;left:-9999px}
.gy-enquiry .sent{font-family:var(--serif);font-size:20px;color:var(--gold-deep)}

/* ---------- Footer socials ---------- */
.gy-social{display:flex;gap:16px;margin-top:20px}
.gy-social a{display:inline-flex;width:36px;height:36px;border:1px solid rgba(241,234,220,.25);border-radius:50%;align-items:center;justify-content:center;color:var(--ivory-dim)}
.gy-social a:hover{border-color:var(--gold-dark);color:var(--gold-dark)}
.gy-social svg{width:15px;height:15px;fill:currentColor}

/* ---------- v1.4: logo image, chain map, opp reveals ---------- */
.gy-logo-img{display:block;width:100%;height:auto;max-width:240px;max-height:68px;object-fit:contain;object-position:left center}
.gy-brand{flex-shrink:1;min-width:0}
@media (max-width:600px){.gy-logo-img{max-height:52px;max-width:56vw}}
.gi-opp{opacity:0;transform:translateY(10px);transition:opacity .45s var(--ease),transform .45s var(--ease)}
.gi-opp.in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){.gi-opp{opacity:1;transform:none}}
.gi-map{margin-top:56px;border:1px solid var(--line);padding:clamp(24px,3.5vw,40px);background:rgba(255,255,255,.35)}
.gi-chain{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 16px;padding:0;align-items:center}
.gi-chain li{display:flex;align-items:center;opacity:.45;transition:opacity .4s var(--ease)}
.gi-chain li.in{opacity:1}
.gi-chain li a{font:600 12.5px/1 var(--sans);letter-spacing:.06em;border:1px solid var(--line);border-radius:100px;padding:10px 18px;color:var(--ink-50);text-decoration:none;transition:color .25s,border-color .25s,transform .25s}
.gi-chain li.in a{color:var(--ink);border-color:var(--gold)}
.gi-chain li a:hover{color:var(--gold-deep);border-color:var(--gold-deep);transform:translateY(-1px)}
.gi-chain li:not(:last-child)::after{content:"→";margin-left:14px;color:var(--gold-deep);font-family:var(--serif)}
.gi-chain li.crown a{background:var(--ink);color:var(--ivory);border-color:var(--ink)}
.gi-chain li.crown.in a{background:var(--gold);border-color:var(--gold);color:#FBF7EE}
.gi-chain li.crown a:hover{background:var(--gold-deep);border-color:var(--gold-deep);color:#FBF7EE}
@media (prefers-reduced-motion: reduce){.gi-chain li{opacity:1}}

/* ---------- GI Platform v2: gate, report, compare, print ---------- */
.gi-competitor{max-width:280px}
.gi-progress{list-style:none;display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:0 0 18px;padding:0}
.gi-progress li{font:600 11px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-50);border:1px solid var(--line);border-radius:100px;padding:8px 14px;transition:all .3s var(--ease)}
.gi-progress li.done{color:#FBF7EE;background:var(--gold);border-color:var(--gold)}
.gi-gate{position:relative;margin-top:44px}
.gi-gatecard{position:relative;z-index:3;max-width:640px;margin:0 auto;border:1px solid var(--line);background:var(--paper);box-shadow:0 30px 80px rgba(26,22,17,.14);padding:clamp(28px,4vw,48px)}
.gi-gatecard .fields{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}
@media (max-width:600px){.gi-gatecard .fields{grid-template-columns:1fr}}
.gi-consent{display:flex;gap:12px;align-items:flex-start;font-size:12.5px;color:var(--ink-70);margin-top:20px;cursor:pointer}
.gi-consent input{margin-top:3px;accent-color:var(--gold)}
.gi-unlock-err{color:#A3542F;margin-top:10px}
.gi-result.locked{filter:blur(14px);pointer-events:none;user-select:none;max-height:900px;overflow:hidden;position:relative}
.gi-cover{border-bottom:1px solid var(--ink);padding-bottom:28px}
.gi-cover-host{margin:16px 0 8px}
.gi-grade{font-family:var(--serif);font-weight:340;font-size:clamp(40px,5vw,64px);border:1px solid var(--line);width:1.6em;height:1.6em;display:flex;align-items:center;justify-content:center;border-radius:50%}
.gi-grade.good{color:#6F7D4F;border-color:#6F7D4F}.gi-grade.mid{color:var(--gold-deep);border-color:var(--gold)}.gi-grade.low{color:#A3542F;border-color:#A3542F}
.gi-exec{margin:44px 0}
.gi-summary{margin-top:16px}
.gi-sec-block{border:1px solid var(--line);border-top:none;padding:26px clamp(18px,3vw,32px);opacity:0;transform:translateY(12px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.gi-sec-block:first-child{border-top:1px solid var(--line)}
.gi-sec-block.in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){.gi-sec-block{opacity:1;transform:none}}
.gi-sec-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:14px}
.gi-sec-score{font-family:var(--serif);font-size:30px;font-weight:340}
.gi-sec-score i{font-size:14px;color:var(--ink-50)}
.gi-sec-score.good{color:#6F7D4F}.gi-sec-score.mid{color:var(--gold-deep)}.gi-sec-score.low{color:#A3542F}
.gi-metric{border-top:1px solid var(--line-soft)}
.gi-metric summary{display:grid;grid-template-columns:1fr 70px minmax(120px,220px);gap:18px;align-items:center;padding:13px 0;cursor:pointer;list-style:none}
.gi-metric summary::-webkit-details-marker{display:none}
.gi-m-label{font-size:14.5px;color:var(--ink)}
.gi-m-val{font-family:var(--serif);font-size:19px;text-align:right}
.gi-m-val.good{color:#6F7D4F}.gi-m-val.mid{color:var(--gold-deep)}.gi-m-val.low{color:#A3542F}
.gi-metric p{margin:0 0 14px;max-width:64ch}
@media (max-width:640px){.gi-metric summary{grid-template-columns:1fr 60px}.gi-metric .gi-bar{display:none}}
.gi-issue{border:1px solid var(--line);border-top:none;opacity:0;transform:translateY(8px);transition:opacity .4s var(--ease),transform .4s var(--ease)}
.gi-issue:first-of-type{border-top:1px solid var(--line)}
.gi-issue.in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){.gi-issue{opacity:1;transform:none}}
.gi-issue summary{display:grid;grid-template-columns:44px 1fr auto;gap:16px;align-items:center;padding:16px clamp(14px,2.4vw,24px);cursor:pointer;list-style:none;font-size:15px}
.gi-issue summary::-webkit-details-marker{display:none}
.gi-pill{font:600 10.5px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;border-radius:100px;padding:6px 12px;border:1px solid var(--line)}
.gi-issue.p-high .gi-pill{color:#A3542F;border-color:#A3542F}
.gi-issue.p-medium .gi-pill{color:var(--gold-deep);border-color:var(--gold)}
.gi-issue-body{padding:0 clamp(14px,2.4vw,24px) 20px 60px;font-size:14px;color:var(--ink-70)}
.gi-issue-body p{margin:0 0 10px;max-width:66ch}
.gi-issue-meta{display:flex;gap:18px;align-items:center;margin-top:14px}
@media (max-width:640px){.gi-issue-body{padding-left:clamp(14px,2.4vw,24px)}}
.gi-compare{margin-top:56px;border:1px solid var(--line);padding:clamp(20px,3vw,36px)}
.gi-cmp-row{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:12px;padding:11px 0;border-bottom:1px solid var(--line-soft);font-size:14.5px;align-items:baseline}
.gi-cmp-head{font:600 11px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-50)}
.gi-cmp-row .win{color:#6F7D4F;font-family:var(--serif);font-size:19px}
.gi-cmp-row .lose{color:#A3542F;font-family:var(--serif);font-size:19px}
.gi-cmp-total{border-top:1px solid var(--ink);font-weight:600}
.gi-roadmap{margin-top:56px}
.gi-roadmap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:22px}
.gi-roadmap-grid>div{background:var(--paper);padding:26px}
.gi-roadmap-grid h4{margin:0 0 14px}
.gi-roadmap-grid ul{margin:0;padding-left:18px;font-size:13.5px;color:var(--ink-70)}
.gi-roadmap-grid li{margin-bottom:9px}
@media (max-width:880px){.gi-roadmap-grid{grid-template-columns:1fr}}
.gi-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px}

@media print{
  .gy-head,.gy-foot,.gi-form,.gi-gate,.gi-scan,.gi-actions .gi-print,.gy-nav-toggle{display:none!important}
  body{background:#fff}
  .gi-result{filter:none!important;max-height:none!important}
  .gi-sec-block,.gi-issue,.gi-opp{opacity:1!important;transform:none!important;break-inside:avoid}
  .gi-cover{page-break-after:avoid}
  .gi-roadmap-grid{break-inside:avoid}
  a[href]::after{content:""}
}

/* ---------- GI v2.1: graph, benchmark, confidence, delta, 5-col roadmap ---------- */
.gi-graph{width:100%;max-width:680px;margin:28px auto 0;display:block}
.gi-conf{font:600 8.5px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line);border-radius:100px;padding:3px 8px;color:var(--ink-50);font-style:normal;vertical-align:middle;margin-left:8px}
.gi-conf-high{color:#6F7D4F;border-color:#6F7D4F}
.gi-delta{margin-top:10px}
.gi-delta.up{color:#6F7D4F}.gi-delta.down{color:#A3542F}
.gi-bench{margin-top:26px}
.gi-bench-track{position:relative;height:8px;background:var(--line-soft);border-radius:100px;margin:34px 0 10px}
.gi-bench-track span{position:absolute;top:-4px;transform:translateX(-50%)}
.gi-bench-track i{display:block;width:16px;height:16px;border-radius:50%;border:2px solid var(--paper);margin:0 auto}
.gi-bench-avg i{background:var(--ink-50)}
.gi-bench-you i{background:var(--gold)}
.gi-bench-you.good i{background:#6F7D4F}.gi-bench-you.low i{background:#A3542F}
.gi-bench-track b{display:block;font:600 9.5px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-50);margin-top:6px;text-align:center;white-space:nowrap}
.gi-roadmap-grid.five{grid-template-columns:repeat(5,1fr)}
@media (max-width:1100px){.gi-roadmap-grid.five{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.gi-roadmap-grid.five{grid-template-columns:1fr}}

/* ---------- GI v2.2: executive card, answers, trend ---------- */
.gi-execcard{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:36px}
.gi-execcard>div{background:var(--paper-2);padding:24px 26px}
.gi-execcard ul{list-style:none;margin:14px 0 0;padding:0;font-size:14px;color:var(--ink-70)}
.gi-execcard li{margin-bottom:9px;display:flex;justify-content:space-between;gap:12px}
.gi-execcard li i{font-family:var(--serif);color:var(--ink-50)}
.gi-ec-priority{font-family:var(--serif);font-size:17px;margin:12px 0 0}
.gi-ec-roi{font:600 12px/1.4 var(--sans);color:#6F7D4F;margin:6px 0 0}
@media (max-width:880px){.gi-execcard{grid-template-columns:1fr}}
.gi-answer{border-left:2px solid var(--gold);padding:4px 0 4px 22px;margin:6px 0 18px;font-size:14px;color:var(--ink-70)}
.gi-answer p{margin:0 0 8px;max-width:70ch}
.gi-answer a{font-weight:600;color:var(--gold-deep)}
.gi-trend{margin-top:30px;border:1px solid var(--line);padding:20px 24px}
.gi-trend-svg{width:100%;max-width:340px;height:60px;display:block;margin:12px 0 8px}

/* ---------- GI v2.3: genesis, meter, genome, headline ---------- */
.gi-genesis{position:fixed;inset:0;z-index:9999;background:#16120D;display:flex;align-items:center;justify-content:center;transition:opacity .6s var(--ease)}
.gi-genesis.fade{opacity:0}
.gi-gen-inner{text-align:center;max-width:90vw}
.gi-gen-host{font-family:var(--serif);font-size:clamp(24px,3.4vw,40px);color:#F1EADC;margin:0 0 30px}
.gi-gen-host::after{content:"";display:block;width:8px;height:8px;background:#C89B58;border-radius:50%;margin:16px auto 0;box-shadow:0 0 24px 6px rgba(200,155,88,.55)}
.gi-gen-chain{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0;align-items:center}
.gi-gen-chain li{font:600 12.5px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:#B8AE9E;opacity:0;transform:translateY(8px);transition:opacity .45s var(--ease),transform .45s var(--ease);padding:9px 20px;border:1px solid rgba(241,234,220,.18);border-radius:100px;position:relative;margin-top:22px}
.gi-gen-chain li::before{content:"";position:absolute;top:-22px;left:50%;width:1px;height:22px;background:linear-gradient(rgba(200,155,88,0),#C89B58);opacity:0;transition:opacity .4s}
.gi-gen-chain li:first-child::before{display:none}
.gi-gen-chain li.on{opacity:1;transform:none}
.gi-gen-chain li.on::before{opacity:1}
.gi-gen-chain li.good{border-color:#6F7D4F;color:#cfd8b8}
.gi-gen-chain li.mid{border-color:#C89B58;color:#ecd9b6}
.gi-gen-chain li.low{border-color:#A3542F;color:#e5b49a}
.gi-genesis.collapse .gi-gen-chain li{opacity:0;transform:translateY(-30px) scale(.85);transition:all .5s var(--ease)}
.gi-genesis.collapse .gi-gen-host{opacity:.35;transition:opacity .5s}
.gi-gen-index{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.gi-gen-label{font:600 11px/1 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:#C89B58;margin:0 0 14px}
.gi-gen-n{font-family:var(--serif);font-weight:320;font-size:clamp(90px,16vw,180px);line-height:1;color:#F1EADC;margin:0;text-shadow:0 0 60px rgba(200,155,88,.35)}
.gi-meter{display:grid;grid-template-columns:auto 1fr auto auto;gap:clamp(16px,3vw,40px);align-items:center;border:1px solid var(--line);padding:24px clamp(18px,3vw,32px);margin-top:32px}
.gi-meter-n{font-family:var(--serif);font-weight:330;font-size:clamp(30px,3.6vw,44px);margin:6px 0 0}
.gi-meter-track{position:relative;height:8px;background:var(--line-soft);border-radius:100px}
.gi-meter-fill{position:absolute;left:0;top:0;bottom:0;background:var(--gold);border-radius:100px;transition:width 1.2s var(--ease)}
.gi-meter-pot{position:absolute;top:-5px;width:2px;height:18px;background:var(--ink);transform:translateX(-50%)}
.gi-meter-gap{color:var(--gold-deep)}
@media (max-width:760px){.gi-meter{grid-template-columns:1fr 1fr}.gi-meter-track{grid-column:1/-1;order:9}}
.gi-genome{margin-top:26px}
.gi-genome-strip{display:flex;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:12px}
.gi-gene{flex:1;background:var(--paper);padding:14px 10px;text-align:center}
.gi-gene b{font-family:var(--serif);font-weight:340;font-size:24px;display:block}
.gi-gene span{font:600 9px/1.3 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-50);display:block;margin-top:6px}
.gi-gene.good b{color:#6F7D4F}.gi-gene.mid b{color:var(--gold-deep)}.gi-gene.low b{color:#A3542F}
@media (max-width:640px){.gi-genome-strip{flex-wrap:wrap}.gi-gene{min-width:30%}}
.gi-headline{font-family:var(--serif);font-size:clamp(19px,2vw,24px);line-height:1.5;margin:16px 0 14px;max-width:62ch}
.gi-industry select{width:100%;border:0;background:transparent;font:400 17px var(--serif);color:var(--ink);padding:6px 0}
.gi-industry{max-width:220px}
@media print{.gi-genesis{display:none!important}}

/* ---------- GI v2.4: radar, brand DNA media, discovery feed ---------- */
.gi-found{color:#6F7D4F;font-weight:700;margin-right:6px}
.gi-dna-row{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:26px}
.gi-dna-row>div{background:var(--paper);padding:24px}
@media (max-width:760px){.gi-dna-row{grid-template-columns:1fr}}
.gi-radar{width:100%;max-width:320px;margin:14px auto 0;display:block}
.gi-bm-logo img{max-height:64px;max-width:220px;object-fit:contain;margin:16px 0;background:#fff;padding:8px;border:1px solid var(--line)}
.gi-bm-palette{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 14px}
.gi-swatch{width:64px;height:44px;border:1px solid var(--line);position:relative;display:block}
.gi-swatch i{position:absolute;bottom:-18px;left:0;font:500 9px/1 var(--sans);color:var(--ink-50);font-style:normal}
