/* Satomi Signal Gold — services design system (scoped to .satomi) */

@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/space-grotesk-500.woff2') format('woff2');}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/space-grotesk-700.woff2') format('woff2');}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/ibm-plex-sans-400.woff2') format('woff2');}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/ibm-plex-sans-500.woff2') format('woff2');}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/ibm-plex-sans-600.woff2') format('woff2');}

/* ---- Hide theme chrome + reset page frame on our 5 pages ---- */
.page-id-210,.page-id-254,.page-id-265,.page-id-285,.page-id-280{overflow-x:clip;}
.page-id-210 .page_head,.page-id-254 .page_head,.page-id-265 .page_head,.page-id-285 .page_head,.page-id-280 .page_head,
.page-id-210 .skt-page-title,.page-id-254 .skt-page-title,.page-id-265 .skt-page-title,.page-id-285 .skt-page-title,.page-id-280 .skt-page-title,
.page-id-210 .shorthead,.page-id-254 .shorthead,.page-id-265 .shorthead,.page-id-285 .shorthead,.page-id-280 .shorthead,
.page-id-210 .page-title,.page-id-254 .page-title,.page-id-265 .page-title,.page-id-285 .page-title,.page-id-280 .page-title{display:none!important;}
.page-id-210 #content,.page-id-254 #content,.page-id-265 #content,.page-id-285 #content,.page-id-280 #content{margin:0!important;}
.page-id-210 .center,.page-id-254 .center,.page-id-265 .center,.page-id-285 .center,.page-id-280 .center{max-width:none!important;padding:0!important;}
.page-id-210 .single_post_content,.page-id-254 .single_post_content,.page-id-265 .single_post_content,.page-id-285 .single_post_content,.page-id-280 .single_post_content,
.page-id-210 .thn_post_wrap,.page-id-254 .thn_post_wrap,.page-id-265 .thn_post_wrap,.page-id-285 .thn_post_wrap,.page-id-280 .thn_post_wrap{padding:0!important;margin:0!important;float:none!important;width:100%!important;}

/* ---- Root tokens ---- */
.satomi{
  --bg:#F6F5F1;--surface:#FFFFFF;--ink:#1A1A17;--accent:#E8971A;--accent-deep:#C67D0B;
  --charcoal:#17181A;--charcoal-2:#202127;--muted:#66655C;--muted-dark:#B7B2A6;
  --hairline:#E7E4DC;--hairline-dark:#32333A;--maxw:1180px;--pad:24px;--r-sm:8px;--r-md:14px;
  font-family:'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  color:var(--ink);background:var(--bg);line-height:1.65;font-size:17px;font-weight:400;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
.satomi :where(h1,h2,h3,h4,p,ul,ol,li,figure,blockquote){margin:0;padding:0;border:0;}
.satomi *,.satomi *::before,.satomi *::after{box-sizing:border-box;}
.satomi :where(h1,h2,h3,h4){font-family:'Space Grotesk',sans-serif;font-weight:700;color:var(--ink);letter-spacing:-.01em;line-height:1.1;}
.satomi a{color:inherit;text-decoration:none;}
.satomi img{max-width:100%;display:block;}

/* ---- Bands + shared container ---- */
.satomi .s-band{width:100vw;margin-left:50%;transform:translateX(-50vw);max-width:100vw;}
.satomi .s-band--charcoal{background:var(--charcoal);color:#F3F1EC;}
.satomi .s-band--ink{background:#111214;color:#F3F1EC;}
.satomi .s-band--tint{background:#EFEDE6;}
.satomi .s-band--paper{background:var(--bg);}
.satomi .s-inner{max-width:var(--maxw);margin:0 auto;padding:96px var(--pad);}
.satomi .s-inner--tight{padding-top:64px;padding-bottom:64px;}

/* ---- Type helpers ---- */
.satomi .s-eyebrow{font-family:'Space Grotesk',sans-serif;font-weight:500;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:18px;display:inline-block;}
.satomi .s-h2{font-size:clamp(28px,3.4vw,40px);margin-bottom:18px;}
.satomi .s-h2--rule{padding-left:18px;border-left:4px solid var(--accent);border-radius:0;}
.satomi .s-h3{font-size:20px;margin-bottom:10px;}
.satomi .s-lead{font-size:clamp(17px,1.5vw,19px);color:var(--muted);max-width:62ch;line-height:1.7;}
.satomi .s-band--charcoal .s-lead,.satomi .s-band--ink .s-lead{color:var(--muted-dark);}
.satomi .s-p{color:var(--muted);max-width:64ch;line-height:1.75;margin-bottom:16px;}
.satomi .s-band--charcoal .s-p{color:#CFCABD;}
.satomi .s-accent{color:var(--accent);}
.satomi .s-band--charcoal .s-hero__title{color:#F3F1EC;}

/* ---- Buttons ---- */
.satomi .s-btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px;}
.satomi .s-btn{display:inline-flex;align-items:center;gap:9px;font-family:'Space Grotesk',sans-serif;font-weight:500;font-size:16px;line-height:1;padding:15px 26px;border-radius:var(--r-sm);border:1.5px solid transparent;cursor:pointer;transition:transform .12s ease,background .18s ease,border-color .18s ease,color .18s ease;}
.satomi .s-btn:active{transform:translateY(1px);}
.satomi .s-btn--primary{background:var(--accent);color:#17181A;}
.satomi .s-btn--primary:hover{background:#F2A62B;}
.satomi .s-btn--ghost{background:transparent;color:var(--ink);border-color:var(--ink);}
.satomi .s-btn--ghost:hover{background:var(--ink);color:#fff;}
.satomi .s-band--charcoal .s-btn--ghost,.satomi .s-band--ink .s-btn--ghost{color:#F3F1EC;border-color:rgba(243,241,236,.4);}
.satomi .s-band--charcoal .s-btn--ghost:hover,.satomi .s-band--ink .s-btn--ghost:hover{background:#F3F1EC;color:#17181A;border-color:#F3F1EC;}
.satomi .s-btn:focus-visible{outline:3px solid rgba(232,151,26,.55);outline-offset:2px;}
.satomi .s-btn .s-arrow{transition:transform .18s ease;}
.satomi .s-btn:hover .s-arrow{transform:translateX(3px);}

/* ---- Hero ---- */
.satomi .s-hero{position:relative;overflow:hidden;}
.satomi .s-hero .s-inner{display:flex;flex-direction:column;justify-content:center;min-height:min(78vh,660px);padding-top:80px;padding-bottom:80px;position:relative;z-index:2;}
.satomi .s-hero__title{font-size:clamp(34px,5.4vw,60px);line-height:1.04;max-width:16ch;margin-bottom:22px;}
.satomi .s-hero__lead{font-size:clamp(17px,1.7vw,20px);max-width:52ch;}
.satomi .s-hero__rings{position:absolute;right:-120px;top:50%;transform:translateY(-50%);width:520px;height:520px;border-radius:50%;border:1.5px solid rgba(232,151,26,.28);z-index:1;pointer-events:none;}
.satomi .s-hero__rings::before,.satomi .s-hero__rings::after{content:'';position:absolute;border-radius:50%;border:1.5px solid rgba(232,151,26,.18);}
.satomi .s-hero__rings::before{inset:70px;}
.satomi .s-hero__rings::after{inset:150px;border-color:rgba(232,151,26,.5);}
.satomi .s-hero__dot{position:absolute;right:88px;top:50%;width:16px;height:16px;border-radius:50%;background:var(--accent);transform:translateY(-50%);z-index:1;}

/* ---- Feature cards (flagship services) ---- */
.satomi .s-features{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:44px;}
.satomi .s-feat{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-md);padding:32px 30px;display:flex;flex-direction:column;transition:transform .16s ease,box-shadow .18s ease,border-color .18s ease;box-shadow:0 1px 0 rgba(26,26,23,.02);}
.satomi .s-feat:hover{transform:translateY(-3px);box-shadow:0 18px 40px -24px rgba(43,33,10,.45);border-color:#E0D6BF;}
.satomi .s-feat__ic{width:52px;height:52px;border-radius:12px;background:var(--charcoal);display:flex;align-items:center;justify-content:center;margin-bottom:20px;}
.satomi .s-feat__ic svg{width:26px;height:26px;stroke:var(--accent);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.satomi .s-feat h3{font-size:21px;margin-bottom:9px;}
.satomi .s-feat p{color:var(--muted);font-size:15.5px;line-height:1.65;margin-bottom:18px;flex:1;}
.satomi .s-feat__link{font-family:'Space Grotesk',sans-serif;font-weight:500;font-size:15px;color:var(--accent-deep);display:inline-flex;align-items:center;gap:7px;}
.satomi .s-feat__link .s-arrow{transition:transform .18s ease;}
.satomi .s-feat:hover .s-feat__link .s-arrow{transform:translateX(4px);}

/* ---- Capability grid (remaining services) ---- */
.satomi .s-caps{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--hairline);border:1px solid var(--hairline);border-radius:var(--r-md);overflow:hidden;margin-top:40px;}
.satomi .s-cap{background:var(--surface);padding:22px 24px;display:flex;align-items:center;gap:14px;font-weight:500;font-size:16px;color:var(--ink);transition:background .16s ease;}
.satomi .s-cap:hover{background:#FBF7EE;}
.satomi .s-cap::before{content:'';flex:0 0 8px;width:8px;height:8px;border-radius:50%;background:var(--accent);}

/* ---- Split intro ---- */
.satomi .s-split{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:start;}
.satomi .s-split__aside{background:var(--charcoal);color:#F3F1EC;border-radius:var(--r-md);padding:34px 32px;}
.satomi .s-split__aside h3{color:#fff;font-size:19px;margin-bottom:16px;}

/* ---- Checklist ---- */
.satomi .s-checks{list-style:none;display:grid;gap:16px;margin-top:8px;}
.satomi .s-checks--2{grid-template-columns:1fr 1fr;gap:16px 34px;}
.satomi .s-check{position:relative;padding-left:38px;line-height:1.55;color:var(--ink);}
.satomi .s-band--charcoal .s-check{color:#E7E3DA;}
.satomi .s-check::before{content:'';position:absolute;left:0;top:1px;width:24px;height:24px;border-radius:7px;background:rgba(232,151,26,.14);}
.satomi .s-check::after{content:'';position:absolute;left:8px;top:7px;width:8px;height:12px;border:solid var(--accent-deep);border-width:0 2.4px 2.4px 0;transform:rotate(43deg);}
.satomi .s-band--charcoal .s-check::after{border-color:var(--accent);}
.satomi .s-check strong{font-weight:600;color:inherit;}
.satomi .s-check span{color:var(--muted);}
.satomi .s-band--charcoal .s-check span{color:#BEB9AC;}

/* ---- Numbered steps ---- */
.satomi .s-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:22px;margin-top:40px;counter-reset:step;}
.satomi .s-step{position:relative;padding-top:20px;border-top:2px solid var(--hairline);}
.satomi .s-step__n{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:15px;color:var(--accent-deep);display:block;margin-bottom:10px;letter-spacing:.04em;}
.satomi .s-step h4{font-size:17px;margin-bottom:7px;}
.satomi .s-step p{color:var(--muted);font-size:15px;line-height:1.6;}

/* ---- Pills (tech / brands) ---- */
.satomi .s-pills{display:flex;flex-wrap:wrap;gap:11px;margin-top:32px;}
.satomi .s-pill{font-family:'Space Grotesk',sans-serif;font-weight:500;font-size:14.5px;padding:9px 17px;border-radius:999px;background:rgba(243,241,236,.06);border:1px solid var(--hairline-dark);color:#EDEAE2;}
.satomi .s-band--paper .s-pill,.satomi .s-band--tint .s-pill{background:#fff;border-color:var(--hairline);color:var(--ink);}

/* ---- Section head block ---- */
.satomi .s-head{max-width:66ch;margin-bottom:8px;}
.satomi .s-head .s-lead{margin-top:6px;}

/* ---- CTA band ---- */
.satomi .s-cta{text-align:center;}
.satomi .s-cta .s-inner{padding-top:76px;padding-bottom:80px;}
.satomi .s-cta h2{font-size:clamp(28px,3.6vw,42px);color:#fff;margin-bottom:16px;}
.satomi .s-cta .s-lead{margin:0 auto;color:var(--muted-dark);}
.satomi .s-cta .s-btns{justify-content:center;}

/* ---- Responsive ---- */
@media(max-width:900px){
  .satomi .s-inner{padding:64px 22px;}
  .satomi .s-features{grid-template-columns:1fr;}
  .satomi .s-caps{grid-template-columns:1fr 1fr;}
  .satomi .s-split{grid-template-columns:1fr;gap:32px;}
  .satomi .s-checks--2{grid-template-columns:1fr;}
  .satomi .s-hero__rings,.satomi .s-hero__dot{display:none;}
  .satomi .s-hero .s-inner{min-height:auto;padding-top:66px;padding-bottom:56px;}
}
@media(max-width:560px){
  .satomi{font-size:16px;}
  .satomi .s-caps{grid-template-columns:1fr;}
  .satomi .s-btns{gap:11px;}
  .satomi .s-btn{width:100%;justify-content:center;}
}
@media(prefers-reduced-motion:reduce){
  .satomi *{transition:none!important;}
}
