/* Atelier: pilates and boutique studios. Stone and clay, refined serif, centred layouts, fine rules and a studio menu. */
.coach-site.atelier{
  --cs-bg:#f4f1ec;--cs-alt:#ebe5dc;--cs-ink:#2b2622;--cs-soft:#655a52;--cs-line:#d6ccbf;--cs-card:#faf8f4;
  --cs-head:'Cormorant Garamond',serif;--cs-body:'Jost',sans-serif;--cs-head-weight:500;--cs-head-track:-0.01em;--cs-head-case:none;
  --cs-radius:2px;--cs-photo-radius:2px;--cs-button-radius:0;--cs-photo-pos:50% 6%;--cs-shadow:none
}
.atelier h1{font-size:clamp(50px,7vw,104px);line-height:.98}
.atelier h2{font-size:clamp(38px,4.6vw,62px);line-height:1.04}
.atelier h3{font-size:26px;font-weight:600}
.atelier .cs-kicker{font-size:12.5px;font-weight:500;letter-spacing:.24em;text-transform:uppercase}
.atelier .cs-button{min-height:52px;padding:0 32px;font-size:13px;font-weight:500;letter-spacing:.18em;text-transform:uppercase}
.atelier .cs-link{font-size:13px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;text-decoration-thickness:1px;text-underline-offset:8px}

/* Header: nav, centred wordmark, actions */
.atelier .cs-header{background:var(--cs-bg)}
.at-header-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;min-height:86px}
.at-nav{gap:26px}
.at-nav a{font-size:12.5px;letter-spacing:.16em;text-transform:uppercase}
.at-brand{justify-self:center;font-size:30px;font-weight:600;letter-spacing:0;text-align:center}
.atelier .cs-header-actions{justify-self:end}
.atelier .cs-login{font-size:12.5px;letter-spacing:.16em;text-transform:uppercase}

/* Hero: centred type over a framed wide photo */
.at-hero{padding:80px 0 8px;text-align:center}
.at-hero-copy{max-width:920px;margin:0 auto 60px}
.at-hero .cs-lede{max-width:560px;margin:26px auto 36px}
.at-hero .cs-actions{justify-content:center}
.at-hero-photo{margin:0;padding:14px;border:1px solid var(--cs-line)}
.at-hero-photo img,.at-hero-photo .cs-monogram{width:100%;aspect-ratio:16/7;object-fit:cover;object-position:var(--cs-photo-pos);border-radius:var(--cs-photo-radius)}
.at-proof{list-style:none;margin:0;padding:38px 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.at-proof li{padding:0 26px;border-left:1px solid var(--cs-line);font:italic 500 22px/1.35 var(--cs-head)}
.at-proof li:first-child{border-left:0}

.atelier :is(.cs-offers,.cs-process,.cs-stories,.cs-gallery,.cs-video) .cs-head{margin-inline:auto;text-align:center}

/* A slow ticker of italic words under the hero */
.at-marquee{margin-top:56px;padding:22px 0;border-block:1px solid var(--cs-line)}
.at-marquee span{font:italic 500 30px/1 var(--cs-head);color:var(--cs-ink)}
.at-marquee span::after{content:"\2726";margin:0 34px;font-size:16px;font-style:normal;color:var(--coach-accent)}
.coach-site.atelier img{filter:sepia(.16) saturate(.86)}

/* About: overlapping photo and card */
.at-about-inner{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:center}
.at-about-photo{grid-column:1/8;grid-row:1;margin:0}
.at-about-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:30% 50%}
.at-about-card{grid-column:6/13;grid-row:1;position:relative;padding:clamp(30px,4vw,56px);background:var(--cs-card);border:1px solid var(--cs-line)}
.at-no-photo .at-about-card{grid-column:2/12}
.at-about-card h2{margin-bottom:20px}
.at-about-card>p{color:var(--cs-soft);font-size:17.5px}
.at-about-quals{list-style:none;margin:24px 0 26px;padding:0;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase}
.at-about-quals li{padding:10px 0;border-top:1px solid var(--cs-line)}

/* Offers as a studio menu */
.at-menu{max-width:940px;margin:0 auto;border-bottom:1px solid var(--cs-line)}
.at-menu-item{padding:36px 0;border-top:1px solid var(--cs-line)}
.at-menu-line{display:flex;align-items:baseline;gap:18px}
.at-menu h3{font-size:clamp(28px,3vw,36px)}
.at-leader{flex:1;min-width:24px;border-bottom:1.5px dotted color-mix(in srgb,var(--cs-ink) 45%,transparent);transform:translateY(-7px)}
.at-menu .cs-price{margin:0;white-space:nowrap;font-size:32px;font-weight:600}
.at-menu .cs-price span{font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.at-menu .cs-offer-desc{max-width:620px;margin-top:8px}
.at-menu-includes{margin-top:12px;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--cs-soft)}
.at-menu-item .cs-link{display:inline-block;margin-top:20px}

/* Stories: one large quote, the rest in a row */
.at-stories{text-align:center}
.at-feature-quote{max-width:900px;margin:0 auto}
.at-feature-quote blockquote{margin:0;font:italic 500 clamp(28px,3.4vw,44px)/1.22 var(--cs-head)}
.at-feature-quote blockquote::before{content:"\201C";display:block;font:500 90px/.6 var(--cs-head);color:var(--coach-accent);margin-bottom:18px}
.at-stories figcaption{margin-top:24px;font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--cs-soft)}
.at-quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:44px;margin-top:64px;padding-top:48px;border-top:1px solid var(--cs-line);text-align:left}
.at-quotes figure{margin:0}
.at-quotes blockquote{margin:0;font-size:17px}
.at-quotes figcaption{margin-top:16px}

.atelier .cs-step{padding:28px 0 0;border:0;border-top:1px solid var(--cs-ink);border-radius:0;background:none}
.atelier .cs-step-num{width:auto;height:auto;margin-bottom:10px;background:none;color:var(--cs-accent-text);font:italic 500 44px/1 var(--cs-head)}
.atelier .cs-faq-list summary{font:600 23px/1.3 var(--cs-head)}
.atelier .cs-form{background:var(--cs-card)}
.atelier .cs-form label{font-size:12.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase}
.atelier .cs-form input,.atelier .cs-form textarea{border-width:1px;border-radius:0;background:var(--cs-bg)}
.atelier .cs-footer{text-align:center}
.atelier .cs-footer-inner{flex-direction:column;align-items:center}
.atelier .cs-footer-brand .cs-brand{justify-content:center;font-size:30px;font-weight:600}
.atelier .cs-footer-brand p{margin-inline:auto;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase}
.atelier .cs-footer-nav{justify-content:center;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase}

/* Centred FAQ and enquiry */
.atelier .cs-faq-inner{grid-template-columns:minmax(0,1fr);max-width:820px;margin:0 auto;gap:8px}
.atelier .cs-faq .cs-head{margin-inline:auto;text-align:center}
.atelier .cs-contact-inner{grid-template-columns:minmax(0,1fr);max-width:760px;margin:0 auto;gap:34px;text-align:center}
.atelier .cs-contact-copy>p{margin-inline:auto}
.atelier .cs-form{text-align:left}

@media (max-width:960px){
  .at-header-inner{grid-template-columns:1fr auto;min-height:72px}
  .at-brand{justify-self:start;font-size:25px;text-align:left}
  .at-hero{padding-top:52px}
  .at-hero-copy{margin-bottom:40px}
  .at-hero-photo{padding:8px}
  .at-hero-photo img,.at-hero-photo .cs-monogram{aspect-ratio:4/3}
  .at-proof li{padding:14px 0;border-left:0;border-top:1px solid var(--cs-line)}
  .at-proof li:first-child{border-top:0}
  .at-about-photo,.at-about-card{grid-column:1/-1}
  .at-about-photo{grid-row:1}
  .at-about-card{grid-row:2;margin:-80px 16px 0}
  .at-marquee span{font-size:24px}
}
@media (max-width:600px){
  .at-menu-line{flex-wrap:wrap;gap:4px 12px}
  .at-leader{display:none}
  .at-menu .cs-price{flex-basis:100%;font-size:28px}
}
