:root{--cream:#faf6ed;--wine:#612c3d;--coral:#c9513e;--ink:#34282a;--muted:#74666a;--border:#ded5cc;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.7}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:400}h1,h2{font-family:var(--serif);color:var(--wine);line-height:1.12;letter-spacing:-.05em}h1{font-size:clamp(52px,5.5vw,84px);margin-bottom:27px}h2{font-size:clamp(38px,3.5vw,53px);margin-bottom:28px}h3{font-family:var(--serif);font-size:29px;line-height:1.2;letter-spacing:-.035em}em{font-weight:400;color:var(--coral)}p{margin-bottom:20px}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--coral);outline-offset:6px}.skip{position:fixed;left:10px;top:-100px;background:var(--cream);padding:12px;z-index:99}.skip:focus{top:10px}.announcement{background:var(--wine);color:var(--cream);font-size:11px;text-align:center;letter-spacing:.08em;padding:8px 20px}.announcement span{opacity:.78;margin-left:9px}.site-header{max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:25px 5%;gap:30px}.brand{flex-shrink:0}.logo{font-family:var(--serif);color:var(--wine);font-size:36px;letter-spacing:-2px;line-height:1;display:block}.logo-amp{font-style:italic;color:var(--coral);padding:0 3px}.logo-sub{display:block;font-family:var(--sans);font-size:6.7px;font-weight:600;letter-spacing:1.8px;margin:10px 0 0 2px}nav{display:flex;align-items:center;gap:27px;font-size:12px}nav>a:not(.nav-cta){padding:8px 0;border-bottom:1px solid transparent}nav>a:hover,nav>a[aria-current]{color:var(--coral);border-color:var(--coral)}.nav-cta{background:var(--wine);color:white;padding:13px 20px;border-radius:3px;margin-left:7px}.nav-cta span{margin-left:14px}.nav-cta:hover{background:#7b3b50;color:white}.menu-toggle{display:none}.section-wrap{max-width:1320px;margin:auto;padding-left:5%;padding-right:5%}.hero{display:grid;grid-template-columns:1.03fr 1fr;gap:5%;padding-top:50px;padding-bottom:70px;align-items:center}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.17em;color:var(--wine);margin-bottom:22px}.tiny-sun{font-size:20px;color:var(--coral);vertical-align:middle;margin-right:10px}.hero .eyebrow{font-size:9px;letter-spacing:.13em}.hero .lede{font-size:15px;line-height:1.8;color:var(--muted);max-width:430px}.actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.button{display:inline-flex;gap:27px;align-items:center;justify-content:center;font-size:12px;font-weight:600;padding:15px 23px;border-radius:3px;border:1px solid transparent;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button span{font-size:20px;line-height:1}.primary{background:var(--wine);color:white}.primary:hover{background:#7c3b4e}.text-button{padding-left:0;padding-right:0;border-radius:0;border-bottom:1px solid var(--border);color:var(--wine)}.outline{border-color:var(--wine);color:var(--wine)}.outline:hover{background:#eadbd4}.cream{background:var(--cream);color:var(--wine)}.outline-light{border-color:#b08b95;color:var(--cream)}.hero-note{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--muted);margin-top:29px}.note-icon{font-size:22px;color:var(--coral)}.hero-visual{position:relative;padding-bottom:20px;min-width:0}.image-frame{border-radius:220px 220px 5px 5px;overflow:hidden;position:relative;background:#deccb3}.image-frame img{height:530px;object-position:55% center}.image-caption{position:absolute;bottom:0;left:0;right:0;color:#fff;background:linear-gradient(transparent,#0008);font-size:9px;padding:32px 16px 12px;letter-spacing:.03em}.round-stamp{position:absolute;width:116px;height:116px;left:-45px;bottom:59px;background:#ead280;color:var(--wine);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:8px;font-weight:600;line-height:1.1;letter-spacing:.1em;transform:rotate(-13deg);box-shadow:0 0 0 6px var(--cream)}.round-stamp span{font-size:34px;height:25px;line-height:1}.photo-note{position:absolute;right:10px;bottom:-12px;font-family:var(--serif);font-size:21px;font-style:italic;transform:rotate(-5deg);color:var(--wine)}.photo-note span{font-size:32px;margin-left:10px}.ribbon{background:#eed7cc;border-top:1px solid #d5aaa133;border-bottom:1px solid #d5aaa133;display:flex;align-items:center;justify-content:space-around;gap:20px;padding:21px 3%;color:var(--wine)}.ribbon span{font-family:var(--serif);font-size:22px;white-space:nowrap}.ribbon b{color:var(--coral);font-size:25px;font-weight:400}.intro{display:grid;grid-template-columns:1fr 1fr;gap:0 12%;padding-top:100px;padding-bottom:100px}.intro>.eyebrow{grid-column:1/-1}.intro h2{margin:0}.intro-copy{padding-top:8px;color:var(--muted);max-width:455px}.arrow-link{color:var(--wine);font-size:12px;font-weight:600;border-bottom:1px solid #b59b9e;padding-bottom:8px;display:inline-block}.arrow-link:hover{color:var(--coral)}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:37px;gap:30px}.section-heading h2{margin-bottom:0}.section-heading>p{color:var(--muted);font-size:13px;margin-bottom:3px}.ways{padding-bottom:100px}.ways-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.way-card{padding:28px 30px 24px;display:flex;flex-direction:column;transition:transform .2s;border-radius:4px}.way-card:hover{transform:translateY(-5px)}.peach{background:#efdbd2}.yellow{background:#f2e7bc}.sage{background:#e2e6db}.card-number{font-size:9px;letter-spacing:.13em}.card-symbol{font-size:63px;font-weight:400;color:var(--wine);line-height:1;margin:32px 0}.way-card h3{color:var(--wine);font-size:28px;margin-bottom:17px}.way-card p{font-size:13px;line-height:1.8;color:#615155;flex:1}.card-link{font-size:11px;font-weight:600;border-top:1px solid #612c3d30;padding-top:20px;display:flex;align-items:center;justify-content:space-between}.card-link b{font-size:21px;font-weight:400}.story-teaser{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center;padding-top:20px;padding-bottom:105px}.story-photo{position:relative}.story-photo img{height:430px;border-radius:3px 100px 3px 3px}.small-tag{background:#f3e3b1;position:absolute;bottom:24px;left:-15px;padding:12px 20px;font-size:11px;transform:rotate(-4deg);color:var(--wine)}.story-teaser>div>p:not(.eyebrow){color:var(--muted);font-size:14px}.contact{text-align:center;background:var(--wine);color:var(--cream);padding:70px 20px 60px;position:relative;overflow:hidden}.contact>.eyebrow{color:#dfbabc;font-size:9px}.contact h2{color:var(--cream);font-size:65px;margin-bottom:22px}.contact h2 em{color:#efb3a0}.contact>p:not(.eyebrow){max-width:520px;margin:0 auto 27px;color:#eddae0;font-size:13px}.contact .actions{justify-content:center;gap:14px}.contact-details{display:flex;justify-content:center;gap:15px;align-items:center;font-size:11px;margin-top:24px;color:#e5cbd1}.contact-details a:hover{text-decoration:underline}.contact-flower{position:absolute;left:9%;top:22%;font-size:180px;color:#945164;line-height:1;font-weight:400;transform:rotate(-12deg)}footer{max-width:1320px;padding:48px 5% 22px;margin:auto;display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;align-items:start}footer .logo{font-size:30px}footer>p{font-size:12px;color:var(--muted)}footer>div:not(.footer-bottom){display:flex;gap:23px;justify-content:flex-end;font-size:11px}footer a:hover{color:var(--coral)}.footer-bottom{grid-column:1/-1;border-top:1px solid var(--border);padding-top:20px;display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}.page-intro{text-align:center;padding-top:60px;padding-bottom:65px}.page-intro h1{font-size:clamp(48px,5vw,74px)}.page-intro>p:not(.eyebrow){color:var(--muted);max-width:650px;margin-left:auto;margin-right:auto}.centered{justify-content:center;margin-top:28px}.wide-image{height:480px;border-radius:5px;object-position:center 50%}.story-columns{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding:70px 0}.story-columns p{color:var(--muted);font-size:14px}.founders{padding-top:20px;padding-bottom:90px}.founder-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px;margin-top:40px}.portrait-placeholder{height:390px;background:#ead8cd;border-radius:160px 160px 4px 4px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#aa7c76;gap:28px}.portrait-placeholder>span{font:italic 100px var(--serif);letter-spacing:-8px;border:1px solid #bc948c;border-radius:50%;width:185px;height:185px;display:grid;place-items:center}.portrait-placeholder small{font-size:10px;letter-spacing:.05em}.portrait-placeholder.second{background:#e0e2d6;color:#88917c}.portrait-placeholder.second>span{border-color:#aeb8a5}.founder-label{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:25px}.founder-label h3{margin:0}.founder-label>span{font-size:8px;letter-spacing:.13em}.founder-grid article>p{font-size:13px;color:var(--muted);margin-top:16px;max-width:450px}.quote-band{text-align:center;background:#eedbd0;padding:70px 20px}.quote-band>span{font-size:40px;color:var(--coral);display:block;margin-bottom:15px}.quote-band h2{margin:0}.class-layout{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;padding-bottom:80px}.class-image{height:450px;border-radius:140px 4px 4px 4px}.image-disclaimer{font-size:9px;color:var(--muted);margin-top:10px}.class-layout p:not(.eyebrow){color:var(--muted)}.locations{padding-top:35px;padding-bottom:70px}.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:35px}.location-grid article{padding:35px;background:#eedbd0;border-radius:4px}.location-grid article:nth-child(2){background:#e4e7dc}.location-grid h3{font-size:38px;color:var(--wine);margin-top:20px;margin-bottom:18px}.location-grid p{font-size:14px;color:var(--muted)}.location-note{font-size:11px;color:var(--muted);margin-top:20px}.expansion{border-top:1px solid var(--border);padding-top:30px;margin-top:35px}.expansion h3{font-size:27px;margin-bottom:10px}.expansion p{font-size:14px;color:var(--muted)}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:7%;padding-top:30px;padding-bottom:95px}details{border-bottom:1px solid var(--border);padding:20px 0}details:first-child{border-top:1px solid var(--border)}summary{font-size:14px;color:var(--wine);cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px}summary::after{content:'+';font-size:19px}details[open] summary::after{content:'−'}summary::-webkit-details-marker{display:none}details p{font-size:13px;color:var(--muted);margin:15px 25px 5px 0}.event-social{display:grid;grid-template-columns:1fr 1fr;gap:7%;padding-top:20px;padding-bottom:90px;align-items:center}.event-image{position:relative}.event-image img{height:660px;border-radius:220px 220px 4px 4px;object-position:57% center}.event-social>div>p:not(.eyebrow){font-size:14px;color:var(--muted)}.event-list{list-style:none;margin:25px 0;padding:0}.event-list li{display:flex;gap:20px;border-top:1px solid var(--border);padding:18px 0}.event-list li>span{font-size:10px;color:var(--coral);padding-top:7px}.event-list h3{font-size:23px;margin-bottom:9px}.event-list p{font-size:12px;color:var(--muted);margin:0}.corporate{max-width:none;background:#3f4d40;color:#f5f0e6;display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:80px max(5%,calc((100vw - 1188px)/2))}.corporate h2,.corporate .eyebrow{color:#f5f0e6}.corporate h2 em{color:#dfc486}.corporate>div>p:not(.eyebrow){font-size:14px;color:#e2e4da}.corporate .button{margin-top:10px}.corporate-notes article{position:relative;padding:0 0 27px 65px;border-bottom:1px solid #ffffff25;margin-bottom:27px}.corporate-notes article:last-child{margin:0;border:0}.corporate-notes article>span{position:absolute;top:-6px;left:0;font-size:36px;color:#dfc486}.corporate-notes h3{font-size:25px;margin-bottom:10px}.corporate-notes p{font-size:13px;color:#e2e4da;margin:0}.event-plan{text-align:center;padding-top:80px;padding-bottom:80px}.event-plan>p:not(.eyebrow){max-width:620px;margin:0 auto 25px;color:var(--muted)}.gallery-section{padding-bottom:100px}.gallery-top{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:35px}.gallery-top p{font-size:14px;margin:0}.gallery-top p span{font-size:11px;color:var(--muted)}.filters{display:flex;gap:8px;flex-shrink:0}.filters button{border:1px solid var(--border);background:transparent;color:var(--wine);border-radius:30px;font-size:11px;padding:8px 15px}.filters button.active{background:var(--wine);color:white;border-color:var(--wine)}.gallery-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:22px}.gallery-item{padding:0;border:0;background:#eadcd3;position:relative;border-radius:4px;overflow:hidden;text-align:left;min-width:0;height:290px}.gallery-item.tall{grid-row:span 2;height:602px}.gallery-item img{height:100%;transition:transform .4s}.gallery-item:hover img{transform:scale(1.04)}.gallery-item>span{position:absolute;bottom:0;left:0;right:0;padding:40px 24px 20px;background:linear-gradient(transparent,#000a);color:white;font-size:13px;display:flex;justify-content:space-between}.gallery-placeholder{background:#eedfd1;padding:35px;text-align:center;display:flex;flex-direction:column;justify-content:center;border-radius:4px;height:290px}.gallery-placeholder>span{font-size:45px;color:var(--coral);line-height:1.1;margin-bottom:15px}.gallery-placeholder h3{font-size:31px;color:var(--wine);margin:0 0 10px}.gallery-placeholder p{font-size:11px;color:var(--muted);margin:0}[hidden]{display:none!important}.lightbox{border:0;background:var(--cream);color:var(--wine);padding:40px 20px 15px;width:min(950px,94vw);max-height:92vh;border-radius:6px}.lightbox::backdrop{background:#261a21dc}.lightbox img{max-height:70vh;object-fit:contain}.lightbox p{font-size:12px;text-align:center;margin:14px 0 0}.close-dialog{position:absolute;right:12px;top:0px;border:0;background:none;font-size:29px;color:var(--wine);padding:0 8px}
@media(min-width:1450px){.hero{gap:8%}.image-frame img{height:570px}}
@media(max-width:1100px){nav{gap:17px;font-size:11px}.nav-cta{padding:12px}.logo{font-size:31px}.logo-sub{font-size:5.8px;letter-spacing:1.5px}.image-frame img{height:470px}.hero{gap:6%}.hero h1{font-size:65px}.round-stamp{width:98px;height:98px;left:-30px;font-size:7px}.way-card{padding:25px 22px}.way-card h3{font-size:25px}.contact-flower{left:4%;font-size:125px}footer>div:not(.footer-bottom){gap:12px}.gallery-top{align-items:start;flex-direction:column}}
@media(max-width:820px){.site-header{padding-top:22px;padding-bottom:22px;position:relative;flex-wrap:wrap}.menu-toggle{display:flex;flex-direction:column;gap:6px;border:1px solid var(--border);padding:13px 11px;background:transparent;border-radius:3px}.menu-toggle span{display:block;width:22px;height:1px;background:var(--wine)}nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:4px;font-size:14px;padding-top:12px}nav.open{display:flex}nav>a:not(.nav-cta){padding:12px 0}.nav-cta{margin:7px 0 0;text-align:center}.hero{padding-top:25px;padding-bottom:65px;gap:5%}.hero h1{font-size:52px}.hero .eyebrow{font-size:8px;line-height:1.9}.tiny-sun{display:none}.hero .lede{font-size:13px}.hero .lede br{display:none}.image-frame img{height:440px}.hero .actions{gap:10px}.hero .button{font-size:11px;padding:12px 15px;gap:17px}.photo-note{font-size:16px;right:0}.hero-note{font-size:10px}.ribbon span{font-size:17px}.ribbon b{font-size:18px}.ribbon>*:nth-last-child(-n+2){display:none}.intro{gap:6%;padding-top:70px;padding-bottom:70px}.intro-copy{font-size:13px}.ways-grid{gap:12px}.way-card{padding:23px 18px}.way-card h3{font-size:24px}.way-card p{font-size:12px}.card-number{font-size:8px}.card-link{font-size:10px}.story-teaser{gap:6%;padding-bottom:70px}.story-photo img{height:430px}.small-tag{font-size:9px;padding:10px 14px}.story-teaser>div>p:not(.eyebrow){font-size:13px}.contact-flower{opacity:.35;left:-40px;top:35%}footer{grid-template-columns:1fr 1fr}footer>div:not(.footer-bottom){grid-column:1/-1;justify-content:start}.founder-label{align-items:start;flex-direction:column;gap:10px}.founder-grid{gap:25px}.portrait-placeholder{height:310px}.event-social{gap:5%}.event-image img{height:660px}.corporate{gap:7%}.corporate-notes article{padding-left:45px}.class-layout{gap:5%}.class-image{height:490px}.location-grid article{padding:25px}.location-grid .arrow-link{font-size:11px}}
@media(max-width:600px){.announcement{font-size:9px;padding:8px 10px;letter-spacing:.04em}.announcement span{display:none}.section-wrap{padding-left:6%;padding-right:6%}.site-header{padding-left:6%;padding-right:6%}.logo{font-size:33px}.hero{grid-template-columns:1fr;gap:40px;padding-top:25px;padding-bottom:54px}.hero h1{font-size:61px;line-height:1.08}.hero .eyebrow{font-size:8px;margin-bottom:20px}.hero .lede{font-size:14px;max-width:350px}.hero .button{font-size:12px;padding:14px 20px}.hero-note{margin-top:19px;font-size:11px}.hero-visual{margin-left:20px;margin-right:3px}.image-frame{border-radius:200px 200px 4px 4px}.image-frame img{height:390px}.round-stamp{left:-22px;bottom:58px;width:100px;height:100px}.photo-note{font-size:20px;right:8px;bottom:-9px}.ribbon{padding:16px;gap:16px;flex-wrap:wrap}.ribbon span{font-size:17px}.ribbon>*:nth-child(n+5){display:none}.ribbon>*:nth-child(4){display:block}.intro{grid-template-columns:1fr;padding-top:62px;padding-bottom:55px;gap:0}.intro h2{margin-bottom:26px;font-size:41px}.intro-copy{font-size:14px}.section-heading{display:block;margin-bottom:26px}.section-heading>p{margin-top:20px;font-size:13px}.section-heading>p br{display:none}.ways{padding-bottom:55px}.ways-grid{grid-template-columns:1fr;gap:16px}.way-card{padding:26px;position:relative}.card-symbol{position:absolute;right:26px;top:15px;font-size:45px;margin:0}.way-card h3{margin-top:35px;font-size:31px}.way-card p{font-size:14px;max-width:300px}.card-number{font-size:9px}.card-link{font-size:12px}.story-teaser{grid-template-columns:1fr;gap:40px;padding-top:10px;padding-bottom:65px}.story-photo img{height:340px}.small-tag{left:-9px;font-size:10px}.story-teaser>div>p:not(.eyebrow){font-size:14px}.contact{padding:57px 6% 45px}.contact h2{font-size:52px}.contact-flower{display:none}.contact>p:not(.eyebrow){font-size:13px}.contact .actions{gap:10px}.contact .button{font-size:11px;gap:12px;padding:13px 16px}.contact-details{flex-wrap:wrap;gap:4px 12px;font-size:10px}footer{padding:35px 6% 20px;gap:25px}footer>p{font-size:10px;margin-bottom:0}footer>div:not(.footer-bottom){font-size:11px;gap:25px}.footer-bottom{font-size:9px;gap:15px;flex-direction:column}.page-intro{padding-top:35px;padding-bottom:40px}.page-intro h1{font-size:47px}.page-intro>p:not(.eyebrow){font-size:14px}.wide-image{height:280px}.story-columns{grid-template-columns:1fr;padding:40px 0 30px;gap:6px}.founders{padding-top:20px;padding-bottom:45px}.founder-grid{grid-template-columns:1fr;gap:30px;margin-top:30px}.portrait-placeholder{height:350px}.founder-label{flex-direction:row;align-items:center;gap:15px}.founder-label h3{font-size:25px}.founder-label>span{font-size:7px}.quote-band{padding:45px 6%}.quote-band h2{font-size:34px}.class-layout{grid-template-columns:1fr;gap:25px;padding-bottom:45px}.class-image{height:330px}.class-layout>div>p:not(.eyebrow){font-size:14px}.locations{padding-top:10px;padding-bottom:40px}.location-grid{grid-template-columns:1fr;margin-top:25px}.location-grid article{padding:28px}.location-grid h3{font-size:33px}.location-grid .arrow-link{font-size:12px}.faq{grid-template-columns:1fr;gap:0;padding-bottom:55px}.event-social{grid-template-columns:1fr;gap:40px;padding-top:0;padding-bottom:55px}.event-image img{height:390px}.corporate{grid-template-columns:1fr;padding:55px 6%;gap:45px}.corporate-notes article{padding-left:55px}.event-plan{padding-top:50px;padding-bottom:55px}.event-plan p{font-size:14px}.gallery-section{padding-bottom:55px}.filters{gap:6px;flex-wrap:wrap}.filters button{font-size:10px;padding:8px 12px}.gallery-grid{grid-template-columns:1fr;gap:17px}.gallery-item.tall{height:400px;grid-row:auto}.gallery-item{height:270px}.gallery-placeholder{height:260px}.gallery-top p{font-size:13px}.gallery-top p span{font-size:10px}.eyebrow{font-size:9px}.lightbox{padding-left:10px;padding-right:10px}.lightbox p{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Keep the full head visible in both founder portraits at every breakpoint. */
.founder-portrait{overflow:hidden}
.founder-portrait img{width:100%;height:100%;object-fit:cover;object-position:center top}

/* Community photographs retain their full composition on every screen. */
.community-story-photo img{height:auto;border-radius:4px}
.community-wide-image{height:auto}
.community-gallery{align-items:start}
.community-gallery .gallery-item,.community-gallery .gallery-item.tall{height:auto}
.community-gallery .gallery-item img{height:auto;object-fit:contain}
.community-gallery .gallery-item:hover img{transform:none}

/* Keep the full group visible in the real community photographs. */
.hero-visual .image-frame{border-radius:6px}
.hero-visual .image-frame img,.event-image img,.class-image{height:auto;object-fit:contain}
.event-image img{border-radius:6px}

footer>div:not(.footer-bottom){flex-wrap:wrap;row-gap:10px}
footer>div:not(.footer-bottom)>a{white-space:nowrap}

/* Mobile cleanup only. Desktop typography, decoration and placement are unchanged. */
@media (max-width: 600px) {
  .mobile-decoration { display: none !important; }
  .mobile-text-arrow { font-size: 0 !important; flex-shrink: 0; }
  .mobile-text-arrow::after {
    content: "\2192\FE0E";
    font-family: Arial, sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0;
    font-variant-emoji: text;
  }
  .hero h1 { font-size: clamp(44px, 14vw, 61px); line-height: 1.16; }
  .page-intro h1 { font-size: clamp(36px, 11.5vw, 47px); line-height: 1.2; }
  h2, .intro h2, .contact h2, .quote-band h2 { line-height: 1.2; }
  h3 { line-height: 1.3; }
  .hero .lede br { display: initial; }
  .hero-visual { margin: 0; }
  .round-stamp { display: none; }
  .photo-note { position: static; transform: none; margin-top: 14px; font-size: 18px; text-align: right; }
  .photo-note span { margin-left: 6px; }
  .image-caption { position: static; display: block; padding: 12px 14px; background: var(--wine); color: var(--cream); }
  .small-tag { position: static; display: inline-block; transform: none; margin-top: 14px; max-width: 100%; }
  .ribbon { gap: 12px 24px; }
  .ribbon .mobile-decoration { display: none !important; }
  .way-card h3 { margin-top: 24px; padding-right: 0; }
  .card-symbol.mobile-text-arrow { position: static; margin: 16px 0 0; }
  .corporate-notes article { padding-left: 0; }
  .corporate-notes article > .mobile-text-arrow { position: static; display: block; margin-bottom: 12px; }
  .actions, .hero .actions, .contact .actions { gap: 16px; }
  .button, .hero .button, .contact .button { min-height: 48px; max-width: 100%; gap: 14px; line-height: 1.5; }
  .menu-toggle { min-width: 44px; min-height: 44px; justify-content: center; }
  .card-link { gap: 16px; }
  .founder-label { flex-wrap: wrap; row-gap: 8px; }
  .gallery-top { gap: 24px; }
  .filters { gap: 8px; }
  .filters button { min-height: 44px; padding: 10px 14px; font-size: 12px; }
  .gallery-item > span { position: static; padding: 14px 16px; background: var(--wine); gap: 16px; align-items: center; line-height: 1.5; }
  .contact-details { flex-direction: column; gap: 12px; font-size: 12px; }
  .contact-details > span { display: none; }
  .contact-details a { overflow-wrap: anywhere; }
  footer { grid-template-columns: 1fr; gap: 24px; }
  footer > p { font-size: 12px; }
  footer > div:not(.footer-bottom) { gap: 12px 24px; }
  footer > div:not(.footer-bottom) > a { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; }
  .footer-bottom { gap: 12px; line-height: 1.6; }
  .close-dialog { min-width: 44px; min-height: 44px; }
}
@media (max-width: 360px) {
  .hero .actions, .contact .actions { flex-direction: column; align-items: stretch; }
  .hero .actions .button, .contact .actions .button { justify-content: space-between; }
  .contact h2 { font-size: 44px; }
}

/* Seamless left-scrolling community banner. */
.ribbon { padding: 0; gap: 0; flex-wrap: nowrap; }
.ribbon > .ribbon-window { display: block; flex: 1; min-width: 0; overflow: hidden; }
.ribbon-track { display: flex; width: max-content; animation: ribbon-scroll 32s linear infinite; }
.ribbon-group { display: flex; flex: 0 0 auto; min-width: 100vw; align-items: center; justify-content: space-around; gap: 32px; padding: 21px 16px; }
.ribbon-group > * { flex-shrink: 0; }
@keyframes ribbon-scroll { to { transform: translateX(-50%); } }
@media (max-width: 600px) {
  .ribbon-group { gap: 36px; padding: 16px 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .ribbon-track { animation: none; width: 100%; }
  .ribbon-group { min-width: 0; width: 100%; flex-wrap: wrap; gap: 16px 24px; }
  .ribbon-group[aria-hidden="true"] { display: none; }
}
