*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:var(--s-1)}button,input,textarea{font:inherit}button,a,input,textarea,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:var(--border-ink);outline-offset:var(--s-1)}[hidden]{display:none!important}.wrap{width:min(100%,calc(var(--s-9)*10));margin:auto;padding-left:var(--s-7);padding-right:var(--s-7)}.preview-note{padding:var(--s-2) var(--s-4);background:var(--sand-light);text-align:center;font-size:var(--t-xs);color:var(--smoke)}.header{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);padding-top:var(--s-5);padding-bottom:var(--s-5);border-bottom:var(--border-hairline)}.header nav,.footer nav{display:flex;align-items:center;gap:var(--s-5);flex-wrap:wrap}.header nav a{font-size:var(--t-sm);text-decoration:none}.brand{text-decoration:none}.km{position:relative;display:inline-block;padding-right:var(--s-3);padding-bottom:var(--s-2)}.km-text{font-family:var(--font-display);font-size:var(--t-3xl);line-height:1}.km-tie{position:absolute;left:0;bottom:var(--s-2);width:calc(100% - var(--s-3));height:var(--s-2)}.km-dot{position:absolute;right:0;bottom:var(--s-1);width:var(--s-3);height:var(--s-3)}.km-dot svg{width:100%;height:100%}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-3);border:var(--border-ink);padding:var(--s-3) var(--s-4);background:transparent;color:var(--ink);font-size:var(--t-sm);font-weight:500;cursor:pointer;text-decoration:none}.button:hover{background:var(--sand-light)}.primary{background:var(--brick);border-color:var(--brick);color:var(--urban-white)}.primary:hover{background:var(--brick-deep);border-color:var(--brick-deep)}.hero{padding-top:var(--s-8);padding-bottom:var(--s-7);display:grid;grid-template-columns:1fr auto;gap:var(--s-7)}.service-name{font-family:var(--font-display);font-size:var(--t-2xl);margin:var(--s-5) 0}.service-name em{color:var(--brick);font-weight:400}.hero h1{font-size:var(--t-4xl);line-height:var(--lh-snug)}.lead{font-size:var(--t-lg);line-height:1.9;margin:var(--s-5) 0}.hero-side{display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding-bottom:var(--s-2)}.hero-side p{line-height:2}.hero-side a{font-size:var(--t-sm);margin-top:var(--s-5)}.large-number{font-family:var(--font-display);font-size:calc(var(--t-5xl)*2);line-height:1;color:var(--brick);font-style:italic}.large-number span{display:block;font-family:var(--font-mono);font-size:var(--t-xs);font-style:normal;color:var(--smoke);letter-spacing:var(--tr-mark);margin-top:var(--s-3)}.meta-strip{display:flex;gap:var(--s-6);flex-wrap:wrap;border-top:var(--border-hairline);border-bottom:var(--border-hairline);padding-top:var(--s-4);padding-bottom:var(--s-4);font-size:var(--t-sm)}.section{padding-top:var(--s-8);padding-bottom:var(--s-8)}.section h2{margin:var(--s-4) 0 var(--s-5);line-height:var(--lh-snug)}.split{display:grid;grid-template-columns:1fr 2.4fr;gap:var(--s-7)}.split>div{max-width:calc(var(--s-9)*6)}.split p{line-height:2}.community-photo{margin-top:0;margin-bottom:0}.community-photo img{width:100%;display:block;aspect-ratio:2/1;object-fit:cover}.community-photo figcaption{font-size:var(--t-xs);color:var(--smoke);margin-top:var(--s-3)}.hours,.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-6);margin-top:var(--s-6)}.hours article{border-top:var(--border-hairline);padding-top:var(--s-5)}.hour{font-family:var(--font-display);font-size:var(--t-3xl)}.hour small{font-family:var(--font-mono);font-size:var(--t-xs);color:var(--smoke)}.hours h3{font-size:var(--t-lg);margin-top:var(--s-4)}.sand-section{background:var(--sand-light)}.host{margin-top:var(--s-6);padding-top:var(--s-4);border-top:var(--border-strong)}.host strong{display:block;font-family:var(--font-body);font-size:var(--t-lg);font-weight:500}.venues{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-7);margin-top:var(--s-6)}.venue{border-top:var(--border-ink);padding-top:var(--s-4)}.venue h3{font-family:var(--font-display);font-size:var(--t-2xl)}.venue-time{font-family:var(--font-mono);font-size:var(--t-xl)}.dates{list-style:none;padding:0;margin:var(--s-5) 0 0}.dates li{display:flex;justify-content:space-between;gap:var(--s-3);border-top:var(--border-hairline);padding:var(--s-3) 0}.dates li span{font-size:var(--t-sm);color:var(--smoke)}.dates time{font-size:var(--t-md)}.top-line{border-top:var(--border-hairline)}.price{font-family:var(--font-display);font-size:var(--t-4xl);line-height:var(--lh-display)!important}.price span{font-family:var(--font-body);font-size:var(--t-sm);display:block;margin-top:var(--s-3)}.details{display:grid;grid-template-columns:1fr 3fr;gap:var(--s-4);margin-top:var(--s-6)}.details dt,.details dd{margin:0;padding:var(--s-3) 0;border-top:var(--border-hairline);overflow-wrap:anywhere}.details dt{font-size:var(--t-sm);color:var(--smoke)}.steps{padding-left:var(--s-4)}.steps li{padding-left:var(--s-2)}.closing{padding:var(--s-8) 0 0}.small,.help{font-size:var(--t-sm);color:var(--smoke)}.footer{border-top:var(--border-hairline);padding-top:var(--s-5);padding-bottom:var(--s-6)}.footer p,.footer a{font-size:var(--t-xs);color:var(--smoke)}.skip{position:absolute;left:var(--s-4);top:var(--s-3);transform:translateY(-300%);background:var(--urban-white);padding:var(--s-3);z-index:10}.skip:focus{transform:none}.form-wrap{max-width:calc(var(--s-9)*7);padding-top:var(--s-7);padding-bottom:var(--s-8)}.form-title{font-size:var(--t-3xl);margin:var(--s-4) 0}.notice{background:var(--sand-light);padding:var(--s-4);margin:var(--s-5) 0}.notice p{margin-bottom:0}details{border-top:var(--border-hairline);border-bottom:var(--border-hairline);padding:var(--s-4) 0}summary{cursor:pointer}.form-section{font-size:var(--t-xl);padding-top:var(--s-7);margin-bottom:var(--s-6)}.field{border:0;margin:0 0 var(--s-6);padding:0;min-width:0}.field legend{font-size:var(--t-md);font-weight:500;margin-bottom:var(--s-3);width:100%}.badge{font-size:var(--t-xs);font-weight:400;color:var(--smoke);white-space:nowrap;margin-left:var(--s-2)}.field input:not([type=checkbox]):not([type=radio]),.field textarea{width:100%;color:var(--ink);background:transparent;border:0;border-bottom:var(--border-strong);padding:var(--s-3) 0;border-radius:var(--r-0);resize:vertical}.field input:focus,.field textarea:focus{border-bottom-color:var(--brick)}.choice{display:flex;align-items:flex-start;gap:var(--s-3);padding:var(--s-2) 0;cursor:pointer}.choice input{flex-shrink:0;margin-top:var(--s-1);width:var(--s-3);height:var(--s-3);accent-color:var(--ink)}.schedule-note{padding:var(--s-4);background:var(--sand-light);margin-top:var(--s-4)}.schedule-note p{margin:0}.schedule-note ol{padding-left:var(--s-4)}#review:focus{outline:none}#review dd{white-space:pre-wrap}.error{color:var(--brick-deep)}
@media(max-width:800px){.wrap{padding-left:var(--s-4);padding-right:var(--s-4)}.hero{grid-template-columns:1fr;gap:var(--s-6);padding-top:var(--s-6)}.hero h1{font-size:var(--t-3xl)}.hero-side{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-4);align-items:end}.large-number{font-size:var(--t-5xl)}.large-number span{font-size:var(--t-xs);letter-spacing:var(--tr-normal)}.hero-side a{grid-column:1/-1;margin-top:0}.section{padding-top:var(--s-7);padding-bottom:var(--s-7)}.split{grid-template-columns:1fr;gap:var(--s-4)}.section h2{font-size:var(--t-2xl)}.hours,.steps{grid-template-columns:1fr;gap:var(--s-5)}.venues{grid-template-columns:1fr;gap:var(--s-6)}.header nav>a:first-child{display:none}.header nav{gap:var(--s-3)}.header .button{padding:var(--s-2) var(--s-3)}.km-text{font-size:var(--t-2xl)}.meta-strip{gap:var(--s-3);flex-direction:column}.community-photo img{aspect-ratio:3/2}.details{grid-template-columns:1fr;gap:0}.details dd{border:0;padding-top:0}.price{font-size:var(--t-3xl)}.footer nav{gap:var(--s-3)}.form-wrap{padding-top:var(--s-6)}}
/* Give the closing application link space from both adjacent paragraphs. */
.closing>.button{margin-top:var(--s-5);margin-bottom:var(--s-5)}

/* Consistent reading rhythm across the recruitment and application pages. */
.brand{border-bottom:0}
.header nav>a{white-space:nowrap}
.button{min-height:48px;line-height:1.6}
.button.primary:hover{color:var(--urban-white)}
.section h2{font-size:var(--t-2xl);line-height:1.55}
.section p+p,.form-wrap p+p{margin-top:var(--s-3)}
.section p.lead{margin-top:var(--s-5);margin-bottom:var(--s-5)}
.hours article p,.steps li p{margin-top:var(--s-3)}
.hour{display:block;line-height:1.3}
.hour small{display:block;margin-top:var(--s-2);line-height:1.7;letter-spacing:var(--tr-normal)}
.hours h3{font-size:var(--t-md);line-height:1.6}
.optional-social{border-top:var(--border-strong)}
.experience-intro{max-width:42em}
.host strong{margin-top:var(--s-2)}
.venue h3{margin-top:var(--s-2);margin-bottom:var(--s-4);font-size:var(--t-xl)}
.venue-time{font-size:var(--t-xl);line-height:1.5}
.venue-time span{display:block;font-family:var(--font-body);font-size:var(--t-sm);color:var(--smoke);margin-top:var(--s-1)}
.venue-social{font-size:var(--t-sm);line-height:1.8}
.venue-social span{display:inline-block;margin-left:var(--s-2);color:var(--smoke)}
.details{line-height:1.9;row-gap:var(--s-2)}
.steps{padding-left:0;list-style-position:inside}
.steps li{padding-left:0;line-height:1.8}
.closing h2{margin-top:0;margin-bottom:var(--s-4)}
.closing>.button{margin-top:var(--s-5);margin-bottom:var(--s-4)}
.footer nav{margin-top:var(--s-3)}
.form-wrap .section{padding-top:var(--s-6);padding-bottom:var(--s-5)}
.form-wrap .section>.button{margin-top:var(--s-5);margin-bottom:var(--s-4)}
.form-wrap details>p{margin-top:var(--s-5)}
.notice strong+p{margin-top:var(--s-2)}
@media(max-width:800px){
 .hero h1{font-size:clamp(var(--t-2xl),9vw,var(--t-3xl));line-height:1.5}
 .hero .lead,.section .lead{font-size:var(--t-md);line-height:1.9}
 .section h2{font-size:var(--t-xl);line-height:1.6;margin-bottom:var(--s-4)}
 .split{gap:var(--s-3)}
 .split>div>h2{margin-top:0}
 .hours,.venues,.steps{margin-top:var(--s-5)}
 .hours{gap:var(--s-5)}
 .hour{font-size:var(--t-2xl)}
 .host{margin-top:var(--s-5)!important}
 .venue-time{font-size:var(--t-lg)}
 .details{row-gap:0}
 .details dt{padding-top:var(--s-4);padding-bottom:var(--s-2)}
 .details dd{padding-bottom:var(--s-4)}
 .closing{padding-top:var(--s-7)}
 .form-wrap .form-title{font-size:var(--t-xl);line-height:1.6}
 .header{gap:var(--s-3)}
 .header .button{min-height:44px}
 .footer nav{align-items:flex-start;flex-direction:column}
}
@media(max-width:360px){.wrap{padding-left:var(--s-3);padding-right:var(--s-3)}.hero-side{column-gap:var(--s-2)}.hero-side p{font-size:var(--t-sm)}}
.section p.host{margin-top:var(--s-6)}
.hero-side>p{margin-top:var(--s-4)}
@media(max-width:800px){.hero-side>p{margin-top:0}.section p.host{margin-top:var(--s-5)}}

/* Real event and facilitator photography. */
.community-photo img{aspect-ratio:3/2}
.host-profiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-4);max-width:calc(var(--s-9)*4);margin-top:var(--s-4)}
.host-profiles figure{margin:0;min-width:0}
.host-profiles img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}
.host-profiles figcaption{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--s-2);margin-top:var(--s-3)}
.host-profiles figcaption span{font-size:var(--t-sm);color:var(--smoke)}
.host-profiles strong{margin:0;font-size:var(--t-md)}
@media(max-width:800px){.host-profiles{gap:var(--s-3)}.host-profiles figcaption{gap:var(--s-1)}.host-profiles strong{font-size:var(--t-base)}}

/* Keep facilitator portraits secondary to the community itself. */
.host-profiles{grid-template-columns:repeat(2,var(--s-9));gap:var(--s-5);max-width:100%}
.host-profiles figcaption{display:block}
.host-profiles figcaption span{display:block;margin-bottom:var(--s-1)}
.conversation-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-5);padding-bottom:var(--s-8)}
.conversation-photos figure{margin:0;min-width:0}
.conversation-photos img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.conversation-photos figcaption{margin-top:var(--s-3);font-size:var(--t-sm);line-height:1.8}
.conversation-photos figcaption span{display:block;margin-top:var(--s-1);font-size:var(--t-xs);color:var(--smoke)}
@media(max-width:800px){
 .hero h1{font-size:clamp(var(--t-xl),7.5vw,var(--t-2xl))}
 .host-profiles{grid-template-columns:repeat(2,var(--s-8));gap:var(--s-4)}
 .conversation-photos{grid-template-columns:1fr;gap:var(--s-5);padding-bottom:var(--s-7)}
}

/* Final photo rhythm: a quieter lead image and aligned profile captions. */
.community-photo{width:min(100%,calc(var(--s-9)*7))}
.community-photo figcaption{line-height:1.8;margin-top:var(--s-3)}
#about{padding-bottom:var(--s-7)}
#experience{padding-bottom:var(--s-7)}
.host-profiles figcaption{display:grid;gap:var(--s-1);margin-top:var(--s-3)}
.host-profiles figcaption strong{grid-row:1}
.host-profiles figcaption span{grid-row:2;margin:0}
.conversation-photos{column-gap:var(--s-4)}
@media(max-width:800px){
 .community-photo{width:100%}
 #about{padding-bottom:var(--s-6)}
 #experience{padding-bottom:var(--s-6)}
 .community-photo figcaption,.conversation-photos figcaption{margin-top:var(--s-2)}
 .conversation-photos{gap:var(--s-5)}
}

.button[aria-disabled="true"]{cursor:default}.button.primary[aria-disabled="true"]:hover{background:var(--brick);border-color:var(--brick)}

/* CTA rhythm: design-system spacing scale (32px desktop / 24px mobile). */
.hero .lead + .button { margin-top: var(--s-3); }
.hero .button + .small { margin-top: var(--s-5); margin-bottom: 0; }
.closing > .button { margin-top: var(--s-5); margin-bottom: var(--s-5); }
.closing > .button + .small { margin-top: 0; }
.closing > .small + .small { margin-top: var(--s-3); }
@media (max-width: 640px) {
  .hero .button + .small { margin-top: var(--s-4); }
  .closing > .button { margin-bottom: var(--s-4); }
}
