/* ================= Lato (self-hosted, jeden soubor na váhu — plné pokrytí latinky i latin-ext pro češtinu) ================= */
@font-face{font-family:'Lato Web';font-style:normal;font-weight:300;font-display:swap;src:url('fonts/lato-300.woff2') format('woff2');}
@font-face{font-family:'Lato Web';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/lato-400.woff2') format('woff2');}
@font-face{font-family:'Lato Web';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/lato-700.woff2') format('woff2');}
@font-face{font-family:'Lato Web';font-style:normal;font-weight:900;font-display:swap;src:url('fonts/lato-900.woff2') format('woff2');}
@font-face{font-family:'Lato Web';font-style:italic;font-weight:300;font-display:swap;src:url('fonts/lato-300-italic.woff2') format('woff2');}
@font-face{font-family:'Lato Web';font-style:italic;font-weight:400;font-display:swap;src:url('fonts/lato-400-italic.woff2') format('woff2');}

/* ================= JustAskMe.cz — Jiří Reichl PR ================= */

:root{
  --orange:#ee7203; --orange-dark:#d46402;
  --ink:#1c1c1a; --text:#2b2b2b; --muted:#6f6f6f; --grey:#8e8e8e;
  --faint:#b4b4b0; --soft-grey:#a6a6a2; --line:#ededea; --line2:#e8e8e4;
  --soft:#fafaf8; --panel:#f2f2ee; --max:1240px;
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0;font-family:'Lato Web',system-ui,-apple-system,Segoe UI,sans-serif;
  color:var(--text);background:#fff;line-height:1.5;text-wrap:pretty;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;}
a{color:var(--orange);text-decoration:none;}
a:hover{color:var(--orange-dark);}
::selection{background:var(--orange);color:#fff;}
input,textarea,select,button{font:inherit;color:inherit;}
h1,h2,h3,h4,p{margin:0;}
button{font-family:inherit;}
:focus-visible{outline:2px solid var(--orange);outline-offset:2px;}

.wrap{width:min(100%,var(--max));margin:0 auto;padding-left:20px;padding-right:20px;}
.eyebrow{display:flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);}
.eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--orange);animation:jamDot 2.4s ease-in-out infinite;flex:0 0 auto;}
.kick{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#c4c4c0;}
.hl{color:var(--orange);}

@keyframes jamFadeUp{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
@keyframes jamFadeIn{from{opacity:0;}to{opacity:1;}}
@keyframes jamDot{0%,100%{opacity:.25;}50%{opacity:1;}}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001s!important;animation-delay:0s!important;transition-duration:.001s!important;}
  html{scroll-behavior:auto;}
}

/* -------- Header -------- */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);}
.site-header__in{display:flex;align-items:center;gap:12px;flex-wrap:nowrap;padding-top:12px;padding-bottom:12px;}
.brand{flex:0 0 auto;display:flex;align-items:center;cursor:pointer;}
.brand img{height:clamp(22px,5vw,34px);width:auto;display:block;}
.nav{display:flex;align-items:center;gap:2px;flex-wrap:nowrap;margin-left:auto;min-width:0;}
.nav a{padding:8px 9px;font-size:14px;white-space:nowrap;color:var(--muted);}
.nav a:hover,.nav a.is-current{color:var(--orange);}
.lang{display:flex;align-items:center;gap:2px;margin-left:4px;padding-left:8px;border-left:1px solid #e6e6e2;flex:0 0 auto;}
.lang a{border:0;background:none;cursor:pointer;font-size:13px;font-weight:700;letter-spacing:.06em;padding:6px;color:var(--faint);}
.lang a.is-active{color:var(--orange);}
.lang .sep{color:#dcdcd8;font-size:12px;}
.menu-btn{display:none;margin-left:auto;flex:0 0 auto;align-items:center;gap:9px;border:1px solid #e4e4e0;background:#fff;border-radius:999px;cursor:pointer;padding:9px 15px;min-height:44px;}
.menu-btn__bars{display:flex;flex-direction:column;gap:4px;}
.menu-btn__bars span{width:17px;height:2px;background:var(--muted);display:block;}
.menu-btn__label{font-size:13px;font-weight:700;color:var(--muted);letter-spacing:.08em;}

/* mobile menu overlay */
.mobile-menu{position:fixed;inset:0;z-index:45;background:rgba(24,24,22,.4);animation:jamFadeIn .2s ease both;display:none;}
.mobile-menu.is-open{display:block;}
.mobile-menu__panel{position:absolute;left:0;right:0;top:var(--sticky,63px);background:#fff;border-bottom:1px solid var(--line);padding:12px 16px 20px;display:flex;flex-direction:column;gap:4px;box-shadow:0 20px 40px -24px rgba(0,0,0,.4);animation:jamFadeUp .25s ease both;}
.mobile-menu__panel a.m-link{padding:15px 4px;font-size:20px;font-weight:300;color:#2f2f2f;border-bottom:1px solid #f2f2ee;}
.mobile-menu__panel a.m-link:last-of-type{border-bottom:0;}
.mobile-menu__foot{display:flex;align-items:center;gap:8px;padding-top:14px;margin-top:6px;border-top:1px solid #f2f2ee;}
.mobile-menu__foot a{border:1px solid #e4e4e0;background:#fff;border-radius:999px;font-size:14px;font-weight:700;letter-spacing:.06em;padding:11px 18px;min-height:44px;color:var(--faint);display:flex;align-items:center;}
.mobile-menu__foot a.is-active{color:var(--orange);}
.mobile-menu__foot .mail{margin-left:auto;font-size:15px;color:var(--grey);border:0;padding:0;min-height:0;}

/* -------- Buttons -------- */
.btn{display:inline-flex;align-items:center;justify-content:center;border:0;cursor:pointer;font-weight:700;font-size:16px;padding:16px 28px;border-radius:999px;text-align:center;}
.btn--primary{background:var(--orange);color:#fff;box-shadow:0 10px 24px -12px rgba(238,114,3,.7);}
.btn--primary:hover{background:var(--orange-dark);color:#fff;}
.btn--ghost{background:#fff;color:#4a4a4a;padding:15px 26px;border:1px solid #deded9;}
.btn--ghost:hover{border-color:var(--orange);color:var(--orange);}
.btn--sm{font-size:15px;padding:13px 20px;}

/* -------- Socials -------- */
.socials{display:flex;gap:10px;}
.socials a{width:44px;height:44px;border-radius:50%;background:#1f1f1f;display:flex;align-items:center;justify-content:center;color:#fff;}
.socials a:hover{background:var(--orange);color:#fff;}
.socials svg{width:17px;height:17px;fill:#fff;}
.socials .skype{font-weight:900;font-size:18px;line-height:1;}
.mail-link{font-weight:300;color:var(--muted);border-bottom:1px solid #e4e4e0;padding-bottom:2px;}
.mail-link:hover{color:var(--orange);border-color:var(--orange);}

/* -------- Sections generic -------- */
section{scroll-margin-top:80px;}
.section-head{display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center;padding-top:clamp(40px,8vh,88px);padding-bottom:clamp(26px,5vh,52px);}
.section-head h2,.section-head h1{font-weight:300;font-size:clamp(2rem,6vw,4.4rem);line-height:1.04;letter-spacing:-.03em;color:var(--grey);max-width:22ch;}
.section-head .lead{font-size:clamp(1rem,2.2vw,1.25rem);font-weight:300;line-height:1.6;color:var(--muted);max-width:54ch;}

/* -------- Hero -------- */
.hero{animation:jamFadeIn .5s ease both;}
.hero--a .hero__in{min-height:calc(100vh - var(--sticky,63px));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(28px,5vh,56px);text-align:center;padding:clamp(40px,9vh,90px) 0 clamp(40px,8vh,80px);}
.hero__rotator{position:relative;width:100%;min-height:clamp(150px,26vh,260px);display:flex;align-items:center;justify-content:center;}
.hero__line{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;transition:opacity .8s ease,transform .8s ease;opacity:0;transform:translateY(14px);}
.hero__line.is-active{opacity:1;transform:none;}
.hero__line h1{font-weight:300;font-size:clamp(2.1rem,6.4vw,5rem);line-height:1.05;letter-spacing:-.02em;color:var(--grey);}
.hero__line--long h1{font-size:clamp(1.9rem,5.4vw,4.2rem);line-height:1.08;}
.hero__cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px 18px;}
.hero__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:18px 28px;padding-top:8px;}
.hero__foot .mail-link{font-size:clamp(1.05rem,2.4vw,1.5rem);}
.hero__foot .socials a{width:46px;height:46px;}
.hero__foot .socials svg{width:19px;height:19px;}

/* Placeholder (portrét v sekci O mně, když není nahraný obrázek) */
.ph{width:100%;height:100%;background:var(--panel);display:flex;align-items:center;justify-content:center;color:#c4c4c0;font-size:13px;text-align:center;padding:16px;}

/* -------- Services -------- */
.services{padding:clamp(44px,7vw,88px) 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:28px;}
.service{display:flex;flex-direction:column;gap:10px;border-top:2px solid var(--text);padding-top:16px;}
.service .no{font-size:12px;font-weight:700;color:var(--orange);letter-spacing:.12em;}
.service h3{font-size:19px;font-weight:700;color:var(--text);}
.service p{font-size:15px;line-height:1.6;color:#7d7d7d;}

/* -------- References -------- */
.refs{animation:jamFadeIn .4s ease both;}
.filterbar{position:sticky;top:var(--sticky,63px);z-index:40;background:rgba(255,255,255,.97);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
.filterbar__in{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;padding:12px 20px;border-top:1px solid var(--ink);}
.filters{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-right:auto;}
.f-btn{cursor:pointer;border:0;background:none;padding:6px 0;font-size:15px;font-weight:400;color:var(--muted);border-bottom:2px solid transparent;}
.f-btn.is-active{color:var(--orange);border-bottom-color:var(--orange);}
.f-btn .c{font-size:11px;vertical-align:super;opacity:.55;}
.search{display:flex;align-items:center;gap:8px;border-bottom:1px solid #e4e4e0;padding:6px 2px;min-width:190px;}
.search svg{width:15px;height:15px;stroke:#c4c4c0;fill:none;}
.search input{border:0;outline:none;background:none;font-size:15px;width:100%;min-width:0;}
.viewtoggle{display:flex;align-items:center;gap:4px;flex:0 0 auto;}
.viewtoggle button{cursor:pointer;border:0;background:none;padding:6px 8px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:#c4c4c0;}
.viewtoggle button.is-active{color:var(--ink);}
.viewtoggle .sep{color:#dcdcd8;}

.refs__index{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.9fr);gap:clamp(28px,5vw,64px);align-items:start;padding-bottom:clamp(48px,8vw,96px);}
.reflist{display:flex;flex-direction:column;min-width:0;}
.refrow{display:grid;grid-template-columns:58px minmax(0,1fr) 34px;gap:18px;align-items:center;padding:clamp(20px,3vw,34px) 6px;border-bottom:1px solid var(--line);cursor:pointer;transition:background .3s ease;background:transparent;text-align:left;width:100%;border-left:0;border-right:0;border-top:0;}
.refrow:hover,.refrow.is-hover{background:var(--soft);}
.refrow .yr{font-size:13px;letter-spacing:.06em;color:#c4c4c0;}
.refrow .mid{display:flex;flex-direction:column;gap:8px;min-width:0;}
.refrow h3{font-weight:300;font-size:clamp(1.25rem,2.9vw,2.1rem);line-height:1.1;letter-spacing:-.02em;color:#2f2f2f;transition:color .25s ease;}
.refrow:hover h3,.refrow.is-hover h3{color:var(--orange);}
.refrow .meta{font-size:13px;color:var(--soft-grey);}
.refrow .arw{font-size:20px;color:#dcdcd8;transition:color .25s ease;text-align:right;}
.refrow:hover .arw,.refrow.is-hover .arw{color:var(--orange);}

.refaside{position:sticky;top:calc(var(--sticky,63px) + 78px);display:flex;flex-direction:column;gap:16px;min-width:0;}
.refaside__media{position:relative;width:100%;aspect-ratio:4/3;background:var(--panel);overflow:hidden;}
.refaside__media img{width:100%;height:100%;object-fit:cover;display:block;}
.refaside .k{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--orange);font-weight:700;}
.refaside p{font-size:15px;line-height:1.65;color:var(--muted);}
.linkbtn{align-self:flex-start;border:0;background:none;padding:4px 0;cursor:pointer;font-size:15px;font-weight:700;color:var(--orange);border-bottom:1px solid var(--orange);}

.refs__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:clamp(24px,4vw,40px);padding:clamp(28px,4vw,44px) 0 clamp(48px,8vw,96px);}
.refcard{display:flex;flex-direction:column;gap:14px;animation:jamFadeUp .45s ease both;}
.refcard__media{position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;background:var(--panel);cursor:pointer;border:0;padding:0;display:block;}
.refcard__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease;}
.refcard__media:hover img{transform:scale(1.04);}
.refcard__badge{position:absolute;left:12px;top:12px;background:var(--orange);color:#fff;font-size:11px;font-weight:700;letter-spacing:.1em;padding:6px 10px;pointer-events:none;}
.refcard .yr{font-size:12px;letter-spacing:.06em;color:#c4c4c0;}
.refcard h3{font-weight:300;font-size:clamp(1.2rem,3.2vw,1.6rem);line-height:1.2;letter-spacing:-.02em;color:#2f2f2f;cursor:pointer;}
.refcard h3:hover{color:var(--orange);}
.refcard .meta{font-size:14px;line-height:1.6;color:var(--soft-grey);}
.refcard__actions{display:flex;gap:16px;align-items:center;padding-top:4px;}
.refcard__actions button{border:0;background:none;padding:0;cursor:pointer;font-size:14px;}
.refcard__actions .prev{font-weight:700;color:var(--orange);}
.refcard__actions .det{color:var(--grey);}
.refcard__actions .det:hover{color:var(--text);}

.no-results{padding:60px 20px;text-align:center;color:var(--soft-grey);font-size:16px;}

.cta-band{border-top:1px solid var(--line);}
.cta-band__in{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:20px 32px;text-align:center;padding:clamp(44px,7vw,88px) 0;}
.cta-band h2{font-weight:300;font-size:clamp(1.5rem,3.6vw,2.6rem);line-height:1.15;letter-spacing:-.02em;color:var(--grey);max-width:26ch;}

/* -------- About -------- */
.about{animation:jamFadeIn .4s ease both;}
.about__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(28px,5vw,64px);align-items:start;border-top:1px solid var(--ink);padding-top:clamp(28px,5vw,56px);padding-bottom:clamp(44px,7vw,88px);}
.about__col{display:flex;flex-direction:column;gap:20px;min-width:0;}
.about__col p{font-size:clamp(1rem,2vw,1.15rem);font-weight:300;line-height:1.75;color:#4a4a4a;max-width:60ch;}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:1px;background:var(--line2);border:1px solid var(--line2);margin-top:8px;}
.fact{background:#fff;padding:22px 18px;display:flex;flex-direction:column;gap:4px;}
.fact .v{font-size:clamp(1.5rem,3vw,2.1rem);font-weight:300;color:var(--orange);line-height:1;}
.fact .l{font-size:13px;color:var(--grey);line-height:1.4;}
.about__portrait{position:relative;width:100%;aspect-ratio:3/4;background:var(--panel);min-width:0;overflow:hidden;}
.about__portrait img{width:100%;height:100%;object-fit:cover;display:block;}

.expertise{border-top:1px solid var(--line);background:var(--soft);}
.expertise__in{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(24px,4vw,56px);align-items:start;padding:clamp(40px,7vw,80px) 0;}
.expertise__head{display:flex;flex-direction:column;gap:14px;min-width:0;}
.expertise__head h2{font-weight:300;font-size:clamp(1.4rem,3.2vw,2.2rem);line-height:1.15;letter-spacing:-.02em;color:var(--grey);max-width:22ch;}
.expertise__list{display:flex;flex-direction:column;min-width:0;}
.expertise__list .row{display:flex;align-items:baseline;gap:14px;padding:15px 2px;border-bottom:1px solid var(--line2);}
.expertise__list .row .b{width:6px;height:6px;border-radius:50%;background:var(--orange);flex:0 0 auto;}
.expertise__list .row span:last-child{font-size:clamp(1rem,2vw,1.15rem);font-weight:300;color:#3d3d3d;line-height:1.4;}

.process{padding-top:clamp(44px,7vw,88px);}
.process h2{font-weight:300;font-size:clamp(1.5rem,3.6vw,2.6rem);line-height:1.12;letter-spacing:-.02em;color:var(--grey);max-width:24ch;margin:6px 0 18px;}
.timeline{display:flex;flex-direction:column;border-top:1px solid var(--ink);}
.timeline .step{display:grid;grid-template-columns:58px minmax(0,1fr);gap:18px;align-items:start;padding:clamp(20px,3vw,30px) 6px;border-bottom:1px solid var(--line);transition:background .3s ease;}
.timeline .step:hover{background:var(--soft);}
.timeline .step .no{font-size:13px;letter-spacing:.06em;color:var(--orange);font-weight:700;padding-top:6px;}
.timeline .step h3{font-weight:300;font-size:clamp(1.2rem,2.6vw,1.8rem);line-height:1.14;letter-spacing:-.02em;color:#2f2f2f;}
.timeline .step p{font-size:15px;line-height:1.65;color:var(--grey);max-width:62ch;}

.downloads{padding:clamp(40px,6vw,72px) 0 clamp(44px,7vw,88px);display:flex;flex-direction:column;gap:14px;}
.downloads__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;background:var(--line2);border:1px solid var(--line2);}
.downloads__grid a{background:#fff;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px 20px;color:var(--text);transition:background .25s ease;}
.downloads__grid a:hover{background:#fffdfa;}
.downloads__grid .t{font-size:clamp(1rem,2vw,1.15rem);font-weight:300;}
.downloads__grid .m{font-size:12px;color:var(--soft-grey);}
.downloads__grid svg{width:18px;height:18px;stroke:var(--orange);fill:none;flex:0 0 auto;}

/* -------- Contact -------- */
.contact{animation:jamFadeIn .4s ease both;}
.contact__email{font-size:clamp(1.2rem,3.4vw,2rem);font-weight:300;color:var(--text);border-bottom:1px solid #e4e4e0;padding-bottom:4px;}
.contact__email:hover{color:var(--orange);border-color:var(--orange);}
.contact__grid{border-top:1px solid var(--ink);display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(30px,5vw,72px);align-items:start;padding:clamp(28px,5vw,56px) 0 clamp(44px,7vw,88px);}
.cform{display:flex;flex-direction:column;gap:28px;min-width:0;}
.cform .needs{display:flex;flex-direction:column;gap:12px;}
.cform .needs__btns{display:flex;flex-wrap:wrap;gap:8px 20px;}
.need-btn{cursor:pointer;border:0;background:none;padding:6px 0;font-size:clamp(1rem,2vw,1.15rem);font-weight:300;color:var(--muted);border-bottom:2px solid transparent;}
.need-btn.is-active{color:var(--orange);border-bottom-color:var(--orange);}
.field{display:flex;flex-direction:column;gap:8px;}
.field input,.field textarea{border:0;border-bottom:1px solid #e0e0dc;background:none;padding:10px 2px;font-size:clamp(1rem,2vw,1.15rem);font-weight:300;outline:none;width:100%;}
.field textarea{resize:vertical;}
.field input:focus,.field textarea:focus{border-color:var(--orange);}
.field__hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden;}
.cform__submit{display:flex;flex-wrap:wrap;align-items:center;gap:16px;}
.cform__status{font-size:15px;color:#4a4a4a;}
.cform__status.err{color:#b23b1e;}
.privacy{font-size:13px;line-height:1.6;color:var(--faint);max-width:46ch;}

.caside{display:flex;flex-direction:column;gap:clamp(28px,4vw,44px);min-width:0;}
.hotcard{border:1px solid #f0d9c2;background:#fff8f1;padding:24px;display:flex;flex-direction:column;gap:10px;}
.hotcard .k{color:var(--orange);font-weight:700;}
.hotcard p{font-size:15px;line-height:1.65;color:#6b5a4a;}
.csteps{display:flex;flex-direction:column;gap:12px;}
.csteps__list{display:flex;flex-direction:column;border-top:1px solid var(--line);}
.csteps__row{display:grid;grid-template-columns:40px minmax(0,1fr);gap:14px;padding:16px 2px;border-bottom:1px solid var(--line);}
.csteps__row .no{font-size:13px;color:var(--orange);font-weight:700;}
.csteps__row .t{font-size:1.05rem;font-weight:300;color:#2f2f2f;line-height:1.3;}
.csteps__row .d{font-size:14px;line-height:1.6;color:var(--soft-grey);}
.hints{display:flex;flex-direction:column;gap:12px;}
.hints .row{display:flex;align-items:baseline;gap:12px;}
.hints .row .b{width:6px;height:6px;border-radius:50%;background:var(--orange);flex:0 0 auto;}
.hints .row span:last-child{font-size:15px;line-height:1.6;color:var(--muted);}

/* -------- Footer -------- */
.site-footer{border-top:1px solid var(--line);background:#fff;}
.site-footer__in{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;padding:34px 20px;}
.site-footer img{height:26px;width:auto;display:block;opacity:.65;margin-right:auto;}
.site-footer a{font-size:14px;color:var(--grey);}
.site-footer a:hover{color:var(--orange);}
.site-footer .copy{font-size:13px;color:#b8b8b8;}
.site-footer .author{font-size:12px;color:#c0c0c0;width:100%;}
.site-footer .author a{font-size:12px;color:#b8b8b8;}

/* -------- Hotline floating -------- */
.hotline{position:fixed;right:16px;bottom:16px;z-index:60;display:flex;align-items:center;gap:10px;border:0;cursor:pointer;background:var(--ink);color:#fff;padding:13px 20px;border-radius:999px;box-shadow:0 14px 30px -14px rgba(0,0,0,.6);font-weight:700;font-size:14px;}
.hotline:hover{background:var(--orange);color:#fff;}
.hotline .dot{width:8px;height:8px;border-radius:50%;background:var(--orange);animation:jamDot 1.6s ease-in-out infinite;}
.hotline:hover .dot{background:#fff;}

/* -------- Case-study modal -------- */
.modal{position:fixed;inset:0;z-index:90;background:rgba(24,24,22,.55);display:none;align-items:flex-start;justify-content:center;overflow:auto;padding:clamp(12px,4vh,48px) 0;animation:jamFadeIn .25s ease both;}
.modal.is-open{display:flex;}
.modal__dialog{width:min(100%,900px);background:#fff;padding:clamp(20px,4vw,40px);display:flex;flex-direction:column;gap:22px;animation:jamFadeUp .3s ease both;margin:0 16px;}
.modal__top{display:flex;align-items:flex-start;gap:16px;}
.modal__top .k{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--orange);font-weight:700;}
.modal__top h2{font-size:clamp(1.4rem,3.4vw,2.2rem);font-weight:300;line-height:1.15;color:#2f2f2f;margin-top:8px;letter-spacing:-.02em;}
.modal__close{flex:0 0 auto;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:#fff;cursor:pointer;font-size:20px;color:var(--grey);margin-left:auto;}
.modal__close:hover{border-color:var(--orange);color:var(--orange);}
.modal__media{position:relative;width:100%;aspect-ratio:16/9;background:var(--panel);overflow:hidden;}
.modal__media img{width:100%;height:100%;object-fit:cover;display:block;}
.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--line2);border:1px solid var(--line2);}
.metric{background:#fff;padding:22px 18px;display:flex;flex-direction:column;gap:6px;}
.metric .v{font-size:clamp(1.5rem,3.2vw,2.2rem);font-weight:300;color:var(--orange);line-height:1;}
.metric .l{font-size:13px;line-height:1.45;color:var(--grey);}
.modal__body{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:clamp(24px,4vw,48px);align-items:start;}
.modal__main{display:flex;flex-direction:column;gap:16px;min-width:0;}
.modal__label{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);font-weight:700;}
.modal__main p{font-size:16px;line-height:1.72;color:#4a4a4a;}
.modal__side{display:flex;flex-direction:column;gap:22px;min-width:0;}
.draft-note{border:1px dashed #ddddd8;background:var(--soft);padding:18px 20px;font-size:14px;line-height:1.6;color:#9a9a96;}
.outputs{display:flex;flex-direction:column;gap:10px;}
.outputs a{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);}
.outputs a:hover{border-color:var(--orange);background:#fffdfa;}
.outputs .ic{width:30px;height:30px;flex:0 0 auto;border-radius:50%;background:var(--orange);display:flex;align-items:center;justify-content:center;}
.outputs .ic svg{width:12px;height:12px;fill:#fff;}
.outputs .t{font-size:14px;font-weight:700;color:var(--text);}
.outputs .m{font-size:12px;color:var(--soft-grey);}
.outlets{display:flex;flex-wrap:wrap;gap:8px;}
.outlets span{font-size:13px;font-weight:700;color:var(--muted);border:1px solid var(--line);padding:7px 12px;}
.side-cta{background:var(--soft);border:1px solid var(--line);padding:22px;display:flex;flex-direction:column;gap:12px;}
.side-cta p{font-size:16px;line-height:1.5;color:#3d3d3d;}
body.no-scroll{overflow:hidden;}

/* -------- 404 -------- */
.notfound{min-height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:60px 20px;}
.notfound .code{font-size:clamp(3rem,10vw,6rem);font-weight:300;color:var(--orange);line-height:1;}
.notfound h1{font-weight:300;font-size:clamp(1.4rem,4vw,2.2rem);color:#2f2f2f;}
.notfound p{color:var(--muted);}

/* -------- Responsive -------- */
@media (max-width:820px){
  .nav{display:none;}
  .menu-btn{display:flex;}
  .refs__index{grid-template-columns:1fr;}
  .refaside{position:static;order:-1;}
}
.js-hidden{display:none!important;}
