/* Shared supporting pages for the Flexdoc site. */
.header nav a[aria-current=page]{color:var(--lime)}
.partners-page .res-intro h1{font-size:clamp(3.2rem,5.6vw,5.4rem)}
.partners-page .res-intro .res-summary{max-width:440px;margin-top:25px}
.partners-page .res-photo>img{object-position:center}
.partners-page .res-hero-inner{padding-bottom:44px}
.partner-cards{display:grid;grid-template-columns:1fr 1fr;gap:23px}
.partner-cards .res-option{padding:34px}
.partner-cards .res-option h3{font-size:clamp(1.8rem,2.7vw,2.65rem)}
.partner-cards .res-option .pill{font-size:12px}
.partner-process,.about-approach{background:#e9ede5}
.role-note{margin-top:36px;padding-top:24px;border-top:1px solid #bfcbb4;font-size:14px;color:#59664f}
.partner-contact{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:80px}
.partner-contact .eyebrow{color:var(--muted);margin-bottom:24px}
.partner-contact>div>p:not(.eyebrow){max-width:430px;color:var(--muted);margin-top:23px}
.partner-contact .button{margin-top:29px}
.contact-panel{border:1px solid var(--line);background:white;padding:35px;border-radius:5px}
.contact-panel h3{font-size:22px;letter-spacing:-.025em;line-height:1.2;margin-bottom:25px}
.contact-panel a{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:18px;padding:16px 0;border-top:1px solid var(--line)}
.contact-panel a:hover{text-decoration:underline;text-underline-offset:5px}
.contact-panel p{font-size:14px;color:var(--muted);margin-top:20px}
.story-hero{background:var(--ink);color:white}
.story-hero-inner{max-width:1536px;padding:36px 4.5% 68px;margin:auto}
.story-hero .eyebrow{color:#bdc8b5;margin-bottom:27px}
.story-heading{display:grid;grid-template-columns:1.85fr 1fr;align-items:end;gap:50px}
.story-heading h1{font-size:clamp(3.25rem,5vw,5rem)}
.story-heading h1 span{color:var(--lime)}
.story-heading>p{font-size:19px;color:#bdc8b5;line-height:1.6;max-width:390px}
.founder-section{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center}
.founder-photo{margin:0;min-width:0}
.founder-photo img{width:100%;height:auto;aspect-ratio:1.12;object-fit:cover;object-position:30% center;border-radius:5px}
.founder-photo figcaption{font-size:13px;color:var(--muted);padding-top:14px}
.founder-copy .eyebrow{color:var(--muted);margin-bottom:24px}
.founder-copy h2{font-size:clamp(2.4rem,3.5vw,3.5rem)}
.founder-copy>p:not(.eyebrow){color:var(--muted);margin-top:22px;font-size:16px;line-height:1.7}
.founder-copy .text-link{margin-top:26px}
.data-link{margin-top:38px}
.focus-links{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.focus-links>a{display:block;position:relative;padding:33px 36px 40px;border:1px solid var(--line);background:white;border-radius:5px;transition:border-color .2s}
.focus-links>a:nth-child(2){background:#e9ede5}
.focus-links>a:hover{border-color:#70825d}
.focus-links>a>span{font-size:12px;letter-spacing:.1em;color:#606c54}
.focus-links h3{font-size:clamp(2rem,3vw,3rem);line-height:1.1;letter-spacing:-.04em;margin:34px 0 23px}
.focus-links p{font-size:16px;color:#626c57;max-width:360px;padding-right:30px}
.focus-links b{position:absolute;bottom:31px;right:28px;font-size:27px;font-weight:400}
.developer-note{border-top:1px solid var(--line);margin-top:37px;padding-top:29px;display:flex;align-items:center;gap:40px;justify-content:space-between}
.developer-note h3{font-size:20px;letter-spacing:-.025em;margin-bottom:8px}
.developer-note p{font-size:16px;color:var(--muted);max-width:700px}
.developer-note .text-link{flex-shrink:0}
.booking-page{background:var(--paper)}
.booking-layout{max-width:1536px;margin:auto;padding:40px 4.5% 58px;display:grid;grid-template-columns:minmax(240px,.72fr) minmax(0,1.65fr);gap:48px;align-items:start}
.booking-intro .breadcrumb{color:var(--muted);margin-bottom:36px}
.booking-intro .breadcrumb a:hover{color:var(--ink)}
.booking-intro>.eyebrow{color:#647b45;margin-bottom:22px}
.booking-intro h1{font-size:clamp(2.7rem,3.5vw,3.6rem)}
.booking-intro>p:not(.eyebrow){color:var(--muted);font-size:17px;line-height:1.65;margin-top:22px;max-width:340px}
.booking-jump{margin-top:24px}
.booking-details{margin-top:39px;padding-top:26px;border-top:1px solid var(--line)}
.booking-details h2{font-size:18px;letter-spacing:-.025em;line-height:1.3;margin-bottom:12px}
.booking-details h2:not(:first-child){margin-top:28px}
.booking-details p{font-size:16px;line-height:1.65;color:var(--muted)}
.booking-details a{display:block;font-size:16px;margin-top:9px;overflow-wrap:anywhere}
.booking-details a:hover{text-decoration:underline;text-underline-offset:4px}
.calendar-panel{min-width:0;border:1px solid var(--line);background:white;border-radius:6px;overflow:hidden;scroll-margin-top:115px}
.calendar-header{padding:26px 28px 20px;border-bottom:1px solid var(--line)}
.calendar-header .eyebrow{font-size:12px;color:#657755;margin-bottom:9px}
.calendar-header h2{font-size:28px;line-height:1.15;letter-spacing:-.04em}
.booking-calendar{width:100%;height:810px;display:block;border:0;background:white;color-scheme:light}
.calendar-fallback{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;border-top:1px solid var(--line);padding:17px 25px;font-size:14px}
.calendar-fallback p{color:var(--muted)}
.calendar-fallback a{display:inline-flex;gap:12px;align-items:center;text-decoration:underline;text-underline-offset:4px}
.booking-address{background:#e9ede5;padding:25px 4.5%;display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.booking-address>span{font-size:12px;letter-spacing:.1em;color:#526345}
.booking-address>p{font-size:14px;color:#57614d}
.booking-address>a{margin-left:auto;font-size:14px}
@media(min-width:1537px){.booking-address{padding-left:max(4.5%,calc((100vw - 1400px)/2));padding-right:max(4.5%,calc((100vw - 1400px)/2))}}
@media(max-width:1100px){.story-heading{grid-template-columns:1.65fr 1fr;gap:35px}.story-heading>p{font-size:17px}.founder-section{gap:43px}.founder-photo img{aspect-ratio:.9}.partner-contact{gap:43px}.partner-cards .res-option{padding:27px}.booking-layout{grid-template-columns:minmax(220px,.7fr) minmax(0,1.4fr);gap:27px}.booking-intro h1{font-size:2.8rem}.calendar-fallback{font-size:14px}}
@media(max-width:800px){.partners-page .res-intro h1{font-size:clamp(3.4rem,9.4vw,4.9rem)}.partners-page .res-photo{height:350px}.partners-page .res-photo>img{object-position:center 60%}.partner-cards{grid-template-columns:1fr;gap:20px}.partner-cards .res-option h3{font-size:2.4rem}.partner-cards .res-option{padding:30px}.partner-contact{grid-template-columns:1fr;gap:35px}.contact-panel{padding:30px}.story-hero-inner{padding:28px 5% 47px}.story-heading{grid-template-columns:1fr;gap:26px}.story-heading h1{font-size:clamp(3rem,7.7vw,4.5rem)}.story-heading>p{font-size:18px;max-width:550px}.founder-section{grid-template-columns:1fr;gap:37px}.founder-photo img{aspect-ratio:1.5;object-position:center}.founder-copy h2{font-size:2.8rem}.founder-copy{max-width:600px}.focus-links>a{padding:29px}.focus-links h3{font-size:2.2rem}.focus-links p{padding-right:10px}.focus-links b{bottom:19px;right:18px}.developer-note{align-items:flex-start;flex-direction:column;gap:20px}.booking-layout{grid-template-columns:1fr;padding:29px 5% 40px;gap:30px}.booking-intro{display:grid;grid-template-columns:1fr 1fr;column-gap:35px}.booking-intro .breadcrumb{grid-column:1/-1;margin-bottom:26px}.booking-intro>.eyebrow,.booking-intro>h1,.booking-intro>p,.booking-jump{grid-column:1}.booking-details{grid-column:2;grid-row:2/6;margin:0;padding:0;border:0}.booking-intro h1{font-size:2.9rem}.booking-calendar{height:900px}.booking-address{padding:25px 5%;gap:14px}.booking-address>a{margin-left:0}.schedule-page footer{padding-bottom:35px}}
@media(max-width:500px){.partners-page .res-intro h1{font-size:11.1vw}.partner-cards .res-option{padding:25px}.partner-cards .res-option h3{font-size:2.05rem}.partner-cards .pill{font-size:12px;letter-spacing:.02em}.contact-panel{padding:25px}.contact-panel a{font-size:16px}.story-heading h1{font-size:10.1vw}.story-heading>p{font-size:17px}.story-hero .breadcrumb{margin-bottom:28px}.founder-copy h2{font-size:2.55rem}.founder-photo img{aspect-ratio:1.15;object-position:27% center}.focus-links{grid-template-columns:1fr}.focus-links h3{font-size:2.5rem}.booking-layout{padding:24px 0 35px;gap:27px}.booking-intro{display:block;padding:0 5%}.booking-intro h1{font-size:2.65rem}.booking-intro>p:not(.eyebrow){margin-top:17px;max-width:100%}.booking-intro>.eyebrow{margin-bottom:16px}.booking-details{display:none}.booking-jump{margin-top:19px}.calendar-panel{border-left:0;border-right:0;border-radius:0}.calendar-header{padding:23px 5% 18px}.calendar-header h2{font-size:25px}.booking-calendar{height:1000px}.calendar-fallback{padding:18px 5%;gap:9px}.booking-address{display:block}.booking-address>p{margin-top:9px}.booking-address>a{display:inline-block;margin-top:14px}.partner-contact .button{font-size:14px;gap:20px}}
@media(prefers-reduced-motion:reduce){.focus-links>a{transition:none}}
