.eyebrow{
  display:inline-flex;align-items:center;
  font-family:Poppins,sans-serif;font-weight:600;font-size:.78rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--green-ink);
}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:Poppins,sans-serif;font-weight:600;font-size:1rem;
  padding:15px 30px;border-radius:999px;text-decoration:none;
  background:var(--green-ink);color:#fff;border:2px solid var(--green-ink);
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
  box-shadow:0 10px 26px rgba(115,159,23,.32);
}
.btn:hover{transform:translateY(-2px);background:var(--green-deep);border-color:var(--green-deep)}
.btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.45);box-shadow:none}
.btn.ghost:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.btn.blue{background:var(--blue);border-color:var(--blue);box-shadow:0 10px 26px rgba(4,75,115,.28)}
.btn.blue:hover{background:#0A639B;border-color:#0A639B}


.sec-head{max-width:720px;margin-bottom:52px}
.sec-head h2{font-size:clamp(1.85rem,3.6vw,2.7rem);font-weight:700;margin:18px 0 16px;color:var(--ink)}
.sec-head p{font-size:1.12rem;color:var(--muted)}
.sec-head.center{margin-left:auto;margin-right:auto;text-align:center}
.sec-head.center .eyebrow{justify-content:center}

/* keep cards */
.cards{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.card{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);
  padding:30px 28px;transition:transform .2s ease,box-shadow .2s ease;
}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.card .icon{
  width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;
  background:var(--cloud);margin-bottom:18px;
}
.card .icon svg{width:26px;height:26px;stroke:var(--blue);fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.card:nth-child(even) .icon{background:#EFF5E2}
.card:nth-child(even) .icon svg{stroke:var(--green)}
.card h3{font-size:1.18rem;font-weight:600;margin-bottom:10px;color:var(--ink)}
.card p{color:var(--muted);font-size:1rem}

.tag{flex:none;font-size:.64rem;font-weight:600;font-family:Poppins,sans-serif;letter-spacing:.05em;
  padding:4px 10px;border-radius:999px;text-transform:uppercase}
.tag.green{background:var(--green-wash);color:var(--green-ink)}
.tag.blue{background:#E3EEF6;color:var(--blue)}

@media(max-width:430px){.sec-head{margin-bottom:36px}}
@media(prefers-reduced-motion:reduce){.card,.btn{transition:none}.card:hover,.btn:hover{transform:none}}
/* header */
header{
  position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);
  backdrop-filter:blur(10px);border-bottom:1px solid transparent;
  transition:border-color .2s ease,box-shadow .2s ease;
}
header.scrolled{border-color:var(--line);box-shadow:0 6px 24px rgba(4,75,115,.08)}
.header-in{display:flex;align-items:center;justify-content:space-between;padding:14px 22px;max-width:1120px;margin:0 auto}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none}
.logo img{height:46px;width:auto}
.logo-fallback{display:none;font-family:Poppins,sans-serif;font-weight:700;font-size:1.5rem;color:var(--blue)}
.logo-fallback em{color:var(--green);font-style:normal}
.header-cta{font-family:Poppins,sans-serif;font-weight:600;font-size:.92rem;text-decoration:none;
  color:#fff;background:var(--blue);padding:11px 22px;border-radius:999px;transition:background .18s ease}
.header-cta:hover{background:#0A639B}


.logo-slot{width:206px;height:106px;max-width:100%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;gap:8px;font:700 1.5rem Poppins,sans-serif;color:var(--blue)}
.logo-slot em{color:var(--green);font-style:normal}
.header-in{gap:20px;flex-wrap:wrap}
.primary-nav{display:flex;gap:10px 18px;flex-wrap:wrap}
.primary-nav a{font:500 .82rem Poppins,sans-serif;text-decoration:none;padding:8px 0}
.skip-link{position:absolute;left:18px;top:-100px;z-index:100;background:var(--paper);padding:12px}
.skip-link:focus{top:8px}
@media(max-width:640px){.header-in{padding:10px 18px;gap:12px}.primary-nav{order:3;width:100%}.header-cta{padding:10px 14px}.logo-slot{height:106px}}
/* 2026-10-28: Give and Partner join the nav at Go-Live. Tighter link spacing below 1100px keeps the logo, nav and button on one row from about 990px wide; at 1100px and up the spacing is unchanged. */
@media(min-width:641px) and (max-width:1099px){.primary-nav{column-gap:12px}}
footer{background:var(--navy);color:#CFE0EC;padding:54px 0 30px;font-size:.95rem}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:32px}
footer h2{font-size:1.4rem;color:#fff;margin-bottom:18px}
footer h3{font-size:1rem;color:#fff;margin:20px 0 12px}
footer address{font-style:normal}
footer nav a{display:block;color:#CFE0EC;padding:5px 0}
.footer-close{margin-top:36px;border-top:1px solid #7E96C7;padding-top:24px}
/* 2026-11-05: site credit in the closing row. The Partnership line sits on the left and the credit on the right; on a phone the credit wraps under the line. The link lives once, in partials/footer.html. */
.footer-close{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px 24px}
.footer-close p{flex:1 1 24rem}
.phi-credit{font-size:.82rem;letter-spacing:.02em;text-decoration:none;white-space:nowrap;color:#8FA6C9}
.phi-credit:hover,.phi-credit:focus-visible{color:#fff;text-decoration:underline;text-underline-offset:3px}
.phi-mark{font-family:Georgia,"Times New Roman",serif;font-size:1.15em;line-height:1;margin:0 .08em;color:#F08A5D}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
form{display:grid;gap:12px;margin-top:24px;max-width:640px}
label{font-family:Poppins,sans-serif;font-size:.88rem;font-weight:600}
input,select,textarea{width:100%;min-width:0;padding:12px;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:var(--paper)}
textarea{min-height:150px;resize:vertical}
button:disabled{cursor:not-allowed;box-shadow:none;opacity:.75}
form p{font-size:.88rem}
.hero{position:relative;overflow:hidden;color:#fff;background:linear-gradient(148deg,var(--navy) 0%,#032B54 42%,var(--blue) 100%)}
.hero::after{content:"712";position:absolute;right:-4%;bottom:-16%;font:700 clamp(240px,36vw,520px)/1 Poppins,sans-serif;color:rgba(255,255,255,.045);pointer-events:none;user-select:none}
.hero-in{position:relative;z-index:1}
.hero .eyebrow,.closing .eyebrow{color:var(--green-lift)}
.hero h1{font-size:clamp(2.4rem,5.6vw,4.05rem);font-weight:700;margin:20px 0 24px;max-width:22ch;text-wrap:balance}
.hero h1 .accent{color:var(--green-lift)}
.hero p.sub{font-size:clamp(1.08rem,1.9vw,1.3rem);color:#CFE0EC;max-width:62ch}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.mist{background:var(--mist)}
.town-list{list-style:none;display:flex;flex-wrap:wrap;gap:12px}
.town-list li{border:1px solid var(--line);border-radius:999px;padding:10px 20px;background:var(--paper);font-family:Poppins,sans-serif}
.card a{display:inline-block;margin-top:20px;font-weight:600}
.closing{background:var(--navy);color:#fff}
.closing h2{font-size:clamp(2rem,4.4vw,3.1rem);max-width:18ch;margin:20px 0}
.closing p{max-width:52ch;color:#CFE0EC;margin-bottom:28px}
.subhero{padding:78px 0 74px}
.subhero .wrap{max-width:820px}
.subhero h1{font-size:clamp(2.05rem,4.6vw,3.2rem);max-width:20ch;margin:18px 0 20px}
.subhero p.sub{font-size:clamp(1.04rem,1.7vw,1.2rem);max-width:60ch}
.table-wrap{max-width:100%;overflow-x:auto}
table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:.95rem}
caption{text-align:left;color:var(--muted);margin-bottom:18px}
th,td{text-align:left;border:1px solid var(--line);padding:16px;overflow-wrap:anywhere}
thead{background:var(--blue);color:#fff}
tbody th{background:var(--mist)}
@media(max-width:430px){.subhero{padding:56px 0 54px}th,td{padding:8px;font-size:.8rem}}
.portrait-slot{width:240px;height:240px;max-width:100%;border:1px dashed var(--muted);border-radius:16px;display:grid;place-items:center;text-align:center;background:var(--cloud);color:var(--muted);margin-bottom:24px;padding:18px}
.mist h3+p{margin:16px 0 24px}
.map-slot{width:100%;max-width:720px;height:320px;border:1px dashed var(--muted);border-radius:var(--radius);background:var(--cloud);display:grid;align-content:center;text-align:center;margin:32px 0 16px;padding:24px;color:var(--blue)}
.card address{font-style:normal}

/* Proof blocks rendered by build.mjs renderProof(). Testimonial and press. */
.proof{padding:72px 0;background:var(--green-wash)}
.proof .wrap{max-width:820px}
.proof.testimonial blockquote{margin:0;position:relative;padding-left:28px;border-left:4px solid var(--green)}
.proof.testimonial blockquote p{font-size:clamp(1.12rem,2vw,1.32rem);line-height:1.6;color:var(--ink);max-width:none}
.proof.testimonial .attribution{margin-top:18px;padding-left:32px;font:600 1rem Poppins,sans-serif;color:var(--blue)}
.proof.press{background:var(--cloud)}
.proof.press>.wrap>p:first-child{font:600 .78rem Poppins,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--green-ink)}
.proof.press h2{font-size:clamp(1.3rem,2.4vw,1.7rem);margin:12px 0 10px;line-height:1.3}
.proof.press h2 a{color:var(--blue);text-decoration-thickness:2px;text-underline-offset:4px}
.proof.press p{color:var(--muted)}
@media(max-width:430px){.proof{padding:52px 0}.proof.testimonial blockquote{padding-left:18px}.proof.testimonial .attribution{padding-left:22px}}

/* 2026-09-18 polish: phone menu, anchor offset, coworking plan cards. */
html{scroll-padding-top:96px}
.nav-toggle{display:none;font:600 .9rem Poppins,sans-serif;color:var(--blue);background:transparent;border:1.5px solid var(--line);border-radius:999px;padding:9px 16px;min-height:44px;cursor:pointer}
@media(max-width:640px){
  html{scroll-padding-top:84px}
  .js .nav-toggle{display:inline-flex;align-items:center;order:3;padding:9px 14px}
  .js .header-cta{margin-left:auto;padding:10px 14px;font-size:.85rem}
  .js .header-in{gap:10px}
  .js .primary-nav{order:4}
  .js .primary-nav{display:none;width:100%}
  .js header.nav-open .primary-nav{display:flex;flex-direction:column;gap:0;padding:6px 0 10px}
  .js header.nav-open .primary-nav a{padding:12px 2px;font-size:1rem;border-top:1px solid var(--line)}
  .logo img{height:38px}
  .header-cta{order:2}
  .js .header-in{flex-wrap:wrap}
}
.plan-cards{display:none}
@media(max-width:640px){
  .table-wrap:has(+ .plan-cards){display:none}
  .plan-cards{display:grid;gap:16px}
  .plan-cards dl{margin:12px 0 0}
  .plan-cards dt{font:600 .78rem Poppins,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--green-ink);margin-top:12px}
  .plan-cards dd{margin:4px 0 0}
}
/* Questions and answers, /faq/. One question per article, a readable line length. */
.faq-item{max-width:760px;padding:28px 0;border-top:1px solid var(--line)}
.faq-item:first-child{border-top:0;padding-top:0}
.faq-item h2{font-size:clamp(1.25rem,2.2vw,1.5rem);font-weight:600;margin:0 0 10px;color:var(--ink);line-height:1.3}
.faq-answer p{margin:0;font-size:1.08rem}
