:root{
  --coral-bg:#F5EAE4;--coral-mid:#D97B5A;--coral-action:#B85A3B;--coral-dark:#8C3D1E;
  --teal-bg:#E2F2EC;--teal-mid:#3A9E7B;--teal-action:#2E7D67;--teal-dark:#0F5C45;
  --cream:#FAF7F2;--surface:#fff;--surface-alt:#F7F4EF;--text:#2C2420;--muted:#7A6E66;
  --border:#E4DDD1;--border-soft:#EDE8E1;--shadow:0 12px 40px rgba(44,36,32,.08);
  --radius:22px;--shell:min(1180px,calc(100% - 40px));
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit}img{max-width:100%}.shell{width:var(--shell);margin-inline:auto}.narrow{max-width:820px}.skip-link{position:absolute;left:-9999px;top:8px;background:#fff;padding:10px 14px;border-radius:8px;z-index:100}.skip-link:focus{left:8px}.site-header{position:sticky;top:0;z-index:50;background:rgba(250,247,242,.9);backdrop-filter:blur(14px);border-bottom:1px solid rgba(228,221,209,.75)}.nav-wrap{height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-size:22px;font-weight:800;letter-spacing:-.02em}.brand-mark{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(135deg,var(--teal-mid),var(--teal-dark));color:#fff;font-weight:800}.site-nav{display:flex;align-items:center;gap:26px}.site-nav a{text-decoration:none;color:#62564f;font-size:14px;font-weight:650}.site-nav a:hover{color:var(--teal-dark)}.nav-cta{padding:10px 14px;border:1px solid var(--border);border-radius:999px;background:#fff}.nav-toggle{display:none;border:1px solid var(--border);background:#fff;border-radius:10px;padding:9px 12px;font:inherit;font-weight:700}.hero{padding:90px 0 86px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:70px;align-items:center}.eyebrow,.section-kicker{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.16em;color:var(--teal-action);margin-bottom:14px}.hero h1{font-size:clamp(48px,6.5vw,82px);line-height:.98;letter-spacing:-.055em;max-width:720px;margin:0 0 26px}.hero-lead{font-size:22px;line-height:1.45;max-width:650px;margin:0 0 16px}.hero-sub{font-size:17px;color:var(--muted);max-width:630px;margin:0}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 18px;border-radius:13px;text-decoration:none;font-weight:750;border:1px solid transparent}.button.primary{background:var(--teal-action);color:#fff}.button.primary:hover{background:var(--teal-dark)}.button.secondary{background:#fff;border-color:var(--border);color:var(--text)}.button.secondary:hover{border-color:#cfc4b3}.status-note{font-size:13px;color:var(--muted);margin-top:18px}.hero-visual{min-height:540px;position:relative}.room-card{position:absolute;width:min(410px,86%);display:flex;gap:16px;background:rgba(255,255,255,.96);border:1px solid var(--border-soft);border-radius:20px;padding:18px 20px;box-shadow:var(--shadow)}.room-card-one{top:10px;right:0;transform:rotate(1.4deg)}.room-card-two{top:185px;left:0;transform:rotate(-1.8deg)}.room-card-three{top:360px;right:18px;transform:rotate(1deg)}.room-icon{flex:0 0 42px;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--teal-bg);color:var(--teal-dark);font-weight:800;font-size:20px}.room-label{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--teal-action)}.room-card p{margin:5px 0 8px;font-size:15px;font-weight:650;line-height:1.35}.starter{display:block;color:var(--muted);font-size:13px;line-height:1.35}.connection-line{position:absolute;width:300px;height:300px;border:1px dashed rgba(58,158,123,.35);border-radius:50%;left:110px;top:125px;z-index:-1}.problem-section{padding:84px 0;background:var(--teal-dark);color:#fff}.problem-section .section-kicker{color:#A7E2CD}.problem-section h2{font-size:clamp(34px,4.4vw,56px);line-height:1.08;letter-spacing:-.04em;margin:0 0 26px}.problem-section p{font-size:20px;color:#D9EEE7;margin:0;max-width:760px}.section{padding:100px 0}.section-soft{background:#F3EEE7}.section-heading{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:end;margin-bottom:42px}.section-heading h2,.section h2{font-size:clamp(34px,4vw,54px);line-height:1.08;letter-spacing:-.04em;margin:0}.section-heading p{font-size:18px;color:var(--muted);margin:0}.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.step-card{background:#fff;border:1px solid var(--border);border-radius:18px;padding:26px 24px;min-height:260px}.step-number{font-size:12px;font-weight:850;color:var(--coral-action);letter-spacing:.08em;margin-bottom:50px}.step-card h3{font-size:22px;line-height:1.2;margin:0 0 12px}.step-card p{margin:0;color:var(--muted)}.principles-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:46px}.principles-grid article{padding:28px;border:1px solid #DED5C9;border-radius:18px;background:rgba(255,255,255,.55)}.principle-mark{font-size:12px;font-weight:800;color:var(--coral-action)}.principles-grid h3{font-size:24px;margin:28px 0 8px}.principles-grid p{margin:0;color:#6E6158}.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:74px;align-items:start}.split>div:first-child p{font-size:18px;color:var(--muted)}.safety-list{display:grid;gap:12px}.safety-item{display:grid;grid-template-columns:38px 1fr;gap:14px;padding:18px;border:1px solid var(--border);background:#fff;border-radius:16px}.safety-item>span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--teal-bg);color:var(--teal-dark);font-weight:900}.safety-item strong{display:block;margin-bottom:3px}.safety-item p{margin:0;color:var(--muted);font-size:14px}.founder-section{background:var(--coral-bg)}.founder-section .narrow{max-width:880px}.founder-lead{font-size:24px;line-height:1.45}.founder-section p:not(.founder-lead):not(.signature){font-size:18px;color:#695A51}.signature{margin-top:28px;font-weight:750}.section-status{padding-top:70px}.status-card{display:grid;grid-template-columns:1fr auto;gap:44px;align-items:center;background:#fff;border:1px solid var(--border);border-radius:24px;padding:38px 40px;box-shadow:0 8px 26px rgba(44,36,32,.05)}.status-card h2{font-size:38px}.status-card p{margin-bottom:0;color:var(--muted);max-width:720px}.status-actions{display:flex;flex-direction:column;gap:10px;min-width:180px}.faq-section{padding-top:80px}.faq-list{margin-top:38px;border-top:1px solid var(--border)}details{border-bottom:1px solid var(--border);padding:0}summary{cursor:pointer;list-style:none;padding:21px 4px;font-size:18px;font-weight:750}summary::-webkit-details-marker{display:none}summary::after{content:"+";float:right;color:var(--teal-action);font-size:24px;font-weight:400}details[open] summary::after{content:"–"}details p{margin:-2px 0 22px;color:var(--muted);max-width:820px}.site-footer{border-top:1px solid var(--border);padding:54px 0 26px;background:#F2EEE8}.footer-grid{display:grid;grid-template-columns:1.2fr .7fr 1.1fr;gap:50px}.footer-brand{margin-bottom:14px}.footer-grid p{color:var(--muted);font-size:14px}.footer-links{display:grid;align-content:start;gap:10px}.footer-links a{text-decoration:none;font-size:14px}.footer-meta{max-width:370px}.footer-bottom{display:flex;justify-content:space-between;color:#8B7F76;font-size:12px;border-top:1px solid #DED6CC;margin-top:34px;padding-top:20px}
@media(max-width:900px){.site-nav{display:none;position:absolute;top:70px;left:20px;right:20px;flex-direction:column;align-items:stretch;background:#fff;border:1px solid var(--border);border-radius:16px;padding:14px;box-shadow:var(--shadow)}.site-nav.open{display:flex}.nav-toggle{display:block}.hero{padding-top:64px}.hero-grid,.section-heading,.split,.status-card{grid-template-columns:1fr}.hero-grid{gap:44px}.hero-visual{min-height:500px}.steps-grid{grid-template-columns:repeat(2,1fr)}.principles-grid{grid-template-columns:1fr}.status-actions{flex-direction:row;flex-wrap:wrap}.footer-grid{grid-template-columns:1fr 1fr}.footer-meta{grid-column:1/-1}}
@media(max-width:600px){:root{--shell:min(100% - 28px,1180px)}.nav-wrap{height:66px}.hero{padding:52px 0 60px}.hero h1{font-size:48px}.hero-lead{font-size:19px}.hero-visual{min-height:520px}.room-card{width:92%;padding:16px}.room-card-one{top:0}.room-card-two{top:175px}.room-card-three{top:350px;right:0}.problem-section,.section{padding:72px 0}.steps-grid{grid-template-columns:1fr}.step-card{min-height:auto}.step-number{margin-bottom:34px}.section-heading{gap:18px}.split{gap:36px}.status-card{padding:28px 22px}.status-card h2{font-size:32px}.status-actions{flex-direction:column}.footer-grid{grid-template-columns:1fr}.footer-meta{grid-column:auto}.footer-bottom{flex-direction:column;gap:4px}}


/* Affinomy 2026 brand alignment */
body { font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; }
.brand { gap: 2px; font-weight: 800; letter-spacing: -.045em; align-items: flex-start; }
.brand-name { line-height: 1.3; }
.brand-mark {
  background: none; border-radius: 0; color: inherit; display: block;
  width: 34px; height: 29px; object-fit: contain; margin-top: -5px; flex: none;
}
.hero h1 em { color: var(--coral-action); font-style: normal; }
.button.primary { background: var(--coral-action); }
.button.primary:hover { background: var(--coral-dark); }
.site-nav a:hover { color: var(--coral-action); }
.hero-grid { grid-template-columns: minmax(0, .96fr) minmax(0, 1.04fr); gap: 48px; }
.hero-copy { position: relative; z-index: 2; }
.hero-lead { font-size: clamp(19px, 2vw, 22px); }
.hero-carousel { width: 100%; min-width: 0; text-align: center; padding-top: 8px; }
.affinity-deck { position: relative; height: 440px; width: 100%; max-width: 620px; margin: 0 auto; outline-offset: 7px; touch-action: pan-y; }
.deck-cards { position: absolute; inset: 0; }
.affinity-card {
  position: absolute; top: 50%; left: 50%; width: 48%; height: 86%;
  max-width: 284px; padding: 0; border: 0; border-radius: 22px;
  overflow: hidden; background: var(--card-tone, #E4DCD3); color: white;
  box-shadow: 0 16px 35px rgba(44,36,32,.16);
  transition: transform .42s cubic-bezier(.2,.7,.2,1), opacity .32s ease, filter .32s ease;
  cursor: pointer; transform-origin: center; isolation: isolate;
}
.affinity-card img { width: 100%; height: 100%; display: block; object-fit: cover; }
.affinity-card::after {
  content: ''; position: absolute; inset: 56% 0 0;
  background: linear-gradient(transparent, rgba(20,20,20,.62)); pointer-events: none;
}
.affinity-card-label {
  position: absolute; bottom: 18px; left: 50%; transform: translateX(-50%);
  z-index: 1; padding: 6px 16px; border-radius: 999px;
  background: rgba(28,30,30,.72); font-size: 13px; font-weight: 700; white-space: nowrap;
}
.affinity-card[data-position="0"] { z-index: 5; opacity: 1; transform: translate(-50%,-50%) scale(1); }
.affinity-card[data-position="-1"] { z-index: 4; opacity: 1; transform: translate(calc(-50% - 160px),-50%) scale(.85) rotate(-3deg); }
.affinity-card[data-position="1"] { z-index: 4; opacity: 1; transform: translate(calc(-50% + 160px),-50%) scale(.85) rotate(3deg); }
.affinity-card[data-position="-2"] { z-index: 3; opacity: .72; transform: translate(calc(-50% - 270px),-50%) scale(.68) rotate(-5deg); }
.affinity-card[data-position="2"] { z-index: 3; opacity: .72; transform: translate(calc(-50% + 270px),-50%) scale(.68) rotate(5deg); }
.affinity-card[data-position="hidden"] { z-index: 0; opacity: 0; transform: translate(-50%,-50%) scale(.55); }
.affinity-card:focus-visible, .deck-arrow:focus-visible, .deck-dot:focus-visible { outline: 3px solid var(--coral-action); outline-offset: 4px; }
.deck-arrow {
  position: absolute; top: 50%; z-index: 10; width: 44px; height: 44px;
  transform: translateY(-50%); border: 1px solid var(--border); background: #fff;
  color: var(--text); border-radius: 50%; font-size: 30px; line-height: 1; cursor: pointer;
  box-shadow: 0 4px 14px rgba(44,36,32,.12);
}
.deck-arrow:hover { background: var(--coral-bg); }
.deck-prev { left: 0; }.deck-next { right: 0; }
.deck-story { min-height: 102px; padding: 0 8px; }
.deck-story h2 { margin: 2px 0 5px; font-size: clamp(20px,2.1vw,25px); letter-spacing: -.035em; line-height: 1.3; }
.deck-story p { margin: 0; color: var(--muted); font-size: 14px; }
.deck-dots { display: flex; justify-content: center; gap: 9px; align-items: center; }
.deck-dot { background: #D9CDC2; border: 0; width: 9px; height: 9px; border-radius: 999px; padding: 0; cursor: pointer; transition: width .2s ease, background .2s ease; }
.deck-dot[aria-current="true"] { width: 24px; background: var(--coral-action); }
.deck-disclaimer { color: var(--muted); font-size: 11px; margin: 14px auto 0; }
@media (max-width: 1150px) {
  .hero-grid { gap: 28px; }
  .affinity-card[data-position="-2"], .affinity-card[data-position="2"] { opacity: 0; pointer-events: none; }
  .affinity-card[data-position="-1"] { transform: translate(calc(-50% - 118px),-50%) scale(.85) rotate(-3deg); }
  .affinity-card[data-position="1"] { transform: translate(calc(-50% + 118px),-50%) scale(.85) rotate(3deg); }
}
@media (max-width: 900px) {
  .hero-carousel { max-width: 650px; margin-inline: auto; }
  .affinity-deck { height: 420px; }
  .affinity-card { width: 44%; }
  .affinity-card[data-position="-1"] { transform: translate(calc(-50% - 140px),-50%) scale(.85) rotate(-3deg); }
  .affinity-card[data-position="1"] { transform: translate(calc(-50% + 140px),-50%) scale(.85) rotate(3deg); }
}
@media (max-width: 600px) {
  .hero h1 { font-size: clamp(41px, 11vw, 57px); }
  .affinity-deck { height: 350px; }
  .affinity-card { width: 59%; height: 89%; border-radius: 18px; }
  .affinity-card[data-position="-1"] { transform: translate(calc(-50% - 93px),-50%) scale(.78) rotate(-3deg); }
  .affinity-card[data-position="1"] { transform: translate(calc(-50% + 93px),-50%) scale(.78) rotate(3deg); }
  .deck-arrow { width: 36px; height: 36px; font-size: 25px; }
  .deck-story { min-height: 91px; }
}
@media (prefers-reduced-motion: reduce) {
  .affinity-card, .deck-dot { transition: none; }
  html { scroll-behavior: auto; }
}


/* Mobile review fixes: keep hero content full width and controls usable. */
.deck-dot { width: 44px; height: 44px; background: transparent; display: grid; place-items: center; }
.deck-dot::before { content: ''; width: 9px; height: 9px; border-radius: 99px; background: #D9CDC2; transition: width .2s ease, background .2s ease; }
.deck-dot[aria-current="true"] { width: 44px; background: transparent; }
.deck-dot[aria-current="true"]::before { width: 24px; background: var(--coral-action); }
.deck-dots { gap: 0; }
@media (max-width: 900px) {
  /* The brand hero override was previously after the original mobile rule. */
  .hero-grid { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .hero-copy, .hero-carousel { min-width: 0; width: 100%; }
  .hero-copy { max-width: 680px; }
  .hero-carousel { max-width: 650px; }
}
@media (max-width: 600px) {
  .hero { padding-top: 44px; }
  .hero h1 { font-size: clamp(39px, 10vw, 54px); overflow-wrap: normal; }
  .hero-grid { gap: 22px; }
  .hero-actions { gap: 10px; }
  .affinity-deck { width: 100%; max-width: 100%; height: 350px; overflow: clip; }
  .affinity-card { width: min(57%, 230px); }
  .affinity-card[data-position="-1"] { transform: translate(calc(-50% - 88px),-50%) scale(.77) rotate(-3deg); }
  .affinity-card[data-position="1"] { transform: translate(calc(-50% + 88px),-50%) scale(.77) rotate(3deg); }
  .affinity-card[data-position="-2"], .affinity-card[data-position="2"] { opacity: 0; pointer-events: none; }
  .deck-arrow { width: 44px; height: 44px; font-size: 27px; }
  .deck-story { min-height: 94px; }
}
@media (max-width: 360px) {
  .hero-actions { flex-direction: column; align-items: stretch; }
  .hero-actions .button { width: 100%; }
  .affinity-deck { height: 305px; }
  .affinity-card { width: 60%; }
  .affinity-card[data-position="-1"] { transform: translate(calc(-50% - 72px),-50%) scale(.75) rotate(-3deg); }
  .affinity-card[data-position="1"] { transform: translate(calc(-50% + 72px),-50%) scale(.75) rotate(3deg); }
}


/* Compact mobile menu control; the icon becomes an X when expanded. */
.nav-toggle {
  width: 44px; height: 44px; padding: 0;
  align-items: center; justify-content: center;
  cursor: pointer;
}
.nav-toggle-icon { position: relative; display: block; width: 20px; height: 18px; }
.nav-toggle-icon span {
  position: absolute; left: 0; width: 20px; height: 2px;
  border-radius: 2px; background: currentColor;
  transition: top .18s ease, transform .18s ease, opacity .18s ease;
}
.nav-toggle-icon span:nth-child(1) { top: 1px; }
.nav-toggle-icon span:nth-child(2) { top: 8px; }
.nav-toggle-icon span:nth-child(3) { top: 15px; }
.nav-toggle[aria-expanded="true"] .nav-toggle-icon span:nth-child(1) { top: 8px; transform: rotate(45deg); }
.nav-toggle[aria-expanded="true"] .nav-toggle-icon span:nth-child(2) { opacity: 0; }
.nav-toggle[aria-expanded="true"] .nav-toggle-icon span:nth-child(3) { top: 8px; transform: rotate(-45deg); }
.nav-toggle:focus-visible { outline: 3px solid var(--coral-action); outline-offset: 3px; }
@media (max-width: 900px) { .nav-toggle { display: inline-flex; } }
@media (prefers-reduced-motion: reduce) {
  .nav-toggle-icon span { transition: none; }
}
