/* Rose & Shine — brochure-aligned styles (v2, November 2026) */
@font-face{font-family:'Cormorant Garamond';src:url('./assets/cormorant-300.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:'Cormorant Garamond';src:url('./assets/cormorant-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Cormorant Garamond';src:url('./assets/cormorant-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Cormorant Garamond';src:url('./assets/cormorant-300-italic.woff2') format('woff2');font-weight:300;font-style:italic;font-display:swap}
@font-face{font-family:'Cormorant Garamond';src:url('./assets/cormorant-400-italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:Switzer;src:url('./assets/switzer.woff2') format('woff2');font-weight:400 700;font-display:swap}

:root{
  --font-display:'Cormorant Garamond',Georgia,serif;
  --font-body:'Switzer','Helvetica Neue',Arial,sans-serif;
  --text-xs:clamp(.75rem,.72rem + .12vw,.82rem);
  --text-sm:clamp(.875rem,.85rem + .12vw,.94rem);
  --text-base:clamp(1rem,.96rem + .18vw,1.06rem);
  --text-lg:clamp(1.2rem,1.05rem + .5vw,1.5rem);
  --text-xl:clamp(1.65rem,1.3rem + 1.1vw,2.35rem);
  --text-2xl:clamp(2.3rem,1.6rem + 2.4vw,3.7rem);
  --text-hero:clamp(2.6rem,1.6rem + 3.4vw,4.9rem);
  --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;
  --color-bg:#fbf4f0;--color-surface:#fff;--color-blush:#f3ddd7;--color-blush-soft:#f8ebe6;--color-line:#e6d3cb;
  --color-text:#3a2a24;--color-heading:#5e3b2e;--color-muted:#6e5a52;--color-primary:#99634e;--color-primary-hover:#7e4e3c;
  --color-rose:#f3ddd7;--radius:12px;--radius-lg:18px;--radius-full:999px;
}
body{background:var(--color-bg)}
.wrap{width:calc(100% - var(--space-24));max-width:1240px;margin-inline:auto}
.skip-link{position:absolute;left:var(--space-4);top:-100px;z-index:100;background:var(--color-surface);padding:var(--space-3)}.skip-link:focus{top:var(--space-4)}
h1,h2,h3{font-family:var(--font-display);color:var(--color-heading);font-weight:400;letter-spacing:0}
h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg)}
p{color:var(--color-muted)}

/* Top bar + header */
.topbar{border-bottom:1px solid var(--color-line);font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--color-primary);font-weight:600}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);min-height:40px}
.topbar a{text-decoration:none;letter-spacing:.08em}.topbar a:hover{text-decoration:underline}
header{background:var(--color-bg);border-bottom:1px solid var(--color-line)}
.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:104px;gap:var(--space-8)}
.logo{width:250px;flex-shrink:0;display:block}.logo img{width:100%;height:auto}
nav{display:flex;align-items:center;gap:var(--space-6)}
nav>a:not(.button){font-size:var(--text-sm);text-decoration:none;padding-block:var(--space-3);color:var(--color-text)}
nav>a:not(.button):hover{color:var(--color-primary)}
nav>a[aria-current]{color:var(--color-primary);text-decoration:underline;text-underline-offset:8px;text-decoration-thickness:1px}
.menu-toggle{display:none}

/* Buttons + links */
.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-3) var(--space-6);background:var(--color-primary);color:#fff;font-size:var(--text-sm);font-weight:500;text-decoration:none;border-radius:var(--radius-full);min-height:50px;line-height:1.3;transition:background .15s}
.button:hover{background:var(--color-primary-hover)}
.button.ghost{background:transparent;color:var(--color-primary);border:1px solid var(--color-primary)}.button.ghost:hover{background:var(--color-blush)}
.button.light{background:#fff;color:var(--color-primary)}.button.light:hover{background:var(--color-blush)}
.text-link{display:inline-block;text-underline-offset:6px;font-size:var(--text-sm);padding-block:var(--space-3);font-weight:500;color:var(--color-primary)}

/* Brochure section label: spaced caps + hairline */
.eyebrow{font-size:var(--text-xs);letter-spacing:.2em;font-weight:600;color:var(--color-primary);margin-bottom:var(--space-4);text-transform:uppercase}
.label{display:flex;align-items:center;gap:var(--space-5);font-family:var(--font-display);font-weight:400;font-size:var(--text-xl);letter-spacing:.14em;text-transform:uppercase;color:var(--color-primary);margin-bottom:var(--space-8)}
.label::after{content:"";flex:1;height:1px;background:var(--color-line)}
.section{padding-block:var(--space-20)}
.section-intro{max-width:60ch;margin-top:calc(var(--space-4) * -1);margin-bottom:var(--space-8)}

/* Hero */
.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:var(--space-16);align-items:center;padding-block:var(--space-16) var(--space-20)}
.hero h1{font-size:var(--text-hero);line-height:1.04;font-weight:400;margin-bottom:var(--space-6)}
.hero-lead{font-size:var(--text-base);max-width:46ch}
.hero-actions{display:flex;align-items:center;gap:var(--space-4);margin-top:var(--space-8);flex-wrap:wrap}
.hero-note{font-family:var(--font-display);font-style:italic;font-size:var(--text-lg);color:var(--color-primary);margin-top:var(--space-8)}
.hero-photo{position:relative;padding-bottom:var(--space-6)}
.hero-photo img{width:100%;height:540px;object-fit:cover;border-radius:300px 300px var(--radius-lg) var(--radius-lg);object-position:60% center}
.photo-caption{position:absolute;bottom:0;left:var(--space-8);right:var(--space-8);background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius);padding:var(--space-4) var(--space-6);font-family:var(--font-display);font-size:var(--text-lg);text-align:center;color:var(--color-heading)}

/* Area strip */
.area-strip{border-block:1px solid var(--color-line);padding-block:var(--space-5);background:var(--color-surface)}
.area-strip .wrap{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);flex-wrap:wrap}
.area-strip span{font-size:var(--text-xs);letter-spacing:.16em;font-weight:600;color:var(--color-primary)}
.area-strip p{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-heading)}
.area-strip b{font-weight:400;padding-inline:var(--space-2);color:var(--color-primary)}
.area-strip a{font-size:var(--text-xs);text-underline-offset:4px;color:var(--color-primary)}

/* Audience cards (brochure "Who we work with") */
.audience-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6)}
.audience-card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}
.audience-card header{background:var(--color-blush);border:0;padding:var(--space-5) var(--space-6)}
.audience-card h3{font-size:var(--text-lg);line-height:1.2}
.audience-card header p{font-size:var(--text-xs);margin-top:var(--space-1);color:var(--color-muted)}
.audience-card .ticks{padding:var(--space-5) var(--space-6) var(--space-6);flex:1}
.audience-card .card-link{margin:0 var(--space-6) var(--space-5);align-self:start}
.ticks{list-style:none;padding:0;display:grid;gap:var(--space-2)}
.ticks li{position:relative;padding-left:var(--space-6);font-size:var(--text-sm);color:var(--color-text);line-height:1.5}
.ticks li::before{content:"";position:absolute;left:2px;top:.5em;width:7px;height:7px;background:var(--color-primary);transform:rotate(45deg)}

/* Why choose */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-8) var(--space-10)}
.why-item{display:grid;grid-template-columns:auto 1fr;gap:var(--space-4);align-items:start}
.why-item svg{width:24px;height:24px;color:var(--color-primary);margin-top:4px}
.why-item h3{font-size:var(--text-lg);margin-bottom:var(--space-1)}
.why-item p{font-size:var(--text-sm)}

/* Meet Gaby band */
.meet{background:var(--color-blush-soft);border-block:1px solid var(--color-line)}
.meet-grid{display:grid;grid-template-columns:.8fr 1fr;gap:var(--space-20);align-items:center}
.meet-photo{position:relative}
.meet-photo img{width:100%;height:560px;object-fit:cover;object-position:center 22%;border-radius:300px 300px var(--radius-lg) var(--radius-lg)}
.meet-photo figcaption{position:absolute;bottom:var(--space-5);left:50%;transform:translateX(-50%);background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-full);padding:var(--space-2) var(--space-5);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--color-primary);white-space:nowrap;font-weight:600}
.meet h2{font-size:var(--text-2xl);line-height:1.05;margin-bottom:var(--space-6)}
.meet p:not(.eyebrow){max-width:52ch;margin-bottom:var(--space-4)}
.pull{font-family:var(--font-display);font-style:italic;font-size:var(--text-lg);line-height:1.45;color:var(--color-heading)!important;border-left:2px solid var(--color-primary);padding-left:var(--space-6);margin-block:var(--space-6)!important}

/* Testimonials */
.quote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}
.quote-card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius);padding:var(--space-6) var(--space-6) var(--space-5);display:flex;flex-direction:column;gap:var(--space-3);margin:0}
.stars{color:var(--color-primary);letter-spacing:.2em;font-size:var(--text-sm)}
.quote-card blockquote{font-family:var(--font-display);font-style:italic;font-size:var(--text-lg);line-height:1.35;color:var(--color-heading);flex:1}
.quote-card figcaption{font-size:var(--text-xs);letter-spacing:.16em;color:var(--color-muted);text-transform:uppercase}
.section-foot{margin-top:var(--space-6)}

/* How it works */
.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-8);text-align:center}
.steps li{padding:var(--space-6) var(--space-4)}
.step-num{display:block;font-family:var(--font-display);font-size:var(--text-2xl);color:var(--color-primary);line-height:1;margin-bottom:var(--space-3)}
.steps h3{font-size:var(--text-lg);margin-bottom:var(--space-2);font-weight:500}
.steps p{font-size:var(--text-sm);max-width:30ch;margin-inline:auto}

/* Service list (numbered) */
.service-list{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}
.service-list a{display:flex;align-items:baseline;gap:var(--space-4);background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius);padding:var(--space-4) var(--space-5);text-decoration:none;font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-heading);transition:border-color .15s,background .15s}
.service-list a:hover{border-color:var(--color-primary);background:var(--color-blush-soft)}
.service-list a small{font-size:var(--text-sm);color:var(--color-primary);font-family:var(--font-display)}
.service-list a span:last-child{margin-left:auto;color:var(--color-primary);font-family:var(--font-body);font-size:var(--text-sm)}
.footnote{font-size:var(--text-sm);font-style:italic;margin-top:var(--space-5)}

/* Extras pills */
.pills{display:flex;flex-wrap:wrap;gap:var(--space-3);list-style:none;padding:0}
.pills li{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-full);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);color:var(--color-text)}
.pills li small{color:var(--color-muted);font-size:var(--text-xs)}

/* CTA panel */
.cta{padding-block:var(--space-12) var(--space-20)}
.cta-panel{background:var(--color-primary);color:#fff;border-radius:var(--radius-lg);padding:var(--space-12) var(--space-12);display:grid;grid-template-columns:1.2fr 1fr;gap:var(--space-10);align-items:center}
.cta-panel h2{color:#fff;font-size:var(--text-2xl);letter-spacing:.06em;text-transform:uppercase;line-height:1.1;margin-bottom:var(--space-4)}
.cta-panel p{color:#fbeee9;max-width:44ch}
.cta-panel .button{margin-top:var(--space-6)}
.cta-contacts{list-style:none;padding:0;display:grid;gap:var(--space-4)}
.cta-contacts li{display:flex;align-items:center;gap:var(--space-4);font-size:var(--text-base)}
.cta-contacts svg{width:20px;height:20px;flex-shrink:0;color:#fbeee9}
.cta-contacts a{color:#fff;text-decoration:none;overflow-wrap:anywhere}.cta-contacts a:hover{text-decoration:underline}

/* Footer */
footer{border-top:1px solid var(--color-line);padding-top:var(--space-16);background:var(--color-bg)}
.footer-main{display:grid;grid-template-columns:1.4fr .8fr .8fr 1.2fr;gap:var(--space-8);padding-bottom:var(--space-12)}
.footer-logo{display:block;width:220px}.footer-logo img{width:100%;height:auto}
.footer-tagline{font-family:var(--font-display);font-style:italic;font-size:var(--text-lg);color:var(--color-primary);margin-top:var(--space-4)}
.footer-main h2{font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--color-primary);margin-bottom:var(--space-4)}
.footer-main a:not(.footer-logo){display:block;text-decoration:none;font-size:var(--text-sm);padding-block:var(--space-2);color:var(--color-text)}
.footer-main a:not(.footer-logo):hover{color:var(--color-primary)}
.footer-main p{font-size:var(--text-sm)}
.footer-email{overflow-wrap:anywhere}
.footer-bottom{border-top:1px solid var(--color-line);display:flex;justify-content:space-between;align-items:center;gap:var(--space-6);padding-block:var(--space-5);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--color-muted)}
.footer-bottom button{font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;min-height:44px;color:var(--color-muted)}
.footer-bottom button:hover{color:var(--color-primary)}

/* Inner pages */
.page-heading{padding-block:var(--space-16) var(--space-10)}
.page-heading h1{font-size:var(--text-2xl);line-height:1.08;margin-bottom:var(--space-5);max-width:22ch}
.page-heading>p:last-child{max-width:60ch;font-size:var(--text-base)}
.service-jumps{display:flex;flex-wrap:wrap;gap:var(--space-3);padding-bottom:var(--space-12)}
.service-jumps a{font-size:var(--text-sm);border:1px solid var(--color-line);background:var(--color-surface);padding:var(--space-2) var(--space-4);text-decoration:none;border-radius:var(--radius-full);color:var(--color-text)}
.service-jumps a:hover{background:var(--color-blush);border-color:var(--color-primary)}
.service-details{padding-bottom:var(--space-12)}
.service-detail{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:var(--space-16);padding-block:var(--space-10);border-top:1px solid var(--color-line);scroll-margin-top:var(--space-6)}
.service-detail:nth-child(even) img{order:2}
.service-detail img{height:400px;width:100%;object-fit:cover;border-radius:var(--radius-lg)}
.service-detail h2{margin-bottom:var(--space-3)}
.service-detail .service-lead{margin-bottom:var(--space-5)}
.service-detail .ticks{margin-bottom:var(--space-6)}
.svc-num{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-primary);display:block;margin-bottom:var(--space-2)}
.extras-block{padding-bottom:var(--space-8)}
.portfolio-note{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius);padding:var(--space-6);margin-top:var(--space-8);display:flex;justify-content:space-between;align-items:center;gap:var(--space-6);flex-wrap:wrap}
.portfolio-note p{color:var(--color-text);max-width:62ch}

.about-page,.areas-layout,.gallery-intro,.review-empty{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);padding-bottom:var(--space-16);align-items:center}
.about-page h2,.gallery-intro h2,.review-empty h2{margin-bottom:var(--space-5)}
.about-page p,.gallery-intro p,.review-empty p{margin-bottom:var(--space-5)}
.about-story{align-items:start}
.portrait{position:sticky;top:var(--space-8);margin:0}
.portrait img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:center 20%;border-radius:300px 300px var(--radius-lg) var(--radius-lg)}
.portrait figcaption{text-align:center;font-size:var(--text-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--color-primary);font-weight:600;margin-top:var(--space-4)}
.about-story h2{font-size:var(--text-2xl);margin-bottom:var(--space-6)}
.about-pull{font-family:var(--font-display);font-style:italic;font-size:var(--text-lg);line-height:1.45;color:var(--color-heading)!important;border-left:2px solid var(--color-primary);padding-left:var(--space-6);margin-top:var(--space-8)}
.about-band{background:var(--color-blush-soft);border-block:1px solid var(--color-line);padding-block:var(--space-20)}
.about-grown-inner{display:grid;grid-template-columns:.8fr 1fr;gap:var(--space-20);align-items:center}
.about-grown h2{font-size:var(--text-2xl)}
.about-grown p:not(.eyebrow){margin-bottom:var(--space-4);max-width:52ch}
.values{padding-block:var(--space-20) var(--space-12)}
.values-grid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-6)}
.values-grid li{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius);padding:var(--space-6)}
.value-num{display:block;font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-primary);margin-bottom:var(--space-3);line-height:1}
.values-grid h3{font-size:var(--text-lg);margin-bottom:var(--space-2)}
.values-grid p{font-size:var(--text-sm)}
.about-life{display:grid;grid-template-columns:.8fr 1fr;gap:var(--space-16);align-items:center;padding-bottom:var(--space-12)}
.rose-panel{background:var(--color-blush);border-radius:var(--radius-lg);padding:var(--space-10)}
.rose-panel h2{font-size:var(--text-2xl)}
.rose-panel p{margin-block:var(--space-5)}
.about-life p:not(.eyebrow){margin-bottom:var(--space-5);max-width:52ch}

.town-list>div{padding-block:var(--space-5);border-bottom:1px solid var(--color-line);display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-4)}
.town-list span{font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--color-primary);font-weight:600}
.gallery-intro img{height:500px;width:100%;object-fit:cover;border-radius:var(--radius-lg)}
.small{font-size:var(--text-xs)!important}
.review-paper{padding:var(--space-10);background:var(--color-blush);border-radius:var(--radius-lg)}
.review-paper h2{font-size:var(--text-2xl)}
.faq-page{max-width:900px;padding-bottom:var(--space-12)}
.faq-list{border-top:1px solid var(--color-line)}
details{border-bottom:1px solid var(--color-line)}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:var(--space-6);padding-block:var(--space-5);font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-heading)}
summary::-webkit-details-marker{display:none}
summary span{font-family:var(--font-body);font-size:var(--text-lg);color:var(--color-primary);transition:transform .2s}
details[open] summary span{transform:rotate(45deg)}
details>p{padding-bottom:var(--space-6);font-size:var(--text-sm);max-width:70ch}

.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:var(--space-16);padding-bottom:var(--space-16);align-items:start}
.contact-layout aside h2{margin-bottom:var(--space-5)}
.contact-layout aside>p{margin-bottom:var(--space-5)}
.contact-layout aside>.eyebrow{margin-top:var(--space-8);margin-bottom:var(--space-2)}
.contact-big{font-family:var(--font-display);font-size:var(--text-xl);text-decoration:none;color:var(--color-heading);display:inline-block}
.contact-big:hover{color:var(--color-primary)}
.email-link{font-size:var(--text-base);overflow-wrap:anywhere;text-underline-offset:5px;color:var(--color-primary)}
.contact-steps{list-style:none;padding:0;margin-block:var(--space-8);display:grid;gap:var(--space-4);border-block:1px solid var(--color-line);padding-block:var(--space-6)}
.contact-steps li{display:grid;grid-template-columns:auto 1fr;gap:var(--space-4);font-size:var(--text-sm);color:var(--color-muted)}
.contact-steps b{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-primary);font-weight:400;line-height:1.1}
.contact-steps strong{display:block;color:var(--color-heading);font-weight:500}
.contact-areas{padding-block:var(--space-6);margin-bottom:var(--space-6);border-bottom:1px solid var(--color-line)}
form{padding:var(--space-8);background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg)}
fieldset{border:0;padding:0;margin:0;min-width:0}
.form-note{background:var(--color-blush-soft);border-radius:var(--radius);padding:var(--space-4);font-size:var(--text-sm);margin-bottom:var(--space-6)}
.form-note p{font-size:var(--text-xs);margin-top:var(--space-1)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}
label{display:block;font-size:var(--text-sm);font-weight:500;color:var(--color-text)}
label>span{color:var(--color-primary)}
input,select,textarea{width:100%;padding:var(--space-3);border:1px solid var(--color-line);background:var(--color-bg);border-radius:8px;font-size:1rem;min-height:48px;margin-top:var(--space-2);color:var(--color-text)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--color-primary);outline-offset:1px}
textarea{resize:vertical}
.full{grid-column:1/-1}
#enquiry-fields>.small{margin-block:var(--space-5)}
.draft-result{padding-top:var(--space-8);margin-top:var(--space-8);border-top:1px solid var(--color-line)}
.draft-result p{margin-block:var(--space-4)}
.draft-result textarea{margin-bottom:var(--space-4)}
.draft-result details{margin-top:var(--space-4)}
.draft-result summary{font-size:var(--text-base)}
.legal{max-width:800px;padding-bottom:var(--space-16)}
.legal h2{margin-top:var(--space-10);margin-bottom:var(--space-4)}
.legal p{margin-bottom:var(--space-4)}

.cookie-notice{position:fixed;bottom:var(--space-5);left:var(--space-5);right:var(--space-5);max-width:620px;z-index:80;background:var(--color-surface);box-shadow:0 6px 30px #5e3b2e22;border:1px solid var(--color-line);border-radius:var(--radius);padding:var(--space-5);display:flex;gap:var(--space-6);align-items:center;font-size:var(--text-sm)}
.cookie-notice p{font-size:var(--text-xs);margin-top:var(--space-1)}
.cookie-notice button{border:1px solid var(--color-primary);color:var(--color-primary);border-radius:var(--radius-full);padding:var(--space-2) var(--space-5);white-space:nowrap;min-height:44px}

@media(max-width:1180px){
  .wrap{width:calc(100% - var(--space-16))}
  .header-inner{gap:var(--space-4)}.logo{width:210px}nav{gap:var(--space-4)}nav .button{padding-inline:var(--space-4)}
  .hero{gap:var(--space-10)}.hero-photo img{height:480px}
  .why-grid{grid-template-columns:1fr 1fr}
  .meet-grid{gap:var(--space-12)}
  .footer-main{grid-template-columns:1.2fr 1fr 1fr}.footer-main>div:last-child{grid-column:1/-1}
  .service-detail{gap:var(--space-10)}.contact-layout{gap:var(--space-10)}
  .values-grid{grid-template-columns:1fr 1fr}.about-grown-inner{gap:var(--space-12)}
  .cta-panel{padding:var(--space-10)}
}
@media(max-width:900px){
  .wrap{width:calc(100% - var(--space-10))}
  .topbar .wrap{justify-content:center}.topbar-strap{display:none}
  .header-inner{min-height:84px;flex-wrap:wrap;gap:0}.logo{width:200px}
  .menu-toggle{display:flex;gap:var(--space-3);align-items:center;min-height:48px;font-size:var(--text-sm);color:var(--color-primary)}
  nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:var(--space-1);padding-bottom:var(--space-6)}
  nav.is-open{display:flex}nav .button{align-self:start;margin-top:var(--space-3)}nav>a:not(.button){min-height:44px}
  .hero{grid-template-columns:1fr;padding-top:var(--space-10);gap:var(--space-10)}
  .hero-photo{max-width:620px;width:100%;margin-inline:auto}.hero-photo img{height:420px}
  .label{font-size:var(--text-lg);letter-spacing:.12em}
  .section{padding-block:var(--space-16)}
  .audience-grid,.quote-grid,.service-list,.meet-grid,.cta-panel,.service-detail,.about-page,.areas-layout,.gallery-intro,.review-empty,.contact-layout,.about-grown-inner,.about-life{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr;gap:var(--space-2)}
  .meet-grid{gap:var(--space-10)}.meet-photo{max-width:460px;margin-inline:auto;width:100%}.meet-photo img{height:500px}
  .service-detail:nth-child(even) img{order:0}.service-detail img{height:320px}.service-detail{padding-block:var(--space-8);gap:var(--space-6)}
  .portrait{position:static;max-width:460px;margin-inline:auto;width:100%}
  .footer-main{grid-template-columns:1fr 1fr}.footer-main>div:first-child,.footer-main>div:last-child{grid-column:1/-1}
  .footer-bottom{flex-direction:column;align-items:start;gap:var(--space-2)}
  .page-heading{padding-block:var(--space-12) var(--space-8)}
  .gallery-intro img{height:380px}
  form{padding:var(--space-5)}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}
  .cta{padding-bottom:var(--space-16)}.cta-panel{padding:var(--space-8);gap:var(--space-8)}
  .about-band{padding-block:var(--space-12)}.values{padding-block:var(--space-12) var(--space-8)}
  .cookie-notice{left:var(--space-3);right:var(--space-3);bottom:var(--space-3);padding:var(--space-4);gap:var(--space-3)}
}
@media(max-width:520px){
  .why-grid,.values-grid{grid-template-columns:1fr;gap:var(--space-6)}
  .hero-photo img{height:340px}.photo-caption{left:var(--space-3);right:var(--space-3);padding:var(--space-3) var(--space-4);font-size:var(--text-base)}
  .hero-actions{align-items:stretch;flex-direction:column}
  .meet-photo img{height:420px}
  .logo{width:180px}
  .review-paper,.rose-panel{padding:var(--space-6)}
  .cta-panel{padding:var(--space-6)}
  .service-list a{font-size:var(--text-base)}
  .town-list>div{flex-direction:column;gap:var(--space-1)}
}
h1,h2,h3,blockquote,.step-num,.svc-num,.value-num,.service-list a,.contact-big,.contact-steps b,.area-strip p{font-variant-numeric:lining-nums}
.cta-panel{grid-template-columns:1.5fr 1fr}
.cta-panel h2{font-size:clamp(1.9rem,1.3rem + 1.9vw,3.1rem)}
@media(max-width:900px){.area-strip p{display:flex;flex-wrap:wrap;justify-content:center;gap:0 var(--space-5)}.area-strip b{display:none}.hero h1{font-size:clamp(2.2rem,1.4rem + 4vw,3.4rem)}}
#sent-result{border-top:0;padding-top:0;margin-top:0}
