/* ==========================================================================
   Xkills — Contact page
   Editorial layout inside the storefront dashboard shell. Hairlines, type and
   motion carry the structure instead of boxed cards.
   ========================================================================== */
.xk-ct-dashboard {
    --ct-bg:#050606;
    --ct-ink:#f3f6f3;
    --ct-soft:#c9d3cb;
    --ct-muted:#9aa89e;
    --ct-faint:#66746a;
    --ct-line:rgba(255,255,255,.08);
    --ct-line-strong:rgba(255,255,255,.16);
    --ct-green:#20a52c;
    --ct-green-deep:#12702a;
    --ct-mint:#8fe5a3;
    --ct-gold:#e7c97f;
    --ct-gold-deep:#b89452;
    --ct-danger:#f1a592;
    --ct-serif:'Instrument Serif','Iowan Old Style','Palatino Linotype',Georgia,serif;
    --ct-ease:cubic-bezier(.2,.7,.2,1);
    --ct-ease-out:cubic-bezier(.16,1,.3,1);
    font-family:Inter,Arial,sans-serif;
}
.xk-ct-main { min-height:100vh; }
.xk-ct-page { position:relative; width:100%; padding:0 0 40px; color:var(--ct-ink); }
.xk-ct-page *, .xk-ct-page *::before, .xk-ct-page *::after { box-sizing:border-box; }
.xk-ct-dashboard .xk-home-footer { margin:20px 0 0; }

.xk-ct-page em { font-family:var(--ct-serif); font-style:italic; font-weight:400!important; letter-spacing:-.01em; }
.xk-ct-page h2 em, .xk-ct-title em {
    background:linear-gradient(100deg,var(--ct-gold) 0%,#f6e3ae 45%,var(--ct-gold-deep) 100%);
    -webkit-background-clip:text; background-clip:text; color:transparent;
}

/* Shared type ------------------------------------------------------------ */
.xk-ct-eyebrow, .xk-ct-kicker { display:inline-flex; align-items:center; gap:10px; color:var(--ct-mint); font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.xk-ct-kicker b { color:var(--ct-gold); font-weight:700; letter-spacing:.08em; }
.xk-ct-kicker::after { content:""; width:48px; height:1px; background:linear-gradient(90deg,rgba(143,229,163,.5),transparent); }
.xk-ct-head { display:flex; flex-direction:column; gap:14px; margin-bottom:34px; }
.xk-ct-head h2, .xk-ct-write-intro h2, .xk-ct-map-caption h2 { margin:0; color:var(--ct-ink); font-size:clamp(30px,4vw,54px); line-height:1.04; letter-spacing:-.045em; }
.xk-ct-head h2 em, .xk-ct-write-intro h2 em, .xk-ct-map-caption h2 em { font-size:1.08em; }

/* Buttons ---------------------------------------------------------------- */
.xk-ct-button { position:relative; min-height:50px; display:inline-flex; align-items:center; justify-content:center; gap:11px; overflow:hidden; padding:0 22px; border:1px solid rgba(177,206,183,.2); border-radius:999px; color:#eaf3eb!important; font-size:13px; font-weight:650; text-decoration:none!important; isolation:isolate; transition:border-color .3s ease,box-shadow .3s ease,translate .35s var(--ct-ease-out); }
.xk-ct-button::before { position:absolute; z-index:-1; inset:0; content:""; border-radius:inherit; background:rgba(143,229,163,.1); transform:scaleX(0); transform-origin:left; transition:transform .5s var(--ct-ease-out); }
.xk-ct-button:hover::before, .xk-ct-button:focus-visible::before { transform:scaleX(1); }
.xk-ct-button:hover { border-color:rgba(143,229,163,.5); }
.xk-ct-button i { transition:transform .35s var(--ct-ease-out); }
.xk-ct-button--primary { border-color:transparent; background:linear-gradient(115deg,#15903e,#19763a); box-shadow:0 12px 30px rgba(13,128,52,.25); }
.xk-ct-button--primary::before { background:linear-gradient(115deg,#22ae50,#178645); }
.xk-ct-button--primary:hover i { transform:translateY(3px); }
.xk-ct-button--quiet { background:rgba(255,255,255,.03); }
.xk-ct-button--quiet:hover i { transform:translate(2px,-2px); }
.xk-ct-button span { max-width:260px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

/* Hero ------------------------------------------------------------------- */
.xk-ct-hero { --mx:70%; --my:40%; position:relative; min-height:560px; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr); align-items:center; gap:40px; overflow:hidden; padding:clamp(92px,8vw,120px) clamp(28px,5vw,70px) clamp(84px,7vw,104px); border-radius:0 28px 28px 0; background:radial-gradient(ellipse at 84% 46%,rgba(29,147,58,.30),transparent 46%),linear-gradient(90deg,#050606 0%,#050806 34%,#07110a 62%,#09190d 100%); box-shadow:inset -1px 0 rgba(117,204,133,.16),0 24px 60px rgba(0,0,0,.18); isolation:isolate; }
.xk-ct-hero::after { position:absolute; z-index:-1; inset:0; content:""; pointer-events:none; background:linear-gradient(90deg,#050606 0%,rgba(5,8,6,.85) 30%,rgba(5,8,6,.1) 64%,transparent 82%); }
.xk-ct-spotlight { position:absolute; z-index:-1; inset:0; pointer-events:none; background:radial-gradient(520px circle at var(--mx) var(--my),rgba(143,229,163,.09),transparent 60%); transition:opacity .6s ease; }
.xk-ct-grain { position:absolute; z-index:0; inset:-50%; pointer-events:none; opacity:.07; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); animation:xkCtGrain 1.2s steps(6) infinite; }
.xk-ct-hero-copy { position:relative; z-index:2; max-width:720px; }
.xk-ct-live { position:relative; width:8px; height:8px; border-radius:50%; background:#5ce57d; box-shadow:0 0 12px #5ce57d; }
.xk-ct-live::after { position:absolute; inset:-5px; content:""; border:1px solid #5ce57d; border-radius:50%; animation:xkCtPing 2.4s var(--ct-ease) infinite; }
.xk-ct-title { margin:22px 0 22px; color:#f6faf6; font-size:clamp(46px,6.4vw,92px); line-height:.98; letter-spacing:-.055em; }
.xk-ct-line { display:block; overflow:hidden; padding-bottom:.08em; margin-bottom:-.08em; }
.xk-ct-line > span { display:block; animation:xkCtLineUp 1.1s var(--ct-ease-out) calc(var(--d,0) * 120ms + 120ms) both; }
.xk-ct-title em { font-size:1.1em; line-height:.9; }
.xk-ct-rotator { position:relative; display:inline-block; vertical-align:bottom; overflow:hidden; padding:0 .06em .04em 0; transition:width .7s var(--ct-ease-out); white-space:nowrap; }
.xk-ct-rotator-word { display:inline-block; background:inherit; -webkit-background-clip:text; background-clip:text; }
.xk-ct-lede { max-width:560px; margin:0; color:#a9b8ad; font-size:16px; line-height:1.8; }
.xk-ct-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:32px; }
.xk-ct-rise { animation:xkCtRise 1s var(--ct-ease-out) calc(var(--d,0) * 120ms + 150ms) both; }

/* Signal artwork */
.xk-ct-signal { position:relative; z-index:1; width:min(100%,430px); aspect-ratio:1; justify-self:center; display:grid; place-items:center; animation:xkCtFade 1.6s ease .4s both; }
.xk-ct-signal::before { position:absolute; inset:0; content:""; border-radius:50%; background:repeating-radial-gradient(circle,transparent 0 46px,rgba(143,229,163,.07) 46px 47px); -webkit-mask:radial-gradient(circle,#000 55%,transparent 71%); mask:radial-gradient(circle,#000 55%,transparent 71%); }
.xk-ct-ring { position:absolute; inset:0; border:1px solid rgba(143,229,163,.35); border-radius:50%; opacity:0; animation:xkCtWave 4.8s var(--ct-ease) calc(var(--r) * 1.2s) infinite; }
.xk-ct-axis { position:absolute; background:linear-gradient(90deg,transparent,rgba(143,229,163,.18),transparent); }
.xk-ct-axis--h { width:100%; height:1px; }
.xk-ct-axis--v { width:1px; height:100%; background:linear-gradient(180deg,transparent,rgba(143,229,163,.18),transparent); }
.xk-ct-sweep { position:absolute; inset:6%; border-radius:50%; background:conic-gradient(from 0deg,transparent 0 290deg,rgba(32,165,44,.05) 310deg,rgba(92,229,125,.32) 360deg); -webkit-mask:radial-gradient(circle,#000 68%,transparent 71%); mask:radial-gradient(circle,#000 68%,transparent 71%); animation:xkCtSpin 7s linear infinite; }
.xk-ct-orbit { position:absolute; border:1px dashed rgba(231,201,127,.14); border-radius:50%; animation:xkCtSpin var(--t,22s) linear infinite; }
.xk-ct-orbit i { position:absolute; top:0; left:50%; width:38px; height:38px; display:grid; place-items:center; margin:-19px 0 0 -19px; border:1px solid rgba(198,224,204,.18); border-radius:50%; background:rgba(11,20,14,.92); color:var(--ct-mint); font-size:13px; box-shadow:0 12px 30px rgba(0,0,0,.4),0 0 18px rgba(92,229,125,.12); animation:xkCtSpin var(--t,22s) linear infinite reverse; }
.xk-ct-orbit--a { inset:12%; --t:24s; }
.xk-ct-orbit--b { inset:24%; --t:17s; animation-direction:reverse; }
.xk-ct-orbit--b i { animation-direction:normal; color:var(--ct-gold); }
.xk-ct-orbit--c { inset:1%; --t:34s; animation-delay:-12s; }
.xk-ct-orbit--c i { animation-delay:-12s; }
.xk-ct-core { position:relative; z-index:2; width:92px; height:92px; display:grid; place-items:center; border:1px solid rgba(139,229,157,.4); border-radius:50%; background:radial-gradient(circle at 35% 30%,rgba(40,120,62,.95),rgba(7,18,11,.96) 70%); box-shadow:0 0 0 10px rgba(32,165,44,.06),0 0 70px rgba(32,181,75,.3),inset 0 1px rgba(255,255,255,.1); animation:xkCtBreathe 4s ease-in-out infinite; }
.xk-ct-core svg { width:40px; height:36px; overflow:visible; fill:none; stroke:#a2f1ad; stroke-width:2.6; stroke-linecap:round; stroke-linejoin:round; }
.xk-ct-core svg path { stroke-dasharray:60; animation:xkCtDraw 3.2s var(--ct-ease) infinite alternate; }
.xk-ct-core svg circle { fill:#a2f1ad; stroke:none; }

/* Live clock */
.xk-ct-clock { position:absolute; z-index:2; right:clamp(28px,4vw,56px); bottom:30px; display:grid; gap:2px; padding-left:18px; border-left:1px solid rgba(231,201,127,.35); }
.xk-ct-clock-label { color:var(--ct-faint); font-size:10px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.xk-ct-clock-time { color:var(--ct-ink); font-family:var(--ct-serif); font-size:34px; line-height:1.1; font-variant-numeric:tabular-nums; }
.xk-ct-clock-time .xk-ct-colon { animation:xkCtBlink 1s steps(2) infinite; }
.xk-ct-clock-zone { color:var(--ct-gold); font-size:10px; letter-spacing:.14em; }

/* Scroll reveal (enabled by JS) ----------------------------------------- */
.xk-ct-js .xk-ct-reveal { opacity:0; transform:translateY(34px); transition:opacity .9s ease,transform 1.1s var(--ct-ease-out); }
.xk-ct-js .xk-ct-reveal.is-visible { opacity:1; transform:none; }
.xk-ct-js .xk-ct-reveal .xk-ct-head h2, .xk-ct-js .xk-ct-reveal .xk-ct-write-intro h2 { clip-path:inset(0 0 100% 0); transform:translateY(24px); transition:clip-path 1.1s var(--ct-ease-out) .1s,transform 1.1s var(--ct-ease-out) .1s; }
.xk-ct-js .xk-ct-reveal.is-visible .xk-ct-head h2, .xk-ct-js .xk-ct-reveal.is-visible .xk-ct-write-intro h2 { clip-path:inset(0 0 -10% 0); transform:none; }

/* Direct lines ----------------------------------------------------------- */
.xk-ct-lines { padding:clamp(70px,8vw,110px) clamp(4px,2vw,24px) 30px; }
.xk-ct-index { margin:0; padding:0; list-style:none; border-top:1px solid var(--ct-line-strong); }
.xk-ct-row { position:relative; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:18px; border-bottom:1px solid var(--ct-line-strong); isolation:isolate; }
.xk-ct-row::before { position:absolute; z-index:-1; inset:0; content:""; background:linear-gradient(90deg,rgba(32,165,44,.16),rgba(32,165,44,.04) 55%,transparent); transform:scaleX(0); transform-origin:left; transition:transform .7s var(--ct-ease-out); }
.xk-ct-row::after { position:absolute; left:0; bottom:-1px; width:100%; height:1px; content:""; background:linear-gradient(90deg,var(--ct-mint),var(--ct-gold) 60%,transparent); transform:scaleX(0); transform-origin:left; transition:transform .9s var(--ct-ease-out); }
.xk-ct-row:hover::before, .xk-ct-row:focus-within::before { transform:scaleX(1); }
.xk-ct-row:hover::after, .xk-ct-row:focus-within::after { transform:scaleX(1); }
.xk-ct-row-link { min-height:112px; display:grid; grid-template-columns:64px minmax(150px,230px) minmax(0,1fr) 52px; align-items:center; gap:18px; padding:20px 0 20px 12px; color:inherit!important; text-decoration:none!important; outline:0; }
.xk-ct-row-num { color:var(--ct-faint); font-family:var(--ct-serif); font-size:22px; font-style:italic; transition:color .4s ease,transform .5s var(--ct-ease-out); }
.xk-ct-row-label { display:flex; flex-direction:column; gap:6px; color:var(--ct-soft); font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.xk-ct-row-label small { color:var(--ct-faint); font-size:11px; font-weight:500; letter-spacing:0; text-transform:none; }
.xk-ct-row-value { overflow:hidden; color:var(--ct-ink); font-size:clamp(20px,2.5vw,34px); font-weight:400; letter-spacing:-.035em; text-overflow:ellipsis; white-space:nowrap; transition:transform .6s var(--ct-ease-out),color .4s ease; }
.xk-ct-row-arrow { width:52px; height:52px; display:grid; place-items:center; border:1px solid var(--ct-line-strong); border-radius:50%; color:var(--ct-soft); font-size:15px; transition:background .4s ease,border-color .4s ease,color .4s ease,transform .6s var(--ct-ease-out); }
.xk-ct-row:hover .xk-ct-row-num, .xk-ct-row:focus-within .xk-ct-row-num { color:var(--ct-gold); transform:translateX(4px); }
.xk-ct-row:hover .xk-ct-row-value, .xk-ct-row:focus-within .xk-ct-row-value { transform:translateX(14px); color:#fff; }
.xk-ct-row:not(.xk-ct-row--static):hover .xk-ct-row-arrow, .xk-ct-row-link:focus-visible .xk-ct-row-arrow { border-color:transparent; background:var(--ct-green); color:#fff; transform:rotate(-45deg); }
.xk-ct-row-link:focus-visible { box-shadow:inset 0 0 0 2px rgba(143,229,163,.5); border-radius:4px; }
.xk-ct-copy { min-height:40px; display:inline-flex; align-items:center; gap:8px; margin-right:12px; padding:0 15px; border:1px solid var(--ct-line-strong); border-radius:999px; background:transparent; color:var(--ct-muted); font-size:11px; font-weight:650; letter-spacing:.06em; cursor:pointer; transition:color .3s ease,border-color .3s ease,background .3s ease; }
.xk-ct-copy:hover, .xk-ct-copy:focus-visible { color:var(--ct-ink); border-color:rgba(231,201,127,.5); background:rgba(231,201,127,.07); outline:0; }
.xk-ct-copy.is-copied { color:#0b140e; border-color:transparent; background:var(--ct-gold); }
.xk-ct-js .xk-ct-reveal .xk-ct-row { opacity:0; transform:translateY(18px); transition:opacity .7s ease calc(var(--i,0) * 110ms + 250ms),transform .9s var(--ct-ease-out) calc(var(--i,0) * 110ms + 250ms); }
.xk-ct-js .xk-ct-reveal.is-visible .xk-ct-row { opacity:1; transform:none; }

/* Write a note ------------------------------------------------------------ */
.xk-ct-write { display:grid; grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr); gap:clamp(36px,6vw,96px); align-items:start; padding:clamp(70px,8vw,110px) clamp(4px,2vw,24px) 40px; }
.xk-ct-write-intro { position:sticky; top:40px; display:flex; flex-direction:column; gap:16px; }
.xk-ct-write-intro > p { margin:0; max-width:380px; color:var(--ct-muted); font-size:14px; line-height:1.8; }
.xk-ct-path { --p:0; position:relative; display:grid; gap:26px; margin:22px 0 0; padding:0 0 0 30px; list-style:none; }
.xk-ct-path::before, .xk-ct-path::after { position:absolute; top:6px; bottom:6px; left:5px; width:1px; content:""; background:var(--ct-line-strong); }
.xk-ct-path::after { background:linear-gradient(180deg,var(--ct-mint),var(--ct-gold)); transform:scaleY(var(--p)); transform-origin:top; transition:transform .2s linear; }
.xk-ct-path li { position:relative; display:flex; gap:14px; }
.xk-ct-path li::before { position:absolute; z-index:1; top:5px; left:-30px; width:11px; height:11px; content:""; border:1px solid var(--ct-mint); border-radius:50%; background:var(--ct-bg); transition:background .4s ease,box-shadow .4s ease; }
.xk-ct-path li.is-lit::before { background:var(--ct-mint); box-shadow:0 0 14px rgba(143,229,163,.7); }
.xk-ct-path b { color:var(--ct-gold); font-family:var(--ct-serif); font-size:17px; font-style:italic; font-weight:400; line-height:1.2; }
.xk-ct-path span { color:var(--ct-muted); font-size:12px; line-height:1.7; }
.xk-ct-path strong { display:block; color:var(--ct-ink); font-size:14px; font-weight:600; }

.xk-ct-letter { position:relative; padding:clamp(8px,2vw,20px) 0 0 clamp(0px,3vw,48px); border-left:1px solid var(--ct-line); }
.xk-ct-stamp { position:absolute; top:-18px; right:0; width:112px; height:112px; display:grid; place-items:center; color:var(--ct-gold); pointer-events:none; }
.xk-ct-stamp svg { position:absolute; inset:0; width:100%; height:100%; overflow:visible; animation:xkCtSpin 26s linear infinite; }
.xk-ct-stamp circle { fill:none; stroke:rgba(231,201,127,.3); stroke-width:1; }
.xk-ct-stamp circle + circle { stroke-dasharray:2 4; }
.xk-ct-stamp text { fill:rgba(231,201,127,.75); font-family:Inter,Arial,sans-serif; font-size:8.6px; font-weight:700; letter-spacing:2.6px; }
.xk-ct-stamp > i { font-size:18px; transform:rotate(-12deg); animation:xkCtHover 4s ease-in-out infinite; }
.xk-ct-salute { margin:0 0 24px; padding-right:130px; color:var(--ct-ink); font-family:var(--ct-serif); font-size:clamp(40px,4.4vw,60px); font-style:italic; line-height:1; letter-spacing:-.02em; }
.xk-ct-sentence { margin:0 0 20px; color:var(--ct-muted); font-size:clamp(19px,1.9vw,25px); font-weight:300; line-height:2.05; letter-spacing:-.015em; }
.xk-ct-blank { position:relative; display:inline-block; margin:0 .18em; vertical-align:baseline; }
.xk-ct-blank input { width:10ch; min-width:6ch; max-width:100%; height:1.5em; padding:0 .1em; border:0; border-radius:0; background:linear-gradient(90deg,var(--ct-mint),var(--ct-gold)) left bottom/0 2px no-repeat,linear-gradient(var(--ct-line-strong),var(--ct-line-strong)) left bottom/100% 1px no-repeat; color:var(--ct-ink); font:inherit; font-weight:500; line-height:1.5em; letter-spacing:-.02em; outline:0; transition:background-size .6s var(--ct-ease-out),width .25s ease; }
.xk-ct-blank input::placeholder { color:#4f5d53; font-weight:300; font-style:italic; }
.xk-ct-blank input:focus { background-size:100% 2px,100% 1px; }
.xk-ct-blank input:-webkit-autofill { -webkit-text-fill-color:var(--ct-ink); -webkit-box-shadow:0 0 0 40px var(--ct-bg) inset; caret-color:var(--ct-ink); }
.xk-ct-blank.is-invalid input, .xk-ct-blank input[aria-invalid="true"] { background:linear-gradient(var(--ct-danger),var(--ct-danger)) left bottom/100% 2px no-repeat; }
.xk-ct-blank.is-invalid input::placeholder { color:rgba(241,165,146,.6); }
.xk-ct-shake { animation:xkCtShake .5s ease; }

.xk-ct-topics { display:flex; flex-wrap:wrap; align-items:center; gap:14px 18px; min-width:0; margin:14px 0 30px; padding:0; border:0; }
.xk-ct-topics legend { float:left; width:auto; margin:0; padding:0; color:var(--ct-muted); font-size:clamp(19px,1.9vw,25px); font-weight:300; letter-spacing:-.015em; }
.xk-ct-topic-list { display:flex; flex-wrap:wrap; gap:9px; }
.xk-ct-topic { position:relative; margin:0; cursor:pointer; }
.xk-ct-topic input { position:absolute; opacity:0; pointer-events:none; }
.xk-ct-topic span { position:relative; display:inline-flex; align-items:center; min-height:40px; overflow:hidden; padding:0 17px; border:1px solid var(--ct-line-strong); border-radius:999px; color:var(--ct-soft); font-size:13px; font-weight:550; isolation:isolate; transition:color .35s ease,border-color .35s ease,transform .35s var(--ct-ease-out); }
.xk-ct-topic span::before { position:absolute; z-index:-1; inset:0; content:""; border-radius:inherit; background:linear-gradient(115deg,#15903e,#19763a); transform:scale(0); transition:transform .5s var(--ct-ease-out); }
.xk-ct-topic:hover span { border-color:rgba(143,229,163,.45); transform:translateY(-2px); }
.xk-ct-topic input:checked + span { color:#fff; border-color:transparent; }
.xk-ct-topic input:checked + span::before { transform:scale(1.02); }
.xk-ct-topic input:focus-visible + span { box-shadow:0 0 0 3px rgba(143,229,163,.35); }

.xk-ct-message { display:block; margin:0 0 30px; }
.xk-ct-message-label { display:block; margin-bottom:6px; color:var(--ct-gold); font-family:var(--ct-serif); font-size:24px; font-style:italic; }
.xk-ct-message textarea { display:block; width:100%; min-height:200px; resize:none; overflow:hidden; padding:4px 0 0; border:0; border-radius:0; background:repeating-linear-gradient(180deg,transparent 0 39px,rgba(255,255,255,.1) 39px 40px) local; color:var(--ct-ink); font-size:17px; line-height:40px; outline:0; caret-color:var(--ct-gold); transition:background .4s ease; }
.xk-ct-message textarea::placeholder { color:#4f5d53; font-style:italic; }
.xk-ct-message textarea:focus { background:repeating-linear-gradient(180deg,transparent 0 39px,rgba(143,229,163,.22) 39px 40px) local; }
.xk-ct-message.is-invalid textarea { background:repeating-linear-gradient(180deg,transparent 0 39px,rgba(241,165,146,.4) 39px 40px) local; }

.xk-ct-signoff { display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:24px; padding-top:22px; border-top:1px solid var(--ct-line); }
.xk-ct-signature { display:flex; flex-direction:column; gap:2px; min-width:0; }
.xk-ct-signature span { color:var(--ct-muted); font-size:13px; }
.xk-ct-signature strong { max-width:420px; overflow:hidden; color:var(--ct-gold); font-family:var(--ct-serif); font-size:clamp(34px,3.6vw,48px); font-style:italic; font-weight:400!important; line-height:1.15; text-overflow:ellipsis; white-space:nowrap; }
.xk-ct-signature strong.is-writing { animation:xkCtWrite .9s var(--ct-ease-out) both; }
.xk-ct-signature strong.is-empty { color:#4f5d53; }

.xk-ct-send { position:relative; min-height:62px; display:inline-flex; align-items:center; gap:16px; overflow:hidden; padding:0 8px 0 28px; border:0; border-radius:999px; background:linear-gradient(115deg,#15903e,#19763a); color:#fff; font-size:15px; font-weight:650; cursor:pointer; box-shadow:0 16px 40px rgba(13,128,52,.28),inset 0 1px rgba(255,255,255,.16); isolation:isolate; transition:box-shadow .4s ease,translate .35s var(--ct-ease-out); }
.xk-ct-send::before { position:absolute; z-index:-1; inset:0; content:""; background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.22) 50%,transparent 70%); transform:translateX(-120%); }
.xk-ct-send:hover::before { animation:xkCtShine 1s var(--ct-ease) both; }
.xk-ct-send:hover { box-shadow:0 20px 50px rgba(13,128,52,.4),inset 0 1px rgba(255,255,255,.2); }
.xk-ct-send:focus-visible { outline:2px solid var(--ct-gold); outline-offset:4px; }
.xk-ct-send-icon { position:relative; width:46px; height:46px; display:grid; place-items:center; overflow:hidden; border-radius:50%; background:rgba(5,6,6,.28); }
.xk-ct-send:hover .xk-ct-send-icon i { animation:xkCtFly .8s var(--ct-ease-out) both; }
.xk-ct-send.is-sending { pointer-events:none; }
.xk-ct-send.is-sending .xk-ct-send-icon i { animation:xkCtLaunch .9s var(--ct-ease) forwards; }
.xk-ct-send.is-sending .xk-ct-send-icon::after { position:absolute; inset:6px; content:""; border:2px solid rgba(255,255,255,.25); border-top-color:#fff; border-radius:50%; animation:xkCtSpin .8s linear .6s infinite; opacity:0; animation-fill-mode:forwards; }
.xk-ct-send.is-sending .xk-ct-send-icon::after { animation:xkCtSpin .8s linear infinite, xkCtFade .3s ease .6s forwards; }

.xk-ct-notice { display:flex; align-items:flex-start; gap:12px; margin:0 130px 26px 0; padding:14px 16px; border-left:2px solid var(--ct-mint); background:linear-gradient(90deg,rgba(32,165,44,.12),transparent); color:var(--ct-soft); font-size:13px; line-height:1.6; animation:xkCtRise .7s var(--ct-ease-out) both; }
.xk-ct-notice i { margin-top:3px; color:var(--ct-mint); }
.xk-ct-notice strong { display:block; color:var(--ct-ink); font-weight:600; }
.xk-ct-notice--error { border-left-color:var(--ct-danger); background:linear-gradient(90deg,rgba(182,93,69,.14),transparent); }
.xk-ct-notice--error i { color:var(--ct-danger); }

/* Quick answers ----------------------------------------------------------- */
.xk-ct-answers { padding:clamp(70px,8vw,110px) clamp(4px,2vw,24px) 30px; }
.xk-ct-faq { border-top:1px solid var(--ct-line-strong); }
.xk-ct-faq details { border-bottom:1px solid var(--ct-line-strong); }
.xk-ct-faq summary { position:relative; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:28px 12px; color:var(--ct-soft); font-size:clamp(18px,2vw,26px); font-weight:500; letter-spacing:-.025em; list-style:none; cursor:pointer; transition:color .35s ease,padding .5s var(--ct-ease-out); }
.xk-ct-faq summary::-webkit-details-marker { display:none; }
.xk-ct-faq summary:hover, .xk-ct-faq details[open] summary { color:#fff; padding-left:22px; }
.xk-ct-faq summary:focus-visible { outline:0; box-shadow:inset 0 0 0 2px rgba(143,229,163,.45); }
.xk-ct-faq summary > i { position:relative; flex:0 0 44px; width:44px; height:44px; border:1px solid var(--ct-line-strong); border-radius:50%; transition:background .4s ease,border-color .4s ease,transform .6s var(--ct-ease-out); }
.xk-ct-faq summary > i::before, .xk-ct-faq summary > i::after { position:absolute; top:50%; left:50%; width:14px; height:1.5px; margin:-.75px 0 0 -7px; content:""; background:currentColor; transition:transform .5s var(--ct-ease-out); }
.xk-ct-faq summary > i::after { transform:rotate(90deg); }
.xk-ct-faq details[open] summary > i { border-color:transparent; background:var(--ct-gold); color:#0b140e; transform:rotate(180deg); }
.xk-ct-faq details[open] summary > i::after { transform:rotate(0deg); }
.xk-ct-faq-body { overflow:hidden; }
.xk-ct-faq-body p { max-width:760px; margin:0; padding:0 12px 30px 22px; color:var(--ct-muted); font-size:15px; line-height:1.85; }
.xk-ct-faq-body a { color:var(--ct-mint)!important; text-decoration:underline; text-decoration-color:rgba(143,229,163,.35); text-underline-offset:4px; white-space:nowrap; }
.xk-ct-faq-body a:hover { text-decoration-color:var(--ct-mint); }

/* Place ------------------------------------------------------------------- */
.xk-ct-place { padding:clamp(60px,7vw,100px) 0 10px; }
.xk-ct-marquee { overflow:hidden; margin-bottom:26px; -webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); }
.xk-ct-marquee-track { display:flex; align-items:center; gap:38px; width:max-content; animation:xkCtMarquee 38s linear infinite; }
.xk-ct-marquee-track span { color:transparent; font-family:var(--ct-serif); font-size:clamp(52px,8vw,120px); font-style:italic; line-height:1.1; white-space:nowrap; -webkit-text-stroke:1px rgba(143,229,163,.4); }
.xk-ct-marquee-track span:nth-of-type(odd) { color:rgba(243,246,243,.9); -webkit-text-stroke:0; }
.xk-ct-marquee-track i { color:var(--ct-gold); font-size:26px; font-style:normal; }
.xk-ct-marquee:hover .xk-ct-marquee-track { animation-play-state:paused; }
.xk-ct-map { position:relative; min-height:460px; overflow:hidden; border-radius:28px 0 0 28px; background:#0a100c; box-shadow:inset 1px 0 rgba(117,204,133,.16); }
.xk-ct-map iframe { position:absolute; inset:0; width:100%; height:100%; border:0; filter:invert(92%) hue-rotate(180deg) saturate(.35) brightness(.85) contrast(.95); transform:scale(1.04); transition:filter .8s ease,transform 1.4s var(--ct-ease-out); }
.xk-ct-map:hover iframe { filter:invert(92%) hue-rotate(180deg) saturate(.6) brightness(.95) contrast(1); transform:scale(1); }
.xk-ct-map::after { position:absolute; inset:0; content:""; pointer-events:none; background:linear-gradient(90deg,#050606 0%,rgba(5,6,6,.92) 26%,rgba(5,6,6,.2) 58%,transparent 75%),radial-gradient(ellipse at 80% 50%,rgba(32,165,44,.14),transparent 60%); }
.xk-ct-map-caption { position:relative; z-index:2; width:min(100%,460px); display:flex; flex-direction:column; align-items:flex-start; gap:16px; padding:clamp(34px,5vw,64px); pointer-events:none; }
.xk-ct-map-caption > * { pointer-events:auto; }
.xk-ct-map-caption p { margin:0; color:var(--ct-muted); font-size:14px; line-height:1.8; }
.xk-ct-coords { color:var(--ct-faint); font-size:11px; letter-spacing:.14em; }

/* Toast ------------------------------------------------------------------- */
.xk-ct-toast { position:fixed; z-index:11001; left:50%; bottom:28px; display:flex; align-items:center; gap:10px; padding:13px 20px; border:1px solid rgba(231,201,127,.4); border-radius:999px; background:rgba(14,22,17,.94); color:var(--ct-ink, #f3f6f3); font-size:13px; box-shadow:0 18px 44px rgba(0,0,0,.5); backdrop-filter:blur(12px); transform:translate(-50%,0); animation:xkCtToast .5s cubic-bezier(.16,1,.3,1) both; }
.xk-ct-toast i { color:#e7c97f; }
.xk-ct-toast[hidden] { display:none; }

/* Keyframes --------------------------------------------------------------- */
@keyframes xkCtLineUp { from { transform:translateY(108%) rotate(2deg); } to { transform:none; } }
@keyframes xkCtRise { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:none; } }
@keyframes xkCtFade { from { opacity:0; } to { opacity:1; } }
@keyframes xkCtPing { 0% { transform:scale(.5); opacity:1; } 80%,100% { transform:scale(1.8); opacity:0; } }
@keyframes xkCtWave { 0% { transform:scale(.18); opacity:0; } 15% { opacity:.9; } 100% { transform:scale(1); opacity:0; } }
@keyframes xkCtSpin { to { transform:rotate(360deg); } }
@keyframes xkCtBreathe { 0%,100% { box-shadow:0 0 0 10px rgba(32,165,44,.06),0 0 60px rgba(32,181,75,.25),inset 0 1px rgba(255,255,255,.1); } 50% { box-shadow:0 0 0 18px rgba(32,165,44,.03),0 0 90px rgba(32,181,75,.4),inset 0 1px rgba(255,255,255,.1); } }
@keyframes xkCtDraw { from { stroke-dashoffset:60; } 40%,to { stroke-dashoffset:0; } }
@keyframes xkCtBlink { 50% { opacity:.2; } }
@keyframes xkCtGrain { 0% { transform:translate(0,0); } 20% { transform:translate(-5%,3%); } 40% { transform:translate(3%,-4%); } 60% { transform:translate(-3%,5%); } 80% { transform:translate(4%,2%); } 100% { transform:translate(0,0); } }
@keyframes xkCtHover { 0%,100% { transform:rotate(-12deg) translateY(0); } 50% { transform:rotate(-6deg) translateY(-4px); } }
@keyframes xkCtShake { 0%,100% { transform:none; } 20% { transform:translateX(-6px); } 40% { transform:translateX(5px); } 60% { transform:translateX(-3px); } 80% { transform:translateX(2px); } }
@keyframes xkCtWrite { from { clip-path:inset(0 100% 0 0); opacity:.4; } to { clip-path:inset(0 -5% 0 0); opacity:1; } }
@keyframes xkCtShine { to { transform:translateX(120%); } }
@keyframes xkCtFly { 0% { transform:none; } 45% { transform:translate(26px,-26px); opacity:0; } 46% { transform:translate(-26px,26px); opacity:0; } 100% { transform:none; opacity:1; } }
@keyframes xkCtLaunch { 0% { transform:none; } 30% { transform:translate(-4px,4px); } 100% { transform:translate(60px,-60px) scale(.6); opacity:0; } }
@keyframes xkCtMarquee { to { transform:translateX(-50%); } }
@keyframes xkCtToast { from { opacity:0; transform:translate(-50%,16px) scale(.96); } to { opacity:1; transform:translate(-50%,0); } }

/* Responsive -------------------------------------------------------------- */
@media (max-width:1200px) {
    .xk-ct-row-link { grid-template-columns:52px minmax(130px,190px) minmax(0,1fr) 46px; }
    .xk-ct-row-arrow { width:46px; height:46px; }
}
@media (max-width:1000px) {
    .xk-ct-hero { grid-template-columns:1fr; min-height:0; padding-bottom:140px; }
    .xk-ct-signal { position:absolute; z-index:0; right:-12%; top:50%; width:min(70vw,460px); opacity:.45; transform:translateY(-50%); }
    .xk-ct-write { grid-template-columns:1fr; }
    .xk-ct-write-intro { position:static; }
    .xk-ct-path { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; padding:26px 0 0; }
    .xk-ct-path::before, .xk-ct-path::after { top:5px; bottom:auto; left:0; right:0; width:auto; height:1px; }
    .xk-ct-path::after { transform:scaleX(var(--p)); transform-origin:left; }
    .xk-ct-path li { flex-direction:column; gap:6px; }
    .xk-ct-path li::before { top:-26px; left:0; }
    .xk-ct-letter { padding-left:0; border-left:0; }
}
@media (max-width:700px) {
    .xk-ct-hero { margin:0; padding:78px 22px 150px; border-radius:20px; }
    .xk-ct-title { font-size:clamp(40px,12vw,58px); }
    .xk-ct-lede { font-size:14px; }
    .xk-ct-signal { right:-30%; top:40%; width:90vw; opacity:.3; }
    .xk-ct-clock { right:auto; left:22px; bottom:26px; }
    .xk-ct-clock-time { font-size:28px; }
    .xk-ct-actions .xk-ct-button { width:100%; }
    .xk-ct-lines, .xk-ct-write, .xk-ct-answers { padding-left:0; padding-right:0; }
    .xk-ct-row { grid-template-columns:1fr; gap:0; }
    .xk-ct-row-link { min-height:0; grid-template-columns:34px minmax(0,1fr) 40px; grid-template-areas:"num label arrow" "num value arrow"; gap:6px 12px; padding:22px 4px; }
    .xk-ct-row-num { grid-area:num; align-self:start; font-size:18px; }
    .xk-ct-row-label { grid-area:label; font-size:11px; }
    .xk-ct-row-label small { display:none; }
    .xk-ct-row-value { grid-area:value; font-size:19px; white-space:normal; overflow-wrap:anywhere; }
    .xk-ct-row-arrow { grid-area:arrow; width:40px; height:40px; font-size:13px; }
    .xk-ct-row:hover .xk-ct-row-value { transform:none; }
    .xk-ct-copy { justify-self:start; min-height:44px; margin:-8px 0 18px 50px; }
    .xk-ct-path { grid-template-columns:1fr; gap:20px; padding:0 0 0 28px; }
    .xk-ct-path::before, .xk-ct-path::after { top:6px; bottom:6px; left:5px; right:auto; width:1px; height:auto; }
    .xk-ct-path::after { transform:scaleY(var(--p)); transform-origin:top; }
    .xk-ct-path li { flex-direction:row; }
    .xk-ct-path li::before { top:5px; left:-28px; }
    .xk-ct-stamp { top:-6px; width:84px; height:84px; }
    .xk-ct-salute { padding-right:90px; font-size:40px; }
    .xk-ct-sentence, .xk-ct-topics legend { font-size:18px; line-height:2.1; }
    .xk-ct-blank input { font-size:16px; }
    .xk-ct-topic span { min-height:44px; }
    .xk-ct-notice { margin-right:0; }
    .xk-ct-signoff { flex-direction:column; align-items:stretch; }
    .xk-ct-send { justify-content:space-between; width:100%; }
    .xk-ct-faq summary { padding:22px 4px; font-size:17px; }
    .xk-ct-faq summary:hover, .xk-ct-faq details[open] summary { padding-left:4px; }
    .xk-ct-faq-body p { padding:0 4px 24px; font-size:14px; }
    .xk-ct-map { min-height:0; display:flex; flex-direction:column-reverse; border-radius:20px; }
    .xk-ct-map iframe { position:relative; height:280px; }
    .xk-ct-map::after { background:linear-gradient(0deg,transparent 60%,rgba(5,6,6,.6)); }
    .xk-ct-map-caption { width:100%; padding:26px 22px; background:#070a08; }
    .xk-ct-toast { bottom:max(16px,env(safe-area-inset-bottom)); max-width:calc(100vw - 32px); }
}

@media (prefers-reduced-motion:reduce) {
    .xk-ct-page *, .xk-ct-page *::before, .xk-ct-page *::after { animation-duration:.01ms!important; animation-iteration-count:1!important; animation-delay:0s!important; transition-duration:.01ms!important; }
    .xk-ct-js .xk-ct-reveal, .xk-ct-js .xk-ct-reveal .xk-ct-row, .xk-ct-js .xk-ct-reveal h2 { opacity:1!important; transform:none!important; clip-path:none!important; }
    .xk-ct-ring { opacity:.25; transform:scale(.7); }
    .xk-ct-marquee-track { animation:none!important; }
}

/* The storefront styles every input as a boxed field; the letter keeps its
   open, underlined blanks instead. */
.xk-ct-letter .xk-ct-blank input,
.xk-ct-letter .xk-ct-blank input:focus,
.xk-ct-letter .xk-ct-message textarea,
.xk-ct-letter .xk-ct-message textarea:focus { background-color:transparent!important; border:0!important; box-shadow:none!important; color:var(--ct-ink)!important; outline:0!important; }
.xk-ct-letter .xk-ct-blank input::placeholder,
.xk-ct-letter .xk-ct-message textarea::placeholder { color:#56645a!important; opacity:1; }
.xk-ct-letter .xk-ct-blank.is-invalid input::placeholder { color:rgba(241,165,146,.65)!important; }

/* Hero proportions: keep "you're making." on a single line on wide screens. */
.xk-ct-hero { grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr); }
.xk-ct-hero-copy { max-width:820px; }
.xk-ct-title { font-size:clamp(46px,5.6vw,86px); }
.xk-ct-write-intro h2 { font-size:clamp(30px,3.3vw,48px); }
@media (max-width:1000px) { .xk-ct-hero { grid-template-columns:1fr; } }
.xk-ct-stamp text { font-size:8px; letter-spacing:0; }
.xk-ct-line { padding-bottom:.16em; margin-bottom:-.16em; }
.xk-ct-rotator { padding-bottom:.14em; margin-bottom:-.1em; }
@media (max-width:700px) {
    .xk-ct-signal { top:0; right:-38%; width:78vw; opacity:.28; transform:none; }
    .xk-ct-orbit { display:none; }
    .xk-ct-stamp { position:relative; top:0; float:right; width:78px; height:78px; margin:0 0 12px 12px; }
    .xk-ct-salute { padding-right:0; clear:none; }
}

/* Match the storefront type scale while keeping the contact motion. */
.xk-ct-dashboard { font-family:inherit; --ct-serif:inherit; --ct-gold:var(--xk-accent); }
.xk-ct-page em, .xk-ct-path b, .xk-ct-row-num, .xk-ct-signature strong, .xk-ct-marquee-track span { font-family:inherit; font-style:normal; }
.xk-ct-page h2 em, .xk-ct-title em { font-size:1em; background:none; color:var(--ct-gold); }
.xk-ct-title { font-size:clamp(36px,4vw,58px); line-height:1.15; letter-spacing:-.035em; }
.xk-ct-head h2, .xk-ct-write-intro h2, .xk-ct-map-caption h2 { font-size:clamp(26px,2.5vw,34px); line-height:1.25; letter-spacing:-.025em; }
.xk-ct-lede, .xk-ct-write-intro > p { font-size:15px; line-height:1.75; }
.xk-ct-row-value { font-size:clamp(16px,1.6vw,22px); letter-spacing:0; }
.xk-ct-faq summary { font-size:17px; line-height:1.5; letter-spacing:0; }
.xk-ct-marquee-track span { font-size:clamp(32px,4vw,56px); }
.xk-ct-write { grid-template-columns:minmax(230px,.7fr) minmax(0,1.3fr); gap:36px; }
.xk-ct-form-card { padding:30px; border:1px solid #2d4935; border-radius:var(--xk-card-radius,17px); background:radial-gradient(ellipse at 100% 0%,#15452b44,transparent 65%),#0b140f; box-shadow:0 16px 40px #0002; }
.xk-ct-form-head { padding-right:84px; margin-bottom:28px; }
.xk-ct-form-head h3 { margin:12px 0 10px; font-size:24px; line-height:1.3; letter-spacing:-.02em; }
.xk-ct-form-head p { margin:0; color:var(--ct-muted); font-size:13px; line-height:1.7; }
.xk-ct-form-card .xk-ct-stamp { width:68px; height:68px; top:26px; right:24px; opacity:.6; }
.xk-ct-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 18px; margin-bottom:26px; }
.xk-ct-field { display:flex; flex-direction:column; gap:9px; min-width:0; margin:0; }
.xk-ct-field > span, .xk-ct-form-card .xk-ct-message-label, .xk-ct-form-card .xk-ct-topics legend { color:var(--ct-soft); font-weight:500; line-height:1.5; font-family:inherit; font-size:14px; font-style:normal; letter-spacing:0; }
.xk-ct-form-card .xk-ct-field input,
.xk-ct-letter.xk-ct-form-card .xk-ct-message textarea { width:100%; min-height:50px; padding:13px 15px; border:1px solid #35503e!important; border-radius:10px; background:#101f17!important; color:var(--ct-ink)!important; font-family:inherit; font-size:16px; line-height:1.6; box-shadow:none!important; transition:border-color .25s ease,box-shadow .25s ease,background .25s ease; }
.xk-ct-letter.xk-ct-form-card .xk-ct-message textarea { min-height:170px; resize:vertical; }
.xk-ct-form-card .xk-ct-field input:focus,
.xk-ct-letter.xk-ct-form-card .xk-ct-message textarea:focus { border-color:var(--ct-gold)!important; outline:2px solid #efc97426!important; outline-offset:2px; background:#14271c!important; }
.xk-ct-form-card .xk-ct-field input::placeholder,
.xk-ct-letter.xk-ct-form-card .xk-ct-message textarea::placeholder { color:#8c9f91!important; font-style:normal; }
.xk-ct-form-card .xk-ct-field input[aria-invalid=true],
.xk-ct-letter.xk-ct-form-card .xk-ct-message textarea[aria-invalid=true] { border-color:var(--ct-danger)!important; }
.xk-ct-form-card .xk-ct-topics { display:block; margin:0 0 24px; padding:0; }
.xk-ct-form-card .xk-ct-topics legend { float:none; width:100%; margin-bottom:12px; }
.xk-ct-topic-list { gap:8px; }
.xk-ct-topic span { min-height:44px; padding:0 13px; border-radius:9px; font-size:13px; }
.xk-ct-form-card .xk-ct-message { margin-bottom:22px; }
.xk-ct-form-card .xk-ct-message-label { margin-bottom:9px; }
.xk-ct-signature strong { font-size:17px; line-height:1.5; max-width:200px; }
.xk-ct-send { min-height:54px; border-radius:11px; font-size:16px; }
.xk-ct-send-icon { width:38px; height:38px; border-radius:8px; }
.xk-ct-notice { margin:0 0 24px; border-radius:10px; }
@media(max-width:1100px) { .xk-ct-write { grid-template-columns:1fr; gap:28px; } .xk-ct-write-intro { position:static; } }
@media(max-width:700px) {
    .xk-ct-form-card { padding:22px 18px; }
    .xk-ct-fields { grid-template-columns:1fr; gap:18px; }
    .xk-ct-form-head { padding-right:0; }
    .xk-ct-form-card .xk-ct-stamp { position:relative; float:right; top:auto; right:auto; width:52px; height:52px; margin:0 0 8px 10px; }
    .xk-ct-title { font-size:36px; }
    .xk-ct-form-head h3 { font-size:22px; }
    .xk-ct-signoff { gap:18px; }
}

/* Use the same content origin as Courses, About, Cart and the library. */
.xk-ct-dashboard .xk-ct-hero { padding:var(--xk-page-start) var(--xk-page-inset) 88px; align-items:start; }
.xk-ct-hero-copy > .xk-ct-eyebrow { display:flex; min-height:18px; line-height:18px; }
.xk-ct-dashboard .xk-ct-lines,
.xk-ct-dashboard .xk-ct-write,
.xk-ct-dashboard .xk-ct-answers { padding-left:var(--xk-page-inset); padding-right:var(--xk-page-inset); }

/* A compact, playful contact experience within the shared alignment. */
.xk-ct-dashboard .xk-ct-hero { min-height:390px; padding-bottom:34px; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:28px; background:radial-gradient(ellipse at 90% 48%,#0f381a88,transparent 48%),linear-gradient(90deg,#050606 0%,#050606 46%,#08120b 100%); box-shadow:none; }
.xk-ct-hero .xk-ct-spotlight { opacity:.22; mask-image:linear-gradient(90deg,transparent 0%,#000 75%); }
.xk-ct-visual { display:grid; grid-template-columns:max-content minmax(0,1fr); align-items:start; gap:24px; min-width:0; padding-top:12px; }
.xk-ct-visual .xk-ct-clock { position:relative; top:auto; right:auto; bottom:auto; padding:12px 0 12px 14px; margin:0; }
.xk-ct-clock-label { font-size:10px; line-height:1.7; letter-spacing:.07em; }
.xk-ct-clock-time { font-size:30px; margin:6px 0; }
.xk-ct-visual .xk-ct-signal { position:relative; top:auto; right:auto; width:100%; max-width:310px; transform:none; opacity:1; }
.xk-ct-dashboard .xk-ct-lines, .xk-ct-dashboard .xk-ct-write, .xk-ct-dashboard .xk-ct-answers { padding-top:44px; padding-bottom:8px; }
.xk-ct-head { gap:10px; margin-bottom:20px; }
.xk-ct-row-link { min-height:76px; padding-block:12px; grid-template-columns:38px minmax(120px,190px) minmax(0,1fr) 40px; gap:14px; }
.xk-ct-row-arrow { width:40px; height:40px; }
.xk-ct-row-label { gap:3px; letter-spacing:.07em; }
.xk-ct-row-value { font-size:18px; }
.xk-ct-row-num { font-size:15px; }
.xk-ct-copy { min-height:44px; }
.xk-ct-form-card { padding:22px; border-radius:20px; background:radial-gradient(ellipse at 100% 0%,#235b2d33,transparent 60%),#0b140f; }
.xk-ct-form-head { margin-bottom:20px; }
.xk-ct-form-head h3 { margin:8px 0; }
.xk-ct-fields { gap:14px; margin-bottom:18px; }
.xk-ct-field { gap:6px; }
.xk-ct-form-card .xk-ct-field input { min-height:46px; padding:10px 13px; }
.xk-ct-form-card .xk-ct-topics { margin-bottom:18px; }
.xk-ct-topic span { border-radius:999px; }
.xk-ct-topic:has(input:checked) span { transform:rotate(-2deg); }
.xk-ct-letter.xk-ct-form-card .xk-ct-message textarea { min-height:140px; }
.xk-ct-form-card .xk-ct-signoff { padding-top:16px; gap:16px; }
.xk-ct-path { margin-top:20px; }
.xk-ct-faq { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:14px; border:0; counter-reset:answer; }
.xk-ct-faq details { counter-increment:answer; border:1px solid #2b4232; border-radius:16px; background:linear-gradient(135deg,#112016,#090f0b); overflow:hidden; transition:border-color .4s,background .4s; }
.xk-ct-faq details[open] { border-color:#897545; background:linear-gradient(135deg,#1c2b1a,#0c150e); }
.xk-ct-faq summary { display:grid; grid-template-columns:30px minmax(0,1fr) 36px; gap:12px; padding:20px; min-height:98px; font-size:15px; }
.xk-ct-faq summary::before { content:counter(answer,decimal-leading-zero); align-self:start; color:var(--ct-gold); font-size:12px; padding-top:4px; }
.xk-ct-faq summary:hover, .xk-ct-faq details[open] summary { padding-left:20px; }
.xk-ct-faq summary > i { width:36px; height:36px; border-radius:10px; }
.xk-ct-faq-body p { padding:0 20px 22px 62px; font-size:14px; line-height:1.75; }
.xk-ct-place { padding-top:40px; }
.xk-ct-marquee { padding:18px 0; margin-bottom:20px; border-block:1px solid #243c2a; background:linear-gradient(90deg,#071009,#14281988,#071009); }
.xk-ct-marquee-track { gap:22px; }
.xk-ct-marquee-track span, .xk-ct-marquee-track span:nth-of-type(odd) { font-size:clamp(20px,2.3vw,30px); font-weight:500; color:#d7ecdc; -webkit-text-stroke:0; letter-spacing:-.02em; }
.xk-ct-marquee-track span:nth-of-type(even) { color:var(--ct-gold); }
.xk-ct-marquee-track i { font-size:20px; animation:xkCtSpin 12s linear infinite; }
@media(max-width:1100px) {
    .xk-ct-dashboard .xk-ct-hero { grid-template-columns:1fr; }
    .xk-ct-visual { grid-template-columns:150px minmax(0,230px); justify-content:space-between; padding-top:0; }
}
@media(max-width:700px) {
    .xk-ct-visual { grid-template-columns:120px minmax(0,160px); gap:18px; }
    .xk-ct-visual .xk-ct-signal { opacity:.8; }
    .xk-ct-core { width:60px; height:60px; }
    .xk-ct-dashboard .xk-ct-lines, .xk-ct-dashboard .xk-ct-write, .xk-ct-dashboard .xk-ct-answers { padding-top:30px; }
    .xk-ct-row-link { grid-template-columns:24px minmax(0,1fr) 36px; gap:8px; min-height:72px; padding:10px 0; }
    .xk-ct-row-value { font-size:15px; }
    .xk-ct-row-label { font-size:10px; }
    .xk-ct-row-arrow { width:36px; height:36px; }
    .xk-ct-row { gap:8px; }
    .xk-ct-copy { padding:0 9px; margin-right:0; }
    .xk-ct-form-card { padding:18px; }
    .xk-ct-faq { grid-template-columns:1fr; gap:10px; }
    .xk-ct-faq summary { padding:16px; gap:8px; min-height:86px; grid-template-columns:22px minmax(0,1fr) 36px; }
    .xk-ct-faq summary:hover, .xk-ct-faq details[open] summary { padding-left:16px; }
    .xk-ct-faq-body p { padding:0 16px 18px 46px; }
}
@media(prefers-reduced-motion:reduce) { .xk-ct-marquee-track i { animation:none; } .xk-ct-topic:has(input:checked) span { transform:none; } }
.xk-ct-hero .xk-ct-grain { opacity:.025; mask-image:linear-gradient(90deg,transparent 0%,transparent 45%,#000 90%); }
.xk-ct-dashboard .xk-ct-hero { border-top-left-radius:0; border-bottom-left-radius:0; }
@media(max-width:380px) {
    .xk-ct-visual { grid-template-columns:max-content minmax(0,1fr); gap:18px; }
    .xk-ct-clock-time { font-size:26px; }
    .xk-ct-clock-label { font-size:9px; }
    .xk-ct-row { grid-template-columns:minmax(0,1fr); }
    .xk-ct-copy { position:absolute; right:0; top:6px; }
    .xk-ct-row-link { padding-right:0; }
    .xk-ct-row:has(.xk-ct-copy) .xk-ct-row-arrow { visibility:hidden; }
}

/* Compact contact form, retaining comfortable touch targets. */
.xk-ct-form-card { padding:18px; }
.xk-ct-form-head { margin-bottom:14px; }
.xk-ct-form-head h3 { margin:6px 0; font-size:22px; }
.xk-ct-form-head p { font-size:12px; line-height:1.55; }
.xk-ct-fields { gap:10px 14px; margin-bottom:14px; }
.xk-ct-field { gap:4px; }
.xk-ct-form-card .xk-ct-field input { min-height:44px; padding:8px 12px; }
.xk-ct-form-card .xk-ct-topics { margin-bottom:14px; }
.xk-ct-form-card .xk-ct-topics legend { margin-bottom:8px; }
.xk-ct-topic-list { gap:6px; }
.xk-ct-topic span { padding-inline:10px; font-size:12px; }
.xk-ct-letter.xk-ct-form-card .xk-ct-message textarea { min-height:110px; padding:10px 12px; }
.xk-ct-form-card .xk-ct-message { margin-bottom:14px; }
.xk-ct-form-card .xk-ct-signoff { padding-top:12px; gap:12px; }
.xk-ct-form-card .xk-ct-send { min-height:48px; font-size:15px; }
.xk-ct-form-card .xk-ct-fields { grid-template-columns:repeat(3,minmax(0,1fr)); }
.xk-ct-form-card .xk-ct-topic span { min-height:34px; padding-inline:9px; font-size:11px; }
.xk-ct-form-card .xk-ct-submit-row { justify-content:flex-end; padding-top:10px; }
@media(max-width:700px) {
    .xk-ct-form-card { padding:16px; }
    .xk-ct-form-card .xk-ct-fields { grid-template-columns:1fr; }
    .xk-ct-form-card .xk-ct-submit-row { justify-content:stretch; }
    .xk-ct-form-card .xk-ct-submit-row .xk-ct-send { width:100%; justify-content:space-between; }
}

/* Keep the clock location together and let its column fit the label. */
.xk-ct-clock-label { white-space:nowrap; }
