/*
Theme Name: SToC Framework
Author: Mark
Description: WordPress theme for presenting the SToC Framework with a custom SToC Analysis post type.
Version: 1.0.2
Text Domain: stoc-framework
*/

:root{--dark:#020617;--slate:#334155;--muted:#64748b;--border:#e2e8f0;--soft:#f8fafc;--soft2:#f1f5f9;--radius:2rem;--shadow:0 16px 40px rgba(15,23,42,.08)}
*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--dark);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.stoc-container{width:min(1180px,calc(100% - 32px));margin:0 auto}
.stoc-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);border-bottom:1px solid var(--border);backdrop-filter:blur(18px)}.stoc-header-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 0;gap:24px}.stoc-logo{display:flex;align-items:center;gap:12px}.stoc-logo-mark{width:42px;height:42px;border-radius:18px;display:inline-flex;align-items:center;justify-content:center;background:var(--dark);color:#fff;font-weight:800}.stoc-logo-title{display:block;font-size:.95rem;font-weight:800;line-height:1.1}.stoc-logo-subtitle{display:block;font-size:.78rem;color:var(--muted)}.stoc-nav{display:flex;align-items:center;gap:8px}.stoc-nav a{display:inline-flex;border-radius:999px;padding:9px 15px;color:var(--muted);font-weight:650;font-size:.92rem}.stoc-nav a:hover,.stoc-nav .current-menu-item>a{background:var(--dark);color:#fff}.stoc-mobile-toggle{display:none;background:transparent;border:0;font-size:1.8rem;cursor:pointer}
.stoc-hero{position:relative;overflow:hidden;background:var(--dark);color:#fff}.stoc-hero:before,.stoc-hero:after{content:"";position:absolute;width:420px;height:420px;border-radius:999px;background:rgba(255,255,255,.18);filter:blur(80px)}.stoc-hero:before{left:45%;top:-170px}.stoc-hero:after{right:-140px;bottom:-160px;background:rgba(148,163,184,.25)}.stoc-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.08fr .92fr;gap:48px;align-items:center;padding:90px 0}.stoc-eyebrow{display:inline-flex;gap:8px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.1);border-radius:999px;padding:8px 16px;color:#e2e8f0;font-size:.9rem;margin-bottom:24px}.stoc-hero h1{max-width:860px;margin:0;font-size:clamp(2.45rem,6vw,4.65rem);line-height:1.03;letter-spacing:-.055em}.stoc-hero p{max-width:720px;margin:24px 0 0;color:#cbd5e1;font-size:1.14rem;line-height:1.8}.stoc-button-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.stoc-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:18px;padding:13px 20px;font-weight:750;border:1px solid transparent}.stoc-btn-light{background:#fff;color:var(--dark)}.stoc-btn-dark{background:var(--dark);color:#fff}.stoc-btn-outline-light{border-color:rgba(255,255,255,.24);color:#fff}
.stoc-hero-card{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.1);border-radius:var(--radius);padding:28px;box-shadow:0 24px 70px rgba(0,0,0,.24);backdrop-filter:blur(20px)}.stoc-hero-card-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:22px}.stoc-kicker{margin:0 0 4px;font-size:.78rem;letter-spacing:.24em;text-transform:uppercase;color:#cbd5e1;font-weight:800}.stoc-card-title{margin:0;font-size:1.5rem;font-weight:800}.stoc-plane{font-size:2rem}.stoc-map-list{display:grid;gap:14px}.stoc-map-item{padding:17px;border-radius:24px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.1)}.stoc-map-flex{display:flex;gap:14px;align-items:flex-start}.stoc-icon{width:48px;height:48px;flex:0 0 48px;display:inline-flex;align-items:center;justify-content:center;border-radius:18px;background:var(--dark);color:#fff;font-size:1.3rem;font-weight:900}.stoc-hero .stoc-icon{background:#fff;color:var(--dark)}.stoc-index{display:block;color:#cbd5e1;font-size:.78rem;font-weight:800}.stoc-map-item h4{margin:2px 0;font-size:1.05rem}.stoc-map-item p{margin:0;font-size:.9rem}
.stoc-section{padding:82px 0}.stoc-section-soft{background:var(--soft)}.stoc-heading{max-width:780px;margin:0 auto 42px;text-align:center}.stoc-heading .stoc-kicker{color:var(--muted)}.stoc-heading h1,.stoc-heading h2{margin:8px 0 0;font-size:clamp(2rem,4vw,3rem);line-height:1.1;letter-spacing:-.04em}.stoc-heading p{margin:18px 0 0;color:var(--muted);font-size:1rem;line-height:1.8}.stoc-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.stoc-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.stoc-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.stoc-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.stoc-card-pad{padding:28px}.stoc-card h3{margin:0;font-size:1.45rem;line-height:1.2;letter-spacing:-.025em}.stoc-card p{color:var(--muted)}.stoc-card ul{margin:18px 0 0;padding:0;list-style:none}.stoc-card li{display:flex;gap:10px;margin:10px 0;color:var(--slate);font-size:.95rem}.stoc-soft-card{background:var(--soft)}.stoc-mechanisms{display:flex;flex-wrap:wrap;gap:12px}.stoc-pill{border:1px solid var(--border);background:#fff;color:var(--slate);border-radius:999px;padding:9px 14px;font-size:.92rem;font-weight:650}
.stoc-analysis-controls{display:grid;grid-template-columns:1fr 240px;gap:14px;background:var(--soft);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:32px}.stoc-input,.stoc-select{width:100%;min-height:50px;border-radius:18px;border:1px solid var(--border);background:#fff;padding:0 16px;font:inherit;color:var(--dark)}.stoc-post-card{display:flex;flex-direction:column;min-height:100%}.stoc-post-meta{margin:0 0 12px;color:#94a3b8;font-size:.78rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.stoc-badges{display:flex;justify-content:space-between;gap:12px;margin-bottom:16px}.stoc-badge{border-radius:999px;background:var(--soft2);color:var(--slate);padding:6px 11px;font-size:.78rem;font-weight:800}.stoc-badge-dark{background:var(--dark);color:#fff}.stoc-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.stoc-tag{border:1px solid var(--border);border-radius:999px;padding:5px 10px;color:var(--muted);font-size:.78rem;font-weight:650}
.stoc-single-header{background:var(--dark);color:#fff;padding:76px 0}.stoc-single-header p{color:#cbd5e1}.stoc-single-header h1{max-width:980px;margin:14px 0;font-size:clamp(2.2rem,5vw,4rem);line-height:1.05;letter-spacing:-.05em}.stoc-single-content{max-width:840px;margin:0 auto;padding:70px 0;font-size:1.08rem;line-height:1.85}.stoc-single-content p{margin-bottom:1.35em}.stoc-footer-cta{background:#fff;padding:82px 0}.stoc-footer-cta-box{display:grid;grid-template-columns:1fr .82fr;gap:32px;align-items:center;background:var(--dark);color:#fff;border-radius:42px;padding:48px}.stoc-footer-cta-box p,.stoc-footer-cta-box li{color:#cbd5e1}.stoc-footer{border-top:1px solid var(--border);color:var(--muted);padding:28px 0;text-align:center;font-size:.9rem}.stoc-wp-content{max-width:860px;margin:0 auto;padding:80px 0}.stoc-wp-content h1{font-size:clamp(2.2rem,5vw,3.6rem);letter-spacing:-.04em}
@media(max-width:900px){.stoc-nav{display:none}.stoc-nav.stoc-nav-open{display:flex;position:absolute;inset:71px 16px auto 16px;flex-direction:column;align-items:stretch;background:#fff;border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow);padding:12px}.stoc-mobile-toggle{display:block}.stoc-hero-grid,.stoc-footer-cta-box,.stoc-grid-2,.stoc-grid-3,.stoc-grid-4,.stoc-analysis-controls{grid-template-columns:1fr}.stoc-hero-grid{padding:64px 0}.stoc-section{padding:64px 0}}
