/* ===== A Seat at the Table · doorway + Agent Sessions (Sept 2026) =====
   Loads after satt.css. Scoped to body.as so nothing else moves.
   Emerald covers/bands · cream #EFEAE0 text, muted #A8BCB4 on emerald ·
   paper reading surface · copper #C4795A single accent · DM Sans 200/700 only. */
.as{ --cream:#EFEAE0; --muted:#A8BCB4; --paper:#F2EDE4; }
.as main, .as main h1, .as main h2, .as main h3, .as main p, .as main label, .as main input, .as main button, .as main .btn{ font-family:"DM Sans", system-ui, sans-serif; }
body.as, .as main{ background:var(--emerald); }
.as main > section:not(.on-em):not(.on-stone):not(.as-strip){ background:var(--paper); }
.as main h1, .as main h2{ font-weight:200; text-transform:lowercase; line-height:1.06; letter-spacing:0; }
.as main h1 b, .as main h2 b{ font-weight:700; }
.as main .btn--copper{ background:var(--copper); border-color:var(--copper); color:var(--emerald); font-weight:600; }
.as main .btn--copper:hover{ background:#A96449; border-color:#A96449; color:var(--emerald); }
.as .on-em{ background:var(--emerald); color:var(--cream); }
.as .on-em h1, .as .on-em h2, .as .on-em h3{ color:var(--cream); }
.as .on-em p{ color:var(--muted); }
.as .on-em .eyebrow{ color:var(--copper); }
.as .tlink{ font-size:.7rem; letter-spacing:.13em; text-transform:uppercase; color:var(--cream); border-bottom:1px solid var(--copper); padding-bottom:3px; }
.as .tlink:hover{ color:var(--copper); }

/* wordmark */
.as-wm{ font-size:clamp(1.05rem,1.6vw,1.3rem); font-weight:200; text-transform:lowercase; letter-spacing:.02em; color:var(--cream); display:flex; align-items:center; gap:.7rem; }
.as-wm b{ font-weight:700; }
.as-wm .chair svg{ width:20px; height:24px; }

/* chair bullet list */
.chairs{ list-style:none; display:grid; gap:1.1rem; padding:0; margin:0; }
.chairs li{ display:grid; grid-template-columns:22px 1fr; gap:1rem; align-items:start; font-size:clamp(1.05rem,1.5vw,1.25rem); font-weight:300; line-height:1.5; color:var(--charcoal); }
.chairs .chair{ margin-top:.2rem; }
.chairs .chair svg{ width:18px; height:22px; }
.on-em .chairs li{ color:var(--cream); }

/* ---------- /table doorway ---------- */
.door{ min-height:calc(100vh - 72px); min-height:calc(100svh - 72px); display:flex; align-items:center; padding:clamp(3rem,7vw,5rem) 0; }
.door .wrap{ width:100%; }
.door h1{ font-size:clamp(2.6rem,6vw,5rem); margin-top:clamp(1.6rem,3vw,2.4rem); }
.doors{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(1.2rem,2.4vw,2rem); margin-top:clamp(2.4rem,5vw,4rem); }
@media (max-width:820px){ .doors{ grid-template-columns:1fr; } }
.doorcard{ border:1px solid rgba(239,234,224,.22); background:var(--emerald-deep); padding:clamp(1.8rem,3.4vw,3rem); display:flex; flex-direction:column; gap:1.1rem; transition:border-color .4s var(--ease), transform .5s var(--ease), box-shadow .5s var(--ease); }
.doorcard:hover{ border-color:var(--copper); transform:translateY(-4px); box-shadow:0 40px 90px -50px rgba(0,0,0,.6); }
.doorcard .eyebrow{ font-size:.66rem; letter-spacing:.15em; text-transform:uppercase; color:var(--copper); }
.doorcard h2{ font-size:clamp(1.9rem,3.2vw,2.6rem); }
.doorcard p{ font-size:1.02rem; line-height:1.7; max-width:42ch; color:var(--muted); }
.doorcard .btn{ align-self:flex-start; margin-top:auto; }
.doorcard .spacer{ flex:1; }

/* ---------- agent sessions ---------- */
.as-hero{ padding:clamp(4rem,9vw,7.5rem) 0 clamp(4rem,8vw,6.5rem); }
.as-hero .grid{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4rem; align-items:center; }
.as-hero h1{ font-size:clamp(2.8rem,6.4vw,5.4rem); margin-top:1.4rem; }
.as-hero .lead{ font-size:clamp(1.05rem,1.4vw,1.2rem); line-height:1.75; max-width:52ch; margin-top:1.6rem; font-weight:300; }
.as-hero .cta-row{ display:flex; gap:1.8rem; flex-wrap:wrap; align-items:center; margin-top:2.4rem; }
.as-hero .bigchair svg{ width:150px; height:184px; stroke-width:1.2; }
@media (max-width:860px){ .as-hero .grid{ grid-template-columns:1fr; } .as-hero .bigchair{ display:none; } }

.as-sec{ padding-block:clamp(4.5rem,9vw,8rem); }
.as-sec h2{ font-size:clamp(2rem,4vw,3.2rem); max-width:22ch; }
.as-head{ margin-bottom:clamp(2rem,4vw,3.2rem); }
.as-head .eyebrow{ display:block; margin-bottom:1rem; color:var(--copper); }

.who{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(2rem,6vw,6rem); align-items:start; }
@media (max-width:860px){ .who{ grid-template-columns:1fr; } }

.scards{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.6rem; }
@media (max-width:980px){ .scards{ grid-template-columns:1fr; } }
.scard{ background:var(--white); border:1px solid var(--line); padding:clamp(1.8rem,3vw,2.4rem); display:flex; flex-direction:column; gap:1rem; transition:transform .5s var(--ease), box-shadow .5s var(--ease); }
.scard:hover{ transform:translateY(-4px); box-shadow:var(--shadow-lux); }
.scard .top{ display:flex; justify-content:space-between; align-items:baseline; }
.scard .no{ font-weight:200; font-size:2.6rem; line-height:1; color:var(--copper); }
.scard .len{ font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; color:var(--text-soft); }
.scard h3{ font-size:1.4rem; font-weight:700; color:var(--charcoal); line-height:1.2; }
.scard p{ font-size:.98rem; line-height:1.65; color:var(--text-soft); }
.scard .leave{ border-top:1px solid var(--line); padding-top:1rem; font-size:.92rem; line-height:1.6; color:var(--charcoal); }
.scard .leave span{ display:block; font-size:.62rem; letter-spacing:.14em; text-transform:uppercase; color:var(--copper); margin-bottom:.35rem; }
.scard .foot{ margin-top:auto; display:flex; flex-direction:column; gap:1rem; padding-top:.4rem; }
.scard .date{ font-size:.7rem; letter-spacing:.13em; text-transform:uppercase; color:var(--text-soft); }
.scard .btn{ justify-content:center; }

.steps{ list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(1.6rem,3vw,3rem); padding:0; margin:0; }
@media (max-width:860px){ .steps{ grid-template-columns:1fr; } }
.steps li{ border-top:1px solid rgba(239,234,224,.22); padding-top:1.6rem; display:grid; gap:1rem; }
.steps .sn{ display:flex; align-items:center; gap:.9rem; font-weight:200; font-size:2.2rem; line-height:1; color:var(--copper); }
.steps .chair svg{ width:18px; height:22px; }
.steps p{ font-size:1.12rem; line-height:1.55; color:var(--cream); font-weight:300; }

.about{ display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(2.4rem,6vw,6rem); align-items:center; }
@media (max-width:860px){ .about{ grid-template-columns:1fr; } .about .photo-frame{ max-width:420px; } }
.about img{ aspect-ratio:4/5; object-fit:cover; object-position:50% 20%; filter:sepia(.03); }
.about p{ font-size:clamp(1.02rem,1.3vw,1.14rem); line-height:1.8; font-weight:300; color:var(--text); max-width:58ch; margin-top:1.4rem; }
.as .sig::before{ content:none; }

/* sign-up: emerald card on paper */
.as-form{ background:var(--emerald); color:var(--cream); max-width:680px; margin-inline:auto; padding:clamp(2rem,5vw,3.6rem); box-shadow:var(--shadow-lux); }
.as-form h2{ color:var(--cream); font-size:clamp(2rem,4vw,2.8rem); }
.as-form .intro{ color:var(--muted); margin-top:.8rem; font-size:1rem; line-height:1.65; }
.as-form form{ margin-top:2rem; }
.as-form .field label, .as-form legend{ color:var(--muted); font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; margin-bottom:.55rem; display:block; }
.as-form .field input{ background:var(--cream); border-color:transparent; color:var(--charcoal); }
.as-form .field input:focus{ border-color:var(--copper); }
.as-form .opt{ opacity:.7; text-transform:none; letter-spacing:0; }
.as-form fieldset{ border:0; padding:0; margin:0 0 1.6rem; }
.picks{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.6rem; }
@media (max-width:520px){ .picks{ grid-template-columns:1fr; } }
.pick{ display:flex; align-items:center; gap:.8rem; padding:.9rem 1rem; border:1px solid rgba(239,234,224,.25); cursor:pointer; font-size:.95rem; color:var(--cream); transition:border-color .3s; }
.pick:hover, .pick:has(input:checked){ border-color:var(--copper); }
.as-form input[type=checkbox]{ appearance:none; -webkit-appearance:none; width:18px; height:18px; flex:none; border:1px solid var(--muted); background:transparent; display:grid; place-content:center; margin:0; cursor:pointer; }
.as-form input[type=checkbox]:checked{ background:var(--copper); border-color:var(--copper); }
.as-form input[type=checkbox]:checked::after{ content:""; width:5px; height:9px; border:solid var(--emerald); border-width:0 2px 2px 0; transform:translateY(-1px) rotate(45deg); }
.as-form input[type=checkbox]:focus-visible{ outline:1px solid var(--copper); outline-offset:2px; }
.consent{ display:grid; grid-template-columns:18px 1fr; gap:.9rem; align-items:start; padding:1.1rem 0 0; border-top:1px solid rgba(239,234,224,.18); margin-bottom:1.2rem; cursor:pointer; }
.consent span{ font-size:.86rem; line-height:1.55; color:var(--cream); }
.consent-legal{ font-size:.74rem; line-height:1.6; color:var(--muted); margin:0 0 1.4rem; }
.as-form .phone{ display:none; }
.as-form form:has(#as-sms:checked) .phone{ display:block; }
.as-form .btn{ width:100%; justify-content:center; margin-top:.6rem; }
.as-form .fine{ font-size:.74rem; color:var(--muted); text-align:center; margin-top:1rem; }
.as-form .form-success{ background:transparent; color:var(--cream); padding:0; margin:0; font-size:clamp(1.3rem,2.4vw,1.7rem); font-weight:300; line-height:1.45; }
.as-form .form-success .sig{ display:block; margin-top:1.2rem; font-size:.72rem; }
.as-form:has(.form-success.show) .as-inner, .as-form:has(.form-success.show) .as-fields > h2, .as-form:has(.form-success.show) .intro{ display:none; }
.as-form:has(.form-success.show) form{ margin-top:0; }

/* FAQ */
.faq{ max-width:860px; border-top:1px solid var(--line); }
.faq details{ border-bottom:1px solid var(--line); }
.faq summary{ list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:1.5rem; padding:1.5rem .2rem; font-size:clamp(1.1rem,1.6vw,1.3rem); font-weight:500; color:var(--charcoal); transition:color .3s; }
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{ content:""; width:12px; height:12px; flex:none; border-right:1px solid var(--copper); border-bottom:1px solid var(--copper); transform:rotate(45deg) translate(-3px,-3px); transition:transform .35s var(--ease); }
.faq details[open] summary::after{ transform:rotate(-135deg); }
.faq summary:hover{ color:var(--emerald); }
.faq details p{ padding:0 .2rem 1.6rem; font-size:1.02rem; line-height:1.7; color:var(--text-soft); max-width:62ch; }

.as-strip{ padding-block:2.2rem; text-align:center; background:var(--stone); }
