/* Homepage — één op één uit homepage.html (referentie). Aanvullingen staan onderaan, gemarkeerd. */
body{margin:0;background:#FDF9F4}
a{color:#2C1722}a:hover{color:#5A2E43}
.hp{font-family:'Hanken Grotesk',system-ui,sans-serif;background:#FDF9F4;color:#2C1722;width:100%;overflow:hidden}
.hp *{box-sizing:border-box}
.wrap{max-width:1200px;margin:0 auto;padding:0 clamp(20px,4vw,56px)}
.sec{padding:76px 0}
.panel{margin:10px clamp(10px,1.4vw,20px);border-radius:32px}
.kicker{margin:0 0 16px;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#9E4A2F}
.h2{margin:0;font-family:'Fraunces',Georgia,serif;font-weight:500;font-size:clamp(34px,3.6vw,50px);line-height:1.14;letter-spacing:-.015em}
.h3{margin:0;font-family:'Fraunces',Georgia,serif;font-weight:500;font-size:26px;line-height:1.25;letter-spacing:-.01em}
.lead{margin:20px 0 0;font-size:18px;line-height:1.6;color:#5C4A54;max-width:640px}
.body{margin:0;font-size:16px;line-height:1.6;color:#5C4A54}
.center{display:flex;flex-direction:column;align-items:center;text-align:center}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px;border-radius:12px;font-size:15px;font-weight:500;text-decoration:none;white-space:nowrap}
.btn--dark{background:#2C1722;border:1px solid #2C1722;color:#FFFFFF}
.btn--dark:hover{color:#FFFFFF}
.btn--light{background:#FFFFFF;border:1px solid #EBE1D3;box-shadow:0 4px 12px rgba(0,0,0,.04)}
.btn--peach{background:#E6A88E;border:1px solid #E6A88E;color:#2C1722}
.card{background:#FFFFFF;border:1px solid #EFE6DA;border-radius:20px}
.fcard{background:#FFFFFF;border-radius:20px;overflow:hidden;display:flex;flex-direction:column}
.fcard__body{padding:30px 32px 28px}
.fcard__visual{margin-top:auto;position:relative;min-height:280px;display:flex;align-items:center;justify-content:center;padding:32px}
.ph{position:relative;background:#EADFD3;border-radius:12px;overflow:hidden;display:flex;align-items:flex-end}
.ph__label{margin:12px;display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px;background:#FDF9F4;font-size:12px;font-weight:600;color:#2C1722}
.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:8px;font-size:13px;font-weight:600}
.badge--green{background:#DCEBD5;color:#24461F}
.badge--red{background:#F6DAD3;color:#7A2E1E}
.badge--sand{background:#F3EBE1;color:#2C1722}
.ui{background:#FFFFFF;border:1px solid #EFE6DA;border-radius:12px;box-shadow:0 10px 28px rgba(44,23,34,.08)}
.chip{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;border:1px solid #E2D6C9;background:#FFFFFF;font-size:14px;font-weight:500}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:72px;align-items:center}
.list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.list li{display:flex;gap:12px;align-items:flex-start;font-size:16px;line-height:1.5}
.ico{flex:none;width:22px;height:22px;border-radius:99px;display:flex;align-items:center;justify-content:center}
.foot{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;padding:14px 0;border-top:1px solid #E2D6C9;border-bottom:1px solid #E2D6C9;font-size:13px;color:#6B5560}
.field{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600}
.input{font:inherit;font-weight:400;font-size:15px;color:#2C1722;background:#FDF9F4;border:1px solid #E2D6C9;border-radius:10px;min-height:46px;padding:10px 14px}
.faq{border-bottom:1px solid #E6DCD0;padding:22px 0}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;font-family:'Fraunces',Georgia,serif;font-size:21px;font-weight:500}
.faq summary::-webkit-details-marker{display:none}
.faq p{margin:12px 0 0;font-size:16px;line-height:1.6;color:#5C4A54;max-width:620px}
.tabs{display:inline-flex;flex-wrap:wrap;justify-content:center;gap:4px;padding:5px;border-radius:14px;background:#E3D3C3}
.tab{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:0 16px 0 10px;border-radius:10px;border:0;font:inherit;font-size:14px;font-weight:600;color:#2C1722;cursor:pointer;transition:background .25s ease, box-shadow .25s ease}
.tab__n{width:24px;height:24px;border-radius:99px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;transition:background .25s ease,color .25s ease}
.ui2{background:#FFFFFF;border:1px solid #EFE6DA;border-radius:14px;box-shadow:0 12px 32px rgba(44,23,34,.09)}
.fade{animation:fadeUp .45s cubic-bezier(.2,.7,.2,1) both}
.fade-2{animation:fadeUp .45s cubic-bezier(.2,.7,.2,1) .08s both}
.fade-3{animation:fadeUp .45s cubic-bezier(.2,.7,.2,1) .16s both}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.dot-fill{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:8px;background:#2C1722;animation:dotfill 7s linear forwards}
@keyframes dotfill{from{width:0}to{width:100%}}
@media (prefers-reduced-motion: reduce){.fade,.fade-2,.fade-3{animation:none}.dot-fill{animation:none;width:100%}}
.mq-track{display:flex;width:max-content;animation:mq 38s linear infinite}
.mq-set{display:flex;align-items:center;flex:none;font-family:'Fraunces',Georgia,serif;font-weight:500;font-size:31px;line-height:1.1;letter-spacing:-.015em;white-space:nowrap}
.mq-set span{margin-right:50px}
.mq-dot{width:7px;height:7px;border-radius:99px;background:#E6A88E;display:inline-block}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion: reduce){.mq-track{animation:none}}
.loc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch}
.loc__photo{min-height:540px}
.loc__text{padding:72px clamp(32px,5vw,96px) 72px clamp(32px,5vw,88px);align-self:center;max-width:680px}
@media (max-width:999px){.loc{grid-template-columns:minmax(0,1fr)}.loc__photo{min-height:340px}.loc__text{padding:56px 24px 64px}}
.pg-links{display:flex}
.pg-stage{display:block}
@media (max-width:999px){
.pg-links{display:none}
.pg-stage{display:none}
.sec{padding:56px 0}
.grid2,.grid3,.split{grid-template-columns:minmax(0,1fr)}
.split{gap:48px}
}
/* Peak Profile-stappen (vanilla JS-versie) */
.tab[aria-pressed="true"]{background:#FFFFFF;box-shadow:0 2px 10px rgba(44,23,34,.12)}
.tab[aria-pressed="false"]{background:transparent}
.tab .tab__n{background:#F3EBE1;color:#6B5560}
.tab.is-done .tab__n{background:#DCEBD5;color:#24461F}
.tab[aria-pressed="true"] .tab__n{background:#2C1722;color:#FFFFFF}
.pp-dot__bar{position:relative;display:block;overflow:hidden;width:8px;height:8px;border-radius:8px;background:#D8C6B4;transition:width .35s ease,background .35s ease}
.pp-dot.is-done .pp-dot__bar{background:#2C1722}
.pp-dot.is-active .pp-dot__bar{width:44px}
.pp-dot .dot-fill{display:none}
.pp-dot.is-active .dot-fill{display:block}
[hidden]{display:none !important}

/* ===== Aanvulling 1: mobiel (< 1000 px), uit de eerdere hero-prompt "E · Collage" ===== */
.pg-room-m, .pg-stage-m, .pg-burger, .pg-ann-short{display:none}
.hp .pg-float{position:absolute;text-align:left;box-sizing:content-box}
.pg-burger{flex:none;align-items:center;justify-content:center;width:48px;height:48px;border:0;background:transparent;color:#2C1722;padding:0;cursor:pointer}
.pg-menu{position:absolute;z-index:3;top:calc(100% + 8px);left:16px;right:16px;display:flex;flex-direction:column;padding:8px;background:#FFFFFF;border:1px solid #EFE6DA;border-radius:16px;box-shadow:0 8px 28px rgba(44,23,34,.08)}
.pg-menu a{display:flex;align-items:center;min-height:48px;padding:0 12px;font-size:16px;font-weight:500;text-decoration:none}
.pg-menu a + a{border-top:1px solid #EFE6DA}
.pg-menu .btn{margin-top:8px;border-top:0;justify-content:center;min-height:50px;border-radius:14px}
@media (min-width:1000px){.pg-menu{display:none !important}}
@media (max-width:999px){
.pg-hero{min-height:0 !important}
.pg-room-d{display:none}
.pg-room-m{display:block;position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:610px;height:auto;pointer-events:none}
.pg-announce{min-height:44px !important}
.pg-ann-long{display:none}
.pg-ann-short{display:inline}
.pg-navwrap{padding:16px 16px 0 !important;align-items:center;gap:12px}
.pg-nav{flex:1;min-height:64px;padding:0 16px !important;box-shadow:0 8px 28px rgba(44,23,34,.08) !important}
.pg-nav > a:first-child span{font-size:20px !important}
.pg-navbtn{display:none !important}
.pg-burger{display:flex}
.pg-content{padding:52px 24px 0 !important}
.pg-title{font-size:42px !important}
.pg-lead{font-size:17px !important}
.pg-actions{gap:12px !important;margin-top:28px !important}
.pg-actions .btn{min-height:50px;padding:0 16px;border-radius:14px}
.pg-stage-m{display:block;position:relative;width:100%;max-width:430px;height:440px;margin:0 auto;pointer-events:none}
}

/* ===== Aanvulling 2: formulier-meldingen en toetsenbordfocus ===== */
.pg-form-help{margin:0;width:100%;font-size:14px;line-height:1.5;color:#24461F}
.pg-form-help:empty{display:none}
.pg-form-help.is-error{color:#7A2E1E}
.pg-form-help.is-ok{display:inline-flex;align-items:center;width:auto;padding:5px 10px;border-radius:8px;background:#DCEBD5;color:#24461F;font-size:13px;font-weight:600}
.pg-form .chip:has(input:checked){border-color:#2C1722;background:#F7F1EA}
.pg-form [aria-invalid="true"]{border-color:#7A2E1E}
.hp a:focus-visible,.hp button:focus-visible,.hp summary:focus-visible,.hp .input:focus-visible{outline:2px solid #2C1722;outline-offset:2px}
.chip:has(input:focus-visible){outline:2px solid #2C1722;outline-offset:2px}

/* ===== Aanvulling 4: sticky navigatie op alle pagina's =====
   De witte pil blijft 18 px onder de bovenrand staan; de aankondigingsbalk scrolt mee weg.
   overflow:hidden op .hp zou sticky blokkeren, overflow-x:clip niet (en voorkomt nog steeds zijwaarts scrollen). */
.hp{overflow:visible;overflow-x:clip}
.pg-navwrap{position:sticky !important;top:0;z-index:50}
.pg-announce{z-index:51}
html{scroll-padding-top:96px}
/* Homepage: balk + navigatie staan vóór de hero. De hero schuift er precies onder (116 px, mobiel 124 px),
   zodat kop, kaartjes en tekening op dezelfde plek blijven als in het ontwerp. */
.pg-hero{margin-top:-116px}
.pg-content{padding-top:188px !important}
@media (max-width:999px){
.pg-hero{margin-top:-124px}
.pg-content{padding-top:176px !important}
}
/* Mobiel: de hamburger staat naast de pil; zodra de navigatie vastzit krijgt hij een eigen wit vlak in de stijl van de pil,
   zodat hij ook boven donkere blokken zichtbaar blijft. */
@media (max-width:999px){
.pg-burger{transition:background-color .2s ease, box-shadow .2s ease}
.pg-navwrap.is-stuck .pg-burger{background:#FFFFFF;border:1px solid #EFE6DA;border-radius:16px;box-shadow:0 8px 28px rgba(44,23,34,.08)}
}
