/* V21 layout corrections layered over the original V20 visual identity. */
:root{--muted:#52677b}body{overflow-wrap:anywhere}h1,h2,h3,p,li,dt,dd,a{overflow-wrap:anywhere}h1{font-size:clamp(2rem,4.5vw,3.6rem);line-height:1.12}h2{font-size:clamp(1.6rem,3vw,2.5rem);line-height:1.2}p,li,dd{line-height:1.75}li+li{margin-top:.7em}img{max-width:100%}input,select,textarea{font:inherit;max-width:100%;min-width:0}.skip{position:fixed;left:12px;top:-100px;background:white;padding:16px;z-index:999}.skip:focus{top:12px}:focus-visible{outline:3px solid #cf6b00;outline-offset:4px}button{cursor:pointer}.site-header{grid-template-columns:auto 1fr minmax(180px,240px);gap:18px}.nav{gap:20px;flex-wrap:wrap}.v21-search{display:flex;min-width:0}.v21-search input{width:100%;border:1px solid var(--line);border-radius:24px 0 0 24px;padding:12px}.v21-search button{border:0;background:var(--navy);color:white;padding:12px;border-radius:0 24px 24px 0}.hero-modern{min-height:560px;height:auto}.hero-modern-inner{min-height:560px;height:auto;padding-block:65px}.hero-copy h1{line-height:1.05}.hero-intro{max-width:620px}.hero-stamp{flex-shrink:0}.feature-strip{height:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.feature-strip a{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:22px;border-right:1px solid var(--line)}.feature-strip strong{font-size:17px}.section{padding-top:60px}.section-heading{align-items:start;flex-wrap:wrap}.section-heading h2{margin:0}.v21-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.v21-categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.v21-card{display:flex;flex-direction:column;background:white;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:var(--shadow);min-width:0}.v21-card>img{width:100%;aspect-ratio:1.5;object-fit:cover;height:auto}.v21-card>div{padding:24px;display:flex;flex-direction:column;flex:1}.v21-card h3{font-size:22px;line-height:1.3;margin:0}.v21-card p{font-size:15px;margin:12px 0;color:var(--muted)}.v21-card .text-arrow{margin-top:auto;padding-top:14px}.v21-card:hover{border-color:var(--blue)}.v21-feature{display:grid;grid-template-columns:1.2fr 1fr;border:1px solid var(--line);border-radius:24px;overflow:hidden;background:var(--ice2)}.v21-feature>img{width:100%;height:100%;max-height:520px;object-fit:cover}.v21-feature>div{padding:40px;align-self:center}.weekly-shell{grid-template-columns:1fr 1fr;height:auto}.weekly-media img{height:100%;min-height:320px;object-fit:cover}.weekly-copy{min-width:0;padding:40px}.meta{font-weight:700;color:var(--blue)}.about-modern{margin-bottom:60px}.contact-modern{margin-top:70px}.contact-items{display:block}.contact-items p{margin:8px 0}.footer-inner{gap:25px;flex-wrap:wrap}.footer-nav{display:flex;gap:18px;flex-wrap:wrap}.detail{max-width:1150px}.breadcrumbs{line-height:1.8;margin-bottom:32px}.breadcrumbs a{text-decoration:underline}.detail-hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:45px}.detail-image{width:100%;max-height:600px;object-fit:contain;border-radius:24px;background:var(--ice)}.detail-block{margin-top:32px;padding:30px;border:1px solid var(--line);border-radius:22px;background:var(--ice2)}.detail-block h2{margin-top:0;font-size:26px}.detail-block dl{margin:0}.detail-block dl>div{display:grid;grid-template-columns:220px 1fr;gap:20px;border-bottom:1px solid var(--line);padding:14px 0}.detail-block dt{font-weight:700}.detail-block dd{margin:0}.detail-block table{width:100%;border-collapse:collapse;text-align:left}.detail-block th,.detail-block td{padding:12px;border-bottom:1px solid var(--line)}.package-image,.gallery-image{max-height:440px;object-fit:contain;margin:15px auto}.reading{max-width:850px}.catalog-filter{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:26px 0}.catalog-filter input,.catalog-filter select{padding:12px;border:1px solid var(--line);border-radius:10px}.video-target iframe,.video-target video{width:100%;aspect-ratio:16/9;border:0;border-radius:12px}.video-target button{margin-top:12px}.consent{position:fixed;bottom:15px;left:15px;right:15px;max-width:650px;margin:auto;background:white;box-shadow:0 5px 40px #0004;border:1px solid var(--line);border-radius:18px;padding:24px;z-index:120;max-height:80vh;overflow:auto}.consent h2{font-size:22px;margin-top:0}.consent-actions{display:flex;gap:12px;flex-wrap:wrap}.consent button{padding:12px;border:1px solid var(--navy);border-radius:10px;background:var(--navy);color:white}.consent label{display:block;margin:10px 0}#privacy-settings{background:transparent;color:inherit;border:0;text-decoration:underline}.video-notice{font-size:14px}
@media(max-width:1100px){.site-header{grid-template-columns:auto auto}.menu-toggle{display:block;justify-self:end}.nav{display:none;grid-column:1/-1;position:static}.nav.open{display:flex}.v21-search{grid-column:1/-1}.v21-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-stamp{width:170px;height:170px}.hero-modern-inner{gap:25px}.hero-copy{min-width:0}.feature-strip a{padding:20px 14px}}
@media(max-width:650px){.hero-modern-inner{display:block;min-height:0;padding:45px 0}.hero-modern{min-height:0}.hero-stamp{display:none}.hero-copy h1{font-size:42px}.hero-copy{width:100%}.hero-intro{font-size:17px}.feature-strip{grid-template-columns:1fr 1fr}.feature-strip strong{font-size:15px}.v21-grid,.v21-categories,.v21-feature,.weekly-shell,.detail-hero,.about-modern{grid-template-columns:1fr}.v21-feature>div,.weekly-copy{padding:26px}.weekly-media img{min-height:0;max-height:350px}.v21-grid{gap:20px}.detail-block{padding:22px}.detail-block dl>div{grid-template-columns:1fr;gap:5px}.detail-hero{gap:20px}.contact-modern{grid-template-columns:1fr;padding:30px 20px}.section{padding-top:36px}.catalog-filter>*{width:100%}.footer-inner{display:flex;flex-direction:column;align-items:start}.about-photo img{min-height:0}.site-header{position:relative}.consent{padding:18px}.hero-actions{flex-wrap:wrap}.hero-actions a{height:auto;min-height:48px;padding-block:12px}.btn{white-space:normal}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.v21-search button{flex-shrink:0;white-space:nowrap;min-width:58px}.v21-search{width:100%}.feature-strip a{padding:20px 16px;gap:8px}.feature-strip a span{width:28px;height:28px;flex-shrink:0}.feature-strip strong{overflow-wrap:normal;word-break:normal}.about-copy-modern h2{font-size:clamp(28px,4vw,44px);line-height:1.15;hyphens:auto}.v21-card h3{hyphens:auto}.detail h1{hyphens:auto}.hero-copy h1{hyphens:auto}@media(max-width:360px){.feature-strip a{padding:18px 12px}.feature-strip a span{display:none}.feature-strip strong{font-size:14px}}
.weekly-media:empty,.about-photo:empty,.detail-hero>div:first-child:empty{display:none}.weekly-shell:not(:has(img)),.about-modern:not(:has(.about-photo img)),.detail-hero:not(:has(img)),.v21-feature:not(:has(img)){grid-template-columns:1fr}.meta:empty{display:none}.v21-card>div p:empty{display:none}
.hero-stamp-logo img{border-radius:50%}

/* V22: readable names, coastal imagery, knowledge bank and store map. */
.detail h1{font-size:clamp(30px,4vw,48px);line-height:1.15;text-wrap:pretty;hyphens:none;overflow-wrap:break-word}.coast-banner{width:100%;height:clamp(180px,26vw,330px);object-fit:cover;object-position:center bottom;border-radius:22px;margin:24px 0}.preparation-finder form{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.preparation-finder select{max-width:100%;padding:12px;flex:1;min-width:0}.preparation-finder .v21-grid{margin-top:24px}.method-links{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.detail-block[id]{scroll-margin-top:140px}#store-map{height:440px;max-height:65vh;isolation:isolate;border-radius:16px}#store-map[hidden]{display:none}.leaflet-container img{max-width:none!important}.leaflet-container .leaflet-tile{border-radius:0}.leaflet-popup-content{overflow-wrap:anywhere}.store-pin{background:#07365f;color:white;border:3px solid white;border-radius:50%;display:grid;place-items:center;font-weight:800;box-shadow:0 1px 6px #0006}.preparation-finder .btn{white-space:normal}@media(max-width:650px){.preparation-finder form>*{width:100%;flex-basis:100%}.detail h1{font-size:32px}.detail-block[id]{scroll-margin-top:20px}}
