@font-face {font-family:'Playfair Fallback';src:local('Georgia');size-adjust:104%;ascent-override:93%;descent-override:22%;line-gap-override:0% }
@font-face {font-family:'Figtree Fallback';src:local('Arial');size-adjust:100%;ascent-override:95%;descent-override:25%;line-gap-override:0% }
:root {--ground:#191919;--raised:#222120;--line:#34312e;--copper:#c8845e;--hover:#d89570;--cream:#f4f1e9;--grey:#7d7d7d;--muted:#b6b1a9;--ink:#191919;--gold:#c8845e;--display:'Playfair Display','Playfair Fallback',Georgia,serif;--body:'Figtree','Figtree Fallback',Arial,sans-serif;--radius:4px;--glow:#8a6bd12b;--pattern:#c8845e14 }
* {box-sizing:border-box }
html {scroll-behavior:smooth }
body {margin:0;background:var(--ground);color:var(--cream);font:16px/1.6 var(--body);min-width:280px }
::selection {background:var(--copper);color:var(--ink) }
a {color:var(--copper);text-underline-offset:5px }
a:hover {color:var(--hover) }
button,input {font:inherit }
button,a,input {touch-action:manipulation }
button {cursor:pointer }
button:disabled {cursor:default }
a:focus-visible,button:focus-visible,input:focus-visible {outline:3px solid var(--cream);outline-offset:5px }
h1,h2,h3,p,figure,dl {margin:0 }
h1,h2,h3 {font-family:var(--display);font-weight:500;line-height:1.2;text-wrap:balance;overflow-wrap:anywhere;min-width:0;font-style:normal }
h1 {font-size:clamp(44px,5vw,64px);letter-spacing:-.035em }
h2 {font-size:28px;margin-bottom:24px }
h3 {font-size:20px;margin-bottom:16px }
p {margin-bottom:16px;max-width:65ch }
p:last-child {margin-bottom:0 }
.wrap {width:min(1200px,100% - 64px);margin-inline:auto }
.button {display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;border:1px solid var(--copper);border-radius:var(--radius);background:var(--copper);color:var(--ink);font:700 12px/1.2 var(--body);text-transform:uppercase;letter-spacing:.1em;text-decoration:none;white-space:nowrap;transition:background .2s ease }
.button:hover {color:var(--ink);background:var(--hover) }
.button:active {transform:translateY(1px) }
.secondary {background:transparent;color:var(--cream) }
.secondary:hover {color:var(--ink) }
header {position:sticky;top:0;background:var(--ground);border-bottom:1px solid var(--line);z-index:10 }
.topbar {display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:80px }
.top-actions {display:flex;align-items:center;gap:20px }
.menu-toggle {display:none }
.basket-link {display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--cream);font-size:14px;text-decoration:none }
.basket-link .count {min-width:24px;height:24px;padding:0 7px;border-radius:12px;background:var(--copper);color:var(--ink);font:700 12px/24px var(--body);text-align:center }
.wordmark {display:inline-flex;align-items:center;text-decoration:none;flex-shrink:0 }
.wordmark img {height:63px;width:auto;border-radius:0 }
nav {display:flex;gap:32px }
nav a {color:var(--cream);text-decoration:none;font-size:14px;padding:12px 0 }
nav a[aria-current] {color:var(--copper);text-decoration:underline }
.skip {position:fixed;left:16px;top:-100px;z-index:100;background:var(--cream);color:var(--ink);padding:12px }
.skip:focus {top:12px }
main {min-height:65vh;padding-bottom:96px;overflow-x:clip }
section {margin-top:88px }
section section {margin-top:0 }
.hero {position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(32px,1fr) minmax(0,520px) 56px minmax(0,624px) minmax(0,1fr);align-items:center;padding-block:48px 24px;min-height:600px }
.hero:before {content:"";position:absolute;inset:0;z-index:-2;background:url(assets/brand/contours.svg) center/cover no-repeat;-webkit-mask:linear-gradient(90deg,#000 55%,transparent);mask:linear-gradient(90deg,#000 55%,transparent) }
.hero-copy {grid-column:2;position:relative }
.hero h1 {margin:20px 0 24px;font-size:clamp(44px,6vw,76px);line-height:1.04 }
.hero p {max-width:42ch;color:var(--muted) }
.hero .eyebrow {color:var(--copper) }
.hero .address {font-size:14px;color:var(--cream) }
.eyebrow {font:600 12px/1.6 var(--body);text-transform:uppercase;letter-spacing:.14em;color:var(--copper) }
.actions {display:flex;gap:12px;flex-wrap:wrap;margin-top:24px }
.hero-photo {grid-column:4/6;position:relative;align-self:stretch;display:flex }
.hero-photo:before {content:"";position:absolute;z-index:-1;inset:-22% 0 -22% -26%;background:radial-gradient(closest-side at 26% 34%,#e07aa8a6,transparent 82%),radial-gradient(closest-side at 46% 74%,#8a6bd1b3,transparent 84%),radial-gradient(closest-side at 60% 50%,#c8845e40,transparent);filter:blur(44px);pointer-events:none }
img {display:block;width:100%;height:auto;object-fit:cover;border-radius:var(--radius) }
.panel {background:var(--raised);border:1px solid var(--line);padding:28px;border-radius:var(--radius);min-width:0 }
.offers-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px }
.offer {display:flex;flex-direction:column;align-items:flex-start;padding:24px }
.offer-number {font:500 44px/1.1 var(--display);color:var(--copper);margin-bottom:20px;white-space:nowrap }
.offer p:not(.offer-number) {font-size:14px }
.offer .button {width:100%;margin-top:auto }
.with-buttons .offer {padding:32px 28px 28px }
.with-buttons .offer-number {font-size:64px;line-height:1;margin-bottom:24px }
.with-buttons .offer p:not(.offer-number) {font-size:16px;margin-bottom:28px }
.ph.offers-band {aspect-ratio:3.2;margin-top:48px }
.join .sunburst {width:24px;height:24px;margin-bottom:16px }
.two-col {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px }
.voucher-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px }
@media (max-width:900px){.voucher-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.price-list {margin:12px 0 24px }
.price-list>div {display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 0;border-bottom:1px solid var(--line) }
dt {min-width:0 }
.price-list .badge {margin-left:8px }
.membership {display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;gap:72px }
/* Photos: one warm dark grade, edge vignette, caption over a gradient. Originals are never edited. */
.ph {position:relative;margin:0;overflow:hidden;border-radius:var(--radius);background:#120f0e;min-width:0 }
.ph img {width:100%;height:100%;object-fit:cover;border-radius:0;filter:saturate(.86) contrast(1.06) brightness(.84) sepia(.14) }
.ph:after {content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 75% 70% at 50% 45%,transparent 55%,#0d0b0a8c 100%),linear-gradient(180deg,#c8845e0f,transparent 40%,transparent 55%,#110e0dd9) }
.ph figcaption {position:absolute;z-index:1;left:20px;right:20px;bottom:16px;font:600 12px/1.5 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--cream);text-shadow:0 1px 8px #000 }
.hero-photo img {min-height:560px;border-radius:var(--radius) 0 0 var(--radius) }
.hero-photo {border-radius:var(--radius) 0 0 var(--radius);overflow:visible }
.hero-photo img {position:relative }
.hero-photo:after {border-radius:inherit;background:radial-gradient(ellipse 80% 80% at 60% 45%,transparent 50%,#0d0b0a99 100%),linear-gradient(90deg,#191919b3,transparent 22%) }
.gallery {display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);grid-template-rows:240px 240px;gap:20px }
.gallery .tall {grid-row:1/3 }
.map-photo {display:flex;position:relative;align-items:flex-end;text-decoration:none;min-width:0;min-height:420px }
.map-photo img {position:absolute;inset:0;height:100% }
.map-photo .button {position:relative;z-index:1;margin:24px }
/* Deliberate crop focus per photo */
img[src*="32-megasun"] {object-position:38% 50% }
img[src*="06-luxura"] {object-position:50% 62% }
img[src*="07-neon"] {object-position:50% 22% }
img[src*="40-dim-room"] {object-position:30% 50% }
img[src*="30-shopfront"] {object-position:50% 18% }
img[src*="21-bed-with-tube"] {object-position:50% 72% }
img[src*="20-product-wall"] {object-position:50% 40% }
.ph.band {aspect-ratio:2;margin-bottom:24px }
/* Gold Card: the real card photo, cropped to the card in CSS, on charcoal with a copper glow. */
.gold-card {position:relative;display:grid;place-items:center;padding:clamp(28px,5vw,56px);border:1px solid var(--line);border-radius:var(--radius);background:radial-gradient(closest-side at 50% 52%,#c8845e52,transparent 100%),radial-gradient(circle at 80% 10%,#8a6bd11f,transparent 50%),#141312;overflow:hidden }
.gold-crop {position:relative;width:min(100%,420px);aspect-ratio:1.545;overflow:hidden;border-radius:14px;box-shadow:0 22px 44px #000a,0 0 0 1px #e9c77a40,0 0 70px #c8845e59;transform:rotate(-4deg) }
.gold-crop img {position:absolute;top:0;left:-33.4%;width:256.7%;max-width:none;height:auto;margin-top:-128.3%;border-radius:0;filter:saturate(.92) contrast(1.06) }
.gold-crop:after {content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,#fff3 45%,transparent 58%),linear-gradient(180deg,transparent 60%,#0003);pointer-events:none }
/* Section heads: eyebrow label over a 44px title, faint copper contours behind */
.section-head {position:relative;isolation:isolate;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:32px }
.section-head:before {content:"";position:absolute;z-index:-1;left:-48px;top:-56px;width:min(560px,90vw);height:180px;background:url(assets/brand/contours.svg) left center/cover no-repeat;-webkit-mask:radial-gradient(closest-side,#000 30%,transparent);mask:radial-gradient(closest-side,#000 30%,transparent);pointer-events:none }
.section-head h2 {font-size:44px;line-height:1.1;margin:6px 0 0 }
.section-head .more {font-size:14px;white-space:nowrap;padding-bottom:6px }
.section-head.side {border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:28px }
.section-head.side>div {display:flex;flex-direction:row-reverse;justify-content:space-between;align-items:baseline;gap:16px;width:100% }
.more {font-size:14px }
/* Prices */
dd {margin:0 }
.price-list dd {white-space:nowrap;color:var(--copper);font:500 20px/1 var(--display) }
.badge {display:inline-block;padding:3px 7px;background:var(--copper);color:var(--ink);font:700 11px/1.4 var(--body);letter-spacing:.1em;white-space:nowrap;vertical-align:middle;border-radius:2px }
.price-list>.best {background:#2c2927;margin-inline:-14px;padding-inline:14px;border-radius:var(--radius);border-bottom-color:transparent;box-shadow:inset 2px 0 0 var(--copper),0 10px 24px #0006 }
.price-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px }
.stack {display:grid;grid-template-rows:1fr auto;gap:24px;min-width:0 }
.price-panel {display:flex;flex-direction:column;align-items:stretch }
.price-panel .price-list {margin-bottom:28px }
.price-panel>.button {margin-top:auto;align-self:flex-start }
.price-panel>p:not(:last-child) {margin-bottom:24px }
.unlimited-strip {display:flex;align-items:center;gap:20px;margin-top:24px;padding:26px 32px;background:var(--copper);color:var(--ink);border-radius:var(--radius);box-shadow:0 0 60px #c8845e2e }
.unlimited-strip p {margin:0;font:500 26px/1.25 var(--display);color:var(--ink) }
.unlimited-strip .sunburst {width:34px;height:34px;filter:brightness(0);opacity:.8 }
.unlimited-strip .button {margin-left:auto }
.strip-prices {display:flex;gap:32px;margin:0 0 0 auto }
.strip-prices>div {display:flex;flex-direction:column }
.strip-prices dt {font:700 12px/1.2 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--ink) }
.strip-prices dd {margin:6px 0 0;font:500 30px/1 var(--display);color:var(--ink) }
.strip-prices+.button {margin-left:8px }
.gold-price {font:500 40px/1.1 var(--display);color:var(--copper);margin:4px 0 20px }
.gold-price .per,.product-price .per {font:500 14px/1 var(--body);color:var(--muted);letter-spacing:.02em }
.benefits-lead {font-weight:600;margin-bottom:10px }
.benefits {list-style:none;padding:0;margin:0 0 24px;display:grid;gap:8px }
.benefits li {position:relative;padding-left:22px }
.benefits li:before {content:"";position:absolute;left:0;top:.8em;width:12px;height:1px;background:var(--copper) }
.product .benefits {margin-bottom:28px }
.with-buttons .offer .offer-note {margin-top:-20px;color:var(--muted);font-size:14px }
.button.dark {background:var(--ink);border-color:var(--ink);color:var(--cream) }
.button.dark:hover {background:#2a2725;color:var(--cream) }
.button.dark:focus-visible,.unlimited-strip .button:focus-visible {outline-color:var(--ink) }
.service-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px }
.service-grid>.unlimited-strip {grid-column:1/-1;margin:0 }
.service-grid .price-panel>.gold-card {margin-bottom:24px }
.ph.band {aspect-ratio:2.6;margin:0 0 20px }
/* Shop */
.product {display:flex;flex-direction:column;align-items:flex-start;position:relative;padding:24px }
.product h3 {margin-bottom:8px }
.product-price {font:500 28px/1.2 var(--display);color:var(--copper);margin-bottom:24px }
.product>.button,.product>.muted {margin-top:auto }
.product>.button {width:100%;padding-inline:12px }
.product.best {border-color:var(--copper);background:#272422;box-shadow:0 0 44px #c8845e24 }
.product .badge {position:absolute;top:0;right:18px;transform:translateY(-50%);background:var(--ground);color:var(--copper);border:1px solid var(--copper) }
.courses-grid {padding-top:4px }
.shop-strip {margin-top:20px;flex-direction:row;align-items:center;padding:24px 28px }
.product-price.tbc {font:500 16px/1.5 var(--body);color:var(--cream) }
.service-grid .gold-card {padding:28px }
.service-grid .gold-crop {width:min(100%,300px) }
.shop-strip h3 {margin:0 0 6px;color:var(--ink);font-size:24px }
.shop-strip p {font-size:18px }
.shop-strip p+p {margin-top:4px;font:500 14px/1.5 var(--body) }
.shop-strip>.muted {margin:0 0 0 auto;color:var(--ink);font:700 12px/1.2 var(--body);letter-spacing:.1em;text-transform:uppercase;border:1px solid #1919198c;padding:14px 18px;border-radius:var(--radius);white-space:nowrap }
.catalogue .divider {margin-top:72px }
.catalogue .divider+section {margin-top:56px }
.note {margin-top:16px;color:var(--muted);font-size:14px }
.single-note {display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:72px;padding-top:24px;border-top:1px solid var(--line) }
.single-note p {margin:0;color:var(--muted);font-style:italic }
.gold-product .gold-card {min-height:100% }
.basket-head {display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--line) }
.basket-head h2 {font-size:24px;margin:0 }
.basket-head .sunburst {width:20px;height:20px }
.review-strip {padding-block:40px;border-block:1px solid var(--line);text-align:center }
.review-strip p {margin-inline:auto }
.review-strip h2 {margin-bottom:12px }
.socials {display:flex;flex-direction:column;align-items:flex-start;gap:16px;font-size:14px }
.info-rows {margin:8px 0 0 }
.info-rows>div {display:grid;grid-template-columns:minmax(0,1fr);padding:18px 0;border-bottom:1px solid var(--line) }
.info-rows dt {display:flex;align-items:center;gap:10px;margin-bottom:6px;font:600 12px/1.5 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--copper) }
.info-rows dd {padding-left:30px }
.info-rows dd p {margin:0 }
.info-rows dd p+p {margin-top:2px }
.icon {flex-shrink:0;color:var(--copper) }
.contact-details .actions {margin-top:28px }
.contact-details .socials {margin-top:28px }
.page-heading {position:relative;isolation:isolate;padding-top:72px;padding-bottom:56px;text-align:center }
.page-heading:before {content:"";position:absolute;z-index:-1;inset:0 -32px;background:url(assets/brand/contours.svg) center/cover no-repeat;-webkit-mask:radial-gradient(closest-side,#000 40%,transparent);mask:radial-gradient(closest-side,#000 40%,transparent) }
.sunburst {display:inline-block;width:28px;height:28px;flex-shrink:0;background:url(assets/brand/sunburst.svg) center/contain no-repeat }
.mark,.divider {display:flex;align-items:center;justify-content:center;gap:20px }
.mark {margin-top:24px }
.mark:before,.mark:after {content:"";width:56px;height:1px;background:var(--line) }
.divider {margin-top:104px }
.divider:before,.divider:after {content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--line)) }
.divider:after {background:linear-gradient(90deg,var(--line),transparent) }
.divider .sunburst {width:22px;height:22px }
.divider + section {margin-top:80px }
.hero + .wrap > .divider:first-child {margin-top:56px }
.service-grid .products {grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:center }
.service-grid .products img {margin:0 }
.join {text-align:center;margin-top:56px;margin-bottom:40px }
.join p {margin-inline:auto }
.join a {display:block;margin-top:16px }
.shop-layout {display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1fr);gap:32px;align-items:start }
.catalogue section:first-child {margin-top:0 }
.catalogue section {margin-top:64px }
.courses-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px }
.gold-product {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px }
.basket {position:sticky;top:112px;padding:24px }
.basket .button {width:100% }
.basket p {font-size:14px }
.basket-line {padding:16px 0;border-bottom:1px solid var(--line);font-size:14px }
.basket-line button {background:transparent;color:var(--copper);border:0;text-decoration:underline;min-height:44px;padding:8px 0;display:block }
.basket-line strong {display:block }
.basket #basket-total {margin-top:24px }
.basket #checkout-note {margin-top:16px;color:var(--cream) }
.basket-status {position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--cream);color:var(--ink);padding:12px 20px;border-radius:var(--radius);z-index:20;max-width:calc(100% - 32px);pointer-events:none }
.basket-status:empty {display:none }
.muted {color:var(--muted) }
.find-layout {margin-top:0 }
footer {border-top:1px solid var(--line);padding:48px 0;color:var(--muted);font-size:14px }
.footer-grid {display:grid;grid-template-columns:minmax(0,2fr) minmax(0,2fr) minmax(0,1fr);gap:40px }
footer .wordmark {margin-bottom:24px }
footer .wordmark img {height:63px }
footer p {margin-bottom:8px }
footer a {white-space:nowrap }
footer .legal {display:flex;flex-direction:column;gap:12px }
.mobile-contact {display:none }
.form-notice {text-align:center;margin:0 auto 32px;color:var(--copper) }
#consent-form {max-width:880px;margin:auto;display:grid;gap:36px }
#consent-form section {margin:0 }
fieldset {margin:0;min-inline-size:0 }
legend {font:500 28px/1.2 var(--display);padding:0 8px }
.form-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:28px }
.field label {display:block;font-size:14px;color:var(--muted);margin-bottom:8px }
.field input {width:100%;height:48px;border-radius:var(--radius);background:var(--ground);border:1px solid var(--grey);padding:10px;color:var(--cream);color-scheme:dark }
.field input:focus {border-color:var(--copper) }
.field textarea {width:100%;min-height:120px;border-radius:var(--radius);background:var(--ground);border:1px solid var(--grey);padding:10px;color:var(--cream);color-scheme:dark;font:inherit;resize:vertical }
.field textarea:focus {border-color:var(--copper) }
.minutes-panel {max-width:720px;margin:auto }
.minutes-panel>p {margin-top:0 }
.site-form>.field {margin-bottom:24px }
.minutes-link {margin:16px 0 0;color:var(--muted) }
.choice {display:flex;gap:16px;align-items:flex-start;margin-top:16px;padding:14px;background:var(--ground);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer }
.choice input {flex-shrink:0;width:20px;height:20px;margin-top:4px;accent-color:var(--copper) }
[data-consent-line] {white-space:pre-wrap }
.guidelines {padding-left:22px;margin:0 }
.guidelines li {padding:8px 0 }
#form-status {margin-top:16px;color:var(--copper) }
@media(max-width:1100px) {
  .wrap {width:calc(100% - 48px) }
  .shop-layout {grid-template-columns:minmax(0,5fr) minmax(0,2fr) }
  .courses-grid {grid-template-columns:minmax(0,1fr) }
  .offers-grid {gap:12px }
  .offer {padding:20px }
  .topbar {gap:16px }
  .hero {grid-template-columns:24px minmax(0,1fr) 32px minmax(0,1fr) 0 }
}
@media(max-width:700px) {
  body {padding-bottom:76px }
  .wrap {width:calc(100% - 32px) }
  html:not(.js) .topbar {flex-wrap:wrap;gap:0;padding-top:12px }
  .js .topbar {min-height:64px;gap:12px }
  .top-actions {gap:10px }
  .js .top-actions>.button {display:none }
  .js .menu-toggle {display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 14px;background:transparent;border:1px solid var(--line);border-radius:var(--radius);color:var(--cream);font:600 12px/1 var(--body);letter-spacing:.12em;text-transform:uppercase }
  .menu-icon {position:relative;width:16px;height:1.5px;background:currentColor;box-shadow:0 -5px 0 currentColor,0 5px 0 currentColor }
  .nav-open .menu-icon {background:transparent;box-shadow:none }
  .nav-open .menu-icon:before,.nav-open .menu-icon:after {content:"";position:absolute;inset:0;background:currentColor;transform:rotate(45deg) }
  .nav-open .menu-icon:after {transform:rotate(-45deg) }
  .js nav {display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;padding:4px 16px 20px;background:var(--ground);border-bottom:1px solid var(--line);box-shadow:0 24px 40px #000a }
  .js .nav-open nav {display:flex }
  .js nav a {padding:16px 0;font-size:18px;font-family:var(--display);border-bottom:1px solid var(--line) }
  .basket-link:before {content:"";width:20px;height:20px;background:url(assets/brand/basket.svg) center/contain no-repeat }
  html:not(.js) nav {order:3;justify-content:space-between;width:100%;gap:20px }
  html:not(.js) nav a {font-size:14px;padding:14px 0 }
  .hero {grid-template-columns:16px minmax(0,1fr) 16px;padding-block:32px 0;min-height:0;row-gap:32px }
  .hero-copy {grid-column:2 }
  .hero-photo {grid-column:1/-1 }
  .hero-photo img {min-height:0;aspect-ratio:1.25 }
  .hero-photo {border-radius:0 }
  .gallery {grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto;gap:12px }
  .gallery .tall {grid-column:1/-1;grid-row:auto;aspect-ratio:1.3 }
  .gallery .ph:not(.tall) {aspect-ratio:.9 }
  .ph figcaption {left:14px;bottom:12px;font-size:11px }
  .hero-photo:before {inset:-8% 0 }
  .wordmark img {height:40px }
  .divider {margin-top:72px }
  .divider + section {margin-top:56px }
  .hero h1 {font-size:44px }
  .hero .actions {flex-wrap:nowrap }
  .hero .actions .button {flex:1;padding-inline:12px;letter-spacing:.07em }
  .two-col,.membership,.shop-layout,.gold-product,.service-grid .products {grid-template-columns:minmax(0,1fr) }
  section {margin-top:72px }
  .offers-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px }
  .offer {padding:16px }
  .offer-number {font-size:34px;margin-bottom:10px }
  .offer p:not(.offer-number) {font-size:14px;line-height:1.45 }
  .offer .button {margin-top:auto;min-height:44px;padding:10px 8px;font-size:11px;letter-spacing:.08em }
  .offer p:not(.offer-number) {margin-bottom:16px }
  .offer .button {width:100% }
  .with-buttons .offer-number {font-size:38px }
  .ph.offers-band {aspect-ratio:1.4;margin-top:32px }
  .membership {gap:32px;padding-block:32px }
  .gallery {gap:28px }
  .page-heading {padding-top:40px;padding-bottom:40px }
  .page-heading h1 {font-size:44px }
  .panel {padding:24px }
  .price-list .badge {margin-left:0;display:block;width:max-content;margin-top:6px }
  .section-head h2 {font-size:34px }
  .section-head {flex-wrap:wrap;margin-bottom:24px }
  .price-grid,.service-grid {grid-template-columns:minmax(0,1fr) }
  .unlimited-strip {flex-wrap:wrap;padding:22px 20px;gap:12px 16px }
  .unlimited-strip p {font-size:21px;flex:1 1 200px }
  .unlimited-strip .button,.shop-strip>.muted,.strip-prices,.strip-prices+.button {margin-left:0 }
  .strip-prices {flex:1 1 100%;gap:24px }
  .strip-prices dd {font-size:26px }
  .gold-price {font-size:34px }
  .with-buttons .offer .offer-note {margin-top:-10px;font-size:13px }
  .catalogue .divider {margin-top:56px }
  .catalogue .divider+section {margin-top:40px }
  .service-grid {gap:32px }
  .service-grid section {min-height:0 }
  .service-grid .products {grid-column:auto }
  .ph.band {aspect-ratio:2 }
  .map-photo {min-height:360px }
  .find-layout {gap:28px }
  .footer-grid {grid-template-columns:minmax(0,1fr);gap:32px }
  footer {padding-bottom:48px }
  .legal {flex-direction:row!important;flex-wrap:wrap;gap:20px!important }
  .legal span {width:100% }
  .mobile-contact {position:fixed;bottom:0;left:0;right:0;display:flex;gap:8px;background:var(--ground);border-top:1px solid var(--line);padding:12px 16px;z-index:15 }
  .mobile-contact>* {display:flex;align-items:center;justify-content:center;min-height:48px;flex:1;min-width:0;font:600 12px/1.2 var(--body);white-space:nowrap;color:var(--cream);background:var(--raised);border:1px solid var(--copper);border-radius:var(--radius);text-decoration:none;padding:8px }
  .mobile-contact a {color:var(--ink);background:var(--copper) }
  .basket {position:static;order:2;margin-top:24px }
  .basket-status {bottom:90px }
  .catalogue section {margin-top:56px }
  .form-grid {grid-template-columns:minmax(0,1fr) }
  #consent-form {gap:28px }
  .choice {padding:12px }
  .choice input {width:18px;height:18px }
  .choice span {font-size:14px }
  legend {font-size:24px }
  main {padding-bottom:72px }
}
@media(prefers-reduced-motion:reduce) {
  html {scroll-behavior:auto }
  *,*:before,*:after {animation:none!important;transition:none!important }
}
.sr-only {position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0 }
.shop-strip+.two-col {margin-top:20px }
