/* metric-compatible serif fallback: no reflow when Source Serif 4 arrives */
@font-face{font-family:'SS4 Fallback';src:local('Georgia'),local('Liberation Serif'),local('DejaVu Serif'),local('Times New Roman');size-adjust:92%;ascent-override:96%;descent-override:26%;line-gap-override:0%}
/* =====================================================================
   Alpha Statistical Consult — theme styles (pairs with theme.json)
   Design system: web/DESIGN_SYSTEM.md. Ambient statistical motifs are
   background atmosphere; foreground stays clean and editable blocks.
   ===================================================================== */

:root:root{
  --asc-base:#ffffff; --asc-surface:#f2f7fc; --asc-surface-2:#f8fbfe;
  --asc-ink:#233240; --asc-navy:#0c1d30; --asc-muted:#5f7183;
  --asc-primary:#1466c8; --asc-primary-dark:#0f4f9e; --asc-sky:#4a90e2; --asc-line:#e0eaf4;
  --asc-serif:'Source Serif 4','SS4 Fallback',Georgia,serif;
  --asc-sans:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  /* token bridge for Elyown Blocks, if used */
  --c-primary:var(--asc-primary); --c-primary-dark:var(--asc-primary-dark);
  --c-ink:var(--asc-ink); --c-bg:var(--asc-base); --c-line:var(--asc-line);
}

html{scroll-behavior:smooth;scrollbar-gutter:stable}
body{-webkit-font-smoothing:antialiased;letter-spacing:.002em}
a:focus-visible,button:focus-visible,.wp-block-button__link:focus-visible{outline:2px solid var(--asc-primary);outline-offset:2px}

/* ---------- bands (sections) ---------- */
.asc-band{position:relative;overflow:hidden;padding-block:clamp(64px,9vw,112px)}
.asc-band>*{position:relative;z-index:2}
.asc-band--tight{padding-block:clamp(48px,6vw,64px)}
.asc-band--surface{background:var(--asc-surface)}
.asc-band--gradient{background:linear-gradient(180deg,#fff 0,var(--asc-surface) 100%)}
.asc-band--navy{background:var(--asc-navy)}
.asc-band--navy h1,.asc-band--navy h2,.asc-band--navy h3,.asc-band--navy h4{color:#fff}
.asc-band--navy p{color:#b7c6d8}
.asc-band--navy a:not(.wp-block-button__link){color:#8fc0ff}
.asc-band--close{background:linear-gradient(140deg,var(--asc-navy),#123457);text-align:center}
.asc-band--close h2{color:#fff}
.asc-band--close p{color:#c3d3e6;max-width:52ch;margin-inline:auto}
.asc-band--close .wp-block-buttons{justify-content:center}
.asc-band--close .wp-block-button__link{background:#fff;color:var(--asc-navy)}
.asc-band--close .wp-block-button__link:hover{background:#e9f1fb;color:var(--asc-navy)}

/* ---------- ambient statistical background system ---------- */
.asc-amb-paper::before,.asc-amb-hero::before,.asc-amb-methods::before,.asc-band--close.asc-amb-paper::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:linear-gradient(rgba(20,102,200,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(20,102,200,.045) 1px,transparent 1px);
  background-size:46px 46px;
  -webkit-mask-image:radial-gradient(120% 90% at 70% 10%,#000 30%,transparent 78%);
          mask-image:radial-gradient(120% 90% at 70% 10%,#000 30%,transparent 78%);
}
.asc-band--navy.asc-amb-methods::before,.asc-band--close.asc-amb-paper::before{
  background-image:linear-gradient(rgba(143,192,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(143,192,255,.07) 1px,transparent 1px);
}
.asc-amb-hero{background-image:url(assets/img/motifs/bell-light.svg),url(assets/img/motifs/km-light.svg),linear-gradient(180deg,#fff 0,var(--asc-surface) 100%);
  background-repeat:no-repeat,no-repeat,no-repeat;
  background-position:right 6% top 16%,right -40px bottom -20px,center;
  background-size:min(340px,42vw) auto,min(74%,900px) auto,cover}
.asc-amb-services{background-image:url(assets/img/motifs/rho-light.svg);background-repeat:no-repeat;background-position:right -30px bottom -60px;background-size:280px auto}
.asc-amb-about{background-image:url(assets/img/motifs/sigma-light.svg);background-repeat:no-repeat;background-position:left -30px top -50px;background-size:260px auto}
.asc-band--navy.asc-amb-methods{background-image:url(assets/img/motifs/methods-navy.svg);background-repeat:no-repeat;background-position:center;background-size:cover;background-color:var(--asc-navy)}

/* ---------- typography helpers ---------- */
.asc-eyebrow{font-family:var(--asc-sans);text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;font-weight:600;color:var(--asc-primary);margin-bottom:2px}
.asc-band--navy .asc-eyebrow{color:#8fc0ff}
.asc-lead{font-size:1.22rem;color:var(--asc-muted);line-height:1.68}
.asc-muted{color:var(--asc-muted)}
.asc-who{font-size:1rem;color:var(--asc-muted);font-style:italic}

/* ---------- buttons: 2-style standard ---------- */
.wp-block-button__link{transition:.16s;border:1.5px solid var(--asc-primary)}
.wp-block-button.is-style-outline .wp-block-button__link,
.wp-block-button.is-style-outline>.wp-block-button__link{
  background:transparent;color:var(--asc-primary);border:1.5px solid var(--asc-line);padding:.85em 1.7em}
.wp-block-button.is-style-outline .wp-block-button__link:hover{border-color:var(--asc-primary);background:var(--asc-surface-2);color:var(--asc-primary-dark)}

/* ---------- positioning strip ---------- */
.asc-strip{border-top:1px solid var(--asc-line);border-bottom:1px solid var(--asc-line);background:#fff;padding-block:16px}
.asc-strip p{font-family:var(--asc-sans);font-size:1rem;letter-spacing:.03em;color:var(--asc-navy);font-weight:600;margin:0}
.asc-strip p::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--asc-primary);display:inline-block;margin-right:9px;vertical-align:2px}

/* ---------- cards ---------- */
.asc-cards{gap:24px}
.asc-cards .wp-block-column.asc-card{background:#fff;border:1px solid var(--asc-line);border-radius:16px;padding:32px 24px;transition:.2s}
.asc-cards .wp-block-column.asc-card:hover{box-shadow:0 24px 60px -38px rgba(12,29,48,.55);transform:translateY(-3px);border-color:#cfe0f2}
.asc-card h3{margin:0 0 12px}
.asc-card p{font-size:1rem}
.asc-card .asc-more{font-family:var(--asc-sans);font-weight:600;font-size:1rem}

/* ---------- why list ---------- */
.asc-why h3{font-size:1.15rem;margin-bottom:8px}
.asc-why h3::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--asc-primary);display:inline-block;margin-right:10px;vertical-align:1px}
.asc-why p{color:var(--asc-muted);font-size:1rem}

/* ---------- chips ---------- */
.asc-chips{display:flex;flex-wrap:wrap;gap:8px}
.asc-chips p{font-family:var(--asc-sans);font-size:.86rem;color:var(--asc-navy);background:var(--asc-surface);border:1px solid var(--asc-line);border-radius:999px;padding:8px 16px;margin:0}
.asc-band--navy .asc-chips p{color:#dbe8f7;background:rgba(143,192,255,.1);border-color:rgba(143,192,255,.22)}

/* ---------- signature figure ---------- */
.asc-figure{background:#fff;border:1px solid var(--asc-line);border-radius:16px;padding:24px;box-shadow:0 24px 60px -40px rgba(12,29,48,.5)}
.asc-figure img{border-radius:10px}
.asc-figure figcaption{font-family:var(--asc-sans);font-size:.8rem;color:var(--asc-muted);margin-top:10px;text-align:left}

/* ---------- person card ---------- */
.asc-person{background:#fff;border:1px solid var(--asc-line);border-radius:16px;padding:32px;box-shadow:0 20px 50px -40px rgba(12,29,48,.5);gap:20px}
.asc-avatar p,p.asc-avatar{width:82px;height:82px;border-radius:50%;background:linear-gradient(140deg,var(--asc-sky),var(--asc-primary));display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--asc-serif);font-weight:600;font-size:1.7rem;margin:0}
.asc-name{font-family:var(--asc-serif);color:var(--asc-navy);font-weight:600;font-size:1.15rem;margin:0}
.asc-role{font-family:var(--asc-sans);font-size:1rem;color:var(--asc-primary);font-weight:600;margin:2px 0 0}
.asc-note{font-size:1rem;color:var(--asc-muted);font-style:italic;margin:8px 0 0}

/* ---------- FAQ ---------- */
.asc-faq .wp-block-details{border-bottom:1px solid var(--asc-line);padding:6px 0;margin-bottom:0}
.asc-faq summary{font-family:var(--asc-serif);color:var(--asc-navy);font-weight:600;font-size:1.08rem;padding:16px 0;cursor:pointer;list-style:none;position:relative;padding-right:34px}
.asc-faq summary::-webkit-details-marker{display:none}
.asc-faq summary::after{content:"+";color:var(--asc-primary);font-family:var(--asc-sans);position:absolute;right:4px;top:16px}
.asc-faq .wp-block-details[open] summary::after{content:"–"}
.asc-faq .wp-block-details p{color:var(--asc-muted);padding-bottom:16px;font-size:1rem;max-width:56ch}

/* ---------- header ---------- */
.asc-site-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.92);backdrop-filter:saturate(1.3) blur(10px);border-bottom:1px solid var(--asc-line);padding-block:8px}
.asc-site-header .asc-logo img{height:56px;width:auto}
.asc-site-header .wp-block-navigation a{font-family:var(--asc-sans);font-size:.94rem;color:var(--asc-ink);font-weight:500;padding:12px 8px}
.asc-site-header .wp-block-navigation a:hover{color:var(--asc-primary)}
.asc-site-header .wp-block-button__link{padding:12px 20px;font-size:.9rem}

/* ---------- footer ---------- */
.asc-footer{background:#081521;color:#93a6b8;font-family:var(--asc-sans);font-size:.9rem;padding-block:48px 0}
.asc-footer .asc-logo img{height:44px;width:auto}
.asc-footer h3{color:#d5e2ef;font-family:var(--asc-sans);font-size:.76rem;text-transform:uppercase;letter-spacing:.14em;margin-bottom:12px;font-weight:600}
.asc-footer p{color:#93a6b8;margin-bottom:8px}
.asc-footer a{color:#93a6b8;text-decoration:none}
.asc-footer a:hover{color:#fff}
.asc-legal{border-top:1px solid #16283a;margin-top:32px;padding-block:16px;font-size:.8rem}

/* ---------- insights (blog) ---------- */
.asc-postgrid .wp-block-post{background:#fff;border:1px solid var(--asc-line);border-radius:16px;padding:28px;transition:.2s}
.asc-postgrid .wp-block-post:hover{box-shadow:0 24px 60px -38px rgba(12,29,48,.55);transform:translateY(-2px)}
.asc-postgrid .wp-block-post-title{font-size:1.2rem;margin:0 0 8px}
.asc-postgrid .wp-block-post-title a{color:var(--asc-navy);text-decoration:none}
.asc-postgrid .wp-block-post-title a:hover{color:var(--asc-primary)}
.asc-postgrid .wp-block-post-excerpt{font-size:1rem;color:var(--asc-muted)}
.asc-postgrid .wp-block-post-date{font-family:var(--asc-sans);font-size:.8rem;color:var(--asc-muted)}
.asc-article h1{margin-bottom:10px}
.asc-article .wp-block-post-content{max-width:720px;margin-inline:auto}

/* ---------- forms (CF7) ---------- */
.asc-form input[type=text],.asc-form input[type=email],.asc-form input[type=tel],.asc-form textarea{
  width:100%;font-family:var(--asc-sans);font-size:1rem;color:var(--asc-ink);
  background:#fff;border:1.5px solid var(--asc-line);border-radius:8px;padding:12px 16px;min-height:48px}
.asc-form input:focus,.asc-form textarea:focus{outline:2px solid var(--asc-primary);outline-offset:0;border-color:var(--asc-primary)}
.asc-form label{font-family:var(--asc-sans);font-weight:600;font-size:1rem;color:var(--asc-navy);display:block;margin-bottom:8px}
.asc-form .wpcf7-form p{margin-bottom:16px}
.asc-form .wpcf7-submit{background:var(--asc-primary);color:#fff;border:1.5px solid var(--asc-primary);border-radius:7px;font-family:var(--asc-sans);font-weight:600;font-size:.96rem;padding:.85em 1.7em;cursor:pointer;transition:.16s;min-height:48px}
.asc-form .wpcf7-submit:hover{background:var(--asc-primary-dark);border-color:var(--asc-primary-dark)}
.asc-form .wpcf7-not-valid-tip{font-size:.85rem;color:#b3261e}
.asc-form .wpcf7-response-output{border-radius:8px;padding:12px 16px;font-family:var(--asc-sans)}
.asc-form .wpcf7-acceptance label{font-weight:400;font-size:.88rem;color:var(--asc-muted);display:flex;gap:8px;align-items:flex-start}

/* ---------- misc ---------- */
.asc-band .wp-block-separator{border-color:var(--asc-line);opacity:1}
@media (max-width:781px){
  .asc-band{padding-block:clamp(48px,10vw,72px)}
  .asc-site-header .asc-logo img{height:46px}
  .asc-cards{gap:16px}
}

/* ---------- polish pass 1 ---------- */
/* readable measure inside bands (left-aligned, like the approved design) */
.asc-band > h1,.asc-band > h2,.asc-band > h3,
.asc-band > p:not(.asc-avatar),.asc-band > ul,.asc-band > ol,
.asc-band > .wp-block-details,.asc-band > .wp-block-buttons{max-width:720px}
.asc-more{font-size:1rem}
.asc-more a{text-decoration:none}
.asc-more a:hover{text-decoration:underline}
.asc-band .wp-block-columns{gap:48px}
.asc-band .wp-block-columns .wp-block-column{min-width:0}
.asc-band .wp-block-column > h3:first-child{margin-top:0}

/* ---------- polish pass 2: scale rhythm + third-party text size ---------- */
.asc-band :is(h2,h3){margin-block:32px 16px}
.asc-band :is(h2,h3):first-child{margin-top:0}
.asc-band h1{margin-block:8px 16px}
.asc-band p{margin-block:0 16px}
.asc-band ul,.asc-band ol{margin-block:0 16px;padding-left:24px}
.asc-band li{margin-block:0 8px}
.asc-band .wp-block-buttons{margin-top:24px;gap:16px}
.wp-block-button__link{padding:16px 24px}
.wp-block-button.is-style-outline .wp-block-button__link{padding:16px 24px}
/* cookie-notice text readable (plugin default is small) */
.cky-consent-container p,.cky-notice-des,.cky-notice-des p,.cky-title,
#cookie-law-info-bar,#cookie-law-info-bar p{font-size:16px!important;line-height:1.5!important}

/* a11y: third-party cookie controls reach 44px */
.cky-btn,.cky-consent-container button{min-height:44px!important}
.asc-legal p{margin:0}

/* a11y: skip link keeps target size while visually offscreen; visible on focus */
a.skip-link.screen-reader-text{clip:auto!important;clip-path:none!important;width:auto!important;height:auto!important;
  padding:12px 20px!important;position:absolute!important;left:-200vw;top:16px;background:#fff;color:var(--asc-primary);
  border-radius:8px;font-family:var(--asc-sans);font-weight:600;z-index:99}
a.skip-link.screen-reader-text:focus{left:16px}
/* third-party close control target size */
.cky-consent-container button{min-height:44px!important;min-width:44px!important}
button.cky-btn-close{min-width:44px!important;min-height:44px!important;display:flex!important;align-items:center;justify-content:center}
.cky-banner-btn-close,button.cky-btn-close{display:none!important}
button[class*="cky"]:not(.cky-btn-close){min-height:44px!important}
/* mobile nav toggles reach 44px targets */
.wp-block-navigation__responsive-container-open,
.wp-block-navigation__responsive-container-close{width:44px;height:44px;display:flex;align-items:center;justify-content:center}
h2.asc-h3{font-size:1.28rem;margin-top:0}
.asc-consent{font-size:1rem;color:var(--asc-muted)}

/* honeypot control keeps target size while invisible to humans */
.wpcf7-form-control-wrap[data-name="website-url"] input{width:44px!important;height:44px!important}
.asc-form input{min-width:44px}
.asc-form .wpcf7-form-control-wrap{min-width:44px;display:block}
/* outline button geometry stable from first paint (beats late core block CSS) */
.wp-block-buttons .wp-block-button.is-style-outline .wp-block-button__link,
.wp-block-button.is-style-outline .wp-block-button__link.wp-element-button{
  background:transparent;color:var(--asc-primary);border:1.5px solid var(--asc-line);padding:16px 24px}
.wp-block-buttons .wp-block-button.is-style-outline .wp-block-button__link:hover,
.wp-block-button.is-style-outline .wp-block-button__link.wp-element-button:hover{
  border-color:var(--asc-primary);background:var(--asc-surface-2);color:var(--asc-primary-dark)}

/* ---------- uniform left rhythm ----------
   Prose (720px measure) shares the SAME left edge as the wide container
   (cards/strip at 1180px), instead of floating centered. Centered CTA band excepted. */
.asc-band > :not(.alignwide):not(.alignfull){
  max-width:720px;
  margin-left:max(0px, calc((100% - 1180px)/2)) !important;
  margin-right:auto !important;
}
.asc-band--close > :not(.alignwide):not(.alignfull){
  margin-left:auto !important;
  margin-right:auto !important;
}
