/* Visit page only; shared shell, tokens and components remain architect-owned. */
.visit-hero{min-height:min(82vh,850px)}
.visit-hero .c-hero__media img{object-position:50% 55%}
.visit-hero .c-hero__text{padding-bottom:clamp(96px,12vw,170px)}
.visit-hero .intro{max-width:53ch}
.visit-hero .knop{justify-self:start}
.visit-hero__caption{position:absolute;z-index:2;right:var(--gutter);bottom:22px;max-width:36ch;margin:0;text-align:right;color:var(--wit);font-size:13px;line-height:1.4}
.visit-purpose__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:var(--col-gap);align-items:center}
.visit-purpose__intro .kop2{max-width:11ch}
.visit-purpose__intro .intro{max-width:45ch;color:var(--inkt-zacht)}
.visit-purpose figure,.visit-place figure{margin:0;min-width:0}
.visit-purpose img{display:block;width:100%;height:clamp(390px,48vw,680px);object-fit:cover;filter:brightness(.86) saturate(.91)}
.visit-purpose figcaption,.visit-place figcaption{padding-top:13px;font-size:13px;line-height:1.45}
.visit-purpose figcaption{color:var(--inkt-zacht)}
.visit-choose .s-sectionhead{max-width:800px}
.visit-paths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2.5vw,32px)}
.visit-path{min-height:420px;padding:clamp(26px,3.5vw,54px);display:flex;flex-direction:column;align-items:start;border:1px solid var(--lijn-d);background:var(--nacht-2);transition:border-color .25s,background .25s}
.visit-path:first-child{background:linear-gradient(180deg,rgba(16,15,13,.2),rgba(16,15,13,.95)),url('visit/pool-edge.webp') center 50%/cover}
.visit-path:hover,.visit-path.is-selected{border-color:var(--oker-licht)}
.visit-path.is-selected{background:#222017}
.visit-path:first-child.is-selected{background:linear-gradient(180deg,rgba(16,15,13,.2),rgba(16,15,13,.95)),url('visit/pool-edge.webp') center 50%/cover}
.visit-path__number{color:var(--oker-licht);font-size:11px;font-weight:700;letter-spacing:.19em}
.visit-path h3{font:700 clamp(31px,3.2vw,48px)/1.1 var(--display);letter-spacing:-.035em;margin:clamp(64px,7vw,112px) 0 18px}
.visit-path p{color:var(--mist);max-width:38ch;margin:0 0 30px;line-height:1.55}
.visit-path__action{margin-top:auto;display:flex;justify-content:space-between;gap:20px;align-items:center;width:100%;min-height:50px;background:none;border:0;border-top:1px solid var(--oker);padding:18px 0 0;color:var(--wit);font:700 15px var(--sans);text-align:left;text-decoration:none;cursor:pointer}
.visit-path__action span{display:grid;place-items:center;width:43px;height:43px;border:1px solid var(--oker-licht);border-radius:50%;color:var(--oker-licht);font-size:23px;line-height:1;transition:transform .25s}
.visit-path__action:hover span{transform:translate(4px,-4px)}
.visit-path__secondary{display:inline-flex;align-items:center;min-height:44px;margin-top:10px;color:var(--oker-licht);font-size:13px;font-weight:700;text-decoration:none;border-bottom:1px solid var(--oker)}
.visit-place__top{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:clamp(34px,4vw,60px)}
.visit-place__top>div:first-child{max-width:870px}
.visit-place__top p:last-child{max-width:50ch;color:#d0d5cd}
.visit-place__controls{display:flex;gap:10px;flex:none}
.visit-place__controls button{width:48px;height:48px;border:1px solid var(--oker-licht);border-radius:50%;background:transparent;color:var(--oker-licht);font:700 22px var(--sans);cursor:pointer}
.visit-place__controls button:hover{background:var(--oker-licht);color:var(--bos-diep)}
.visit-place__controls button:focus-visible,.visit-path__action:focus-visible,.visit-path__secondary:focus-visible{outline:2px solid var(--oker-licht);outline-offset:4px}
.visit-place__strip{display:flex;gap:clamp(16px,2vw,30px);overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-inline:contain;scrollbar-width:thin;padding-bottom:16px}
.visit-place__strip figure{flex:0 0 min(72vw,850px);scroll-snap-align:start}
.visit-place__strip img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;filter:brightness(.88) saturate(.92)}
.visit-place__strip figcaption{display:flex;gap:18px;align-items:baseline;max-width:75ch;color:#d0d5cd}
.visit-place__strip figcaption b{flex:none;color:var(--oker-licht);font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.visit-place__hint{margin:16px 0 0;color:#d0d5cd;font-size:12px}
.visit-details__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:var(--col-gap)}
.visit-details .intro{color:var(--inkt-zacht);max-width:45ch}
.visit-details__list{margin:0;border-top:2px solid var(--inkt)}
.visit-details__list div{display:grid;grid-template-columns:minmax(95px,1fr) minmax(0,2fr);gap:24px;padding:20px 0;border-bottom:1px solid var(--steen-lijn)}
.visit-details__list dt{font:700 12px var(--sans);letter-spacing:.13em;text-transform:uppercase;color:var(--oker-diep)}
.visit-details__list dd{margin:0;line-height:1.5;color:var(--inkt-zacht)}
.visit-plan__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:var(--col-gap);align-items:start}
.visit-plan__copy{position:sticky;top:120px}
.visit-plan__copy .intro{max-width:43ch;color:var(--wit)}
.visit-plan__copy p:last-child{max-width:43ch;color:var(--mist)}
.visit-plan__copy a{color:var(--oker-licht);text-underline-offset:4px}
.visit-form{padding:clamp(26px,3vw,48px);border:1px solid var(--lijn-d);background:var(--nacht-2)}
.visit-form__eyebrow{margin:0 0 27px;color:var(--oker-licht);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.visit-form__pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.visit-form fieldset{border:0;padding:0 0 28px;margin:0 0 30px;border-bottom:1px solid var(--lijn-d)}
.visit-form legend,.visit-form__row>label{display:block;font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--oker-licht)}
.visit-form legend{margin-bottom:16px}
.visit-form fieldset label{display:flex;align-items:center;gap:11px;padding:9px 0;cursor:pointer;min-height:44px}
.visit-form input[type=radio]{accent-color:var(--oker);width:18px;height:18px}
.visit-form__row{margin-bottom:25px}
.visit-form__row>label{margin-bottom:10px}
.visit-form__row input,.visit-form__row textarea{display:block;width:100%;box-sizing:border-box;border:1px solid var(--lijn-d);border-radius:0;background:var(--nacht);color:var(--wit);padding:14px 15px;font:16px var(--sans)}
.visit-form__row textarea{resize:vertical;min-height:112px}
.visit-form__row input:focus,.visit-form__row textarea:focus{outline:2px solid var(--oker-licht);outline-offset:2px}
.visit-form__row input[aria-invalid=true]{border-color:#E6A69E}
.visit-form__feedback{min-height:27px;margin:16px 0 0;color:var(--oker-licht);font-size:14px;line-height:1.45}
.visit-form.is-error .visit-form__feedback{color:#E6A69E}
.visit-form__receipt{margin-top:24px;padding:24px;border:1px solid var(--oker-licht);background:#30291e}
.visit-form__receipt[hidden]{display:none}
.visit-form__receipt h3{margin:12px 0;font:700 clamp(24px,2.4vw,34px)/1.15 var(--display)}
.visit-form__receipt p{line-height:1.5}
.visit-form__receipt a{color:var(--oker-licht);font-weight:700;text-underline-offset:4px}
.visit-form:not([data-ready]) button[type=submit]{display:none}
.visit-close{background:var(--nacht-2)}
@media(max-width:900px){.visit-purpose__grid,.visit-details__grid,.visit-plan__grid{grid-template-columns:1fr}.visit-purpose figure{max-width:670px}.visit-purpose img{height:clamp(320px,55vw,520px)}.visit-plan__copy{position:static}}
@media(max-width:620px){.visit-hero{min-height:670px}.visit-hero .c-hero__text{padding-top:95px;padding-bottom:140px}.visit-hero__caption{left:var(--gutter);right:var(--gutter);bottom:15px;text-align:left}.visit-paths,.visit-form__pair{grid-template-columns:1fr}.visit-path{min-height:350px}.visit-path h3{margin-top:66px}.visit-place__top{align-items:end}.visit-place__controls button{width:44px;height:44px}.visit-place__strip figure{flex-basis:calc(100vw - 2 * var(--gutter) - 26px)}.visit-place__strip figcaption{display:block}.visit-place__strip figcaption b{display:block;margin-bottom:6px}.visit-details__list div{grid-template-columns:1fr;gap:6px}.visit-form{padding:24px 18px}}
@media(prefers-reduced-motion:reduce){.visit-place__strip{scroll-behavior:auto}}
