/* Shared reading scale for the brand site, service pages and course platform. */
:root{--reading-size:18px;--reading-small:14px;--page-gutter:clamp(24px,5vw,100px);--stories-height:154px}
body{font-size:var(--reading-size);line-height:1.65}
body .content-shell,body .course-content,body .legal-shell,body .next-continuation{width:calc(100% - 2 * var(--page-gutter));max-width:1480px}
body .detail-main{max-width:1480px}
body .header nav a,body .header-contact{font-size:16px}
body .brand-caption{font-size:12px}
body .primary,body .text-link,body .course-cta,body .detail-intro .primary,body .booking-actions .primary,body .gift-copy .primary,body .home-online .online-copy .primary{font-size:16px;line-height:1.5}
body .hero-description{font-size:18px;line-height:1.65}
body .eyebrow,body .section-heading .eyebrow,body .detail-intro .eyebrow,body .detail-toc .eyebrow,body .booking-panel .eyebrow,body .related-services .eyebrow,body .marina-copy .eyebrow,body .gift-copy .eyebrow,body .home-online .eyebrow,body .next-copy .eyebrow{font-size:12px;line-height:1.7;letter-spacing:.16em}
body .section-heading>p:last-child:not(.eyebrow),body .workshop-card>p,body .floristry-copy>p:not(.eyebrow),body .gift-copy>p:not(.eyebrow),body .marina-copy>p:not([class]),body .detail-lead,body .detail-section p,body .detail-list,body .booking-panel p:last-child,body .online-copy>p:not([class]),body .online-release,body .gallery-heading p,body .service-faq details p{font-size:var(--reading-size);line-height:1.75}
body .section-heading>p:last-child:not(.eyebrow),body .workshop-card>p,body .floristry-copy>p:not(.eyebrow),body .gift-copy>p:not(.eyebrow),body .marina-copy>p:not([class]),body .detail-lead,body .booking-panel p:last-child,body .online-release{max-width:56ch}
body .workshop-grid{gap:clamp(28px,3vw,52px)}
body .workshop-card h3{font-size:clamp(32px,2.6vw,42px)}
body .detail-body{grid-template-columns:230px minmax(0,1fr);gap:clamp(45px,6vw,110px)}
body .detail-toc nav,body .detail-facts,body .breadcrumbs,body .service-kicker,body .floristry-copy .eyebrow,body .marina-role,body .marina-instagram,body .phone-link,body .marina-note>span,body .related-services .text-link,body .online-facts dt,body .online-status,body .online-access,body .course-pending{font-size:var(--reading-small);line-height:1.7}
body .detail-section h2{font-size:clamp(38px,3vw,48px)}
body .detail-steps h3{font-size:30px}
body .online-facts dd{font-size:28px}
body .online-lead{font-size:28px;line-height:1.4}
body .course-benefits p{font-size:15px;line-height:1.65}
body .course-benefits h3{font-size:26px;line-height:1.2;white-space:normal}
body .course-benefits li{min-width:0}
body .course-aside{display:none}
body .course-visual{width:min(100%,1200px)}
body .next-photo{max-height:none}
body .footer-nav,body .footer-contact,body .site-footer .footer-top p,body .footer-bottom,body .legal-shell .legal-links{font-size:14px;line-height:1.7}
body .gallery-controls p{font-size:14px}
body .gallery-controls .gallery-count{font-size:13px}
body .cookie-note{font-size:15px}
/* Auto margins center a fitting rail; overflow always starts with story one. */
body .stories-inner{width:calc(100% - 2 * var(--page-gutter));max-width:1480px;padding:0;justify-content:flex-start}
body .stories-list{display:flex;flex:1;justify-content:flex-start;width:100%;gap:24px;padding:9px 6px;scroll-padding-inline:6px}
body .story-trigger{flex:0 0 116px;font-size:15px;line-height:1.5;gap:7px}
body .story-trigger:first-child{margin-inline-start:auto}
body .story-trigger:last-child{margin-inline-end:auto}
body .story-ring{width:96px;height:96px;flex-shrink:0}
body .story-meta span,body .story-count{font-size:13px}
body .story-meta h2{font-size:15px}
body .story-action{font-size:15px}
/* Public and signed-in platform screens share the larger body scale. */
body.platform{font-size:18px}
body.platform .platform-main{max-width:1640px;padding-inline:clamp(24px,4vw,72px);margin-inline:auto}
body.platform .public-main{max-width:1600px}
body.platform .auth{max-width:1240px}
body.platform .prose{max-width:960px}
body.platform .platform-header nav,body.platform .sidebar nav a,body.platform .sidebar-bottom,body.platform .course-card p,body.platform .field,body.platform .check,body.platform .auth-form summary,body.platform .playlist a,body.platform .resource p,body.platform .settings-list p,body.platform .page-heading p,body.platform .welcome p{font-size:16px}
body.platform .field input,body.platform .field select,body.platform .field textarea{font-size:16px}
body.platform .button,body.platform .small-button{font-size:16px}
body.platform .brand-note,body.platform .overline,body.platform .workspace-top,body.platform .playlist h4{font-size:12px}
body.platform .badge,body.platform .pill,body.platform .field small,body.platform .upload-status,body.platform .access-line,body.platform .profile-chip,body.platform .stat span,body.platform .subnav a,body.platform .platform-footer{font-size:14px}
body.platform table,body.platform .message-body,body.platform .lesson-copy{font-size:16px}
body.platform th{font-size:12px}
body.platform .sidebar{width:270px}
body.platform .legal-links{font-size:14px}
@media(max-width:1100px){body .detail-body{grid-template-columns:190px minmax(0,1fr);gap:38px}body.platform .sidebar{width:230px}.course-benefits{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}body .course-benefits li{border:0;padding-inline:0}body .stories-list{gap:18px}}
@media(max-width:768px){
 :root{--reading-size:16px;--reading-small:13px;--page-gutter:20px;--stories-height:110px}
 body .header nav a,body .header-contact{font-size:12px}
 body .primary,body .text-link,body .course-cta,body .detail-intro .primary,body .booking-actions .primary,body .gift-copy .primary,body .home-online .online-copy .primary{font-size:15px;padding-inline:23px}
 body .hero-description{font-size:15px;line-height:1.6;max-width:340px}
 body .hero-content>.eyebrow{font-size:10px;letter-spacing:.12em}
 body .detail-body{grid-template-columns:1fr;gap:32px}
 body .detail-toc nav{gap:14px 20px}
 body .detail-section h2{font-size:36px}
 body .workshop-card h3{font-size:34px}
 body .online-lead{font-size:25px}
 body .online-facts dd{font-size:24px}
 body .course-benefits{gap:24px 16px}
 body .course-benefits p{font-size:14px}
 body .course-benefits p br{display:initial}
 body .course-benefits h3{font-size:23px}
 body .course-benefits li{flex-direction:column;align-items:flex-start;gap:10px}
 body .stories-inner{width:100%;padding-inline:14px}
 body .stories-list{gap:12px;padding:8px 4px}
 body .story-trigger{flex-basis:82px;font-size:11px;gap:6px}
 body .story-ring{width:62px;height:62px}
 body .footer-nav,body .footer-contact,body .site-footer .footer-top p,body .footer-bottom{font-size:13px}
 body .gallery-controls p{font-size:12px}
 body.platform{font-size:16px}
 body.platform .platform-main,body.platform .public-main{padding-inline:20px}
 body.platform .platform-header nav{font-size:12px;gap:14px}
 body.platform .small-button{font-size:13px;padding-inline:14px}
 body.platform .sidebar nav a{font-size:14px}
 body.platform .workspace-top{font-size:11px;gap:16px;letter-spacing:0}
 body.platform .profile-chip{font-size:12px;overflow-wrap:anywhere}
 body.platform .welcome{grid-template-columns:1fr}
 body.platform .welcome img{height:220px}
 body.platform .field small{font-size:13px}
}
@media(max-width:700px){body.platform .sidebar{width:100%}}
@media(max-width:380px){body .header{gap:12px}body .header-contact{padding-inline:12px}body .hero-content{top:39%}body .hero-description{font-size:14px;margin-block:14px 18px}body .hero-content>.eyebrow{font-size:9px}body .home-online .online-copy .primary{font-size:14px;padding-inline:17px}body .next-copy .eyebrow{font-size:10px;gap:10px}}
@media(max-height:680px) and (max-width:768px){body .hero-description{font-size:14px;margin-block:12px 16px}body .hero-content{top:37%}}
