@font-face { font-family: Onest; src: url('/assets/fonts/Onest-Variable.ttf') format('truetype'); font-weight: 100 600; font-display: swap; }
@font-face { font-family: Prata; src: url('/assets/fonts/Prata-Regular.ttf') format('truetype'); font-weight: 400; font-display: swap; }
:root { --cream:#f7f7ef; --white:#fffef9; --ink:#253c32; --ink-soft:#536359; --green:#263f35; --sage:#e6ebe2; --line:#bcc7b9; --text-color:var(--ink); --background-color:var(--cream); --surface-color:var(--sage); --accent-color:var(--green); --accent-contrast:var(--cream); --border-color:var(--line); --focus-color:#986226; --radius:0; --section-space:clamp(64px,7vw,112px); font-family:Onest,Arial,sans-serif; line-height:1.65; }
html { scroll-padding-top:24px; }
body { font-family:Onest,Arial,sans-serif; }
h1,h2,h3 { font-family:Prata,Georgia,serif; font-weight:400; letter-spacing:-.035em; }
h2 { margin:0 0 24px; font-size:clamp(2rem,4.2vw,3.8rem); line-height:1.2; }
h3 { margin-bottom:18px; font-size:clamp(1.5rem,2.5vw,2.4rem); line-height:1.25; }
p { max-width:65ch; text-wrap:pretty; }
a { text-underline-offset:.3em; }
em { font-style:normal; color:#66815a; }
.eyebrow { margin:0 0 22px; font-size:.875rem; font-weight:500; letter-spacing:.09em; text-transform:uppercase; }
.button { min-height:52px; padding:14px 20px; border:1px solid var(--green); border-radius:2px; font-size:1rem; font-weight:500; line-height:1.45; text-align:center; }
.button:hover { background:#405b48; border-color:#405b48; }
.button--light { background:var(--cream); border-color:var(--cream); color:var(--green); }
.button--light:hover { background:#dfe9d5; border-color:#dfe9d5; }
.text-link { display:inline-flex; min-height:44px; align-items:center; gap:20px; font-size:1rem; }
.hydrangea-header { position:relative; z-index:10; background:var(--cream); }
.header-inner { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:12px; padding-block:18px; border-bottom:1px solid var(--line); }
.hydrangea-brand { display:inline-flex; width:max-content; min-height:48px; flex-direction:column; justify-content:center; font-family:Prata,Georgia,serif; font-size:1.55rem; line-height:1.2; text-decoration:none; }
.hydrangea-brand span { margin-top:5px; font-family:Onest,Arial,sans-serif; font-size:.875rem; letter-spacing:.04em; }
.desktop-nav { display:none; }
.header-cta { grid-column:1/-1; grid-row:2; min-height:44px; padding:10px 14px; font-size:.875rem; }
.header-menu { grid-column:2; grid-row:1; }
.header-menu summary { display:flex; min-height:48px; align-items:center; gap:15px; padding:8px 0 8px 8px; cursor:pointer; list-style:none; font-size:.875rem; }
.header-menu summary span { font-size:1.5rem; line-height:1; }
.header-menu[open] summary span { transform:rotate(45deg); }
.header-menu summary::-webkit-details-marker { display:none; }
.header-menu nav { position:absolute; top:78px; left:0; right:0; display:grid; padding:24px var(--page-gutter); border-block:1px solid var(--line); background:var(--cream); box-shadow:0 18px 30px #253c3215; }
.header-menu nav a { display:flex; min-height:48px; align-items:center; border-bottom:1px solid var(--line); text-decoration:none; }
.hydrangea-hero { container-type:inline-size; padding-block:28px 24px; }
.hero-grid { display:grid; gap:24px; }
.hero-copy { min-width:0; }
.hero-copy .eyebrow { max-width:26ch; }
.hero-copy h1 { margin:0 0 24px; font-size:clamp(2.7rem,11vw,5.7rem); line-height:1.14; }
.hero-copy .lead { margin-bottom:24px; font-size:1.05rem; line-height:1.7; }
.hero-actions { display:grid; justify-items:start; gap:12px; }
.hero-actions .button { width:100%; }
.hero-footnote { margin:0; color:var(--ink-soft); font-size:.875rem; }
.hydrangea-photo { min-width:0; }
.hydrangea-photo .image-slot { position:relative; }
.hydrangea-photo .image-slot img { object-fit:cover; }
.hydrangea-photo .image-slot--placeholder { min-height:0; }
.location-visual .hydrangea-photo:not(:first-child) .image-slot--placeholder figcaption { padding:8px; }
.location-visual .hydrangea-photo:not(:first-child) .image-slot--placeholder span { display:none; }
.photo--hero { width:calc(100% + 2 * var(--page-gutter)); margin-inline:calc(-1 * var(--page-gutter)); }
.photo--hero .image-slot { aspect-ratio:1/1.05; }
.types-section { padding-block:var(--section-space); }
.section-intro { margin-bottom:36px; }
.section-intro>p:last-child { color:var(--ink-soft); }
.types-layout { display:grid; gap:56px; }
.type,.type-copy { min-width:0; }
.botanical { margin:0 0 8px; color:var(--ink-soft); font-size:.875rem; letter-spacing:.04em; }
.type h3 { font-size:clamp(1.65rem,4vw,3rem); overflow-wrap:anywhere; }
.type-intro { font-size:1.125rem; line-height:1.55; }
.type-copy>p:not(.botanical):not(.type-intro) { color:var(--ink-soft); }
.type--paniculata,.type--arborescens,.type--macrophylla { display:grid; gap:20px; }
.type .hydrangea-photo { width:calc(100% + 2 * var(--page-gutter)); margin-inline:calc(-1 * var(--page-gutter)); }
.photo--paniculata .image-slot { aspect-ratio:4/3; }
.photo--arborescens .image-slot { aspect-ratio:4/3; }
.type--arborescens .type-copy { position:relative; width:calc(100% - 16px); margin-top:-48px; margin-left:16px; padding:24px 0 0 24px; background:var(--cream); }
.type--arborescens .type-copy>p:last-child { margin-bottom:0; }
.photo--macrophylla .image-slot { aspect-ratio:4/5; }
.type-note { margin-block:24px 0; padding:20px 22px; border-left:2px solid #7e936e; background:var(--sage); }
.type-note p { margin:0; }
.other-types { position:relative; width:calc(100% - 16px); margin:-48px 0 0 16px; padding:24px; background:var(--sage); }
.other-types h3 { margin-bottom:14px; font-size:1.5rem; }
.other-types p { margin:0; color:var(--ink-soft); }
.mass-visual { position:relative; }
.photo--mass .image-slot { height:clamp(400px,65svh,640px); aspect-ratio:auto; }
.mass-caption { position:absolute; inset-inline:0; bottom:0; pointer-events:none; }
.mass-caption p { max-width:27ch; margin:0; padding:20px 24px; background:var(--cream); color:var(--ink); font-family:Prata,Georgia,serif; font-size:clamp(1.3rem,3vw,2.5rem); line-height:1.4; letter-spacing:-.025em; }
.garden-section { padding-block:var(--section-space); background:var(--sage); }
.garden-intro { margin-bottom:32px; }
.garden-intro .lead { margin:0; font-size:1.05rem; }
.garden-layout { display:grid; gap:0; }
.garden-layout>.photo--large { width:calc(100% + 2 * var(--page-gutter)); margin-inline:calc(-1 * var(--page-gutter)); }
.photo--large .image-slot { aspect-ratio:7/6; }
.garden-main-copy { position:relative; width:calc(100% - 16px); margin-top:-40px; padding:24px; background:var(--cream); }
.garden-main-copy h3,.garden-secondary-copy h3,.garden-middle h3 { font-size:clamp(1.5rem,2.4vw,2.3rem); }
.garden-main-copy p,.garden-secondary-copy p,.garden-middle p { color:var(--ink-soft); }
.garden-main-copy p:last-child,.garden-secondary-copy p:last-child,.garden-middle p:last-child { margin-bottom:0; }
.garden-layout>.photo--compact { width:82%; margin-top:32px; justify-self:end; }
.photo--compact .image-slot { aspect-ratio:5/4; }
.garden-secondary-copy { position:relative; width:92%; margin-top:-24px; padding:24px 24px 0 0; background:var(--sage); }
.garden-middle { margin-top:28px; padding-top:24px; border-top:1px solid #b0bfaa; }
.before-section { padding-block:var(--section-space); }
.before-grid { display:grid; gap:24px; }
.before-grid>div:first-child>p:last-child { color:var(--ink-soft); }
.before-list article { padding-block:24px; border-top:1px solid var(--line); }
.before-list h3 { font-family:Onest,Arial,sans-serif; font-size:1.2rem; font-weight:500; letter-spacing:-.015em; }
.before-list p { margin:0; color:var(--ink-soft); }
.home-note { padding-bottom:var(--section-space); }
.home-note__inner { display:grid; gap:4px; border-top:1px solid var(--line); padding-top:30px; }
.home-note h2 { font-size:1.6rem; margin-bottom:18px; }
.home-note p { margin:0; color:var(--ink-soft); }
.catalog-section { padding-block:var(--section-space); background:var(--green); color:var(--cream); }
.catalog-grid { display:grid; gap:38px; }
.catalog-grid em { color:#b8c9a8; }
.catalog-grid>div>p:not(.eyebrow) { color:#d2ddce; margin-bottom:28px; }
.catalog-links { display:grid; align-content:start; border-top:1px solid #81947c; }
.catalog-link { display:flex; min-height:72px; align-items:center; padding:16px 0; border-bottom:1px solid #81947c; color:var(--cream); font-size:1.05rem; text-decoration:none; }
.catalog-link:hover { color:#c3d8ae; }
.centres-section { padding-block:var(--section-space); background:#edf0e8; }
.section-kicker { margin:0 0 18px; font-size:.875rem; font-weight:500; letter-spacing:.08em; text-transform:uppercase; }
.route-link { display:inline-flex; min-height:44px; align-items:center; font-weight:500; }
.section-heading-pair { display: grid; gap: 18px; margin-bottom: clamp(32px, 3vw, 48px); }
.section-heading-pair > p { max-width: 46rem; color: var(--ink-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 .hydrangea-photo:first-child { grid-column: 1 / -1; }
.location-visual .hydrangea-photo:nth-child(4) { display: none; }
.location-visual .image-slot { aspect-ratio: 4 / 3; }
.location-visual .hydrangea-photo:first-child .image-slot { aspect-ratio: 16 / 9; }
.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(--ink-soft); font-size: 1rem; font-style: normal; }
.route-link { margin-top: 8px; }
.centres-phone { margin-top: 28px; }
.centres-phone a { display: inline-flex; min-height: 44px; align-items: center; }

.delivery-section { padding-block: 70px 82px; background: var(--green); color: var(--cream); }
.delivery-intro { display: grid; gap: 18px; margin-bottom: 32px; }
.delivery-intro h2 { max-width: 15ch; font-size: clamp(2.5rem, 5vw, 4.1rem); }
.delivery-intro p { max-width: 54ch; margin: 0; font-size: 1.05rem; line-height: 1.55; }
.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, Arial, 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; }


.faq-section { padding-block:var(--section-space); }
.faq-grid { display:grid; gap:24px; }
.faq-list { min-width:0; border-top:1px solid var(--line); }
.faq-item { border-bottom:1px solid var(--line); }
.faq-item summary { display:grid; min-height:78px; grid-template-columns:minmax(0,1fr) 24px; align-items:center; gap:16px; padding-block:20px; list-style:none; cursor:pointer; font-weight:500; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary span { font-size:1.4rem; text-align:center; }
.faq-item[open] summary span { transform:rotate(45deg); }
.faq-item>p { margin:0 0 24px; color:var(--ink-soft); }
.hydrangea-footer { padding-block:48px 28px; background:var(--green); color:var(--cream); }
.footer-grid { display:grid; gap:24px; }
.hydrangea-footer a { display:inline-flex; min-width:44px; min-height:44px; align-items:center; color:var(--cream); font-size:.875rem; }
.hydrangea-footer .hydrangea-brand { align-items:start; margin-bottom:16px; font-size:1.55rem; }
.hydrangea-footer p { margin:0; color:#c7d1c0; font-size:.875rem; }
.footer-grid nav,.footer-contacts { display:grid; justify-items:start; }
.footer-links,.footer-social { display:flex; flex-wrap:wrap; gap:0 24px; }
.footer-links { padding-top:20px; border-top:1px solid #68805f; }

@media (min-width:700px) {
    .header-inner { grid-template-columns:minmax(0,1fr) auto auto; gap:24px; }
    .header-cta { grid-column:2; grid-row:1; }
    .header-menu { grid-column:3; }
    .hydrangea-hero { padding-block:36px 30px; }
    .hero-grid { grid-template-columns:repeat(6,minmax(0,1fr)); align-items:center; gap:24px; }
    .hero-copy { grid-column:span 3; padding-block:12px; }
    .hero-copy h1 { font-size:clamp(2.6rem,5.8vw,4.4rem); }
    .hero-copy .lead { font-size:1rem; }
    .photo--hero { grid-column:span 3; width:100%; height:100%; margin:0; }
    .photo--hero .image-slot { height:100%; min-height:560px; aspect-ratio:auto; }
    .hero-footnote { grid-column:1/-1; }
    .section-intro { max-width:760px; margin-bottom:48px; }
    .type .hydrangea-photo { width:100%; margin:0; }
    .type--paniculata { grid-template-columns:repeat(6,minmax(0,1fr)); align-items:center; gap:var(--grid-gap); }
    .type--paniculata .type-copy { grid-column:5/span 2; grid-row:1; }
    .photo--paniculata { grid-column:1/span 4; grid-row:1; }
    .photo--paniculata .image-slot { aspect-ratio:3/4; }
    .type--arborescens { grid-template-columns:repeat(6,minmax(0,1fr)); gap:0; }
    .photo--arborescens { grid-column:1/-1; grid-row:1; }
    .photo--arborescens .image-slot { aspect-ratio:16/10; }
    .type--arborescens .type-copy { grid-column:3/span 4; grid-row:2; width:100%; margin:-64px 0 0; padding:32px; }
    .type--macrophylla { grid-template-columns:repeat(6,minmax(0,1fr)); gap:24px var(--grid-gap); align-items:start; }
    .type--macrophylla .type-copy { grid-column:1/span 3; grid-row:1; }
    .photo--macrophylla { grid-column:4/span 3; grid-row:1; height:100%; }
    .photo--macrophylla .image-slot { height:100%; min-height:600px; aspect-ratio:auto; }
    .other-types { grid-column:1/-1; grid-row:2; width:100%; margin:0; padding:28px 32px; }
    .photo--mass .image-slot { height:clamp(500px,70svh,820px); }
    .mass-caption p { padding:28px 32px; }
    .garden-intro { max-width:800px; margin-bottom:48px; }
    .garden-layout { grid-template-columns:repeat(6,minmax(0,1fr)); gap:32px var(--grid-gap); }
    .garden-layout>.photo--large { grid-column:1/-1; grid-row:1; width:100%; margin:0; }
    .photo--large .image-slot { aspect-ratio:16/10; }
    .garden-main-copy { grid-column:4/span 3; grid-row:2; width:100%; margin-top:-64px; padding:28px; align-self:start; }
    .garden-layout>.photo--compact { grid-column:1/span 3; grid-row:2; width:100%; margin-top:0; }
    .photo--compact .image-slot { aspect-ratio:4/5; }
    .garden-secondary-copy { grid-column:1/span 3; grid-row:3; width:100%; margin:0; padding:0; }
    .garden-middle { grid-column:4/span 3; grid-row:3; margin:0; }
    .before-grid { grid-template-columns:repeat(6,minmax(0,1fr)); gap:var(--grid-gap); }
    .before-grid>div { grid-column:span 3; }
    .before-grid h2 { font-size:2.2rem; }
    .home-note__inner { grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:32px; }
    .catalog-grid { grid-template-columns:repeat(6,minmax(0,1fr)); gap:var(--grid-gap); align-items:center; }
    .catalog-grid>div,.catalog-links { grid-column:span 3; }
    .faq-grid { grid-template-columns:minmax(0,1fr) minmax(0,1.4fr); gap:var(--grid-gap); }
    .footer-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .footer-links,.footer-social { grid-column:1/-1; }
        .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 .hydrangea-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 .hydrangea-photo:first-child { grid-column: 1; grid-row: 1 / -1; }
    .location-visual .image-slot,
    .location-visual .hydrangea-photo:first-child .image-slot { width: 100%; height: 100%; aspect-ratio: auto; }
    .location-groups { grid-template-columns: 1fr; }
    .delivery-intro { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: end; gap: var(--grid-gap); }
    .delivery-list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; }
    .delivery-method { padding-inline: 24px; border: 0; border-top: 1px solid rgba(255, 253, 248, .45); background: transparent; }
    .delivery-method + .delivery-method { border-left: 1px solid rgba(255, 253, 248, .45); }

}

@media (min-width:1200px) {
    .header-inner { min-height:108px; grid-template-columns:auto minmax(0,1fr) auto; padding-block:20px; }
    .hydrangea-brand { font-size:1.8rem; }
    .desktop-nav { display:flex; justify-content:center; gap:clamp(20px,3vw,48px); }
    .desktop-nav a { display:inline-flex; min-height:44px; align-items:center; text-decoration:none; font-size:.875rem; }
    .desktop-nav a:hover { text-decoration:underline; }
    .header-cta { grid-column:3; }
    .header-menu { display:none; }
    .hydrangea-hero { padding-block:24px 26px; }
    .hero-grid { grid-template-columns:repeat(12,minmax(0,1fr)); gap:var(--grid-gap); }
    .hero-copy { grid-column:1/span 4; padding-block:40px; padding-right:8px; }
    .hero-copy h1 { font-size:clamp(3rem,4.3vw,5.2rem); }
    .hero-copy .lead { max-width:36ch; font-size:1.05rem; }
    .hero-copy .eyebrow { max-width:28ch; font-size:.75rem; }
    .hero-actions .button { max-width:370px; }
    .photo--hero { grid-column:5/span 8; width:calc(100% + max(var(--page-gutter), (100cqw - var(--content-max)) / 2)); }
    .photo--hero .image-slot { min-height:600px; height:clamp(600px,72svh,900px); }
    .hero-footnote { margin-top:-8px; }
    .section-intro { display:grid; grid-template-columns:1.2fr 1fr; max-width:100%; gap:16px var(--grid-gap); margin-bottom:60px; }
    .section-intro .eyebrow { grid-column:1/-1; margin-bottom:0; }
    .section-intro h2 { margin:0; }
    .section-intro>p:last-child { align-self:end; max-width:44ch; margin:0 0 8px; }
    .types-layout { gap:88px; }
    .type--paniculata { grid-template-columns:repeat(12,minmax(0,1fr)); }
    .type--paniculata .type-copy { grid-column:9/span 4; }
    .photo--paniculata { grid-column:1/span 8; }
    .photo--paniculata .image-slot { aspect-ratio:4/3; }
    .type--arborescens { grid-template-columns:repeat(12,minmax(0,1fr)); }
    .photo--arborescens .image-slot { aspect-ratio:2/1; }
    .type--arborescens .type-copy { grid-column:6/span 7; margin-top:-112px; padding:40px 0 0 48px; }
    .type--macrophylla { grid-template-columns:repeat(12,minmax(0,1fr)); gap:32px var(--grid-gap); align-items:start; }
    .type--macrophylla .type-copy { grid-column:1/span 5; }
    .photo--macrophylla { grid-column:7/span 6; grid-row:1/span 2; }
    .photo--macrophylla .image-slot { min-height:780px; height:100%; }
    .other-types { grid-column:1/span 5; grid-row:2; padding:28px 32px; }
    .photo--mass .image-slot { height:clamp(560px,74svh,900px); }
    .mass-caption p { max-width:30ch; padding:32px 40px; }
    .garden-intro { display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:18px var(--grid-gap); max-width:none; margin-bottom:56px; }
    .garden-intro .eyebrow { grid-column:1/-1; margin:0; }
    .garden-intro h2 { margin:0; }
    .garden-intro .lead { align-self:end; font-size:1.125rem; }
    .garden-layout { grid-template-columns:repeat(12,minmax(0,1fr)); gap:40px var(--grid-gap); }
    .photo--large .image-slot { aspect-ratio:16/9; }
    .garden-main-copy { grid-column:8/span 5; margin-top:-104px; padding:36px; }
    .garden-layout>.photo--compact { grid-column:1/span 6; width:calc(100% - 40px); justify-self:start; }
    .photo--compact .image-slot { aspect-ratio:5/4; }
    .garden-secondary-copy { grid-column:1/span 6; padding-right:40px; }
    .garden-middle { grid-column:8/span 5; }
    .before-grid { grid-template-columns:repeat(12,minmax(0,1fr)); }
    .before-grid>div:first-child { grid-column:1/span 5; }
    .before-grid h2 { font-size:clamp(2.6rem,3.5vw,3.3rem); }
    .before-list { grid-column:7/span 6 !important; }
    .home-note__inner { grid-template-columns:minmax(0,5fr) minmax(0,7fr); }
    .catalog-grid { grid-template-columns:repeat(12,minmax(0,1fr)); }
    .catalog-grid>div { grid-column:1/span 5; }
    .catalog-links { grid-column:8/span 5; }
    .catalog-link { min-height:82px; font-size:1.25rem; }
    .faq-grid { grid-template-columns:minmax(0,5fr) minmax(0,7fr); }
        .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-groups { grid-template-columns: 1fr; }
    .location-group__list { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 20px; }
    .delivery-section { padding-block: 80px 90px; }
    .delivery-intro { margin-bottom: 40px; }

}
@media (prefers-reduced-motion:no-preference) { .button,.catalog-link { transition:color .18s ease,background-color .18s ease,border-color .18s ease; } }

