:root{--paper:#FCFBF3;--sand:#F1EADB;--ink:#23201c;--muted:#6f685d;--terra:#B24A3B;--teal:#2F5D62;--taupe:#DCD5C6;--line:#e2dccb;--err:#C22B2B;}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'Inter',system-ui,sans-serif;line-height:1.75;-webkit-font-smoothing:antialiased;}
.wrap{max-width:1120px;margin:0 auto;padding:0 40px;}
.narrow{max-width:760px;}
.label{font-family:'Jost',sans-serif;font-weight:600;font-size:13.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--teal);}
.serif{font-family:'Cormorant Garamond',serif;font-weight:500;letter-spacing:-.005em;}
a{color:inherit;text-decoration:none;}
.hidden{display:none !important;}
/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:30;background:rgba(252,251,243,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
nav .in{max-width:1120px;margin:0 auto;padding:13px 40px;display:flex;align-items:center;justify-content:space-between;}
.brand{display:inline-flex;cursor:pointer;}
.brand img{display:block;height:34px;width:auto;cursor:pointer;}
nav .brand img{height:60px;}
nav .links{display:flex;align-items:center;gap:30px;font-family:'Jost',sans-serif;font-size:12.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);}
nav .links a{cursor:pointer;}
nav .links a:hover{color:var(--ink);}
.btn{font-family:'Jost',sans-serif;font-size:12px;letter-spacing:.15em;text-transform:uppercase;padding:11px 22px;border-radius:2px;border:1px solid var(--terra);color:#fff;background:var(--terra);display:inline-block;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease;}
.btn:hover{background:#9A3D30;border-color:#9A3D30;transform:translateY(-2px);box-shadow:0 8px 18px rgba(178,74,59,.28);}
.btn:active{transform:translateY(0);box-shadow:0 3px 8px rgba(178,74,59,.22);}
.btn.ghost{background:transparent;color:var(--terra);}
.btn.ghost:hover{background:var(--terra);color:#fff;box-shadow:0 8px 18px rgba(178,74,59,.28);}
.btn:disabled{opacity:.55;cursor:default;transform:none;box-shadow:none;}
@media(max-width:860px){nav .links a:not(.btn){display:none;}}
/* HERO — image treatment ported exactly from needhamv3.html (grayscale + veil apply to every .hero, no bw variant needed) */
.hero{position:relative;height:88vh;min-height:580px;margin-top:18px;display:flex;align-items:center;}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(100%) contrast(1.05) brightness(.95);}
.hero .veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,16,12,.28) 0%,rgba(20,16,12,0) 34%,rgba(20,16,12,.66) 100%);}
.hero .in{position:relative;top:28px;max-width:1120px;margin:0 auto;padding:0 40px;width:100%;color:#FCFBF3;}
.hero .label{color:#f0d3c8;text-shadow:0 1px 14px rgba(0,0,0,.65);}
.hero h1{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:clamp(40px,6.4vw,84px);line-height:1.02;margin:0;max-width:16ch;}
section{padding:104px 0;}
.rule{height:1px;background:var(--line);border:none;margin:0;}
h2.big{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:clamp(30px,4.4vw,52px);line-height:1.06;margin:16px 0 0;}
h3.mid{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:24px;margin:0 0 6px;}
p{margin:0 0 18px;}
.lead p{font-size:18px;color:#4a443c;}
/* HERO INTRO — short centered intro line under the hero, matching needhamv3.html */
.hero-intro{padding:36px 0;}
.hero-intro .wrap{max-width:900px;text-align:center;}
.hero-intro .lead{font-family:'Jost',sans-serif;font-weight:300;font-size:clamp(18px,2vw,23px);line-height:1.5;color:var(--ink);margin:0 auto;letter-spacing:.01em;}
.body p{color:var(--muted);}
.founders-photo{margin:36px 0 4px;max-width:400px;}
.founders-photo img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:8px;filter:grayscale(1);}
.founders-photo figcaption{font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--muted);font-size:14.5px;margin-top:12px;}
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:56px;}
@media(max-width:820px){.cols2{grid-template-columns:1fr;gap:8px;}}
@media(max-width:820px){#anchor-membership .cols2{gap:14px;}}
.nextup-sub{margin-top:-6px;}
@media(max-width:820px){.nextup-sub{margin-top:8px;}}
.imgband{height:56vh;min-height:380px;background-size:cover;background-position:center 42%;filter:grayscale(0);}
/* FIND */
.find .now{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:26px 0 0;}
@media(max-width:820px){.find .now{grid-template-columns:1fr;}}
.townlink{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:30px 32px;border:1px solid var(--line);border-radius:4px;background:#fff;cursor:pointer;transition:.15s;}
.townlink:hover{border-color:var(--terra);transform:translateY(-2px);box-shadow:0 10px 26px rgba(35,32,28,.08);}
.townlink .t{display:flex;flex-direction:column;align-items:flex-start;text-align:left;}
.townlink .t .pretitle{font-family:'Jost',sans-serif;font-weight:500;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;}
.townlink .t .city{font-family:'Cormorant Garamond',serif;font-size:27px;line-height:1.2;}
.townlink .a{flex:none;font-family:'Jost',sans-serif;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:var(--terra);border:1px solid var(--terra);padding:12px 20px;border-radius:2px;white-space:nowrap;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease;}
.townlink:hover .a{background:#9A3D30;border-color:#9A3D30;box-shadow:0 8px 18px rgba(178,74,59,.28);}
@media(max-width:480px){.townlink{flex-direction:column;align-items:flex-start;gap:18px;}}
.interest{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:12px;}
@media(max-width:820px){.interest{grid-template-columns:1fr;gap:20px;}}
.interest ul{list-style:none;padding:0;margin:8px 0 0;}
.interest li{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid var(--line);color:var(--muted);}
.interest li .waitlist-link{flex:none;font-family:'Jost',sans-serif;font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--terra);white-space:nowrap;}
.interest li .waitlist-link:hover{border-bottom:1px solid var(--terra);}
/* FAQ */
.faq .item{border-top:1px solid var(--line);padding:26px 0;display:grid;grid-template-columns:1fr 1.5fr;gap:30px;}
.faq .item:last-child{border-bottom:1px solid var(--line);}
@media(max-width:820px){.faq .item{grid-template-columns:1fr;gap:8px;}}
.faq q{quotes:none;}
.faq .q{font-family:'Cormorant Garamond',serif;font-size:23px;font-weight:600;}
.faq .aa{color:var(--muted);}
.faq .aa p{margin:0 0 12px;}
/* FAQ — collapsible accordion variant, styled to match needhamv3.html */
.faq.accordion .list{margin-top:28px;border-top:1px solid var(--line);max-width:900px;}
.faq.accordion .item{border-top:none;border-bottom:1px solid var(--line);padding:14px 0;display:block;}
.faq.accordion .item:last-child{border-bottom:1px solid var(--line);}
.faq.accordion .q{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:19px;color:var(--ink);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;}
.faq.accordion .q .plus{font-family:'Jost',sans-serif;font-size:20px;color:var(--terra);transition:transform .2s;flex:none;line-height:1;}
.faq.accordion .item.open .q .plus{transform:rotate(45deg);}
.faq.accordion .a{color:var(--muted);max-height:0;overflow:hidden;transition:max-height .25s ease;}
.faq.accordion .a p{margin:10px 0 0;max-width:70ch;}
.faq.accordion .item.open .a{max-height:520px;}
/* FORM */
.form{max-width:720px;}
.fs{border:none;padding:0;margin:0 0 40px;}
.fs .label{margin-bottom:18px;display:block;}
.field{margin-bottom:22px;}
.field > label{display:block;font-family:'Jost',sans-serif;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:7px;}
.field .hint{font-style:italic;color:#9a9184;text-transform:none;letter-spacing:0;font-family:'Cormorant Garamond',serif;font-size:15px;display:block;margin-top:6px;}
.field input[type=text],.field input[type=email],.field input[type=tel],.field textarea{width:100%;border:none;border-bottom:1px solid #d9d2c1;background:transparent;padding:9px 0;font-family:'Inter';font-size:16px;color:var(--ink);outline:none;}
.field input:focus,.field textarea:focus{border-bottom-color:var(--teal);}
.field textarea{resize:vertical;min-height:52px;}
.opts{display:flex;flex-direction:column;gap:11px;margin-top:4px;}
.opt{display:flex;gap:11px;align-items:flex-start;font-size:15.5px;color:#3d372f;cursor:pointer;}
.opt input{margin-top:5px;accent-color:var(--terra);width:16px;height:16px;flex:0 0 auto;}
.opt .sub{display:block;color:var(--muted);font-size:13.5px;font-style:italic;}
.selall{font-family:'Cormorant Garamond',serif;font-style:italic;color:#9a9184;font-size:15px;margin:2px 0 8px;}
.counter{background:var(--sand);}
.counter .num{font-family:'Cormorant Garamond',serif;font-size:clamp(30px,4vw,42px);margin:8px 0 4px;}
.bar{height:6px;background:#e4ddcc;border-radius:99px;overflow:hidden;margin:14px 0 6px;max-width:440px;}
.bar span{display:block;height:100%;background:var(--terra);}
footer{background:var(--ink);color:#e9e3d6;padding:72px 0 46px;}
footer .brand{color:#FCFBF3;font-size:50px;}
footer .brand img{height:44px;filter:brightness(0) invert(1);}
footer .tag{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:19px;color:#c9c0ad;margin-top:4px;}
footer .social{display:flex;gap:28px;margin-top:26px;}
footer .social a{color:#a49c8b;display:inline-flex;align-items:center;}
footer .social a:hover{color:#e9e3d6;}
footer .social svg{width:20px;height:20px;}
footer .links{display:flex;gap:26px;flex-wrap:wrap;font-family:'Jost';font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#a49c8b;margin-top:24px;}
footer .links a{cursor:pointer;}
footer .fine{color:#7c745f;font-size:12px;margin-top:34px;font-family:'Jost';letter-spacing:.04em;}
.backhome{font-family:'Jost';font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--terra);cursor:pointer;display:inline-block;margin-bottom:8px;}

/* ===== SaaS-style single-field capture (index page) ===== */
.saasform{display:flex;gap:12px;flex-wrap:wrap;max-width:480px;margin-top:28px;}
.saasform input[type=email]{flex:1;min-width:220px;border:1px solid var(--line);border-radius:2px;padding:13px 16px;font-family:'Inter';font-size:15px;background:#fff;color:var(--ink);outline:none;}
.saasform input[type=email]:focus{border-color:var(--teal);}
.saasform button{flex:0 0 auto;border:1px solid var(--terra);}
.formnote{color:#9a9184;font-size:13px;font-style:italic;font-family:'Cormorant Garamond',serif;margin-top:10px;}
/* Bring TileHour to your community — darker band for visual separation from FAQ (indexv1) */
.bring-highlight{background:var(--sand);}

/* ===== Community "Bring TileHour" 3-step join flow (indexv1 only) =====
   Ported from the #joinForm flow on needhamv3.html / sancarlosv2.html.
   Scoped under #anchor-bring since site.css also defines an older, unused
   .joinflow/.stepper/.confirm-box/.cols2 set with different rules that
   other pages sharing this stylesheet (index.html, sancarlos.html) still see. */
#anchor-bring .card{scroll-margin-top:110px;background:#fff;border-radius:14px;padding:36px 64px;margin-top:30px;text-align:left;box-shadow:0 24px 60px -24px rgba(35,32,28,.22),0 4px 14px rgba(35,32,28,.06);border-top:4px solid var(--teal);}
@media(max-width:600px){#anchor-bring .card{padding:28px 24px;}}
#anchor-bring .jstep{display:none;}
#anchor-bring .jstep.active{display:block;}
#anchor-bring .jstep .intro{color:var(--muted);margin:0 0 22px;}
#anchor-bring .step-label{font-family:'Jost',sans-serif;font-weight:500;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--teal);margin:0 0 10px;text-align:center;}
#anchor-bring .fld{margin-bottom:16px;}
#anchor-bring .fld label{display:block;font-family:'Jost',sans-serif;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;}
#anchor-bring .fld input[type=text],#anchor-bring .fld input[type=email]{width:100%;font-family:'Inter',sans-serif;font-size:16px;padding:12px 14px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--ink);box-sizing:border-box;}
#anchor-bring .fld input:focus{outline:none;border-color:var(--teal);}
#anchor-bring .cols2{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
@media(max-width:600px){#anchor-bring .cols2{grid-template-columns:1fr;}}
#anchor-bring .btnrow{display:flex;gap:14px;margin-top:22px;}
#anchor-bring .btn.secondary{background:transparent;color:var(--ink);border:1px solid var(--line);}
#anchor-bring .btn.secondary:hover{border-color:var(--terra);color:var(--terra);transform:translateY(-2px);box-shadow:0 8px 18px rgba(178,74,59,.14);}
#anchor-bring .confirm-box{background:transparent;border:none;padding:20px 0;margin-bottom:20px;border-bottom:1px solid var(--line);text-align:center;}
#anchor-bring .confirm-box .ic{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;margin:0 auto 10px;color:var(--terra);}
#anchor-bring .confirm-box .ic svg{width:100%;height:100%;}
#anchor-bring .confirm-box h3{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:24px;margin:0 0 8px;}
#anchor-bring .confirm-box p{color:var(--ink);font-weight:500;font-size:15px;max-width:44ch;margin:0 auto;line-height:1.45;}

#anchor-bring .qgroup{margin-bottom:26px;}
#anchor-bring .qgroup .qlabel{font-family:'Jost',sans-serif;font-size:12.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 12px;}
#anchor-bring .chips{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px;}
#anchor-bring .chip{position:relative;}
#anchor-bring .chip input{position:absolute;opacity:0;width:0;height:0;}
#anchor-bring .chip span{display:inline-flex;align-items:center;text-align:left;font-family:'Inter',sans-serif;font-size:14px;line-height:1.3;color:var(--ink);border:1px solid var(--line);border-radius:20px;padding:9px 16px;cursor:pointer;transition:border-color .15s,background .15s,color .15s;}
#anchor-bring .chip span:hover{border-color:#1F4448;background:rgba(47,93,98,.08);}
#anchor-bring .chip input:checked + span{border-color:var(--teal);background:var(--teal);color:#fff;}
#anchor-bring .chip input:checked + span:hover{border-color:var(--teal);background:var(--teal);}
#anchor-bring .chip input:focus-visible + span{outline:2px solid var(--teal);outline-offset:2px;}
#anchor-bring .other-input{display:none;width:100%;font-family:'Inter',sans-serif;font-size:14px;padding:10px 14px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--ink);box-sizing:border-box;margin-top:10px;}
#anchor-bring .other-input:focus{outline:none;border-color:var(--teal);}

#anchor-bring .fld input.invalid,#anchor-bring .other-input.invalid{border-color:var(--err);}
#anchor-bring .fld input.invalid:focus,#anchor-bring .other-input.invalid:focus{border-color:var(--err);}
#anchor-bring .qgroup.invalid .chips{outline:1px solid var(--err);outline-offset:8px;border-radius:16px;}
#anchor-bring .err-msg{display:none;font-family:'Jost',sans-serif;font-size:12px;color:var(--err);margin-top:7px;letter-spacing:.01em;}
#anchor-bring .err-msg.show{display:block;}

#anchor-bring #bstep-3 .qlabel{font-family:'Jost',sans-serif;font-size:12.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;}
#anchor-bring #bstep-3 .helper{font-family:'Jost',sans-serif;font-size:12px;color:var(--muted);margin:5px 0 0;line-height:1.4;}
#anchor-bring #bstep-3 .desktop-note{display:none;text-align:left;margin-top:6px;}
#anchor-bring #bstep-3 .share-wrap{display:flex;flex-direction:column;margin-top:4px;}
#anchor-bring #bstep-3 .share-wrap .share-section{padding:14px 0;border-top:1px solid var(--line);}
#anchor-bring #bstep-3 .share-wrap .share-section:first-child{padding-top:0;border-top:none;}
#anchor-bring #bstep-3 .share-section .section-title{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:17px;margin:0 0 3px;display:flex;align-items:center;gap:8px;}
#anchor-bring #bstep-3 .share-section .section-title svg{width:16px;height:16px;flex:none;color:var(--ink);stroke:currentColor;}
#anchor-bring #bstep-3 .share-section .section-sub{color:var(--muted);font-size:13px;margin:0;line-height:1.4;}
#anchor-bring #bstep-3 .share-row{display:flex;align-items:center;justify-content:space-between;gap:20px;}
#anchor-bring #bstep-3 .share-text{flex:1 1 auto;min-width:0;}
#anchor-bring #bstep-3 .share-row .util-btn{flex:none;}
@media(max-width:520px){
  #anchor-bring #bstep-3 .share-row{flex-direction:column;align-items:stretch;gap:10px;}
  #anchor-bring #bstep-3 .share-row .util-btn{width:100%;}
}
#anchor-bring #bstep-3 .link-row{display:flex;gap:10px;}
#anchor-bring #bstep-3 .link-row input{flex:1;min-width:0;font-family:'Inter',sans-serif;font-size:14px;padding:10px 13px;border:1px solid var(--line);border-radius:4px;background:var(--paper);color:var(--muted);}
@media(max-width:520px){
  #anchor-bring #bstep-3 .link-row{flex-direction:column;align-items:stretch;gap:10px;}
  #anchor-bring #bstep-3 .link-row .copy-btn{width:100%;padding:11px 22px;}
}
#anchor-bring #bstep-3 .link-row input:focus{outline:none;border-color:var(--teal);}
#anchor-bring #bstep-3 .copy-btn,#anchor-bring #bstep-3 .util-btn{font-family:'Jost',sans-serif;font-size:12px;letter-spacing:.14em;text-transform:uppercase;border-radius:4px;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;white-space:nowrap;transition:border-color .15s,background .15s,color .15s;}
#anchor-bring #bstep-3 .copy-btn{padding:0 20px;}
#anchor-bring #bstep-3 .copy-btn:focus{outline:none;border-color:var(--teal);}
#anchor-bring #bstep-3 .util-btn{padding:11px 22px;}
#anchor-bring #bstep-3 .copy-btn:hover,#anchor-bring #bstep-3 .util-btn:hover{border-color:var(--teal);color:var(--teal);}
#anchor-bring #bstep-3 .copy-btn.copied{border-color:var(--teal);background:var(--teal);color:#fff;}
#anchor-bring #bstep-3 .fld{margin-bottom:12px;}
#anchor-bring #bstep-3 .fld:last-of-type{margin-bottom:0;}
#anchor-bring #bstep-3 .skip-link{display:block;width:100%;margin:16px auto 0;background:none;border:none;padding:0;font-family:'Jost',sans-serif;font-size:13px;letter-spacing:.03em;color:var(--muted);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px;cursor:pointer;text-align:center;transition:color .15s,text-decoration-color .15s;}
#anchor-bring #bstep-3 .skip-link:hover{color:var(--teal);text-decoration-color:var(--teal);}
#anchor-bring #bstep-3 .dismiss-msg{display:none;text-align:center;color:var(--muted);font-family:'Jost',sans-serif;font-size:13px;line-height:1.5;padding-top:4px;}
#anchor-bring #bstep-3 .dismiss-msg a{color:var(--muted);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px;transition:color .15s,text-decoration-color .15s;}
#anchor-bring #bstep-3 .dismiss-msg a:hover{color:var(--teal);text-decoration-color:var(--teal);}

/* ===== Hero inline email capture (Needham / San Carlos) ===== */
.heroform{display:flex;gap:12px;flex-wrap:wrap;max-width:480px;margin:22px 0 10px;}
.heroform input[type=email]{flex:1;min-width:220px;border:1px solid var(--line);border-radius:2px;padding:13px 16px;font-family:'Inter';font-size:15px;background:#fff;color:var(--ink);outline:none;}
.heroform input[type=email]:focus{border-color:var(--teal);}
.heroform button{flex:0 0 auto;}
.finewide{color:#9a9184;font-size:13px;font-style:italic;font-family:'Cormorant Garamond',serif;max-width:52ch;}
.confirmchip{display:none;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:4px;padding:14px 18px;max-width:480px;margin:22px 0 10px;font-size:15px;}
.confirmchip.show{display:flex;}
.confirmchip .ck{color:#2f7a4f;font-weight:600;}

/* ===== Perks grid ===== */
.perks{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:30px;}
@media(max-width:700px){.perks{grid-template-columns:1fr;}}
.perk{background:#fff;border:1px solid var(--line);border-radius:6px;padding:24px 26px;}
.perk .ic{font-size:26px;line-height:1;display:block;margin-bottom:10px;}
.perk h4{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:600;margin:0 0 6px;}
.perk p{color:var(--muted);font-size:14.5px;margin:0;}

/* ===== Multi-step join flow ===== */
.joinflow{background:var(--sand);}
.stepper{display:flex;align-items:center;gap:0;margin-bottom:40px;max-width:420px;}
.step-dot{width:32px;height:32px;border-radius:50%;background:#fff;border:1px solid var(--line);color:var(--muted);display:flex;align-items:center;justify-content:center;font-family:'Jost',sans-serif;font-size:13px;flex:0 0 auto;transition:.2s;}
.step-dot.active{background:var(--terra);border-color:var(--terra);color:#fff;}
.step-dot.done{background:var(--ink);border-color:var(--ink);color:#fff;}
.step-line{flex:1 1 auto;height:1px;background:var(--line);margin:0 8px;}
.step-label{font-family:'Jost',sans-serif;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:-28px 0 30px;}
.joinstep .intro{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:21px;margin-bottom:32px;}
.cardrow{display:grid;grid-template-columns:1fr 1fr;gap:30px;}
@media(max-width:600px){.cardrow{grid-template-columns:1fr;gap:0;}}
.confirm-box{background:#fff;border:1px solid var(--line);border-radius:8px;padding:52px 44px;text-align:left;}
.confirm-box .ic{font-size:40px;display:block;margin-bottom:14px;}

/* ===== How it works (steps) ===== */
.steps{background:var(--sand);padding:56px 0;}
.steps .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:46px;margin-top:34px;}
@media(max-width:820px){.steps .grid{grid-template-columns:1fr;gap:34px;}}
.step .n{display:block;width:64px;height:81px;object-fit:contain;margin-bottom:6px;}
.step h3{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:23px;margin:10px 0 8px;color:var(--ink);}
.step p{color:var(--muted);font-size:15px;margin:0;}

/* ===== Founders, photo on the left (About) — ported exactly from needhamv3.html ===== */
.about{background:var(--taupe);padding:90px 0;}
.about-wrap{max-width:1100px;text-align:center;}
.about h2{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:clamp(28px,3.4vw,42px);line-height:1.12;margin:16px auto 0;max-width:40ch;}
.about-intro{color:var(--muted);margin:16px auto 0;max-width:88ch;}
.founders{display:grid;grid-template-columns:1fr 2fr;align-items:stretch;gap:44px;margin-top:40px;text-align:left;}
.founder-bios{display:flex;flex-direction:column;justify-content:center;gap:30px;}
.founder{border-top:none;padding-top:0;}
.founder p{color:var(--muted);font-size:15px;margin:0;}
.founder p b{color:var(--ink);}
.about .ph{position:relative;width:100%;height:100%;min-height:360px;margin:0;overflow:hidden;border-radius:4px;}
.about .ph img{width:100%;height:100%;object-fit:cover;object-position:left center;display:block;}
@media(max-width:820px){.about{padding:60px 0;} .founders{grid-template-columns:1fr;gap:24px;} .about .ph{order:-1;width:100%;height:260px;min-height:0;}}
