/* Kernel Suite page — maroon + cream + brass identity
   Sibling of lab.css: same layout language, warmer palette, terrain instead of labyrinth. */
.suite{--m:#4A1A22;--m2:#5E2430;--m3:#3A131A;--cream:#F4E9D8;--cream2:#EFE3D0;--brass:#D2AA5A;--brass-t:#D9B872;--brass-rule:rgba(210,170,90,0.32);--blush:#E9C3AE;--ivory:#FBF6EE;--ink:#2E1A1C;--ink2:#5A4446;--brass-ink:#7A5C24;--rule:rgba(74,26,34,0.14)}
.suite .wrap{position:relative;max-width:1180px;margin:0 auto}
.suite h2{font-family:'Bitter',serif;font-weight:400;font-size:40px;line-height:1.18;letter-spacing:-0.015em;text-wrap:balance}
.suite .eyebrow{font-family:'DM Mono',monospace;font-size:10.5px;letter-spacing:0.24em;text-transform:uppercase;margin-bottom:18px}

.m-band{background:var(--m);color:var(--cream2);padding:96px 40px;position:relative;overflow:hidden;border-top:1px solid rgba(210,170,90,0.14)}
.m-band h2{color:var(--cream)}.m-band .eyebrow{color:var(--brass-t)}

/* buttons */
.suite .btn{display:inline-block;padding:15px 28px;border-radius:100px;font-family:'DM Sans',sans-serif;font-size:12px;letter-spacing:0.14em;text-transform:uppercase;font-weight:500;cursor:pointer;border:1px solid transparent;transition:background 220ms ease,border-color 220ms ease,color 220ms ease}
.suite .btn-cream{background:var(--cream);color:var(--m)}
.suite .btn-cream:hover{background:#FFF7EA;color:var(--m3)}
.suite .btn-ghost{background:transparent;color:var(--cream);border-color:var(--brass-rule)}
.suite .btn-ghost:hover{border-color:var(--brass);color:#FFF7EA}
.suite a:focus-visible,.suite .btn:focus-visible{outline:2px solid var(--brass);outline-offset:3px}

/* ============ intro / hero ============ */
.suite .intro{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:96px 40px 64px;border-top:none}
.intro-terrain{position:absolute;inset:0;z-index:0;pointer-events:none;background:url(assets/suite-terrain.svg) center 22%/max(1500px,112vw) auto no-repeat;opacity:0.3;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,0.35) 14%,#000 30%,#000 70%,transparent 100%);
          mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,0.35) 14%,#000 30%,#000 70%,transparent 100%)}
.suite .intro::after{content:"";position:absolute;left:0;right:0;bottom:0;height:42%;z-index:0;background:linear-gradient(to bottom,rgba(74,26,34,0) 0%,rgba(74,26,34,0.75) 50%,var(--m) 88%);pointer-events:none}
.suite .intro-stage{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;width:100%}
.suite .intro-stage::before{content:"";position:absolute;z-index:-1;left:50%;top:40%;width:min(1100px,120vw);height:76%;transform:translate(-50%,-50%);background:radial-gradient(closest-side,rgba(74,26,34,0.9) 46%,rgba(74,26,34,0.55) 72%,rgba(74,26,34,0));pointer-events:none}
.suite .intro-home{position:absolute;top:26px;left:40px;z-index:2;font-family:'DM Mono',monospace;font-size:10.5px;letter-spacing:0.18em;text-transform:uppercase;color:var(--blush);padding:6px 0}
.suite .intro-home:hover{color:var(--brass-t)}
.suite .intro-mark{width:min(460px,78vw);height:auto;display:block;margin:0 auto 44px}
.suite .intro h1{font-family:'Bitter',serif;font-weight:400;max-width:860px;margin:0 auto 22px;font-size:42px;line-height:1.18;letter-spacing:-0.02em;color:#FFFFFF;text-wrap:balance}
.suite .intro h1 span{display:block;margin-top:14px;color:var(--blush)}
.suite .lede{font-size:16.5px;line-height:1.8;color:rgba(244,233,216,0.84);max-width:640px;margin:0 auto 30px;text-wrap:balance}
.suite .actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-bottom:22px}
.suite .fineprint{font-size:13px;line-height:1.6;color:var(--blush);opacity:0.85;max-width:560px;margin:0 auto;text-wrap:balance}

/* three ways in: Call · Seasons · Core */
.tiers{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;margin-top:64px;text-align:left;border-top:1px solid var(--brass-rule)}
.tiers li{display:grid;grid-template-columns:auto 1fr;gap:14px;padding:26px 28px 0 0}
.tiers li+li{padding-left:28px;border-left:1px solid var(--brass-rule)}
.tier-num{font-family:'DM Mono',monospace;font-size:11px;letter-spacing:0.18em;color:var(--brass-t);padding-top:9px}
.tier-kind{display:block;font-family:'DM Mono',monospace;font-size:10px;letter-spacing:0.22em;text-transform:uppercase;color:var(--blush);opacity:0.8;margin-bottom:6px}
.tier-title{font-family:'Bitter',serif;font-style:italic;font-weight:300;font-size:27px;line-height:1.2;color:var(--brass-t);margin-bottom:6px;letter-spacing:0}
.tiers p{font-size:14.5px;line-height:1.7;color:rgba(244,233,216,0.82);text-wrap:pretty}
.tiers .tier-meta{margin-top:8px;font-family:'DM Mono',monospace;font-size:10.5px;letter-spacing:0.14em;text-transform:uppercase;color:var(--brass-t);opacity:0.85}

/* ============ light bands ============ */
.i-band{background:var(--ivory);color:var(--ink);padding:104px 40px 96px;border-top:1px solid var(--rule)}
.i-band-alt{background:#F5ECE1}
.i-band h2{color:var(--m)}.i-band .eyebrow{color:var(--brass-ink)}
.sec-head{display:grid;grid-template-columns:1.05fr 0.95fr;gap:72px;align-items:end;margin-bottom:52px}
.sec-head>p{font-size:15.5px;line-height:1.8;color:var(--ink2);text-wrap:pretty;padding-bottom:4px}
.m-band .sec-head>p{color:rgba(244,233,216,0.8)}
.kicker{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:var(--brass-ink)}

/* who it's for: four moments */
.moments{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--rule)}
.moment{padding:28px 26px 30px 0}
.moment+.moment{padding-left:26px;border-left:1px solid var(--rule)}
.moment h3{font-family:'Bitter',serif;font-weight:400;font-size:22px;line-height:1.28;color:var(--m);margin:12px 0 10px;text-wrap:balance}
.moment p{font-size:14.5px;line-height:1.75;color:var(--ink2);text-wrap:pretty}
.moment-ring{display:block;width:30px;height:30px;margin-bottom:16px}
.moments-close{margin-top:40px;max-width:820px;font-family:'Bitter',serif;font-weight:300;font-size:21px;line-height:1.55;color:var(--ink);text-wrap:pretty}
.moments-close em{font-style:italic;color:var(--m2)}

/* how we work */
.how-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:72px;align-items:start}
.how-lede{font-family:'Bitter',serif;font-weight:300;font-size:22px;line-height:1.55;color:var(--ink);text-wrap:pretty;margin-bottom:28px}
.how-note{border-left:2px solid var(--brass);padding:4px 0 4px 18px}
.how-note strong{display:block;font-family:'Bitter',serif;font-weight:500;font-size:17px;color:var(--m);margin-bottom:4px}
.how-note p{font-size:14.5px;line-height:1.7;color:var(--ink2)}
.modes{list-style:none;display:grid;gap:0;border-top:1px solid var(--rule);margin:14px 0 40px}
.modes li{display:grid;grid-template-columns:120px 1fr;gap:20px;align-items:baseline;padding:20px 0;border-bottom:1px solid var(--rule)}
.modes h3{font-family:'Bitter',serif;font-style:italic;font-weight:300;font-size:26px;color:var(--m)}
.modes p{font-size:15px;line-height:1.7;color:var(--ink2)}
.how-pair{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.reveals{list-style:none;margin-top:14px}
.reveals li{position:relative;padding:9px 0 9px 22px;font-size:15px;line-height:1.6;color:var(--ink);border-bottom:1px dashed rgba(74,26,34,0.16)}
.reveals li::before{content:"";position:absolute;left:0;top:17px;width:9px;height:9px;border-radius:50%;border:1.5px solid var(--brass)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 14px}
.chips span{font-size:12.5px;letter-spacing:0.04em;padding:7px 14px;border-radius:100px;border:1px solid rgba(74,26,34,0.2);color:var(--m);background:#FFFBF5}
.how-pair p.small{font-size:14px;line-height:1.7;color:var(--ink2)}
.how-foot{margin-top:56px;padding-top:24px;border-top:1px solid var(--rule);font-family:'Bitter',serif;font-style:italic;font-weight:300;font-size:19px;color:var(--m2)}

.how-photo{margin-top:36px;border-radius:6px;overflow:hidden;aspect-ratio:4/3;background:#E8DCCB}
.how-photo img{width:100%;height:100%;object-fit:cover;display:block}
.offer.is-core ol{border-top-color:var(--rule)}
.offer.is-core ol li{color:var(--ink);border-bottom-color:var(--rule)}
.offer.is-core ol li::before{color:var(--brass-ink)}

/* ways to engage */
.ways .terrain-corner{position:absolute;right:-380px;top:-300px;width:1200px;height:900px;background:url(assets/suite-terrain.svg) center/cover no-repeat;opacity:0.16;pointer-events:none;-webkit-mask-image:radial-gradient(closest-side,#000 30%,transparent 80%);mask-image:radial-gradient(closest-side,#000 30%,transparent 80%)}
.offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.offer{display:flex;flex-direction:column;background:rgba(58,19,26,0.55);border:1px solid var(--brass-rule);border-radius:6px;padding:30px 28px 28px;position:relative}
.offer.is-core{background:var(--cream);border-color:var(--cream);color:var(--ink)}
.offer .tier-num{padding-top:0}
.offer-head{display:flex;align-items:baseline;gap:12px;margin-bottom:14px}
.offer-head .tier-kind{margin:0}
.offer h3{font-family:'Bitter',serif;font-weight:400;font-size:30px;line-height:1.15;color:var(--cream);margin-bottom:6px}
.offer .offer-tag{font-family:'Bitter',serif;font-style:italic;font-weight:300;font-size:17px;line-height:1.45;color:var(--blush);margin-bottom:16px;text-wrap:balance}
.offer p.body{font-size:14.5px;line-height:1.75;color:rgba(244,233,216,0.82);margin-bottom:18px;text-wrap:pretty}
.offer ol{list-style:none;counter-reset:s;margin:0 0 20px;border-top:1px solid var(--brass-rule)}
.offer ol li{text-wrap:pretty;counter-increment:s;position:relative;padding:10px 0 10px 28px;font-size:14px;line-height:1.6;color:rgba(244,233,216,0.86);border-bottom:1px solid var(--brass-rule)}
.offer ol li::before{content:counter(s,decimal-leading-zero);position:absolute;left:0;top:12px;font-family:'DM Mono',monospace;font-size:10px;letter-spacing:0.12em;color:var(--brass-t)}
.offer .meta{font-family:'DM Mono',monospace;font-size:10.5px;letter-spacing:0.14em;text-transform:uppercase;color:var(--brass-t);margin-bottom:12px}
.offer .best{font-size:13.5px;line-height:1.65;color:rgba(244,233,216,0.7);margin-bottom:24px;text-wrap:pretty}
.offer .best b{display:block;font-family:'DM Mono',monospace;font-weight:400;font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:var(--blush);margin-bottom:4px}
.offer .btn{margin-top:auto;align-self:flex-start}
.offer.is-core h3{color:var(--m)}
.offer.is-core .offer-tag{color:var(--m2)}
.offer.is-core p.body,.offer.is-core .best{color:var(--ink2)}
.offer.is-core .meta,.offer.is-core .tier-num{color:var(--brass-ink)}
.offer.is-core .tier-kind,.offer.is-core .best b{color:var(--m2)}
.offer-flag{position:absolute;top:-11px;right:24px;background:var(--brass);color:var(--m3);font-family:'DM Mono',monospace;font-size:9.5px;letter-spacing:0.2em;text-transform:uppercase;padding:5px 11px;border-radius:100px}
.suite .btn-maroon{background:var(--m);color:var(--cream)}
.suite .btn-maroon:hover{background:var(--m2);color:#FFF7EA}

/* core intake */
.core-grid{display:grid;grid-template-columns:0.82fr 1.18fr;gap:72px;align-items:start}
.core-mark{width:84px;height:auto;display:block;margin-bottom:28px}
.core-intro p{font-size:15.5px;line-height:1.8;color:var(--ink2);margin-top:18px;text-wrap:pretty}
.core-intro .reply{font-family:'DM Mono',monospace;font-size:10.5px;letter-spacing:0.16em;text-transform:uppercase;color:var(--brass-ink);margin-top:26px}
.core-form{background:#FFFBF5;border:1px solid var(--rule);border-radius:6px;padding:32px 32px 28px;display:flex;flex-direction:column;gap:16px}
.core-form .row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.core-form label{display:flex;flex-direction:column;gap:7px;min-width:0}
.core-form label>span{font-family:'DM Mono',monospace;font-size:9.5px;letter-spacing:0.18em;text-transform:uppercase;color:#8A6E6E}
.core-form .inq-input{border-color:rgba(74,26,34,0.22)}
.core-form .inq-input:focus{border-color:var(--m);box-shadow:0 0 0 3px rgba(74,26,34,0.1)}
.core-form textarea{line-height:1.7;resize:vertical}
.core-form .inq-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:4px}
.core-form .form-status{font-size:13px;line-height:1.6}
.core-form .field-hint{font-size:12.5px;color:#8A6E6E}
.core-alt{margin-top:26px;font-size:14px;line-height:1.7;color:var(--ink2)}
.core-alt a{color:var(--m);border-bottom:1px solid rgba(201,161,90,0.8);padding-bottom:1px}

@media (max-width:1020px){
  .sec-head,.how-grid,.core-grid{grid-template-columns:1fr;gap:32px}
  .moments{grid-template-columns:1fr 1fr}
  .moment:nth-child(3){padding-left:0;border-left:none}
  .moment:nth-child(n+3){border-top:1px solid var(--rule)}
  .offer-grid{grid-template-columns:1fr;max-width:620px}
}
@media (max-width:640px){
  .i-band,.m-band{padding:72px 22px}
  .suite h2{font-size:31px}
  .moments{grid-template-columns:1fr}
  .moment,.moment+.moment{padding:24px 0;border-left:none}
  .moment+.moment{border-top:1px solid var(--rule)}
  .moments-close{font-size:18.5px}
  .how-lede{font-size:19px}
  .modes li{grid-template-columns:1fr;gap:4px}
  .how-pair{grid-template-columns:1fr;gap:36px}
  .core-form{padding:24px 20px}
  .core-form .row{grid-template-columns:1fr}
}

@media (max-width:860px){
  .tiers{grid-template-columns:1fr;margin-top:48px}
  .tiers li,.tiers li+li{padding:20px 0;border-left:none;border-bottom:1px solid var(--brass-rule)}
}
@media (max-width:640px){
  .suite .intro{padding:88px 22px 56px}
  .suite .intro h1{font-size:32px}
  .suite .intro-home{left:22px;top:22px}
  .suite .intro-mark{margin-bottom:34px}
  .intro-terrain{bottom:auto;height:1250px;background-size:1500px auto;background-position:center 0;opacity:0.4}
  .suite .intro::after{height:34%}
  .suite .intro-stage::before{width:96vw}
}
@media (prefers-reduced-motion:reduce){.suite *,.suite *::before,.suite *::after{transition:none !important;animation:none !important}}

/* ============ sticky Suite nav (mirrors .labnav) ============ */
.suitenav{position:fixed;top:0;left:0;right:0;z-index:60;background:rgba(58,19,26,0.94);-webkit-backdrop-filter:blur(12px) saturate(1.15);backdrop-filter:blur(12px) saturate(1.15);border-bottom:1px solid rgba(210,170,90,0.3);box-shadow:0 10px 30px -18px rgba(0,0,0,0.55);transform:translateY(-100%);opacity:0;visibility:hidden;transition:transform .35s ease,opacity .35s ease,visibility 0s linear .35s}
.suitenav.is-on{transform:none;opacity:1;visibility:visible;transition:transform .35s ease,opacity .35s ease,visibility 0s}
.suitenav-in{max-width:1180px;margin:0 auto;padding:11px 40px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:nowrap}
.suitenav-brand{display:block;flex:none}
.suitenav-brand img{height:36px;width:auto;display:block}
.suitenav-links{display:flex;align-items:center;gap:2px;flex-wrap:nowrap}
.suitenav-links a{padding:9px 13px;border-radius:100px;font-family:'DM Sans',sans-serif;font-size:11.5px;letter-spacing:0.12em;text-transform:uppercase;font-weight:500;color:#E6D8C4;white-space:nowrap;transition:color .2s ease,background .2s ease}
.suitenav-links a:hover{color:#E9C3AE}
.suitenav-links a.is-here{color:#E9C3AE;background:rgba(233,195,174,0.12)}
.suitenav-div{width:1px;height:18px;background:rgba(210,170,90,0.35);margin:0 8px;flex:none}
.suitenav-links a.suitenav-cta{margin-left:10px;padding:10px 20px;background:#F4E9D8;color:#4A1A22}
.suitenav-links a.suitenav-cta:hover{background:#FFF7EA;color:#3A131A}
.suitenav a:focus-visible{outline:2px solid #D2AA5A;outline-offset:2px}
@media (max-width:1020px){.suitenav .sec,.suitenav-div{display:none !important}}
@media (max-width:640px){
  .suitenav-in{padding:9px 18px;gap:12px}
  .suitenav-links a.site{display:none !important}
  .suitenav-links a.suitenav-cta{margin-left:0;padding:9px 16px;font-size:11px;letter-spacing:0.08em}
  .suitenav-brand img{height:30px}
}
@media (prefers-reduced-motion:reduce){.suitenav,.suitenav.is-on{transition:none}}

/* ============ hero, small screens: editorial left-aligned layout ============
   Instead of three centred blocks: eyebrow + brass rule, a headline, the second
   line set as an italic pull-quote on a brass rule, then body, full-width
   buttons, and the fine print under a hairline. */
.intro-eyebrow{display:none}
@media (max-width:640px){
  .suite .intro{justify-content:flex-start;padding:84px 24px 52px}
  .suite .intro-stage{align-items:flex-start;text-align:left}
  .suite .intro-stage::before{left:40%;top:46%;width:130vw;height:90%}
  .suite .intro-mark{width:236px;margin:6px 0 46px}
  .intro-eyebrow{display:flex;align-items:center;gap:12px;font-family:'DM Mono',monospace;font-size:10px;letter-spacing:0.22em;text-transform:uppercase;color:var(--brass-t);margin-bottom:16px}
  .intro-eyebrow::before{content:"";width:28px;height:1px;background:var(--brass);flex:none}
  .suite .intro h1{font-size:30px;line-height:1.2;margin:0 0 22px;text-wrap:pretty}
  .suite .intro h1 span{font-style:italic;font-weight:300;font-size:21px;line-height:1.5;margin-top:20px;padding-left:16px;border-left:2px solid rgba(210,170,90,0.6);text-wrap:pretty}
  .suite .lede{font-size:15.5px;line-height:1.75;margin:0 0 28px;text-wrap:pretty}
  .suite .actions{flex-direction:column;align-items:stretch;width:100%;gap:10px;margin-bottom:24px}
  .suite .actions .btn{text-align:center}
  .suite .fineprint{margin:0;padding-top:16px;border-top:1px solid var(--brass-rule);font-size:12.5px;text-wrap:pretty;opacity:0.9}
  .tiers{margin-top:44px}
}
