@font-face{font-family:Tajawal;src:url('/fonts/tajawal/Tajawal-Regular.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Tajawal;src:url('/fonts/tajawal/Tajawal-Bold.woff') format('woff');font-weight:700;font-style:normal;font-display:swap}
:root{--navy-950:#071b2e;--navy-900:#0a233c;--navy-850:#0d2b49;--navy-800:#12395d;--gold:#d4aa52;--gold-light:#e3bd70;--bg:#f7f9fb;--surface:#fff;--text:#12273f;--muted:#788595;--line:rgba(18,39,63,.10);--shadow:0 22px 65px rgba(9,34,58,.10);--r-xl:32px;--r-lg:22px;--r-md:16px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;min-width:320px;overflow-x:hidden;background:linear-gradient(180deg,#fff 0%,#f8fafc 100%);color:var(--text);font-family:Tajawal,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;text-rendering:optimizeLegibility}a,button,input,select,textarea{font:inherit}img,svg{display:block}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}::selection{background:rgba(212,170,82,.25);color:var(--navy-950)}
.tk-site-shell{width:min(1180px,calc(100% - 40px));margin-inline:auto}.tk-site-progress{position:fixed;inset:0 0 auto;z-index:10000;height:3px;pointer-events:none}.tk-site-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--gold),#f4d895);box-shadow:0 0 16px rgba(212,170,82,.45)}.tk-cursor-glow{position:fixed;left:var(--cursor-x,-999px);top:var(--cursor-y,-999px);z-index:20;width:360px;height:360px;margin:0;border-radius:50%;pointer-events:none;opacity:0;background:radial-gradient(circle,rgba(212,170,82,.08),rgba(212,170,82,.025) 38%,transparent 72%);transform:translate3d(-50%,-50%,0);transition:opacity .25s ease;will-change:left,top}
.tk-site-header{position:fixed;inset:0 0 auto;z-index:999;background:rgba(255,255,255,.92);border-bottom:1px solid transparent;backdrop-filter:blur(16px) saturate(135%);-webkit-backdrop-filter:blur(16px) saturate(135%);transition:.3s}.tk-site-header.is-scrolled{background:rgba(255,255,255,.97);border-bottom-color:rgba(18,39,63,.08);box-shadow:0 12px 35px rgba(8,29,50,.08)}.tk-site-header__inner{min-height:78px;display:flex;align-items:center;gap:1.4rem}.tk-site-brand{flex:0 0 auto}.tk-site-brand img{width:auto;max-width:205px;height:62px;object-fit:contain}.tk-site-nav{display:flex;align-items:center;gap:1.25rem;margin-inline-start:auto}.tk-site-nav a{position:relative;padding:27px 0 22px;color:#243a51;font-size:1.13rem;font-weight:500;text-decoration:none;transition:color .25s}.tk-site-nav a:after{content:"";position:absolute;inset-inline-start:50%;bottom:17px;width:0;height:2px;border-radius:99px;background:var(--gold);transform:translateX(50%);transition:width .25s}.tk-site-nav a:hover,.tk-site-nav a.is-active{color:#ae7c20}.tk-site-nav a:hover:after,.tk-site-nav a.is-active:after{width:28px}.tk-site-header__actions{display:flex;align-items:center;gap:.65rem}.tk-site-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:44px;padding:.7rem 1rem;overflow:hidden;border:1px solid transparent;border-radius:12px;text-decoration:none;font-weight:700;cursor:pointer;isolation:isolate;transition:transform .25s,box-shadow .25s,border-color .25s,background .25s}.tk-site-btn:before{content:"";position:absolute;inset:0;z-index:-1;opacity:0;background:linear-gradient(115deg,transparent 15%,rgba(255,255,255,.28) 45%,transparent 70%);transform:translateX(120%);transition:transform .6s,opacity .3s}.tk-site-btn:hover:before{opacity:1;transform:translateX(-120%)}.tk-site-btn:hover{transform:translateY(-2px)}.tk-site-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.tk-site-btn--gold{background:linear-gradient(135deg,var(--gold-light),var(--gold));color:var(--navy-950);box-shadow:0 10px 28px rgba(212,170,82,.22)}.tk-site-btn--gold:hover{box-shadow:0 15px 34px rgba(212,170,82,.30)}.tk-site-btn--outline{border-color:rgba(13,43,73,.26);background:#fff;color:var(--navy-850)}.tk-site-btn--dark-outline{border-color:rgba(255,255,255,.34);background:rgba(255,255,255,.04);color:#fff}.tk-site-btn--large{min-height:50px;padding:.8rem 1.25rem}.tk-site-menu-toggle{display:none;width:44px;height:44px;margin-inline-start:auto;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer}.tk-site-menu-toggle span{display:block;width:18px;height:2px;margin:4px auto;border-radius:99px;background:var(--navy-850);transition:.25s}.tk-site-menu-toggle.is-open span:nth-child(1){transform:translateY(6px) rotate(45deg)}.tk-site-menu-toggle.is-open span:nth-child(2){opacity:0}.tk-site-menu-toggle.is-open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.tk-site-mobile-nav{display:none;max-height:0;overflow:hidden;border-top:1px solid transparent;background:rgba(255,255,255,.98);transition:max-height .35s,border-color .35s}.tk-site-mobile-nav.is-open{max-height:520px;border-top-color:rgba(18,39,63,.08)}.tk-site-mobile-nav .tk-site-shell{display:grid;gap:.25rem;padding:.8rem 0 1rem}.tk-site-mobile-nav a{padding:.75rem .8rem;border-radius:10px;color:var(--text);text-decoration:none}.tk-site-mobile-nav a:hover{background:rgba(212,170,82,.08)}.tk-site-mobile-nav a.is-cta{background:var(--gold);color:var(--navy-950);font-weight:700}
.tk-home-hero{position:relative;min-height:720px;padding:132px 0 95px;overflow:hidden;background:radial-gradient(circle at 88% 35%,rgba(212,170,82,.13),transparent 24%),radial-gradient(circle at 7% 15%,rgba(255,255,255,.08),transparent 22%),linear-gradient(128deg,#071d32 0%,#0d2d4e 58%,#123e65 100%)}.tk-home-hero:before{content:"";position:absolute;inset-inline-end:-230px;top:-160px;width:620px;height:620px;border:3px solid rgba(212,170,82,.20);border-radius:50%}.tk-home-hero:after{content:"";position:absolute;inset-inline-end:-360px;bottom:-440px;width:860px;height:860px;border:2px solid rgba(212,170,82,.16);border-radius:50%}.tk-home-hero__ambient span{position:absolute;border-radius:50%;background:rgba(212,170,82,.85);box-shadow:0 0 0 7px rgba(212,170,82,.08);animation:tk-pulse 4.5s ease-in-out infinite}.tk-home-hero__ambient .is-one{inset-inline-end:12%;top:28%;width:8px;height:8px}.tk-home-hero__ambient .is-two{inset-inline-end:36%;top:17%;width:5px;height:5px;animation-delay:-1.6s}.tk-home-hero__ambient .is-three{inset-inline-start:7%;bottom:28%;width:6px;height:6px;animation-delay:-3.2s}.tk-home-hero__grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(430px,.95fr);align-items:center;gap:4rem}.tk-home-hero__copy{color:#fff}.tk-eyebrow{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:.85rem;color:var(--gold-light);font-size:.88rem;font-weight:700}.tk-eyebrow:before{content:"";width:28px;height:2px;border-radius:99px;background:currentColor}.tk-home-hero h1{max-width:790px;margin:0;font-size:clamp(2.18rem,3.45vw,3.1rem);line-height:1.26;letter-spacing:-.02em}.tk-home-hero h1 span,.tk-home-hero h1 strong{display:block;white-space:nowrap}.tk-home-hero h1 strong{color:var(--gold-light)}.tk-home-hero__copy>p{max-width:650px;margin:1.25rem 0 0;color:rgba(255,255,255,.76);font-size:1.06rem;line-height:1.95}.tk-home-hero__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.6rem}.tk-home-hero__login-note{display:flex;align-items:center;gap:.45rem;margin-top:1rem;color:rgba(255,255,255,.60);font-size:.82rem}.tk-home-hero__login-note svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7}.tk-home-hero__login-note a{color:var(--gold-light);text-decoration:none}.tk-home-hero__slogan{display:flex;align-items:center;gap:.7rem;margin-top:2.2rem;color:rgba(255,255,255,.72);font-size:.9rem}.tk-home-hero__slogan span{width:42px;height:2px;border-radius:99px;background:linear-gradient(90deg,var(--gold),transparent)}.tk-home-hero__visual{position:relative;min-height:470px;perspective:1200px}.tk-home-hero__visual-card{position:absolute;inset:28px 12px 24px 18px;overflow:hidden;border:1px solid rgba(255,255,255,.26);border-radius:34px;background:rgba(255,255,255,.08);box-shadow:0 38px 90px rgba(0,0,0,.32);transform:rotateY(-5deg) rotateX(2deg);animation:tk-float-main 8s ease-in-out infinite;backdrop-filter:blur(8px)}.tk-home-hero__visual-card:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,255,255,.14),transparent 30%,transparent 70%,rgba(212,170,82,.08));pointer-events:none}.tk-home-hero__visual-card img{width:100%;height:100%;object-fit:cover;transform:scale(1.03)}.tk-float-card{position:absolute;z-index:4;display:flex;align-items:center;gap:.7rem;min-width:180px;padding:.8rem .95rem;border:1px solid rgba(255,255,255,.25);border-radius:16px;background:rgba(255,255,255,.92);color:var(--navy-850);box-shadow:0 20px 55px rgba(0,0,0,.20);backdrop-filter:blur(14px);animation:tk-float-card 6s ease-in-out infinite}.tk-float-card strong,.tk-float-card span{display:block}.tk-float-card strong{font-size:.85rem}.tk-float-card span{margin-top:.2rem;color:var(--muted);font-size:.72rem}.tk-float-card--top{inset-inline-start:-30px;top:34px}.tk-float-card--bottom{inset-inline-end:-28px;bottom:54px;animation-delay:-2.8s}.tk-float-card__icon{display:grid!important;place-items:center;width:32px;height:32px;flex:0 0 32px;border-radius:50%;background:rgba(212,170,82,.16);color:#a77720!important;font-weight:700}.tk-orbit{position:absolute;z-index:0;border:1px solid rgba(212,170,82,.20);border-radius:50%;pointer-events:none;animation:tk-orbit 18s linear infinite}.tk-orbit:after{content:"";position:absolute;top:50%;inset-inline-end:-5px;width:9px;height:9px;border-radius:50%;background:var(--gold-light);box-shadow:0 0 20px rgba(212,170,82,.8)}.tk-orbit--one{inset:-20px -60px 40px 100px}.tk-orbit--two{inset:70px 50px -20px -70px;animation-direction:reverse;animation-duration:24s}.tk-home-hero__wave{position:absolute;inset:auto 0 -1px;z-index:3;width:100%;height:95px}
.tk-home-section{position:relative;padding:88px 0}.tk-section-heading{max-width:720px;margin:0 auto 2.2rem;text-align:center}.tk-section-heading>span{color:#b27f27;font-size:.84rem;font-weight:700}.tk-section-heading h2{margin:.45rem 0 .65rem;color:var(--navy-850);font-size:clamp(1.75rem,3vw,2.6rem);line-height:1.35}.tk-section-heading p{margin:0;color:var(--muted);line-height:1.85}.tk-role-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.tk-glow-card{--mx:50%;--my:50%;position:relative;overflow:hidden;isolation:isolate}.tk-glow-card:before{content:"";position:absolute;inset:0;z-index:-1;opacity:0;background:radial-gradient(240px circle at var(--mx) var(--my),rgba(212,170,82,.13),transparent 65%);transition:opacity .25s}.tk-glow-card:hover:before{opacity:1}.tk-role-card,.tk-feature-card,.tk-info-card,.tk-news-card{border:1px solid var(--line);background:#fff;box-shadow:0 16px 42px rgba(9,34,58,.06);transition:box-shadow .3s,border-color .3s}.tk-role-card{min-height:270px;padding:1.35rem;border-radius:var(--r-lg);transform-style:preserve-3d}.tk-role-card:hover,.tk-feature-card:hover,.tk-info-card:hover,.tk-news-card:hover{border-color:rgba(212,170,82,.28);box-shadow:0 23px 60px rgba(9,34,58,.11)}.tk-role-card__icon,.tk-feature-card__icon,.tk-info-card__icon{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:linear-gradient(135deg,rgba(212,170,82,.18),rgba(212,170,82,.06));color:#9f711c;box-shadow:0 14px 30px rgba(212,170,82,.12)}.tk-role-card__icon svg,.tk-feature-card__icon svg,.tk-info-card__icon svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.tk-role-card h3,.tk-feature-card h3,.tk-info-card h3{color:var(--navy-850)}.tk-role-card h3{margin:1rem 0 .55rem}.tk-role-card p,.tk-feature-card p,.tk-info-card p{margin:0;color:var(--muted);line-height:1.8;font-size:.9rem}.tk-role-card a,.tk-info-card a,.tk-info-card>span{display:inline-flex;margin-top:1rem;color:#ad7b21;font-size:.82rem;font-weight:700;text-decoration:none}
.tk-home-features{background:linear-gradient(180deg,#f7f9fc 0%,#fff 100%)}.tk-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.tk-feature-card{min-height:215px;padding:1.25rem;border-radius:var(--r-lg)}.tk-feature-card h3{margin:1rem 0 .45rem;font-size:1.02rem}.tk-feature-card p{font-size:.88rem}
.tk-home-about{overflow:hidden}.tk-home-about:before{content:"";position:absolute;inset-inline-end:-160px;top:5%;width:420px;height:420px;border:1px solid rgba(212,170,82,.16);border-radius:50%}.tk-about-panel{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,.95fr);align-items:center;gap:3rem;overflow:hidden;padding:2.3rem;border:1px solid rgba(18,39,63,.08);border-radius:32px;background:linear-gradient(135deg,#fff 0%,#f7f9fc 100%);box-shadow:var(--shadow)}.tk-about-panel:after{content:"";position:absolute;inset-inline-start:-150px;bottom:-230px;width:420px;height:420px;border:2px solid rgba(212,170,82,.18);border-radius:50%}.tk-about-panel__copy,.tk-about-panel__visual{position:relative;z-index:2}.tk-about-panel__copy h2{max-width:650px;margin:0 0 1rem;color:var(--navy-850);font-size:clamp(1.67rem,2.64vw,2.38rem);line-height:1.28}.tk-about-panel__copy h2 *{font-size:inherit!important;line-height:inherit!important;font-weight:inherit!important}.tk-about-panel__copy p{max-width:610px;margin:0 0 .8rem;color:var(--muted);line-height:1.95}.tk-about-panel__copy .tk-site-btn{margin-top:.7rem}.tk-about-panel__visual{min-height:360px}.tk-about-panel__visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:1px solid rgba(18,39,63,.08);border-radius:24px;box-shadow:0 24px 60px rgba(9,34,58,.14)}.tk-about-panel__quote{position:absolute;inset-inline-end:-18px;bottom:-18px;max-width:230px;padding:.9rem 1rem;border:1px solid rgba(212,170,82,.24);border-radius:16px;background:rgba(255,255,255,.95);box-shadow:0 18px 48px rgba(9,34,58,.14)}.tk-about-panel__quote strong,.tk-about-panel__quote span{display:block}.tk-about-panel__quote strong{color:var(--navy-850)}.tk-about-panel__quote span{margin-top:.25rem;color:var(--muted);font-size:.75rem;line-height:1.7}
.tk-public-info{background:linear-gradient(180deg,#fff 0%,#f8fafc 100%)}.tk-public-info__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.tk-info-card{padding:1.25rem;border-radius:var(--r-lg)}.tk-info-card h3{margin:.9rem 0 .45rem}.tk-info-card p{font-size:.86rem}.tk-section-heading--with-link{max-width:none;display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;text-align:start}.tk-section-heading--with-link>div{max-width:680px}.tk-section-heading__future-link{color:#b0b7c0!important;font-size:.76rem!important;font-weight:400!important}
.tk-news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.tk-news-card{overflow:hidden;border-radius:var(--r-lg)}.tk-news-card__image{height:190px;overflow:hidden;background:#e9eef3}.tk-news-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .55s}.tk-news-card:hover .tk-news-card__image img{transform:scale(1.045)}.tk-news-card__body{padding:1rem 1.1rem 1.15rem}.tk-news-card time{color:#ad7c25;font-size:.75rem}.tk-news-card h3{margin:.45rem 0;color:var(--navy-850);font-size:1.02rem;line-height:1.6}.tk-news-card p{margin:0;color:var(--muted);font-size:.84rem;line-height:1.75}.tk-news-card__body>span{display:inline-flex;margin-top:.8rem;color:#ab7922;font-size:.8rem;font-weight:700}
.tk-home-contact{padding-bottom:110px}.tk-contact-panel{display:grid;grid-template-columns:minmax(320px,.78fr) minmax(0,1.22fr);overflow:hidden;border:1px solid rgba(18,39,63,.08);border-radius:32px;background:#fff;box-shadow:var(--shadow)}.tk-contact-panel__info{position:relative;min-height:520px;overflow:hidden;background:linear-gradient(145deg,#08233c,#10395d);color:#fff}.tk-contact-panel__image{position:absolute;inset:0;opacity:.23}.tk-contact-panel__image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,27,46,.10),rgba(7,27,46,.92))}.tk-contact-panel__image img{width:100%;height:100%;object-fit:cover}.tk-contact-panel__content{position:relative;z-index:2;display:flex;min-height:100%;flex-direction:column;justify-content:flex-end;padding:2rem}.tk-contact-panel__badge{width:fit-content;padding:.4rem .65rem;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.08);color:var(--gold-light);font-size:.76rem;font-weight:700}.tk-contact-panel__content h2{margin:.75rem 0 .55rem;font-size:2rem}.tk-contact-panel__content>p{margin:0;color:rgba(255,255,255,.72);line-height:1.9}.tk-contact-list{display:grid;gap:.55rem;margin-top:1.2rem}.tk-contact-list a,.tk-contact-list div{display:grid;gap:.12rem;padding:.7rem .8rem;border:1px solid rgba(255,255,255,.10);border-radius:12px;background:rgba(255,255,255,.055);color:#fff;text-decoration:none}.tk-contact-list span{color:rgba(255,255,255,.52);font-size:.72rem}.tk-contact-list strong{font-size:.85rem;font-weight:500}.tk-contact-panel__form{padding:2rem}.tk-contact-panel__form-head>span{color:#aa7923;font-size:.78rem;font-weight:700}.tk-contact-panel__form-head h2{margin:.25rem 0 1.2rem;color:var(--navy-850);font-size:1.75rem}.tk-public-contact-form{display:grid;gap:1rem}.tk-public-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.tk-public-form-grid label{display:grid;gap:.35rem}.tk-public-form-grid label.is-full{grid-column:1/-1}.tk-public-form-grid label>span{color:#6d7987;font-size:.8rem;font-weight:700;line-height:1.45}.tk-public-form-grid input,.tk-public-form-grid select,.tk-public-form-grid textarea{width:100%;border:1px solid rgba(18,39,63,.12);border-radius:12px;background:#fbfcfe;color:#102f4c;font-size:1rem;font-weight:600;outline:none;transition:border-color .2s,box-shadow .2s,background .2s}.tk-public-form-grid input,.tk-public-form-grid select{min-height:46px;padding:.72rem .8rem}.tk-public-form-grid textarea{resize:vertical;min-height:126px;padding:.8rem}.tk-public-form-grid input:focus,.tk-public-form-grid select:focus,.tk-public-form-grid textarea:focus{border-color:rgba(212,170,82,.78);background:#fff;box-shadow:0 0 0 3px rgba(212,170,82,.10)}.tk-honeypot{position:absolute!important;inset-inline-start:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}.tk-public-alert{margin-bottom:1rem;padding:.8rem .9rem;border-radius:12px;font-size:.84rem;line-height:1.7}.tk-public-alert.is-success{border:1px solid rgba(22,163,74,.20);background:rgba(22,163,74,.08);color:#15803d}.tk-public-alert.is-error{border:1px solid rgba(185,28,28,.20);background:rgba(185,28,28,.07);color:#b91c1c}
.tk-site-footer{position:relative;overflow:hidden;padding:82px 0 24px;background:linear-gradient(135deg,#061a2c,#0d2f50);color:rgba(255,255,255,.72)}.tk-site-footer__curve{position:absolute;inset:-180px -10% auto;height:220px;border-bottom:2px solid rgba(212,170,82,.58);border-radius:0 0 50% 50%;pointer-events:none}.tk-site-footer__grid{position:relative;z-index:2;display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:2rem}.tk-site-footer__brand img{width:auto;height:87px;max-width:260px;object-fit:contain}.tk-site-footer__brand p{max-width:360px;margin:.8rem 0 0;color:rgba(255,255,255,.58);line-height:1.8;font-size:.86rem}.tk-site-footer h3{margin:0 0 .7rem;color:#fff;font-size:.95rem}.tk-site-footer__grid>div:not(:first-child){display:flex;flex-direction:column;align-items:flex-start}.tk-site-footer a{margin:.25rem 0;color:rgba(255,255,255,.62);font-size:.82rem;text-decoration:none;transition:.2s}.tk-site-footer a:hover{color:var(--gold-light);transform:translateX(-3px)}.tk-site-footer__bottom{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:2.2rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.09);color:rgba(255,255,255,.48);font-size:.75rem}
[data-reveal]{opacity:0;transition:opacity .72s ease,transform .72s cubic-bezier(.2,.8,.2,1);will-change:opacity,transform}[data-reveal="up"]{transform:translateY(28px)}[data-reveal="right"]{transform:translateX(32px)}[data-reveal="left"]{transform:translateX(-32px)}[data-reveal].is-visible{opacity:1;transform:translate3d(0,0,0)}
@keyframes tk-float-main{0%,100%{transform:translateY(0) rotateY(-5deg) rotateX(2deg)}50%{transform:translateY(-12px) rotateY(-3deg) rotateX(1deg)}}@keyframes tk-float-card{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes tk-orbit{to{transform:rotate(360deg)}}@keyframes tk-pulse{0%,100%{transform:scale(.86);opacity:.55}50%{transform:scale(1.15);opacity:1}}
@media(max-width:1080px){.tk-site-nav,.tk-site-header__actions{display:none}.tk-site-menu-toggle,.tk-site-mobile-nav{display:block}.tk-home-hero__grid{grid-template-columns:1fr 1fr;gap:2rem}.tk-home-hero__visual{min-height:420px}.tk-role-grid,.tk-public-info__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tk-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tk-site-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.tk-site-shell{width:min(100% - 28px,1180px)}.tk-home-hero{min-height:auto;padding:118px 0 100px}.tk-home-hero__grid,.tk-about-panel,.tk-contact-panel{grid-template-columns:1fr}.tk-home-hero__copy{text-align:center}.tk-home-hero__copy>p,.tk-home-hero h1{margin-inline:auto}.tk-home-hero__actions,.tk-home-hero__login-note,.tk-home-hero__slogan{justify-content:center}.tk-home-hero__visual{min-height:390px;margin-top:.5rem}.tk-float-card--top{inset-inline-start:0}.tk-float-card--bottom{inset-inline-end:0}.tk-about-panel{padding:1.3rem}.tk-about-panel__visual{min-height:330px}.tk-news-grid{grid-template-columns:1fr}.tk-section-heading--with-link{align-items:flex-start;flex-direction:column}.tk-contact-panel__info{min-height:430px}}
@media(max-width:620px){.tk-site-header__inner{min-height:70px}.tk-site-brand img{height:55px;max-width:180px}.tk-home-section{padding:66px 0}.tk-home-hero h1{font-size:2.18rem}.tk-home-hero h1 span,.tk-home-hero h1 strong{white-space:normal}.tk-home-hero__actions{display:grid;grid-template-columns:1fr}.tk-home-hero__actions .tk-site-btn{width:100%}.tk-home-hero__visual{min-height:320px}.tk-home-hero__visual-card{inset:20px 0;border-radius:24px}.tk-float-card{min-width:150px;max-width:180px;padding:.65rem .75rem}.tk-role-grid,.tk-feature-grid,.tk-public-info__grid,.tk-public-form-grid,.tk-site-footer__grid{grid-template-columns:1fr}.tk-role-card{min-height:auto}.tk-about-panel__visual{min-height:270px}.tk-about-panel__quote{inset-inline-end:10px;bottom:-14px}.tk-contact-panel__form,.tk-contact-panel__content{padding:1.25rem}.tk-site-footer__bottom{align-items:flex-start;flex-direction:column}}
@media(pointer:fine){body:hover .tk-cursor-glow{opacity:1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}[data-reveal]{opacity:1!important;transform:none!important}.tk-cursor-glow{display:none!important}}


/* Stage 6.6.1 — Signature Contrast Section */
.tk-signature-section{position:relative;min-height:860px;margin:8px 0 12px;padding:150px 0 165px;overflow:hidden;background:radial-gradient(circle at 16% 42%,rgba(212,170,82,.16),transparent 25%),radial-gradient(circle at 84% 22%,rgba(255,255,255,.06),transparent 24%),linear-gradient(128deg,#061a2d 0%,#0b2b49 48%,#123f66 100%);color:#fff}
.tk-signature-section:before{content:"";position:absolute;inset-inline-start:-310px;top:140px;width:650px;height:650px;border:2px solid rgba(212,170,82,.13);border-radius:50%}
.tk-signature-section:after{content:"";position:absolute;inset-inline-end:-280px;bottom:50px;width:610px;height:610px;border:1px solid rgba(255,255,255,.08);border-radius:50%}
.tk-signature-section__wave{position:absolute;inset-inline:0;z-index:5;width:100%;pointer-events:none}.tk-signature-section__wave--top{top:-1px;height:150px}.tk-signature-section__wave--bottom{bottom:-1px;height:170px}
.tk-signature-section__shape{position:absolute;z-index:0;border-radius:50%;filter:blur(1px);pointer-events:none}.tk-signature-section__shape--one{inset-inline-start:8%;top:22%;width:260px;height:260px;background:radial-gradient(circle,rgba(212,170,82,.09),transparent 68%);animation:tk-signature-drift-one 12s ease-in-out infinite}.tk-signature-section__shape--two{inset-inline-end:12%;bottom:18%;width:320px;height:320px;background:radial-gradient(circle,rgba(255,255,255,.055),transparent 70%);animation:tk-signature-drift-two 15s ease-in-out infinite}
.tk-signature-section__inner{position:relative;z-index:3;display:grid;grid-template-columns:minmax(0,1fr) minmax(430px,.92fr);align-items:center;gap:4.5rem}.tk-signature-section__copy{position:relative;z-index:4}
.tk-signature-section__eyebrow{display:inline-flex;align-items:center;gap:.55rem;margin-bottom:.85rem;color:var(--gold-light);font-size:.84rem;font-weight:700}.tk-signature-section__eyebrow:before{content:"";width:34px;height:2px;border-radius:99px;background:linear-gradient(90deg,var(--gold),transparent)}
.tk-signature-section h2{max-width:650px;margin:0;color:#fff;font-size:clamp(1.76rem,2.78vw,2.51rem);line-height:1.28;letter-spacing:-.02em}.tk-signature-section h2 strong{display:block;color:var(--gold-light)}
.tk-signature-section__copy>p{max-width:670px;margin:1.1rem 0 0;color:rgba(255,255,255,.70);font-size:1rem;line-height:2}
.tk-signature-section__highlights{display:grid;gap:.7rem;margin-top:1.45rem}.tk-signature-section__highlights>div{display:grid;grid-template-columns:42px minmax(0,1fr);column-gap:.8rem;padding:.8rem .9rem;border:1px solid rgba(255,255,255,.11);border-radius:14px;background:rgba(255,255,255,.045);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:transform .25s,background .25s,border-color .25s}.tk-signature-section__highlights>div:hover{transform:translateX(-4px);border-color:rgba(212,170,82,.26);background:rgba(255,255,255,.07)}.tk-signature-section__highlights span{grid-row:1/span 2;display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:rgba(212,170,82,.12);color:var(--gold-light);font-size:.75rem;font-weight:700}.tk-signature-section__highlights strong{color:#fff;font-size:.92rem}.tk-signature-section__highlights p{margin:.15rem 0 0;color:rgba(255,255,255,.54);font-size:.78rem;line-height:1.65}
.tk-signature-section__actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.25rem}
.tk-signature-section__visual{position:relative;min-height:510px;perspective:1200px}.tk-signature-dashboard{position:absolute;inset:34px 22px 36px 26px;overflow:hidden;border:1px solid rgba(255,255,255,.17);border-radius:30px;background:rgba(255,255,255,.07);box-shadow:0 36px 95px rgba(0,0,0,.30);transform:rotateY(-5deg) rotateX(1.8deg);animation:tk-signature-dashboard-float 8s ease-in-out infinite;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.tk-signature-dashboard img{width:100%;height:100%;object-fit:cover;transform:scale(1.025)}.tk-signature-dashboard__shine{position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,rgba(255,255,255,.10),transparent 28%,transparent 70%,rgba(212,170,82,.10))}
.tk-signature-float{position:absolute;z-index:6;display:flex;align-items:center;gap:.7rem;min-width:165px;padding:.7rem .8rem;border:1px solid rgba(255,255,255,.17);border-radius:16px;background:rgba(255,255,255,.93);color:var(--navy-850);box-shadow:0 22px 52px rgba(0,0,0,.22);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);animation:tk-signature-float-card 6s ease-in-out infinite}.tk-signature-float--student{inset-inline-start:-18px;top:48px}.tk-signature-float--teacher{inset-inline-end:-18px;top:42%;animation-delay:-2s}.tk-signature-float--parent{inset-inline-start:24px;bottom:36px;animation-delay:-4s}.tk-signature-float__icon{display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;border-radius:12px;background:rgba(212,170,82,.14);color:#9d701f}.tk-signature-float__icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.tk-signature-float strong,.tk-signature-float small{display:block}.tk-signature-float strong{color:var(--navy-850);font-size:.82rem}.tk-signature-float small{margin-top:.15rem;color:var(--muted);font-size:.68rem}
.tk-signature-section__orbit{position:absolute;z-index:1;border:1px solid rgba(212,170,82,.15);border-radius:50%;pointer-events:none;animation:tk-orbit 20s linear infinite}.tk-signature-section__orbit:after{content:"";position:absolute;top:50%;inset-inline-end:-5px;width:8px;height:8px;border-radius:50%;background:var(--gold-light);box-shadow:0 0 18px rgba(212,170,82,.72)}.tk-signature-section__orbit--one{inset:6px -50px 48px 90px}.tk-signature-section__orbit--two{inset:86px 44px -12px -70px;animation-duration:26s;animation-direction:reverse}
.tk-signature-strip{position:relative;z-index:4;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin-top:3rem}.tk-signature-strip__item{display:grid;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:.7rem;min-height:102px;padding:.8rem .9rem;border:1px solid rgba(255,255,255,.10);border-radius:16px;background:rgba(255,255,255,.045);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:transform .25s,border-color .25s,background .25s}.tk-signature-strip__item:hover{transform:translateY(-5px);border-color:rgba(212,170,82,.24);background:rgba(255,255,255,.07)}.tk-signature-strip__number,.tk-signature-strip__symbol{display:grid;place-items:center;width:52px;height:52px;border-radius:15px;background:linear-gradient(135deg,rgba(212,170,82,.20),rgba(212,170,82,.06));color:var(--gold-light);font-size:1.15rem;font-weight:700}.tk-signature-strip__symbol{font-size:1.8rem}.tk-signature-strip__item strong{color:#fff;font-size:.86rem}.tk-signature-strip__item p{margin:.2rem 0 0;color:rgba(255,255,255,.48);font-size:.72rem;line-height:1.6}
@keyframes tk-signature-dashboard-float{0%,100%{transform:translateY(0) rotateY(-5deg) rotateX(1.8deg)}50%{transform:translateY(-13px) rotateY(-2.8deg) rotateX(.8deg)}}@keyframes tk-signature-float-card{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}@keyframes tk-signature-drift-one{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(22px,-18px,0) scale(1.08)}}@keyframes tk-signature-drift-two{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(-24px,18px,0) scale(.94)}}
@media(max-width:1080px){.tk-signature-section{min-height:auto}.tk-signature-section__inner{grid-template-columns:1fr 1fr;gap:2.2rem}.tk-signature-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.tk-signature-section{padding:135px 0 145px}.tk-signature-section__inner{grid-template-columns:1fr}.tk-signature-section__copy{text-align:center}.tk-signature-section__copy>p{margin-inline:auto}.tk-signature-section__actions{justify-content:center}.tk-signature-section__visual{min-height:420px}.tk-signature-section__highlights{text-align:start}}
@media(max-width:620px){.tk-signature-section{padding:122px 0 128px}.tk-signature-section h2{font-size:2.18rem}.tk-signature-section__visual{min-height:340px}.tk-signature-dashboard{inset:28px 0;border-radius:22px}.tk-signature-float{min-width:135px;padding:.55rem .65rem}.tk-signature-float--student{inset-inline-start:0}.tk-signature-float--teacher{inset-inline-end:0}.tk-signature-float--parent{inset-inline-start:10px;bottom:22px}.tk-signature-strip{grid-template-columns:1fr;margin-top:2rem}.tk-signature-section__actions{display:grid;grid-template-columns:1fr}.tk-signature-section__actions .tk-site-btn{width:100%}}


/* Stage 6.6.3 — logo sizing + About typography refinement */
@media (max-width: 620px) {
    .tk-site-footer__brand img {
        height: 78px;
        max-width: 235px;
    }
}


/* Stage 6.6.5 — unified prominent heading size */
@media (max-width: 620px) {
    .tk-about-panel__copy h2 {
        font-size: 1.67rem;
        line-height: 1.28;
    }

    .tk-signature-section h2 {
        font-size: 1.76rem;
        line-height: 1.28;
    }
}


/* Stage 6.6.11 — Roles section heading refinement */
.tk-home-roles .tk-section-heading h2 {
    font-size: clamp(1.4rem, 2.4vw, 2.08rem);
    line-height: 1.38;
}

.tk-home-roles .tk-section-heading p {
    max-width: 50ch;
    margin-inline: auto;
}


/* Stage 6.6.14 — unify main section headings to Roles reference size */
.tk-home-features .tk-section-heading h2,
.tk-public-info .tk-section-heading h2,
.tk-home-news .tk-section-heading h2 {
    font-size: clamp(1.4rem, 2.4vw, 2.08rem);
    line-height: 1.38;
}

/* Keep descriptive lines compact at 50ch,
   except the News subtitle which must stay untouched. */
.tk-home-features .tk-section-heading p,
.tk-public-info .tk-section-heading p {
    max-width: 50ch;
    margin-inline: auto;
}


/* Stage 6.7 — tighter homepage rhythm */
.tk-home-section {
    padding-top: 64px;
    padding-bottom: 64px;
}

.tk-public-info {
    padding-bottom: 44px;
}

.tk-home-news {
    padding-top: 44px;
}

.tk-news-all-link {
    text-decoration: none;
    transition: color .2s ease, transform .2s ease;
}

.tk-news-all-link:hover {
    color: #a87721 !important;
    transform: translateX(-3px);
}

.tk-news-card__image {
    display: block;
    text-decoration: none;
}

.tk-news-card__body h3 a {
    color: inherit;
    text-decoration: none;
}

.tk-news-card__more {
    display: inline-flex;
    margin-top: .8rem;
    color: #ab7922;
    font-size: .8rem;
    font-weight: 700;
    text-decoration: none;
    transition: color .2s ease, transform .2s ease;
}

.tk-news-card__more:hover {
    color: #875c11;
    transform: translateX(-3px);
}

.tk-news-empty {
    grid-column: 1 / -1;
    padding: 1.4rem;
    border: 1px dashed rgba(18,39,63,.16);
    border-radius: 18px;
    background: rgba(255,255,255,.65);
    color: var(--muted);
    text-align: center;
}

/* News index */
.tk-news-page-hero {
    position: relative;
    padding: 132px 0 115px;
    overflow: hidden;
    background:
        radial-gradient(circle at 15% 30%, rgba(212,170,82,.14), transparent 24%),
        linear-gradient(128deg, #071d32 0%, #0d2d4e 58%, #123e65 100%);
    color: #fff;
}

.tk-news-page-hero::after {
    content: '';
    position: absolute;
    inset-inline-end: -180px;
    top: -220px;
    width: 560px;
    height: 560px;
    border: 2px solid rgba(212,170,82,.18);
    border-radius: 50%;
}

.tk-news-page-hero__content {
    position: relative;
    z-index: 2;
    max-width: 720px;
}

.tk-news-page-hero h1 {
    margin: 0;
    font-size: clamp(2rem, 4vw, 3.45rem);
    line-height: 1.25;
}

.tk-news-page-hero p {
    max-width: 55ch;
    margin: .8rem 0 0;
    color: rgba(255,255,255,.68);
    line-height: 1.9;
}

.tk-news-page-hero__wave {
    position: absolute;
    inset: auto 0 -1px;
    width: 100%;
    height: 86px;
}

.tk-news-page-list {
    padding: 58px 0 86px;
}

.tk-news-filters {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    margin-bottom: 1.5rem;
}

.tk-news-filters a {
    padding: .55rem .8rem;
    border: 1px solid rgba(18,39,63,.10);
    border-radius: 999px;
    background: #fff;
    color: #627082;
    font-size: .82rem;
    text-decoration: none;
}

.tk-news-filters a:hover,
.tk-news-filters a.is-active {
    border-color: rgba(212,170,82,.34);
    background: rgba(212,170,82,.11);
    color: #936713;
}

.tk-news-page-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 1rem;
}

.tk-news-card--page {
    height: 100%;
}

.tk-news-card--page .tk-news-card__image {
    position: relative;
}

.tk-news-card__category {
    position: absolute;
    inset-inline-start: .8rem;
    bottom: .8rem;
    padding: .35rem .55rem;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 999px;
    background: rgba(7,29,50,.76);
    color: #fff;
    font-size: .7rem;
    backdrop-filter: blur(8px);
}

.tk-news-card__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .6rem;
    color: #9a865f;
    font-size: .72rem;
}

.tk-news-card--page h2 {
    margin: .5rem 0;
    color: var(--navy-850);
    font-size: 1.05rem;
    line-height: 1.6;
}

.tk-news-card--page h2 a {
    color: inherit;
    text-decoration: none;
}

.tk-news-empty--page {
    padding: 2.2rem;
}

.tk-news-empty--page strong,
.tk-news-empty--page p {
    display: block;
}

.tk-news-empty--page p {
    margin: .35rem 0 0;
}

.tk-news-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .7rem;
    margin-top: 2rem;
}

.tk-news-pagination a,
.tk-news-pagination span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: .55rem .8rem;
    border: 1px solid rgba(18,39,63,.10);
    border-radius: 10px;
    background: #fff;
    color: var(--navy-850);
    font-size: .8rem;
    text-decoration: none;
}

.tk-news-pagination .is-disabled {
    opacity: .45;
}

/* News detail */
.tk-news-detail-hero {
    padding: 118px 0 48px;
    background: linear-gradient(180deg, #f7f9fc, #fff);
}

.tk-public-breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .45rem;
    margin-bottom: 1.1rem;
    color: #99a2ad;
    font-size: .76rem;
}

.tk-public-breadcrumbs a {
    color: #8b6b2e;
    text-decoration: none;
}

.tk-news-detail-hero__content {
    max-width: 900px;
}

.tk-news-detail__category {
    display: inline-flex;
    padding: .35rem .6rem;
    border-radius: 999px;
    background: rgba(212,170,82,.11);
    color: #9a6d1c;
    font-size: .75rem;
    font-weight: 700;
}

.tk-news-detail-hero h1 {
    margin: .75rem 0 .7rem;
    color: var(--navy-850);
    font-size: clamp(1.3rem, 2.6vw, 2.31rem);
    line-height: 1.38;
}

.tk-news-detail-hero p {
    max-width: 72ch;
    margin: 0;
    color: var(--muted);
    font-size: 1.02rem;
    line-height: 1.9;
}

.tk-news-detail__meta {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem 1rem;
    margin-top: 1rem;
    color: #929daa;
    font-size: .78rem;
}

.tk-news-detail {
    padding: 20px 0 72px;
}

.tk-news-detail__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 290px;
    align-items: start;
    gap: 1.4rem;
}

.tk-news-article {
    overflow: hidden;
    border: 1px solid rgba(18,39,63,.08);
    border-radius: 26px;
    background: #fff;
    box-shadow: 0 18px 54px rgba(9,34,58,.07);
}

.tk-news-article__cover {
    height: min(52vw, 520px);
    min-height: 320px;
    overflow: hidden;
    background: #eef2f6;
}

.tk-news-article__cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tk-news-article__body {
    max-width: 820px;
    margin-inline: auto;
    padding: 2rem 2.2rem 1.6rem;
}

.tk-news-article__body p {
    margin: 0 0 1.25rem;
    color: #46576a;
    font-size: 1rem;
    line-height: 2.05;
}

.tk-news-article__body p:first-child::first-letter {
    color: #a97824;
    font-size: 1.55em;
    font-weight: 700;
}

.tk-news-article__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 2rem;
    border-top: 1px solid rgba(18,39,63,.08);
    background: #fafbfc;
}

.tk-news-article__footer strong,
.tk-news-article__footer span {
    display: block;
}

.tk-news-article__footer strong {
    color: var(--navy-850);
    font-size: .86rem;
}

.tk-news-article__footer span {
    margin-top: .15rem;
    color: var(--muted);
    font-size: .72rem;
}

.tk-copy-news-link {
    min-height: 40px;
    padding: .55rem .75rem;
    border: 1px solid rgba(212,170,82,.30);
    border-radius: 10px;
    background: rgba(212,170,82,.09);
    color: #8c6319;
    font: inherit;
    font-size: .78rem;
    font-weight: 700;
    cursor: pointer;
}

.tk-news-detail__aside {
    position: sticky;
    top: 98px;
    display: grid;
    gap: .9rem;
}

.tk-news-detail__aside-card {
    padding: 1rem;
    border: 1px solid rgba(18,39,63,.08);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 14px 38px rgba(9,34,58,.05);
}

.tk-news-detail__aside-card > span {
    color: #a77720;
    font-size: .74rem;
    font-weight: 700;
}

.tk-news-detail__aside-card dl {
    margin: .8rem 0 0;
}

.tk-news-detail__aside-card dl > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .7rem;
    padding: .55rem 0;
    border-bottom: 1px solid rgba(18,39,63,.07);
}

.tk-news-detail__aside-card dl > div:last-child {
    border-bottom: 0;
}

.tk-news-detail__aside-card dt {
    color: var(--muted);
    font-size: .74rem;
}

.tk-news-detail__aside-card dd {
    margin: 0;
    color: var(--navy-850);
    font-size: .76rem;
    font-weight: 700;
}

.tk-news-detail__aside-card--cta {
    background: linear-gradient(145deg, #08233c, #10395d);
    color: #fff;
}

.tk-news-detail__aside-card--cta h3 {
    margin: .5rem 0;
    color: #fff;
    line-height: 1.55;
}

.tk-news-detail__aside-card--cta p {
    margin: 0 0 .9rem;
    color: rgba(255,255,255,.62);
    font-size: .78rem;
    line-height: 1.75;
}

.tk-related-news {
    padding: 62px 0 84px;
    background: linear-gradient(180deg, #f8fafc, #fff);
}

.tk-related-news__heading {
    max-width: 620px;
    margin-bottom: 1.35rem;
}

.tk-related-news__heading > span {
    color: #a87822;
    font-size: .76rem;
    font-weight: 700;
}

.tk-related-news__heading h2 {
    margin: .3rem 0 .45rem;
    color: var(--navy-850);
    font-size: clamp(1.55rem, 2.6vw, 2.2rem);
}

.tk-related-news__heading p {
    max-width: 50ch;
    margin: 0;
    color: var(--muted);
    line-height: 1.8;
}

.tk-related-news__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 1rem;
}

.tk-related-news__card {
    overflow: hidden;
    border: 1px solid rgba(18,39,63,.08);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 14px 38px rgba(9,34,58,.05);
}

.tk-related-news__image {
    display: block;
    height: 160px;
    overflow: hidden;
}

.tk-related-news__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .45s ease;
}

.tk-related-news__card:hover .tk-related-news__image img {
    transform: scale(1.04);
}

.tk-related-news__card > div {
    padding: .9rem;
}

.tk-related-news__card time {
    color: #a47b35;
    font-size: .68rem;
}

.tk-related-news__card h3 {
    margin: .4rem 0;
    color: var(--navy-850);
    font-size: .95rem;
    line-height: 1.6;
}

.tk-related-news__card h3 a {
    color: inherit;
    text-decoration: none;
}

.tk-related-news__card p {
    margin: 0;
    color: var(--muted);
    font-size: .78rem;
    line-height: 1.7;
}

@media (max-width: 900px) {
    .tk-news-page-grid,
    .tk-related-news__grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }

    .tk-news-detail__layout {
        grid-template-columns: 1fr;
    }

    .tk-news-detail__aside {
        position: static;
        grid-template-columns: repeat(2, minmax(0,1fr));
    }
}

@media (max-width: 620px) {
    .tk-home-section {
        padding-top: 52px;
        padding-bottom: 52px;
    }

    .tk-public-info {
        padding-bottom: 38px;
    }

    .tk-home-news {
        padding-top: 38px;
    }

    .tk-news-page-hero {
        padding: 108px 0 96px;
    }

    .tk-news-page-list {
        padding: 44px 0 66px;
    }

    .tk-news-page-grid,
    .tk-related-news__grid,
    .tk-news-detail__aside {
        grid-template-columns: 1fr;
    }

    .tk-news-article__cover {
        min-height: 230px;
        height: 62vw;
    }

    .tk-news-article__body {
        padding: 1.25rem;
    }

    .tk-news-article__footer {
        align-items: flex-start;
        flex-direction: column;
        padding: 1rem 1.25rem;
    }

    .tk-news-detail-hero h1 {
        font-size: 1.3rem;
        line-height: 1.4;
    }
}


/* Stage 6.7.1 — numbered news pagination */
.tk-news-pagination {
    flex-direction: column;
    gap: .85rem;
}

.tk-news-pagination__summary {
    color: var(--muted);
    font-size: .78rem;
    text-align: center;
}

.tk-news-pagination__controls {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: .45rem;
}

.tk-news-pagination__controls a,
.tk-news-pagination__controls span {
    min-width: 40px;
}

.tk-news-pagination__controls .is-current {
    border-color: rgba(212,170,82,.42);
    background:
        linear-gradient(
            135deg,
            var(--gold-light),
            var(--gold)
        );
    color: var(--navy-950);
    font-weight: 700;
    box-shadow:
        0 8px 20px rgba(212,170,82,.18);
}

@media (max-width: 620px) {
    .tk-news-pagination__controls {
        gap: .35rem;
    }

    .tk-news-pagination__controls a,
    .tk-news-pagination__controls span {
        min-width: 36px;
        min-height: 36px;
        padding: .45rem .6rem;
    }
}


/* =========================================================
   STAGE 6.7.2 — PUBLIC ROLE EXPERIENCE PAGES
   ========================================================= */
.tk-role-page-hero {
    position: relative;
    min-height: 690px;
    padding: 126px 0 108px;
    overflow: hidden;
    background:
        radial-gradient(
            circle at 12% 24%,
            rgba(212,170,82,.13),
            transparent 25%
        ),
        radial-gradient(
            circle at 88% 42%,
            rgba(255,255,255,.055),
            transparent 24%
        ),
        linear-gradient(
            128deg,
            #071d32 0%,
            #0d2d4e 58%,
            #123e65 100%
        );
    color: #fff;
}

.tk-role-page-hero::before {
    content: '';
    position: absolute;
    inset-inline-end: -220px;
    top: -170px;
    width: 620px;
    height: 620px;
    border: 2px solid rgba(212,170,82,.16);
    border-radius: 50%;
}

.tk-role-page-hero__ambient span {
    position: absolute;
    border-radius: 50%;
    background: rgba(212,170,82,.8);
    box-shadow: 0 0 0 7px rgba(212,170,82,.07);
    animation: tk-pulse-dot 4.8s ease-in-out infinite;
}

.tk-role-page-hero__ambient .is-one {
    inset-inline-start: 8%;
    top: 25%;
    width: 7px;
    height: 7px;
}

.tk-role-page-hero__ambient .is-two {
    inset-inline-end: 16%;
    top: 19%;
    width: 5px;
    height: 5px;
    animation-delay: -1.8s;
}

.tk-role-page-hero__ambient .is-three {
    inset-inline-end: 37%;
    bottom: 23%;
    width: 6px;
    height: 6px;
    animation-delay: -3.2s;
}

.tk-role-page-hero__grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        minmax(430px, .92fr);
    align-items: center;
    gap: 4rem;
}

.tk-public-breadcrumbs--dark {
    margin-bottom: 1rem;
    color: rgba(255,255,255,.45);
}

.tk-public-breadcrumbs--dark a {
    color: var(--gold-light);
}

.tk-role-page-hero__copy h1 {
    max-width: 720px;
    margin: 0;
    color: #fff;
    font-size:
        clamp(2.05rem, 3.7vw, 3.45rem);
    line-height: 1.35;
}

.tk-role-page-hero__copy > p {
    max-width: 62ch;
    margin: 1rem 0 0;
    color: rgba(255,255,255,.68);
    line-height: 1.95;
}

.tk-role-page-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: .7rem;
    margin-top: 1.4rem;
}

.tk-role-page-hero__facts {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    margin-top: 1.4rem;
}

.tk-role-page-hero__facts span {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .45rem .6rem;
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 999px;
    background: rgba(255,255,255,.045);
    color: rgba(255,255,255,.7);
    font-size: .72rem;
}

.tk-role-page-hero__facts svg {
    width: 14px;
    height: 14px;
    fill: none;
    stroke: var(--gold-light);
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.tk-role-page-hero__visual {
    position: relative;
    min-height: 470px;
    perspective: 1200px;
}

.tk-role-page-preview {
    position: absolute;
    inset: 26px 18px 24px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 30px;
    background: rgba(255,255,255,.06);
    box-shadow: 0 34px 88px rgba(0,0,0,.30);
    transform:
        rotateY(-4deg)
        rotateX(1.3deg);
    animation:
        tk-role-preview-float
        8s ease-in-out infinite;
}

.tk-role-page-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tk-role-page-preview__overlay {
    position: absolute;
    inset: auto 0 0;
    padding: 1.4rem;
    background:
        linear-gradient(
            180deg,
            transparent,
            rgba(7,27,46,.90)
        );
}

.tk-role-page-preview__overlay span,
.tk-role-page-preview__overlay strong,
.tk-role-page-preview__overlay p {
    display: block;
}

.tk-role-page-preview__overlay span {
    color: var(--gold-light);
    font-size: .72rem;
    font-weight: 700;
}

.tk-role-page-preview__overlay strong {
    margin-top: .25rem;
    color: #fff;
    font-size: 1.25rem;
}

.tk-role-page-preview__overlay p {
    max-width: 44ch;
    margin: .35rem 0 0;
    color: rgba(255,255,255,.68);
    font-size: .76rem;
    line-height: 1.65;
}

.tk-role-page-float {
    position: absolute;
    z-index: 5;
    display: flex;
    align-items: center;
    gap: .65rem;
    min-width: 170px;
    padding: .7rem .8rem;
    border: 1px solid rgba(255,255,255,.17);
    border-radius: 15px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 18px 50px rgba(0,0,0,.20);
    animation:
        tk-signature-float-card
        6s ease-in-out infinite;
}

.tk-role-page-float--one {
    inset-inline-start: -12px;
    top: 45px;
}

.tk-role-page-float--two {
    inset-inline-end: -12px;
    bottom: 50px;
    animation-delay: -2.8s;
}

.tk-role-page-float > span {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    border-radius: 11px;
    background: rgba(212,170,82,.13);
    color: #9c6e1d;
    font-size: .75rem;
    font-weight: 700;
}

.tk-role-page-float strong,
.tk-role-page-float small {
    display: block;
}

.tk-role-page-float strong {
    color: var(--navy-850);
    font-size: .8rem;
}

.tk-role-page-float small {
    margin-top: .12rem;
    color: var(--muted);
    font-size: .66rem;
}

.tk-role-page-hero__wave {
    position: absolute;
    inset: auto 0 -1px;
    z-index: 3;
    width: 100%;
    height: 90px;
}

.tk-role-page-section {
    padding: 68px 0;
}

.tk-role-page-intro__heading {
    max-width: 680px;
    margin: 0 auto 1.8rem;
    text-align: center;
}

.tk-role-page-intro__heading > span {
    color: #a97824;
    font-size: .76rem;
    font-weight: 700;
}

.tk-role-page-intro__heading h2 {
    margin: .35rem 0 .55rem;
    color: var(--navy-850);
    font-size:
        clamp(1.55rem, 2.5vw, 2.15rem);
}

.tk-role-page-intro__heading p {
    max-width: 52ch;
    margin: 0 auto;
    color: var(--muted);
    line-height: 1.8;
}

.tk-role-page-features {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0,1fr));
    gap: .9rem;
}

.tk-role-page-feature {
    min-height: 210px;
    padding: 1.15rem;
    border: 1px solid rgba(18,39,63,.08);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 14px 38px rgba(9,34,58,.045);
}

.tk-role-page-feature__icon {
    display: grid;
    place-items: center;
    width: 50px;
    height: 50px;
    border-radius: 15px;
    background:
        linear-gradient(
            135deg,
            rgba(212,170,82,.17),
            rgba(212,170,82,.05)
        );
    color: #9d701e;
}

.tk-role-page-feature__icon svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.tk-role-page-feature h3 {
    margin: .85rem 0 .4rem;
    color: var(--navy-850);
    font-size: .96rem;
}

.tk-role-page-feature p {
    margin: 0;
    color: var(--muted);
    font-size: .82rem;
    line-height: 1.75;
}

.tk-role-page-flow {
    background:
        linear-gradient(
            180deg,
            #f8fafc,
            #fff
        );
}

.tk-role-page-flow__panel {
    display: grid;
    grid-template-columns:
        minmax(290px, .72fr)
        minmax(0, 1.28fr);
    gap: 2rem;
    padding: 2rem;
    border: 1px solid rgba(18,39,63,.08);
    border-radius: 28px;
    background: #fff;
    box-shadow: 0 18px 54px rgba(9,34,58,.06);
}

.tk-role-page-flow__copy h2 {
    margin: 0 0 .6rem;
    color: var(--navy-850);
    font-size:
        clamp(1.55rem, 2.7vw, 2.2rem);
}

.tk-role-page-flow__copy > p {
    margin: 0;
    color: var(--muted);
    line-height: 1.85;
}

.tk-role-page-flow__steps {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0,1fr));
    gap: .75rem;
}

.tk-role-page-step {
    display: grid;
    grid-template-columns:
        42px minmax(0,1fr);
    gap: .75rem;
    padding: .85rem;
    border: 1px solid rgba(18,39,63,.07);
    border-radius: 15px;
    background: #fbfcfd;
}

.tk-role-page-step > span {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 12px;
    background: rgba(212,170,82,.11);
    color: #9c6f1e;
    font-size: .72rem;
    font-weight: 700;
}

.tk-role-page-step h3 {
    margin: 0;
    color: var(--navy-850);
    font-size: .85rem;
}

.tk-role-page-step p {
    margin: .2rem 0 0;
    color: var(--muted);
    font-size: .75rem;
    line-height: 1.65;
}

.tk-role-page-value__grid {
    display: grid;
    grid-template-columns:
        minmax(380px, .88fr)
        minmax(0, 1.12fr);
    align-items: center;
    gap: 2.6rem;
}

.tk-role-page-value__visual {
    min-height: 380px;
    overflow: hidden;
    border: 1px solid rgba(18,39,63,.08);
    border-radius: 26px;
    box-shadow: 0 24px 64px rgba(9,34,58,.10);
}

.tk-role-page-value__visual img {
    width: 100%;
    height: 100%;
    min-height: 380px;
    object-fit: cover;
}

.tk-role-page-value__copy > span {
    color: #a97824;
    font-size: .76rem;
    font-weight: 700;
}

.tk-role-page-value__copy h2 {
    margin: .35rem 0 .65rem;
    color: var(--navy-850);
    font-size:
        clamp(1.55rem, 2.6vw, 2.2rem);
}

.tk-role-page-value__copy > p {
    max-width: 56ch;
    margin: 0;
    color: var(--muted);
    line-height: 1.85;
}

.tk-role-page-value__points {
    display: grid;
    gap: .6rem;
    margin-top: 1.1rem;
}

.tk-role-page-value__points > div {
    padding: .75rem .85rem;
    border-inline-start: 3px solid rgba(212,170,82,.52);
    background:
        linear-gradient(
            90deg,
            rgba(212,170,82,.05),
            transparent
        );
}

.tk-role-page-value__points strong {
    color: var(--navy-850);
    font-size: .85rem;
}

.tk-role-page-value__points p {
    margin: .18rem 0 0;
    color: var(--muted);
    font-size: .75rem;
    line-height: 1.65;
}

.tk-role-page-cta {
    padding: 30px 0 84px;
}

.tk-role-page-cta__panel {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.4rem;
    padding: 1.6rem 1.8rem;
    overflow: hidden;
    border-radius: 26px;
    background:
        radial-gradient(
            circle at 10% 20%,
            rgba(212,170,82,.14),
            transparent 25%
        ),
        linear-gradient(
            135deg,
            #071d32,
            #123b60
        );
    color: #fff;
    box-shadow: 0 24px 65px rgba(9,34,58,.16);
}

.tk-role-page-cta__panel span {
    color: var(--gold-light);
    font-size: .74rem;
    font-weight: 700;
}

.tk-role-page-cta__panel h2 {
    margin: .25rem 0 .35rem;
    color: #fff;
    font-size:
        clamp(1.35rem, 2.4vw, 2rem);
}

.tk-role-page-cta__panel p {
    margin: 0;
    color: rgba(255,255,255,.62);
    font-size: .8rem;
}

.tk-role-page-cta__actions {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
    flex: 0 0 auto;
}

@keyframes tk-role-preview-float {
    0%,
    100% {
        transform:
            translateY(0)
            rotateY(-4deg)
            rotateX(1.3deg);
    }

    50% {
        transform:
            translateY(-11px)
            rotateY(-2deg)
            rotateX(.7deg);
    }
}

@media (max-width: 900px) {
    .tk-role-page-hero__grid,
    .tk-role-page-value__grid {
        grid-template-columns: 1fr;
    }

    .tk-role-page-hero__copy {
        text-align: center;
    }

    .tk-role-page-hero__copy > p {
        margin-inline: auto;
    }

    .tk-role-page-hero__actions,
    .tk-role-page-hero__facts {
        justify-content: center;
    }

    .tk-public-breadcrumbs--dark {
        justify-content: center;
    }

    .tk-role-page-hero__visual {
        min-height: 410px;
    }

    .tk-role-page-features {
        grid-template-columns:
            repeat(2, minmax(0,1fr));
    }

    .tk-role-page-flow__panel {
        grid-template-columns: 1fr;
    }

    .tk-role-page-value__visual {
        min-height: 330px;
    }

    .tk-role-page-value__visual img {
        min-height: 330px;
    }
}

@media (max-width: 620px) {
    .tk-role-page-hero {
        padding: 108px 0 94px;
    }

    .tk-role-page-hero__copy h1 {
        font-size: 2rem;
    }

    .tk-role-page-hero__visual {
        min-height: 330px;
    }

    .tk-role-page-preview {
        inset: 24px 0;
        border-radius: 22px;
    }

    .tk-role-page-float {
        min-width: 142px;
        padding: .55rem .65rem;
    }

    .tk-role-page-float--one {
        inset-inline-start: 0;
    }

    .tk-role-page-float--two {
        inset-inline-end: 0;
    }

    .tk-role-page-section {
        padding: 52px 0;
    }

    .tk-role-page-features,
    .tk-role-page-flow__steps {
        grid-template-columns: 1fr;
    }

    .tk-role-page-flow__panel {
        padding: 1.2rem;
    }

    .tk-role-page-value__visual,
    .tk-role-page-value__visual img {
        min-height: 270px;
    }

    .tk-role-page-cta__panel {
        align-items: flex-start;
        flex-direction: column;
        padding: 1.25rem;
    }

    .tk-role-page-cta__actions {
        display: grid;
        width: 100%;
        grid-template-columns: 1fr;
    }

    .tk-role-page-cta__actions .tk-site-btn {
        width: 100%;
    }
}


/* =========================================================
   STAGE 6.7.3 — FOOTER CONTACT + SOCIAL + PUBLIC INFO PAGES
   ========================================================= */
.tk-footer-contact-list {
    display: grid;
    gap: .6rem;
    margin-top: .15rem;
}

.tk-footer-contact-list > a,
.tk-footer-contact-list > div {
    display: flex;
    align-items: center;
    gap: .6rem;
    color: rgba(255,255,255,.72);
    text-decoration: none;
}

.tk-footer-contact-list__icon {
    display: grid;
    place-items: center;
    width: 31px;
    height: 31px;
    flex: 0 0 31px;
    border: 1px solid rgba(212,170,82,.20);
    border-radius: 9px;
    background: rgba(212,170,82,.08);
    color: var(--gold-light);
}

.tk-footer-contact-list__icon svg {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.tk-footer-contact-list small,
.tk-footer-contact-list strong {
    display: block;
}

.tk-footer-contact-list small {
    color: rgba(255,255,255,.42);
    font-size: .62rem;
}

.tk-footer-contact-list strong {
    margin-top: .08rem;
    color: rgba(255,255,255,.72);
    font-size: .68rem;
    font-weight: 500;
}

.tk-footer-social {
    margin-top: .9rem;
    padding-top: .8rem;
    border-top: 1px solid rgba(255,255,255,.08);
}

.tk-footer-social__label {
    display: block;
    margin-bottom: .55rem;
    color: rgba(255,255,255,.50);
    font-size: .68rem;
}

.tk-footer-social__icons {
    display: flex;
    align-items: center;
    gap: .45rem;
}

.tk-footer-social__icons a,
.tk-footer-social__icons > span {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 10px;
    background: rgba(255,255,255,.04);
    color: rgba(255,255,255,.74);
    transition:
        transform .2s ease,
        color .2s ease,
        border-color .2s ease,
        background .2s ease;
}

.tk-footer-social__icons a:hover {
    transform: translateY(-3px);
    border-color: rgba(212,170,82,.30);
    background: rgba(212,170,82,.10);
    color: var(--gold-light);
}

.tk-footer-social__icons .is-disabled {
    opacity: .28;
    cursor: default;
}

.tk-footer-social__icons svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* Public internal hero */
.tk-public-inner-hero {
    position: relative;
    padding: 126px 0 110px;
    overflow: hidden;
    background:
        radial-gradient(circle at 12% 25%, rgba(212,170,82,.14), transparent 25%),
        linear-gradient(128deg, #071d32 0%, #0d2d4e 58%, #123e65 100%);
    color: #fff;
}

.tk-public-inner-hero::after {
    content: '';
    position: absolute;
    inset-inline-end: -210px;
    top: -220px;
    width: 590px;
    height: 590px;
    border: 2px solid rgba(212,170,82,.14);
    border-radius: 50%;
}

.tk-public-inner-hero__content {
    position: relative;
    z-index: 2;
    max-width: 760px;
}

.tk-public-inner-hero h1 {
    margin: 0;
    color: #fff;
    font-size: clamp(2rem, 3.7vw, 3.3rem);
    line-height: 1.32;
}

.tk-public-inner-hero p {
    max-width: 62ch;
    margin: .8rem 0 0;
    color: rgba(255,255,255,.68);
    line-height: 1.9;
}

.tk-public-inner-hero__wave {
    position: absolute;
    inset: auto 0 -1px;
    z-index: 3;
    width: 100%;
    height: 86px;
}

/* Policy */
.tk-public-policy {
    padding: 58px 0 84px;
}

.tk-public-policy__layout {
    display: grid;
    grid-template-columns: 240px minmax(0,1fr);
    align-items: start;
    gap: 1.2rem;
}

.tk-public-policy__nav {
    position: sticky;
    top: 96px;
    display: grid;
    gap: .2rem;
    padding: 1rem;
    border: 1px solid rgba(18,39,63,.08);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 14px 38px rgba(9,34,58,.05);
}

.tk-public-policy__nav > span {
    margin-bottom: .35rem;
    color: #a77822;
    font-size: .72rem;
    font-weight: 700;
}

.tk-public-policy__nav a {
    padding: .45rem .5rem;
    border-radius: 8px;
    color: #647183;
    font-size: .76rem;
    text-decoration: none;
}

.tk-public-policy__nav a:hover {
    background: rgba(212,170,82,.08);
    color: #946818;
}

.tk-public-policy__content {
    overflow: hidden;
    border: 1px solid rgba(18,39,63,.08);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 18px 52px rgba(9,34,58,.05);
}

.tk-public-policy__content > section {
    display: grid;
    grid-template-columns: 44px minmax(0,1fr);
    gap: .9rem;
    padding: 1.2rem 1.4rem;
    border-bottom: 1px solid rgba(18,39,63,.07);
    scroll-margin-top: 110px;
}

.tk-public-policy__content > section > span {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border-radius: 12px;
    background: rgba(212,170,82,.11);
    color: #9c6e1d;
    font-size: .72rem;
    font-weight: 700;
}

.tk-public-policy__content h2 {
    margin: 0;
    color: var(--navy-850);
    font-size: 1rem;
}

.tk-public-policy__content p {
    margin: .35rem 0 0;
    color: var(--muted);
    line-height: 1.9;
}

.tk-inline-gold-link {
    display: inline-flex;
    margin-top: .6rem;
    color: #9d701d;
    font-size: .78rem;
    font-weight: 700;
    text-decoration: none;
}

.tk-public-policy__note {
    padding: 1rem 1.4rem;
    background: #fafbfc;
}

.tk-public-policy__note strong,
.tk-public-policy__note span {
    font-size: .72rem;
}

.tk-public-policy__note strong {
    color: var(--navy-850);
}

.tk-public-policy__note span {
    margin-inline-start: .4rem;
    color: #a77822;
}

.tk-public-policy__note p {
    margin: .35rem 0 0;
    font-size: .75rem;
}

/* Support */
.tk-public-support-page {
    padding: 58px 0 84px;
}

.tk-public-support-page__heading {
    max-width: 680px;
    margin: 0 auto 1.6rem;
    text-align: center;
}

.tk-public-support-page__heading > span {
    color: #a77822;
    font-size: .75rem;
    font-weight: 700;
}

.tk-public-support-page__heading h2 {
    margin: .35rem 0 .5rem;
    color: var(--navy-850);
    font-size: clamp(1.55rem, 2.6vw, 2.2rem);
}

.tk-public-support-page__heading p {
    max-width: 52ch;
    margin: 0 auto;
    color: var(--muted);
    line-height: 1.8;
}

.tk-public-support-cards {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: .85rem;
}

.tk-public-support-card {
    min-height: 210px;
    padding: 1rem;
    border: 1px solid rgba(18,39,63,.08);
    border-radius: 18px;
    background: #fff;
    color: inherit;
    text-decoration: none;
    box-shadow: 0 14px 38px rgba(9,34,58,.045);
}

.tk-public-support-card__icon {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: rgba(212,170,82,.11);
    color: #9d701d;
}

.tk-public-support-card__icon svg {
    width: 23px;
    height: 23px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.tk-public-support-card strong {
    display: block;
    margin-top: .8rem;
    color: var(--navy-850);
    font-size: .92rem;
}

.tk-public-support-card p {
    margin: .35rem 0 0;
    color: var(--muted);
    font-size: .78rem;
    line-height: 1.7;
}

.tk-public-support-card__action {
    display: inline-flex;
    margin-top: .75rem;
    color: #9d701d;
    font-size: .72rem;
    font-weight: 700;
}

.tk-public-support-meta {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: .8rem;
    margin-top: 1rem;
}

.tk-public-support-meta > div {
    padding: .9rem 1rem;
    border: 1px solid rgba(18,39,63,.08);
    border-radius: 15px;
    background: #fbfcfd;
}

.tk-public-support-meta span,
.tk-public-support-meta strong,
.tk-public-support-meta a {
    display: block;
}

.tk-public-support-meta span {
    color: #9b7a40;
    font-size: .7rem;
}

.tk-public-support-meta strong,
.tk-public-support-meta a {
    margin-top: .2rem;
    color: var(--navy-850);
    font-size: .8rem;
    font-weight: 700;
    text-decoration: none;
}

.tk-public-support-message {
    margin-top: 1rem;
    padding: 1rem 1.2rem;
    border-inline-start: 3px solid rgba(212,170,82,.55);
    border-radius: 14px;
    background: rgba(212,170,82,.055);
}

.tk-public-support-message span {
    color: #9d701d;
    font-size: .72rem;
    font-weight: 700;
}

.tk-public-support-message p {
    margin: .35rem 0 0;
    color: var(--muted);
    line-height: 1.8;
}

.tk-public-support-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.2rem;
    margin-top: 1.2rem;
    padding: 1.3rem 1.5rem;
    border-radius: 20px;
    background: linear-gradient(135deg, #071d32, #123b60);
    color: #fff;
}

.tk-public-support-cta span {
    color: var(--gold-light);
    font-size: .72rem;
    font-weight: 700;
}

.tk-public-support-cta h2 {
    margin: .2rem 0 .3rem;
    color: #fff;
    font-size: 1.2rem;
}

.tk-public-support-cta p {
    margin: 0;
    color: rgba(255,255,255,.62);
    font-size: .76rem;
}

@media (max-width: 900px) {
    .tk-public-policy__layout {
        grid-template-columns: 1fr;
    }

    .tk-public-policy__nav {
        position: static;
        grid-template-columns: repeat(3, minmax(0,1fr));
    }

    .tk-public-policy__nav > span {
        grid-column: 1 / -1;
    }

    .tk-public-support-cards {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }
}

@media (max-width: 620px) {
    .tk-public-inner-hero {
        padding: 108px 0 94px;
    }

    .tk-public-inner-hero h1 {
        font-size: 2rem;
    }

    .tk-public-policy,
    .tk-public-support-page {
        padding: 46px 0 66px;
    }

    .tk-public-policy__nav,
    .tk-public-support-cards,
    .tk-public-support-meta {
        grid-template-columns: 1fr;
    }

    .tk-public-policy__content > section {
        grid-template-columns: 1fr;
        padding: 1rem;
    }

    .tk-public-support-cta {
        align-items: flex-start;
        flex-direction: column;
    }

    .tk-public-support-cta .tk-site-btn {
        width: 100%;
    }
}


/* Stage 6.7.4 — contact form readability */
.tk-public-form-grid input::placeholder,
.tk-public-form-grid textarea::placeholder {
    color: #8d98a5;
    font-size: .88rem;
}

@media (max-width: 620px) {
    .tk-public-form-grid span {
        font-size: .9rem;
    }

    .tk-public-form-grid input,
    .tk-public-form-grid select,
    .tk-public-form-grid textarea {
        font-size: .9rem;
    }
}


/* Stage 6.7.5 — clearer label/content contrast */
.tk-public-form-grid input::placeholder,
.tk-public-form-grid textarea::placeholder {
    color: #a8b0ba;
    font-size: .86rem;
    font-weight: 400;
}

.tk-public-form-grid select {
    cursor: pointer;
}

@media (max-width: 620px) {
    .tk-public-form-grid label > span {
        font-size: .78rem;
    }

    .tk-public-form-grid input,
    .tk-public-form-grid select,
    .tk-public-form-grid textarea {
        font-size: .96rem;
    }
}


/* =========================================================
   STAGE 6.7.6 — FINAL RESPONSIVE POLISH
   Public site / Homepage / Header / Footer / Public pages
   ========================================================= */

/* ---------- Base safety for every viewport ---------- */
html,
body {
    max-width: 100%;
    overflow-x: hidden;
}

img,
video,
iframe,
svg {
    max-width: 100%;
}

.tk-site-shell,
.tk-home-hero__grid,
.tk-signature-section__inner,
.tk-about-panel,
.tk-contact-panel,
.tk-role-grid,
.tk-feature-grid,
.tk-public-info__grid,
.tk-news-grid,
.tk-site-footer__grid {
    min-width: 0;
}

.tk-home-hero__copy,
.tk-signature-section__copy,
.tk-about-panel__copy,
.tk-contact-panel__form,
.tk-contact-panel__info,
.tk-news-card,
.tk-role-card,
.tk-feature-card,
.tk-info-card {
    min-width: 0;
}

.tk-home-hero h1,
.tk-signature-section h2,
.tk-about-panel__copy h2,
.tk-section-heading h2,
.tk-contact-panel h2,
.tk-news-card h3,
.tk-role-card h3,
.tk-feature-card h3 {
    overflow-wrap: anywhere;
}

/* ---------- Large desktop ---------- */
@media (min-width: 1440px) {
    .tk-site-shell {
        width: min(100% - 64px, 1240px);
    }

    .tk-home-hero__grid {
        gap: 4.5rem;
    }

    .tk-signature-section__inner {
        gap: 5rem;
    }

    .tk-about-panel {
        gap: 3.4rem;
    }
}

/* ---------- Laptop / small desktop ---------- */
@media (max-width: 1280px) {
    .tk-site-shell {
        width: min(100% - 44px, 1180px);
    }

    .tk-site-header__inner {
        gap: 1rem;
    }

    .tk-site-nav {
        gap: .95rem;
    }

    .tk-site-nav a {
        font-size: 1.02rem;
    }

    .tk-home-hero__grid {
        gap: 2.7rem;
        grid-template-columns:
            minmax(0, 1fr)
            minmax(380px, .9fr);
    }

    .tk-home-hero__visual {
        min-height: 445px;
    }

    .tk-signature-section__inner {
        gap: 2.8rem;
        grid-template-columns:
            minmax(0, 1fr)
            minmax(390px, .9fr);
    }

    .tk-signature-section__visual {
        min-height: 465px;
    }

    .tk-about-panel {
        gap: 2rem;
    }

    .tk-site-footer__grid {
        gap: 1.5rem;
    }
}

/* ---------- Tablet landscape / compact laptop ---------- */
@media (max-width: 1080px) {
    .tk-site-header__inner {
        min-height: 74px;
    }

    .tk-site-brand img {
        height: 56px;
        max-width: 188px;
    }

    .tk-site-menu-toggle {
        flex: 0 0 44px;
    }

    .tk-site-mobile-nav .tk-site-shell {
        max-height: calc(100vh - 76px);
        overflow-y: auto;
        overscroll-behavior: contain;
    }

    .tk-home-hero {
        padding-top: 112px;
    }

    .tk-home-hero__grid {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(340px, .9fr);
        gap: 2rem;
    }

    .tk-home-hero__visual {
        min-height: 400px;
    }

    .tk-home-hero__visual-card {
        inset-inline: 8px;
    }

    .tk-float-card {
        transform: scale(.92);
    }

    .tk-role-grid,
    .tk-public-info__grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .tk-feature-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .tk-signature-section {
        min-height: auto;
        padding-top: 138px;
        padding-bottom: 150px;
    }

    .tk-signature-section__inner {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(350px, .9fr);
        gap: 2rem;
    }

    .tk-signature-section__visual {
        min-height: 420px;
    }

    .tk-signature-strip {
        grid-template-columns:
            repeat(2, minmax(0,1fr));
    }

    .tk-about-panel {
        padding: 1.8rem;
    }

    .tk-news-grid {
        grid-template-columns:
            repeat(2, minmax(0,1fr));
    }

    .tk-contact-panel {
        grid-template-columns:
            minmax(290px, .78fr)
            minmax(0, 1.22fr);
    }

    .tk-contact-panel__info {
        min-height: 500px;
    }

    .tk-site-footer__grid {
        grid-template-columns:
            repeat(2, minmax(0,1fr));
        row-gap: 2rem;
    }
}

/* ---------- Tablet portrait ---------- */
@media (max-width: 900px) {
    .tk-site-shell {
        width: min(100% - 32px, 1180px);
    }

    .tk-home-hero {
        min-height: auto;
        padding: 112px 0 78px;
    }

    .tk-home-hero__grid,
    .tk-signature-section__inner,
    .tk-about-panel,
    .tk-contact-panel {
        grid-template-columns: 1fr;
    }

    .tk-home-hero__copy,
    .tk-signature-section__copy {
        text-align: center;
    }

    .tk-home-hero__copy > p,
    .tk-home-hero h1,
    .tk-signature-section__copy > p,
    .tk-signature-section h2 {
        margin-inline: auto;
    }

    .tk-home-hero h1 span,
    .tk-home-hero h1 strong {
        white-space: normal;
    }

    .tk-home-hero__actions,
    .tk-home-hero__login-note,
    .tk-home-hero__slogan,
    .tk-signature-section__actions {
        justify-content: center;
    }

    .tk-home-hero__visual {
        min-height: 390px;
        margin-top: .6rem;
    }

    .tk-signature-section {
        padding-top: 126px;
        padding-bottom: 135px;
    }

    .tk-signature-section__copy > p {
        max-width: 62ch;
    }

    .tk-signature-section__visual {
        width: min(100%, 650px);
        min-height: 400px;
        margin-inline: auto;
    }

    .tk-signature-section__highlights {
        max-width: 720px;
        margin-inline: auto;
        text-align: start;
    }

    .tk-about-panel {
        padding: 1.6rem;
    }

    .tk-about-panel__copy {
        text-align: center;
    }

    .tk-about-panel__copy p {
        margin-inline: auto;
    }

    .tk-about-panel__visual {
        width: min(100%, 650px);
        margin-inline: auto;
    }

    .tk-section-heading {
        margin-bottom: 1.65rem;
    }

    .tk-section-heading--with-link {
        align-items: center;
        flex-direction: column;
        gap: .75rem;
        text-align: center;
    }

    .tk-section-heading--with-link > div {
        max-width: 100%;
    }

    .tk-contact-panel__info {
        min-height: 390px;
        order: 1;
    }

    .tk-contact-panel__form {
        order: 2;
    }

    .tk-contact-panel__content {
        justify-content: flex-end;
    }

    .tk-site-footer {
        padding-top: 72px;
    }
}

/* ---------- Standard tablet / large mobile ---------- */
@media (max-width: 768px) {
    .tk-site-header {
        backdrop-filter: blur(12px) saturate(125%);
        -webkit-backdrop-filter: blur(12px) saturate(125%);
    }

    .tk-site-mobile-nav a {
        min-height: 44px;
        display: flex;
        align-items: center;
        padding: .7rem .75rem;
    }

    .tk-home-section {
        padding-top: 52px;
        padding-bottom: 52px;
    }

    .tk-home-hero h1 {
        font-size: clamp(1.9rem, 7vw, 2.6rem);
        line-height: 1.3;
    }

    .tk-home-hero__copy > p {
        max-width: 56ch;
        font-size: .94rem;
        line-height: 1.9;
    }

    .tk-home-hero__visual {
        min-height: 350px;
    }

    .tk-float-card {
        max-width: 165px;
        min-width: 145px;
        padding: .58rem .65rem;
    }

    .tk-signature-section h2 {
        font-size: clamp(1.65rem, 5.5vw, 2.25rem);
    }

    .tk-signature-section__visual {
        min-height: 360px;
    }

    .tk-signature-dashboard {
        inset-inline: 6px;
        border-radius: 24px;
    }

    .tk-signature-float {
        min-width: 145px;
    }

    .tk-signature-strip {
        grid-template-columns:
            repeat(2, minmax(0,1fr));
    }

    .tk-role-grid,
    .tk-feature-grid,
    .tk-public-info__grid,
    .tk-news-grid {
        grid-template-columns:
            repeat(2, minmax(0,1fr));
    }

    .tk-role-card,
    .tk-feature-card,
    .tk-info-card {
        min-height: auto;
    }

    .tk-about-panel {
        border-radius: 26px;
    }

    .tk-about-panel__visual {
        min-height: 300px;
    }

    .tk-contact-panel {
        border-radius: 26px;
    }

    .tk-contact-panel__form,
    .tk-contact-panel__content {
        padding: 1.5rem;
    }

    .tk-public-form-grid {
        gap: .8rem;
    }

    .tk-site-footer__grid {
        grid-template-columns:
            repeat(2, minmax(0,1fr));
        gap: 1.7rem 1.2rem;
    }

    .tk-site-footer__brand {
        grid-column: 1 / -1;
    }

    .tk-site-footer__brand p {
        max-width: 520px;
    }

    .tk-footer-contact-list strong {
        overflow-wrap: anywhere;
    }
}

/* ---------- Mobile ---------- */
@media (max-width: 620px) {
    :root {
        --r-lg: 20px;
    }

    .tk-site-shell {
        width: min(100% - 24px, 1180px);
    }

    .tk-site-header__inner {
        min-height: 66px;
    }

    .tk-site-brand img {
        height: 48px;
        max-width: 158px;
    }

    .tk-site-menu-toggle {
        width: 42px;
        height: 42px;
        border-radius: 11px;
    }

    .tk-site-mobile-nav.is-open {
        max-height: calc(100vh - 66px);
    }

    .tk-home-hero {
        padding: 94px 0 54px;
    }

    .tk-home-hero__copy {
        text-align: center;
    }

    .tk-home-hero h1 {
        font-size: clamp(1.75rem, 9vw, 2.2rem);
        line-height: 1.28;
    }

    .tk-home-hero__copy > p {
        font-size: .88rem;
    }

    .tk-home-hero__actions {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
        gap: .55rem;
    }

    .tk-home-hero__actions .tk-site-btn,
    .tk-signature-section__actions .tk-site-btn {
        width: 100%;
    }

    .tk-home-hero__login-note,
    .tk-home-hero__slogan {
        font-size: .72rem;
    }

    .tk-home-hero__visual {
        min-height: 300px;
        margin-top: .2rem;
    }

    .tk-home-hero__visual-card {
        inset: 18px 0;
        border-radius: 20px;
    }

    .tk-float-card {
        min-width: 130px;
        max-width: 150px;
        transform: scale(.86);
        transform-origin: center;
    }

    .tk-signature-section {
        padding: 106px 0 112px;
    }

    .tk-signature-section__wave--top {
        height: 95px;
    }

    .tk-signature-section__wave--bottom {
        height: 110px;
    }

    .tk-signature-section h2 {
        font-size: clamp(1.5rem, 7.5vw, 1.95rem);
        line-height: 1.35;
    }

    .tk-signature-section__copy > p {
        font-size: .86rem;
        line-height: 1.85;
    }

    .tk-signature-section__highlights > div {
        grid-template-columns: 38px minmax(0,1fr);
        padding: .7rem;
    }

    .tk-signature-section__visual {
        min-height: 315px;
    }

    .tk-signature-dashboard {
        inset: 22px 0;
        border-radius: 20px;
    }

    .tk-signature-float {
        min-width: 128px;
        padding: .5rem .6rem;
        border-radius: 13px;
    }

    .tk-signature-float--student {
        inset-inline-start: 0;
        top: 24px;
    }

    .tk-signature-float--teacher {
        inset-inline-end: 0;
    }

    .tk-signature-float--parent {
        inset-inline-start: 8px;
        bottom: 16px;
    }

    .tk-signature-strip,
    .tk-role-grid,
    .tk-feature-grid,
    .tk-public-info__grid,
    .tk-news-grid,
    .tk-public-form-grid,
    .tk-site-footer__grid {
        grid-template-columns: 1fr;
    }

    .tk-signature-strip {
        gap: .55rem;
        margin-top: 1.5rem;
    }

    .tk-signature-strip__item {
        min-height: 88px;
    }

    .tk-section-heading {
        margin-bottom: 1.35rem;
    }

    .tk-section-heading > span {
        font-size: .76rem;
    }

    .tk-section-heading h2,
    .tk-home-features .tk-section-heading h2,
    .tk-public-info .tk-section-heading h2,
    .tk-home-news .tk-section-heading h2 {
        font-size: clamp(1.45rem, 7vw, 1.9rem);
        line-height: 1.35;
    }

    .tk-section-heading p,
    .tk-home-features .tk-section-heading p,
    .tk-public-info .tk-section-heading p {
        max-width: 100%;
        font-size: .84rem;
        line-height: 1.8;
    }

    .tk-role-card,
    .tk-feature-card,
    .tk-info-card,
    .tk-news-card {
        width: 100%;
    }

    .tk-about-panel {
        padding: 1.15rem;
        border-radius: 22px;
    }

    .tk-about-panel__copy h2 {
        font-size: clamp(1.5rem, 7.5vw, 1.9rem);
        line-height: 1.35;
    }

    .tk-about-panel__copy p {
        font-size: .84rem;
        line-height: 1.85;
    }

    .tk-about-panel__visual {
        min-height: 250px;
    }

    .tk-about-panel__quote {
        inset-inline: 8px;
        bottom: 8px;
        max-width: calc(100% - 16px);
    }

    .tk-home-contact {
        padding-bottom: 70px;
    }

    .tk-contact-panel {
        border-radius: 22px;
    }

    .tk-contact-panel__info {
        min-height: 330px;
    }

    .tk-contact-panel__form,
    .tk-contact-panel__content {
        padding: 1.15rem;
    }

    .tk-contact-panel__form-head h2,
    .tk-contact-panel__content h2 {
        font-size: 1.55rem;
    }

    .tk-public-form-grid {
        grid-template-columns: 1fr;
        gap: .7rem;
    }

    .tk-public-form-grid label {
        width: 100%;
    }

    .tk-public-form-grid input,
    .tk-public-form-grid select,
    .tk-public-form-grid textarea {
        min-height: 48px;
    }

    .tk-public-form-grid textarea {
        min-height: 150px;
    }

    .tk-public-contact-form > .tk-site-btn {
        width: 100%;
        min-height: 50px;
    }

    .tk-site-footer {
        padding: 64px 0 18px;
    }

    .tk-site-footer__grid {
        gap: 1.45rem;
    }

    .tk-site-footer__brand {
        grid-column: auto;
    }

    .tk-site-footer__brand img {
        height: 72px;
        max-width: 220px;
    }

    .tk-site-footer__grid > div:not(:first-child) {
        align-items: stretch;
    }

    .tk-site-footer h3 {
        margin-bottom: .55rem;
    }

    .tk-footer-social__icons {
        flex-wrap: wrap;
    }

    .tk-site-footer__bottom {
        gap: .45rem;
        padding-top: 1rem;
        text-align: start;
    }
}

/* ---------- Small mobile ---------- */
@media (max-width: 480px) {
    .tk-site-shell {
        width: min(100% - 20px, 1180px);
    }

    .tk-site-brand img {
        height: 45px;
        max-width: 145px;
    }

    .tk-home-hero {
        padding-top: 88px;
    }

    .tk-home-hero h1 {
        font-size: 1.72rem;
    }

    .tk-home-hero__visual {
        min-height: 270px;
    }

    .tk-float-card {
        min-width: 118px;
        max-width: 138px;
        transform: scale(.8);
    }

    .tk-signature-section {
        padding-top: 98px;
        padding-bottom: 104px;
    }

    .tk-signature-section__visual {
        min-height: 285px;
    }

    .tk-signature-float {
        transform: scale(.88);
    }

    .tk-signature-strip__item {
        grid-template-columns: 46px minmax(0,1fr);
    }

    .tk-signature-strip__number,
    .tk-signature-strip__symbol {
        width: 44px;
        height: 44px;
    }

    .tk-role-card,
    .tk-feature-card,
    .tk-info-card {
        padding: 1rem;
    }

    .tk-contact-panel__info {
        min-height: 300px;
    }

    .tk-contact-list a,
    .tk-contact-list > div {
        grid-template-columns: 1fr;
        gap: .15rem;
    }

    .tk-site-footer__brand p {
        font-size: .8rem;
    }
}

/* ---------- Very small screens ---------- */
@media (max-width: 390px) {
    .tk-site-shell {
        width: min(100% - 16px, 1180px);
    }

    .tk-site-header__inner {
        min-height: 62px;
    }

    .tk-site-brand img {
        height: 42px;
        max-width: 136px;
    }

    .tk-site-menu-toggle {
        width: 40px;
        height: 40px;
    }

    .tk-home-hero {
        padding-top: 82px;
    }

    .tk-home-hero h1 {
        font-size: 1.58rem;
    }

    .tk-home-hero__copy > p {
        font-size: .82rem;
    }

    .tk-home-hero__visual {
        min-height: 250px;
    }

    .tk-float-card {
        transform: scale(.74);
    }

    .tk-signature-section h2,
    .tk-about-panel__copy h2,
    .tk-section-heading h2 {
        font-size: 1.45rem;
    }

    .tk-signature-section__visual {
        min-height: 260px;
    }

    .tk-signature-float {
        transform: scale(.8);
    }

    .tk-contact-panel__form,
    .tk-contact-panel__content {
        padding: 1rem;
    }

    .tk-site-footer__brand img {
        height: 66px;
    }
}

/* ---------- Touch devices: keep effects elegant, not jumpy ---------- */
@media (hover: none), (pointer: coarse) {
    .tk-glow-card:hover,
    .tk-role-card:hover,
    .tk-feature-card:hover,
    .tk-info-card:hover,
    .tk-news-card:hover,
    .tk-signature-strip__item:hover {
        transform: none;
    }

    .tk-cursor-glow {
        display: none !important;
    }
}

/* ---------- Landscape phones ---------- */
@media (max-height: 520px) and (orientation: landscape) {
    .tk-site-mobile-nav.is-open {
        max-height: calc(100vh - 62px);
        overflow-y: auto;
    }

    .tk-home-hero {
        padding-top: 86px;
    }

    .tk-home-hero__grid {
        gap: 1rem;
    }

    .tk-home-hero__visual {
        min-height: 250px;
    }
}


/* =========================================================
   STAGE 6.7.7 — FINAL NAV ORDER + ANDROID APP DOWNLOAD
   ========================================================= */

.tk-site-btn--app {
    border-color: rgba(255,255,255,.22);
    background: rgba(255,255,255,.08);
    color: #fff;
    backdrop-filter: blur(8px);
}

.tk-site-btn--app:hover {
    border-color: rgba(226,187,102,.48);
    background: rgba(226,187,102,.12);
    color: var(--gold-light);
}

.tk-site-btn.is-disabled,
.tk-site-btn--app.is-disabled {
    pointer-events: none;
    cursor: default;
    opacity: .56;
}

/* Dedicated home app CTA */
.tk-home-app-download {
    padding: 12px 0 58px;
}

.tk-home-app-download__panel {
    position: relative;
    display: grid;
    grid-template-columns:
        150px
        minmax(0,1fr)
        auto;
    align-items: center;
    gap: 1.4rem;
    overflow: hidden;
    padding: 1.35rem 1.5rem;
    border: 1px solid rgba(18,39,63,.08);
    border-radius: 26px;
    background:
        radial-gradient(
            circle at 10% 20%,
            rgba(212,170,82,.16),
            transparent 26%
        ),
        linear-gradient(
            135deg,
            #071d32,
            #123b60
        );
    box-shadow:
        0 24px 64px rgba(9,34,58,.13);
    color: #fff;
}

.tk-home-app-download__panel::after {
    content: '';
    position: absolute;
    inset-inline-end: -90px;
    bottom: -150px;
    width: 350px;
    height: 350px;
    border: 1px solid rgba(212,170,82,.18);
    border-radius: 50%;
}

.tk-home-app-download__visual {
    position: relative;
    display: grid;
    place-items: center;
    min-height: 126px;
}

.tk-home-app-download__phone {
    position: relative;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 88px;
    height: 88px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 26px;
    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.12),
            rgba(255,255,255,.035)
        );
    color: var(--gold-light);
    box-shadow:
        0 18px 42px rgba(0,0,0,.18);
    animation:
        tk-role-preview-float
        7s ease-in-out infinite;
}

.tk-home-app-download__phone svg {
    width: 45px;
    height: 45px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.tk-home-app-download__orbit {
    position: absolute;
    border: 1px solid rgba(212,170,82,.18);
    border-radius: 50%;
}

.tk-home-app-download__orbit.is-one {
    width: 125px;
    height: 125px;
}

.tk-home-app-download__orbit.is-two {
    width: 155px;
    height: 155px;
    opacity: .55;
}

.tk-home-app-download__copy {
    position: relative;
    z-index: 2;
}

.tk-home-app-download__copy > span {
    color: var(--gold-light);
    font-size: .72rem;
    font-weight: 700;
}

.tk-home-app-download__copy h2 {
    margin: .25rem 0 .4rem;
    color: #fff;
    font-size:
        clamp(1.4rem, 2.3vw, 2rem);
    line-height: 1.45;
}

.tk-home-app-download__copy p {
    max-width: 58ch;
    margin: 0;
    color: rgba(255,255,255,.66);
    font-size: .82rem;
    line-height: 1.8;
}

.tk-home-app-download__copy small {
    display: inline-flex;
    margin-top: .5rem;
    color: rgba(255,255,255,.48);
    font-size: .68rem;
}

.tk-home-app-download__action {
    position: relative;
    z-index: 2;
}

/* Footer app access — available on all public/internal pages */
.tk-footer-app {
    margin-top: 1rem;
}

.tk-footer-app__button {
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    min-width: 205px;
    padding: .65rem .75rem;
    border: 1px solid rgba(212,170,82,.18);
    border-radius: 14px;
    background: rgba(212,170,82,.075);
    color: #fff;
    text-decoration: none;
    transition:
        transform .2s ease,
        background .2s ease,
        border-color .2s ease;
}

a.tk-footer-app__button:hover {
    transform: translateY(-2px);
    border-color: rgba(212,170,82,.34);
    background: rgba(212,170,82,.12);
}

.tk-footer-app__button.is-disabled {
    opacity: .48;
}

.tk-footer-app__icon {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    border-radius: 11px;
    background: rgba(212,170,82,.12);
    color: var(--gold-light);
}

.tk-footer-app__icon svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.tk-footer-app__button small,
.tk-footer-app__button strong,
.tk-footer-app__button em {
    display: block;
}

.tk-footer-app__button small {
    color: rgba(255,255,255,.46);
    font-size: .6rem;
}

.tk-footer-app__button strong {
    margin-top: .04rem;
    color: rgba(255,255,255,.88);
    font-size: .74rem;
}

.tk-footer-app__button em {
    margin-top: .08rem;
    color: rgba(255,255,255,.42);
    font-size: .58rem;
    font-style: normal;
}

@media (max-width: 900px) {
    .tk-home-app-download__panel {
        grid-template-columns:
            120px
            minmax(0,1fr);
    }

    .tk-home-app-download__action {
        grid-column: 1 / -1;
    }

    .tk-home-app-download__action .tk-site-btn {
        width: 100%;
    }
}

@media (max-width: 620px) {
    .tk-home-app-download {
        padding:
            4px 0 52px;
    }

    .tk-home-app-download__panel {
        grid-template-columns: 1fr;
        gap: .8rem;
        padding: 1.15rem;
        text-align: center;
    }

    .tk-home-app-download__visual {
        min-height: 106px;
    }

    .tk-home-app-download__phone {
        width: 76px;
        height: 76px;
        border-radius: 22px;
    }

    .tk-home-app-download__phone svg {
        width: 39px;
        height: 39px;
    }

    .tk-home-app-download__copy p {
        margin-inline: auto;
    }

    .tk-footer-app__button {
        width: 100%;
        min-width: 0;
    }
}


/* =========================================================
   STAGE 6.8 — HERO APP BUTTON BALANCE
   The Android App button spans the full width of the two
   primary Hero actions above it.
   ========================================================= */
@media (min-width: 621px) {
    .tk-home-hero__actions {
        display: grid;
        grid-template-columns: repeat(2,minmax(0,1fr));
        width: min(100%, 470px);
        gap: .65rem;
    }

    .tk-home-hero__actions > .tk-site-btn {
        width: 100%;
        min-width: 0;
    }

    .tk-home-hero__actions > .tk-site-btn--app {
        grid-column: 1 / -1;
        width: 100%;
    }
}

@media (max-width: 620px) {
    .tk-home-hero__actions {
        width: 100%;
    }

    .tk-home-hero__actions > .tk-site-btn--app {
        width: 100%;
    }
}


/* =========================================================
   STAGE 6.8.1 — MOBILE FOOTER POLISH
   Better balance / hierarchy / beauty on small screens
   ========================================================= */
@media (max-width: 780px) {
    .tk-site-footer {
        padding: 56px 0 20px;
    }

    .tk-site-footer__curve {
        inset: -145px -40% auto;
        height: 185px;
        opacity: .9;
    }

    .tk-site-footer__grid {
        grid-template-columns: 1fr;
        gap: .95rem;
    }

    .tk-site-footer__brand {
        display: grid;
        justify-items: center;
        text-align: center;
        padding-bottom: .35rem;
    }

    .tk-site-footer__brand img {
        height: 76px;
        max-width: 210px;
    }

    .tk-site-footer__brand p {
        max-width: 29ch;
        margin-top: .7rem;
        font-size: .84rem;
        line-height: 1.9;
        color: rgba(255,255,255,.70);
    }

    .tk-footer-app {
        width: 100%;
        max-width: 440px;
        margin-top: .95rem;
    }

    .tk-footer-app__button {
        width: 100%;
        min-width: 0;
        justify-content: space-between;
        padding: .82rem .9rem;
        border-radius: 16px;
        background: rgba(255,255,255,.05);
        border-color: rgba(212,170,82,.18);
        text-align: start;
    }

    .tk-footer-app__button span:last-child {
        min-width: 0;
    }

    .tk-footer-app__button strong {
        font-size: .8rem;
    }

    .tk-footer-app__button small,
    .tk-footer-app__button em {
        font-size: .64rem;
    }

    .tk-site-footer__grid > div:not(:first-child) {
        align-items: stretch;
        padding: 1rem .95rem;
        border: 1px solid rgba(255,255,255,.08);
        border-radius: 1rem;
        background:
            linear-gradient(
                180deg,
                rgba(255,255,255,.04),
                rgba(255,255,255,.015)
            );
        backdrop-filter: blur(6px);
    }

    .tk-site-footer h3 {
        margin-bottom: .8rem;
        font-size: 1rem;
        line-height: 1.5;
    }

    .tk-site-footer a {
        margin: .18rem 0;
        padding: .12rem 0;
        font-size: .87rem;
    }

    .tk-site-footer__contact {
        order: 5;
    }

    .tk-footer-contact-list {
        gap: .78rem;
    }

    .tk-footer-contact-list > a,
    .tk-footer-contact-list > div {
        align-items: flex-start;
        gap: .7rem;
    }

    .tk-footer-contact-list__icon {
        width: 34px;
        height: 34px;
        flex: 0 0 34px;
        border-radius: 10px;
    }

    .tk-footer-contact-list small {
        font-size: .67rem;
    }

    .tk-footer-contact-list strong {
        margin-top: .1rem;
        font-size: .79rem;
        line-height: 1.65;
        overflow-wrap: anywhere;
    }

    .tk-footer-social {
        margin-top: 1rem;
        padding-top: 1rem;
    }

    .tk-footer-social__label {
        margin-bottom: .65rem;
        text-align: center;
        font-size: .72rem;
    }

    .tk-footer-social__icons {
        justify-content: center;
        gap: .55rem;
    }

    .tk-footer-social__icons a,
    .tk-footer-social__icons > span {
        width: 38px;
        height: 38px;
        border-radius: 11px;
    }

    .tk-site-footer__bottom {
        align-items: center;
        flex-direction: column;
        justify-content: center;
        gap: .42rem;
        margin-top: 1.2rem;
        padding-top: .95rem;
        text-align: center;
        line-height: 1.8;
    }
}

@media (max-width: 520px) {
    .tk-site-footer {
        padding: 50px 0 18px;
    }

    .tk-site-footer__brand img {
        height: 70px;
        max-width: 192px;
    }

    .tk-site-footer__brand p {
        max-width: 27ch;
        font-size: .82rem;
    }

    .tk-site-footer__grid > div:not(:first-child) {
        padding: .92rem .82rem;
    }

    .tk-site-footer a {
        font-size: .84rem;
    }

    .tk-site-footer__bottom {
        font-size: .73rem;
    }
}


/* =========================================================
   STAGE 6.8.2 — CURSOR GLOW + FOOTER MOBILE FINAL FIX
   ========================================================= */

/*
 * Fine-pointer responsive preview:
 * keep the glow centered exactly around the cursor.
 * Actual touch devices still hide the cursor glow.
 */
@media (max-width: 780px) and (hover: hover) and (pointer: fine) {
    .tk-cursor-glow {
        width: 250px;
        height: 250px;
        background:
            radial-gradient(
                circle,
                rgba(212,170,82,.105),
                rgba(212,170,82,.035) 38%,
                transparent 72%
            );
    }
}

/* Give the footer brand more breathing room below the gold curve. */
@media (max-width: 780px) {
    .tk-site-footer {
        padding-top: 78px;
    }

    .tk-site-footer__brand {
        padding-top: 1rem;
    }

    .tk-site-footer__brand img {
        margin-bottom: .15rem;
    }

    .tk-site-footer__brand p {
        width: 100%;
        max-width: 44ch;
        margin-inline: auto;
        font-size: clamp(.76rem, 2.55vw, .82rem);
        line-height: 1.8;
    }

    .tk-site-footer__brand p .tk-footer-brand-line {
        display: block;
        white-space: nowrap;
    }
}

@media (max-width: 410px) {
    .tk-site-footer {
        padding-top: 72px;
    }

    .tk-site-footer__brand {
        padding-top: .85rem;
    }

    .tk-site-footer__brand p {
        font-size: .74rem;
    }
}


/* Footer description spans behave as normal text outside mobile. */
.tk-site-footer__brand p .tk-footer-brand-line {
    display: inline;
}

.tk-site-footer__brand p .tk-footer-brand-line + .tk-footer-brand-line::before {
    content: " ";
}

@media (max-width: 780px) {
    .tk-site-footer__brand p .tk-footer-brand-line {
        display: block;
    }

    .tk-site-footer__brand p .tk-footer-brand-line + .tk-footer-brand-line::before {
        content: none;
    }
}
