@font-face{font-family:Onest;src:url('/assets/fonts/Onest-Variable.ttf') format('truetype');font-display:swap;font-weight:100 900}
@font-face{font-family:Prata;src:url('/assets/fonts/Prata-Regular.ttf') format('truetype');font-display:swap;font-weight:400}
:root{--content-max:1400px;--page-gutter:clamp(24px,4vw,64px);--grid-gap:clamp(24px,2.5vw,40px);--section-space:clamp(72px,9vw,132px);--paper:#f7f2e8;--sand:#efe3c5;--pink:#b94f72;--deep:#933c58;--gold:#d4a94e;--ink:#303027;--soft:#5e6050;--green:#687057;--line:rgba(48,48,39,.2);--text-color:var(--ink);--background-color:var(--paper);--surface-color:var(--sand);--border-color:var(--line);--accent-color:var(--deep);--accent-contrast:#fff;--focus-color:#77304a;--radius:0;font-family:Onest,system-ui,sans-serif}
html{scroll-padding-top:80px}
body.ech-site{background:var(--paper);color:var(--ink);font-family:Onest,system-ui,sans-serif;font-size:1rem;line-height:1.64}
.ech-site h1,.ech-site h2,.ech-site h3{font-family:Prata,Georgia,serif;font-weight:400;letter-spacing:-.035em}
.ech-site h2{font-size:clamp(2.35rem,5vw,4.5rem);line-height:1.12}
.ech-site h3{font-size:clamp(1.4rem,2.25vw,2.2rem)}
.ech-site p{max-width:68ch}
.ech-site a{color:inherit}
.ech-section{padding-block:var(--section-space)}
.eyebrow{font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--deep)}
.section-intro{display:grid;gap:12px;margin-bottom:clamp(32px,5vw,64px)}
.section-intro h2{max-width:18ch;margin:0}
.section-intro p{margin-bottom:0}
.section-intro>p:last-child,.section-intro>div{font-size:1.08rem;color:var(--soft)}
.section-intro>div p{margin-bottom:12px}
.ech-photo{min-width:0;overflow:hidden;background:#ddd0ac}
.ech-photo .image-slot{width:100%;height:100%;margin:0;aspect-ratio:var(--image-ratio);overflow:hidden}
.ech-photo img,.ech-photo picture{width:100%;height:100%;object-fit:cover}
.ech-photo .image-slot--placeholder{display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#d9c6a3,#baa27c);color:#2b2c25;text-align:center}
.ech-photo .image-slot--placeholder span,.ech-photo .image-slot--placeholder strong{display:block;overflow-wrap:anywhere}
.ech-photo .image-slot--placeholder strong{font-size:.94rem;font-weight:600}
.ech-button{display:inline-flex;min-height:52px;align-items:center;justify-content:center;gap:10px;padding:12px 24px;background:var(--deep);color:#fff!important;font-size:1rem;font-weight:600;text-decoration:none;text-align:center;line-height:1.3;transition:background .2s ease,transform .2s ease}
.ech-button:hover{background:#6f2c44;transform:translateY(-2px)}
.ech-button--light{background:var(--paper);color:var(--ink)!important}
.ech-button--light:hover{background:#fff}
.ech-header{position:absolute;z-index:20;top:0;left:0;right:0;color:#fff}
.ech-header__inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:76px;padding-top:16px}
.ech-brand{display:inline-flex;min-height:44px;flex-direction:column;justify-content:center;width:max-content;max-width:100%;font-family:Prata,Georgia,serif;font-size:1.55rem;line-height:1.08;text-decoration:none;letter-spacing:-.04em}
.ech-brand span{margin-top:5px;font-family:Onest,system-ui,sans-serif;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;font-weight:500}
.ech-nav{display:none}
.ech-button--header{grid-column:2;grid-row:1;min-height:44px;padding:8px 13px;background:rgba(48,48,39,.82);font-size:.83rem}
.ech-menu{grid-column:1/-1;grid-row:2;justify-self:end;position:relative;margin-top:-4px}
.ech-menu summary{display:flex;width:46px;height:46px;flex-direction:column;justify-content:center;gap:5px;align-items:center;cursor:pointer;list-style:none}
.ech-menu summary::-webkit-details-marker{display:none}
.ech-menu summary span{width:22px;height:2px;background:#fff}
.ech-menu nav{position:absolute;right:0;top:46px;display:grid;min-width:200px;padding:12px 18px;background:var(--ink);box-shadow:0 16px 28px rgba(0,0,0,.18)}
.ech-menu nav a{display:flex;align-items:center;min-height:44px;text-decoration:none;font-size:1rem}
.ech-hero{position:relative;display:flex;min-height:760px;min-height:100svh;align-items:flex-end;color:#fff;background:#564d37;isolation:isolate}
.ech-photo--hero{position:absolute;z-index:-2;inset:0}
.ech-photo--hero .image-slot{height:100%;aspect-ratio:auto}
.ech-photo--hero .image-slot--placeholder,.ech-photo--late .image-slot--placeholder{display:block;position:relative}
.ech-photo--hero .image-slot--placeholder figcaption,.ech-photo--late .image-slot--placeholder figcaption{position:absolute;top:150px;right:var(--page-gutter);max-width:180px;padding:12px;background:rgba(247,242,232,.9);font-size:.75rem;line-height:1.3}
.ech-hero:after{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(28,30,23,.69),rgba(28,30,23,.3) 85%),linear-gradient(0deg,rgba(28,30,23,.52),transparent 70%)}
.ech-hero__inner{padding-top:168px;padding-bottom:clamp(65px,9vh,120px)}
.ech-hero__copy{max-width:900px}
.ech-hero .eyebrow,.late-section .eyebrow,.final-section .eyebrow{color:#f0cb78}
.ech-hero h1{max-width:14ch;margin:18px 0 25px;font-size:clamp(3.2rem,9vw,7rem);line-height:1.06}
.ech-hero__copy>p:not(.eyebrow){max-width:640px;margin-bottom:28px;font-size:clamp(1.05rem,1.6vw,1.24rem);line-height:1.55}
.flower-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.flower-gallery .image-slot{aspect-ratio:3/4}
.places-section{background:#f0e9d8}
.place-stories{display:grid;gap:54px}
.place-story{display:grid;gap:20px;align-items:center}
.place-story__copy{padding-left:20px;border-left:2px solid var(--gold)}
.place-story h3{margin-bottom:12px}
.place-story p{color:var(--soft);margin:0}
.ech-photo--place .image-slot{aspect-ratio:3/2}
.late-section{position:relative;display:flex;min-height:620px;min-height:75svh;align-items:end;color:#fff;background:#715d42;isolation:isolate}
.ech-photo--late{position:absolute;z-index:-2;inset:0}
.ech-photo--late .image-slot{height:100%;aspect-ratio:auto}
.late-section:after{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(0deg,rgba(39,35,27,.82),rgba(39,35,27,.06) 85%)}
.late-section__inner{padding-block:80px}
.late-section__inner>div{max-width:800px}
.late-section h2{max-width:15ch}
.late-section p:last-child{font-size:1.08rem;max-width:650px}
.choice-grid{display:grid;gap:36px}
.choice-card{min-width:0}
.ech-photo--choice .image-slot{aspect-ratio:4/5}
.choice-card__copy{padding-block:20px;border-top:3px solid var(--pink)}
.choice-color{margin-bottom:8px;color:var(--deep);font-size:.86rem;text-transform:uppercase;letter-spacing:.1em;font-weight:600}
.choice-card h3{margin-bottom:8px;font-size:clamp(1.55rem,2vw,2rem)}
.choice-card__copy>p:not(.choice-color){margin-bottom:12px;color:var(--soft)}
.choice-link,.route-link{display:inline-flex;min-height:44px;align-items:center;color:var(--deep)!important;font-weight:600;text-decoration-thickness:1px}
.choice-more{display:grid;gap:20px;align-items:center;margin-top:58px;padding-block:30px;border-top:1px solid var(--line)}
.choice-more h3{margin-bottom:8px}.choice-more p{margin:0}
.sun-section{background:var(--sand)}
.sun-grid{display:grid;gap:36px;align-items:center}
.ech-photo--sun .image-slot{aspect-ratio:4/5}
.sun-copy h2{margin-bottom:30px}
.sun-points{border-top:1px solid var(--line)}
.sun-points>div{padding-block:20px;border-bottom:1px solid var(--line)}
.sun-points h3{margin-bottom:8px;font-size:1.45rem}
.sun-points p{margin:0;color:var(--soft)}
.after-grid{display:grid;gap:34px;align-items:center}
.after-copy p{font-size:1.06rem;color:var(--soft)}
.ech-photo--after .image-slot{aspect-ratio:3/2}
.final-section{padding-block:clamp(70px,8vw,110px);background:var(--deep);color:#fff}
.final-grid{display:grid;gap:28px;align-items:end}
.final-grid h2{max-width:15ch}.final-grid p:not(.eyebrow){font-size:1.1rem}
.delivery-section{padding-block:70px 82px;background:#494b38;color:#fff}
.delivery-intro{display:grid;gap:18px;margin-bottom:32px}
.delivery-intro h2{max-width:15ch}.delivery-intro p{max-width:54ch;margin:0;font-size:1.05rem}
.delivery-list{display:grid;gap:12px}
.delivery-method{min-width:0;padding:23px 20px;border:1px solid rgba(255,253,248,.38);background:rgba(255,253,248,.08)}
.delivery-method h3{margin:0 0 8px;font-family:Onest,system-ui,sans-serif;font-size:clamp(1.35rem,2.1vw,2rem);font-weight:600;letter-spacing:-.03em}
.delivery-method p{margin:4px 0 0;font-size:1rem;line-height:1.48}
.delivery-method__price{display:block;margin:14px 0 10px;font-family:Prata,Georgia,serif;font-size:clamp(1.35rem,1.7vw,1.65rem);font-weight:400;line-height:1.15;white-space:nowrap}
.delivery-action{margin-top:32px}
.centres-section{padding-block:var(--section-space)}
.section-heading-pair{display:grid;gap:18px;margin-bottom:clamp(32px,3vw,48px)}
.section-heading-pair>p{max-width:46rem;color:var(--soft);font-size:1.05rem}
.centres-section__body{display:grid;gap:clamp(24px,3vw,48px)}
.location-visual{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-content:start}
.location-visual .ech-photo:first-child{grid-column:1/-1}
.location-visual .ech-photo:nth-child(4){display:none}
.location-visual .image-slot{aspect-ratio:4/3}
.location-visual .ech-photo:first-child .image-slot{aspect-ratio:16/9}
.location-visual .ech-photo:not(:first-child) .image-slot--placeholder{padding:4px}
.location-visual .ech-photo:not(:first-child) .image-slot--placeholder figcaption{gap:0;padding:4px}
.location-visual .ech-photo:not(:first-child) .image-slot--placeholder span{display:none}
.location-visual .ech-photo:not(:first-child) .image-slot--placeholder strong{font-size:.76rem;line-height:1.25}
.location-details{min-width:0}.location-groups{display:grid;gap:28px}
.location-group>h3{margin-bottom:10px;font-size:clamp(1.45rem,3vw,2rem)}
.location-group__list{display:grid}
.location-card{padding-block:18px 22px;border-top:1px solid var(--line)}
.location-card h4{margin:0 0 10px;font-size:1.05rem;font-weight:600}
.location-card address,.location-card p{margin:0 0 8px;color:var(--soft);font-size:.95rem;font-style:normal}
.centres-phone{margin-top:28px}.centres-phone a{display:inline-flex;min-height:44px;align-items:center}
.faq-section{background:#ede4d1}.faq-grid{display:grid;gap:24px}.faq-list{border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item summary{display:grid;grid-template-columns:minmax(0,1fr) 30px;gap:12px;align-items:center;min-height:72px;cursor:pointer;list-style:none;font-size:1.05rem;font-weight:600}
.faq-item summary::-webkit-details-marker{display:none}.faq-plus{font-size:1.8rem;font-weight:400;color:var(--deep);text-align:center}.faq-item[open] .faq-plus{transform:rotate(45deg)}
.faq-item>p{padding:0 40px 22px 0;color:var(--soft)}
.ech-footer{padding-block:64px;background:#303027;color:#f7f2e8}
.footer-grid{display:grid;gap:32px}.footer-grid>div:first-child p{margin-top:25px;font-size:.9rem;color:#d8cbb8}
.footer-grid nav,.footer-contacts,.footer-links,.footer-social{display:grid;align-content:start;gap:8px}
.footer-grid a{display:inline-flex;min-height:44px;align-items:center;text-decoration:none}.footer-grid a:hover{text-decoration:underline}
@media(min-width:700px){
 .ech-header__inner{grid-template-columns:auto minmax(0,1fr) auto;min-height:86px}.ech-menu{grid-column:auto;grid-row:1;margin:0}.ech-button--header{grid-column:3;padding-inline:20px;font-size:.95rem}
 .flower-gallery{gap:16px}.place-story{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--grid-gap)}.place-story:nth-child(even) .ech-photo{order:2}.place-story__copy{max-width:470px;padding-left:24px}
 .choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 24px}.choice-more{grid-template-columns:minmax(0,1fr) auto}
 .sun-grid,.after-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.after-grid .ech-photo{grid-column:1;grid-row:1}.after-copy{grid-column:2;grid-row:1}
 .final-grid{grid-template-columns:minmax(0,1fr) auto}.delivery-intro{grid-template-columns:1fr 1fr;align-items:end}.delivery-list{grid-template-columns:repeat(3,minmax(0,1fr))}
 .section-heading-pair{grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--grid-gap)}.section-heading-pair>div{grid-column:span 3}.section-heading-pair>p{grid-column:span 3;padding-top:28px}
 .centres-section__body{grid-template-columns:repeat(6,minmax(0,1fr))}.location-visual,.location-details{grid-column:span 3}
 .location-visual .ech-photo:nth-child(4){display:block}.location-visual{grid-template-columns:1.35fr .65fr;grid-template-rows:repeat(3,minmax(0,1fr));height:clamp(500px,64vw,660px)}
 .location-visual .ech-photo:first-child{grid-column:1;grid-row:1/-1}.location-visual .image-slot,.location-visual .ech-photo:first-child .image-slot{width:100%;height:100%;min-height:0;aspect-ratio:auto}.location-groups{grid-template-columns:1fr}
 .footer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(min-width:1200px){
 .ech-nav{display:flex;justify-content:center;gap:clamp(18px,2vw,34px)}.ech-nav a{display:inline-flex;min-height:44px;align-items:center;font-size:.95rem;text-decoration:none}.ech-nav a:hover{text-decoration:underline}.ech-menu{display:none}
 .ech-hero{min-height:80svh}.ech-hero__inner{padding-top:130px}.ech-hero h1{font-size:clamp(3.8rem,7vw,6.1rem)}
 .flower-section .section-intro{grid-template-columns:1fr 1.3fr 1.2fr;gap:var(--grid-gap);align-items:start}.flower-gallery{gap:24px}.flower-gallery .ech-photo:nth-child(2){transform:translateY(35px)}
 .places-section .section-intro,.choice-section .section-intro{grid-template-columns:1fr 1.4fr 1fr;gap:var(--grid-gap);align-items:start}.place-stories{gap:85px}.place-story{grid-template-columns:7fr 5fr}.place-story:nth-child(even){grid-template-columns:5fr 7fr}
 .late-section{min-height:72svh}.choice-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--grid-gap)}
 .sun-grid{grid-template-columns:6fr 6fr;gap:clamp(50px,7vw,110px)}.after-grid{grid-template-columns:5fr 7fr;gap:clamp(50px,7vw,110px)}
 .section-heading-pair{grid-template-columns:repeat(12,minmax(0,1fr))}.section-heading-pair>div{grid-column:span 5}.section-heading-pair>p{grid-column:7/span 5}
 .centres-section__body{grid-template-columns:repeat(12,minmax(0,1fr))}.location-visual,.location-details{grid-column:span 6}.location-visual{height:clamp(560px,38vw,680px)}.location-group__list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px}
 .faq-grid{grid-template-columns:4fr 8fr;gap:var(--grid-gap)}.footer-grid{grid-template-columns:1.4fr 1fr 1.1fr 1.3fr .8fr}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}.ech-button:hover{transform:none}}

