/* ============================================================
   SELF-EDITION · shared site system
   Source of truth: Visual System v2 (July 8 2026, founder-approved).
   Ground is porcelain (deliberately off the old "never grey" rule,
   founder decision). Body is Inter. Display stays IvyPresto.
   Do not add gradients, shadows, rounded corners, or icon grids.
   index.html keeps its own inline copy of this system; if a
   token ever changes, change it there and here together.
   ============================================================ */

@font-face{font-family:"IvyPresto Headline";src:url("../fonts/IvyPrestoHeadline-Thin.woff2") format("woff2"),url("../fonts/IvyPrestoHeadline-Thin.woff") format("woff");font-weight:100;font-style:normal;font-display:swap}
@font-face{font-family:"IvyPresto Headline";src:url("../fonts/IvyPrestoHeadline-ThinItalic.woff2") format("woff2"),url("../fonts/IvyPrestoHeadline-ThinItalic.woff") format("woff");font-weight:100;font-style:italic;font-display:swap}
@font-face{font-family:"IvyPresto Headline";src:url("../fonts/IvyPrestoHeadline-Light.woff2") format("woff2"),url("../fonts/IvyPrestoHeadline-Light.woff") format("woff");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("../fonts/inter-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("../fonts/inter-latin-500-normal.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}

:root{
  --paper:#faf9f6;
  --panel:#ffffff;
  --ink:#1c1c1c;
  --body:#3c3a35;
  --espresso:#2e231d;
  --cream:#f5f4f1;
  --soft:#efeeea;
  --terracotta:#b06a55;
  --terracotta-ink:#a85c46;
  --muted:#6e6a62;
  --line:#e7e5de;
  --matline:#dad8d1;
  --display:"IvyPresto Headline", Didot, serif;
  --text:"Inter", Helvetica, Arial, sans-serif;
  --ui:"Inter", Helvetica, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--text);font-weight:400;line-height:1.6;-webkit-font-smoothing:antialiased}
/* headings default to the display face; never let a heading fall back to bold Inter */
h1,h2,h3,h4{font-family:var(--display);font-weight:300}
.wrap{width:min(1200px,calc(100vw - 48px));margin:0 auto}
a{color:inherit}
.label{font-family:var(--ui);font-weight:500;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.kick{font-family:var(--ui);font-weight:500;font-size:.82rem;letter-spacing:.13em;text-transform:uppercase;color:var(--terracotta-ink)}
.cta{display:inline-block;font-family:var(--ui);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--espresso);border-bottom:1px solid var(--espresso);padding-bottom:6px;text-decoration:none}
.cta:hover{color:var(--terracotta);border-bottom-color:var(--terracotta)}
.imgslot{position:relative;background:var(--soft);aspect-ratio:4/5}
.imgslot::before{content:"";position:absolute;inset:10px;border:1px solid var(--matline);pointer-events:none}
.imgslot>img{display:block;width:100%;height:100%;object-fit:cover}
.imgslot .tag{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:100%;padding:0 16px;font-family:var(--ui);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:#6e6a62;text-align:center;line-height:1.9}
.imgslot .cap{position:absolute;left:0;right:0;top:100%;margin-top:10px;font-family:var(--ui);font-weight:500;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}

/* header: nav is one line, one baseline (Jen, July 9) */
header{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:44px 60px 0}
.brand img{display:block;width:140px;height:auto}
.navcols{display:flex;gap:38px;align-items:baseline}
.navcols>div{display:contents}
.navcols a{font-size:.95rem;text-decoration:none;white-space:nowrap}
.navcols a.on,.navcols a:hover{text-decoration:underline;text-underline-offset:3px}
@media (max-width:1220px){.navcols{gap:22px}.navcols a{font-size:.9rem}}
@media (max-width:1120px){header{padding:36px 28px 0}.brand img{width:118px}.navcols{gap:15px}.navcols a{font-size:.84rem}.clientlogin{padding:8px 12px;font-size:.66rem}}
.lang{font-family:var(--ui);font-size:.78rem;letter-spacing:.06em;color:var(--muted)}
/* prominent client-room login, top-right */
.clientlogin{font-family:var(--ui);font-weight:500;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--espresso);border:1px solid var(--espresso);padding:9px 15px;text-decoration:none;white-space:nowrap}
.clientlogin:hover{background:var(--espresso);color:var(--paper)}

/* page head (inner pages) */
.pagehead{padding:96px 0 90px;border-bottom:1px solid var(--line)}
.pagehead h1{font-family:var(--display);font-weight:100;font-size:clamp(2.6rem,5.6vw,4.4rem);line-height:1.06;margin:20px 0 0;max-width:900px}
.pagehead .lede{margin:28px 0 0;max-width:620px;font-size:1.12rem;color:var(--body)}

/* sections */
.section{border-top:1px solid var(--line);padding:110px 0}
.section h2{font-family:var(--display);font-weight:100;font-size:clamp(2.2rem,4.2vw,3.5rem);line-height:1.1;margin:16px 0 0;max-width:820px}
.section .lede{margin-top:24px;max-width:640px;font-size:1.1rem;color:var(--body)}
.section p{font-size:1.06rem;color:var(--body);max-width:640px}

/* statement band */
.statement{border-top:1px solid var(--line);padding:130px 60px;text-align:center}
.statement .st{font-family:var(--display);font-style:italic;font-weight:100;font-size:clamp(2.3rem,5.2vw,4.1rem);line-height:1.12;letter-spacing:0;max-width:900px;margin:0 auto;color:var(--ink)}
.statement .att{margin-top:38px}

/* editorial rows (method moves, society tables, deliverables) */
.rows{margin-top:56px}
.row{display:grid;grid-template-columns:260px 1fr;gap:40px;padding:28px 0;border-bottom:1px solid var(--line)}
.row:first-child{border-top:1px solid var(--line)}
.row .rt{font-family:var(--display);font-weight:300;font-size:1.4rem}
.row p{margin:0;font-size:1.04rem;color:var(--body);max-width:640px}

/* two-column split */
.split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:70px;align-items:start}

/* soft band (society-style) */
.band{border-top:1px solid var(--line);background:var(--soft);padding:120px 0}
.band .row{border-bottom-color:var(--matline)}
.band .row:first-child{border-top-color:var(--matline)}

/* espresso band: dark-surface tones per Visual System v2 */
.dark{background:var(--espresso);color:var(--cream);padding:120px 0;border-top:1px solid var(--espresso)}
.dark .kick{color:#bfb3a6}
.dark h2{font-family:var(--display);font-weight:100;font-size:clamp(2.4rem,4.8vw,4rem);line-height:1.06;margin:18px 0 0;max-width:760px}
.dark p{margin:26px 0 0;font-size:1.1rem;color:#d8cfc5;max-width:520px}
.dark .cta{color:var(--cream);border-bottom-color:var(--cream)}
.dark .cta:hover{color:#ffffff;border-bottom-color:#ffffff}
.dark .meta{margin-top:56px;display:flex;gap:54px;flex-wrap:wrap;font-family:var(--ui);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:#bfb3a6}

/* closing diagnostic cta */
.closing{padding:130px 0;text-align:center;border-top:1px solid var(--line)}
.closing h2{font-family:var(--display);font-weight:100;font-size:clamp(2.6rem,6vw,4.6rem);line-height:1.05;letter-spacing:.005em;margin:20px 0 0}
.closing p{max-width:460px;margin:26px auto 0;font-size:1.12rem;color:var(--body)}
.closing .cta-row{margin-top:36px}

/* footer: espresso, sitewide */
footer{background:var(--espresso);color:#d8cfc5;padding:74px 60px 46px}
.f-inner{max-width:1200px;margin:0 auto}
.f-top{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr) minmax(0,.9fr);gap:56px;align-items:start;padding-bottom:56px;border-bottom:1px solid rgba(245,244,241,.16)}
.f-wm{font-family:var(--ui);font-weight:500;font-size:.92rem;letter-spacing:.34em;text-transform:uppercase;color:var(--cream)}
.f-tag{margin:22px 0 0;font-family:var(--display);font-weight:100;font-style:italic;font-size:1.75rem;line-height:1.3;color:var(--cream);max-width:420px}
.f-lb{font-family:var(--ui);font-weight:500;font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;color:#bfb3a6;margin-bottom:14px}
.f-lb+.f-lb,.f-col a+.f-lb{margin-top:34px}
.f-col a{display:block;color:#d8cfc5;text-decoration:none;font-family:var(--text);font-size:.95rem;line-height:2.1}
.f-col a:hover{color:#ffffff;text-decoration:underline;text-underline-offset:3px}
.f-base{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:14px;padding-top:28px;font-family:var(--ui);font-weight:500;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:#bfb3a6}
.f-base a{color:#bfb3a6;text-decoration:none}
.f-base a:hover{color:var(--cream);text-decoration:underline;text-underline-offset:3px}
footer .lang{color:#bfb3a6}

/* cookie notice */
.se-cookies{position:fixed;left:20px;bottom:20px;z-index:60;width:min(400px,calc(100vw - 40px));background:var(--panel);border:1px solid var(--line);padding:22px 24px;color:var(--espresso);font-family:var(--text)}
.se-cookies-kicker{font-family:var(--ui);font-size:.66rem;text-transform:uppercase;letter-spacing:.2em;color:var(--terracotta);margin-bottom:10px}
.se-cookies p{margin:0 0 16px;max-width:none;font-size:15px;line-height:1.55;font-weight:400;color:var(--espresso)}
.se-cookies-actions{display:flex;gap:22px;align-items:center;flex-wrap:wrap;font-family:var(--ui);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase}
.se-cookies-actions button{background:none;border:0;border-radius:0;padding:0;margin:0;cursor:pointer;font:inherit;letter-spacing:inherit;text-transform:inherit;color:var(--espresso);text-decoration:underline;text-underline-offset:4px}
.se-cookies-actions button.se-quiet,.se-cookies-actions a{color:#6e6a62;text-decoration:underline;text-underline-offset:4px}

/* floating app nav: mobile only */
.appnav{display:none}

@media (max-width:900px){
  header{padding:28px 24px 0}
  .navcols{display:none}
  .pagehead{padding:70px 0 64px}
  .section{padding:80px 0}
  .statement{padding:90px 24px}
  .row{grid-template-columns:1fr;gap:10px}
  .split{grid-template-columns:1fr;gap:44px}
  footer{padding:60px 24px 130px}
  .f-top{grid-template-columns:1fr;gap:40px}
  .appnav{display:flex;position:fixed;left:14px;right:14px;bottom:14px;height:60px;z-index:80;
    align-items:stretch;background:var(--panel);border:1px solid var(--line);box-shadow:0 10px 30px rgba(28,28,28,.10)}
  .appnav a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-decoration:none;
    font-family:var(--ui);font-weight:500;font-size:.56rem;letter-spacing:.1em;text-transform:uppercase;
    color:var(--muted);position:relative}
  .appnav a .gl{width:15px;height:15px;border:1.4px solid currentColor}
  .appnav a.on{color:var(--terracotta-ink)}
  .appnav a.on::before{content:"";position:absolute;top:-1px;left:22%;right:22%;height:2px;background:var(--terracotta)}
  .se-cookies{bottom:88px}
}
