@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@400;500&family=Manrope:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;1,400;1,500&display=swap');
:root{--paper:#f8f5ee;--ink:#34362f;--olive:#515749;--rust:#a65438;--line:#dedfd7;--serif:'Playfair Display',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.8 Manrope,Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{width:100%;height:100%;object-fit:cover;display:block}.wrap{max-width:1260px;width:calc(100% - 112px);margin:auto}.header{display:flex;align-items:center;justify-content:space-between;min-height:108px;gap:24px}.brand{font:22px/1.3 var(--serif);letter-spacing:2px;white-space:nowrap}.brand span{display:block;font:8px/2.6 Manrope,sans-serif;letter-spacing:2.4px}.header nav{display:flex;align-items:center;gap:30px;font-size:12px}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;border:0;border-radius:30px;background:var(--olive);color:#fff;padding:15px 26px;font-size:12px;line-height:1.5;transition:background .2s,transform .2s}.button:hover{background:#414638;transform:translateY(-2px)}.button.small{padding:12px 20px}.hero{position:relative;display:grid;grid-template-columns:1.02fr 1fr;gap:38px;padding-top:32px}.hero-copy{padding:34px 0 0}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;margin:0 0 24px}.hero h1{font:500 clamp(54px,5.5vw,80px)/1.1 var(--serif);letter-spacing:-2px;margin:0 0 26px}em{font-weight:400}.hero h1 em{color:var(--olive)}.lead{font-size:16px;line-height:1.85}.hero .button{margin-top:20px}.hero-note{font-size:11px;color:#6d7065;margin-top:22px}.hero-art{height:590px;position:relative;border-radius:48% 48% 3px 3px;overflow:hidden}.hero-art img{filter:sepia(.22) saturate(.65);object-position:48% center}.hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 45%,#26332470)}.art-note{position:absolute;bottom:76px;left:35px;z-index:1;color:#fff7df;font:italic 35px/1.35 var(--serif);transform:rotate(-6deg)}.art-label{position:absolute;bottom:25px;left:35px;z-index:1;color:white;font-size:9px;letter-spacing:3px}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;padding:20px 0;border-bottom:1px solid var(--line);font-size:11px;color:#6b705e}.section{padding-top:90px;padding-bottom:90px}h2{font:400 clamp(32px,3.5vw,49px)/1.25 var(--serif);letter-spacing:-1px;margin:0 0 25px}h3{font:400 27px/1.3 var(--serif);margin:6px 0}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:30px}.section-heading>p{font-size:12px;color:#686d61}.group-list{margin-top:28px;border-top:1px solid var(--line)}.group-list>a{display:flex;align-items:center;gap:25px;padding:28px 5px;border-bottom:1px solid var(--line)}.group-list>a:hover{background:#efeee8}.number{font:italic 20px var(--serif);color:#9a9f8d}.group-list small{font-size:8px;letter-spacing:1.5px}.group-list p{font-size:11px;margin:5px 0}.date{margin-left:auto;font-size:10px;color:#737768}.group-list strong{font-size:22px;min-width:76px}.arrow{font-size:24px}.flagship{background:#eeede7}.feature{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding-top:65px;padding-bottom:65px}.feature h2{font-size:58px}.feature .eyebrow,.rust{color:var(--rust)}.feature ul{list-style:none;padding:0;font-size:12px}.feature li{padding:6px 0}.feature li:before{content:'—';margin-right:14px}.price{display:flex;align-items:baseline;gap:18px;margin:25px 0}.price strong{font:38px var(--serif)}.price span{font-size:11px}.terracotta{background:var(--rust)}.feature-art{position:relative;min-height:500px}.feature-art img{border-radius:3px 120px 3px 3px;filter:saturate(.55)}.feature-art p{position:absolute;bottom:24px;left:30px;right:20px;color:white;font:28px/1.45 var(--serif);text-shadow:0 2px 10px #000}.battery{display:grid;grid-template-columns:.9fr 1fr;gap:90px;align-items:center}.battery-art{background:#e8ddcd;min-height:390px;display:flex;align-items:center;justify-content:center;flex-direction:column;position:relative;border-radius:4px 4px 110px 4px}.battery-art>p{font:35px/1.35 var(--serif);text-align:center}.battery-icon{width:85px;height:38px;border:2px solid var(--rust);border-radius:6px;position:relative;padding:5px}.battery-icon:after{content:'';position:absolute;right:-8px;top:9px;width:5px;height:16px;background:var(--rust)}.battery-icon i{display:block;height:100%;width:9px;background:var(--rust)}.little-star{font-size:50px;position:absolute;top:18px;left:25px;color:var(--rust)}.battery>div>p:not(.eyebrow){max-width:430px}.muted{font-size:10px;color:#707564}.directions{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.direction-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:40px}.direction-grid article{padding:0 24px;border-right:1px solid var(--line)}.direction-grid article:first-child{padding-left:0}.direction-grid article:last-child{border:0}.direction-grid span{font-size:9px;letter-spacing:1.5px}.direction-grid h3{margin:20px 0 12px}.direction-grid p{font-size:12px;min-height:70px}.direction-grid a,.direction-grid small{font-size:10px}.direction-grid a{border-bottom:1px solid #859080;padding-bottom:5px}.about{display:grid;grid-template-columns:.85fr 1fr;gap:100px;align-items:center}.about-art{background:#dce0d8;min-height:360px;padding:55px 35px;display:flex;justify-content:center;flex-direction:column}.about-art>span{font:44px/1.2 var(--serif);letter-spacing:2px}.about-art>p{font-size:12px;margin-top:30px}.about>div>p{max-width:480px}.text-link{display:inline-block;margin-top:16px;border-bottom:1px solid var(--olive);font-size:12px}.faq{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.2fr;gap:60px}.faq details{border-bottom:1px solid var(--line);padding:19px 0}.faq summary{cursor:pointer;font-size:13px}.faq details p{font-size:12px;max-width:500px}.closing{text-align:center;background:#e6e6dd;padding:80px 24px}.closing h2{font-size:52px}footer{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:35px 0}footer>span,footer>a:last-child{font-size:10px}dialog{border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);padding:45px;max-width:560px;width:calc(100% - 36px)}dialog::backdrop{background:#202b237a;backdrop-filter:blur(4px)}dialog h2{font-size:36px}.close{position:absolute;right:15px;top:8px;border:0;background:none;font-size:30px;color:var(--ink)}.menu{display:none}.skip{position:absolute;top:-100px;left:20px;background:white;padding:10px;z-index:10}.skip:focus{top:10px}:focus-visible{outline:2px solid var(--rust);outline-offset:5px}
@media(min-width:1500px){.hero h1{font-size:84px}}@media(max-width:1000px){.wrap{width:calc(100% - 56px)}.header nav{gap:18px}.header nav .button{display:none}.hero{gap:24px}.hero-art{height:540px}.hero h1{font-size:61px}.date{display:none}.feature,.battery,.about{gap:40px}.feature h2{font-size:48px}.direction-grid article{padding:0 14px}.direction-grid h3{font-size:23px}}
@media(max-width:680px){.wrap{width:calc(100% - 40px)}.header{min-height:87px;position:relative}.brand{font-size:18px}.brand span{font-size:6px}.menu{display:block;border:1px solid var(--line);background:none;color:var(--ink);border-radius:20px;padding:8px 13px;font-size:11px}.header nav{display:none;position:absolute;top:75px;left:0;right:0;z-index:5;background:var(--paper);border:1px solid var(--line);padding:24px;flex-direction:column;align-items:stretch}.header nav.open{display:flex}.hero{grid-template-columns:1fr;padding-top:12px;gap:24px}.hero-copy{padding-top:15px}.hero .eyebrow{font-size:8px;letter-spacing:1.4px}.hero h1{font-size:57px;line-height:1.12}.lead{font-size:14px}.hero-art{height:340px;border-radius:45% 45% 3px 3px}.hero-art img{object-position:50% 55%}.art-note{font-size:28px;bottom:55px}.hero-bottom{padding-top:0;font-size:9px;gap:12px}.hero-bottom>a{white-space:nowrap}.section{padding-top:55px;padding-bottom:55px}.section-heading{display:block}h2{font-size:35px}.eyebrow{font-size:8px;letter-spacing:1.5px;margin-bottom:18px}.group-list>a{gap:12px;flex-wrap:wrap;padding:23px 0}.group-list h3{font-size:22px}.group-list>a>div{flex:1}.group-list strong{min-width:54px;font-size:19px}.group-list .arrow{display:none}.group-list small{font-size:7px}.group-list p{font-size:9px}.number{font-size:16px}.feature,.battery,.about,.faq{grid-template-columns:1fr;gap:32px}.feature{padding-top:45px;padding-bottom:35px}.feature h2{font-size:49px}.feature-art{min-height:0;height:310px}.feature-art img{border-radius:3px 80px 3px 3px}.feature-art p{font-size:24px}.battery-art{min-height:290px}.battery-art>p{font-size:30px}.battery{gap:32px}.direction-grid{grid-template-columns:1fr 1fr;gap:32px 0}.direction-grid article{padding:0 15px}.direction-grid article:nth-child(odd){padding-left:0}.direction-grid article:nth-child(even){border:0}.direction-grid h3{font-size:24px}.direction-grid p{font-size:11px;min-height:80px}.about-art{min-height:290px}.closing h2{font-size:39px}.closing{padding:60px 20px}footer{flex-wrap:wrap;gap:24px}footer .brand{width:100%}dialog{padding:35px 25px}.price{gap:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Shared bilingual navigation and full-page programme layouts. */
.header{gap:22px}.header-actions{display:flex;align-items:center;gap:14px;order:3}.header nav{margin-left:auto;gap:22px}.language-switch{display:flex;align-items:center;gap:6px;font-size:11px;white-space:nowrap}.language-switch a{display:inline-flex;min-width:29px;min-height:44px;align-items:center;justify-content:center;color:#777c6b}.language-switch a[aria-current=page]{color:var(--ink);font-weight:700;text-decoration:underline;text-underline-offset:5px}.individual-rate{display:block;margin:12px 0 7px}.direction-grid .individual-rate{font-weight:600}.back-link{display:inline-block;margin:14px 0 38px;font-size:12px;color:#686d61}.detail-hero{padding-bottom:55px}.detail-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:75px;align-items:center}.detail-grid h1,.individual-intro h1{font:400 clamp(45px,5vw,72px)/1.14 var(--serif);letter-spacing:-1.8px;margin:0 0 25px}.detail-grid .lead{max-width:500px}.detail-art{height:455px}.detail-art>img{border-radius:3px 120px 3px 3px;filter:saturate(.6)}.detail-art .battery-art{height:100%;padding:25px}.detail-art .battery-art>p{font-size:clamp(25px,2.6vw,35px)}.availability{font-size:11px;color:#636b59;border-top:1px solid var(--line);padding-top:18px}.detail-format{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:start}.format-panel{background:#eeede7;padding:36px}.format-panel h3{font-size:27px;margin-bottom:20px}.format-panel ul{margin:0;padding-left:20px}.format-panel li{padding:8px 0;font-size:13px}.closing-note{max-width:570px;margin:0 auto 28px}.individual-intro{padding-bottom:55px}.individual-intro .back-link{display:block;width:fit-content}.individual-intro h1{font-size:64px}.packages-section{padding-bottom:65px}.package-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:30px}.package-card{border:1px solid var(--line);padding:30px;display:flex;flex-direction:column;align-items:flex-start;background:#f3f1e9}.package-card:nth-child(2){background:#eeede7}.package-card h3{font-size:30px}.package-card .eyebrow{margin-bottom:20px}.package-unit{font-size:11px;color:#68705d;margin:10px 0 0}.package-price{font:32px/1.4 var(--serif);margin:23px 0 15px}.package-price span{font-size:24px}.package-card>p:not(.package-price):not(.eyebrow){font-size:12px}.supported-rate{border-top:1px solid var(--line);padding-top:15px;line-height:1.7}.supported-rate strong{font-weight:700}.package-card .button{margin-top:auto;align-self:stretch;text-align:center;font-size:11px;padding:14px 13px}.package-card>p:last-of-type{margin-bottom:30px}.individual-contact{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:70px}.individual-contact .text-link{overflow-wrap:anywhere}.price{flex-wrap:wrap}
@media(max-width:1150px){.header nav .button{display:none}.header nav{gap:22px}.detail-grid,.detail-format{gap:40px}.package-card{padding:24px}.package-card h3{font-size:27px}}
@media(max-width:850px){.package-grid{grid-template-columns:1fr}.package-card{display:grid;grid-template-columns:1fr 1fr;column-gap:35px}.package-card .eyebrow,.package-card h3,.package-unit,.package-price{grid-column:1}.package-card>p:not(.eyebrow):not(.package-unit):not(.package-price){grid-column:2}.package-card .button{grid-column:1/-1;margin-top:18px;width:fit-content}.package-card>p:last-of-type{margin-bottom:0}.detail-art{height:400px}.header nav{gap:16px}.header{gap:16px}}
@media(max-width:680px){.header{gap:10px}.header-actions{gap:8px;margin-left:auto}.header nav{margin:0;gap:18px;top:79px}.header nav.open{display:flex}.language-switch{font-size:10px;gap:1px}.language-switch a{min-width:27px}.header .brand{font-size:16px;letter-spacing:1.4px}.header .brand span{font-size:5.5px;letter-spacing:1.8px}.menu{padding:9px 10px}.detail-grid,.detail-format,.individual-contact{grid-template-columns:1fr;gap:30px}.detail-hero{padding-bottom:35px}.detail-grid h1{font-size:48px;overflow-wrap:normal}.back-link{margin:8px 0 30px}.detail-art{height:310px}.detail-art .battery-art{min-height:0}.detail-art>img{border-radius:3px 85px 3px 3px}.detail-format{padding-top:45px}.format-panel{padding:25px}.format-panel h3{font-size:26px}.closing h2{overflow-wrap:normal}.individual-intro{padding-bottom:35px}.individual-intro h1{font-size:49px}.package-card{display:flex;padding:28px}.package-card h3{font-size:31px}.package-card>p:last-of-type{margin-bottom:25px}.package-card .button{width:100%;margin-top:12px}.package-price{font-size:35px}.packages-section{padding-bottom:45px}.individual-contact{gap:12px}.hero h1{font-size:clamp(45px,14vw,57px)}.hero-bottom{flex-wrap:wrap}.group-list .date{display:block;order:4;flex-basis:100%;margin-left:26px;font-size:9px}.closing-note{font-size:13px}.direction-grid h3{font-size:23px}}
@media(max-width:360px){.header{flex-wrap:wrap;padding-top:16px;padding-bottom:12px}.header .brand{width:100%}.header-actions{margin-left:0;width:100%;justify-content:space-between}.header nav{top:114px}.group-list>a>div{min-width:0}.group-list h3{font-size:20px}.detail-grid h1{font-size:43px}.detail-art .battery-art>p{font-size:27px}}


/* Warm photographic direction: an open coastal hero and a quiet tea ritual. */
.hero-atmosphere{display:block;position:relative;width:100%;max-width:1680px;margin:0 auto;padding:0;min-height:680px;isolation:isolate;background:#ebe3d6}.hero-atmosphere .hero-art{position:absolute;inset:0;height:100%;border-radius:0;overflow:hidden;z-index:-1}.hero-atmosphere .hero-art img{height:100%;width:100%;object-fit:cover;object-position:center 42%;filter:none}.hero-atmosphere .hero-art:after{background:linear-gradient(90deg,#f8f5eef5 0%,#f8f5eedb 23%,#f8f5ee8c 43%,#f8f5ee0a 63%,transparent 100%)}.hero-atmosphere .hero-inner{position:relative}.hero-atmosphere .hero-copy{width:53%;padding:35px 0 42px}.handwritten{font:400 26px/1.25 Caveat,cursive;color:#77533d;margin:0 0 27px}.hero-atmosphere .eyebrow{font-size:9px;letter-spacing:1.7px;margin-bottom:20px}.hero-atmosphere h1{font:400 clamp(54px,5.05vw,76px)/1.08 var(--serif);letter-spacing:-1.7px;margin-bottom:23px}.hero-atmosphere .lead{font-size:15px}.hero-atmosphere .button{margin-top:15px}.hero-atmosphere .hero-note{color:#686453;max-width:400px}.hero-atmosphere .art-note{left:auto;right:6%;bottom:60px;color:#fff8e9;z-index:1;font:400 34px/1.2 Caveat,cursive;transform:rotate(-7deg);text-shadow:0 1px 12px #34302775}.battery-photo{height:490px;min-height:0;display:block;border-radius:3px 3px 70px 3px;overflow:hidden;background:#e8ddcd}.battery-photo>img{width:100%;height:100%;object-fit:cover;object-position:46% center}.battery-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 56%,#35261a96 100%);pointer-events:none}.photo-caption{position:absolute;z-index:1;bottom:25px;left:30px;right:20px;color:#fff9ed}.photo-caption p{font:400 32px/1.1 Caveat,cursive;margin:10px 0 0}.photo-caption p em{font-style:normal}.photo-caption .eyebrow{font-size:8px;letter-spacing:2px}.detail-art .battery-photo{height:100%;padding:0;border-radius:3px 90px 3px 3px}.detail-art .battery-photo .photo-caption{bottom:25px}.detail-art .battery-photo .photo-caption p{font:400 32px/1.1 Caveat,cursive}
@media(max-width:1000px){.hero-atmosphere{min-height:650px}.hero-atmosphere .hero-copy{width:59%;padding-top:32px}.hero-atmosphere h1{font-size:61px}.hero-atmosphere .handwritten{font-size:23px}.hero-atmosphere .hero-art img{object-position:61% center}.hero-atmosphere .art-note{right:4%;bottom:34px;font-size:29px}.battery-photo{height:460px}}
@media(max-width:680px){.hero-atmosphere{min-height:0}.hero-atmosphere .hero-inner{width:calc(100% - 40px)}.hero-atmosphere .hero-copy{width:100%;padding:325px 0 28px}.hero-atmosphere .hero-art img{object-position:80% top}.hero-atmosphere .hero-art:after{background:linear-gradient(180deg,#f8f5ee00 0%,#f8f5ee00 25%,#f8f5ee45 39%,#f8f5eee0 52%,#f8f5eef7 70%,#f8f5ee 100%)}.hero-atmosphere .handwritten{position:absolute;left:0;top:20px;font-size:21px;line-height:1.2;max-width:150px;text-shadow:0 1px 8px #f8f5ee}.hero-atmosphere .eyebrow{font-size:8px;letter-spacing:1.15px;margin-bottom:17px}.hero-atmosphere h1{font-size:clamp(43px,12.8vw,54px);line-height:1.08;margin-bottom:17px}.hero-atmosphere .lead{font-size:13px;line-height:1.75}.hero-atmosphere .button{font-size:11px;margin-top:11px}.hero-atmosphere .hero-note{font-size:10px;margin-top:16px}.hero-atmosphere .art-note{display:none}.hero-bottom{padding-top:18px}.battery-photo{height:350px;min-height:0;border-radius:3px 3px 55px 3px}.battery-photo>img{object-position:47% center}.photo-caption{left:22px;bottom:22px}.photo-caption p{font-size:29px}.detail-art .battery-photo{border-radius:3px 65px 3px 3px}.detail-art .battery-photo .photo-caption p{font-size:29px}}
@media(max-width:360px){.hero-atmosphere .hero-copy{padding-top:310px}.hero-atmosphere .handwritten{font-size:19px;max-width:130px}.hero-atmosphere .hero-art img{object-position:79% top}.battery-photo{height:320px}}


/* Grey-green and sage sampled from the approved reference palette. */
:root{--sage:#859080;--sage-light:#eeede7}
.button.terracotta:hover{background:#8f492f}
.feature-art .reconnect-photo,.detail-art>.reconnect-photo{filter:none;object-position:50% 50%;border-radius:3px 75px 3px 3px}
.feature-art:has(.reconnect-photo){overflow:hidden;border-radius:3px 75px 3px 3px}
.feature-art:has(.reconnect-photo):after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#292d2370);pointer-events:none}
.feature-art:has(.reconnect-photo)>p{z-index:1;font:400 34px/1.2 Caveat,cursive;bottom:24px;text-shadow:0 1px 10px #292d2355}
@media(max-width:680px){.feature-art .reconnect-photo,.detail-art>.reconnect-photo{border-radius:3px 55px 3px 3px}.feature-art:has(.reconnect-photo){border-radius:3px 55px 3px 3px}.feature-art:has(.reconnect-photo)>p{font-size:28px;bottom:16px}}


/* Responsive reading layout: content must never force a wider grid track. */
.direction-grid > *, .about > *, .feature > *, .battery > *, .faq > *,
.detail-grid > *, .detail-format > *, .individual-contact > * {
  min-width: 0;
}
@media (min-width: 681px) and (max-width: 1000px) {
  .direction-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px 0;
  }
  .direction-grid article:nth-child(odd) { padding-left: 0; }
  .direction-grid article:nth-child(even) { border-right: 0; }
  .direction-grid p { min-height: 0; }
}
@media (max-width: 680px) {
  .directions .section { padding-top: 45px; padding-bottom: 28px; }
  .directions h2 { max-width: 440px; margin-bottom: 28px; }
  .direction-grid {
    grid-template-columns: minmax(0, 1fr);
    margin-top: 0;
    gap: 0;
  }
  .direction-grid article:nth-child(n) {
    padding: 24px 0;
    border: 0;
    border-top: 1px solid var(--line);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
  .direction-grid article > span { font-size: 10px; letter-spacing: 1.4px; }
  .direction-grid h3 { font-size: 29px; line-height: 1.25; margin: 12px 0 10px; }
  .direction-grid p {
    min-height: 0;
    font-size: 14px;
    line-height: 1.75;
    margin: 0 0 10px;
    max-width: 520px;
  }
  .direction-grid a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 7px 0;
    font-size: 12px;
    line-height: 1.6;
  }
  .direction-grid small { font-size: 12px; margin-top: 6px; }
  .direction-grid .individual-rate { margin: 2px 0 5px; }
  .about, .feature, .battery, .faq, .detail-grid, .detail-format, .individual-contact {
    grid-template-columns: minmax(0, 1fr);
  }
  .about-art { padding: 35px 26px; }
  .about-art > span { font-size: clamp(28px, 9vw, 40px); letter-spacing: 1.5px; }
  .about-art > p { font-size: 13px; }
  .section-heading > p, .feature ul, .faq details p { font-size: 13px; }
  .faq summary { font-size: 14px; line-height: 1.7; padding: 4px 0; }
  .muted, .availability, .price span { font-size: 12px; line-height: 1.7; }
  .group-list > a {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px 15px;
    padding: 23px 0;
    align-items: start;
  }
  .group-list .number { display: none; }
  .group-list > a > div { grid-column: 1; grid-row: 1; min-width: 0; }
  .group-list strong { grid-column: 2; grid-row: 1; min-width: 0; padding-top: 19px; font-size: 22px; white-space: nowrap; }
  .group-list h3 { font-size: 23px; line-height: 1.3; }
  .group-list small { display: block; font-size: 9px; line-height: 1.6; letter-spacing: 1px; }
  .group-list p { font-size: 12px; line-height: 1.65; }
  .group-list .date { grid-column: 1 / -1; margin: 2px 0 0; font-size: 11px; }
  .button, .hero-atmosphere .button { min-height: 46px; font-size: 12px; }
  .hero-atmosphere h1 { font-size: clamp(36px, 12vw, 50px); }
  .hero-atmosphere .lead { font-size: 14px; }
  .hero-atmosphere .hero-note { font-size: 11px; }
  .package-card > p:not(.package-price):not(.eyebrow) { font-size: 13px; }
  .package-card .button { font-size: 12px; }
}
@media (max-width: 360px) {
  .wrap, .hero-atmosphere .hero-inner { width: calc(100% - 36px); }
  .directions h2, .about h2, .faq h2 { font-size: 32px; }
  .direction-grid h3 { font-size: 27px; }
  .group-list > a { gap: 8px 12px; }
  .group-list h3 { font-size: 21px; }
  .package-card { padding: 24px 20px; }
  .individual-intro h1 { font-size: 42px; }
  .closing h2 { font-size: 34px; }
}

/* Programme sessions and shared checkout placements. */
.group-list .date { display: block; }
.curriculum { background: #eeede7; }
.curriculum .section-heading { align-items: flex-end; margin-bottom: 40px; }
.curriculum .section-heading h2 { max-width: 650px; margin-bottom: 0; }
.curriculum .section-heading > p { flex-shrink: 0; margin-bottom: 5px; }
.curriculum-list { list-style: none; margin: 0; padding: 0; }
.curriculum-week {
  display: grid;
  grid-template-columns: 85px minmax(0, 1fr) minmax(0, 1.05fr);
  gap: 32px;
  align-items: center;
  padding: 32px 0;
  border-top: 1px solid #ccd0c5;
}
.curriculum-week:last-child { border-bottom: 1px solid #ccd0c5; }
.week-number { font: 40px/1.2 var(--serif); color: var(--rust); }
.week-number > span { display: block; font: 9px/1.7 Manrope, sans-serif; letter-spacing: 1.6px; margin-bottom: 6px; }
.curriculum-week h3 { font-size: 27px; margin: 0; }
.curriculum-week p { font-size: 14px; line-height: 1.8; margin: 0; }
.payment-block { margin-top: 18px; }
.payment-actions { display: flex; flex-wrap: wrap; align-items: stretch; gap: 10px; }
.payment-actions .button { min-height: 48px; text-align: center; }
.payment-actions .button-outline { background: transparent; color: var(--olive); border: 1px solid var(--olive); }
.payment-actions .button-outline:hover { background: #e4e6dc; }
.payment-actions .button:disabled { cursor: not-allowed; opacity: .65; transform: none; }
.payment-actions .terracotta:disabled:hover { background: var(--rust); }
.payment-actions .button-outline:disabled:hover { background: transparent; }
.payment-note { font-size: 12px; line-height: 1.6; color: #686b60; margin: 10px 0 0; }
.closing .payment-actions { justify-content: center; }
.closing-price { font: 36px/1.3 var(--serif); }
.closing-price > span { display: block; font: 12px/1.7 Manrope, sans-serif; margin-top: 6px; }
.closing .text-link { margin-top: 28px; }
.package-card .package-actions { margin-top: auto; width: 100%; grid-column: 1 / -1; }
.package-actions .payment-block { margin-top: 0; }
.package-actions .button { width: 100%; margin-top: 0; }
.package-actions .text-link { font-size: 12px; line-height: 1.6; padding: 8px 0; }
.supported-offer { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 40px; border: 1px solid var(--line); margin-top: 24px; padding: 30px; }
.supported-offer > div:last-child { display: flex; flex-direction: column; align-items: center; text-align: center; }
.supported-offer .eyebrow { margin-bottom: 16px; color: var(--rust); }
.supported-offer h3 { font-size: 27px; }
.supported-offer .package-price { margin-bottom: 0; }
.supported-offer > div > p:not(.eyebrow):not(.package-price) { font-size: 13px; margin-top: 0; }
@media (max-width: 850px) {
  .curriculum-week { grid-template-columns: 65px minmax(0, 1fr) minmax(0, 1fr); gap: 22px; }
  .curriculum-week h3 { font-size: 25px; }
  .curriculum .section-heading { display: block; }
  .curriculum .section-heading > p { margin-top: 20px; }
  .package-card .package-actions { margin-top: 24px; }
}
@media (max-width: 680px) {
  .curriculum .section-heading { margin-bottom: 30px; }
  .curriculum-week { grid-template-columns: 52px minmax(0, 1fr); gap: 10px 18px; align-items: start; padding: 26px 0; }
  .week-number { grid-row: 1 / 3; font-size: 34px; }
  .week-number > span { font-size: 8px; letter-spacing: 1px; }
  .curriculum-week h3 { font-size: 25px; line-height: 1.3; }
  .curriculum-week p { grid-column: 2; font-size: 14px; line-height: 1.75; }
  .payment-actions { flex-direction: column; }
  .payment-actions .button { width: 100%; }
  .supported-offer { grid-template-columns: minmax(0, 1fr); gap: 24px; padding: 26px; }
  .closing .payment-block { max-width: 390px; margin-left: auto; margin-right: auto; }
}
@media (max-width: 360px) {
  .curriculum-week { grid-template-columns: 43px minmax(0, 1fr); column-gap: 14px; }
  .curriculum-week h3 { font-size: 22px; }
}

/* First-launch prices and the two programme packages. */
.launch-price { margin: 25px 0 18px; }
.launch-label { font-size: 11px; line-height: 1.6; letter-spacing: 1.4px; text-transform: uppercase; color: var(--rust); margin: 0 0 10px; }
.launch-amounts { display: flex; align-items: baseline; flex-wrap: wrap; gap: 10px 18px; }
.launch-amounts del { font: 27px/1.3 var(--serif); color: #787c6f; text-decoration-thickness: 1px; }
.launch-amounts strong { font: 44px/1.2 var(--serif); color: var(--ink); white-space: nowrap; }
.launch-from { font: 14px Manrope, sans-serif; }
.launch-future { font-size: 12px; color: #686d61; line-height: 1.6; margin: 10px 0 0; }
.group-list .launch-summary { min-width: 106px; display: flex; flex-direction: column; align-items: flex-end; gap: 4px; text-align: right; }
.launch-summary > span { font-size: 9px; line-height: 1.5; color: #686d61; }
.launch-summary > span:first-child { color: var(--rust); }
.launch-summary del { font: 18px/1.2 var(--serif); color: #787c6f; text-decoration-thickness: 1px; }
.group-list > a > strong, .group-list .launch-summary strong { font: 26px/1.2 var(--serif); }
.group-list > a > strong { text-align: right; }
.group-list .launch-summary strong { min-width: 0; padding: 0; }
.home-programme-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; margin-top: 24px; }
.home-programme-actions .text-link { margin-top: 0; padding: 10px 0; }
.programme-content-link { display: block; width: fit-content; }
.programme-package-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; margin-top: 35px; }
.programme-package { display: flex; flex-direction: column; min-width: 0; border: 1px solid var(--line); border-radius: 3px 35px 3px 3px; padding: 38px; }
.programme-package-plus { background: #eeede7; border-color: #c5cbbb; }
.programme-package > .eyebrow { font-size: 10px; color: var(--rust); margin-bottom: 18px; }
.programme-package h3 { font-size: 32px; line-height: 1.25; margin: 0; min-height: 80px; }
.programme-package-description { font-size: 14px; line-height: 1.8; min-height: 52px; margin: 18px 0 0; }
.programme-package .launch-price { margin: 24px 0 0; }
.programme-package-unit { font-size: 12px; margin: 6px 0 22px; color: #686d61; }
.programme-package-includes, .individual-session-inclusions ul { padding: 0; margin: 0; list-style: none; }
.programme-package-includes li, .individual-session-inclusions li { position: relative; padding: 7px 0 7px 22px; font-size: 13px; line-height: 1.7; }
.programme-package-includes li::before, .individual-session-inclusions li::before { content: '—'; position: absolute; left: 0; color: var(--olive); }
.individual-session-inclusions { border-top: 1px solid #ccd0c5; padding-top: 18px; margin-top: 18px; }
.individual-session-inclusions > p { margin: 0 0 5px; font-size: 14px; font-weight: 600; }
.programme-package-actions { margin-top: auto; padding-top: 24px; }
.programme-package .payment-actions { flex-direction: column; }
.programme-package .payment-block { margin-top: 0; }
.programme-packages .section-heading > p { max-width: 350px; }
.programme-packages .section-heading h2 { margin-bottom: 0; }
@media (min-width: 681px) and (max-width: 1000px) {
  .programme-package { padding: 26px; }
  .programme-package h3 { font-size: 28px; min-height: 105px; }
  .programme-package-description { min-height: 100px; }
}
@media (max-width: 680px) {
  .group-list .launch-summary { grid-column: 2; grid-row: 1; min-width: 86px; padding-top: 16px; }
  .group-list > a > strong, .group-list .launch-summary strong { font-size: 25px; }
  .programme-package-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .programme-package { padding: 28px; }
  .programme-package h3 { font-size: 30px; min-height: 0; }
  .programme-package-description { min-height: 0; }
  .programme-package-includes li, .individual-session-inclusions li { font-size: 14px; }
  .home-programme-actions { align-items: flex-start; flex-direction: column; gap: 6px; }
  .launch-amounts strong { font-size: 40px; }
}
@media (max-width: 360px) {
  .programme-package { padding: 23px; }
  .programme-package h3 { font-size: 27px; }
}

/* Anonymous testimonial gallery. */
.testimonials { background: #eeede7; }
.testimonials .section-heading { align-items: flex-end; margin-bottom: 35px; }
.testimonials h2 { margin-bottom: 0; }
.testimonials .section-heading > p { max-width: 330px; }
.review-gallery { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.review-card { min-width: 0; display: flex; flex-direction: column; padding: 26px; border: 1px solid #d6d8ce; border-radius: 3px 28px 3px 3px; background: var(--paper); }
.review-caption { display: flex; justify-content: space-between; align-items: center; margin: 0 0 20px; color: #737767; font-size: 9px; letter-spacing: 1.5px; }
.review-caption > span:first-child { font: 20px var(--serif); color: var(--rust); letter-spacing: 0; }
.review-card blockquote { margin: 0 0 24px; min-height: 130px; }
.review-card blockquote p { font: 25px/1.4 var(--serif); margin: 0; }
.review-open { padding: 0; margin-top: auto; border: 0; background: none; color: inherit; text-align: left; width: 100%; }
.review-preview { display: flex; align-items: center; justify-content: center; height: 180px; padding: 8px; background: white; border: 1px solid #e7e4dc; }
.review-preview img { width: 100%; height: 100%; object-fit: contain; }
.review-open-label { display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 48px; border-bottom: 1px solid var(--line); font-size: 12px; }
.review-open:hover .review-open-label { color: var(--rust); border-color: var(--rust); }
.review-open-label > span { font-size: 19px; }
.review-confidentiality { max-width: 670px; margin: 28px auto 0; text-align: center; color: #686d61; font-size: 12px; line-height: 1.8; }
.review-controls { display: none; }
.review-dialog { width: min(680px, calc(100% - 32px)); max-width: 680px; max-height: calc(100dvh - 32px); padding: 28px; overflow-y: auto; overscroll-behavior: contain; }
.review-dialog-header { display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.review-dialog-header h3 { margin: 0; font-size: 29px; }
.review-close { flex-shrink: 0; width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 50%; color: var(--ink); background: transparent; font-size: 26px; line-height: 1; }
.review-original-note { font-size: 12px; color: #686d61; margin: 16px 0 24px; }
.review-dialog .review-original { width: 100%; height: auto; object-fit: contain; background: white; }
.review-transcript { border-top: 1px solid var(--line); padding-top: 18px; margin-top: 24px; }
.review-transcript summary { cursor: pointer; font-size: 13px; min-height: 44px; padding: 8px 0; }
.review-transcript p { font-size: 15px; line-height: 1.8; margin: 10px 0 0; }
html.review-modal-open { overflow: hidden; }
@media (min-width: 681px) and (max-width: 1000px) {
  .review-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  .testimonials .section-heading { display: block; }
  .testimonials .section-heading > p { margin: 18px 0 0; font-size: 13px; }
  .review-gallery { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 100%; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: none; padding: 4px 0 14px; }
  .review-card { scroll-snap-align: start; padding: 24px; }
  .review-card blockquote { min-height: 112px; }
  .review-card blockquote p { font-size: 25px; }
  .review-preview { height: 180px; }
  .reviews-ready .review-controls { display: flex; align-items: center; justify-content: center; gap: 24px; margin-top: 20px; }
  .review-controls button { width: 46px; height: 46px; border-radius: 50%; border: 1px solid #b8beaf; background: transparent; color: var(--olive); font-size: 24px; }
  .review-controls button:disabled { opacity: .35; cursor: default; }
  .review-position { min-width: 42px; text-align: center; font-size: 12px; }
  .review-confidentiality { margin-top: 22px; text-align: left; }
  .review-dialog { padding: 20px; }
}

/* Keep Olha's face, hands and notebook visible at every screen width. */
.test-return-wrap { margin-top: 8px; margin-bottom: 4px; }
.test-return-wrap[hidden] { display: none; }
.test-return-link { display: inline-block; font-size: 12px; padding: 10px 15px; color: var(--olive); background: var(--sage-light); border-radius: 22px; }
.test-return-link:hover { text-decoration: underline; }
/* The format list includes personal coaching and the free reflection test. */
.group-list .format-price { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; margin-left: auto; text-align: right; flex-shrink: 0; }
.group-list .format-price strong { padding: 0; font: 25px/1.3 var(--serif); }
.group-list .format-price small { font-size: 10px; letter-spacing: 0; }
@media (max-width: 680px) {
  .group-list > .format-extra > div { grid-column: 1 / -1; }
  .group-list .format-price { grid-column: 1 / -1; grid-row: 2; align-items: flex-end; margin: 5px 0 0; text-align: right; }
  .group-list .format-price strong { font-size: 22px; }
}

.about-art.about-photo { display: block; min-height: 0; padding: 0; background: none; }
.about-photo img { width: 100%; height: auto; border-radius: 3px 64px 3px 3px; }
.about-art.about-photo > p { margin: 16px 0 0; color: #686d61; font-size: 12px; }

/* Native disclosure keeps the full introduction available without JavaScript. */
.about { align-items: start; }
.about-copy { min-width: 0; padding-top: 18px; }
.about-copy > .lead { margin-bottom: 24px; }
.about-copy > p:not(.eyebrow):not(.lead) { margin: 16px 0; }
.about-more { margin-top: 4px; }
.about-more summary { display: inline-flex; align-items: center; gap: 18px; min-height: 44px; padding: 7px 0; border-bottom: 1px solid var(--olive); list-style: none; cursor: pointer; font-size: 12px; }
.about-more summary::-webkit-details-marker { display: none; }
.about-read-less, .about-more[open] .about-read-more { display: none; }
.about-more[open] .about-read-less { display: inline; }
.about-more-arrow { font-size: 17px; line-height: 1; }
.about-more[open] .about-more-arrow { transform: rotate(180deg); }
.about-full-text { padding-top: 8px; }
.about-full-text p { margin: 16px 0; }
.about-full-text p:last-child { color: var(--olive); font-weight: 600; }
.about-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 26px; }
.about-actions .button { gap: 16px; border: 1px solid var(--olive); }
.about-actions .about-group-button { background: transparent; color: var(--olive); }
.about-actions .about-group-button:hover { background: var(--sage-light); }
.contact-links { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 24px; }
.contact-links a { display: inline-flex; align-items: center; gap: 9px; min-height: 44px; color: var(--olive); font-size: 12px; line-height: 1.5; }
.contact-links svg { flex-shrink: 0; }
.contact-links a:hover span { text-decoration: underline; text-underline-offset: 4px; }
.contact-links a:focus-visible { outline: 2px solid var(--olive); outline-offset: 4px; border-radius: 2px; }
.about-contacts { margin-top: 26px; padding-top: 20px; border-top: 1px solid var(--line); }
.about-contacts > p { margin: 0 0 4px; font-size: 12px; color: var(--olive); }
.site-footer { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px 32px; }
.site-footer .contact-links { justify-content: flex-end; }
.site-footer .footer-top { justify-self: end; min-height: 44px; display: inline-flex; align-items: center; }
@media (max-width: 680px) {
  .about-copy { padding-top: 0; }
  .about-actions { align-items: stretch; flex-direction: column; }
  .site-footer { grid-template-columns: minmax(0, 1fr) auto; gap: 12px 20px; }
  .site-footer .brand, .site-footer .contact-links { grid-column: 1 / -1; }
  .site-footer .contact-links { justify-content: flex-start; }
}

/* Hero Path: a quiet, open invitation for teenagers and their parents. */
.hero-path-hero { padding-bottom: 72px; }
.hero-path-intro { display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; gap: 76px; }
.hero-path-intro > div { min-width: 0; }
.hero-path-intro h1 { font: 400 clamp(62px, 6vw, 84px)/1.1 var(--serif); margin: 20px 0 26px; }
.hero-path-intro h1 > span { display: block; font-size: clamp(30px, 3.3vw, 43px); font-style: italic; margin-top: 12px; }
.hero-path-description { max-width: 520px; font-size: 14px; line-height: 1.9; }
.hero-path-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 26px; margin-top: 30px; }
.hero-path-actions .text-link { margin: 0; padding: 8px 0; }
.hero-path-note { min-width: 0; overflow: hidden; padding: 42px 38px 32px; background: var(--sage-light); border-radius: 3px 90px 3px 3px; }
.hero-path-note-title { font: 400 38px/1.25 var(--serif); margin: 28px 0 18px; }
.hero-path-note-text { max-width: 290px; font-size: 14px; line-height: 1.8; }
.hero-path-trail { display: block; width: calc(100% + 76px); height: auto; margin: 20px -38px 4px; color: var(--sage); }
.hero-path-trail circle { fill: var(--rust); }
.hero-path-note-caption { font: 25px/1.4 Caveat, cursive; color: var(--olive); margin: 18px 0 0; }
.hero-path-focus { gap: 70px; }
.hero-path-focus h2, .hero-path-parents h2 { font-size: 42px; line-height: 1.2; }
.hero-path-focus > div > p:not(.eyebrow), .hero-path-parents > p { font-size: 14px; line-height: 1.9; }
.hero-path-packages { background: #eeede7; }
.hero-path-packages .section-heading h2 { margin-bottom: 0; }
.hero-path-packages .section-heading > p { max-width: 310px; }
.hero-path-package-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin-top: 30px; }
.hero-path-package { display: flex; flex-direction: column; min-width: 0; padding: 30px; background: var(--paper); border: 1px solid var(--line); border-radius: 3px 32px 3px 3px; }
.hero-path-package > .eyebrow { font-size: 9px; color: var(--rust); margin-bottom: 16px; }
.hero-path-package h3 { font: 400 36px/1.25 var(--serif); margin: 0; }
.hero-path-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 8px; margin: 24px 0 0; }
.hero-path-price strong { font: 400 30px/1.4 var(--serif); white-space: nowrap; }
.hero-path-price > span { font: 400 24px/1.4 var(--serif); white-space: nowrap; }
.hero-path-unit { font-size: 11px; margin: 2px 0 0; color: #686d61; }
.hero-path-package-text { font-size: 14px; line-height: 1.8; margin: 24px 0; }
.hero-path-package-result { margin: auto 0 0; padding-top: 20px; border-top: 1px solid var(--line); }
.hero-path-package-result h4 { font: 500 12px/1.6 Manrope, sans-serif; margin: 0 0 8px; color: var(--olive); }
.hero-path-package-result p { font-size: 13px; line-height: 1.8; margin: 0; }
.hero-path-package-actions { padding-top: 24px; }
.hero-path-package-actions .payment-block { margin-top: 0; }
.hero-path-package-actions .button { width: 100%; justify-content: center; }
.hero-path-package-actions .text-link { display: inline-flex; align-items: center; min-height: 44px; margin-top: 12px; font-size: 12px; }
.hero-path-parents { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: start; }
.hero-path-parents > p { margin-top: 0; }
.hero-path-closing h2 { max-width: 750px; margin-left: auto; margin-right: auto; }
@media (max-width: 1000px) {
  .hero-path-intro, .hero-path-focus, .hero-path-parents { gap: 36px; }
  .hero-path-note { padding: 30px 26px; }
  .hero-path-note-title { font-size: 32px; }
  .hero-path-trail { width: calc(100% + 52px); margin-left: -26px; margin-right: -26px; }
  .hero-path-package-grid { grid-template-columns: minmax(0, 1fr); }
  .hero-path-package { padding: 32px; }
}
@media (max-width: 680px) {
  .hero-path-hero { padding-bottom: 44px; }
  .hero-path-intro, .hero-path-parents { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .hero-path-intro h1 { font-size: 59px; }
  .hero-path-intro h1 > span { font-size: 30px; }
  .hero-path-intro .eyebrow { font-size: 9px; }
  .hero-path-actions { gap: 12px 20px; }
  .hero-path-note { border-top-right-radius: 65px; }
  .hero-path-note-title { margin-top: 20px; }
  .hero-path-focus h2, .hero-path-parents h2 { font-size: 34px; }
  .hero-path-package { padding: 26px; }
  .hero-path-price strong { font-size: 28px; }
  .hero-path-price > span { font-size: 23px; }
  .hero-path-packages .section-heading { display: block; }
  .hero-path-packages .section-heading > p { margin: 20px 0 0; }
}
