/*
Theme Name: KTA Field Guide
Version: 0.1.0
Description: Approved KTA homepage baseline, staging development.
*/

figure{margin:0}

.hero-image img{position:absolute;inset:0}

:root{--red:#c60c30;--blue:#003478;--ink:#07182e;--paper:#f4efe5}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--paper);color-scheme:light}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,sans-serif}
body.menu-open{overflow:hidden}
a{color:inherit}
img{display:block;max-width:100%}
button{font:inherit}
.skip{position:absolute;left:-9999px}
.skip:focus{left:15px;top:15px;z-index:20;background:#fff;padding:12px}
.site-head{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,4vw,64px);border-bottom:1px solid #ddd;background:#fff;position:relative;z-index:10}
.brand img{width:clamp(190px,17.7vw,255px);height:auto}
.navlinks{display:flex;align-items:center;gap:30px}
.navlinks a{text-decoration:none;font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.menu-btn{display:none;border:0;background:none;width:48px;height:48px;font-size:25px}
.button{display:inline-flex;min-height:50px;align-items:center;justify-content:center;background:var(--red);color:#fff;text-decoration:none;padding:0 24px;font-weight:800;border:0;cursor:pointer}
.button:hover{background:#a90828;transform:translateY(-2px)}
.button:focus-visible,a:focus-visible,summary:focus-visible,.menu-btn:focus-visible{outline:3px solid #f0b400;outline-offset:3px}
.text-link{font-weight:800;color:var(--blue);text-underline-offset:4px}
.hero{min-height:calc(100vh - 78px);display:grid;grid-template-columns:44% 56%}
.hero-copy{padding:clamp(55px,8vh,100px) clamp(28px,5vw,76px) 42px;display:flex;flex-direction:column;justify-content:space-between}
.eyebrow{font-size:11px;font-weight:900;letter-spacing:.17em;text-transform:uppercase}
.hero h1{font-size:clamp(60px,7.2vw,112px);line-height:.83;letter-spacing:-.075em;margin:32px 0}
.hero h1 em{display:block;color:var(--red);font-family:Georgia,serif;font-weight:400}
.lede{font-size:clamp(17px,1.5vw,21px);line-height:1.48;max-width:560px}
.hero-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:34px}
.hero-image{position:relative;overflow:hidden;background:var(--blue)}
.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 46%}
.caption{position:absolute;right:22px;bottom:22px;background:#fff;padding:11px 13px;font-size:9px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.signal{background:var(--blue);color:#fff;overflow:hidden}
.signal-track{display:flex;white-space:nowrap;padding:17px 0;font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.signal-track span{padding-right:50px}
.section{padding:clamp(78px,10vw,150px) clamp(22px,5vw,76px)}
.intro-grid{display:grid;grid-template-columns:1fr 2fr;gap:6vw}
.kicker{font-size:11px;color:var(--red);font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.section h2{font-size:clamp(44px,6vw,84px);line-height:.94;letter-spacing:-.06em;margin:0 0 30px}
.intro-grid .big{font-family:Georgia,serif;font-size:clamp(28px,3.4vw,48px);line-height:1.08;margin:0}
.intro-grid .body{font-size:18px;line-height:1.65;max-width:690px}
.programs{background:var(--paper)}
.program-head{display:grid;grid-template-columns:1.1fr 1fr;gap:7vw;align-items:end;margin-bottom:60px}
.program-head p{font-size:18px;line-height:1.6}
.program-list{border-top:1px solid #aaa89f}
.program-row{display:grid;grid-template-columns:70px 1fr 1fr 45px;gap:20px;align-items:center;padding:26px 0;border-bottom:1px solid #aaa89f;text-decoration:none;transition:.2s}
.program-row:hover{padding-left:14px;color:var(--red)}
.program-row .num{font-family:Georgia,serif;font-style:italic;color:var(--red)}
.program-row h3{font-size:clamp(24px,3vw,43px);letter-spacing:-.04em;margin:0}
.program-row p{margin:0;line-height:1.45}
.arrow{font-size:28px}
.story{display:grid;grid-template-columns:1.1fr .9fr;min-height:800px}
.story-photo{position:relative;min-height:640px}
.story-photo img{width:100%;height:100%;object-fit:cover}
.story-copy{background:var(--blue);color:#fff;padding:clamp(55px,7vw,105px);display:flex;flex-direction:column;justify-content:center}
.story-copy h2{font-size:clamp(48px,6vw,86px);line-height:.94;letter-spacing:-.06em;margin:0 0 30px}
.story-copy p{font-size:18px;line-height:1.65;max-width:520px}
.micro{margin-top:60px;border-top:1px solid #ffffff73;padding-top:18px;font-size:10px;letter-spacing:.15em;text-transform:uppercase}
.manifesto{background:var(--red);color:#fff;padding:clamp(90px,12vw,175px) clamp(22px,5vw,76px);overflow:hidden}
.manifesto .eyebrow{margin-bottom:34px}
.manifesto h2{font-size:clamp(66px,12vw,178px);line-height:.74;letter-spacing:-.085em;text-transform:uppercase;max-width:1250px;margin:0}
.manifesto h2 em{font-family:Georgia,serif;font-weight:400;text-transform:none}
.trial{background:var(--paper)}
.trial-top{display:grid;grid-template-columns:1.35fr .65fr;gap:7vw;align-items:end}
.price{font-family:Georgia,serif;font-size:clamp(76px,10vw,150px);color:var(--red);line-height:.8}
.trial-steps{display:grid;grid-template-columns:repeat(3,1fr);margin:75px 0;border-block:1px solid #aaa89f}
.step{padding:38px 35px 45px 0}
.step+.step{border-left:1px solid #aaa89f;padding-left:35px}
.step b{font-family:Georgia,serif;font-size:28px}
.step p{line-height:1.55}
.trial-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw}
.faq-grid h2{position:sticky;top:30px}
.faq details{border-top:1px solid #999;padding:22px 0}
.faq details:last-child{border-bottom:1px solid #999}
.faq summary{cursor:pointer;font-size:20px;font-weight:800;display:flex;justify-content:space-between;gap:20px;list-style:none}
.faq summary:after{content:'+';color:var(--red);font-size:28px}
.faq details[open] summary:after{content:'–'}
.faq details p{line-height:1.6;max-width:620px}
.close{background:var(--blue);color:#fff;padding:clamp(80px,10vw,145px) clamp(22px,5vw,76px);display:grid;grid-template-columns:1.3fr .7fr;gap:5vw;align-items:end}
.close h2{font-size:clamp(55px,8vw,115px);line-height:.85;margin:0;letter-spacing:-.07em}
.close p{font-size:18px;line-height:1.6}
.footer{background:#061329;color:#fff;padding:60px clamp(22px,5vw,76px) 30px}
.footer-top{display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:5vw}
.footer-logo{width:270px;height:auto;margin-bottom:25px}
.footer h3{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:#9eb9de}
.footer a{display:block;text-decoration:none;margin:12px 0;font-size:14px}
.footer address{font-style:normal;line-height:1.7}
.footer-bottom{border-top:1px solid #294266;margin-top:55px;padding-top:22px;display:flex;justify-content:space-between;font-size:11px;color:#9eb9de}
.dialog{width:min(570px,calc(100% - 32px));border:0;padding:0;box-shadow:0 30px 80px #0006}
.dialog::backdrop{background:#00112bb8}
.dialog-inner{padding:38px}
.dialog h2{font-size:38px;letter-spacing:-.04em;margin:10px 0 18px}
.dialog p{line-height:1.6}
.dialog .note{background:var(--paper);padding:16px;margin:20px 0}
.dialog-close{float:right;border:0;background:none;font-size:28px;cursor:pointer}
.reveal{opacity:1;transform:none}
.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease}
.js .reveal.in{opacity:1;transform:none}

@media(max-width:900px){.navlinks a:not(.button){display:none}
.menu-btn{display:block}
.navlinks{gap:8px}
.navlinks.open{position:absolute;left:0;right:0;top:78px;background:#fff;padding:25px;display:flex;flex-direction:column;align-items:stretch;border-bottom:2px solid var(--blue)}
.navlinks.open a:not(.button){display:block;padding:12px}
.hero{grid-template-columns:1fr}
.hero-copy{min-height:620px}
.hero-image{height:700px}
.intro-grid,.program-head,.faq-grid,.close,.trial-top{grid-template-columns:1fr}
.story{grid-template-columns:1fr}
.story-photo{min-height:600px}
.trial-steps{grid-template-columns:1fr}
.step+.step{border-left:0;border-top:1px solid #aaa89f;padding-left:0}
.footer-top{grid-template-columns:1fr 1fr}
}

@media(max-width:600px){.site-head{height:70px;padding:0 16px}
.brand img{width:175px}
.navlinks>.button{display:none}
.navlinks.open>.button{display:flex}
.hero{min-height:0}
.hero-copy{min-height:590px;padding:54px 22px 34px}
.hero h1{font-size:62px}
.hero-image{height:520px}
.caption{right:10px;bottom:10px}
.section{padding-left:22px;padding-right:22px}
.intro-grid{gap:38px}
.program-row{grid-template-columns:35px 1fr 28px}
.program-row p{display:none}
.program-row h3{font-size:28px}
.story-photo{min-height:520px}
.story-copy{padding:62px 24px}
.manifesto h2{font-size:68px}
.price{font-size:90px}
.trial-steps{margin:50px 0}
.faq-grid h2{position:static}
.close{padding:80px 22px}
.footer-top{grid-template-columns:1fr}
.footer-bottom{display:block;line-height:1.8}
.dialog-inner{padding:25px}
.dialog h2{font-size:31px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*:before,*:after{animation:none!important;transition:none!important}
.js .reveal{opacity:1;transform:none}
}



.eyebrow,.kicker{font-size:12px}
.caption{font-size:12px;letter-spacing:.12em}
.hero-image img{object-position:42% 46%}
.hero-actions,.trial-actions{align-items:stretch;gap:14px}
.offer-choice{display:flex;flex-direction:column;justify-content:center;min-height:50px;padding:7px 16px;border:1px solid #aeb6c1;text-decoration:none;background:#fff}
button.offer-choice{width:100%;font:inherit;text-align:left;color:inherit;cursor:pointer}
.offer-choice strong{font-size:14px}
.offer-choice span{font-size:12px;margin-top:3px;color:#47566a}
.trial-actions .offer-choice{background:transparent}
.signal-track{display:block;white-space:normal;padding-left:clamp(22px,5vw,76px);padding-right:clamp(22px,5vw,76px)}
.manifesto p{font-size:18px;line-height:1.6;max-width:560px;margin:42px 0 0}

@media(max-width:600px){body{font-size:16px}
.navlinks a{font-size:12px}
.hero-copy{min-height:520px;padding:42px 22px 28px}
.hero h1{font-size:58px;margin:25px 0}
.hero-actions,.trial-actions{display:grid;grid-template-columns:1fr;width:100%}
.hero-image{height:450px}
.hero-image img{object-position:47% 45%}
.section{padding:70px 22px}
.intro-grid{gap:25px}
.program-head{gap:18px;margin-bottom:36px}
.program-head p,.step p,.faq details p,.close p,.dialog p,.story-copy p{font-size:16px}
.program-row{padding:20px 0}
.story-photo{min-height:440px}
.story-photo img{object-position:48% center}
.story-copy{padding:54px 24px}
.manifesto{padding:76px 22px}
.manifesto h2{font-size:64px}
.manifesto p{font-size:16px;margin-top:30px}
.price{font-size:84px}
.trial-steps{margin:38px 0}
.step{padding:25px 0 28px}
.faq-grid{gap:20px}
.faq details{padding:18px 0}
.faq summary{font-size:18px}
.close{padding:68px 22px;gap:30px}
.footer{padding-top:48px}
.footer-top{gap:26px}
.footer h3{font-size:12px}
.footer a,.footer address,.footer p{font-size:14px}
.footer-bottom{font-size:14px;margin-top:38px}
}



/* Bounded precision pass: preserve the editorial composition, improve its finish. */
:root{--hairline:#07182e24;--hairline-dark:#ffffff30;--control-radius:3px;--ease:cubic-bezier(.22,1,.36,1)}

body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}

.site-head{height:auto;min-height:96px;border-bottom-color:var(--hairline);padding-block:14px;padding-inline:clamp(22px,4.4vw,72px)}

.navlinks{gap:32px}
.navlinks a{letter-spacing:.1em}

.button,.offer-choice{min-height:52px;border-radius:var(--control-radius);transition:background-color .24s var(--ease),border-color .24s var(--ease),color .24s var(--ease),transform .24s var(--ease),box-shadow .24s var(--ease)}

.button{padding-inline:26px}
.button:hover{transform:translateY(-1px);box-shadow:0 8px 20px #07182e1f}
.button:active{transform:translateY(0);box-shadow:none}

.offer-choice{border-color:#07182e42;padding-inline:17px}
.offer-choice:hover{border-color:var(--blue);background:#f8fafc}
.offer-choice:active{background:#f1f4f7}
.close .offer-choice{border-color:#ffffff70;color:#fff}
.close .offer-choice span{color:#c9d8ed}
.close .offer-choice:is(:hover,:focus-visible){border-color:#f8fafc;background:#f8fafc;color:var(--ink)}
.close .offer-choice:is(:hover,:focus-visible) strong,.close .offer-choice:is(:hover,:focus-visible) span{color:var(--ink)}

.button:focus-visible,.offer-choice:focus-visible,a:focus-visible,summary:focus-visible,.menu-btn:focus-visible{outline:2px solid #e4a900;outline-offset:4px}

.hero-copy{padding-left:clamp(30px,5vw,80px);padding-right:clamp(30px,5vw,80px)}

.hero h1{line-height:.86;letter-spacing:-.07em;margin-block:36px 32px}
.hero h1 em{letter-spacing:-.055em}
.lede{max-width:31em;line-height:1.55}

.eyebrow,.kicker{line-height:1.35}
.caption{border-radius:2px}

.section{padding-top:clamp(88px,10vw,152px);padding-bottom:clamp(88px,10vw,152px)}

.intro-grid{gap:clamp(42px,6vw,96px)}
.intro-grid .big{max-width:18ch}
.intro-grid .body,.program-head p{max-width:38em}

.program-list,.trial-steps{border-color:var(--hairline)}
.program-row{border-color:var(--hairline);transition:padding-left .32s var(--ease),color .24s var(--ease),background-color .24s var(--ease)}
.program-row:hover{padding-left:12px;background:#ffffff52}

.story-copy p,.manifesto p,.close p,.faq details p{max-width:34em}
.story-copy,.close{border-color:var(--hairline-dark)}

.trial-steps{margin-block:68px}
.step+.step{border-color:var(--hairline)}

.faq details{border-color:var(--hairline);padding-block:24px}
.faq details:last-child{border-color:var(--hairline)}
.faq summary{line-height:1.35}
.faq details p{margin-bottom:2px}

.footer-bottom{border-color:var(--hairline-dark)}

.dialog{border-radius:6px}
.dialog-close{width:44px;height:44px;border-radius:50%;transition:background-color .2s ease}
.dialog-close:hover{background:#07182e0d}

.js .hero-image img{animation:image-settle 1.15s var(--ease) both}
.js .hero-image:after{content:"";position:absolute;inset:0;background:#fff;pointer-events:none;animation:image-wash .9s var(--ease) both}

@keyframes image-settle{from{transform:scale(1.018)}
to{transform:scale(1)}
}
@keyframes image-wash{from{opacity:.26}
to{opacity:0}
}

@media(max-width:900px){.site-head{height:auto;min-height:88px}
.navlinks.open{top:100%;border-bottom:1px solid var(--hairline);box-shadow:0 18px 36px #07182e14}
.hero-copy{min-height:600px}
.hero h1{max-width:8ch}
.story{min-height:0}
}

@media(max-width:600px){.site-head{height:auto;min-height:84px;padding-block:12px;padding-inline:16px}
.hero-copy{min-height:532px;padding:44px 22px 30px}
.hero h1{font-size:58px;line-height:.83;letter-spacing:-.065em;margin:26px 0 24px}
.lede{line-height:1.55}
.hero-actions{gap:12px}
.button,.offer-choice{min-height:50px}
.section{padding-top:74px;padding-bottom:74px}
.intro-grid{gap:28px}
.program-row:hover{padding-left:0}
.story-copy{padding-block:58px}
.manifesto h2{line-height:.76}
.trial-steps{margin-block:42px}
.faq details{padding-block:20px}
.close{padding-block:72px}
.dialog{border-radius:4px}
}

@media(prefers-reduced-motion:reduce){.js .hero-image img,.js .hero-image:after{animation:none}
.js .hero-image:after{display:none}
}

