:root{--ink:#232232;--gold:#be9f56;--blush:#eedcd3;--paper:#faf8f5;--white:#fff;--muted:#6d6875;--radius:2px;--shadow:0 22px 55px rgba(35,34,50,.13)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.65}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:500;line-height:1.08;margin:0 0 .55em}h1{font-size:clamp(3rem,7vw,7.2rem);letter-spacing:-.05em}h2{font-size:clamp(2rem,3.8vw,3.65rem);letter-spacing:-.025em}h3{font-size:2rem}p{margin:0 0 1.25rem}.wrap{width:min(1280px,calc(100% - 48px));margin:auto}.narrow{max-width:900px}.center{text-align:center}.section{padding:clamp(80px,10vw,150px) 0}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:.78rem;font-weight:700;color:var(--blush)}.eyebrow.dark{color:var(--gold)}.lead{font-size:clamp(1.15rem,2vw,1.45rem);color:#514d5c}.button{display:inline-flex;align-items:center;justify-content:center;padding:15px 24px;border:0;text-decoration:none;font:inherit;font-weight:700;cursor:pointer}.button.gold{background:var(--gold);color:var(--ink)}.button:hover{transform:translateY(-2px)}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:10px;top:10px;background:#fff;padding:10px;z-index:9999}.site-header{position:absolute;z-index:50;top:0;left:0;right:0;color:#fff}.header-inner{height:112px;display:flex;align-items:center;gap:36px;border-bottom:1px solid rgba(255,255,255,.25)}.brand img,.custom-logo{width:105px;height:auto;display:block}.site-nav{margin-left:auto}.site-nav ul{display:flex;gap:28px;list-style:none;padding:0;margin:0}.site-nav a{color:#fff;text-decoration:none;font-weight:600;font-size:.95rem}.menu-toggle{display:none;background:none;border:0}.hero{min-height:100svh;position:relative;display:flex;align-items:flex-end;background-image:var(--hero);background-size:cover;background-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(35,34,50,.92),rgba(35,34,50,.45) 55%,rgba(35,34,50,.1)),linear-gradient(0deg,rgba(35,34,50,.5),transparent 45%)}.hero-content{position:relative;color:#fff;padding-bottom:clamp(80px,10vw,140px);max-width:980px}.hero-content>p:not(.eyebrow){max-width:680px;font-size:1.18rem;color:#f7efeb}.scroll-cue{position:absolute;right:3vw;bottom:48px;color:#fff;writing-mode:vertical-rl;text-transform:uppercase;letter-spacing:.18em;font-size:.68rem}.scroll-cue span{margin-top:14px}.secrets{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:42px}.secrets span{border:1px solid #d8c7bd;padding:9px 14px;border-radius:999px}.stores{background:#fff}.section-head{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:end;margin-bottom:55px}.section-head>p{color:var(--muted);font-size:1.1rem}.store-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:34px}.store-card{background:var(--paper);box-shadow:0 1px 0 #e8e2dd;overflow:hidden}.store-image{position:relative;aspect-ratio:16/10;overflow:hidden}.store-image img{width:100%;height:100%;object-fit:cover;transition:.7s transform}.store-card:hover .store-image img{transform:scale(1.035)}.gallery-open{position:absolute;right:18px;bottom:18px;border:0;background:rgba(35,34,50,.92);color:#fff;padding:12px 15px;cursor:pointer}.gallery-open span{color:var(--gold)}.store-body{padding:28px;position:relative}.store-no{position:absolute;right:26px;top:24px;color:var(--gold);font-family:Georgia;font-size:1.3rem}.store-body h3{padding-right:48px}.hours{font-size:.92rem;color:var(--muted)}.store-actions{display:flex;gap:12px;align-items:center}.store-actions a{color:var(--ink);font-weight:700}.mobile-call{display:none}.map-section{background:var(--ink);color:#fff}.map-grid{display:grid;grid-template-columns:.75fr 1.25fr;align-items:center;gap:80px}.map-grid>div:first-child p{color:#d9d3dd}.coast-map{height:540px;position:relative;background:linear-gradient(140deg,#302f43,#1f1e2d);overflow:hidden;border:1px solid rgba(255,255,255,.12)}.coast-line{position:absolute;inset:-5% 10% 0 35%;border-left:18px solid var(--blush);border-radius:60% 20% 10% 50%;transform:rotate(-9deg);opacity:.14}.pin{position:absolute;color:#fff;text-decoration:none;display:flex;align-items:center;gap:10px;font-weight:700}.pin i{width:18px;height:18px;border:4px solid var(--gold);border-radius:50%;box-shadow:0 0 0 7px rgba(190,159,86,.2)}.p-heiligenhafen{right:15%;top:17%}.p-groemitz{right:25%;top:40%}.p-scharbeutz{right:31%;top:57%}.p-buesum{left:14%;top:61%}.story{background:var(--blush)}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.story-image img{width:100%;height:720px;object-fit:cover;box-shadow:var(--shadow)}.page-copy{margin-top:25px;border-top:1px solid rgba(35,34,50,.2);padding-top:20px}.contact{background:var(--ink);color:#fff}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.contact-details{display:flex;flex-direction:column;gap:8px;margin-top:35px}.contact-details a{color:var(--gold);font-size:1.25rem}.contact-form{background:#fff;color:var(--ink);padding:clamp(25px,4vw,55px)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}.contact-form label{display:block;font-size:.88rem;font-weight:700;margin-bottom:20px}.contact-form input,.contact-form textarea,.contact-form select{display:block;width:100%;margin-top:7px;border:0;border-bottom:1px solid #b7b0b8;background:#faf8f5;padding:13px;font:inherit}.check{font-weight:400!important}.check input{display:inline;width:auto;margin-right:8px}.hp{position:absolute!important;left:-9999px}.form-status{margin-top:15px}.site-footer{background:#191823;color:#d8d4dd;padding:75px 0 25px}.footer-grid{display:grid;grid-template-columns:1.4fr .7fr .9fr;gap:70px}.footer-logo{width:110px}.footer-socials{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.footer-socials a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 13px;border:1px solid rgba(190,159,86,.55);color:#fff;text-decoration:none;font-size:.82rem;font-weight:700;letter-spacing:.04em}.footer-socials a:hover{background:var(--gold);color:var(--ink)}.site-footer h3{font-family:inherit;font-size:1rem;text-transform:uppercase;letter-spacing:.15em;color:var(--gold)}.site-footer ul{list-style:none;padding:0}.site-footer a{color:#fff}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:55px;padding-top:22px;display:flex;justify-content:space-between;font-size:.85rem}.gallery-modal{position:fixed;z-index:9999;inset:0;background:rgba(12,11,18,.96);display:none;align-items:center;justify-content:center;padding:60px}.gallery-modal.open{display:flex}.gallery-modal figure{margin:0;max-width:min(1200px,85vw);text-align:center}.gallery-modal img{max-width:100%;max-height:82vh;box-shadow:0 0 60px #000}.gallery-modal figcaption{color:#fff;margin-top:10px}.modal-close,.modal-prev,.modal-next{position:absolute;background:none;border:0;color:#fff;font-size:3rem;cursor:pointer}.modal-close{right:25px;top:15px}.modal-prev{left:25px}.modal-next{right:25px}.modal-open{overflow:hidden}@media(max-width:900px){.wrap{width:min(100% - 30px,1280px)}.header-inner{height:84px}.site-nav{display:none;position:absolute;top:84px;left:0;right:0;background:var(--ink);padding:25px}.site-nav.open{display:block}.site-nav ul{display:block}.site-nav li{margin:15px 0}.menu-toggle{display:block;margin-left:auto}.menu-toggle span{display:block;width:28px;height:2px;background:#fff;margin:6px}.section-head,.map-grid,.story-grid,.contact-grid{grid-template-columns:1fr;gap:45px}.store-grid{grid-template-columns:1fr}.story-image img{height:480px}.footer-grid{grid-template-columns:1fr}.mobile-call{display:inline}.form-row{grid-template-columns:1fr}.gallery-modal{padding:45px 10px}.modal-prev{left:5px}.modal-next{right:5px}}@media(max-width:560px){h1{font-size:3.35rem}.hero-content{padding-bottom:85px}.scroll-cue{display:none}.section{padding:75px 0}.store-body{padding:22px}.coast-map{height:420px}.pin span{font-size:.75rem}.story-image img{height:360px}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:5px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Internal pages: persistent header and restrained page title scale. */
body:not(.home):not(.front-page) .site-header {
  position: relative;
  background: var(--ink);
  color: #fff;
}
body:not(.home):not(.front-page) .header-inner {
  border-bottom-color: rgba(255,255,255,.14);
}
body:not(.home):not(.front-page) main.section {
  padding-top: clamp(58px,7vw,96px);
}
body:not(.home):not(.front-page) main h1 {
  font-size: clamp(2.45rem,5vw,4.8rem);
  letter-spacing: -.035em;
  overflow-wrap: anywhere;
}
body:not(.home):not(.front-page) main h2 {
  font-size: clamp(1.8rem,3.4vw,3rem);
  line-height: 1.15;
}
@media (max-width:560px) {
  body:not(.home):not(.front-page) main h1 {
    font-size: clamp(2.15rem,11vw,3rem);
  }
  h2 {
    font-size: clamp(1.85rem,9vw,2.65rem);
  }
}

/* 1.0.6 — per-page controls and polished Gutenberg blocks */
.fsv-subpage{background:var(--page-bg,#faf8f5);color:var(--page-text,#232232);padding:var(--page-pt,64px) 0 var(--page-pb,90px)}
.fsv-page-wrap{width:min(var(--page-width,900px),calc(100% - 48px));margin-inline:auto}
.fsv-page-title{font-size:var(--page-h1,48px)!important;line-height:1.08;letter-spacing:-.03em;text-align:var(--page-title-align,left);margin-bottom:clamp(32px,5vw,64px)}
.fsv-entry-content h2{font-size:var(--page-h2,36px)!important;line-height:1.16;margin-top:1.6em}
.fsv-entry-content h2.is-style-fsv-gold-line:after{content:"";display:block;width:70px;height:2px;background:var(--page-accent,#be9f56);margin-top:18px}
.fsv-entry-content h3{font-size:clamp(1.45rem,2.5vw,2rem);line-height:1.2;margin-top:1.5em}
.fsv-entry-content a{color:var(--page-accent,#be9f56);text-underline-offset:3px}
.fsv-entry-content>*,.fsv-entry-content .wp-block-group__inner-container>*{margin-block-start:0;margin-block-end:1.35rem}
.fsv-content-card .fsv-page-article{background:#fff;padding:clamp(28px,5vw,70px);box-shadow:var(--shadow)}
.fsv-content-soft .fsv-page-article{background:color-mix(in srgb,var(--page-accent,#be9f56) 10%,#fff);padding:clamp(28px,5vw,70px)}
.wp-block-group.is-style-fsv-card,.is-style-fsv-card{background:#fff;padding:clamp(28px,5vw,64px);box-shadow:var(--shadow)}
.wp-block-image.is-style-fsv-shadow img,.is-style-fsv-shadow img{box-shadow:var(--shadow)}
.wp-block-gallery.is-style-fsv-gallery{gap:14px!important}
.wp-block-gallery.is-style-fsv-gallery img{transition:transform .35s ease}
.wp-block-gallery.is-style-fsv-gallery figure:hover img{transform:scale(1.02)}
.fsv-entry-content .alignwide{width:min(1200px,calc(100vw - 48px));max-width:none;margin-left:50%;transform:translateX(-50%)}
.fsv-entry-content .alignfull{width:100vw;max-width:none;margin-left:50%;transform:translateX(-50%)}
.fsv-converted-content{font-size:1.05rem}
@media(max-width:560px){.fsv-page-wrap{width:min(100% - 30px,var(--page-width,900px))}.fsv-page-title{font-size:var(--page-h1-mobile,34px)!important}.fsv-entry-content h2{font-size:min(var(--page-h2,36px),30px)!important}.fsv-content-card .fsv-page-article,.fsv-content-soft .fsv-page-article{padding:24px}}


/* 1.0.7: full-screen mobile navigation overlay. */
@media (max-width:900px) {
  body.nav-open { overflow:hidden; }
  body.nav-open .site-header {
    position:fixed!important;
    inset:0;
    z-index:9998;
    height:100dvh;
    background:var(--ink)!important;
  }
  body.nav-open .header-inner {
    height:96px;
    border-bottom:1px solid rgba(255,255,255,.14);
  }
  body.nav-open .brand,
  body.nav-open .menu-toggle { position:relative;z-index:2; }
  .menu-toggle {
    width:48px;
    height:48px;
    padding:10px;
    position:relative;
    z-index:10000;
    cursor:pointer;
  }
  .menu-toggle span {
    position:absolute;
    left:10px;
    top:23px;
    width:28px;
    margin:0;
    transition:transform .25s ease,opacity .2s ease;
  }
  .menu-toggle span:first-child { transform:translateY(-5px); }
  .menu-toggle span:last-child { transform:translateY(5px); }
  .menu-toggle[aria-expanded="true"] span:first-child { transform:rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:last-child { transform:rotate(-45deg); }
  .site-nav {
    display:flex;
    position:fixed;
    inset:96px 0 0;
    margin:0;
    padding:30px 24px 96px;
    background:var(--ink);
    align-items:center;
    justify-content:center;
    opacity:0;
    visibility:hidden;
    transform:translateY(-12px);
    transition:opacity .25s ease,transform .25s ease,visibility .25s;
    overflow-y:auto;
  }
  .site-nav.open {
    display:flex;
    opacity:1;
    visibility:visible;
    transform:none;
  }
  .site-nav ul {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:22px;
    width:100%;
    margin:0;
  }
  .site-nav li { margin:0; text-align:center; }
  .site-nav a {
    display:inline-block;
    padding:8px 16px;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(2rem,10vw,3.25rem);
    line-height:1.1;
    font-weight:500;
    color:#fff;
  }
  .site-nav a:hover,
  .site-nav a:focus { color:var(--gold); }
}


/* 1.0.8 — reusable homepage sections inside Gutenberg pages */
.fsv-entry-content > .wp-block-shortcode{margin-block:0}
.fsv-entry-content .fsv-reusable-section{
  width:100vw;
  max-width:none;
  margin-left:50%;
  transform:translateX(-50%);
}
.fsv-entry-content .fsv-reusable-section h2{font-size:clamp(2rem,3.8vw,3.65rem)!important}
.fsv-entry-content .fsv-reusable-section h3{margin-top:0}
.fsv-pattern-intro{padding:clamp(64px,8vw,110px) 24px}
.fsv-pattern-story{padding:clamp(56px,8vw,100px);background:var(--blush)}
.fsv-pattern-story .story-image img{height:min(620px,70vw);object-fit:cover}
.fsv-values-block{margin-top:32px!important}
.fsv-contact-card h3{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.8rem,3vw,2.6rem)}
@media(max-width:900px){
  .fsv-pattern-story{padding:56px 24px}
  .fsv-entry-content .fsv-reusable-section .wrap{width:min(100% - 30px,1280px)}
}


/* 1.0.9 — About page and homepage story link */
.story-more{margin-top:28px}
.fsv-about-intro{padding:clamp(30px,5vw,72px) 0 clamp(56px,7vw,96px)}
.fsv-about-history{box-shadow:var(--shadow)}
.fsv-about-history p,.fsv-about-intro p{max-width:900px}
.fsv-secrets-list{list-style:none;padding:0!important;margin:30px 0!important;display:grid;gap:16px}
.fsv-secrets-list li{padding:18px 20px;border-left:2px solid var(--gold);background:rgba(255,255,255,.07);font-size:1.05rem}
.fsv-entry-content .has-background .lead{color:inherit}
@media(max-width:700px){
  .fsv-about-history{padding:48px 24px!important}
  .fsv-secrets-list li{padding:15px}
}


/* 1.0.10 — remove the gap before the footer on pages ending with a full-width section */
.fsv-entry-content > :last-child,
.fsv-entry-content > .wp-block-shortcode:last-child,
.fsv-entry-content > .fsv-reusable-section:last-child{
  margin-bottom:0!important;
}
.fsv-page-article,
.fsv-entry-content{
  margin-bottom:0;
}
.fsv-subpage:has(.fsv-entry-content > .fsv-reusable-section:last-child){
  padding-bottom:0;
}


/* 1.0.12 — safer logo spacing and accessible back-to-top control */
.header-inner{
  height:auto;
  min-height:112px;
  padding-top:max(12px,env(safe-area-inset-top));
  padding-bottom:12px;
}
.brand,
.custom-logo-link{
  display:flex;
  align-items:center;
  flex:0 0 auto;
}
.brand img,
.custom-logo{
  width:100px;
  max-height:84px;
  object-fit:contain;
  object-position:center;
}
.back-to-top{
  position:fixed;
  z-index:9000;
  right:max(20px,env(safe-area-inset-right));
  bottom:max(20px,env(safe-area-inset-bottom));
  width:52px;
  height:52px;
  border:1px solid rgba(190,159,86,.7);
  border-radius:50%;
  background:rgba(35,34,50,.94);
  color:#fff;
  display:grid;
  place-items:center;
  font:700 1.45rem/1 Georgia,"Times New Roman",serif;
  cursor:pointer;
  box-shadow:0 12px 32px rgba(0,0,0,.22);
  opacity:0;
  visibility:hidden;
  transform:translateY(12px);
  transition:opacity .22s ease,transform .22s ease,visibility .22s,background .2s ease,color .2s ease;
}
.back-to-top.is-visible{
  opacity:1;
  visibility:visible;
  transform:none;
}
.back-to-top:hover,
.back-to-top:focus-visible{
  background:var(--gold);
  color:var(--ink);
  outline:none;
}
@media(max-width:900px){
  .header-inner{
    height:auto;
    min-height:96px;
    padding-top:max(10px,env(safe-area-inset-top));
    padding-bottom:10px;
  }
  .brand img,
  .custom-logo{
    width:84px;
    max-height:72px;
  }
  body.nav-open .header-inner{
    height:auto;
    min-height:96px;
    padding-top:max(10px,env(safe-area-inset-top));
    padding-bottom:10px;
  }
}
@media(max-width:560px){
  .back-to-top{
    width:48px;
    height:48px;
    right:max(14px,env(safe-area-inset-right));
    bottom:max(14px,env(safe-area-inset-bottom));
  }
}
@media(prefers-reduced-motion:reduce){
  .back-to-top{transition:none}
}


/* 1.0.13 — store opening-hours notices */
.store-special{
  margin:16px 0 18px;
  padding:13px 15px;
  border-left:3px solid var(--gold);
  background:var(--store-note-bg,#f3e6bd);
  font-size:.9rem;
  line-height:1.5;
}
.store-special strong,
.store-special span{
  display:block;
}
.store-special strong{
  margin-bottom:3px;
  color:var(--ink);
}


/* 1.0.14 — polished legal and career pages */
.fsv-legal-hero{
  padding:clamp(24px,4vw,54px) 0 clamp(42px,6vw,78px);
}
.fsv-legal-hero h2{
  max-width:850px;
  margin-inline:auto;
}
.fsv-legal-section{
  margin-bottom:28px!important;
  padding:clamp(26px,4vw,52px);
  background:#fff;
  border:1px solid rgba(35,34,50,.08);
  box-shadow:0 16px 38px rgba(35,34,50,.07);
}
.fsv-legal-section-accent{
  background:linear-gradient(135deg,#f6eee8,#eedcd3);
  border-color:rgba(190,159,86,.28);
}
.fsv-legal-section h2{
  margin-top:0!important;
  padding-bottom:14px;
  border-bottom:1px solid rgba(190,159,86,.45);
}
.fsv-legal-section h3{
  margin-top:1.8em;
  color:var(--page-accent,#be9f56);
}
.fsv-legal-section p,
.fsv-legal-section li{
  max-width:92ch;
}
.fsv-legal-alert{
  padding:18px 20px;
  border-left:4px solid var(--gold);
  background:#232232;
  color:#fff;
  font-weight:800;
  letter-spacing:.03em;
}
.fsv-legal-toc{
  columns:2;
  column-gap:40px;
  padding-left:1.2em;
}
.fsv-legal-toc li{
  break-inside:avoid;
  margin-bottom:8px;
}
.fsv-career-list{
  display:grid;
  gap:14px;
  padding:0;
  list-style:none;
}
.fsv-career-list li{
  padding:18px 20px 18px 52px;
  position:relative;
  background:#fff;
  border:1px solid rgba(35,34,50,.08);
}
.fsv-career-list li:before{
  content:"✓";
  position:absolute;
  left:20px;
  color:var(--gold);
  font-weight:800;
}
.fsv-entry-content .wp-block-button__link{
  background:var(--gold);
  color:var(--ink);
  font-weight:800;
  border-radius:0;
  padding:15px 24px;
}
.store-special{
  color:var(--ink);
  border-left-color:color-mix(in srgb,var(--store-note-bg,#f3e6bd) 55%,#7b672f);
}
@media(max-width:700px){
  .fsv-legal-section{padding:24px 20px}
  .fsv-legal-toc{columns:1}
}
