/* Satomi Signal Gold — site-wide design system (scoped to .satomi / body.satomi-page) */

@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 Satomi pages ---- */
body.satomi-page{overflow-x:clip;}
body.satomi-page .page_head,
body.satomi-page .skt-page-title,
body.satomi-page .shorthead,
body.satomi-page .page-title{display:none!important;}
body.satomi-page #content{margin:0!important;}
body.satomi-page .center{max-width:none!important;padding:0!important;}
body.satomi-page .single_post_content,
body.satomi-page .thn_post_wrap{padding:0!important;margin:0!important;float:none!important;width:100%!important;}
body.satomi-page .fixed_wrap,
body.satomi-page .fixed_site{overflow:visible!important;}
/* The theme's front-page nivo slider is replaced by the Satomi hero section. */
body.satomi-page [class*="slider-header-layout"],
body.satomi-page #slidera{display:none!important;}

/* ---- Root tokens ---- */
.satomi{
  /* accent-deep is the light-ground text tint of the accent: WCAG AA at 5.2:1 on paper,
     5.67:1 on white, 4.84:1 on tint. Do not lighten it without re-checking contrast. */
  --bg:#F6F5F1;--surface:#FFFFFF;--ink:#1A1A17;--accent:#E8971A;--accent-deep:#8F5C05;
  --charcoal:#17181A;--charcoal-2:#202127;--muted:#66655C;--muted-dark:#B4B2A9;
  --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,h5,p,ul,ol,li,figure,blockquote,dl,dd,dt){margin:0;padding:0;border:0;}
.satomi *,.satomi *::before,.satomi *::after{box-sizing:border-box;}
.satomi :where(h1,h2,h3,h4,h5){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;}
.satomi .s-inner--slim{padding-top:44px;padding-bottom:44px;}

/* ---- 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-band--paper .s-eyebrow,.satomi .s-band--tint .s-eyebrow{color:var(--accent-deep);}
.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-band--charcoal .s-h2,.satomi .s-band--ink .s-h2{color:#F3F1EC;}
.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-p:last-child{margin-bottom:0;}
.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;color:#17181A;}
.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:17ch;margin-bottom:22px;}
.satomi .s-hero__lead{font-size:clamp(17px,1.7vw,20px);max-width:54ch;}
.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 ---- */
.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;flex:0 0 auto;}
.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 ---- */
.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 ---- */
.satomi .s-split{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:start;}
.satomi .s-split--rev{grid-template-columns:.95fr 1.05fr;}
.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;}
.satomi .s-band--charcoal .s-split__aside{background:#212228;}

/* ---- Definition rows (aside key/value) ---- */
.satomi .s-defs{display:grid;gap:0;}
.satomi .s-def{display:grid;grid-template-columns:auto 1fr;gap:14px;padding:14px 0;border-bottom:1px solid var(--hairline-dark);align-items:baseline;}
.satomi .s-def:last-child{border-bottom:0;padding-bottom:0;}
.satomi .s-def:first-child{padding-top:0;}
.satomi .s-def dt{font-family:'Space Grotesk',sans-serif;font-weight:500;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);}
.satomi .s-def dd{font-size:15.5px;color:#E4E0D7;line-height:1.55;text-align:right;}
.satomi .s-band--paper .s-def,.satomi .s-band--tint .s-def{border-bottom-color:var(--hairline);}
.satomi .s-band--paper .s-def dt,.satomi .s-band--tint .s-def dt{color:var(--accent-deep);}
.satomi .s-band--paper .s-def dd,.satomi .s-band--tint .s-def dd{color:var(--ink);}

/* ---- 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,.satomi .s-band--ink .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,.satomi .s-band--ink .s-check::after{border-color:var(--accent);}
.satomi .s-check strong{font-weight:600;color:inherit;display:block;margin-bottom:2px;}
.satomi .s-check span{color:var(--muted);font-size:15.5px;}
.satomi .s-band--charcoal .s-check span,.satomi .s-band--ink .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;}
.satomi .s-step{position:relative;padding-top:20px;border-top:2px solid var(--hairline);}
.satomi .s-band--charcoal .s-step,.satomi .s-band--ink .s-step{border-top-color:var(--hairline-dark);}
.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-band--charcoal .s-step__n,.satomi .s-band--ink .s-step__n{color:var(--accent);}
.satomi .s-step h4{font-size:17px;margin-bottom:7px;}
.satomi .s-band--charcoal .s-step h4,.satomi .s-band--ink .s-step h4{color:#F3F1EC;}
.satomi .s-step p{color:var(--muted);font-size:15px;line-height:1.6;}
.satomi .s-band--charcoal .s-step p,.satomi .s-band--ink .s-step p{color:#BEB9AC;}

/* ---- Pills ---- */
.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 ---- */
.satomi .s-head{max-width:66ch;margin-bottom:8px;}
.satomi .s-head .s-lead{margin-top:6px;}

/* ---- Facts strip ---- */
.satomi .s-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--hairline);border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);}
.satomi .s-fact{background:#EFEDE6;padding:4px 26px 4px 0;}
.satomi .s-fact dt{font-family:'Space Grotesk',sans-serif;font-weight:500;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-deep);margin-bottom:7px;}
.satomi .s-fact dd{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:19px;line-height:1.25;color:var(--ink);}

/* ---- Job listings ---- */
.satomi .s-jobs{display:grid;gap:14px;margin-top:40px;}
.satomi .s-job{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-md);padding:26px 28px;display:grid;grid-template-columns:1fr auto;gap:20px 28px;align-items:center;transition:border-color .18s ease,box-shadow .18s ease;}
.satomi .s-job:hover{border-color:#E0D6BF;box-shadow:0 14px 34px -26px rgba(43,33,10,.5);}
.satomi .s-job__body{border-left:3px solid var(--accent);padding-left:20px;}
.satomi .s-job h3{font-size:19px;margin-bottom:7px;}
.satomi .s-job p{color:var(--muted);font-size:15.5px;line-height:1.6;margin-bottom:12px;max-width:72ch;}
.satomi .s-job__meta{display:flex;flex-wrap:wrap;gap:8px;}
.satomi .s-tag{font-family:'Space Grotesk',sans-serif;font-weight:500;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;padding:5px 11px;border-radius:999px;background:#FBF4E7;border:1px solid #EFE0C4;color:#7A4E05;}
.satomi .s-job__act{justify-self:end;}

/* ---- Notice / callout ---- */
.satomi .s-note{border-left:4px solid var(--accent);background:var(--surface);border-radius:0 var(--r-sm) var(--r-sm) 0;padding:20px 24px;margin-top:32px;}
.satomi .s-note p{color:var(--muted);font-size:15.5px;margin:0;max-width:78ch;}
.satomi .s-note strong{color:var(--ink);font-weight:600;}
.satomi .s-band--charcoal .s-note{background:#212228;}
.satomi .s-band--charcoal .s-note p{color:#C6C1B5;}
.satomi .s-band--charcoal .s-note strong{color:#F3F1EC;}

/* ---- Contact rows ---- */
.satomi .s-contacts{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:36px;}
.satomi .s-contact{border-top:2px solid var(--hairline-dark);padding-top:18px;}
.satomi .s-contact dt{font-family:'Space Grotesk',sans-serif;font-weight:500;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:8px;}
.satomi .s-contact dd{font-size:16px;line-height:1.6;color:#E4E0D7;}
.satomi .s-contact dd a:hover{color:var(--accent);}
.satomi .s-band--paper .s-contact,.satomi .s-band--tint .s-contact{border-top-color:var(--hairline);}
.satomi .s-band--paper .s-contact dt,.satomi .s-band--tint .s-contact dt{color:var(--accent-deep);}
.satomi .s-band--paper .s-contact dd,.satomi .s-band--tint .s-contact dd{color:var(--ink);}

/* ---- Contact Form 7 styling ---- */
.satomi .s-form{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-md);padding:34px 32px;margin-top:8px;}
.satomi .s-form .wpcf7-form>p{margin:0 0 18px;}
.satomi .s-form label{display:block;font-family:'Space Grotesk',sans-serif;font-weight:500;font-size:14px;color:var(--ink);margin-bottom:7px;}
.satomi .s-form .s-field{margin-bottom:18px;}
.satomi .s-form .s-grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;}
.satomi .s-form input[type=text],
.satomi .s-form input[type=email],
.satomi .s-form input[type=tel],
.satomi .s-form input[type=url],
.satomi .s-form input[type=number],
.satomi .s-form select,
.satomi .s-form textarea{width:100%;font-family:'IBM Plex Sans',sans-serif;font-size:16px;color:var(--ink);background:#FCFBF8;border:1px solid var(--hairline);border-radius:var(--r-sm);padding:12px 14px;line-height:1.5;transition:border-color .16s ease,box-shadow .16s ease;}
.satomi .s-form textarea{min-height:130px;resize:vertical;}
.satomi .s-form input:focus,.satomi .s-form select:focus,.satomi .s-form textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(232,151,26,.18);}
.satomi .s-form input[type=file]{width:100%;font-size:15px;padding:11px 12px;background:#FCFBF8;border:1px dashed #D8CDB4;border-radius:var(--r-sm);}
.satomi .s-form .s-hint{display:block;font-family:'IBM Plex Sans',sans-serif;font-weight:400;font-size:13.5px;color:var(--muted);margin-top:6px;letter-spacing:0;text-transform:none;}
.satomi .s-form input[type=submit],
.satomi .s-form .wpcf7-submit{background:var(--accent);color:#17181A;font-family:'Space Grotesk',sans-serif;font-weight:500;font-size:16px;line-height:1;padding:15px 30px;border:1.5px solid transparent;border-radius:var(--r-sm);cursor:pointer;transition:background .18s ease,transform .12s ease;width:auto;}
.satomi .s-form input[type=submit]:hover{background:#F2A62B;}
.satomi .s-form input[type=submit]:active{transform:translateY(1px);}
.satomi .s-form input[type=submit]:focus-visible{outline:3px solid rgba(232,151,26,.55);outline-offset:2px;}
.satomi .s-form .wpcf7-not-valid-tip{color:#A8341B;font-size:13.5px;margin-top:5px;}
.satomi .s-form .wpcf7-response-output{border:1px solid var(--hairline)!important;border-left:4px solid var(--accent)!important;border-radius:0 var(--r-sm) var(--r-sm) 0;background:#FBF7EE;margin:22px 0 0!important;padding:14px 18px!important;font-size:15px;color:var(--ink);}
.satomi .s-form .wpcf7-spinner{margin:0 0 0 12px;}
.satomi .s-form-note{color:var(--muted);font-size:14px;margin-top:16px;}

/* ---- 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,.satomi .s-split--rev{grid-template-columns:1fr;gap:32px;}
  .satomi .s-checks--2{grid-template-columns:1fr;}
  .satomi .s-facts{grid-template-columns:1fr 1fr;}
  .satomi .s-contacts{grid-template-columns:1fr;gap:20px;}
  .satomi .s-job{grid-template-columns:1fr;}
  .satomi .s-job__act{justify-self:start;}
  .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-facts{grid-template-columns:1fr;}
  .satomi .s-btns{gap:11px;}
  .satomi .s-btn{width:100%;justify-content:center;}
  .satomi .s-form{padding:26px 20px;}
  .satomi .s-form .s-grid2{grid-template-columns:1fr;}
  .satomi .s-def{grid-template-columns:1fr;gap:4px;}
  .satomi .s-def dd{text-align:left;}
}
@media(prefers-reduced-motion:reduce){
  .satomi *{transition:none!important;}
}
