/* ===== HIDE ALL THEME CHROME ===== */
.site-header,.entry-header,.site-footer,#wrapper>header,header.banner,footer.content-info,
.wp-site-blocks>header,.wp-site-blocks>footer,.kt-inside-inner-wrap>header,.kadence-pro-mega-menu,
.site-header-wrap,.site-above-header-wrap,.site-main-header-wrap,.site-below-header-wrap,
.site-footer-wrap,.footer-widget-area,.site-bottom-footer-wrap,#colophon,.wah_container_outer,
[class*="header-desktop"],[class*="header-mobile"],.site-top-header-wrap,
.site-container>.site-footer,.wp-site-blocks~footer,body>.site~footer,
.kadence-footer,.site-bottom-footer-inner-wrap,#colophon~footer { display: none !important; }
#wrapper, .site, .wp-site-blocks { display: none !important; }
#mobile-drawer, .popup-drawer { display: none !important; }
body { padding-top: 0 !important; margin-top: 0 !important; }
.site,.site-container,.content-area,.entry-content-wrap,.entry-content,article.page,
#inner-wrap,.site-inner,.site-main,main#main,.content-wrap {
    padding: 0 !important; margin: 0 auto !important; max-width: 100% !important;
}
html { margin-top: 0 !important; }
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
img,video,iframe,embed,object{max-width:100%;height:auto;}
a,button,input,select,textarea{-webkit-tap-highlight-color:transparent;}
.btn,.slc-hamburger,.slc-mobile-nav a,.slc-faq-question,.persona-card .btn,.mode-btn,.slc-artifact-card,.slc-tab-btn{touch-action:manipulation;}
@property --copper{syntax:"<color>";inherits:true;initial-value:#CB822C;}
@property --copper-dim{syntax:"<color>";inherits:true;initial-value:#A86B22;}
:root{
  --warm:#F5F0E8;--warm-deep:#EDE5D8;--warm-card:#FAF7F2;
  --copper:#CB822C;--copper-dim:#A86B22;--copper-soft:rgba(203,130,44,0.08);
  --charcoal:#1a1a18;--charcoal-mid:#2a2a26;--charcoal-light:#3a3a34;
  --text:#3a3a34;--text-dim:#5a5a52;--text-light:#6a6a62;--copper-text:#985E1A;
  --line:rgba(74,74,74,0.15);--line-strong:rgba(74,74,74,0.30);
  --white:#ffffff;
  --diagram-bg:#F8F7F4;--diagram-accent:#B8942A;--diagram-dark:#1A1A18;--diagram-muted:#6B6B67;--diagram-line:#D4D2CC;
}
html{scroll-behavior:smooth;background:var(--warm) !important;overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:72px;color-scheme:light;scrollbar-gutter:stable;overscroll-behavior:none;scrollbar-width:thin;scrollbar-color:var(--copper) var(--warm);interpolate-size:allow-keywords;}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
body{font-family:'Inter',-apple-system,sans-serif;background:var(--warm) !important;color:var(--text) !important;font-size:17px;line-height:1.75;-webkit-font-smoothing:antialiased;font-size-adjust:0.52;overflow-x:hidden;}
.serif{font-family:'Playfair Display',Georgia,serif;}
nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(245,240,232,0.94);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);padding:0 40px;display:flex;align-items:center;justify-content:space-between;height:64px;}
nav .logo{font-family:'Playfair Display',serif;font-size:18px;font-weight:500;color:var(--charcoal);letter-spacing:0.5px;display:flex;align-items:center;gap:10px;}
nav .logo span{color:var(--copper);}
.slc-nav-logo{height:32px;width:auto;}
nav ul{list-style:none;display:flex;gap:28px;}
nav ul li a{font-size:11.5px;letter-spacing:1.2px;text-transform:uppercase;color:var(--text-dim);text-decoration:none;transition:color 0.2s;}
nav ul li a:hover{color:var(--copper);}
nav ul li a.slc-nav-active{color:var(--copper);}
nav ul li a.slc-nav-active::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:var(--copper);box-shadow:0 0 6px rgba(203,130,44,0.4);}
.hero{background:#242420;color:var(--warm);min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:120px 40px 80px;position:relative;overflow:hidden;}
.hero .label{font-size:18px!important;letter-spacing:6px;text-transform:uppercase;color:var(--copper);margin-bottom:28px;font-weight:500;}
.hero h1{font-family:'Playfair Display',serif;font-size:clamp(32px,4.5vw,56px);font-weight:400;color:var(--warm);line-height:1.2;max-width:720px;margin-bottom:20px;text-wrap:balance;}
.hero h1 em{font-style:italic;color:var(--copper);}
.hero .sub{font-size:18px;color:rgba(245,240,232,0.85);max-width:680px;line-height:1.8;margin-bottom:40px;}
.hero .ctas{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;}
/* ===== UNIFIED TRUST STRIP (replaces dual box+text strips) ===== */
.slc-trust-unified{margin-top:48px;display:flex;gap:16px;flex-wrap:wrap;justify-content:center;align-items:center;padding:14px 24px;border:1px solid rgba(203,130,44,0.2);background:rgba(203,130,44,0.04);border-radius:4px;max-width:600px;margin-left:auto;margin-right:auto;}
.slc-trust-unified span{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:rgba(203,130,44,0.85);font-weight:600;}
.slc-tu-dot{font-size:14px;color:rgba(245,240,232,0.3);line-height:1;}
/* F23: Hard cut — no gradient transition, clean dark-to-cream break */
.hero-transition{display:none;}
.hero-transition::after{display:none;}
.btn{display:inline-block;font-size:12.5px;letter-spacing:1.5px;text-transform:uppercase;text-decoration:none;padding:15px 34px;border:1px solid var(--line-strong);color:var(--text);transition:all 0.25s;cursor:pointer;background:transparent;}
.btn:hover{border-color:var(--copper);color:var(--copper);}
.btn-copper{border-color:var(--copper);color:var(--copper);}
.btn-copper:hover{background:var(--copper);color:var(--white);}
.btn-light{border-color:rgba(245,240,232,0.35);color:var(--warm);}
.btn-light:hover{border-color:var(--copper);color:var(--copper);}
.btn-light.btn-copper{border-color:var(--copper);color:var(--copper);}
.btn-light.btn-copper:hover{background:var(--copper);color:var(--charcoal);}
.btn-small{padding:11px 22px;font-size:11.5px;}
section{padding:72px 40px 64px;max-width:1060px;margin:0 auto;}
.section-line{width:40px;height:2px;background:var(--copper);margin-bottom:16px;}
.section-label{font-size:13px;letter-spacing:3.5px;text-transform:uppercase;color:var(--copper-text);margin-bottom:14px;font-weight:600;}
.section-title{font-family:'Playfair Display',serif;font-size:clamp(36px,4.5vw,56px);font-weight:400;color:var(--charcoal);margin-bottom:20px;text-wrap:balance;}
.section-sub{font-size:17px;color:var(--text-dim);max-width:660px;line-height:1.85;margin-bottom:48px;text-wrap:pretty;}
.diagram-frame{background:var(--diagram-bg);border:1px solid var(--line);padding:0;margin:0 auto 48px;overflow:hidden;}
.diagram-frame svg{display:block;width:100%;height:auto;}
.diagram-caption{font-size:12px;color:var(--text-dim);text-align:center;margin-top:16px;}
.diagram-frame .node-group{cursor:pointer;transition:opacity 0.3s;}
.diagram-frame:hover .node-group{opacity:0.4;}
.diagram-frame:hover .node-group:hover{opacity:1;}
.fragility-layout{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
.fragility-narrative h3{font-family:'Playfair Display',serif;font-size:24px;color:var(--charcoal);margin-bottom:16px;font-weight:500;}
.fragility-narrative p{font-size:16px;color:var(--text-dim);line-height:1.85;margin-bottom:16px;}
.fragility-narrative .signal-list{list-style:none;margin-top:20px;}
.fragility-narrative .signal-list li{font-size:15px;color:var(--text);padding:10px 0;border-bottom:1px solid var(--line);display:flex;gap:10px;align-items:baseline;}
.fragility-narrative .signal-list li::before{content:'\2022';color:var(--copper);font-size:18px;line-height:1;flex-shrink:0;}
.slate-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0;border:1px solid var(--line);margin-bottom:48px;}
.slate-cell{padding:28px 22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background 0.3s;}
.slate-cell:hover{background:var(--warm-card);}
.slate-cell:nth-child(5){border-right:none;}
.slate-cell .letter{font-family:'Playfair Display',serif;font-size:36px;color:var(--copper);margin-bottom:4px;line-height:1;}
.slate-cell h4{font-family:'Playfair Display',serif;font-size:18px;color:var(--charcoal);margin-bottom:8px;font-weight:500;}
.slate-cell p{font-size:14.5px;color:var(--text-dim);line-height:1.75;}
.arch-intro{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;margin-bottom:48px;}
.arch-intro .narrative p{font-size:16px;color:var(--text-dim);line-height:1.85;margin-bottom:16px;}
.demo-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;margin-bottom:32px;}
.demo-controls{background:var(--warm-card);border:1px solid var(--line);padding:32px;}
.demo-controls h4{font-family:'Playfair Display',serif;font-size:20px;color:var(--charcoal);margin-bottom:20px;}
.slider-group{margin-bottom:20px;}
.slider-group label{display:flex;justify-content:space-between;font-size:12.5px;letter-spacing:0.5px;color:var(--text-dim);margin-bottom:8px;}
.slider-group label .val{color:var(--copper-text);font-weight:600;min-width:24px;text-align:right;}
.slider-group input[type=range]{-webkit-appearance:none;width:100%;height:4px;background:linear-gradient(90deg,var(--copper-soft),var(--line));outline:none;border-radius:2px;cursor:pointer;transition:background 0.3s;touch-action:none;}
.slider-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--copper);border:3px solid var(--warm);cursor:pointer;transition:transform 0.15s,box-shadow 0.2s;box-shadow:0 1px 4px rgba(203,130,44,0.20);}
.slider-group input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:0 2px 10px rgba(203,130,44,0.35);}
.slider-group input[type=range]::-webkit-slider-thumb:active{transform:scale(1.05);box-shadow:0 0 0 4px rgba(203,130,44,0.12);}
.slider-group input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--copper);border:3px solid var(--warm);cursor:pointer;box-shadow:0 1px 4px rgba(203,130,44,0.20);}
.slider-group input[type=range]::-moz-range-track{height:4px;background:linear-gradient(90deg,var(--copper-soft),var(--line));border-radius:2px;border:none;}
.demo-chart{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--warm-card);border:1px solid var(--line);padding:24px;}
.demo-chart canvas{max-width:100%;max-height:420px;}
/* F24: Radar chart premium label */
.demo-chart-label{font-size:10.5px;letter-spacing:2px;text-transform:uppercase;color:var(--copper-text);margin-bottom:12px;font-weight:500;text-align:center;}
.constraint-output{background:var(--warm-card);border:1px solid var(--line);padding:24px 32px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px;margin-bottom:32px;}
.constraint-output .co-label{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--copper-text);margin-bottom:6px;font-weight:500;}
.constraint-output .co-value{font-size:16px;color:var(--charcoal);line-height:1.5;}
.constraint-output .co-value.highlight{color:var(--copper);font-family:'Playfair Display',serif;font-size:20px;}
.profile-layout{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;}
.profile-narrative h3{font-family:'Playfair Display',serif;font-size:24px;color:var(--charcoal);margin-bottom:16px;font-weight:500;}
.profile-narrative p{font-size:16px;color:var(--text-dim);line-height:1.85;margin-bottom:16px;}
.score-bars{list-style:none;}
.score-bar-item{padding:14px 0;border-bottom:1px solid var(--line);}
.score-bar-label{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px;}
.score-bar-label span{font-size:15px;color:var(--text);}
.score-bar-label .score-val{font-size:16px;font-weight:600;color:var(--copper);font-variant-numeric:tabular-nums;}
.score-bar-track{height:6px;background:var(--warm-deep);border-radius:1px;overflow:hidden;}
.score-bar-fill{height:100%;border-radius:1px;width:0;transition:width 1.5s cubic-bezier(0.25,0.46,0.45,0.94);}
.score-bar-fill.copper{background:var(--copper);}
.score-bar-fill.muted{background:var(--text-dim);opacity:0.55;}
.composite-badge{margin-top:24px;text-align:center;padding:20px;border:1px solid var(--line);}
.composite-badge .big-num{font-size:48px;font-weight:200;color:var(--copper);line-height:1;font-variant-numeric:tabular-nums;}
.composite-badge .badge-label{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--text-dim);margin-top:4px;}
.persona-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:48px;}
.persona-card{background:var(--warm-card);border:1px solid var(--line);padding:36px 28px;transition:border-color 0.3s;}
.persona-card:hover{border-color:var(--copper);}
.persona-card .persona-type{font-size:10.5px;letter-spacing:2px;text-transform:uppercase;color:var(--copper-text);margin-bottom:12px;font-weight:500;}
.persona-card h3{font-family:'Playfair Display',serif;font-size:22px;color:var(--charcoal);margin-bottom:12px;font-weight:500;}
.persona-card p{font-size:15px;color:var(--text-dim);line-height:1.8;margin-bottom:20px;}
/* ===== CONSTITUTIONAL PRINCIPLES ===== */
#constitution{padding:56px 40px 44px;max-width:900px;margin:0 auto;border-top:1px solid var(--line);}
.constitution-grid{display:grid;grid-template-columns:1fr;gap:0;margin-top:32px;border-top:2px solid var(--copper);border-bottom:1px solid var(--line);}
.constitution-card{display:grid;grid-template-columns:48px 1fr;gap:0 0;border-bottom:1px solid var(--line);padding:28px 0;transition:background 0.2s, padding-left 0.3s;}
.constitution-card:hover{background:var(--copper-soft);padding-left:8px;}
.constitution-num{font-family:'Playfair Display',serif;font-size:20px;color:var(--copper);display:flex;align-items:flex-start;justify-content:center;padding-top:2px;grid-row:1/3;transition:transform 0.3s ease, color 0.3s ease;}
.constitution-rule{font-family:'Playfair Display',serif;font-size:18px;color:var(--charcoal);font-weight:500;margin-bottom:8px;grid-column:2;}
.constitution-desc{font-size:15px;color:var(--text-dim);line-height:1.8;grid-column:2;}
/* ===== BOUNDARIES ===== */
.boundaries{background:var(--charcoal);color:var(--warm);padding:56px 40px;text-align:center;}
.boundaries .inner{max-width:700px;margin:0 auto;}
.boundaries h2{font-family:'Playfair Display',serif;font-size:32px;color:var(--warm);margin-bottom:24px;font-weight:400;}
.boundaries .items{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-bottom:24px;}
.boundaries .item{font-size:11.5px;letter-spacing:1.5px;text-transform:uppercase;color:rgba(245,240,232,0.5);border:1px solid rgba(245,240,232,0.15);padding:9px 18px;}
.boundaries p{font-size:15px;color:rgba(245,240,232,0.55);line-height:1.8;max-width:560px;margin:0 auto;}
.consult-form{background:var(--warm-card);border:1px solid var(--line);padding:40px;max-width:640px;margin:0 auto;}
.consult-form h3{font-family:'Playfair Display',serif;font-size:24px;color:var(--charcoal);margin-bottom:8px;}
.consult-form .form-note{font-size:14.5px;color:var(--text-dim);margin-bottom:28px;line-height:1.7;}
.form-row{margin-bottom:20px;}
.form-row label{display:block;font-size:11.5px;letter-spacing:1px;text-transform:uppercase;color:var(--text-dim);margin-bottom:6px;font-weight:500;}
.form-row select,.form-row input,.form-row textarea{width:100%;font-family:'Inter',sans-serif;font-size:15px;color:var(--charcoal);background:var(--warm);border:1px solid var(--line);padding:12px 16px;outline:none;transition:border-color 0.3s,box-shadow 0.3s,background 0.3s;pointer-events:none;opacity:0.6;border-radius:0;}
.form-row select:focus,.form-row input:focus,.form-row textarea:focus{border-color:var(--copper);box-shadow:0 0 0 3px rgba(203,130,44,0.10),0 2px 8px rgba(203,130,44,0.06);background:var(--warm-card);}
.form-row label{transition:color 0.2s;}
.form-row:focus-within label{color:var(--copper-text);}
.consult-form:focus-within{border-color:rgba(203,130,44,0.25);box-shadow:0 4px 24px rgba(203,130,44,0.06);}
.consult-form{transition:border-color 0.3s,box-shadow 0.3s;}

/* §Mobile-Polish: enhanced mobile input focus */
@media(max-width:768px){
  input:focus,textarea:focus,select:focus{
    border-color:rgba(203,130,44,0.5)!important;
    box-shadow:0 0 0 3px rgba(203,130,44,0.12),0 2px 8px rgba(203,130,44,0.08)!important;
    transition:border-color 0.2s ease,box-shadow 0.2s ease;
  }
}

.form-row textarea{min-height:100px;resize:none;field-sizing:content;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.form-disclosure{font-size:11.5px;color:var(--text-light);line-height:1.7;margin-top:20px;padding-top:16px;border-top:1px solid var(--line);}
footer{border-top:1px solid var(--line);padding:60px 40px;max-width:1060px;margin:0 auto;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:40px;}
.footer-brand{font-family:'Playfair Display',serif;font-size:17px;color:var(--charcoal);margin-bottom:8px;}
.footer-brand-sub{font-size:13px;color:var(--text-dim);line-height:1.7;}
.footer-col h5{font-size:10.5px;letter-spacing:2px;text-transform:uppercase;color:var(--copper);margin-bottom:12px;font-weight:500;}
.footer-col a{display:block;font-size:13px;color:var(--text-dim);text-decoration:none;margin-bottom:8px;transition:color 0.2s;}
.footer-col a:hover{color:var(--copper);}
.footer-legal{font-size:11.5px;color:var(--text-light);border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;}
.eco-bar{background:var(--warm-deep);border-top:1px solid var(--line);padding:32px 40px;text-align:center;}
.eco-bar-label{display:block;font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--text-light);margin-bottom:16px;font-weight:500;}
.eco-bar-subtitle{font-family:'Playfair Display',Georgia,serif;font-size:14px;color:var(--text-dim);margin-bottom:28px;letter-spacing:0.5px;}
.eco-bar-links{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;}
.eco-bar-dot{font-size:16px;color:var(--text-light);line-height:1;}
.eco-bar a{color:var(--copper-dim);text-decoration:none;font-size:11px;letter-spacing:2px;text-transform:uppercase;transition:color 0.25s,letter-spacing 0.25s;padding:4px 0;position:relative;}
.eco-bar a:hover{color:var(--copper);letter-spacing:2.5px;}
.eco-bar a::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:var(--copper);opacity:0;transition:opacity 0.25s;}
.eco-bar a:hover::after{opacity:0.4;}
.hero::before{content:'';position:absolute;top:50%;left:50%;width:500px;height:500px;transform:translate(-50%,-50%);border-radius:50%;border:1px solid rgba(203,130,44,0.06);pointer-events:none;animation:heroOrbitPulse 8s ease-in-out infinite;}
.hero::after{content:'';position:absolute;top:50%;left:50%;width:340px;height:340px;transform:translate(-50%,-50%);border-radius:50%;border:1px solid rgba(203,130,44,0.03);pointer-events:none;animation:heroOrbitPulseSlow 12s ease-in-out infinite;}
@keyframes heroOrbitPulse{0%{transform:translate(-50%,-50%) scale(1);opacity:1;}50%{transform:translate(-50%,-50%) scale(1.06);opacity:0.5;}100%{transform:translate(-50%,-50%) scale(1);opacity:1;}}
@keyframes heroOrbitPulseSlow{0%{transform:translate(-50%,-50%) scale(1);opacity:1;}50%{transform:translate(-50%,-50%) scale(0.96);opacity:0.4;}100%{transform:translate(-50%,-50%) scale(1);opacity:1;}}
.mode-bar{display:flex;justify-content:center;padding:48px 40px 0;background:var(--warm);}
.mode-context-label{font-size:11.5px;letter-spacing:2.5px;text-transform:uppercase;color:var(--text-dim);text-align:center;margin-bottom:12px;font-weight:500;}
.mode-switcher{display:inline-flex;gap:6px;border:none;background:transparent;}
.mode-btn{font-size:11.5px;letter-spacing:2px;text-transform:uppercase;color:var(--text-dim);background:var(--warm-card);border:1px solid var(--line-strong);padding:20px 52px;cursor:pointer;transition:color 0.2s ease,background 0.2s ease,border-color 0.2s ease,box-shadow 0.25s ease,transform 0.2s cubic-bezier(0.34,1.56,0.64,1);position:relative;outline:none;}
.mode-btn:hover{color:var(--copper);border-color:rgba(203,130,44,0.5);background:rgba(203,130,44,0.06);transform:translateY(-2px);}
.mode-btn.active{color:var(--copper);background:rgba(203,130,44,0.12);border-color:var(--copper);box-shadow:0 0 0 1px var(--copper),0 6px 20px rgba(203,130,44,0.20);transform:translateY(-3px);}
.mode-btn.active::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--copper);}
[data-mode-text]{transition:opacity 0.35s ease;}
[data-mode-text].switching{opacity:0;}
.hero-radar-canvas{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:0;opacity:1;}
.structural-grid-bg{position:relative;}
.structural-grid-bg::before{content:'';position:absolute;top:50%;left:50%;width:500px;height:500px;transform:translate(-50%,-50%);background:radial-gradient(circle,transparent 30%,transparent 30%),repeating-conic-gradient(from 0deg,rgba(203,130,44,0.03) 0deg 51.4deg,transparent 51.4deg 102.8deg);border-radius:50%;pointer-events:none;opacity:0.5;}
/* ===== SLC MOBILE NAV ===== */
.slc-hamburger{display:none;background:none;border:1px solid var(--line);color:var(--charcoal);font-size:22px;padding:4px 10px;cursor:pointer;line-height:1;transition:color 0.2s,border-color 0.2s;}
.slc-hamburger:hover,.slc-ham-open{color:var(--copper);border-color:var(--copper);}
.slc-mobile-nav{display:none;position:fixed;top:64px;left:0;right:0;background:rgba(245,240,232,0.96);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:2px solid var(--copper);padding:16px 40px;z-index:1000;transform:translateY(-100%);opacity:0;transition:transform 0.3s ease,opacity 0.3s ease,display 0.3s ease allow-discrete;transition-behavior:allow-discrete;}
.slc-mobile-nav.slc-mnav-open{transform:translateY(0);opacity:1;}
/* Scrim overlay behind open nav — click-to-close target */
.slc-mobile-nav.slc-mnav-open::after{content:'';position:fixed;top:56px;left:0;right:0;bottom:0;background:rgba(0,0,0,0.3);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:-1;}
.slc-mobile-nav a{display:block;font-size:13px;letter-spacing:1.5px;text-transform:uppercase;color:var(--text);text-decoration:none;padding:12px 0;border-bottom:1px solid var(--line);transition:color 0.2s;}
.slc-mobile-nav a:last-child{border-bottom:none;}
.slc-mobile-nav a:hover{color:var(--copper);}

/* §Mobile-Polish: mobile nav active section */
.slc-mobile-nav a.active,.slc-mobile-nav a[aria-current="true"]{
  color:var(--copper,#cb822c);
  border-left:3px solid var(--copper,#cb822c);
  background:rgba(203,130,44,0.06);
  font-weight:600;
}
@media(max-width:768px){
  /* Grid collapses */
  .fragility-layout,.arch-intro,.demo-grid,.profile-layout,.persona-grid,.footer-grid,.form-grid,.slate-grid,.constraint-output{grid-template-columns:1fr !important;}
  /* §Mobile-Upgrade: Fluid padding with clamp() — DISABLED: bare section selector
     overrides ALL <section> tags including WordPress structural sections, breaking scroll.
     Safe to re-enable with more specific selectors. */
  /* Navigation */
  nav{padding:0 16px!important;height:56px!important;}
  nav .logo{font-size:15px;gap:8px;}
  .slc-nav-logo{height:26px;}
  nav ul{display:none;}
  .slc-hamburger{display:block;padding:8px 12px;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;}
  .slc-mobile-nav{display:block;top:56px;padding:16px 20px;max-height:calc(100vh - 56px);max-height:calc(100dvh - 56px);overflow-y:auto;}
  .slc-mobile-nav a{padding:14px 0;min-height:44px;display:flex;align-items:center;}
  /* Hero */
  .hero{padding:72px 20px 48px!important;min-height:auto;}
  .hero h1{font-size:clamp(26px,5.5vw,44px);max-width:100%;}
  .hero .label{font-size:14px!important;letter-spacing:4px;margin-bottom:20px;}
  .hero .sub{font-size:15px;max-width:100%;}
  .hero .ctas{flex-direction:column;gap:12px;width:100%;}
  .hero .ctas .btn{width:100%;max-width:320px;text-align:center;min-height:48px;display:flex;align-items:center;justify-content:center;}
  .hero::before,.hero::after{display:none!important;}
  .hero-radar-canvas{width:280px!important;height:280px!important;opacity:0.4;}
  .hero-transition{display:none;}
  .structural-grid-bg::before{width:300px;height:300px;}
  /* Mode switcher */
  .mode-bar{padding:32px 16px 0;}
  .mode-switcher{flex-direction:column;width:100%;}
  .mode-btn{padding:16px 24px!important;width:100%;font-size:11px;}
  /* Sections */
  section{padding:48px 20px 40px;}
  .section-title{font-size:clamp(26px,4vw,40px);}
  .section-sub{font-size:15px;margin-bottom:36px;}
  /* Constitution */
  #constitution{padding:40px 20px 32px;}
  .constitution-card{grid-template-columns:36px 1fr;padding:20px 0;}
  .constitution-num{font-size:17px;}
  .constitution-rule{font-size:16px;}
  .constitution-desc{font-size:14px;}
  /* Boundaries */
  .boundaries{padding:48px 20px;}
  .boundaries h2{font-size:26px;}
  .boundaries .item{padding:10px 16px;font-size:11px;min-height:44px;display:inline-flex;align-items:center;}
  /* Forms */
  .consult-form{padding:28px 20px;}
  .form-grid{grid-template-columns:1fr!important;}
  .form-row select,.form-row input,.form-row textarea{font-size:16px;padding:14px 16px;min-height:48px;}
  /* Constraint output */
  .constraint-output{grid-template-columns:1fr!important;gap:16px;padding:20px;}
  /* Cards */
  .persona-card{padding:24px 20px;}
  .persona-card h3{font-size:19px;}
  .persona-card p{font-size:14px;}
  /* Demo chart */
  .demo-grid{display:flex;flex-direction:column;}
  .demo-chart{order:-1;}
  .demo-chart canvas{max-height:300px;}
  .demo-controls h4{font-size:15px;}
  /* Comparison table */
  .slc-compare-section{padding:48px 16px 40px;}
  /* Steps */
  .slc-steps-strip{padding:48px 20px 0;}
  /* Footer */
  .footer-grid{grid-template-columns:1fr 1fr;gap:24px;}
  footer{padding:48px 20px;}
  .eco-bar{padding:24px 16px;}
  .eco-bar-links{gap:12px;}
  /* FAQ */
  #faq{padding:48px 20px 48px;}
  .slc-faq-question{padding:14px 0;min-height:48px;}
  .slc-faq-question span:first-child{font-size:15px;}
  .slc-faq-toggle{width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-size:22px;}
  /* Tabs */
  .slc-tab-bar{flex-wrap:wrap;}
  .slc-tab-btn{padding:12px 16px;font-size:10px;min-height:44px;}
  .slc-tab-sample-row{grid-template-columns:90px 36px 1fr;}
  /* Mid CTA */
  .slc-mid-cta{padding:48px 16px;}
  .slc-mid-cta-inner{padding:36px 20px;}
  /* Compliance */
  .slc-compliance-strip{padding:28px 16px;}
  /* Operator */
  .slc-operator-strip{padding:40px 20px;}
  /* Touch feedback */
  .btn:active,.slc-tab-btn:active,.slc-artifact-card:active,.slc-faq-question:active{opacity:0.85;transform:scale(0.98);}
  .btn:focus-visible,.slc-tab-btn:focus-visible,.slc-faq-question:focus-visible{outline:2px solid var(--copper);outline-offset:2px;}
}

/* ===== TABLETS / SMALL LANDSCAPE (600px) ===== */
@media(max-width:600px){
  /* §Mobile-Upgrade: Slider thumb 32px touch target at 600px */
  input[type="range"]::-webkit-slider-thumb { width: 32px; height: 32px; }
  input[type="range"]::-moz-range-thumb { width: 32px; height: 32px; }
  .hero h1{font-size:clamp(24px,5vw,38px);}
  .hero .sub{font-size:14.5px;}
  /* §Mobile-Polish: hero subtitle fluid typography */
  .hero-sub,.hero p,.hero .section-sub{
    font-size:clamp(13.5px, 2.5vw, 15px);
    line-height:1.65;
  }
  .hero .ctas .btn{max-width:280px;}
  section{padding:40px 18px 32px;}
  .section-title{font-size:clamp(24px,4.2vw,36px);}
  .section-sub{font-size:14.5px;margin-bottom:32px;}
  .persona-card{padding:22px 18px;}
  .persona-card h3{font-size:18px;}
  .persona-card p{font-size:14px;}
  #constitution{padding:44px 18px 36px;}
  .boundaries{padding:44px 18px;}
  .boundaries h2{font-size:24px;}
  footer{padding:44px 18px;}
  .footer-grid{grid-template-columns:1fr 1fr;gap:20px;}
  .eco-bar{padding:22px 14px;}
  .slc-steps-strip{padding:44px 18px 0;}
  .slc-step-card{padding:22px 18px;}
  .demo-controls{padding:24px;}
  .consult-form{padding:26px 18px;}
  .hero::before,.hero::after{display:none!important;}
}

/* ===== SMALL PHONES (480px and below) ===== */
@media(max-width:480px){
  /* §Mobile-Upgrade: Overflow-wrap safety for text wrapping */
  p,li,dd,figcaption,blockquote,.section-sub,.faq-answer,.persona-desc{overflow-wrap:break-word;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;}
  nav{padding:0 12px!important;}
  nav .logo{font-size:14px;gap:6px;}
  .slc-nav-logo{height:22px;}
  .hero{padding:64px 16px 40px!important;}
  .hero h1{font-size:clamp(22px,5vw,36px);}
  .hero .label{font-size:12px!important;letter-spacing:3px;margin-bottom:16px;}
  .hero .sub{font-size:14px;}
  .hero .ctas .btn{max-width:100%;padding:14px 20px;font-size:11px;}
  section{padding:36px 16px 28px;}
  .section-title{font-size:clamp(22px,4vw,32px);}
  .section-sub{font-size:14px;margin-bottom:28px;}
  #constitution{padding:32px 16px 24px;}
  .constitution-card{grid-template-columns:32px 1fr;padding:16px 0;}
  .constitution-num{font-size:15px;}
  .constitution-rule{font-size:15px;}
  .boundaries{padding:40px 16px;}
  .boundaries h2{font-size:22px;}
  .consult-form{padding:24px 16px;}
  .persona-card{padding:20px 16px;}
  .persona-card h3{font-size:17px;}
  .demo-chart canvas{max-height:260px;}
  .constraint-output{padding:16px;}
  .constraint-output .co-value{font-size:14px;}
  .constraint-output .co-value.highlight{font-size:17px;}
  /* Comparison table — stacked card layout for small screens */
  .slc-compare-header {
      display: none !important; /* hide column headers — labels show inline */
  }
  .slc-compare-row {
      display: flex !important;
      flex-direction: column;
      border-bottom: 1px solid var(--line);
      padding: 14px 16px;
      gap: 8px;
  }
  .slc-compare-label {
      font-size: 11px;
      padding: 0;
      border-right: none;
      background: transparent;
      color: var(--copper);
      letter-spacing: 1.2px;
      font-weight: 700;
  }
  .slc-compare-cell {
      padding: 6px 0;
      text-align: left;
      font-size: 13px;
      border-right: none;
      display: flex;
      align-items: baseline;
      gap: 8px;
  }
  .slc-compare-cell::before {
      font-family: 'Inter', sans-serif;
      font-size: 10px;
      letter-spacing: 1px;
      text-transform: uppercase;
      font-weight: 600;
      flex-shrink: 0;
      min-width: 80px;
  }
  .slc-compare-advisory-cell::before {
      content: "Advisory:";
      color: var(--text-dim);
  }
  .slc-compare-slc-cell::before {
      content: "SLC:";
      color: var(--copper);
  }
  .slc-compare-slc-cell {
      background: rgba(203,130,44,0.05);
      border-left: 2px solid rgba(203,130,44,0.25);
      border-radius: 2px;
      padding: 8px 10px;
  }
  .slc-compare-note { font-size: 11px; }
  /* Tab samples */
  .slc-tab-sample-row{grid-template-columns:80px 32px 1fr;gap:8px;}
  .slc-tab-dim{font-size:11px;}
  .slc-tab-sample{padding:16px;}
  /* Footer */
  .footer-grid{grid-template-columns:1fr!important;gap:20px;}
  footer{padding:40px 16px;}
  .footer-legal{flex-direction:column;gap:8px;}
  .eco-bar{padding:20px 12px;}
  .eco-bar a{font-size:11px;}
  /* Steps */
  .slc-steps-strip{padding:40px 16px 0;}
  .slc-step-card{padding:24px 16px;}
  .slc-step-num{font-size:26px;}
  .slc-step-title{font-size:16px;}
  .slc-step-desc{font-size:13px;}
  /* FAQ */
  #faq{padding:48px 16px 48px;}
  .slc-faq-question span:first-child{font-size:14px;}
  .slc-faq-answer p{font-size:14px;}
  /* Mode */
  .mode-bar{padding:24px 12px 0;}
  .mode-btn{padding:14px 20px!important;font-size:11px;min-height:48px;}
  .mode-btn.active{box-shadow:0 0 0 1px var(--copper),0 4px 12px rgba(203,130,44,0.25);}
  .mode-context-label{font-size:10px;letter-spacing:2px;}
  /* Slider controls */
  .slider-group label{font-size:13px;}
  .slider-group input[type=range]::-webkit-slider-thumb{width:28px;height:28px;}
  .slider-group input[type=range]::-moz-range-thumb{width:28px;height:28px;}
  /* Artifacts */
  .slc-artifact-card{padding:16px;}
  .slc-artifact-name{font-size:13px;}
}

/* ===== PRICING INDICATOR (F30) ===== */
.consult-pricing{
  text-align:center;font-family:'Inter',sans-serif;font-size:14px;
  color:var(--copper);letter-spacing:0.5px;margin:-8px auto 24px;
  opacity:0.85;font-weight:500;
}

/* ===== REDUCED MOTION (F50) ===== */
@media(prefers-reduced-motion:reduce){
  .hero::before,.hero::after{animation:none!important;}
  .mode-btn:hover,.mode-btn.active{transform:none!important;}
  [data-mode-text].switching{opacity:1!important;transition:none!important;}
  .score-bar-fill{transition:none!important;}
  .persona-card:hover,.slate-cell:hover{transform:none!important;}
  .slc-reveal{opacity:1!important;transform:none!important;transition:none!important;}
  .slc-faq-toggle{transition:none!important;}
  .slc-artifact-card,.slc-artifact-arrow,.slc-artifact-detail{transition:none!important;}
  .constitution-card,.constitution-num{transition:none!important;}
  #services .persona-card:hover{transform:none!important;}
}

/* ===== SCROLL REVEAL ===== */
.slc-reveal{opacity:0;transform:translateY(28px);transition:opacity 0.7s ease,transform 0.7s ease;}
.slc-reveal.slc-visible{opacity:1;transform:translateY(0);}
.slc-reveal-delay-1{transition-delay:0.1s;}
.slc-reveal-delay-2{transition-delay:0.2s;}
.slc-reveal-delay-3{transition-delay:0.3s;}
@media(prefers-reduced-motion:reduce){
  .slc-reveal{opacity:1!important;transform:none!important;transition:none!important;}
}

/* ===== LANDSCAPE ORIENTATION (PHONES) ===== */
@media(max-width:900px) and (orientation:landscape){
  .hero{padding:48px 24px 32px!important;min-height:auto!important;}
  .hero h1{font-size:clamp(22px,4vw,32px);}
  .hero .sub{font-size:14px;margin-bottom:20px;}
  .hero::before,.hero::after{display:none!important;}
  section{padding:32px 20px 24px;}
  .mode-bar{padding:20px 16px 0;}
  .mode-switcher{flex-direction:row;width:auto;}
  .mode-btn{padding:12px 24px!important;width:auto;}
}

/* Short-viewport landscape (phone landscape with browser chrome) */
@media(max-height:500px) and (orientation:landscape){
  .hero{min-height:auto!important;padding:40px 20px 24px!important;}
  .hero .ctas{flex-direction:row!important;gap:10px!important;}
  .hero-radar-canvas{width:200px!important;height:200px!important;opacity:0.2;}
  .slc-trust-unified{margin-top:24px;}
}

/* ===== FOCUS-VISIBLE OUTLINES (KEYBOARD ACCESSIBILITY) ===== */
.slc-hamburger:focus-visible,
.mode-btn:focus-visible,
.persona-card a:focus-visible,
.constitution-card:focus-visible,
.eco-bar a:focus-visible,
.slider-group input[type=range]:focus-visible,
nav ul li a:focus-visible,
.slc-mobile-nav a:focus-visible{
  outline:2px solid var(--copper);outline-offset:2px;
}

/* ===== SAFE AREA (NOTCHED PHONES) ===== */
@supports(padding-top:env(safe-area-inset-top)){
  nav{padding-top:env(safe-area-inset-top);}
  .slc-mobile-nav{top:calc(56px + env(safe-area-inset-top));}
  footer{padding-bottom:calc(40px + env(safe-area-inset-bottom));}
}

/* ===== SCROLLBAR (F47) ===== */
::-webkit-scrollbar{width:8px;}
::-webkit-scrollbar-track{background:var(--warm);}
::-webkit-scrollbar-thumb{background:var(--warm-deep);border-radius:4px;}
::-webkit-scrollbar-thumb:hover{background:rgba(203,130,44,0.3);}

/* ===== OPERATE PIPELINE (Interactive) ===== */
.op-pipeline-container {
  display: flex;
  flex-direction: column;
  background: var(--diagram-bg);
  border: 1px solid var(--line);
  padding: 40px;
  gap: 24px;
}

.op-header {
  text-align: center;
  margin-bottom: 16px;
}

.op-title {
  font-family: 'Playfair Display', serif;
  font-size: 18px;
  font-weight: 400;
  color: var(--diagram-dark);
  letter-spacing: 2px;
  margin-bottom: 4px;
}

.op-subtitle {
  font-size: 9px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--diagram-accent);
  font-weight: 500;
}

.op-track {
  display: flex;
  flex-direction: column;
  gap: 0;
  position: relative;
}

.op-input-label,
.op-output-label {
  font-size: 10px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--diagram-accent);
  font-weight: 600;
  text-align: center;
  padding: 8px 0;
  background: rgba(184, 148, 42, 0.04);
}

.op-input-label {
  border-bottom: 1px solid var(--diagram-line);
}

.op-output-label {
  border-top: 1px solid var(--diagram-line);
  margin-top: 12px;
}

.op-step {
  display: grid;
  grid-template-columns: 32px 1fr 24px;
  gap: 12px;
  align-items: center;
  padding: 16px 12px;
  border-bottom: 1px solid var(--diagram-line);
  cursor: pointer;
  transition: background-color 0.3s ease;
  position: relative;
}

.op-step:last-of-type {
  border-bottom: none;
}

.op-step:hover {
  background-color: rgba(184, 148, 42, 0.06);
}

.op-step.expanded {
  background-color: rgba(184, 148, 42, 0.08);
  padding: 12px;
  grid-template-columns: 32px 1fr;
  grid-template-rows: auto auto;
}

.op-step-number {
  font-family: 'Playfair Display', serif;
  font-size: 20px;
  font-weight: 500;
  color: var(--diagram-accent);
  text-align: center;
  line-height: 1;
  grid-row: 1;
  grid-column: 1;
}

.op-step-name {
  font-size: 13px;
  font-weight: 500;
  color: var(--diagram-dark);
  grid-row: 1;
  grid-column: 2;
  align-self: center;
}

.op-step-toggle {
  font-size: 16px;
  font-weight: 300;
  color: var(--diagram-accent);
  text-align: center;
  cursor: pointer;
  grid-row: 1;
  grid-column: 3;
  transition: color 0.3s ease;
}

.op-step:hover .op-step-toggle {
  color: var(--copper);
}

.op-step-description {
  font-size: 12px;
  color: var(--diagram-muted);
  line-height: 1.6;
  grid-column: 2 / 4;
  grid-row: 2;
  margin-top: 8px;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-height 0.3s ease, opacity 0.3s ease;
}

.op-step.expanded .op-step-description {
  max-height: 100px;
  opacity: 1;
}

.op-connector {
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, var(--diagram-line) 10%, var(--diagram-line) 90%, transparent 100%);
  margin: 0;
}

.op-footer {
  text-align: center;
  font-size: 11px;
  color: var(--diagram-muted);
  font-style: italic;
  margin-top: 12px;
  line-height: 1.5;
}

/* ===== SLATE RADIAL (Interactive + Canvas Animation) ===== */
.slate-radial-container {
  display: flex;
  flex-direction: column;
  background: var(--diagram-bg);
  border: 1px solid var(--line);
  padding: 40px;
  gap: 24px;
}

.slate-rad-header {
  text-align: center;
  margin-bottom: 16px;
}

.slate-rad-title {
  font-family: 'Playfair Display', serif;
  font-size: 22px;
  font-weight: 400;
  color: var(--diagram-dark);
  letter-spacing: 3px;
  margin-bottom: 6px;
}

.slate-rad-subtitle {
  font-size: 11px;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--diagram-accent);
  font-weight: 500;
}

.slate-rad-diagram {
  position: relative;
  width: 100%;
  aspect-ratio: 1;
  max-width: 600px;
  margin: 0 auto;
  display: grid;
  place-items: center;
}

#slate-canvas {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 5;
}

.slate-rad-center {
  position: absolute;
  width: 140px;
  height: 140px;
  border: 2px solid var(--diagram-accent);
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: var(--warm);
  z-index: 10;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  transition: box-shadow 0.4s ease;
}

.slate-rad-center-label {
  font-family: 'Playfair Display', serif;
  font-size: 14px;
  font-weight: 500;
  color: var(--diagram-dark);
  text-align: center;
  line-height: 1.2;
}

.slate-rad-center-label-sub {
  font-size: 9px;
  font-weight: 400;
  color: var(--diagram-muted);
  text-align: center;
  letter-spacing: 0.5px;
}

/* 5 dimension cards — positioned as pentagon around center */
.slate-rad-dimension {
  position: absolute;
  width: 130px;
  min-height: 100px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 16px 12px;
  border: 1px solid var(--diagram-line);
  border-radius: 4px;
  background: var(--warm-card);
  cursor: pointer;
  transition: all 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  z-index: 8;
}

/* Pentagon layout: S(top), L(top-right), A(bottom-right), T(bottom-left), E(top-left) */
.slate-rad-d1 { top: 1%; left: 50%; transform: translateX(-50%); }
.slate-rad-d2 { top: 20%; right: 1%; }
.slate-rad-d3 { bottom: 6%; right: 8%; }
.slate-rad-d4 { bottom: 6%; left: 8%; }
.slate-rad-d5 { top: 20%; left: 1%; }

/* ── Hover state (all cards identical) ── */
.slate-rad-dimension.slate-dim-hover,
.slate-rad-dimension:hover {
  border-color: var(--copper);
  background: var(--warm);
  box-shadow: 0 4px 16px rgba(203, 130, 44, 0.18);
  z-index: 20;
}

/* ── Active/clicked state (expanded detail) ── */
.slate-rad-dimension.slate-dim-active {
  border-color: var(--copper);
  background: var(--warm);
  box-shadow: 0 8px 28px rgba(203, 130, 44, 0.22);
  width: 240px;
  min-height: 140px;
  z-index: 30;
  padding: 18px 16px;
}

.slate-rad-letter {
  font-family: 'Playfair Display', serif;
  font-size: 28px;
  font-weight: 500;
  color: var(--copper);
  line-height: 1;
  margin-bottom: 4px;
  transition: transform 0.3s ease;
}

.slate-rad-dimension.slate-dim-hover .slate-rad-letter,
.slate-rad-dimension:hover .slate-rad-letter {
  transform: scale(1.1);
}

.slate-rad-name {
  font-size: 13px;
  font-weight: 500;
  color: var(--diagram-dark);
  margin-bottom: 6px;
}

/* Short description — visible on hover */
.slate-rad-desc {
  font-size: 10px;
  color: var(--diagram-muted);
  line-height: 1.5;
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  transition: opacity 0.3s ease, max-height 0.3s ease;
}

.slate-rad-dimension.slate-dim-hover .slate-rad-desc,
.slate-rad-dimension:hover .slate-rad-desc {
  opacity: 1;
  max-height: 60px;
}

.slate-rad-dimension.slate-dim-active .slate-rad-desc {
  opacity: 0;
  max-height: 0;
}

/* Full detail — visible on click/active */
.slate-rad-detail {
  font-size: 11.5px;
  color: var(--text-dim);
  line-height: 1.7;
  text-align: left;
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  transition: opacity 0.4s ease, max-height 0.4s ease, margin 0.3s ease;
  margin-top: 0;
}

.slate-rad-dimension.slate-dim-active .slate-rad-detail {
  opacity: 1;
  max-height: 220px;
  margin-top: 8px;
}

.slate-rad-footer {
  text-align: center;
  font-size: 11px;
  color: var(--diagram-muted);
  font-style: italic;
  margin-top: 12px;
  line-height: 1.5;
}

/* Responsive adjustments for pipeline + radial */
@media (max-width: 768px) {
  .op-pipeline-container {
    padding: 24px;
  }

  .op-step {
    grid-template-columns: 28px 1fr 20px;
    padding: 12px 8px;
  }

  .op-step-name {
    font-size: 12px;
  }

  .slate-rad-diagram {
    aspect-ratio: auto;
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
  }

  #slate-canvas {
    display: none;
  }

  .slate-rad-d1,
  .slate-rad-d2,
  .slate-rad-d3,
  .slate-rad-d4,
  .slate-rad-d5 {
    position: static;
    transform: none !important;
    width: 100%;
    height: auto;
    margin-bottom: 0;
  }

  .slate-rad-dimension.slate-dim-active {
    width: 100%;
  }

  .slate-rad-dimension .slate-rad-desc {
    opacity: 1;
    max-height: 60px;
  }

  .slate-rad-dimension {
    max-width: 100%;
    padding: 14px 16px;
    min-height: auto;
  }

  .slate-rad-center {
    position: static;
    width: auto;
    height: auto;
    padding: 20px;
    margin-bottom: 8px;
    border-radius: 0;
  }

  .slate-radial-container {
    padding: 20px 16px;
  }
}

/* SLATE radial — small phone */
@media (max-width: 480px) {
  .slate-rad-dimension {
    padding: 12px 14px;
  }
  .slate-rad-letter {
    font-size: 22px;
  }
  .slate-rad-name {
    font-size: 13px;
  }
  .slate-rad-desc {
    font-size: 12px;
  }
  .slate-rad-detail {
    font-size: 13px;
  }
  .slate-rad-center {
    padding: 16px;
  }
}

/* SLATE radial — extra-small phone */
@media (max-width: 375px) {
  .slate-radial-container { padding: 14px 10px; gap: 16px; }
  .slate-rad-dimension { padding: 10px 10px; }
  .slate-rad-letter { font-size: 18px; }
  .slate-rad-name { font-size: 12px; }
  .slate-rad-desc { font-size: 11px; }
  .slate-rad-detail { font-size: 12px; line-height: 1.7; }
  .slate-rad-center { padding: 12px; }
  .slate-rad-center-label { font-size: 12px; }
  .slate-rad-title { font-size: 18px; letter-spacing: 2px; }
  .slate-rad-footer { font-size: 10px; }
  /* Pipeline diagram */
  .op-pipeline-container { padding: 14px 10px; }
  .op-step { padding: 10px 6px; }
  .op-step-name { font-size: 11px; }
  .op-step-number { width: 22px; height: 22px; font-size: 10px; }
  .op-header .op-title { font-size: 16px; }
  .op-footer { font-size: 10px; }
}

/* ===== MID-CTA SECTION ===== */
.slc-mid-cta {
  padding: 56px 40px;
  background: transparent;
  margin: 0 auto;
  max-width: 1060px;
  text-align: center;
}

.slc-mid-cta-inner {
  background: var(--warm-card);
  border: 1px solid var(--line);
  padding: 60px 40px;
  border-radius: 2px;
}

.slc-mid-cta-text {
  font-size: clamp(24px, 3vw, 32px);
  color: var(--charcoal);
  margin-bottom: 16px;
  line-height: 1.3;
}

.slc-mid-cta-sub {
  font-size: 16px;
  color: var(--text-dim);
  margin-bottom: 32px;
  line-height: 1.7;
  max-width: 520px;
  margin-left: auto;
  margin-right: auto;
}

.slc-mid-cta-inner .btn {
  margin-top: 8px;
}

/* ===== FAQ ACCORDION SECTION ===== */
#faq {
  padding: 72px 40px 64px;
}

.slc-faq-container {
  max-width: 780px;
  margin: 0 auto;
}

.slc-faq-item {
  border-bottom: 1px solid var(--line);
  padding: 24px 0;
  transition: background 0.2s;
}

.slc-faq-item:last-child {
  border-bottom: none;
}

.slc-faq-question {
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  user-select: none;
  padding: 14px 0;
  min-height: 44px;
  transition: color 0.2s;
}

.slc-faq-question:hover {
  color: var(--copper);
}

.slc-faq-question:focus-visible {
  outline: 2px solid var(--copper);
  outline-offset: 4px;
  border-radius: 2px;
}

.slc-faq-question span:first-child {
  font-size: 16px;
  color: var(--charcoal);
  font-weight: 500;
  flex: 1;
  text-align: left;
}

.slc-faq-toggle {
  font-size: 20px;
  color: var(--copper);
  font-weight: 400;
  flex-shrink: 0;
  margin-left: 20px;
  transition: transform 0.3s ease;
  min-width: 44px;
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.slc-faq-answer {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height 0.3s ease, opacity 0.3s ease, padding 0.3s ease;
  margin-top: 0;
  padding-top: 0;
}

.slc-faq-item.active .slc-faq-answer {
  max-height: 500px;
  opacity: 1;
  padding-top: 20px;
}

.slc-faq-item.active .slc-faq-toggle {
  transform: rotate(45deg);
}

.slc-faq-answer p {
  font-size: 15px;
  color: var(--text-dim);
  line-height: 1.8;
  margin: 0;
}

.slc-faq-answer p:not(:last-child) {
  margin-bottom: 12px;
}

/* §Mobile-Polish: FAQ mobile spacing */
@media(max-width:480px){
  .slc-faq-item{padding:14px 16px;}
  .slc-faq-question{font-size:14px;line-height:1.5;}
  .slc-faq-answer{font-size:13px;line-height:1.7;padding-top:8px;}
}

/* ===== COMPARISON TABLE (Standard Wealth Advisory vs SLATE) ===== */
.slc-compare-section{padding:56px 40px 48px;}
.slc-compare-table{max-width:900px;margin:48px auto 0;border:1px solid var(--line);border-radius:4px;overflow:hidden;}
.slc-compare-header{display:grid;grid-template-columns:160px 1fr 1fr;border-bottom:2px solid var(--line);}
.slc-compare-header-label{padding:16px;background:var(--warm-deep);}
.slc-compare-header-col{padding:16px 20px;font-family:'Inter',sans-serif;font-size:11px;letter-spacing:2px;text-transform:uppercase;text-align:center;font-weight:600;}
.slc-compare-advisory{background:rgba(220,60,60,0.05);color:var(--text-dim);}
.slc-compare-slc{background:rgba(203,130,44,0.10);color:var(--copper);position:relative;box-shadow:inset 0 0 30px rgba(203,130,44,0.06), 0 0 20px rgba(203,130,44,0.04);}
.slc-compare-row{display:grid;grid-template-columns:160px 1fr 1fr;border-bottom:1px solid var(--line);transition:background 0.3s ease, box-shadow 0.3s ease;cursor:default;}
.slc-compare-row:last-child{border-bottom:none;}
.slc-compare-row:hover{background:rgba(203,130,44,0.05);box-shadow:inset 0 0 24px rgba(203,130,44,0.04);}
.slc-compare-row:hover .slc-compare-label{background:rgba(203,130,44,0.10);color:var(--copper);}
.slc-compare-row:hover .slc-compare-advisory-cell{color:var(--text);}
.slc-compare-row:hover .slc-compare-slc-cell{background:rgba(203,130,44,0.12);box-shadow:inset 0 0 28px rgba(203,130,44,0.08);}
.slc-compare-label{padding:16px;font-family:'Inter',sans-serif;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--copper-dim);font-weight:600;display:flex;align-items:center;border-right:1px solid var(--line);background:var(--warm-deep);transition:background 0.3s ease, color 0.3s ease;}
.slc-compare-cell{padding:16px 20px;text-align:center;border-right:1px solid var(--line);}
.slc-compare-cell:last-child{border-right:none;}
.slc-compare-advisory-cell{font-size:15px;font-weight:500;color:var(--text-dim);}
.slc-compare-slc-cell{font-size:15px;font-weight:600;color:var(--charcoal);background:rgba(203,130,44,0.05);border-left:2px solid rgba(203,130,44,0.25);box-shadow:inset 0 0 20px rgba(203,130,44,0.04);}
.slc-compare-note{font-size:13px;color:var(--text);opacity:0.85;margin-top:5px;font-weight:400;}
@media(max-width:768px){
  .slc-compare-header,.slc-compare-row{grid-template-columns:90px 1fr 1fr;}
  .slc-compare-label{font-size:11px;padding:12px 8px;letter-spacing:0.8px;word-break:break-word;}
  .slc-compare-cell{padding:12px 10px;font-size:13px;}
  .slc-compare-header-col{font-size:11px;padding:12px 8px;}
  .slc-compare-note{font-size:11px;}
}

/* ===== REPORT PREVIEW TABS ===== */
.slc-report-tabs{max-width:780px;margin:0 auto 48px;}
.slc-tab-bar{display:flex;gap:0;border-bottom:2px solid var(--line);margin-bottom:0;}
.slc-tab-btn{font-family:'Inter',sans-serif;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-dim);background:transparent;border:none;padding:14px 24px;cursor:pointer;transition:color 0.2s,border-color 0.2s;border-bottom:2px solid transparent;margin-bottom:-2px;font-weight:500;}
.slc-tab-btn:hover{color:var(--copper);}
.slc-tab-btn.slc-tab-active{color:var(--copper);border-bottom-color:var(--copper);}
.slc-tab-panel{display:none;padding:32px 0;}
.slc-tab-panel.slc-tab-visible{display:block;}
.slc-tab-title{font-family:'Playfair Display',serif;font-size:20px;color:var(--charcoal);margin-bottom:12px;font-weight:500;}
.slc-tab-desc{font-size:14px;color:var(--text-dim);line-height:1.8;margin-bottom:24px;}
.slc-tab-sample{background:var(--warm-card);border:1px solid var(--line);padding:24px;}
.slc-tab-sample-row{display:grid;grid-template-columns:120px 40px 1fr;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);}
.slc-tab-sample-row:last-child{border-bottom:none;}
.slc-tab-dim{font-size:13px;color:var(--text);font-weight:500;}
.slc-tab-score{font-size:14px;font-weight:600;text-align:right;}
.slc-tab-bar-track{height:5px;background:var(--warm-deep);border-radius:1px;overflow:hidden;}
.slc-tab-bar-fill{height:100%;border-radius:1px;transition:width 0.8s ease;}
@media(max-width:768px){
  .slc-tab-bar{flex-wrap:wrap;}
  .slc-tab-btn{padding:10px 14px;font-size:11px;}
  .slc-tab-sample-row{grid-template-columns:90px 30px 1fr;}
}

/* ===== ARTIFACT PREVIEW CARDS ===== */
.slc-artifact-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-top:32px;max-width:780px;margin-left:auto;margin-right:auto;}
.slc-artifact-card{background:var(--warm-card);border:1px solid var(--line);padding:20px;cursor:pointer;transition:border-color 0.3s,box-shadow 0.3s;}
.slc-artifact-card:hover{border-color:var(--copper);box-shadow:0 4px 16px rgba(203,130,44,0.08);}
.slc-artifact-card.slc-artifact-open{border-color:var(--copper);box-shadow:0 0 20px rgba(203,130,44,0.12);}
.slc-artifact-header{display:flex;align-items:center;gap:10px;}
.slc-artifact-icon{font-size:18px;color:var(--copper);}
.slc-artifact-name{font-size:13px;font-weight:600;color:var(--charcoal);letter-spacing:0.5px;flex:1;}
.slc-artifact-arrow{font-size:14px;color:var(--copper);transition:transform 0.3s;}
.slc-artifact-card.slc-artifact-open .slc-artifact-arrow{transform:rotate(90deg);}
.slc-artifact-detail{font-size:13px;color:var(--text-dim);line-height:1.7;max-height:0;overflow:hidden;opacity:0;transition:max-height 0.3s,opacity 0.3s,margin 0.3s;margin-top:0;}
.slc-artifact-card.slc-artifact-open .slc-artifact-detail{max-height:200px;opacity:1;margin-top:14px;}
@media(max-width:768px){
  .slc-artifact-grid{grid-template-columns:1fr;}
}

/* ===== COMPLIANCE STRIP ===== */
/* ===== SERVICE TIER CARDS ===== */
#services .persona-card {
  transition: border-color 0.3s, transform 0.3s, box-shadow 0.3s;
}

#services .persona-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
}

#services .persona-card[style*="border-color"] {
  box-shadow: 0 0 20px rgba(203,130,44,0.06);
}

#services .persona-card[style*="border-color"]:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06), 0 0 28px rgba(203,130,44,0.12);
}

/* ===== CONSTITUTION NUMERAL HOVER ===== */
.constitution-card:hover .constitution-num {
  color: var(--copper);
  transform: scale(1.1);
  transition: transform 0.3s ease, color 0.3s ease;
}

/* ===== HOW IT WORKS 3-STEP ===== */
.slc-steps-strip{padding:56px 40px 0;max-width:1060px;margin:0 auto;}
.slc-steps-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0;margin-top:36px;position:relative;}
.slc-step-card{text-align:center;padding:32px 24px;border:1px solid var(--line);border-right:none;position:relative;}
.slc-step-card:last-child{border-right:1px solid var(--line);}
.slc-step-card:hover{background:var(--copper-soft);}
.slc-step-num{font-family:'Playfair Display',serif;font-size:32px;color:var(--copper);margin-bottom:8px;line-height:1;}
.slc-step-title{font-family:'Playfair Display',serif;font-size:18px;color:var(--charcoal);margin-bottom:8px;font-weight:500;}
.slc-step-desc{font-size:14px;color:var(--text-dim);line-height:1.7;}
.slc-step-arrow{position:absolute;right:-12px;top:50%;transform:translateY(-50%);font-size:18px;color:var(--copper);z-index:2;}
@media(max-width:768px){
  .slc-steps-grid{grid-template-columns:1fr;gap:0;}
  .slc-step-card{border-right:1px solid var(--line);border-bottom:none;}
  .slc-step-card:last-child{border-bottom:1px solid var(--line);}
  .slc-step-arrow{display:none;}
}

.slc-compliance-strip {
  padding: 40px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--warm-deep);
  text-align: center;
}

.slc-compliance-inner {
  max-width: 800px;
  margin: 0 auto;
}

.slc-compliance-title {
  font-size: 10px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--text-dim);
  font-weight: 500;
  margin-bottom: 16px;
}

.slc-compliance-items {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  align-items: center;
  margin-bottom: 16px;
}

.slc-compliance-items span {
  font-size: 11px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--text-light);
}

.slc-compliance-note {
  font-size: 13px;
  color: var(--text-dim);
  line-height: 1.7;
  max-width: 640px;
  margin: 0 auto;
}

/* ===== OPERATOR CREDENTIAL STRIP ===== */
.slc-operator-strip {
  padding: 60px 40px;
  text-align: center;
  background: var(--warm);
  border-top: 1px solid var(--line);
}

.slc-operator-inner {
  max-width: 560px;
  margin: 0 auto;
}

.slc-operator-name {
  font-family: 'Playfair Display', serif;
  font-size: 20px;
  color: var(--charcoal);
  font-weight: 500;
  margin-bottom: 4px;
}

.slc-operator-entity {
  font-size: 12px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--copper);
  font-weight: 500;
  margin-bottom: 16px;
}

.slc-operator-line {
  font-size: 15px;
  color: var(--text-dim);
  line-height: 1.7;
  margin-bottom: 20px;
}

.slc-operator-cohort {
  font-size: 13px;
  letter-spacing: 0.5px;
  color: var(--copper);
  font-weight: 500;
  padding: 10px 20px;
  border: 1px solid rgba(203, 130, 44, 0.25);
  display: inline-block;
  background: rgba(203, 130, 44, 0.04);
}

/* Mobile responsive adjustments */
@media (max-width: 768px) {
  .slc-operator-strip {
    padding: 40px 24px;
  }

  .slc-trust-unified {
    gap: 8px;
  }
  .slc-trust-unified span {
    font-size: 9px;
    letter-spacing: 1.2px;
  }
  .slc-tu-dot { font-size: 10px; }

  .slc-mid-cta {
    padding: 60px 20px;
  }

  .slc-mid-cta-inner {
    padding: 40px 24px;
  }

  .slc-mid-cta-text {
    font-size: 20px;
  }

  .slc-mid-cta-sub {
    font-size: 14px;
  }

  .slc-faq-question span:first-child {
    font-size: 15px;
  }

  .slc-faq-answer p {
    font-size: 14px;
  }

  #faq {
    padding: 56px 20px 56px;
  }

  .slc-faq-container {
    max-width: 100%;
  }
}

/* ═══════════════════════════════════════════════════
   HOVER → TOUCH FALLBACKS
   ═══════════════════════════════════════════════════ */
@media (hover: none) {
    /* Cards & interactive elements: tap feedback */
    .persona-card:active,
    .constitution-card:active,
    .slc-step-card:active,
    .slc-artifact-card:active {
        opacity: 0.88;
        transform: scale(0.98);
        transition: transform 0.1s ease, opacity 0.1s ease;
    }
    .slate-cell:active {
        background: var(--warm-card);
    }
    .btn:active {
        opacity: 0.85;
        transform: scale(0.97);
    }
    .slc-faq-question:active {
        color: var(--copper);
    }
    .op-step:active {
        border-color: var(--copper);
        background: rgba(203,130,44,0.04);
    }
    .slate-rad-dimension:active .slate-rad-letter {
        color: var(--copper);
        transform: scale(1.1);
    }
    .slc-compare-row:active {
        background: rgba(203,130,44,0.05);
    }
    .mode-btn:active {
        color: var(--copper);
        border-color: rgba(203,130,44,0.5);
    }
    .slc-tab-btn:active {
        color: var(--copper);
    }
    .eco-bar a:active {
        color: var(--copper);
    }
    /* Show eco-bar link underlines on touch (no hover available) */
    .eco-bar a::after { opacity: 0.3; }
    .footer-col a:active {
        color: var(--copper);
    }
    /* Suppress hover transforms on touch */
    .persona-card:hover,
    .constitution-card:hover,
    .slc-step-card:hover,
    .mode-btn:hover {
        transform: none !important;
    }
    .diagram-frame:hover .node-group {
        opacity: 1;
    }
}

/* ═══════════════════════════════════════════════════
   SLIDER THUMB TOUCH TARGETS (768px + 480px)
   ═══════════════════════════════════════════════════ */
@media (max-width: 768px) {
    .slider-group input[type=range]::-webkit-slider-thumb {
        width: 32px;
        height: 32px;
    }
    .slider-group input[type=range]::-moz-range-thumb {
        width: 32px;
        height: 32px;
    }
    .slider-group input[type=range] {
        height: 6px;
    }
}
@media (max-width: 480px) {
    .slider-group input[type=range]::-webkit-slider-thumb {
        width: 32px;
        height: 32px;
    }
    .slider-group input[type=range]::-moz-range-thumb {
        width: 32px;
        height: 32px;
    }
}

/* ═══════════════════════════════════════════════════
   EXTRA-SMALL PHONES (375px) — iPhone SE, compact Android
   ═══════════════════════════════════════════════════ */
@media(max-width:375px){
  html{scroll-padding-top:60px;}
  /* §Mobile-Upgrade: Ensure minimum horizontal padding for legibility */
  section, .section { padding-left: 16px !important; padding-right: 16px !important; }
  nav{padding:0 10px!important;}
  nav .logo{font-size:13px;gap:5px;}
  .slc-nav-logo{height:20px;}
  .hero{padding:56px 12px 32px!important;}
  .hero h1{font-size:clamp(20px,4.8vw,30px);}
  .hero .label{font-size:11px!important;letter-spacing:2px;}
  .hero .sub{font-size:13px;}
  .hero .ctas{flex-direction:column;gap:10px;}
  .hero .ctas .btn{width:100%;text-align:center;padding:14px 20px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;}
  .hero-radar-canvas{width:220px!important;height:220px!important;opacity:0.3;}
  section{padding:32px 16px 24px;}
  .section-title{font-size:clamp(20px,3.8vw,28px);}
  .section-sub{font-size:13px;margin-bottom:24px;}
  /* Constitution */
  #constitution{padding:36px 12px 28px;}
  .constitution-card{grid-template-columns:28px 1fr;padding:14px 0;}
  .constitution-num{font-size:14px;}
  .constitution-rule{font-size:14px;}
  /* Personas */
  .persona-card{padding:18px 14px;}
  .persona-card h3{font-size:16px;}
  /* Boundaries / Form */
  .boundaries{padding:36px 12px;}
  .boundaries h2{font-size:20px;}
  .consult-form{padding:20px 12px;}
  .consult-form input,.consult-form select,.consult-form textarea{font-size:16px!important;min-height:48px;}
  /* Demo */
  .demo-chart canvas{max-height:220px;}
  .constraint-output{padding:14px 12px;}
  .constraint-output .co-value{font-size:13px;}
  /* §Mobile-Upgrade: Bump constraint labels from 10px to 11px for readability */
  .constraint-output .co-label{font-size:11px;}
  .constraint-label, .constraint-output label { font-size: 11px; }
  /* Comparison table */
  .slc-compare-row{padding:12px 14px;gap:6px;}
  .slc-compare-cell{font-size:12px;}
  .slc-compare-cell::before{min-width:65px;font-size:9px;}
  .slc-compare-slc-cell{padding:6px 8px;}
  /* Tab samples */
  .slc-tab-sample-row{grid-template-columns:70px 28px 1fr;gap:6px;}
  .slc-tab-sample{padding:14px 12px;}
  /* Steps */
  .slc-step-card{padding:20px 14px;}
  .slc-step-num{font-size:24px;}
  .slc-step-title{font-size:15px;}
  .slc-step-desc{font-size:12px;}
  /* FAQ */
  .slc-faq-question span:first-child{font-size:13px;}
  .slc-faq-answer p{font-size:13px;}
  /* Mode switcher */
  .mode-bar{padding:20px 8px 0;}
  .mode-btn{padding:12px 16px!important;font-size:11px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;}
  /* §Mobile-Upgrade: Standardize all button min-height to 48px */
  .btn, .slc-btn, .mode-btn, .slc-tab-btn { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; }
  .mode-context-label{font-size:9px;letter-spacing:1.5px;}
  /* Slider — keep 32px thumb from 480px; explicit track height */
  .slider-group input[type=range]::-webkit-slider-thumb{width:32px;height:32px;}
  .slider-group input[type=range]::-moz-range-thumb{width:32px;height:32px;}
  .slider-group input[type=range]{height:8px;}
  .slider-group label{font-size:12px;}
  /* Artifacts */
  .slc-artifact-card{padding:14px 12px;}
  .slc-artifact-name{font-size:12px;}
  /* Diagram */
  .diagram-frame{margin:0 auto 32px;max-width:95vw;}
  /* Footer */
  footer{padding:36px 12px;}
  .eco-bar{padding:18px 8px;}
  .eco-bar a{font-size:11px;}
  .footer-legal{font-size:11px;}
  /* Mobile nav */
  .slc-mobile-nav a{font-size:12px;padding:10px 16px;min-height:44px;display:flex;align-items:center;}
}

/* ===== MOBILE PERFORMANCE LAYER ===== */
/* NOTE: will-change:transform removed from nav — breaks position:fixed scroll behavior */
nav,.slc-mobile-nav{-webkit-backface-visibility:hidden;backface-visibility:hidden;}
nav{view-transition-name:slc-nav;}
/* Typography optimization — kerning + ligatures on headings */
.hero h1,.section-title,.persona-card h3,.constitution-card h3,.slc-mid-cta-title{text-rendering:optimizeLegibility;font-variant-ligatures:common-ligatures;font-optical-sizing:auto;font-synthesis:none;hanging-punctuation:first allow-end last;}
/* Link typography — branded underlines */
a:not(.btn):not(.slc-nav-link):not(.logo){text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-skip-ink:auto;text-underline-position:under;}
.persona-card,.constitution-card,.demo-card,.score-card,.slc-compare-row,.slc-tab-sample{contain:layout style;}
section:not(.hero){content-visibility:auto;contain-intrinsic-size:auto 600px;isolation:isolate;}
#constitution{contain-intrinsic-size:auto 500px;}
.boundaries{contain-intrinsic-size:auto 400px;}
@media(max-width:375px){
  section:not(.hero){contain-intrinsic-size:auto 450px;}
  #constitution{contain-intrinsic-size:auto 380px;}
  .boundaries{contain-intrinsic-size:auto 320px;}
}
@font-face{font-family:'Playfair Display';font-display:swap;}
@font-face{font-family:'Inter';font-display:swap;}

/* ===== NETWORK-AWARE PERFORMANCE ===== */
body.slow-connection *{animation-duration:0s!important;animation-delay:0s!important;transition-duration:0.05s!important;}
body.slow-connection canvas{display:none;}
body.slc-reduced-motion *{animation-duration:0s!important;animation-delay:0s!important;transition-duration:0.05s!important;}
body.slc-tab-hidden *{animation-play-state:paused!important;}
body.slc-tab-hidden canvas{display:none!important;}

/* ===== REDUCED DATA — hide decorative content on data-saver ===== */
@media(prefers-reduced-data:reduce){
  .hero::before,.hero::after,canvas,.diagram-frame svg{display:none!important;}
  .persona-card::before,.slc-artifact-card::before{background-image:none!important;}
  *{background-image:none!important;box-shadow:none!important;}
}

/* ===== BUTTON PRESS DEPTH — tactile tap feel ===== */
.btn:active,.btn-copper:active,.persona-card .btn:active,.slc-artifact-card:active,.slc-tab-btn:active,.slc-sticky-cta a:active,.mode-btn:active{
  transform:scale(0.97)!important;box-shadow:0 1px 2px rgba(0,0,0,0.12)!important;transition:transform 0.08s ease,box-shadow 0.08s ease;
}

/* ===== OVERSCROLL & BOUNCE PREVENTION ===== */
/* html,body{overscroll-behavior:none;} — DISABLED: conflicts with html rule at line 32, breaks scroll chain */
/* RTL-ready logical properties (progressive enhancement) */
.section-sub{margin-inline:auto;}
/* section{padding-inline:clamp(16px,4vw,80px);} — DISABLED: bare section selector breaks scroll */

/* ===== STAGGERED CARD REVEAL ===== */
.persona-card:nth-child(1){transition-delay:0s;}
.persona-card:nth-child(2){transition-delay:0.12s;}
.slc-artifact-card:nth-child(1){transition-delay:0s;}
.slc-artifact-card:nth-child(2){transition-delay:0.10s;}
.slc-artifact-card:nth-child(3){transition-delay:0.20s;}
.slc-step-card:nth-child(1){transition-delay:0s;}
.slc-step-card:nth-child(2){transition-delay:0.10s;}
.slc-step-card:nth-child(3){transition-delay:0.20s;}
.score-bar-item:nth-child(1){transition-delay:0s;}
.score-bar-item:nth-child(2){transition-delay:0.06s;}
.score-bar-item:nth-child(3){transition-delay:0.12s;}
.score-bar-item:nth-child(4){transition-delay:0.18s;}
.score-bar-item:nth-child(5){transition-delay:0.24s;}
@media(prefers-reduced-motion:reduce){
  .persona-card,.slc-artifact-card,.slc-step-card,.score-bar-item{transition-delay:0s!important;}
}

/* ===== SCROLL-TO-TOP BUTTON ===== */
.scroll-top-btn{display:none;position:fixed;bottom:80px;right:16px;z-index:997;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:rgba(245,240,232,0.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--copper);font-size:18px;cursor:pointer;align-items:center;justify-content:center;box-shadow:0 2px 12px rgba(0,0,0,0.1);transition:opacity 0.3s,transform 0.3s;opacity:0;transform:translateY(12px);touch-action:manipulation;}
.scroll-top-btn.stt-visible{display:flex;opacity:1;transform:translateY(0);}
.scroll-top-btn:active{transform:scale(0.9);}
@media(min-width:769px){.scroll-top-btn{bottom:32px;right:32px;}}

/* §Mobile-Polish: scroll-to-top landscape */
@media(max-width:768px) and (orientation:landscape){
  .scroll-top-btn{bottom:16px;right:12px;width:36px;height:36px;font-size:14px;}
}

/* ===== SMART AUTO-HIDE + COMPACT NAV (mobile) ===== */
@media(max-width:768px){
  nav{transition:height 0.25s ease,transform 0.3s cubic-bezier(0.4,0,0.2,1);}
  body.nav-scrolled-down nav{transform:translateY(-100%);}
  body.nav-scrolled-down #slc-scroll-progress{top:0!important;transition:top 0.3s cubic-bezier(0.4,0,0.2,1);}
  body.nav-compact nav{height:44px!important;}
  body.nav-compact nav .logo{font-size:14px;gap:6px;}
  body.nav-compact .slc-nav-logo{height:22px;}
  body.nav-compact #slc-scroll-progress{top:44px;}
  body.nav-compact .slc-mobile-nav{top:44px;}
}

/* ===== CARD IMAGE ASPECT RATIO ===== */
/* §Mobile-Upgrade: Maintain consistent image proportions */
.persona-card img, .slc-artifact-card img { aspect-ratio: 16/9; object-fit: cover; width: 100%; }

/* ===== SCROLL PROGRESS BAR ===== */
#slc-scroll-progress{position:fixed;top:0;left:0;height:2px;background:linear-gradient(90deg,var(--copper-dim),var(--copper));z-index:201;width:0%;pointer-events:none;box-shadow:0 0 6px rgba(203,130,44,0.4);transition:width 0.08s linear;}
@media(max-width:768px){
  #slc-scroll-progress{top:56px;}
  /* §Mobile-Upgrade: Scroll progress safe-area inset */
  @supports(top:calc(56px + env(safe-area-inset-top))){
    .scroll-progress { top: calc(56px + env(safe-area-inset-top, 0px)); }
  }
}

/* CSS scroll-driven progress — Chrome 115+, replaces JS on supporting browsers */
@supports(animation-timeline:scroll()){
  #slc-scroll-progress{transition:none;width:100%;transform-origin:left;scale:0 1;animation:slc-scroll-progress linear;animation-timeline:scroll();}
  @keyframes slc-scroll-progress{from{scale:0 1;}to{scale:1 1;}}
}

/* ===== MOBILE STICKY CTA ===== */
.slc-sticky-cta{display:none;position:fixed;bottom:0;left:0;right:0;z-index:998;background:rgba(245,240,232,0.96);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid rgba(203,130,44,0.3);padding:12px 20px;text-align:center;}
.slc-sticky-cta a{display:block;background:var(--copper);color:var(--warm-card);font-size:13px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;text-decoration:none;padding:14px 24px;transition:background 0.2s;min-height:48px;border-radius:2px;touch-action:manipulation;}
.slc-sticky-cta a:hover{background:var(--copper-dim);}
@media(max-width:768px){
  .slc-sticky-cta{display:block;}
}
.slc-mobile-nav.slc-mnav-open~.slc-sticky-cta{display:none!important;}

/* ===== iOS INPUT ZOOM PREVENTION ===== */
@media(max-width:768px){
  input[type="text"],input[type="email"],input[type="tel"],input[type="number"],input[type="range"],select,textarea{font-size:16px!important;}
}

/* ===== LAYOUT SHIFT PREVENTION ===== */
img{height:auto;max-width:100%;}
.diagram-frame svg{aspect-ratio:auto;}

/* ===== FORM ACCENT — branded checkboxes, radios, range sliders ===== */
input,select,textarea{accent-color:var(--copper);caret-color:var(--copper);}
.btn,.btn-copper,.slc-hamburger,.slc-faq-question,.mode-btn,.slc-tab-btn,.scroll-top-btn,.slc-sticky-cta{-webkit-user-select:none;user-select:none;}
::placeholder{color:var(--text-dim);opacity:0.6;font-style:italic;}

/* ===== AUTOFILL STYLING — match warm brand on Chrome/Safari autofill ===== */
input:-webkit-autofill,textarea:-webkit-autofill,select:-webkit-autofill{
  -webkit-box-shadow:0 0 0 40px var(--warm) inset!important;
  -webkit-text-fill-color:var(--charcoal)!important;
  transition:background-color 5000s ease-in-out 0s;
  border-color:var(--copper)!important;
}

/* ===== TOUCH RIPPLE — subtle background flash on tap ===== */
@media(hover:none) and (pointer:coarse){
  .persona-card:active::after,.slc-artifact-card:active::after,.slc-step-card:active::after{
    content:'';position:absolute;inset:0;background:rgba(203,130,44,0.06);pointer-events:none;animation:slcTapFlash 0.3s ease-out;
  }
  .persona-card,.slc-artifact-card,.slc-step-card{position:relative;overflow:hidden;}
  @keyframes slcTapFlash{0%{opacity:1;}100%{opacity:0;}}
  /* Touch device — always show link underlines (no hover to discover them) */
  a:not(.btn):not(.btn-copper):not(.slc-nav-link):not(.slc-logo){text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;}
}

/* ===== LANDSCAPE PHONE — reduce hero height and section padding ===== */
@media(max-height:600px) and (orientation:landscape){
  .hero{min-height:70vh!important;min-height:70dvh!important;padding-top:56px!important;padding-bottom:32px!important;}
  nav{height:48px!important;}
  /* section{padding-top:32px!important;padding-bottom:32px!important;} — DISABLED: bare section selector breaks scroll */
  .hero h1{font-size:clamp(28px,4vw,48px)!important;}
  .slc-sticky-cta{padding:8px 16px!important;}
}

/* §Mobile-Upgrade: Landscape phone card layouts */
@media (max-width:768px) and (orientation:landscape) {
  /* section { padding-block: 1.5rem; } — DISABLED: bare section selector breaks scroll */
  .hero { min-height: 50vh; min-height: 50dvh; }
  .persona-grid, .slc-artifact-grid { gap: 12px; }
}

/* ===== FOCUS-VISIBLE ONLY — hide focus ring on mouse clicks ===== */
:focus:not(:focus-visible){outline:none;}

/* ===== SAFE AREA INSETS — ensure all fixed elements respect notch ===== */
@supports(padding:env(safe-area-inset-bottom)){
  /* §Mobile-Upgrade: Consolidated sticky CTA safe-area rule */
  .slc-sticky-cta{padding-bottom:calc(12px + env(safe-area-inset-bottom, 0px));}
  .scroll-top-btn{bottom:calc(80px + env(safe-area-inset-bottom));}
  footer{padding-bottom:calc(20px + env(safe-area-inset-bottom));}
  nav{padding-left:calc(16px + env(safe-area-inset-left));padding-right:calc(16px + env(safe-area-inset-right));}
}

/* ===== SKIP-TO-CONTENT LINK — accessible keyboard nav ===== */
.slc-skip-link{position:absolute;top:-100px;left:16px;background:var(--copper);color:var(--warm-card);padding:12px 24px;z-index:10000;font-family:'Inter',sans-serif;font-size:14px;font-weight:600;text-decoration:none;border-radius:0 0 4px 4px;transition:top 0.2s;}
.slc-skip-link:focus{top:0;outline:2px solid var(--copper);outline-offset:2px;}

/* ===== TEXT SELECTION — branded highlight ===== */
a:visited{color:inherit;}
:any-link{color:inherit;}
::selection{background:rgba(203,130,44,0.15);color:var(--charcoal);}
::target-text{background:rgba(203,130,44,0.2);color:var(--charcoal);}
::-moz-selection{background:rgba(203,130,44,0.15);color:var(--charcoal);}
.hero ::selection{background:rgba(203,130,44,0.25);color:var(--warm);}
.hero ::-moz-selection{background:rgba(203,130,44,0.25);color:var(--warm);}

/* ===== SCROLL MARGIN — anchor links clear fixed nav ===== */
[id]{scroll-margin-top:80px;}

/* ===== TARGET HIGHLIGHT — flash when navigating to anchored section ===== */
@keyframes slc-target-flash{0%{outline-color:rgba(203,130,44,0.5);}100%{outline-color:transparent;}}
:target{animation:slc-target-flash 1.5s ease-out;}
@media(prefers-reduced-motion:reduce){:target{animation:none;}}

/* ===== MOBILE TEXT OVERFLOW SAFETY ===== */
@media(max-width:600px){
  p,li,dd,figcaption,blockquote,.section-sub,.fragility-narrative p,.consult-form .form-note{overflow-wrap:break-word;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;}
}

/* ===== MOBILE FORM GRID STACK ===== */
@media(max-width:600px){
  .form-grid{grid-template-columns:1fr;}
  .consult-form{padding:28px 20px;}
}

/* ===== STICKY CTA — LANDSCAPE HEIGHT GUARD ===== */
@media(max-height:600px){
  .slc-sticky-cta{display:none!important;}
}

/* ===== HIGH CONTRAST MODE ===== */
@media(prefers-contrast:more){
  :root{--copper:#e8952f;--text:#1a1a18;--text-dim:#2a2a26;--line:rgba(74,74,74,0.35);}
  .btn,.btn-copper{border-width:2px;}
  .persona-card,.slc-artifact-card,.constitution-card,.slc-step-card,.consult-form{border-width:2px;border-color:var(--line-strong);}
  nav{border-bottom-width:2px;}
}
@media(forced-colors:active){
  .btn,.btn-copper{border:2px solid ButtonText;color:ButtonText;background:ButtonFace;}
  nav{border-bottom:2px solid ButtonText;}
  .persona-card,.slc-artifact-card,.constitution-card{border:1px solid ButtonText;}
  ::selection{background:Highlight;color:HighlightText;}
}

/* ===== INVERTED COLORS (iOS accessibility) ===== */
@media(inverted-colors:inverted){
  img,video,picture,svg:not([aria-hidden="true"]){filter:invert(1);}
  .slc-hero-bg,.slc-artifact-card img,.persona-card img{filter:invert(1);}
}
/* ===== REDUCED TRANSPARENCY ===== */
@media(prefers-reduced-transparency:reduce){
  nav,.slc-mobile-nav,.scroll-top-btn,.slc-sticky-cta{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;}
  nav{background:var(--warm)!important;}
  .scroll-top-btn{background:var(--warm)!important;}
}

/* ===== NO-JS FALLBACK — ensure content visible without scripting ===== */
@media(scripting:none){
  .hero,section{opacity:1!important;transform:none!important;visibility:visible!important;}
  nav{position:relative!important;}
}

/* ===== LIST MARKERS — brand-colored bullets ===== */
::marker{color:var(--copper);}

/* ===== PLACEHOLDER-SHOWN — subtle form state styling ===== */
.consult-form input:placeholder-shown,.consult-form textarea:placeholder-shown{border-color:var(--line);}
.consult-form input:not(:placeholder-shown),.consult-form textarea:not(:placeholder-shown){border-color:var(--copper);}

/* ===== P3 WIDE GAMUT — richer copper on HDR displays ===== */
@media(color-gamut:p3){
  :root{--copper:color(display-p3 0.82 0.52 0.16);--copper-dim:color(display-p3 0.68 0.43 0.13);}
}

/* ===== FORM VALIDATION STATES ===== */
.consult-form input:user-valid,.consult-form textarea:user-valid,.consult-form select:user-valid{border-color:rgba(106,224,168,0.4);}
.consult-form input:user-invalid,.consult-form textarea:user-invalid,.consult-form select:user-invalid{border-color:rgba(220,60,60,0.5);box-shadow:0 0 0 1px rgba(220,60,60,0.15);}

/* ===== §R33 CONTENT-VISIBILITY — OFFSCREEN RENDERING OPTIMIZATION ===== */
.slc-compare-section,.slc-steps-strip,.slc-faq-section,.consult-section{
  content-visibility:auto;
  contain-intrinsic-size:auto 600px;
}
.slc-compliance-strip,.slc-operator-strip{
  content-visibility:auto;
  contain-intrinsic-size:auto 80px;
}
/* §R33 CONTAINER QUERIES — DISABLED on cards: container-type:inline-size
   creates containment that can break flex layouts. */

/* ===== §R34 SCROLL-SNAP — MOBILE HORIZONTAL CARD SWIPING ===== */
@media(max-width:768px){
  .persona-grid,.slc-artifact-grid,.slc-step-grid{
    display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
    gap:16px;padding-bottom:12px;margin:0 -20px;padding-left:20px;padding-right:20px;
    scrollbar-width:thin;scrollbar-color:var(--copper,#CB822C) transparent;
  }
  .persona-grid::-webkit-scrollbar,.slc-artifact-grid::-webkit-scrollbar,.slc-step-grid::-webkit-scrollbar{height:4px;}
  .persona-grid::-webkit-scrollbar-track,.slc-artifact-grid::-webkit-scrollbar-track,.slc-step-grid::-webkit-scrollbar-track{background:transparent;}
  .persona-grid::-webkit-scrollbar-thumb,.slc-artifact-grid::-webkit-scrollbar-thumb,.slc-step-grid::-webkit-scrollbar-thumb{background:var(--copper,#CB822C);border-radius:4px;}
  .persona-grid>*,.slc-artifact-grid>*,.slc-step-grid>*{flex:0 0 85%;scroll-snap-align:center;min-width:0;}
  /* §Mobile-Upgrade: Prevent sticky CTA overlap on carousel scroll */
  .persona-grid, .slc-artifact-grid, .slc-step-grid { scroll-padding-bottom: 80px; }
  /* §Mobile-Polish: carousel swipe hint — DISABLED: mask-image creates compositing
     layers that can interfere with scroll on some browsers. Replaced with visible
     thin scrollbar + CSS-only pulsing arrow indicator. */
  /* §Mobile-Polish: swipe hint arrow */
  .persona-grid,.slc-artifact-grid,.slc-step-grid{position:relative;}
  .persona-grid::after,.slc-artifact-grid::after,.slc-step-grid::after{
    content:'\2192';position:absolute;right:4px;top:50%;transform:translateY(-50%);
    font-size:20px;color:var(--copper,#CB822C);opacity:0;pointer-events:none;
    animation:slcSwipeHint 3s ease-in-out 1s 2;
  }
  @keyframes slcSwipeHint{0%,100%{opacity:0;transform:translateY(-50%) translateX(0);}30%{opacity:0.6;transform:translateY(-50%) translateX(-6px);}60%{opacity:0.6;transform:translateY(-50%) translateX(6px);}90%{opacity:0;}}
}
@media(prefers-reduced-motion:reduce){
  .persona-grid::after,.slc-artifact-grid::after,.slc-step-grid::after{animation:none!important;}
}

/* ===== §R35 WIDESCREEN DESKTOP — 1440px+ POLISH ===== */
@media(min-width:1440px){
  .slc-main,.slc-hero{max-width:1200px;margin-left:auto;margin-right:auto;}
  .persona-grid,.slc-artifact-grid{gap:2rem;}
  .slc-section{padding:3rem 4rem;}
  body{font-size:1.0625rem;}
}
@media(min-width:1920px){
  .slc-main{max-width:1400px;}
}

/* ===== §R36 FOCUS-VISIBLE — PREMIUM KEYBOARD NAV ===== */
:focus-visible{outline:2px solid var(--copper,#CB822C);outline-offset:3px;border-radius:4px;}
.btn:focus-visible,.persona-card:focus-visible,.slc-tab-btn:focus-visible{outline-color:var(--copper,#CB822C);box-shadow:0 0 0 4px rgba(203,130,44,0.15);}
:focus:not(:focus-visible){outline:none;}

/* ===== §R37 VIEW TRANSITIONS — SMOOTH PAGE FEEL ===== */
@supports(view-transition-name:none){
  .slc-hero{view-transition-name:slc-hero;}
  .slc-main{view-transition-name:slc-main;}
  ::view-transition-old(*),::view-transition-new(*){animation-duration:0.25s;}
}

/* ===== §R38 :has() PREMIUM INTERACTIVITY ===== */
.persona-card:has(.btn:hover){transform:translateY(-2px);box-shadow:0 8px 24px rgba(203,130,44,0.12);}
.slc-faq-item:has(.slc-faq-answer[style*="block"]){background:rgba(203,130,44,0.03);border-left:3px solid var(--copper,#CB822C);}

/* ===== §R39 FINAL POLISH — ACCESSIBILITY + TYPOGRAPHY ===== */
@media(prefers-reduced-transparency:reduce){
  .persona-card,.slc-artifact-card{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(250,247,242,0.98);}
}
h1,h2,h3,.slc-hero-title{text-wrap:balance;}
p,.persona-card p,.slc-artifact-card p{text-wrap:pretty;}

/* §Mobile-Polish: typography refinements */
@media(max-width:768px){
  .section-sub,.faq-answer,.persona-desc,.slc-artifact-desc{
    line-height:1.7;letter-spacing:0.01em;
  }
  .section-title,.persona-name{
    letter-spacing:0.03em;
  }
}
@media(max-width:480px){
  .section-sub,.faq-answer,.persona-desc{line-height:1.75;}
}

/* ===== §R41 COLOR-MIX + OKLCH WIDE-GAMUT ACCENTS ===== */
:root{
  --copper-10:color-mix(in oklch,var(--copper,#CB822C) 10%,transparent);
  --copper-20:color-mix(in oklch,var(--copper,#CB822C) 20%,transparent);
  --copper-50:color-mix(in oklch,var(--copper,#CB822C) 50%,transparent);
}
@supports(color:oklch(0.65 0.14 65)){
  :root{--copper-vivid:oklch(0.67 0.14 65);}
  .btn:hover,.persona-card:hover{border-color:var(--copper-vivid);}
}

/* ===== §R42 SCROLL-DRIVEN ANIMATIONS ===== */
@supports(animation-timeline:scroll()){
  @keyframes slc-fade-up{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}
  .persona-card,.slc-artifact-card,.slc-step-card{
    animation:slc-fade-up linear both;
    animation-timeline:view();
    animation-range:entry 0% entry 30%;
  }
}

/* ===== §R43 LOGICAL PROPERTIES — RTL-SAFE LAYOUT ===== */
.slc-section{padding-inline:clamp(1rem,5vw,4rem);padding-block:clamp(2rem,4vw,4rem);}
.persona-card,.slc-artifact-card{padding-inline:1.25rem;padding-block:1.5rem;}
.btn{margin-inline:auto;padding-inline:2rem;padding-block:0.75rem;}

/* ===== §R44 LIGHT-DARK() THEME FUNCTION ===== */
@supports(color:light-dark(#000,#fff)){
  :root{color-scheme:light dark;}
  body{background:light-dark(var(--warm,#F5F0E8),#1a1a18);color:light-dark(var(--text,#3a3a34),#e0e0e0);}
  .persona-card{background:light-dark(var(--warm-card,#FAF7F2),rgba(40,40,40,0.85));}
}

/* ===== §R45 @STARTING-STYLE — ENTRANCE TRANSITIONS ===== */
@supports(selector(@starting-style)){
  .persona-card,.slc-artifact-card{transition:opacity 0.4s ease,transform 0.4s ease;}
  @starting-style{.persona-card,.slc-artifact-card{opacity:0;transform:translateY(12px);}}
}

/* ===== §R46 SUBGRID — DISABLED: overrides card display:flex→grid, breaking
   existing horizontal/card layouts. ===== */

/* ===== §R47 FORM POLISH — ACCENT-COLOR + INTERACTIVE-WIDGET ===== */
input[type="checkbox"],input[type="radio"],input[type="range"],progress{accent-color:var(--copper,#CB822C);}
@supports(interactive-widget:resizes-content){
  @viewport{interactive-widget:resizes-content;}
}

/* ===== §R49 GPU COMPOSITING — WILL-CHANGE + CONTAIN ===== */
/* contain on cards only — hero/nav excluded (breaks fixed positioning + scroll) */
.persona-card,.slc-artifact-card{contain:layout style;}

/* ===== §R50 INDIVIDUAL TRANSFORM PROPERTIES ===== */
@supports(translate:0){
  .persona-card:hover,.slc-artifact-card:hover{translate:0 -4px;scale:1.01;}
  .btn:hover{scale:1.03;}
  .btn:active{scale:0.97;}
}

/* ===== §R51 IMAGE + FONT OPTIMIZATION ===== */
img{image-rendering:auto;}
@font-face{font-display:swap;size-adjust:100%;}

/* ===== §R52 OVERSCROLL — PULL-TO-REFRESH CONTROL ===== */
/* body{overscroll-behavior-y:contain;} — DISABLED: conflicts with html overscroll-behavior:none, breaks scroll chain */

/* ===== §R53 SCROLLBAR POLISH ===== */
::-webkit-scrollbar{width:8px;height:8px;}
::-webkit-scrollbar-track{background:var(--warm,#F5F0E8);}
::-webkit-scrollbar-thumb{background:var(--copper,#CB822C);border-radius:4px;}
::-webkit-scrollbar-thumb:hover{background:var(--copper-dim,#A86B22);}

/* ===== §R54 POPOVER + DIALOG BACKDROP ===== */
::backdrop{background:rgba(0,0,0,0.5);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);}
[popover]{border:1px solid var(--copper-20,rgba(203,130,44,0.2));border-radius:12px;padding:1.5rem;background:var(--warm-card,#FAF7F2);color:var(--text,#3a3a34);}

/* ===== §R56 CSS MATH — PRECISION SPACING ===== */
@supports(width:round(nearest,1px,1px)){
  .slc-section{padding-block:round(nearest,clamp(2rem,4vw,4rem),4px);}
  .persona-grid,.slc-artifact-grid{gap:round(nearest,clamp(1rem,2vw,2rem),4px);}
}

/* ===== PRINT STYLESHEET ===== */
@page{margin:1.8cm 1.5cm;size:auto;}
@page:first{margin-top:1cm;}
/* ===== LEAD CAPTURE — SAVE SLATE RESULTS ===== */
.slc-lead-capture{max-width:560px;margin:40px auto 0;padding:36px 32px;background:var(--warm-card);border:1px solid var(--line);border-radius:6px;text-align:center;}
.slc-lead-capture .slc-lc-label{font-family:'Inter',sans-serif;font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--copper);margin-bottom:12px;font-weight:500;}
.slc-lead-capture .slc-lc-title{font-family:'Playfair Display',serif;font-size:22px;color:var(--charcoal);line-height:1.3;margin-bottom:10px;}
.slc-lead-capture .slc-lc-sub{font-family:'Inter',sans-serif;font-size:14px;color:var(--text-dim);line-height:1.75;margin-bottom:24px;}
.slc-lead-capture .slc-lc-form{display:flex;gap:10px;max-width:420px;margin:0 auto 12px;}
.slc-lead-capture .slc-lc-input{flex:1;padding:12px 16px;font-family:'Inter',sans-serif;font-size:14px;background:var(--warm);border:1px solid var(--line);border-radius:4px;color:var(--charcoal);outline:none;transition:border-color 0.3s;}
.slc-lead-capture .slc-lc-input::placeholder{color:var(--text-light);font-style:italic;}
.slc-lead-capture .slc-lc-input:focus{border-color:var(--copper);}
.slc-lead-capture .slc-lc-btn{padding:12px 24px;font-family:'Inter',sans-serif;font-size:13px;font-weight:600;letter-spacing:0.5px;background:var(--copper);color:#fff;border:none;border-radius:4px;cursor:pointer;white-space:nowrap;transition:background 0.3s,transform 0.15s;}
.slc-lead-capture .slc-lc-btn:hover{background:var(--copper-dim);transform:translateY(-1px);}
.slc-lead-capture .slc-lc-privacy{font-family:'Inter',sans-serif;font-size:11px;color:var(--text-light);opacity:0.6;}
.slc-lead-capture .slc-lc-success{display:none;font-family:'Inter',sans-serif;font-size:15px;color:var(--copper);line-height:1.7;padding:12px 0;}
.slc-lead-capture.slc-lc-submitted .slc-lc-form{display:none;}
.slc-lead-capture.slc-lc-submitted .slc-lc-sub{display:none;}
.slc-lead-capture.slc-lc-submitted .slc-lc-success{display:block;}
@media(max-width:600px){
  .slc-lead-capture{margin:32px 16px 0;padding:28px 20px;}
  .slc-lead-capture .slc-lc-form{flex-direction:column;}
  .slc-lead-capture .slc-lc-btn{width:100%;}
}

@media print{
  nav,.slc-hamburger,.slc-mobile-nav,.scroll-top-btn,#slc-scroll-progress,.slc-sticky-cta,canvas,.eco-bar{display:none!important;}
  body{background:#fff!important;color:#1a1a18!important;font-size:11pt!important;-webkit-print-color-adjust:exact;print-color-adjust:exact;}
  .hero{min-height:auto!important;padding:40px!important;background:#242420!important;color:#F5F0E8!important;break-after:page;}
  section{padding:24px 0!important;break-inside:avoid;}
  .persona-card,.slc-artifact-card,.slc-step-card,.consult-form,.fragility-layout{break-inside:avoid;}
  .persona-card,.slc-artifact-card{border:1px solid #ccc!important;box-shadow:none!important;background:#fff!important;}
  .diagram-frame{border:1px solid #ccc!important;break-inside:avoid;}
  a{color:var(--copper-dim)!important;text-decoration:underline!important;}
  a[href]::after{content:" (" attr(href) ")";font-size:9pt;color:#666;}
  .btn::after,.slc-nav-link[href]::after,a[href^="#"]::after,.slc-logo[href]::after,.slc-footer a[href]::after{display:none!important;}
  *{animation:none!important;transition:none!important;}
  p,li,blockquote{orphans:3;widows:3;}
  h1,h2,h3,h4{break-after:avoid;page-break-after:avoid;}
}
