/*
Theme Name: 匠縁結 Theme
Theme URI: https://buildconnect.net/
Author: Build Connect Support
Description: 建設業リアルタイムマッチング「匠縁結」専用の独立テーマ。
Version: 0.3.9
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: shoenketsu-theme
*/
:root{--ink:#111827;--muted:#667085;--line:#e7e9ed;--paper:#fff;--soft:#f5f7f9;--accent:#c59b57}*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.7}a{color:inherit}.site-shell{min-height:100vh;display:flex;flex-direction:column}.site-main{flex:1}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.site-header-inner,.site-footer-inner{max-width:1200px;margin:auto;padding:15px 24px;display:flex;justify-content:space-between;align-items:center;gap:24px}.brand{text-decoration:none;display:flex;align-items:baseline;gap:10px}.brand strong{font-size:1.45rem;letter-spacing:.08em}.brand small{font-size:.7rem;letter-spacing:.14em;color:var(--muted)}.site-nav{display:flex;gap:20px;align-items:center}.site-nav a{text-decoration:none;font-weight:700;font-size:.92rem}.nav-cta{background:var(--ink);color:#fff!important;border-radius:999px;padding:9px 15px}.hero{background:linear-gradient(135deg,#0f172a 0%,#1f2937 55%,#34312b 100%);color:#fff}.hero-inner{max-width:1200px;margin:auto;padding:90px 24px 80px;display:grid;grid-template-columns:1.2fr .8fr;gap:50px;align-items:center}.eyebrow{letter-spacing:.2em;font-size:.78rem;font-weight:900;color:#d8c096}.hero h1{font-size:clamp(2.5rem,6vw,5.3rem);line-height:1.04;margin:.25em 0}.hero-lead{font-size:clamp(1.05rem,2vw,1.35rem);max-width:680px;color:#e5e7eb}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.theme-btn{display:inline-flex;text-decoration:none;border-radius:999px;padding:12px 20px;font-weight:900;background:#fff;color:#111827}.theme-btn.alt{background:transparent;border:1px solid rgba(255,255,255,.45);color:#fff}.hero-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:24px;padding:28px}.hero-card ul{margin:0;padding-left:1.2em}.section{padding:72px 24px}.section.soft{background:var(--soft)}.section-inner{max-width:1200px;margin:auto}.section-title{max-width:760px;margin-bottom:30px}.section-title h2{font-size:clamp(1.8rem,3vw,3rem);margin:0}.section-title p{color:var(--muted)}.portal-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.portal{display:block;text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;min-height:150px;box-shadow:0 6px 20px rgba(16,24,40,.04)}.portal b{display:block;font-size:1.05rem;margin-bottom:8px}.portal span{font-size:.9rem;color:var(--muted)}.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.flow>div{border-left:3px solid var(--accent);padding:8px 16px}.flow strong{display:block;font-size:1.08rem}.site-footer{background:#0f172a;color:#e5e7eb}.site-footer-inner{padding-top:34px;padding-bottom:34px}.entry-wrap{max-width:1100px;margin:40px auto;padding:0 20px}.entry-title{font-size:2rem}.menu-toggle{display:none}@media(max-width:900px){.hero-inner{grid-template-columns:1fr}.portal-grid{grid-template-columns:repeat(2,1fr)}.flow{grid-template-columns:repeat(2,1fr)}.site-nav{display:none}.menu-toggle{display:inline-flex;border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 10px}.site-header.is-open .site-nav{display:flex;position:absolute;left:0;right:0;top:100%;padding:18px 24px;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch}.site-header.is-open .site-nav a{padding:7px 0}}@media(max-width:560px){.hero-inner{padding-top:60px}.portal-grid,.flow{grid-template-columns:1fr}.site-header-inner,.site-footer-inner{padding-left:16px;padding-right:16px}.section{padding:52px 16px}}

.portal-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:820px}.two-col{display:grid;grid-template-columns:1.15fr .85fr;gap:36px;align-items:center}.feature-box{border:1px solid var(--line);border-radius:24px;padding:28px;background:#fff}.feature-box strong{display:block;font-size:1.25rem;margin-bottom:8px}.theme-btn.dark{background:var(--ink);color:#fff;margin-top:12px}.cta-box{background:linear-gradient(135deg,#0f172a,#34312b);color:#fff;border-radius:28px;padding:42px}.cta-box h2{font-size:clamp(1.8rem,3vw,3rem);margin:0 0 10px}.cta-box p{max-width:760px;color:#e5e7eb}.hero-card p{color:#e5e7eb;margin-bottom:0}@media(max-width:800px){.two-col{grid-template-columns:1fr}.portal-grid-2{grid-template-columns:1fr}}

.hero-catch{font-size:clamp(1.15rem,2.2vw,1.55rem);font-weight:900;color:#fff;margin:-.15em 0 .55em;letter-spacing:.02em}


/* v0.2.2: illustrated construction hero */
.hero.hero-visualized{background:#fbfaf7;color:var(--ink);overflow:hidden;border-bottom:1px solid #ece8df}
.hero.hero-visualized .hero-inner{max-width:1440px;padding:48px 24px 30px;grid-template-columns:minmax(420px,.88fr) minmax(560px,1.35fr);gap:14px;min-height:620px}
.hero-copy{position:relative;z-index:2;padding:26px 0 30px}
.hero.hero-visualized .eyebrow{color:#a77c36}
.hero.hero-visualized h1{color:#10284a;font-size:clamp(3.1rem,6.2vw,6.15rem);letter-spacing:.03em;margin:.15em 0 .18em}
.hero.hero-visualized .hero-catch{color:#162033;margin:0 0 .6em}
.hero.hero-visualized .hero-lead{color:#5f6774;max-width:590px}
.hero.hero-visualized .theme-btn{background:#101827;color:#fff;box-shadow:0 10px 24px rgba(16,24,39,.12)}
.hero.hero-visualized .theme-btn.alt{background:#fff;border:1px solid #d8dce3;color:#101827;box-shadow:none}
.hero-illustration{align-self:stretch;display:flex;align-items:flex-end;justify-content:flex-end;min-width:0}
.hero-illustration img{display:block;width:min(100%,900px);height:auto;object-fit:contain;object-position:right bottom;filter:drop-shadow(0 12px 28px rgba(15,23,42,.06))}
.hero-mini{margin-top:22px;display:flex;gap:8px;flex-wrap:wrap;align-items:center;color:#6b7280;font-size:.86rem}
.hero-mini strong{color:#1f2937;margin-right:4px}
.hero-mini span{padding:5px 9px;border-radius:999px;border:1px solid #e1ddd4;background:rgba(255,255,255,.72)}
@media(max-width:1050px){.hero.hero-visualized .hero-inner{grid-template-columns:1fr 1.05fr;min-height:540px}.hero.hero-visualized h1{font-size:clamp(2.8rem,7vw,5.2rem)}}
@media(max-width:900px){.hero.hero-visualized .hero-inner{grid-template-columns:1fr;padding-top:40px}.hero-copy{text-align:left;padding-bottom:0}.hero-illustration{justify-content:center}.hero-illustration img{width:min(100%,780px)}}
@media(max-width:560px){.hero.hero-visualized .hero-inner{padding:28px 16px 18px;gap:10px}.hero.hero-visualized h1{font-size:clamp(2.55rem,15vw,4.25rem)}.hero.hero-visualized .hero-lead{font-size:1rem}.hero-mini{display:none}.hero-illustration img{width:115%;max-width:none;margin-left:-7%;margin-right:-8%}}


/* v0.2.3: construction line-art illustrations across the top page */
.illustrated-section{overflow:hidden}
.illustrated-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:54px;align-items:center}
.illustrated-grid-reverse{grid-template-columns:minmax(360px,.95fr) minmax(0,1.05fr)}
.illustrated-copy h2{font-size:clamp(1.8rem,3vw,3rem);line-height:1.28;margin:.18em 0 .55em}
.illustrated-copy>p{color:var(--muted);max-width:720px}
.section-visual{margin:0;position:relative;border-radius:30px;overflow:hidden;background:#fff;box-shadow:0 18px 48px rgba(15,23,42,.07);border:1px solid rgba(197,155,87,.16)}
.section-visual:before{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.65)}
.section-visual img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.section-visual-register{transform:rotate(.4deg)}
.section-visual-match{transform:rotate(-.45deg)}
.section-visual-profile{transform:rotate(.35deg)}
.section-visual-support{transform:rotate(-.35deg)}
.feature-inline{margin:22px 0 8px;padding:22px;background:rgba(255,255,255,.82);box-shadow:0 10px 28px rgba(16,24,40,.04)}
.flow-cards{margin-top:34px}
.flow-cards>div{border:1px solid #e5e7eb;border-left:3px solid var(--accent);border-radius:16px;padding:18px;background:rgba(255,255,255,.72);box-shadow:0 7px 22px rgba(15,23,42,.04)}
.hero-illustration img{width:min(100%,920px);border-radius:26px}
@media(max-width:980px){.illustrated-grid,.illustrated-grid-reverse{grid-template-columns:1fr;gap:28px}.illustrated-grid-reverse .section-visual{order:2}.illustrated-grid-reverse .illustrated-copy{order:1}.section-visual{max-width:760px;width:100%;margin-inline:auto;transform:none}.flow-cards{margin-top:26px}}
@media(max-width:560px){.section-visual{border-radius:22px}.illustrated-grid{gap:22px}.feature-inline{padding:18px}.flow-cards>div{padding:16px}.hero-illustration img{border-radius:18px}}

/* v0.2.4: final visual tuning for desktop and mobile */
.hero.hero-visualized .hero-inner{grid-template-columns:minmax(400px,.80fr) minmax(620px,1.48fr);gap:22px;min-height:640px}
.hero-illustration img{width:min(104%,980px);max-width:none}
.illustrated-grid{gap:48px}
.illustrated-copy{padding-block:4px}
.section-visual{box-shadow:0 16px 42px rgba(15,23,42,.065)}
.illustrated-copy>p,.section-title p,.feature-box p,.cta-box p{line-height:1.82}
.flow span,.portal span{line-height:1.72}

@media(max-width:1050px){
  .hero.hero-visualized .hero-inner{grid-template-columns:minmax(360px,.9fr) minmax(500px,1.2fr);min-height:560px;gap:18px}
  .hero-illustration img{width:min(106%,900px)}
}

@media(max-width:900px){
  .hero.hero-visualized .hero-inner{grid-template-columns:1fr;min-height:auto;gap:18px}
  .hero-illustration{margin-top:4px}
  .hero-illustration img{width:min(108%,820px)}
  .illustrated-grid,.illustrated-grid-reverse{gap:30px}
}

@media(max-width:560px){
  body{line-height:1.78}
  .hero.hero-visualized .hero-inner{padding:30px 16px 24px;gap:14px}
  .hero-copy{padding-bottom:2px}
  .hero.hero-visualized .hero-catch{line-height:1.55;margin-bottom:.7em}
  .hero.hero-visualized .hero-lead{font-size:1.02rem;line-height:1.82}
  .hero-actions{margin-top:22px}
  .hero-illustration{margin-top:4px;overflow:visible}
  .hero-illustration img{width:121%;max-width:none;margin-left:-10.5%;margin-right:-10.5%;border-radius:20px}
  .section{padding:56px 16px}
  .illustrated-grid,.illustrated-grid-reverse{gap:26px}
  .illustrated-copy{padding-block:0}
  .illustrated-copy h2,.section-title h2{line-height:1.34}
  .illustrated-copy>p,.section-title p,.feature-box p,.cta-box p{font-size:1rem;line-height:1.86}
  .portal span,.flow span{font-size:.95rem;line-height:1.76}
  .section-title{margin-bottom:24px}
  .section-visual{border-radius:22px;box-shadow:0 13px 34px rgba(15,23,42,.06)}
  .feature-inline{margin-top:18px;margin-bottom:10px}
  .flow-cards{margin-top:24px;gap:12px}
  .cta-box{padding:30px 22px;border-radius:22px}
  .cta-box h2{line-height:1.35}
}



/* v0.2.5: deep-color background only behind the hero copy */
.hero.hero-visualized .hero-copy{
  background:linear-gradient(145deg,#0b1b34 0%,#132a4a 100%);
  color:#fff;
  border:1px solid rgba(197,155,87,.34);
  border-radius:30px;
  padding:34px 36px 36px;
  box-shadow:0 22px 48px rgba(15,23,42,.14);
}
.hero.hero-visualized .hero-copy .eyebrow{color:#e0bc7b}
.hero.hero-visualized .hero-copy h1{color:#fff}
.hero.hero-visualized .hero-copy .hero-catch{color:#fff}
.hero.hero-visualized .hero-copy .hero-lead{color:#dbe3ef}
.hero.hero-visualized .hero-copy .theme-btn{background:#fff;color:#10213d;box-shadow:none}
.hero.hero-visualized .hero-copy .theme-btn.alt{background:transparent;border-color:rgba(255,255,255,.56);color:#fff}
.hero.hero-visualized .hero-copy .hero-mini{color:#c7d1df}
.hero.hero-visualized .hero-copy .hero-mini strong{color:#fff}
.hero.hero-visualized .hero-copy .hero-mini span{border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:#eef3f8}
@media(max-width:900px){
  .hero.hero-visualized .hero-copy{padding:30px 30px 32px}
}
@media(max-width:560px){
  .hero.hero-visualized .hero-copy{padding:25px 22px 27px;border-radius:22px}
}


/* v0.2.6: joint operators and legal footer */
.skt-footer-grid{align-items:flex-start}
.skt-footer-operators{line-height:1.8;color:#d7dde8}
.skt-footer-operators b{color:#e0bc7b}
.skt-footer-operators span{color:#9aa8bd}
.skt-footer-links{display:flex;flex-wrap:wrap;gap:9px 16px;justify-content:flex-end;max-width:360px}
.skt-footer-links a{font-size:.84rem;color:#e5e7eb;text-decoration:none;border-bottom:1px solid rgba(229,231,235,.3)}
.skt-footer-links small{width:100%;text-align:right;color:#9aa8bd}
@media(max-width:900px){.skt-footer-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:22px}.skt-footer-links{grid-column:1/-1;justify-content:flex-start;max-width:none}.skt-footer-links small{text-align:left}}
@media(max-width:560px){.skt-footer-grid{grid-template-columns:1fr}.skt-footer-links{grid-column:auto}.skt-footer-operators span{display:block}.skt-footer-links small{text-align:left}}


/* v0.2.7: opening date badge */
.open-badge{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin:0 0 16px;
  padding:8px 14px 8px 12px;
  border-radius:999px;
  background:#d2aa67;
  color:#08172c;
  box-shadow:0 8px 22px rgba(0,0,0,.18);
  line-height:1;
}
.open-badge span{font-size:.82rem;font-weight:900;letter-spacing:.06em}
.open-badge strong{font-size:1.05rem;letter-spacing:.12em}
@media(max-width:560px){
  .open-badge{margin-bottom:14px;padding:8px 13px}
  .open-badge span{font-size:.78rem}
  .open-badge strong{font-size:1rem}
}


/* v0.2.8: participatory launch / team-building positioning */
.hero-community .hero-copy{padding-top:30px}
.hero-team-copy{margin-top:20px;padding:15px 17px;border-left:3px solid #d2aa67;background:rgba(255,255,255,.07);color:#dce5ef;font-size:1rem;line-height:1.65}.hero-team-copy strong{color:#fff;font-size:1.13rem}
.community-invite-section{padding-top:62px;padding-bottom:62px}.community-invite-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:36px;align-items:center}.community-invite-grid h2{font-size:clamp(2rem,4vw,3.4rem);line-height:1.3;margin:.2em 0 .15em}.community-invite-grid h3{font-size:clamp(1.25rem,2.2vw,1.8rem);margin:.1em 0 .7em;color:#7f5c28}.community-invite-grid p{color:#5f6876;line-height:1.9}.community-invite-points{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.community-invite-points span{display:inline-flex;padding:7px 11px;border-radius:999px;background:#f5f1e8;border:1px solid #e7dcc8;color:#71522a;font-size:.82rem;font-weight:800}.community-invite-action{padding:28px;border-radius:22px;background:#10213d;color:#fff;box-shadow:0 16px 38px rgba(16,33,61,.11)}.community-invite-action strong{display:block;font-size:1.35rem}.community-invite-action p{color:#d4deea}.community-invite-action .theme-btn{background:#fff;color:#10213d}
.difference-cards{display:grid;gap:10px;margin:20px 0}.difference-card{display:grid;gap:5px;border-radius:16px;padding:17px 18px;border:1px solid #e0e3e7}.difference-card small{font-size:.72rem;font-weight:900;letter-spacing:.08em}.difference-card strong{font-size:1.08rem}.difference-card span{font-size:.9rem}.difference-card.muted{background:#fff;color:#596579}.difference-card.active{background:#10213d;border-color:#10213d;color:#fff}.difference-card.active small{color:#dcbc7d}.difference-card.active span{color:#d5dfeb}
.team-pill-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:22px 0}.team-pill-row span{display:inline-flex;align-items:center;justify-content:center;min-width:66px;padding:9px 12px;border-radius:999px;background:#fff;border:1px solid #dfd5c5;font-weight:900}.team-pill-row span:first-child{background:#10213d;color:#fff;border-color:#10213d}.team-pill-row b{color:#a77c36}
.enmusubi-section{padding-top:42px;padding-bottom:42px}.enmusubi-box-home{padding:42px;border-radius:28px;background:linear-gradient(145deg,#0c1e38,#163252);color:#fff;border:1px solid rgba(197,155,87,.32);box-shadow:0 18px 42px rgba(15,23,42,.10)}.enmusubi-box-home .eyebrow{color:#dfbd7d}.enmusubi-box-home h2{font-size:clamp(2rem,4vw,3.45rem);margin:.2em 0 .35em}.enmusubi-box-home p{max-width:850px;color:#d7e1ed;line-height:1.85}.enmusubi-flow-home{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:22px}.enmusubi-flow-home span{padding:9px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);font-weight:800}.enmusubi-flow-home b{color:#dfbd7d}
.info-connection-section .feature-inline b{color:#8c652c}
.cta-community{display:grid;grid-template-columns:1fr auto;align-items:center;gap:24px}.cta-community>div:first-child>span{display:inline-flex;color:#e1c184;font-weight:900;letter-spacing:.08em;font-size:.78rem}.cta-community-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.cta-community .theme-btn.alt{border-color:rgba(255,255,255,.45);color:#fff}
.site-nav .nav-participate{color:#8b6229}
@media(max-width:900px){.community-invite-grid,.cta-community{grid-template-columns:1fr}.cta-community-actions{justify-content:flex-start}.community-invite-action{padding:24px}.enmusubi-flow-home{display:grid;grid-template-columns:1fr}.enmusubi-flow-home b{text-align:center}}
@media(max-width:560px){.hero-team-copy{font-size:.94rem}.hero-team-copy strong{display:block;margin-top:2px}.community-invite-section{padding-top:48px;padding-bottom:48px}.community-invite-grid{gap:22px}.community-invite-action .theme-btn{width:100%}.team-pill-row{gap:6px}.team-pill-row span{min-width:58px;padding:8px 10px;font-size:.9rem}.enmusubi-box-home{padding:28px 20px;border-radius:22px}.cta-community-actions{display:grid}.cta-community-actions .theme-btn{width:100%}}

@media(max-width:1100px) and (min-width:901px){.site-nav{gap:13px}.site-nav a{font-size:.86rem}.site-header-inner{gap:16px}}


/* v0.2.9: early SEO benefit message for member profiles */
.seo-benefit-strip{padding:18px 24px;background:#f4efe4;border-top:1px solid #e4d8c4;border-bottom:1px solid #e4d8c4}
.seo-benefit-inner{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:center}
.seo-benefit-label{display:inline-flex;align-items:center;justify-content:center;padding:8px 13px;border-radius:999px;background:#10213d;color:#fff;font-size:.78rem;font-weight:900;letter-spacing:.05em;white-space:nowrap}
.seo-benefit-strip p{margin:0;color:#27364b;font-size:clamp(.98rem,1.45vw,1.12rem);line-height:1.75}
.seo-benefit-strip p strong{color:#10213d}
@media(max-width:760px){.seo-benefit-strip{padding:18px 16px}.seo-benefit-inner{grid-template-columns:1fr;gap:10px}.seo-benefit-label{justify-self:start}.seo-benefit-strip p{font-size:.96rem}}


/* v0.3.0: rebalance hero and promote SEO merit as an independent card */
.hero.hero-visualized{background:linear-gradient(180deg,#f8f6f1 0%,#f8f6f1 100%);color:var(--ink)}
.hero.hero-visualized .hero-inner{grid-template-columns:minmax(460px,1.04fr) minmax(500px,.96fr);gap:34px;align-items:stretch;padding:54px 24px 44px;min-height:auto}
.hero.hero-visualized .hero-copy{display:flex;flex-direction:column;justify-content:center;min-height:100%;padding:34px 34px 36px}
.hero.hero-visualized .hero-copy h1{font-size:clamp(2.9rem,5.2vw,4.9rem)}
.hero.hero-visualized .hero-copy .hero-lead{font-size:1.06rem;line-height:1.82}
.hero.hero-visualized .hero-copy .hero-catch{font-size:1.12rem;line-height:1.7}
.hero.hero-visualized .hero-actions{margin-top:20px}
.hero.hero-visualized .hero-mini{margin-top:16px}
.hero.hero-visualized .hero-illustration{display:flex;align-items:stretch;justify-content:center}
.hero.hero-visualized .hero-illustration img{width:100%;max-width:100%;height:100%;object-fit:cover;border-radius:30px;box-shadow:0 18px 42px rgba(15,23,42,.08)}

.seo-benefit-card-section{padding-top:10px;padding-bottom:54px;background:#fff}
.seo-benefit-card{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(240px,.7fr);gap:26px;align-items:center;padding:28px 30px;border-radius:28px;background:linear-gradient(145deg,#fffdfa 0%,#f8f2e8 100%);border:1px solid #eadfcd;box-shadow:0 18px 38px rgba(16,33,61,.06)}
.seo-benefit-card-badge{display:inline-flex;align-items:center;justify-content:center;padding:10px 15px;border-radius:999px;background:#10213d;color:#fff;font-size:.8rem;font-weight:900;letter-spacing:.06em;white-space:nowrap}
.seo-benefit-card-copy h2{margin:0 0 10px;font-size:clamp(1.7rem,2.7vw,2.6rem);line-height:1.32;color:#10213d}
.seo-benefit-card-copy p{margin:0;color:#334155;font-size:1.03rem;line-height:1.86}
.seo-benefit-card-copy p strong{color:#10213d}
.seo-benefit-card-note{padding:18px 20px;border-radius:20px;background:#fff;border:1px solid #e8dcc9;display:grid;gap:8px}
.seo-benefit-card-note strong{font-size:.95rem;color:#7a5a24;letter-spacing:.04em}
.seo-benefit-card-note span{color:#5b6472;font-size:.95rem;line-height:1.76}

@media(max-width:1100px){
  .hero.hero-visualized .hero-inner{grid-template-columns:minmax(400px,1fr) minmax(420px,.95fr);gap:24px}
  .seo-benefit-card{grid-template-columns:1fr;gap:18px}
  .seo-benefit-card-badge{justify-self:start}
}

@media(max-width:900px){
  .hero.hero-visualized .hero-inner{grid-template-columns:1fr;padding:38px 24px 26px;gap:18px}
  .hero.hero-visualized .hero-copy{padding:30px 28px 30px}
  .hero.hero-visualized .hero-illustration img{height:auto}
  .seo-benefit-card-section{padding-top:4px;padding-bottom:48px}
}

@media(max-width:560px){
  .hero.hero-visualized .hero-inner{padding:24px 16px 20px;gap:16px}
  .hero.hero-visualized .hero-copy{padding:24px 20px 24px;border-radius:22px}
  .hero.hero-visualized .hero-copy h1{font-size:clamp(2.25rem,11vw,3.5rem);line-height:1.06}
  .hero.hero-visualized .hero-copy .hero-lead,.hero.hero-visualized .hero-copy .hero-catch{font-size:.98rem}
  .hero.hero-visualized .hero-illustration img{border-radius:22px}
  .seo-benefit-card-section{padding:0 0 42px}
  .seo-benefit-card{padding:22px 18px;border-radius:22px;gap:16px}
  .seo-benefit-card-copy h2{font-size:1.55rem}
  .seo-benefit-card-copy p,.seo-benefit-card-note span{font-size:.95rem;line-height:1.8}
}


/* v0.3.1: simplify SEO message and add privacy reassurance near the top */
.early-benefits-section{padding-top:10px;padding-bottom:56px;background:#fff}
.early-benefits-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.compact-benefit-card{min-height:100%;padding:26px 28px;border-radius:26px;box-shadow:0 16px 34px rgba(16,33,61,.055)}
.seo-benefit-card.compact-benefit-card{display:grid;grid-template-columns:1fr;gap:16px;align-content:start;background:linear-gradient(145deg,#fffdfa 0%,#f8f2e8 100%);border:1px solid #eadfcd}
.seo-benefit-card.compact-benefit-card .seo-benefit-card-badge{justify-self:start}
.seo-benefit-card.compact-benefit-card .seo-benefit-card-copy h2{font-size:clamp(1.75rem,2.4vw,2.45rem);margin-bottom:9px}
.seo-benefit-card.compact-benefit-card .seo-benefit-card-copy p{font-size:1rem}
.privacy-benefit-card{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start;background:linear-gradient(145deg,#f7fbff 0%,#eef5fb 100%);border:1px solid #d9e6f0}
.privacy-benefit-icon{width:46px;height:46px;border-radius:14px;background:#10213d;display:flex;align-items:center;justify-content:center;font-size:1.35rem;box-shadow:0 8px 20px rgba(16,33,61,.12)}
.privacy-benefit-label{display:inline-flex;margin-bottom:7px;color:#6b7280;font-size:.78rem;font-weight:900;letter-spacing:.08em}
.privacy-benefit-copy h2{margin:0 0 8px;font-size:clamp(1.7rem,2.35vw,2.35rem);line-height:1.3;color:#10213d}
.privacy-benefit-copy p{margin:0;color:#4b5563;font-size:.98rem;line-height:1.82}
.privacy-benefit-copy>strong{display:block;margin-top:12px;color:#0f5132;font-size:.95rem;line-height:1.65}
@media(max-width:900px){.early-benefits-grid{grid-template-columns:1fr}.early-benefits-section{padding-top:4px;padding-bottom:48px}}
@media(max-width:560px){.early-benefits-section{padding-bottom:42px}.compact-benefit-card{padding:22px 18px;border-radius:22px}.privacy-benefit-card{grid-template-columns:1fr}.privacy-benefit-icon{width:42px;height:42px}.privacy-benefit-copy h2,.seo-benefit-card.compact-benefit-card .seo-benefit-card-copy h2{font-size:1.55rem}}


/* v0.3.2: compact Today's Goen block on home */
.goen-today-home-section{padding-top:4px;padding-bottom:46px;background:#fff}
.goen-today-home-section .sk-goen-today{margin:0}
@media(max-width:560px){.goen-today-home-section{padding-top:0;padding-bottom:38px}}

/* v0.3.3: entry point for needs / referral page */
.needs-entry-section{padding-top:24px;padding-bottom:58px;background:#fff}
.needs-entry-box{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:24px;align-items:stretch;padding:34px;border-radius:28px;background:linear-gradient(145deg,#f8f4eb 0%,#fff 70%);border:1px solid #e8dcc8;box-shadow:0 16px 36px rgba(16,33,61,.055)}
.needs-entry-copy .eyebrow{color:#9a7032}.needs-entry-copy h2{font-size:clamp(1.9rem,3.5vw,3rem);line-height:1.35;margin:.18em 0 .4em;color:#10213d}.needs-entry-copy p{color:#536071;line-height:1.85;max-width:800px}.needs-entry-copy p strong{color:#10213d}
.needs-entry-phrases{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.needs-entry-phrases span{display:inline-flex;padding:7px 10px;border-radius:999px;background:#fff;border:1px solid #e4d7c2;color:#705228;font-size:.82rem;font-weight:800}
.needs-entry-action{display:flex;flex-direction:column;justify-content:center;padding:28px;border-radius:22px;background:#10213d;color:#fff}.needs-entry-action>strong{font-size:1.25rem;line-height:1.55}.needs-entry-action p{color:#d8e2ee;line-height:1.75}.needs-entry-action .theme-btn{align-self:flex-start;background:#fff;color:#10213d}.needs-entry-action small{margin-top:12px;color:#b9c5d4;line-height:1.6}
@media(max-width:900px){.needs-entry-box{grid-template-columns:1fr}.needs-entry-action{padding:24px}.needs-entry-action .theme-btn{align-self:flex-start}}
@media(max-width:560px){.needs-entry-section{padding-top:8px;padding-bottom:44px}.needs-entry-box{padding:22px 18px;border-radius:22px}.needs-entry-copy h2{font-size:1.65rem}.needs-entry-phrases span{width:100%;border-radius:10px}.needs-entry-action .theme-btn{width:100%}}


/* v0.3.4: two-way entry + automatic matching explanation */
.matching-entry-section{background:#fff;padding-top:60px;padding-bottom:66px}
.matching-entry-head{max-width:860px;margin-bottom:28px}
.matching-entry-head .eyebrow{color:#a77c36}
.matching-entry-head h2{font-size:clamp(2rem,4vw,3.55rem);line-height:1.25;margin:.18em 0 .35em;color:#10284a}
.matching-entry-head p{margin:0;color:var(--muted);font-size:1.05rem}
.matching-entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.matching-entry-card{border:1px solid #e6e1d7;border-radius:24px;padding:28px;background:#fbfaf7;box-shadow:0 12px 30px rgba(15,23,42,.045)}
.matching-entry-card h3{font-size:clamp(1.5rem,2.5vw,2.2rem);line-height:1.35;margin:.3em 0 .45em;color:#172033}
.matching-entry-card p{color:#606977;margin:0 0 18px}
.matching-entry-label{display:inline-flex;padding:6px 10px;border-radius:999px;background:#efe5d3;color:#79591f;font-size:.82rem;font-weight:900}
.auto-match-explainer{margin-top:28px;border-radius:30px;padding:34px;background:#10284a;color:#fff;box-shadow:0 18px 42px rgba(15,23,42,.1)}
.auto-match-copy{display:grid;grid-template-columns:.85fr 1.15fr;gap:26px;align-items:start}
.auto-match-copy h3{font-size:clamp(1.7rem,3vw,2.8rem);line-height:1.3;margin:.25em 0 0}
.auto-match-copy p{margin:4px 0 0;color:#dce5ef}
.auto-match-badge{display:inline-flex;width:max-content;padding:6px 10px;border:1px solid rgba(216,192,150,.45);border-radius:999px;color:#e7cf9f;font-size:.78rem;font-weight:900;letter-spacing:.12em}
.auto-match-rules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:28px}
.auto-match-rules>div{background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:18px}
.auto-match-rules small{display:block;color:#d7c59f;margin-bottom:6px}
.auto-match-rules strong{display:block;font-size:1.08rem;margin-bottom:4px}
.auto-match-rules span{display:block;color:#dbe3ec;font-size:.9rem}
.auto-match-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:10px;align-items:center;margin-top:20px}
.auto-match-flow>div{min-height:122px;background:#fff;color:#172033;border-radius:18px;padding:17px}
.auto-match-flow b{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#c59b57;color:#fff;margin-bottom:8px}
.auto-match-flow strong,.auto-match-flow span{display:block}
.auto-match-flow span{font-size:.86rem;color:#667085;margin-top:4px}
.auto-match-flow i{font-style:normal;font-size:1.4rem;color:#d8c096}
.auto-match-note{margin:20px 0 0;padding:14px 16px;border-radius:14px;background:rgba(216,192,150,.12);color:#eef3f8}
.auto-match-note strong{color:#f3dcae}
@media(max-width:900px){.auto-match-copy{grid-template-columns:1fr}.auto-match-rules{grid-template-columns:1fr}.auto-match-flow{grid-template-columns:1fr}.auto-match-flow i{transform:rotate(90deg);justify-self:center}.auto-match-flow>div{min-height:0}.matching-entry-grid{grid-template-columns:1fr}}
@media(max-width:560px){.matching-entry-section{padding-top:44px;padding-bottom:50px}.matching-entry-card{padding:22px}.auto-match-explainer{padding:24px 18px;border-radius:24px}}


/* v0.3.7: member benefits after community invitation */
.member-benefits-section{background:linear-gradient(180deg,#fff 0%,#f7f3eb 100%);padding-top:66px;padding-bottom:72px}
.member-benefits-head{max-width:820px;margin-bottom:30px}
.member-benefits-head h2{margin:.18em 0 .35em;font-size:clamp(2rem,3.8vw,3.45rem);line-height:1.22;color:#10213d}
.member-benefits-head p{margin:0;color:#596578;font-size:1.04rem;line-height:1.9}
.member-benefits-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.member-benefit-card{position:relative;min-height:238px;padding:24px 22px;border-radius:22px;background:#fff;border:1px solid #e7dfd1;box-shadow:0 12px 28px rgba(16,33,61,.055)}
.member-benefit-card.is-coming{background:#fbf8f1;border-style:dashed}
.member-benefit-icon{display:flex;align-items:center;justify-content:center;width:46px;height:46px;margin-bottom:18px;border-radius:14px;background:#10213d;color:#fff;font-size:1.2rem;font-weight:900;line-height:1}
.member-benefit-card small{display:block;margin-bottom:4px;color:#99713a;font-size:.76rem;font-weight:900;letter-spacing:.06em}
.member-benefit-card h3{margin:0 0 9px;color:#172033;font-size:1.25rem;line-height:1.42}
.member-benefit-card p{margin:0;color:#5c6573;font-size:.92rem;line-height:1.78}
.member-benefits-growing{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-top:26px;padding:18px 20px;border-top:1px solid #dfd4c2;border-bottom:1px solid #dfd4c2}.member-benefits-growing strong{color:#10213d;font-size:1.25rem}.member-benefits-growing span{color:#6a6257;font-size:.94rem}
.member-benefits-cta{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:24px;padding:25px 28px;border-radius:22px;background:#10213d;color:#fff}
.member-benefits-cta>div{display:grid;gap:3px}.member-benefits-cta strong{font-size:1.18rem}.member-benefits-cta span{color:#d9e2ed;font-size:.92rem}.member-benefits-cta .theme-btn{margin:0;background:#fff;color:#10213d;white-space:nowrap}
@media(max-width:1000px){.member-benefits-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.member-benefits-section{padding-top:50px;padding-bottom:54px}.member-benefits-head h2{font-size:1.85rem}.member-benefits-grid{grid-template-columns:1fr;gap:12px}.member-benefit-card{min-height:0;padding:21px 19px}.member-benefits-growing{display:grid;gap:4px;padding:16px 4px}.member-benefits-growing strong{font-size:1.18rem}.member-benefits-cta{align-items:stretch;flex-direction:column;padding:22px 18px}.member-benefits-cta .theme-btn{width:100%;justify-content:center}}

/* Region multi-selection: separate home location from matching areas. */
.sk-region-field { padding:1rem; border:1px solid #d6e2ed; border-radius:12px; margin: .75rem 0 1.25rem; min-width:0; }
.sk-region-field legend { font-weight:700; padding:0 .3rem; }
.sk-region-grid {display:grid;grid-template-columns:repeat(auto-fill,minmax(105px,1fr));gap:.5rem;}
.sk-region-chip {display:flex;align-items:center;gap:.25rem;border:1px solid #d6e2ed;border-radius:8px;padding:.4rem .55rem;cursor:pointer;font-size:.9rem;}
.sk-region-chip input {width:auto;margin:0;accent-color:#173961;}
.sk-region-chip:has(input:checked) {border-color:#173961;background:#eff6ff;}
@media(max-width:480px) {.sk-region-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem}.sk-region-chip {padding:.4rem .22rem;font-size:.78rem;}}
