/* Visual directions for structures C, D and E, ported from the design-directions file.
   Everything is scoped under .gd; the direction is chosen by data-dir on that wrapper. */
.gd{
  --bg:#EFF1E8; --surface:#E3E7D6; --ink:#1F2A1C; --muted:#56604F; --line:#CBD1BD;
  --accent:#4F5D23; --on-accent:#F6F7EF; --deep:#2C3A22; --on-deep:#EEF0E4; --deep-muted:#B7C29A; --hl:#B58F3C;
  --f-display:'Frank Ruhl Libre', 'David Libre', serif; --f-body:'Assistant', 'Heebo', system-ui, sans-serif;
  --w-display:500; --ds:1; --radius:3px; --btn-radius:3px; --deco:none; --img-filter:none;
  color-scheme:light;
}
/* ---------- Ten visual directions ---------- */
.gd[data-dir="a4"]{--bg:#173D30;--surface:#1F4B3C;--ink:#E6EEE9;--muted:#B0C6BC;--line:#33604F;--accent:#E9A97F;--on-accent:#2A170B;--deep:#102C23;--on-deep:#E6EEE9;--deep-muted:#E9A97F;--hl:#8FC9B5;--f-display:'Noto Serif Hebrew',serif;--f-body:'IBM Plex Sans Hebrew',sans-serif;--w-display:600;--ds:.96;--radius:6px;--btn-radius:6px;--deco:radial-gradient(circle at 80% -10%,#2A5E4C 0,transparent 55%);color-scheme:dark}



.gd{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:17px;line-height:1.7;min-height:100vh;transition:background-color .35s,color .35s;-webkit-font-smoothing:antialiased;color-scheme:inherit}
.gd *,.gd *::before,.gd *::after{box-sizing:border-box}
:where(.gd) a{color:inherit}
.gd img{max-width:100%;display:block}
.gd :focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.gd .wrap{max-width:1200px;margin-inline:auto;padding-inline:24px}
@media (max-width:520px){.gd .wrap{padding-inline:16px}}
.gd .disp{font-family:var(--f-display);font-weight:var(--w-display);line-height:1.12;text-wrap:balance;margin:0}
.gd .h1{font-size:calc(clamp(40px,5.6vw,74px) * var(--ds));line-height:1.04;letter-spacing:-.01em}
.gd .h2{font-size:calc(clamp(30px,3.4vw,44px) * var(--ds))}
.gd .h3{font-size:calc(23px * var(--ds));line-height:1.25}
.gd .h1 .soft{color:var(--accent)}
.gd .label{font-size:14px;color:var(--accent);font-weight:600;letter-spacing:.02em}
.gd .muted{color:var(--muted)}
.gd .lede{font-size:20px;line-height:1.6;max-width:36ch;text-wrap:pretty;margin:0}
.gd .prose{display:flex;flex-direction:column;gap:16px;max-width:62ch}
.gd .prose p{margin:0;text-wrap:pretty}
.gd .prose .strong{font-weight:600}
.gd .btn{display:inline-flex;align-items:center;gap:10px;padding:13px 22px;font:inherit;font-size:16px;font-weight:600;line-height:1.2;text-decoration:none;border-radius:var(--btn-radius);border:1.5px solid var(--accent);cursor:pointer;transition:transform .15s, background-color .2s, color .2s}
.gd .btn-primary{background:var(--accent);color:var(--on-accent)!important}
.gd .btn-primary:hover{transform:translateY(-1px)}
.gd .btn-ghost{background:transparent;color:var(--ink)!important;border-color:var(--line)}
.gd .btn-ghost:hover{border-color:var(--accent)}
.gd .btn svg{flex:none}
.gd .row{display:flex;gap:14px;flex-wrap:wrap}
.gd .photo{overflow:hidden;border-radius:var(--radius)}
.gd .photo img{width:100%;height:100%;object-fit:cover;filter:var(--img-filter)}
.gd .facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:0;padding:0;list-style:none}
.gd .facts li{background:var(--surface);border-radius:var(--radius);padding:16px 18px}
.gd .facts small{display:block;font-size:13px;color:var(--muted)}
.gd .facts b{font-weight:600}
.gd .quote{font-family:var(--f-display);font-weight:var(--w-display);font-size:calc(clamp(24px,2.6vw,32px) * var(--ds));line-height:1.35;color:var(--accent);margin:0;text-wrap:balance}
/* FAQ */
.gd .faq details{border-bottom:1px solid var(--line)}
.gd .faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 2px;font-weight:600;font-size:18px;line-height:1.45}
.gd .faq summary::-webkit-details-marker{display:none}
.gd .faq summary .pm{flex:none;width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line);border-radius:var(--btn-radius);color:var(--accent);font-size:20px;line-height:1;transition:transform .25s}
.gd .faq details[open] .pm{transform:rotate(45deg)}
.gd .faq details p{margin:0;padding:0 2px 22px;max-width:62ch;color:var(--muted);text-wrap:pretty}
/* Contact + form */
.gd .clist{display:flex;flex-direction:column;gap:2px;padding:0;margin:0;list-style:none}
.gd .clist li{display:flex;align-items:center;gap:14px;padding:14px 2px;border-bottom:1px solid var(--line)}
.gd .clist li span:nth-child(2){flex:1}
.gd .clist .v{font-weight:600;direction:ltr;user-select:all}
.gd .form{display:flex;flex-direction:column;gap:16px;padding:30px 28px;border-radius:var(--radius);background:var(--surface)}
.gd .field{display:flex;flex-direction:column;gap:6px}
.gd .field label{font-size:14px;font-weight:600}
.gd .field input,.gd .field select,.gd .field textarea{font:inherit;font-size:16px;color:var(--ink);background:var(--bg);border:1.5px solid var(--line);border-radius:calc(var(--radius) / 2);padding:11px 13px;min-height:46px;width:100%}
.gd .field textarea{min-height:90px;resize:vertical}
.gd .field input:focus,.gd .field select:focus,.gd .field textarea:focus{outline:none;border-color:var(--accent)}
.gd .form .err{color:var(--accent);font-size:14px;margin:0;min-height:1.2em}
.gd footer.foot{border-top:1px solid var(--line)}
.gd footer.foot .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-block:26px;font-size:14px;color:var(--muted)}
.gd .wa-float{position:fixed;bottom:calc(20px + env(safe-area-inset-bottom,0px));left:20px;z-index:30;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--on-accent);box-shadow:0 8px 24px rgba(0,0,0,.18);text-decoration:none}

/* ================= STRUCTURE A: split hero + long scroll ================= */
.gd .A header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.gd .A header.top .wrap{display:flex;align-items:center;gap:28px;padding-block:12px;flex-wrap:wrap}
.gd .A .brand{display:flex;flex-direction:column;line-height:1.2;text-decoration:none;margin-inline-end:auto}
.gd .A .brand b{font-family:var(--f-display);font-weight:var(--w-display);font-size:calc(21px * var(--ds))}
.gd .A .brand small{font-size:13px;color:var(--muted)}
.gd .A nav.links{display:flex;gap:22px;font-size:15px;flex-wrap:wrap}
.gd .A nav.links a{text-decoration:none}
.gd .A nav.links a:hover{color:var(--accent)}
.gd .A .top .btn{padding:9px 16px;font-size:15px}
@media (max-width:860px){.gd .A nav.links{display:none}}
.gd .A .hero{background-image:var(--deco)}
.gd .A .hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center;padding-block:72px 88px}
.gd .A .hero .txt{display:flex;flex-direction:column;gap:24px;min-width:0}
.gd .A .tag{align-self:flex-start;font-size:14px;padding:5px 12px;border-radius:var(--btn-radius);background:var(--surface);color:var(--accent);font-weight:600}
.gd .A .hero figure{margin:0}
.gd .A .hero .photo{aspect-ratio:4/5}
.gd .A .hero .photo img{object-position:50% 22%}
.gd .A .hero figcaption{display:flex;justify-content:space-between;font-size:13px;color:var(--muted);margin-top:10px}
@media (max-width:860px){.gd .A .hero .wrap{grid-template-columns:1fr;gap:40px;padding-block:44px 64px}.gd .A .hero figure{max-width:440px}}
.gd .A section.blk{border-top:1px solid var(--line);scroll-margin-top:64px}
.gd .A section.blk>.wrap{padding-block:88px}
.gd .A .about{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:64px;align-items:start}
.gd .A .about .side{display:flex;flex-direction:column;gap:14px;position:sticky;top:96px}
.gd .A .about .side .photo{aspect-ratio:1;max-width:340px;margin-top:20px}
.gd .A .about .side .photo img{object-position:50% 25%}
.gd .A .sub{display:flex;flex-direction:column;gap:14px;padding-top:28px;margin-top:12px;border-top:1px solid var(--line)}
.gd .A .sub .tagline{color:var(--accent);font-size:15px;margin-top:-8px}
.gd .A .qbox{padding:28px 0;border-block:2px solid var(--accent)}
@media (max-width:860px){.gd .A .about{grid-template-columns:1fr;gap:36px}.gd .A .about .side{position:static}}
.gd .A .method{background:var(--deep);color:var(--on-deep);border-top:0}
.gd .A .method .label{color:var(--deep-muted)}
.gd .A .method .intro{display:flex;flex-direction:column;gap:14px;max-width:760px;margin-bottom:48px}
.gd .A .method .intro p{margin:0;font-size:19px;opacity:.85;text-wrap:pretty}
.gd .A .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;list-style:none;margin:0;padding:0;counter-reset:s}
.gd .A .steps li{padding:26px 24px 30px;border-inline-start:1px solid color-mix(in srgb,var(--on-deep) 22%,transparent);display:flex;flex-direction:column;gap:10px}
.gd .A .steps li:first-child{border-inline-start:0;padding-inline-start:0}
.gd .A .steps .n{font-family:var(--f-display);font-size:calc(46px * var(--ds));line-height:1;color:var(--deep-muted)}
.gd .A .steps .s{font-size:14px;color:var(--deep-muted)}
.gd .A .steps p{margin:0;font-size:16px;line-height:1.65;opacity:.88}
@media (max-width:1000px){.gd .A .steps{grid-template-columns:1fr 1fr;row-gap:12px}.gd .A .steps li:nth-child(3){border-inline-start:0;padding-inline-start:0}}
@media (max-width:600px){.gd .A .steps{grid-template-columns:1fr}.gd .A .steps li{border-inline-start:0;padding-inline-start:0;border-top:1px solid color-mix(in srgb,var(--on-deep) 22%,transparent)}}
.gd .A .head{display:flex;flex-direction:column;gap:14px;max-width:760px;margin-bottom:40px}
.gd .A .head p{margin:0;font-size:19px;color:var(--muted);text-wrap:pretty}
.gd .A .svc{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;list-style:none;margin:0;padding:0}
.gd .A .svc li{background:var(--surface);border-radius:var(--radius);padding:22px 20px 24px;display:flex;flex-direction:column;gap:8px}
.gd .A .svc h3{font-family:var(--f-display);font-weight:var(--w-display);font-size:calc(20px * var(--ds));line-height:1.3;margin:0}
.gd .A .svc p{margin:0;font-size:15px;line-height:1.6;color:var(--muted)}
@media (max-width:1100px){.gd .A .svc{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.gd .A .svc{grid-template-columns:1fr}}
.gd .A .two{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px;align-items:start}
@media (max-width:860px){.gd .A .two{grid-template-columns:1fr;gap:32px}}
.gd .A .faq{border-top:1px solid var(--line)}
/* A5 tile pattern on hero photo backing */
.gd[data-dir="a5"] .A .hero figure{padding:14px;background:conic-gradient(from 45deg,#2340B0 0 25%,#EEF1FB 0 50%,#2340B0 0 75%,#EEF1FB 0) 0 0/28px 28px}
.gd[data-dir="a5"] .A .method{background-image:radial-gradient(circle at 0 0,rgba(255,255,255,.08) 0 30%,transparent 30%);background-size:56px 56px}
.gd[data-dir="a3"] .A .hero .photo{border-radius:999px 999px 0 0}

/* ================= STRUCTURE B: sticky profile + chapters ================= */
.gd .B .shell{display:grid;grid-template-columns:330px minmax(0,1fr);gap:72px;max-width:1280px;margin-inline:auto;padding-inline:24px}
.gd .B aside.prof{position:sticky;top:env(safe-area-inset-top,0px);height:100vh;padding-block:32px;display:flex;flex-direction:column;gap:18px;overflow:auto}
.gd .B .prof .photo{aspect-ratio:4/5}
.gd .B .prof .photo img{object-position:50% 22%}
.gd .B .prof .name{font-family:var(--f-display);font-weight:var(--w-display);font-size:calc(28px * var(--ds));line-height:1.15;margin:0}
.gd .B .prof .role{font-size:14px;color:var(--muted);margin:-10px 0 0}
.gd .B .prof nav{display:flex;flex-direction:column;border-top:1px solid var(--line);font-size:15px}
.gd .B .prof nav a{text-decoration:none;padding:7px 0;display:flex;justify-content:space-between;color:var(--muted)}
.gd .B .prof nav a:hover,.gd .B .prof nav a.on{color:var(--ink)}
.gd .B .prof nav a.on::after{content:"";width:18px;height:2px;background:var(--accent);align-self:center}
.gd .B .prof .btn{justify-content:center}
.gd .B .prof .cred{font-size:13px;color:var(--muted);margin:auto 0 0}
.gd .B main{min-width:0;padding-block:32px 0}
.gd .B .hero{padding-block:56px 72px;display:flex;flex-direction:column;gap:26px}
.gd .B .hero .h1{font-size:calc(clamp(44px,6.6vw,96px) * var(--ds))}
.gd .B .hero .lede{font-size:21px;max-width:40ch;color:var(--muted)}
.gd .B .chip-row{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0;list-style:none}
.gd .B .chip-row li{font-size:14px;padding:5px 14px;border-radius:var(--btn-radius);border:1px solid var(--line);color:var(--muted)}
.gd .B .ch{padding-block:80px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:32px;scroll-margin-top:16px}
.gd .B .ch-head{display:flex;flex-direction:column;gap:10px;max-width:720px}
.gd .B .ch-head p{margin:0;font-size:19px;color:var(--muted);text-wrap:pretty}
.gd .B .pull{margin:8px 0;padding:36px 32px;background:var(--surface);border-radius:var(--radius)}
.gd .B .pull .quote{font-size:calc(clamp(28px,3.2vw,42px) * var(--ds))}
.gd .B .cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 48px}
.gd .B .cols .prose{max-width:none}
@media (max-width:1100px){.gd .B .cols{grid-template-columns:1fr}}
.gd .B .tl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.gd .B .tl li{display:grid;grid-template-columns:96px minmax(0,1fr);gap:24px;padding-bottom:36px;position:relative}
.gd .B .tl li::before{content:"";position:absolute;inset-inline-start:47px;top:64px;bottom:8px;width:2px;background:var(--line)}
.gd .B .tl li:last-child::before{display:none}
.gd .B .tl .n{font-family:var(--f-display);font-weight:var(--w-display);font-size:calc(58px * var(--ds));line-height:1;color:var(--accent);text-align:center}
.gd .B .tl h3{margin:6px 0 2px}
.gd .B .tl .s{font-size:14px;color:var(--accent);font-weight:600}
.gd .B .tl p{margin:8px 0 0;max-width:56ch;text-wrap:pretty}
.gd .B .svc{list-style:none;margin:0;padding:0;border-radius:var(--radius);background:var(--surface);overflow:hidden}
.gd .B .svc li{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:24px;padding:20px 26px;border-top:1px solid var(--line)}
.gd .B .svc li:first-child{border-top:0}
.gd .B .svc h3{margin:0;font-size:18px;font-weight:600;line-height:1.4}
.gd .B .svc p{margin:0;font-size:15px;line-height:1.6;color:var(--muted)}
@media (max-width:700px){.gd .B .svc li{grid-template-columns:1fr;gap:6px;padding:18px 20px}}
.gd .B .faq details{background:var(--surface);border-radius:var(--radius);border:0;padding-inline:22px;margin-bottom:10px}
.gd .B .faq{max-width:820px}
.gd .B .closing{background:var(--deep);color:var(--on-deep);border-radius:var(--radius);padding:56px 48px;margin-block:80px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}
.gd .B .closing .label{color:var(--deep-muted)}
.gd .B .closing .lead{display:flex;flex-direction:column;gap:18px}
.gd .B .closing .lead p{margin:0;font-size:19px;opacity:.88}
.gd .B .closing .clist li{border-color:color-mix(in srgb,var(--on-deep) 22%,transparent)}
.gd .B .closing .form{background:var(--bg);color:var(--ink)}
@media (max-width:1100px){.gd .B .closing{grid-template-columns:1fr;padding:40px 24px}}
.gd .B footer.foot .wrap{padding-inline:0}
@media (max-width:960px){
  .gd .B .shell{grid-template-columns:1fr;gap:0}
  .gd .B aside.prof{position:static;height:auto;display:grid;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:6px 16px;padding-block:20px 8px;overflow:visible}
  .gd .B .prof .photo{grid-row:span 2;aspect-ratio:1;border-radius:50%}
  .gd .B .prof .role{margin:0}
  .gd .B .prof nav,.gd .B .prof .cred,.gd .B .prof .btn{display:none}
  .gd .B .hero{padding-block:32px 56px}
  .gd .B .ch{padding-block:56px}
}
@media (max-width:520px){.gd .B .shell{padding-inline:16px}.gd .B .tl li{grid-template-columns:56px minmax(0,1fr);gap:14px}.gd .B .tl li::before{inset-inline-start:27px}.gd .B .pull{padding:26px 20px}}
.gd[data-dir="b2"] .B .prof .photo{border-radius:200px 200px var(--radius) var(--radius)}
.gd[data-dir="b4"] .B .hero .h1 .soft{background:linear-gradient(transparent 62%,var(--deep-muted) 62% 92%,transparent 92%);color:inherit}
.gd[data-dir="b5"] .B .hero .h1 .soft{background:var(--hl);color:var(--ink);padding-inline:.12em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.gd[data-dir="b5"] .btn-primary{border-color:var(--ink)}
.gd[data-dir="b3"] .B .prof .photo img{filter:sepia(.15) saturate(.9)}


/* ================= STRUCTURE C: "המצפן" (ported from GiliLandingPage, layout B) ================= */
.gd .C{font-family:var(--body);color:var(--fg);background:var(--bg)}
.gd .C p{margin:0 0 1.1em}
.gd .C h1,.gd .C h2,.gd .C h3{font-family:var(--display);font-weight:var(--dw);margin:0;text-wrap:balance}
.gd .C section{scroll-margin-top:5rem}
.gd .C .wrap{max-width:var(--wide);margin:0 auto;padding:0 var(--gutter)}
.gd .C .btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;font:inherit;font-weight:700;font-size:1.02rem;line-height:1;padding:.95em 1.45em;border-radius:var(--r-btn);text-decoration:none;cursor:pointer;background:var(--btn-bg);color:var(--btn-fg);border:1.5px solid var(--btn-bg);transition:filter .2s,background .2s}
.gd .C .btn:hover{filter:brightness(1.12);transform:none}
.gd .C .btn.small{font-size:.95rem;padding:.7em 1.15em}
.gd .C .btn svg{width:1.1em;height:1.1em;flex:none}
.gd .C .top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--bg);border-bottom:1px solid var(--line)}
.gd .C .top .wrap{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;height:4.4rem}
.gd .C .brand{text-decoration:none;line-height:1.2}
.gd .C .brand b{display:block;font-family:var(--display);font-weight:var(--dw);font-size:1.2rem;color:var(--head)}
.gd .C .brand span{font-size:.85rem;color:var(--muted)}
.gd .C .top nav{display:flex;gap:1.6rem;font-size:1rem}
.gd .C .top nav a{text-decoration:none;color:var(--muted)}
.gd .C .top nav a:hover{color:var(--head);text-decoration:underline;text-underline-offset:6px;text-decoration-color:var(--accent)}
.gd .C label{display:block;font-size:.95rem;font-weight:500;margin:1rem 0 .35rem}
.gd .C input,.gd .C select,.gd .C textarea{width:100%;font:inherit;font-size:1.02rem;color:var(--fg);background:var(--surface);border:1.5px solid var(--line);padding:.7rem .8rem;border-radius:calc(var(--r-card) / 1.5)}
.gd .C input:focus,.gd .C select:focus,.gd .C textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 30%,transparent)}
.gd .C textarea{min-height:5.5rem;resize:vertical}
.gd .C footer{background:var(--deep);color:var(--on-deep-muted);border-top:1px solid color-mix(in srgb,var(--on-deep) 18%,transparent);padding:2rem 0 2.5rem;font-size:.95rem}
.gd .C footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem 2rem}
.gd .C footer .motto{color:var(--on-deep)}
.gd .C details>summary{list-style:none;cursor:pointer}
.gd .C details>summary::-webkit-details-marker{display:none}
.gd .C form .err{color:var(--accent);font-size:.92rem;margin:.6rem 0 0;min-height:1.2em}
.gd .C .fab{bottom:calc(1.25rem + env(safe-area-inset-bottom,0px))}

.gd .C{ --wide: 76rem; --gutter: clamp(1.25rem, 5vw, 3rem); font-size: 1.0625rem; line-height: 1.7; }
.gd .C .btn{ font-weight: 600; }
.gd .C .btn.sun{ background: var(--hi); color: var(--on-hi); border-color: var(--hi); }
.gd .C .btn.line{ background: transparent; color: var(--head); border-color: var(--head); }
.gd .C .btn.line:hover{ background: var(--tint); filter: none; }
.gd .C .hero{ display: grid; grid-template-columns: 1.1fr .9fr; min-height: min(46rem, calc(100vh - 4.4rem)); }
.gd .C .hero-text{ padding: clamp(3rem, 8vh, 6rem) var(--gutter); padding-inline-start: max(var(--gutter), calc((100vw - var(--wide)) / 2 + var(--gutter))); display: flex; flex-direction: column; justify-content: center; }
.gd .C .kicker{ color: var(--muted); font-weight: 500; margin-bottom: 1.25rem; }
.gd .C .hero h1{ font-size: clamp(2.6rem, 4.6vw, 4.6rem); line-height: 1.06; color: var(--head); }
.gd .C .hero h1 span{ display: block; }
.gd .C .lede{ max-width: 31rem; font-size: clamp(1.1rem, 1.6vw, 1.3rem); line-height: 1.6; margin: 1.75rem 0 2rem; font-weight: var(--bw); }
.gd .C .actions{ display: flex; flex-wrap: wrap; gap: .75rem; }
.gd .C .cred{ margin-top: 2.25rem; padding-top: 1.25rem; border-top: 1px solid var(--line); font-size: .95rem; color: var(--muted); max-width: 30rem; }
.gd .C .hero-art{ position: relative; background: var(--deep); overflow: hidden; display: flex; align-items: flex-end; justify-content: center; }
.gd .C .sunarc{ position: absolute; width: 78%; aspect-ratio: 1; left: 50%; bottom: 28%; translate: -50% 0; border-radius: 50%; background: var(--hi); animation: gd-sunrise 1.6s cubic-bezier(.2,.7,.2,1) .15s both; }
@keyframes gd-sunrise{ from { translate: -50% 35%; opacity: 0; } to { translate: -50% 0; opacity: 1; } }
.gd .C .hero-art figure{ position: relative; margin: 0; width: 68%; max-width: 26rem; }
.gd .C .hero-art img{ width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: cover; object-position: 55% 22%; border-radius: 999px 999px 0 0; border: 6px solid var(--bg); border-bottom: 0; }
.gd .C .hero-art figcaption{ position: absolute; bottom: 1.25rem; right: -1rem; background: var(--surface); color: var(--fg); padding: .55rem .9rem; font-size: .9rem; line-height: 1.35; border-radius: calc(var(--r-card) / 1.5); box-shadow: 0 6px 20px rgba(0,0,0,.18); }
.gd .C .hero-art figcaption b{ display: block; font-weight: 600; }
.gd .C .where{ background: var(--tint); padding: 2.5rem 0 2.75rem; }
.gd .C .where h2{ font-size: 1.5rem; color: var(--head); margin-bottom: 1.25rem; }
.gd .C .where ul{ list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.gd .C .where a{ display: flex; flex-direction: column; gap: .3rem; height: 100%; text-decoration: none; background: var(--surface); padding: 1.1rem 1.2rem 1.2rem; border-radius: var(--r-card); border: 1.5px solid transparent; transition: border-color .2s; }
.gd .C .where a:hover{ border-color: var(--head); }
.gd .C .where a b{ font-family: var(--display); font-weight: var(--dw); font-size: 1.25rem; color: var(--head); line-height: 1.25; }
.gd .C .where a span{ font-size: .95rem; color: var(--muted); line-height: 1.45; }
.gd .C .sec{ padding: clamp(4.5rem, 9vw, 7.5rem) 0; }
.gd .C .eyebrow{ color: var(--muted); font-weight: 500; margin-bottom: .75rem; }
.gd .C .sec h2{ font-size: clamp(2rem, 4vw, 3.1rem); line-height: 1.15; color: var(--head); max-width: 24ch; margin-bottom: 1.5rem; }
.gd .C .about{ display: grid; grid-template-columns: minmax(0, 40rem) minmax(16rem, 22rem); gap: clamp(2.5rem, 7vw, 7rem); align-items: start; }
.gd .C .body p{ font-weight: var(--bw); font-size: 1.1rem; }
.gd .C .body strong{ font-weight: 600; }
.gd .C .about h3{ font-size: 1.6rem; color: var(--head); margin: 2.75rem 0 .2rem; }
.gd .C .h3-sub{ color: var(--muted); font-weight: 500; margin-bottom: 1.25rem; }
.gd .C .aside{ position: sticky; top: 6.5rem; }
.gd .C .aside blockquote{ margin: 0 0 1.75rem; padding: 1.75rem 1.5rem 1.6rem; background: var(--deep); color: var(--on-deep); font-family: var(--display); font-weight: var(--dw); font-size: 1.85rem; line-height: 1.25; border-radius: var(--r-card); position: relative; }
.gd .C .aside blockquote::after{ content: ""; position: absolute; left: 1.5rem; bottom: -14px; width: 28px; height: 28px; border-radius: 50%; background: var(--hi); }
.gd .C .aside dl{ margin: 0; }
.gd .C .aside dt{ font-family: var(--display); font-weight: var(--dw); font-size: 1.3rem; color: var(--head); margin-top: 1.1rem; }
.gd .C .aside dd{ margin: 0; color: var(--muted); font-size: .98rem; border-bottom: 1px solid var(--line); padding-bottom: 1rem; }
.gd .C .method{ background: var(--deep); color: var(--on-deep); }
.gd .C .method .eyebrow{ color: var(--on-deep-muted); }
.gd .C .method h2{ color: var(--on-deep); }
.gd .C .method-grid{ display: grid; grid-template-columns: minmax(16rem, 26rem) 1fr; gap: clamp(2.5rem, 7vw, 7rem); align-items: start; }
.gd .C .method .intro{ font-weight: var(--bw); font-size: 1.1rem; color: var(--on-deep-muted); }
.gd .C .timeline{ list-style: none; margin: 0; padding: 0; position: relative; }
.gd .C .timeline::before{ content: ""; position: absolute; right: 11px; top: 14px; bottom: 60px; width: 2px; background: color-mix(in srgb, var(--on-deep) 30%, transparent); }
.gd .C .timeline li{ position: relative; padding: 0 3.25rem 2.75rem 0; }
.gd .C .timeline li::before{ content: ""; position: absolute; right: 2px; top: .35rem; width: 20px; height: 20px; border-radius: 50%; border: 2px solid var(--on-deep); background: var(--deep); }
.gd .C .timeline li:last-child{ padding-bottom: 0; }
.gd .C .timeline li:last-child::before{ background: var(--hi); border-color: var(--hi); width: 30px; height: 30px; right: -3px; top: .1rem; box-shadow: 0 0 0 8px color-mix(in srgb, var(--hi) 22%, transparent); }
.gd .C .timeline .n{ font-size: .95rem; color: var(--hi); font-weight: 600; }
.gd .C .timeline h3{ font-size: 1.75rem; margin: .1rem 0; }
.gd .C .timeline .q{ color: var(--on-deep-muted); font-weight: 500; margin-bottom: .6rem; }
.gd .C .timeline p{ font-weight: var(--bw); max-width: 34rem; margin: 0; }
.gd .C .svc-intro{ max-width: 40rem; font-weight: var(--bw); font-size: 1.1rem; }
.gd .C .groups{ display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(1.25rem, 3vw, 2.25rem); margin-top: 3rem; }
.gd .C .group{ scroll-margin-top: 6rem; }
.gd .C .group h3{ font-size: 1.45rem; color: var(--head); padding-bottom: .9rem; border-bottom: 3px solid var(--head); margin-bottom: .25rem; }
.gd .C .group:target h3{ border-color: var(--hi); }
.gd .C .item{ border-bottom: 1px solid var(--line); }
.gd .C .item summary{ padding: 1rem 0; display: flex; justify-content: space-between; gap: 1rem; font-weight: 600; font-size: 1.05rem; line-height: 1.4; }
.gd .C .item summary::after{ content: ""; flex: none; width: .6rem; height: .6rem; margin-top: .45rem; border-left: 2px solid var(--head); border-bottom: 2px solid var(--head); transform: rotate(-45deg); transition: transform .2s; }
.gd .C .item[open] summary::after{ transform: rotate(135deg); margin-top: .7rem; }
.gd .C .item p{ margin: -.35rem 0 1.1rem; color: var(--muted); font-weight: var(--bw); }
.gd .C .faqsec{ background: var(--tint); }
.gd .C .faq-grid{ display: grid; grid-template-columns: minmax(14rem, 22rem) 1fr; gap: clamp(2.5rem, 7vw, 7rem); align-items: start; }
.gd .C .faq-grid .side a{ color: var(--head); font-weight: 600; text-decoration-color: var(--hi); text-decoration-thickness: 3px; text-underline-offset: 4px; }
.gd .C .qa details{ background: var(--surface); border-radius: var(--r-card); margin-bottom: .75rem; padding: 0 1.4rem; }
.gd .C .qa summary{ padding: 1.2rem 0; display: flex; justify-content: space-between; gap: 1.25rem; font-weight: 600; font-size: 1.1rem; line-height: 1.4; }
.gd .C .qa summary::after{ content: "+"; flex: none; width: 1.8rem; height: 1.8rem; border-radius: 50%; display: grid; place-items: center; background: var(--tint); color: var(--head); font-size: 1.2rem; line-height: 1; transition: transform .2s, background .2s; }
.gd .C .qa details[open] summary::after{ transform: rotate(45deg); background: var(--hi); color: var(--on-hi); }
.gd .C .qa details p{ margin: -.2rem 0 1.3rem; font-weight: var(--bw); max-width: 40rem; }
.gd .C .contact{ background: var(--deep); color: var(--on-deep); text-align: center; position: relative; overflow: hidden; }
.gd .C .contact::before{ content: ""; position: absolute; width: 36rem; aspect-ratio: 1; border-radius: 50%; background: var(--hi); left: 50%; translate: -50% 0; bottom: -31rem; }
.gd .C .contact .wrap{ position: relative; max-width: 46rem; }
.gd .C .contact .eyebrow{ color: var(--on-deep-muted); }
.gd .C .contact h2{ color: var(--on-deep); margin: 0 auto 1.25rem; }
.gd .C .contact .lead{ font-weight: var(--bw); font-size: 1.15rem; color: var(--on-deep-muted); max-width: 34rem; margin: 0 auto 2.25rem; }
.gd .C .channels{ display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem; }
.gd .C .channels .btn.line{ color: var(--on-deep); border-color: color-mix(in srgb, var(--on-deep) 55%, transparent); }
.gd .C .channels .btn.line:hover{ background: color-mix(in srgb, var(--on-deep) 10%, transparent); }
.gd .C .ltr{ direction: ltr; unicode-bidi: isolate; }
.gd .C .formbox{ margin: 2.5rem auto 0; max-width: 32rem; text-align: right; background: var(--surface); color: var(--fg); border-radius: var(--r-card); }
.gd .C .formbox > summary{ padding: 1.15rem 1.5rem; font-weight: 600; display: flex; justify-content: space-between; align-items: center; }
.gd .C .formbox > summary::after{ content: "+"; font-size: 1.4rem; color: var(--head); transition: transform .2s; }
.gd .C .formbox[open] > summary::after{ transform: rotate(45deg); }
.gd .C form{ padding: 0 1.5rem 1.5rem; }
.gd .C form .hint{ font-size: .92rem; color: var(--muted); margin-bottom: .5rem; }
.gd .C form .btn{ width: 100%; margin-top: 1.25rem; }
.gd .C .fab{ position: fixed; left: 1.25rem; bottom: 1.25rem; z-index: 30; width: 3.6rem; height: 3.6rem; border-radius: 50%; background: var(--hi); color: var(--on-hi); display: grid; place-items: center; box-shadow: 0 8px 24px rgba(0,0,0,.3); }
.gd .C .fab svg{ width: 1.7rem; height: 1.7rem; }
@media (min-width: 961px){ .gd .C .hero h1 span{ white-space: nowrap; } }
@media (max-width: 960px){
  .gd .C .top nav,.gd .C .top .btn{ display: none; }
  .gd .C .hero{ grid-template-columns: 1fr; min-height: 0; }
  .gd .C .hero-art{ order: -1; height: 22rem; }
  .gd .C .hero-art figure{ width: 15rem; }
  .gd .C .sunarc{ width: 20rem; bottom: 30%; }
  .gd .C .hero-art figcaption{ right: auto; left: -2.5rem; }
  .gd .C .where ul{ grid-template-columns: repeat(4, 72%); overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: .5rem; }
  .gd .C .where li{ scroll-snap-align: start; }
  .gd .C .about,.gd .C .method-grid,.gd .C .faq-grid{ grid-template-columns: 1fr; }
  .gd .C .aside{ position: static; order: -1; }
  .gd .C .groups{ grid-template-columns: 1fr; gap: 2.5rem; }
}


/* One orchestrated entrance, starting from a visible resting state */
@keyframes gd-rise{from{opacity:.001;transform:translateY(14px)}to{opacity:1;transform:none}}
.gd .enter>*{animation:gd-rise .7s cubic-bezier(.2,.7,.2,1) backwards}
.gd .enter>*:nth-child(2){animation-delay:.08s}.gd .enter>*:nth-child(3){animation-delay:.16s}.gd .enter>*:nth-child(4){animation-delay:.24s}.gd .enter>*:nth-child(5){animation-delay:.32s}
@media (prefers-reduced-motion:reduce){.gd .enter>*{animation:none}.gd{transition:none}}

/* ================= Switcher bubble (own fixed palette) ================= */



























/* Skip link: hidden until keyboard focus */
.gd .skip{position:absolute;inset-inline-start:12px;top:-80px;z-index:100;padding:10px 16px;border-radius:var(--btn-radius);background:var(--accent);color:var(--on-accent);font-weight:600;text-decoration:none}
.gd .skip:focus{top:12px}
.gd main:focus{outline:none}
.gd footer.foot .legal{flex-basis:100%;margin:0;font-size:13px;line-height:1.6}
.gd .consent{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.5;color:var(--muted)}
.gd .consent input{flex:none;width:18px;height:18px;margin:2px 0 0;accent-color:var(--accent)}

/* Phone: section links in the opening section instead of the topic tag */
.gd .A .hero-links{display:none}
@media (max-width:860px){.gd .A .hero .tag{display:none}.gd .A .hero-links{display:grid;grid-template-columns:1fr 1fr;gap:8px}.gd .A .hero-links a{display:flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border-radius:var(--btn-radius);background:var(--surface);color:var(--accent);font-size:15px;font-weight:600;text-decoration:none}}
