/* Apple.com patterns — full-bleed heroes, promo tiles, snap carousels */
:root{
  --bg:#fff; --band:#f5f5f7; --text:#1d1d1f; --secondary:#6e6e73;
  --link:#0066cc; --btn:#0071e3; --border:#d2d2d7; --dark:#000;
  --ease:cubic-bezier(.2,.6,.2,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden;overflow-x:clip}
h1{font-size:clamp(44px,7vw,80px);line-height:1.02;letter-spacing:-.03em;font-weight:700;margin:0}
h2{font-size:clamp(32px,4.6vw,56px);line-height:1.05;letter-spacing:-.025em;font-weight:700;margin:0 0 10px}
h3{font-size:21px;letter-spacing:-.01em;margin:0 0 8px}
a{color:var(--link);text-decoration:none}
.wrap{max-width:1120px;margin:0 auto;padding:0 22px}
.narrow{max-width:820px}
.center{text-align:center}
figure{margin:0}img{max-width:100%;background:#e9eaf1}.img-gone{background:linear-gradient(180deg,#edeef3,#dcdfe8)!important}
.reveal{opacity:0;transform:translateY(26px) scale(.985);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal.visible{opacity:1;transform:none}
::selection{background:#0071e3;color:#fff}
section[id]{scroll-margin-top:60px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.course-card:focus-visible{outline:2px solid var(--btn);outline-offset:3px}
.btn:active,.pills button:active,.rail-btn:active,.tv-btn:active,.top-btn:active{transform:scale(.97)}
.rail,.tv-rail,.modal{overscroll-behavior:contain}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* nav */
.globalnav{position:sticky;top:0;z-index:100;background:rgba(251,251,253,.8);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(0,0,0,.08);transition:box-shadow .3s}
.globalnav.scrolled{box-shadow:0 4px 20px rgba(0,0,0,.1)}
.globalnav-inner{max-width:1120px;margin:0 auto;padding:0 22px;height:48px;display:flex;align-items:center;gap:26px;font-size:12px}
.globalnav-inner a{color:#424245;opacity:.85}
.globalnav-inner a:hover,.globalnav-inner a.active{opacity:1;color:#000;text-decoration:none}
.gn-logo img{height:30px;width:auto;display:block;object-fit:contain;border-radius:7px;background:transparent}
.gn-cta{margin-left:auto;background:var(--btn);color:#fff!important;padding:4px 14px;border-radius:980px}
.gn-menu{display:none;margin-left:auto;background:none;border:0;font-size:20px;cursor:pointer}
/* mobilenav retired in favor of the .navmenu overlay (see nav styles at end of file) */

/* full-bleed heroes */
.hero-full{position:relative;text-align:center;overflow:hidden;padding:88px 0 0}
.hero-full.dark{background:#000;color:#fff}
.hero-full.light{background:var(--band)}
.hero-full.white{background:#fff}
.hero-bg{position:absolute;inset:0;overflow:hidden}
.hero-bg img{width:100%;height:115%;object-fit:cover;opacity:.55;will-change:transform}
.hero-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,.25) 40%,rgba(0,0,0,.65) 100%)}
.hero-copy{position:relative;z-index:2;max-width:820px;margin:0 auto;padding:0 22px}
.hero-full.dark{min-height:92vh;display:flex;flex-direction:column;justify-content:center;padding:110px 0 70px}
.eyebrow{font-size:14px;font-weight:600;color:inherit;opacity:.8;margin:0 0 10px}
.eyebrow.light,.lede.light,.hero-contact.light,.link.light{color:#fff}
.lede{font-size:clamp(17px,2.4vw,24px);line-height:1.4;color:#424245;max-width:700px;margin:18px auto 0}
.dark .lede{color:#e8e8ed}
.kicker{color:var(--secondary);font-size:14px;font-weight:600;margin:0 0 8px}
.dark .kicker{color:#a1a1a6}
.sub{color:var(--secondary);font-size:clamp(16px,2.2vw,21px);margin:12px auto 0;max-width:680px}
.dark .sub{color:#c7c7cc}
.cta-row{display:flex;gap:26px;justify-content:center;align-items:center;margin-top:26px;flex-wrap:wrap}
.btn{display:inline-block;background:var(--btn);color:#fff;font-size:17px;padding:12px 30px;border-radius:980px;border:0;cursor:pointer;transition:transform .25s var(--ease),background .2s,box-shadow .25s}
.btn:hover{background:#0077ed;transform:scale(1.04);box-shadow:0 12px 32px rgba(0,113,227,.4);text-decoration:none;color:#fff}
.btn-full{width:100%}
.link{font-size:19px}
.hero-contact{margin-top:22px;font-size:14px;color:var(--secondary)}
.hero-contact a{color:inherit}
.scroll-hint{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);z-index:3;color:#fff;font-size:22px;opacity:.7;animation:bob 2s infinite}
@keyframes bob{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,8px)}}
.bleed{margin:48px 0 0}
.bleed img{width:100%;height:clamp(320px,58vw,620px);object-fit:cover;display:block}
.bleed.tall img{height:clamp(380px,62vw,680px)}

/* stats */
.stats{background:#fff;border-bottom:1px solid #e8e8ed}
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;padding:30px 22px;max-width:1120px;margin:0 auto}
.stats-grid div+div{border-left:1px solid #e8e8ed}
.stats-grid strong{display:block;font-size:clamp(28px,4vw,44px);font-variant-numeric:tabular-nums}
.stats-grid>div>span{color:var(--secondary);font-size:13px}

/* pathway cards */
.path-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:36px;text-align:left}
.path{background:#fff;border-radius:20px;padding:28px;box-shadow:0 8px 30px rgba(0,0,0,.06);transition:transform .35s var(--ease)}
.path:hover{transform:translateY(-6px) scale(1.01)}
.step{color:var(--secondary);font-size:12px;font-weight:700;letter-spacing:.08em;margin:0 0 8px}
.path p{color:#424245;font-size:15px}

/* promos — Apple 2-up tiles */
.promos{background:#fff;padding:24px 12px 12px}
.promo-head{padding:56px 22px 28px}
.promo-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tile{display:flex;flex-direction:column;background:var(--band);border-radius:0;overflow:hidden;color:var(--text);transition:transform .3s var(--ease)}
.tile:hover{text-decoration:none;transform:scale(.995)}
.tile.dark{background:#000;color:#fff}
.tile-copy{text-align:center;padding:44px 28px 20px}
.tile-copy h3{font-size:28px}
.tile-copy p{color:inherit;opacity:.75;font-size:15px;max-width:420px;margin:8px auto}
.tlink{color:var(--link);font-size:17px}
.tile.dark .tlink{color:#2997ff}
.tile-img{overflow:hidden;flex:1}
.tile-img img{width:100%;height:360px;object-fit:cover;display:block;transition:transform .8s var(--ease)}
.tile:hover .tile-img img{transform:scale(1.05)}

/* about */
.about{background:#fff;padding:90px 0}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:44px;align-items:stretch}
.about-img{margin:0;border-radius:22px;overflow:hidden;min-height:420px}
.about-img img{width:100%;height:100%;min-height:420px;object-fit:cover;display:block;transition:transform .8s var(--ease)}
.about-img:hover img{transform:scale(1.04)}
.card{background:#f5f5f7;border-radius:22px;padding:34px}
.card h3{font-size:22px}
.card ul{margin:12px 0 0;padding-left:20px;color:#424245;font-size:15px}
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px}
.mini{background:var(--band);border-radius:20px;padding:28px;transition:transform .3s var(--ease)}
.mini:hover{transform:translateY(-5px)}
.mini p{color:#424245;font-size:15px}

/* dark showcase */
.showcase{position:relative;background:#000;color:#fff;text-align:center;padding:120px 0;overflow:hidden}
.show-bg{position:absolute;inset:0}
.show-bg img{width:100%;height:120%;object-fit:cover;opacity:.5;will-change:transform}
.front{position:relative;z-index:2}
.sub.light{color:#d6d6dc}

/* courses rail — Apple TV style */
.courses{background:var(--band);padding:90px 0 30px}
.sticky-bar{position:sticky;top:48px;z-index:50;background:rgba(245,245,247,.85);backdrop-filter:blur(16px);padding:14px 0;border-top:1px solid rgba(0,0,0,.06);border-bottom:1px solid rgba(0,0,0,.06)}
.pills{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.pills button{border:1px solid var(--border);background:#fff;border-radius:980px;padding:8px 18px;font-size:14px;cursor:pointer;transition:all .25s var(--ease)}
.pills button.active{background:#1d1d1f;color:#fff;border-color:#1d1d1f}
.searchbar{display:flex;justify-content:center;margin-top:10px}
.searchbar input{width:min(480px,100%);border:1px solid var(--border);border-radius:12px;padding:11px 16px;font-size:16px;font-family:inherit}
.rail-wrap{position:relative;margin-top:26px}
.rail{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:10px 22px 20px;padding:10px max(22px,calc((100vw - 1120px)/2 + 22px)) 20px;scroll-behavior:smooth;scrollbar-width:none}
.rail::-webkit-scrollbar{display:none}
.course-card{flex:0 0 min(80vw,340px);background:#fff;border-radius:20px;overflow:hidden;scroll-snap-align:center;cursor:pointer;box-shadow:0 10px 34px rgba(0,0,0,.1);transition:transform .35s var(--ease)}
.course-card:hover{transform:scale(1.03)}
.course-card img{width:100%;height:200px;object-fit:cover;display:block}
.course-body{padding:20px 22px 24px}
.course-tag{font-size:12px;font-weight:700;color:#6e6e73;margin:0;text-transform:uppercase;letter-spacing:.04em}
.course-body h3{font-size:20px;margin:8px 0}
.course-body p{font-size:14px;color:#424245}
.course-skills{font-size:12px;color:#6e6e73}
.rail-btn,.tv-btn{position:absolute;top:40%;width:48px;height:48px;border-radius:50%;border:0;background:rgba(255,255,255,.92);font-size:26px;cursor:pointer;z-index:5;box-shadow:0 8px 24px rgba(0,0,0,.18);transition:transform .2s;color:#1d1d1f}
.rail-btn:hover,.tv-btn:hover{transform:scale(1.08)}
.rail-btn.left,.tv-btn.left{left:14px}.rail-btn.right,.tv-btn.right{right:14px}
.tv-wrap{position:relative}
.progress{position:relative;height:4px;background:#e0e0e6;border-radius:99px;max-width:220px;margin:8px auto 0;overflow:hidden}
.progress span{position:absolute;top:0;bottom:0;left:0;width:20%;background:#1d1d1f;border-radius:99px}
.count{text-align:center;color:var(--secondary);font-size:13px}
.dots{display:flex;gap:8px;justify-content:center;padding:14px}
.dots span{width:8px;height:8px;border-radius:50%;background:#c7c7cc;cursor:pointer;transition:all .3s}
.dots span.active{background:#1d1d1f;transform:scale(1.25)}

/* tv gallery */
.tv{background:#fff;padding:80px 0}
.tv-rail{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:26px 22px;padding:26px max(22px,calc((100vw - 1120px)/2 + 22px));scrollbar-width:none}
.tv-rail::-webkit-scrollbar{display:none}
.tv-rail figure{position:relative;flex:0 0 min(82vw,560px);margin:0;border-radius:20px;overflow:hidden;scroll-snap-align:center}
.tv-rail img{width:100%;height:340px;object-fit:cover;display:block;transition:transform .7s var(--ease)}
.tv-rail figure:hover img{transform:scale(1.05)}
.tv-rail figcaption{position:absolute;left:20px;bottom:16px;color:#fff;font-weight:700;font-size:19px;text-shadow:0 2px 12px rgba(0,0,0,.6)}

/* placement */
.placement{background:var(--band);padding:90px 0}
.quote-band{margin:40px 0 0;display:grid;grid-template-columns:1fr 1fr;background:#fff;border-radius:24px;overflow:hidden}
.quote-band img{width:100%;height:100%;min-height:320px;object-fit:cover}
.quote-band blockquote{margin:0;padding:48px}
.quote{font-size:clamp(20px,2.6vw,28px);line-height:1.35}
.who{color:var(--secondary)}
.card a{overflow-wrap:anywhere}
.contact .card{padding:28px}
.map-frame{margin:28px 0 0;border-radius:20px;overflow:hidden;box-shadow:0 12px 40px rgba(0,0,0,.1)}
.map-frame iframe{width:100%;height:340px;border:0;display:block}

/* contact */
.contact{background:#fff;padding:90px 0}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:20px;margin-top:40px}
.stack{display:grid;gap:16px;align-content:start}
.form label{display:block;font-size:14px;font-weight:600;margin:14px 0 0}
.form input,.form select,.form textarea{margin-top:6px;width:100%;border:1px solid var(--border);border-radius:12px;padding:12px;font-size:16px;font-family:inherit}
.form textarea{resize:vertical}
.note{font-size:14px;color:var(--secondary);min-height:20px}

/* modal */
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;padding:20px;z-index:200}
.modal-backdrop.open{display:flex}
.modal{background:#fff;border-radius:22px;max-width:540px;width:100%;max-height:90vh;overflow:auto;padding-bottom:24px;position:relative}
.modal img{width:100%;height:250px;object-fit:cover;border-radius:22px 22px 0 0}
.modal .course-tag,.modal h3,.modal p,.modal .btn{margin-left:24px;margin-right:24px}
.modal .course-tag{margin-top:18px}
.modal-close{position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:50%;border:0;background:rgba(255,255,255,.92);cursor:pointer}
#modalEnroll{width:calc(100% - 48px)}

/* footer */
.footer{background:var(--band);font-size:12px;color:#6e6e73;padding:30px 0 20px;border-top:1px solid var(--border)}
.foot-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr 1fr;gap:24px}
.foot-logo{width:150px;max-width:65%;border-radius:10px;background:transparent}
.footer h4{font-size:12px;color:#1d1d1f;margin:14px 0 8px}
.footer a{display:block;color:#424245;margin:5px 0}
.legal{border-top:1px solid var(--border);margin-top:22px;padding-top:12px}
.legal a{display:inline}
.top-btn{position:fixed;right:18px;bottom:86px;width:46px;height:46px;border-radius:50%;border:0;background:rgba(29,29,31,.9);color:#fff;font-size:18px;cursor:pointer;display:none;z-index:150}
.top-btn.show{display:block}

/* WhatsApp floating chat */
.wa-fab{position:fixed;right:18px;bottom:18px;width:58px;height:58px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 30px rgba(37,211,102,.45);z-index:160;transition:transform .25s var(--ease)}
.wa-fab:hover{transform:scale(1.08)}
.wa-fab::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid rgba(37,211,102,.5);animation:wa-ping 2.4s ease-out infinite}
@keyframes wa-ping{0%{transform:scale(.85);opacity:1}70%,100%{transform:scale(1.15);opacity:0}}
@media(prefers-reduced-motion:reduce){.wa-fab::after{display:none}}

/* subpage hero */
.page-hero{text-align:center;padding:96px 22px 72px;background:var(--band)}
.page-hero h1{font-size:clamp(36px,5.5vw,58px);margin:10px 0}
.page-hero .sub{margin-left:auto;margin-right:auto}

/* flagship course bento */
.flagship{background:#fff;padding:90px 0}
.bento{display:grid;grid-template-columns:1.45fr 1fr;gap:16px;margin-top:44px;align-items:stretch}
.bento-main{position:relative;margin:0;border-radius:24px;overflow:hidden;min-height:440px;box-shadow:0 20px 60px rgba(0,0,0,.12)}
.bento-main img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.bento-main:hover img{transform:scale(1.05)}
.bento-main figcaption{position:absolute;left:18px;bottom:18px}
.bento-main figcaption span{display:inline-block;background:rgba(0,0,0,.62);color:#fff;font-size:13px;font-weight:600;padding:9px 16px;border-radius:980px;backdrop-filter:blur(8px)}
.stack-card{background:var(--band);border-radius:24px;padding:34px}
.stack-card ul{list-style:none;margin:16px 0 0;padding:0}
.stack-card li{padding:11px 0;border-bottom:1px solid var(--border);font-size:15px;font-weight:600}
.stack-card li:last-of-type{border-bottom:0}
.stack-card .fine{color:var(--secondary);font-size:13px;margin-top:14px}

/* services index rows */
.services{background:var(--band);padding:90px 0}
.svc-list{margin-top:40px;border-top:1px solid var(--border)}
.svc-row{display:flex;gap:24px;align-items:center;padding:30px 14px;border-bottom:1px solid var(--border);color:var(--text);transition:background .3s var(--ease)}
.svc-row:hover{text-decoration:none;background:#fff}
.svc-row h3{font-size:clamp(22px,3vw,30px)}
.svc-row p{color:var(--secondary);font-size:15px;margin:6px 0 0;max-width:640px}
.svc-no{font-size:14px;font-weight:700;color:var(--secondary);min-width:34px}
.svc-row>div{min-width:0}
.svc-arrow{margin-left:auto;font-size:34px;color:var(--secondary);transition:transform .3s var(--ease),color .3s}
.svc-row:hover .svc-arrow{transform:translateX(8px);color:var(--link)}

/* training modes on gray */
.promos.modes{background:var(--band)}
.modes .tile{background:#fff}

@media(max-width:900px){
  .bento{grid-template-columns:1fr}
  .bento-main{min-height:0;height:300px}
  .svc-row{padding:24px 6px;gap:16px}
}
@media(max-width:600px){
  .flagship,.services{padding:60px 0}
  .bento{margin-top:30px}
  .bento-main{height:260px}
  .stack-card{padding:26px}
  .svc-list{margin-top:28px}
  .svc-arrow{font-size:28px}
}

@media(max-width:900px){
  .promo-grid,.about-grid,.trio,.contact-grid,.quote-band{grid-template-columns:1fr}
  .path-cards{grid-template-columns:1fr}
  .globalnav-inner{gap:0}
  .globalnav-inner a{display:none}
  .globalnav-inner .gn-logo,.globalnav-inner .gn-menu{display:block}
  .globalnav-inner .gn-menu{margin-left:0}
  .gn-links,.gn-cta,.gn-phone{display:none}
  .tile-img img{height:260px}
  .hero-full.dark{min-height:88vh}
  .rail-btn,.tv-btn{display:none}
  .foot-grid{grid-template-columns:1fr 1fr}
  .bleed img{height:300px}
  .tv-rail img{height:240px}
  .quote-band img{min-height:0;height:260px}
  .about-img,.about-img img{min-height:0;height:300px}
}

@media(max-width:600px){
  body{font-size:16px}
  h1{font-size:clamp(34px,11vw,44px)}
  h2{font-size:clamp(26px,8vw,32px)}
  .hero-full{padding:64px 0 0}
  .hero-full.dark{padding:88px 0 56px;min-height:86vh}
  .lede{font-size:17px}
  .sub{font-size:16px}
  .cta-row{gap:14px}
  .cta-row .btn{width:100%;max-width:340px;font-size:16px}
  .stats-grid{padding:22px 12px}
  .stats-grid strong{font-size:22px}
  .stats-grid span{font-size:11px}
  .path-cards{gap:12px;margin-top:26px}
  .path{padding:22px}
  .promos{padding:16px 8px 8px}
  .promo-head{padding:40px 22px 20px}
  .tile-copy{padding:32px 22px 16px}
  .tile-copy h3{font-size:23px}
  .tile-copy p{font-size:14px}
  .tile-img img{height:220px}
  .about,.placement,.contact{padding:60px 0}
  .courses{padding:60px 0 24px}
  .tv{padding:56px 0}
  .showcase{padding:80px 0}
  .card{padding:24px}
  .mini{padding:22px}
  .quote-band blockquote{padding:28px 24px}
  .quote{font-size:19px}
  .contact-grid,.about-grid{margin-top:28px}
  .foot-grid{grid-template-columns:1fr;gap:18px}
  .pills{gap:6px}
  .pills button{font-size:13px;padding:8px 14px}
  .course-card{flex-basis:82vw}
  .tv-rail img{height:240px}
  .bleed img{height:240px}
  .modal img{height:180px}
  .map-frame iframe{height:260px}
  .top-btn{right:14px;bottom:82px}
  .wa-fab{right:14px;bottom:14px;width:54px;height:54px}
}

/* ---- Apple-style nav: mega dropdowns, search, mobile menu ---- */
.gn-links{display:flex;align-items:center;gap:26px;position:absolute;left:50%;transform:translateX(-50%)}
.gn-link{font-size:12px;color:#424245;opacity:.85;padding:16px 0;white-space:nowrap}
.gn-link:hover,.gn-link.active{opacity:1;color:#000;text-decoration:none}
.gn-item{position:static}
.gn-drop{position:absolute;top:100%;left:0;right:0;background:rgba(251,251,253,.96);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(0,0,0,.08);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .3s var(--ease),transform .3s var(--ease),visibility .3s}
.gn-item.open .gn-drop{opacity:1;visibility:visible;transform:none}
.gn-item:focus-within .gn-drop{opacity:1;visibility:visible;transform:none}
.gn-drop-inner{max-width:1024px;margin:0 auto;padding:32px 22px 42px;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:28px;text-align:left}
.gn-col p{font-size:12px;color:#6e6e73;margin:0 0 8px}
.gn-col a{display:block;color:#1d1d1f;margin:7px 0;font-size:14px}
.gn-col a:hover{color:var(--link);text-decoration:none}
.gn-col-big a{font-size:23px;font-weight:600;letter-spacing:-.01em;margin:10px 0}
.gn-icons{margin-left:auto;display:flex;align-items:center;gap:2px}
.gn-icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:0;background:none;color:#424245;cursor:pointer;border-radius:50%}
.gn-icon:hover{color:#000}
.gn-cta{margin-left:10px}
.gn-menu{position:relative;width:34px;height:34px;display:none;margin-left:6px;background:none;border:0;cursor:pointer}
.gn-menu span{position:absolute;left:8px;right:8px;height:1.6px;background:#1d1d1f;transition:top .3s var(--ease),transform .3s var(--ease)}
.gn-menu span:first-child{top:12px}
.gn-menu span:last-child{top:20px}
.gn-menu.open span:first-child{top:16px;transform:rotate(45deg)}
.gn-menu.open span:last-child{top:16px;transform:rotate(-45deg)}
.gn-search{position:absolute;top:100%;left:0;right:0;background:rgba(251,251,253,.97);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(0,0,0,.08);padding:24px 0 28px;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .3s var(--ease),transform .3s var(--ease),visibility .3s}
.gn-search.open{opacity:1;visibility:visible;transform:none}
.gn-search input{width:100%;border:0;background:none;font-size:clamp(19px,3vw,26px);font-weight:600;outline:none;color:#1d1d1f;font-family:inherit;padding:0}
.gn-quick{margin-top:14px;font-size:13px;color:#6e6e73;display:flex;gap:6px 16px;flex-wrap:wrap;align-items:center}
.gn-quick a{color:#424245}
.navmenu{position:fixed;inset:0;background:#fbfbfd;z-index:90;padding:72px 32px 32px;display:flex;flex-direction:column;gap:4px;opacity:0;visibility:hidden;transform:translateY(-12px);transition:opacity .35s var(--ease),transform .35s var(--ease),visibility .35s;overflow:auto}
.navmenu.open{opacity:1;visibility:visible;transform:none}
.navmenu-links a{display:block;font-size:30px;font-weight:700;color:#1d1d1f;padding:7px 0;letter-spacing:-.02em}
.navmenu-links a:hover{text-decoration:none;color:var(--link)}
.navmenu-sub{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.navmenu-sub a{border:1px solid var(--border);border-radius:980px;padding:8px 16px;font-size:14px;color:#1d1d1f;background:#fff}
.navmenu-foot{margin-top:auto;padding-top:28px;display:grid;gap:14px}
.navmenu-foot>a:first-child{font-size:17px;font-weight:600}
.navmenu-foot .btn{text-align:center}
