/* YKDFT Public Site v2.2 — typography & layout correction
   Goal: professional research consultancy, not poster / SaaS template. */
:root{
  --v22-bg:#f7f8f6;
  --v22-panel:#ffffff;
  --v22-ink:#08131f;
  --v22-ink-2:#0c1b2a;
  --v22-text:#172330;
  --v22-muted:#63717d;
  --v22-line:#dbe1dd;
  --v22-blue:#4e72e8;
  --v22-cyan:#63d4df;
  --v22-max:1160px;
}

html{font-size:16px}
body{font-size:15px;line-height:1.68;letter-spacing:0;background:var(--v22-bg);color:var(--v22-text)}
.container{width:min(var(--v22-max),calc(100% - 64px))}

/* Header: shorter, calmer, readable */
.site-header{height:74px;background:rgba(7,17,28,.88);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.07)}
.site-header.scrolled{height:66px;background:rgba(248,249,247,.97);border-color:#e1e5e2}
.nav-wrap{gap:24px}
.brand{min-width:190px;gap:10px}
.brand-mark,.brand-mark svg{width:38px;height:38px}
.brand-copy strong{font-size:17px;font-weight:720;letter-spacing:.01em}
.brand-copy small{font-size:7px;letter-spacing:.17em;margin-top:2px}
.main-nav>a,.nav-dropdown>a{padding:8px 10px;border-radius:7px;font-size:13px;font-weight:560}
.main-nav>a:hover,.nav-dropdown>a:hover,.main-nav>a.active,.nav-dropdown>a.active{background:rgba(255,255,255,.06)}
.site-header.scrolled .main-nav>a:hover,.site-header.scrolled .nav-dropdown>a:hover,.site-header.scrolled .main-nav>a.active,.site-header.scrolled .nav-dropdown>a.active{background:#edf0ed;color:#111b23}
.nav-login{font-size:12px}
.button{min-height:40px;padding:9px 17px;border-radius:7px;font-size:13px;font-weight:650}
.button-lg{min-height:46px;padding:11px 20px;border-radius:8px}
.button-primary{background:var(--v22-blue);border-color:var(--v22-blue);color:white}
.button-primary:hover{background:#3f61d6;border-color:#3f61d6;color:white;box-shadow:none}

/* Type system */
.eyebrow{margin-bottom:13px;gap:8px;font-size:10px;letter-spacing:.12em;font-weight:700;text-transform:none;color:#7f909d}
.eyebrow span{width:20px}
.section{padding:86px 0}
.section-heading{margin-bottom:38px}
.section-heading h2{margin:0;font-size:clamp(32px,3.3vw,42px);line-height:1.14;font-weight:650;letter-spacing:-.035em}
.section-heading p{max-width:520px;font-size:15px;line-height:1.75;color:var(--v22-muted)}
.split-heading{grid-template-columns:minmax(0,1fr) minmax(300px,440px);gap:56px;align-items:end}

/* Hero: much less poster-like */
.hero-v21{min-height:720px;padding:126px 0 58px;background:#07131f}
.hero-v21:before{height:560px;inset:-16% -5% auto 54%;background:radial-gradient(circle,rgba(78,114,232,.18),transparent 65%)}
.hero-v21-grid{background-size:64px 64px;opacity:.5}
.hero-v21-layout{grid-template-columns:minmax(0,.92fr) minmax(480px,1.08fr);gap:54px;align-items:center}
.hero-v21 .hero-copy{padding-top:0}
.hero-v21 h1{max-width:600px;font-size:clamp(48px,4.7vw,64px);line-height:1.08;font-weight:620;letter-spacing:-.045em}
.hero-v21 h1 .line-muted{display:inline;color:#fff;font-weight:620}
.hero-v21 h1 .line-accent{display:inline;color:#e7edf3;font-weight:620}
.hero-v21 h1 .line-accent:before{content:" ";}
.hero-v21 .hero-lead{max-width:580px;margin-top:24px;font-size:16px;line-height:1.78;color:#a2b2bf}
.hero-v21 .hero-actions{margin-top:28px}
.hero-v21 .button-primary{background:#eef3ff;color:#0c1b2a;border-color:#eef3ff}
.hero-v21 .button-primary:hover{background:#fff;color:#0c1b2a;border-color:#fff}
.hero-proof{margin-top:38px;border-bottom:0}
.hero-proof div{padding:16px 14px 0 0}
.hero-proof div+div{padding-left:16px}
.hero-proof b{font-size:12px;font-weight:650}
.hero-proof span{font-size:10px;line-height:1.45;letter-spacing:0;text-transform:none;color:#778998}
.science-stage{min-height:500px}
.science-frame{inset:18px 0 18px 20px}
.science-index{right:8px;top:58px;width:158px}
.science-index div{padding:12px 14px}
.stage-note{left:8px;bottom:35px;width:205px;padding:12px 14px;background:#eef3ff;color:#091522;box-shadow:none}
.stage-note strong{font-size:23px}.stage-note span{font-size:9px;letter-spacing:.02em}
.stage-label-a{left:34px}.stage-label-b{right:8px}
.science-stage-label{font-size:8px;letter-spacing:.12em}

.capability-rail .container{grid-template-columns:1.1fr repeat(4,1fr)}
.capability-rail strong,.capability-rail span{min-height:62px;padding:0 16px}
.capability-rail strong{font-size:9px;letter-spacing:.12em}
.capability-rail span{font-size:11px}

/* Methods: readable editorial rows */
.method-row{grid-template-columns:72px minmax(0,1fr) minmax(300px,390px);gap:34px;min-height:0;padding:40px 0}
.method-row .method-no{font-size:10px;letter-spacing:.08em}
.method-row h3{margin:3px 0 12px;font-size:30px;line-height:1.16;font-weight:650;letter-spacing:-.03em}
.method-row p{max-width:610px;font-size:14px;line-height:1.75}
.method-row .method-meta{margin-top:17px;gap:6px}
.method-row .method-meta span{padding:5px 8px;border-radius:5px;font-size:9px}
.method-row .text-link{margin-top:18px;font-size:11px}
.method-visual{min-height:175px;padding-left:30px}
.method-visual svg{height:175px}
.method-visual .visual-caption{left:30px;bottom:-4px;font-size:7px;letter-spacing:.1em}

/* Result atlas: one strong feature, smaller supporting panels */
.atlas-grid{grid-template-columns:1.35fr .65fr;grid-template-rows:230px 230px;gap:1px}
.atlas-card:first-child{grid-row:1/3}
.atlas-card:nth-child(4),.atlas-card:nth-child(5){display:none}
.atlas-card{padding:20px}
.atlas-copy strong{font-size:14px}

/* Workflow / deliverables / applications */
.workflow-v21 .workflow-line{grid-template-columns:repeat(3,1fr);border-color:var(--v22-line)}
.workflow-v21 .workflow-step{min-height:170px;padding:20px 18px;border-color:var(--v22-line)}
.workflow-v21 .workflow-step:nth-child(-n+3){border-bottom:1px solid var(--v22-line)}
.workflow-v21 .workflow-step:nth-child(3){border-right:0}
.workflow-v21 .workflow-step h3{margin:34px 0 7px;font-size:16px}
.workflow-v21 .workflow-step p{font-size:11px;line-height:1.6}

.deliverable-grid{grid-template-columns:repeat(3,1fr)!important;gap:12px!important;background:transparent!important;border:0!important}
.deliverable-card{min-height:160px!important;padding:22px!important;border:1px solid var(--v22-line)!important;background:#fff!important}
.deliverable-card span{font-size:8px!important}.deliverable-card h3{margin:24px 0 7px!important;font-size:16px!important}.deliverable-card p{font-size:11px!important}
.application-grid{grid-template-columns:repeat(3,1fr)!important;gap:12px!important;background:transparent!important;border:0!important}
.application-card{min-height:126px!important;padding:22px!important;border:1px solid var(--v22-line)!important;background:#fff!important}
.application-card b{font-size:16px!important}.application-card span{font-size:10px!important;line-height:1.55}

/* Security & CTA */
.security-layout{gap:64px}
.security-copy h2{font-size:clamp(32px,3.4vw,44px)!important;line-height:1.14!important;letter-spacing:-.035em!important}
.security-copy p{font-size:14px!important;line-height:1.75!important}
.security-checks>div{padding:20px!important}
.cta-section{padding-bottom:86px}
.cta-card{padding:40px 44px!important;background:#182b43!important}
.cta-card:after{display:none}
.cta-card h2{font-size:clamp(30px,3.3vw,42px)!important;line-height:1.14!important;letter-spacing:-.035em!important}
.cta-card p{font-size:14px!important;line-height:1.7!important}

/* Services page */
.page-hero-v21{padding:132px 0 68px}
.page-hero-v21 h1{max-width:820px;font-size:clamp(44px,4.5vw,58px);line-height:1.08;font-weight:620;letter-spacing:-.045em}
.page-hero-v21 p{max-width:650px;margin-top:20px;font-size:15px;line-height:1.75}
.scale-axis{margin-top:44px}
.scale-axis div{padding-top:14px;font-size:8px;letter-spacing:.09em}
.scale-axis strong{font-size:10px}
.service-band{grid-template-columns:64px minmax(0,1fr) minmax(300px,360px);gap:32px;padding:44px 0}
.service-band-num{font-size:9px;letter-spacing:.1em}
.service-band h2{margin:2px 0 12px;font-size:32px;line-height:1.15;letter-spacing:-.03em}
.service-band p{font-size:14px;line-height:1.72}
.service-band .capability-row{margin-top:17px}.service-band .capability-row span{border-radius:5px;font-size:9px;padding:5px 8px}
.service-band .text-link{margin-top:18px;font-size:11px}
.service-band-visual{min-height:185px;padding-left:28px}.service-band-visual svg{height:185px}
.specific-service-grid{grid-template-columns:repeat(3,1fr)!important;gap:12px!important;background:transparent!important;border:0!important}
.specific-service-card{min-height:185px!important;padding:22px!important;border:1px solid var(--v22-line)!important;background:#fff!important}
.specific-service-card h3{margin-top:20px!important;font-size:16px!important}.specific-service-card p{font-size:11px!important}.specific-service-card b{font-size:10px!important}
.two-panel-layout{gap:14px!important;background:transparent!important;border:0!important}
.info-panel{padding:32px!important;border:1px solid var(--v22-line)!important}

/* Cases: 2-column, image-led */
.case-filter{margin-bottom:26px!important}
.case-filter a{font-size:11px!important;padding:10px 0!important;margin-right:26px!important}
.case-grid-large{grid-template-columns:repeat(2,1fr)!important;gap:20px!important;background:transparent!important;border:0!important}
.case-card{border:1px solid var(--v22-line)!important}
.case-card img,.case-placeholder{height:310px!important}
.case-card-body{padding:22px!important}
.case-card-body h2,.case-card-body h3{font-size:20px!important;line-height:1.32!important;letter-spacing:-.02em!important}
.case-card-body p{min-height:0!important;font-size:12px!important;line-height:1.65!important}
.case-empty-v21{grid-template-columns:minmax(0,.9fr) minmax(430px,1.1fr);gap:50px;padding:48px 0 12px}
.case-empty-v21 h2{font-size:clamp(34px,4vw,48px);line-height:1.1;letter-spacing:-.035em}
.case-empty-v21 p{font-size:14px;line-height:1.75}
.case-empty-visual{min-height:340px}

/* Footer */
.site-footer{padding-top:58px!important}
.footer-grid{gap:42px!important}
.footer-brand p{font-size:11px!important;line-height:1.7}.footer-grid a,.footer-note{font-size:11px!important}
.footer-bottom{margin-top:36px!important;padding-top:16px!important}

/* Remove oversized forced typography inherited from original pages */
.page-hero:not(.page-hero-v21){padding-top:130px!important}
.page-hero h1{font-size:clamp(40px,4.4vw,56px)!important;line-height:1.1!important;letter-spacing:-.04em!important}

@media(max-width:1100px){
  .container{width:min(var(--v22-max),calc(100% - 48px))}
  .hero-v21{padding-bottom:70px}
  .hero-v21-layout{grid-template-columns:1fr;gap:38px}
  .hero-v21 h1{max-width:760px}
  .science-stage{min-height:460px;max-width:720px;margin:0}
  .method-row,.service-band{grid-template-columns:58px 1fr}
  .method-visual,.service-band-visual{grid-column:2;padding-left:0}
  .specific-service-grid{grid-template-columns:repeat(2,1fr)!important}
  .case-grid-large{grid-template-columns:repeat(2,1fr)!important}
}

@media(max-width:760px){
  body{font-size:14px}
  .container{width:calc(100% - 32px)}
  .site-header{height:66px}.site-header.scrolled{height:62px}
  .section{padding:64px 0}
  .section-heading{margin-bottom:28px}.section-heading h2{font-size:30px}.section-heading p{font-size:14px}
  .hero-v21{padding:102px 0 52px;min-height:auto}.hero-v21 h1{font-size:42px;line-height:1.08}.hero-v21 .hero-lead{font-size:14px}.hero-v21 .hero-actions{margin-top:22px}.hero-proof{margin-top:28px}
  .science-stage{min-height:350px}.science-index{width:126px}.stage-note{width:180px}
  .capability-rail .container{grid-template-columns:1fr 1fr}.capability-rail strong{grid-column:1/-1}.capability-rail span{min-height:52px;font-size:9px}
  .method-row,.service-band{grid-template-columns:1fr;gap:10px;padding:32px 0}.method-row h3,.service-band h2{font-size:27px}.method-row p,.service-band p{font-size:13px}.method-visual,.service-band-visual{grid-column:1;padding-top:20px}
  .atlas-grid{grid-template-columns:1fr;grid-template-rows:320px 200px 200px}.atlas-card:first-child{grid-row:auto}.atlas-card:nth-child(4),.atlas-card:nth-child(5){display:none}
  .workflow-v21 .workflow-line{grid-template-columns:1fr 1fr}.workflow-v21 .workflow-step{min-height:145px}.workflow-v21 .workflow-step:nth-child(3){border-right:1px solid var(--v22-line)}.workflow-v21 .workflow-step:nth-child(even){border-right:0}
  .deliverable-grid,.application-grid,.specific-service-grid,.case-grid-large{grid-template-columns:1fr!important}
  .page-hero-v21{padding:108px 0 56px}.page-hero-v21 h1{font-size:38px}.scale-axis{grid-template-columns:1fr 1fr}
  .case-empty-v21{grid-template-columns:1fr;gap:28px}.case-empty-visual{min-height:280px}
  .cta-card{padding:30px 24px!important}.cta-card h2{font-size:30px!important}
}
