:root{
  --canvas:#F7F3EC;
  --paper:#EEE7DC;
  --ink:#171815;
  --muted:#666861;
  --line:#D8D1C6;
  --green:#334039;
  --green-deep:#242D28;
  --brass:#9A7137;
  --white:#FFFCF7;
  --sans:'Instrument Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --serif:'Fraunces','Iowan Old Style',Baskerville,Georgia,serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --gutter:clamp(20px,3.6vw,72px);
  --max:1520px;
  --content:1200px;
  --reading:740px;
  --section:clamp(96px,8vw,144px);
  --section-tight:clamp(64px,5vw,84px);
  --layout-max:1520px;
  --layout-reading:720px;
  --layout-gutter:clamp(22px,3.5vw,68px);
  --layout-section:clamp(72px,5.5vw,96px);
  --layout-section-compact:clamp(52px,4.2vw,72px);
  --ratio-portrait:4/5;
  --ratio-landscape:3/2;
  --ratio-wide:16/9;
  --ratio-detail:1/1;
}
*{box-sizing:border-box}
html{background:var(--canvas);color:var(--ink);scroll-behavior:smooth;scroll-padding-top:92px}
body{font-optical-sizing:none;font-synthesis:none;margin:0;background:var(--canvas);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:auto;text-rendering:auto}
body.nav-open{overflow:hidden}
main{overflow:clip}
img{display:block;width:100%;max-width:100%;height:auto;object-fit:cover}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{background:none}
[hidden]{display:none}
.ek-wrap,.wrap{width:min(calc(100% - 2*var(--layout-gutter)),var(--layout-max));margin-inline:auto}
.display{font-family:var(--sans);font-weight:500;letter-spacing:-.055em;line-height:.96;margin:0;text-wrap:pretty}
.eyebrow,.ek-kicker{font-family:var(--sans);font-size:10px;font-weight:500;line-height:1.3;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.eyebrow.light{color:#CFCEC6}
.muted{color:var(--muted)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:16px;top:10px;z-index:300;background:#fff;color:#000;padding:10px 14px;transform:translateY(-160%)}
.skip-link:focus{transform:none}
:where(a,button,input,select,textarea){touch-action:manipulation;scroll-margin-block:96px}
:where(a,button,input,select,textarea):focus-visible{outline:2px solid var(--canvas);outline-offset:2px;box-shadow:0 0 0 4px var(--green)}

/* Header */
.header{position:fixed;z-index:100;top:0;left:0;right:0;height:72px;display:flex;align-items:center;background:rgba(247,243,236,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(14px);color:var(--ink)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;flex-direction:column;line-height:1;white-space:nowrap}
.brand strong{font-size:13px;letter-spacing:.17em;font-weight:600}
.brand span{font-size:9px;letter-spacing:.2em;text-transform:uppercase;margin-top:5px;color:var(--muted)}
.navlinks{display:flex;align-items:center;gap:clamp(16px,2vw,30px);font-size:12px}
.navlinks a{position:relative;padding:6px 0;color:#4B4C47}
.navlinks a:after{content:'';position:absolute;left:0;right:100%;bottom:0;height:1px;background:currentColor;transition:right .22s ease}
.navlinks a:hover:after,.navlinks a[aria-current=page]:after{right:0}
.nav-cta{display:inline-flex;align-items:center;min-height:34px;padding:0;border:0;border-bottom:1px solid currentColor;border-radius:0;background:transparent;font-size:12px;font-weight:600}
.menu-toggle{display:none;width:46px;height:46px;border:0;cursor:pointer;padding:0}
.menu-toggle span,.menu-toggle:before,.menu-toggle:after{content:'';display:block;width:22px;height:1px;background:currentColor;margin:5px auto;transition:transform .2s ease,opacity .2s ease}
.menu-toggle[aria-expanded=true] span{opacity:0}
.menu-toggle[aria-expanded=true]:before{transform:translateY(6px) rotate(45deg)}
.menu-toggle[aria-expanded=true]:after{transform:translateY(-6px) rotate(-45deg)}
.mobile-panel{position:fixed;z-index:95;inset:0;background:var(--canvas);padding:110px var(--layout-gutter) 34px;overflow:auto}
.mobile-panel nav{display:grid}
.mobile-panel nav a{font-size:clamp(38px,10vw,58px);font-weight:500;letter-spacing:-.055em;line-height:1;padding:14px 0;border-bottom:1px solid var(--line)}.mobile-panel nav a[aria-current=page]{color:var(--green)}
.mobile-panel .mobile-actions{display:grid;gap:10px;margin-top:30px}
.mobile-meta{margin-top:36px;color:var(--muted);font-size:13px}

/* Buttons and text links */
.btn,.text-link,.ek-link{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;font-size:13px;font-weight:600;transition:opacity .18s ease,transform .18s ease,border-color .18s ease,background .18s ease}
.btn{padding:0 18px;border:1px solid var(--ink);border-radius:0;cursor:pointer}
.btn-primary{background:var(--ink);color:white;border-color:var(--ink)}
.btn-ghost{background:transparent;border-color:var(--line)}
.text-link{justify-content:flex-start;border:0;padding:0;background:transparent;cursor:pointer}
.ek-link{min-height:40px;padding:4px 0;border-bottom:1px solid currentColor;justify-content:flex-start}
.ek-link span{font-weight:400}
.ek-link:hover,.text-link:hover,.btn:hover{opacity:.62}
.ek-link-strong{font-size:14px}
.ek-link-light{color:#F7F5EF}
.ek-button-link{border:0;border-bottom:1px solid currentColor;background:transparent;cursor:pointer;padding-inline:0}
.ek-text-button{min-height:44px;border:0;border-bottom:1px solid currentColor;padding:5px 0;cursor:pointer;font-size:13px;font-weight:600}



/* Shared utilities */
.ek-topline{display:flex;justify-content:space-between;gap:24px;padding:27px 0 22px;border-bottom:1px solid var(--line);font-size:10px;font-weight:500;line-height:1.3;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.ek-paper{background:var(--paper)}
.ek-dark{background:var(--green-deep);color:#F8F6F0}
.ek-simple-ledger{border-top:1px solid var(--line)}
.ek-simple-ledger>div{display:grid;grid-template-columns:145px 1fr;gap:24px;padding:20px 0;border-bottom:1px solid var(--line);align-items:start}
.ek-simple-ledger span{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding-top:4px}
.ek-simple-ledger strong{font-size:clamp(18px,2vw,26px);line-height:1.25;letter-spacing:-.025em;font-weight:500}
.faq-list{border-top:1px solid var(--ink)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;min-height:68px;padding:18px 0;font-size:clamp(18px,1.7vw,24px);font-weight:500;letter-spacing:-.025em}
.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';font-size:24px;font-weight:400;color:var(--muted)}.faq-list details[open] summary:after{content:'−'}
.faq-list details p{max-width:62ch;margin:0;padding:0 52px 24px 0;color:var(--muted)}



/* Public forms */
.excellence-form fieldset{border:0;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:21px 18px;min-width:0}
.excellence-form fieldset[hidden]{display:none}.excellence-form .field{display:grid;gap:6px}
.excellence-form .field.full,.excellence-form .consent-row.full,.excellence-form .form-note.full,.excellence-form .form-status.full{grid-column:1/-1}
.excellence-form label{font-size:12px;font-weight:600}
.excellence-form input,.excellence-form select,.excellence-form textarea{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;min-height:50px;padding:10px 0;border-radius:0}
.excellence-form textarea{min-height:100px;resize:vertical}.form-note{color:var(--muted);font-size:12px;line-height:1.5;margin:0}
.form-step-actions{grid-column:1/-1;display:flex;justify-content:space-between;gap:14px;align-items:center;margin-top:10px}
.consent-row{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:11px;font-size:13px;line-height:1.55;color:var(--ink);cursor:pointer}.consent-row input{width:18px;height:18px;min-height:18px;flex:0 0 18px;margin:2px 0 0;accent-color:var(--green)}.consent-row .consent-copy{display:block;min-width:0}.consent-row a{color:inherit;text-decoration:underline;text-underline-offset:2px}.consent-row.is-invalid{padding:12px;border:1px solid #C99F99;background:#FFF7F5}
.form-progress{display:flex;gap:9px;align-items:center;margin-bottom:28px;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.form-progress i{width:22px;height:1px;background:var(--line)}.form-progress [aria-current=step]{color:var(--ink)}
.form-success{border-top:1px solid var(--ink);border-bottom:1px solid var(--line);padding:34px 0}.form-success .success-mark,.dialog-success .success-mark{width:40px;height:40px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;margin-bottom:22px}
.form-success h2{font-size:clamp(34px,4vw,50px);line-height:1;letter-spacing:-.045em;font-weight:500;margin:0 0 14px}.form-success p{max-width:43ch;color:var(--muted)}
.ek-contact-lines{display:grid;border-top:1px solid var(--line);max-width:430px}.ek-contact-lines>*{padding:13px 0;border-bottom:1px solid var(--line);font-size:13px}
.ek-contact-form{padding-top:8px}.ek-contract-note{border-top:1px solid var(--line)}.ek-contract-note .ek-wrap{display:grid;grid-template-columns:2fr 7fr 2fr;gap:28px;align-items:start}.ek-contract-note p{margin:0;color:var(--muted);max-width:64ch}.ek-contract-note .ek-link{justify-self:end}


/* Footer */
.footer{background:#121713;color:#E8E6DF;padding:clamp(58px,7vw,90px) 0 26px}
.footer-main{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(170px,.7fr) minmax(250px,1fr);gap:clamp(40px,7vw,100px);align-items:start}
.footer-logo strong{color:white}.footer-logo span{color:#A9ADA7}
.footer-brand p{color:#A9ADA7;max-width:34ch;font-size:13px;margin:24px 0 0}
.footer-links,.footer-contact{display:grid}.footer-links a,.footer-contact>*{padding:7px 0;font-size:13px;color:#D0D1CB}.footer-contact span{color:#8F948E}
.footer-meta{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;border-top:1px solid #343B35;margin-top:54px;padding-top:20px;color:#8F948E;font-size:10px;letter-spacing:.05em;text-transform:uppercase}
.footer-meta>div{display:flex;gap:18px;flex-wrap:wrap}.footer-meta a:hover{color:white}

/* Course dialogs */
.course-dialog{width:min(680px,calc(100% - 30px));max-height:min(860px,calc(100dvh - 30px));overflow:auto;padding:0;border:0;border-radius:0;background:var(--canvas);color:var(--ink);box-shadow:0 28px 90px rgba(23,24,21,.25)}
.course-dialog::backdrop{background:rgba(20,22,19,.62)}
.dialog-inner{padding:clamp(24px,4vw,42px)}
.dialog-head{display:grid;grid-template-columns:1fr auto;gap:22px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.dialog-head h2{font-size:clamp(30px,4vw,42px);font-weight:500;letter-spacing:-.045em;line-height:1;margin:8px 0 0}
.dialog-close{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;cursor:pointer;font-size:24px}
.dialog-course-summary{padding:18px 0;border-bottom:1px solid var(--line);font-family:var(--sans);font-size:11px;line-height:1.6}
.course-dialog-lead{font-size:14px;line-height:1.55;color:var(--muted);padding:18px 0 0;max-width:52ch}
.dialog-form{display:grid;grid-template-columns:1fr 1fr;gap:17px 18px;margin-top:20px}
.dialog-form .field{display:grid;gap:6px}.dialog-form .field.full{grid-column:1/-1}.dialog-form label{font-size:12px;font-weight:600}.dialog-form input,.dialog-form select,.dialog-form textarea{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:12px 0;min-height:48px;border-radius:0}.dialog-form textarea{min-height:100px;resize:vertical}.dialog-note,.dialog-status{grid-column:1/-1;color:var(--muted);font-size:12px}.dialog-submit{grid-column:1/-1}.dialog-submit .btn{width:100%}
.course-dialog details{grid-column:1/-1;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:4px 0}.course-dialog summary{list-style:none;cursor:pointer;padding:14px 0;font-size:12px;font-weight:600;display:flex;justify-content:space-between}.course-dialog summary::-webkit-details-marker{display:none}.course-dialog summary:after{content:'+';font-size:18px;font-weight:400}.course-dialog details[open] summary:after{content:'−'}.optional-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px;padding:8px 0 18px}.dialog-success{grid-column:1/-1;padding:16px 0 4px}.dialog-success h3{font-size:28px;line-height:1;letter-spacing:-.035em;font-weight:500;margin:0 0 10px}.dialog-success p{color:var(--muted)}
.alarm-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.alarm-option{min-height:46px;border:1px solid var(--line);padding:0 12px;text-align:left;cursor:pointer}.alarm-option[aria-pressed=true]{border-color:var(--green);background:#EEF1EC}
.check-field{grid-column:1/-1;display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.5;color:var(--muted)}.check-field input{width:18px;height:18px;min-height:18px;flex:0 0 18px;margin-top:2px}.check-field a{text-decoration:underline;text-underline-offset:2px}.check-field[hidden],.field[hidden]{display:none}

/* Validation */
.field.is-invalid input,.field.is-invalid select,.field.is-invalid textarea,.check-field.is-invalid,.consent-row.is-invalid{border-color:#8B2E24}.field-error{display:block;margin-top:4px;color:#7B281F;font-size:12px;line-height:1.4;font-weight:500}.form-status,.dialog-status,.config-submit-status{transition:background .18s ease,color .18s ease,border-color .18s ease}.form-status:not(:empty),.dialog-status:not(:empty),.config-submit-status:not(:empty){padding:11px 13px;border:1px solid var(--line);background:var(--white)}.form-status.is-error,.dialog-status.is-error,.config-submit-status.is-error{color:#6E211A;border-color:#C99F99;background:#FFF7F5}.form-status.is-success,.dialog-status.is-success,.config-submit-status.is-success{color:#21311F;border-color:#AAB7A5;background:#F4F7F2}.form-status.is-info,.dialog-status.is-info,.config-submit-status.is-info{color:var(--ink);border-color:#CFC8BC;background:#FAF8F4}

/* Menu configurator — intentionally transactional, but visually part of the same brand */
.configurator-page{background:var(--canvas)}
.config-hero{padding:clamp(132px,14vw,184px) 0 clamp(54px,7vw,86px);background:var(--canvas);border-bottom:1px solid var(--line)}
.config-hero-grid{display:grid;grid-template-columns:minmax(0,8fr) minmax(300px,4fr);gap:clamp(52px,7vw,112px);align-items:end}
.config-hero h1{font-size:clamp(60px,6.8vw,104px);line-height:.92;letter-spacing:-.066em;max-width:13ch;font-weight:500;margin:0;text-wrap:pretty}
.config-hero p{max-width:620px;color:var(--muted);font-size:17px;margin:28px 0 0}
.config-hero-note{border-top:1px solid var(--line);padding-top:18px;display:grid;gap:5px;color:var(--muted)}.config-hero-note strong{font-size:22px;font-weight:500;color:var(--ink)}.config-hero-note span{font-size:13px}
.config-workspace{padding:0 0 clamp(90px,11vw,150px)}.config-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,390px);gap:clamp(44px,7vw,100px);align-items:start}.config-main{min-width:0;padding-top:34px}.config-ticket-rail{border-left:1px solid var(--line);min-height:100%;padding-left:clamp(28px,4vw,52px)}.config-ticket-sticky{position:sticky;top:105px;padding-top:34px}
.config-progress{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:16px;align-items:center;padding-bottom:28px;border-bottom:1px solid var(--line)}.config-progress>div{display:grid;gap:8px}.config-progress span{font-family:var(--sans);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.progress-track{height:2px;background:var(--line);overflow:hidden}.progress-track i{display:block;height:100%;width:14%;background:var(--green);transition:width .25s ease}.config-back{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;cursor:pointer}.config-share,.ticket-secondary,.unknown-link{border:0;background:transparent;padding:9px 0;cursor:pointer;text-decoration:underline;text-underline-offset:4px;font-size:12px;color:var(--muted)}.config-share{text-decoration:none;border-bottom:1px solid var(--line)}
.config-urgent{margin-top:24px;border-left:2px solid var(--ink);background:#EEF0EA;padding:18px 20px;display:grid;grid-template-columns:auto 1fr auto;gap:12px 20px;align-items:center}.config-urgent strong{font-size:20px;font-weight:500}.config-urgent span{font-size:13px;color:var(--muted)}.config-urgent div{display:flex;gap:14px}.config-urgent a{font-weight:600;font-size:13px}
.config-step{padding:clamp(48px,6vw,82px) 0 30px;border-bottom:1px solid var(--line)}.config-step h2{font-size:clamp(42px,5vw,70px);line-height:.96;letter-spacing:-.055em;max-width:15ch;font-weight:500;margin:0}.step-intro{font-size:17px;color:var(--muted);max-width:630px;margin:18px 0 34px}.option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line)}.select-card{min-height:138px;border:0;border-bottom:1px solid var(--line);background:transparent;padding:22px 18px 22px 0;text-align:left;cursor:pointer;display:grid;align-content:start;gap:7px}.select-card:nth-child(even){padding-left:18px;border-left:1px solid var(--line)}.select-card:hover,.select-card[aria-pressed=true]{background:#EEF0EA}.select-card>span{font-family:var(--sans);font-size:9px;color:var(--muted)}.select-card strong{font-size:22px;font-weight:500;letter-spacing:-.025em}.select-card small{color:var(--muted);font-size:13px}.option-open{grid-column:1/-1;min-height:105px}.compact-options{margin-top:18px}.compact-options .select-card{min-height:105px}
.guest-control{display:grid;grid-template-columns:54px minmax(0,190px) 54px;align-items:center;gap:12px;width:max-content}.guest-control output{font-size:72px;line-height:1;text-align:center;font-weight:500;letter-spacing:-.06em}.stepper-btn{width:54px;height:54px;border:1px solid var(--line);border-radius:50%;font-size:25px;cursor:pointer}.guest-range{width:min(100%,620px);accent-color:var(--green);margin:26px 0 16px}.quick-chips,.date-modes,.diet-chips{display:flex;flex-wrap:wrap;gap:8px}.quick-chips button,.date-modes button,.diet-chips button,.scope-control button{min-height:44px;border:1px solid var(--line);background:transparent;border-radius:999px;padding:0 15px;cursor:pointer;font-weight:600;font-size:12px}.quick-chips button:hover,.date-modes button[aria-pressed=true],.diet-chips button[aria-pressed=true],.scope-control button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}.inline-feedback{color:var(--muted);margin:18px 0 5px;font-size:13px}.step-actions{margin-top:30px;display:flex;justify-content:flex-end}.step-actions .btn{min-width:150px}
.date-input-wrap{display:grid;gap:8px;margin-top:22px;max-width:390px}.date-input-wrap input,.location-field input,.kitchen-grid select{min-height:50px;border:0;border-bottom:1px solid var(--line);background:transparent;padding:0 4px;color:var(--ink)}.date-input-wrap label,.location-field label,.kitchen-grid label{font-size:12px;font-weight:600}.location-field{display:grid;grid-template-columns:minmax(180px,310px) auto;gap:8px;align-items:end}.location-field label{grid-column:1/-1}.location-field .btn{min-height:50px}
.format-list{display:grid;border-top:1px solid var(--line)}.format-option{border:0;border-bottom:1px solid var(--line);background:transparent;padding:20px 0;display:grid;grid-template-columns:minmax(190px,.55fr) 1fr;gap:20px;text-align:left;cursor:pointer}.format-option strong{font-size:22px;font-weight:500;letter-spacing:-.025em}.format-option span{color:var(--muted)}.format-option[aria-pressed=true]{padding-left:16px;border-left:2px solid var(--green);background:#EEF0EA}.scope-wrap{margin-top:28px;display:grid;gap:10px}.scope-wrap>span,.diet-block>span{font-size:12px;font-weight:600}.scope-control{display:flex;gap:8px;flex-wrap:wrap}
.cuisine-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line)}.cuisine-grid button{border:0;border-bottom:1px solid var(--line);background:transparent;padding:20px 18px 20px 0;text-align:left;cursor:pointer;display:grid;gap:6px}.cuisine-grid button:nth-child(even){padding-left:18px;border-left:1px solid var(--line)}.cuisine-grid button[aria-pressed=true]{background:#EEF0EA}.cuisine-grid strong{font-size:20px;font-weight:500}.cuisine-grid small{color:var(--muted)}.diet-block{margin-top:30px;display:grid;gap:12px}.allergy-field{margin-top:8px;border-left:2px solid var(--green-deep);padding:18px 20px;background:#F1F0EB;display:grid;gap:10px}.allergy-field textarea{min-height:88px;border:1px solid var(--line);background:#fff;padding:10px}
.extras-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line)}.extra-card{min-height:105px;border-bottom:1px solid var(--line);padding:18px 18px 18px 0;cursor:pointer;display:flex;align-items:flex-start;gap:12px}.extra-card:nth-child(even){padding-left:18px;border-left:1px solid var(--line)}.extra-card:has(input:checked){background:#EEF0EA}.extra-card input{margin-top:6px;accent-color:var(--green)}.extra-card span{display:grid;gap:4px}.extra-card strong{font-size:19px;font-weight:500}.extra-card small{color:var(--muted)}.kitchen-check{margin-top:28px;border-top:1px solid var(--line);padding-top:24px}.kitchen-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:14px}.kitchen-grid label{display:grid;gap:6px}
.ek-ticket{background:#FFFCF7;border:1px solid #D6D0C5;padding:24px 22px 21px;font-family:var(--mono);font-size:11px;line-height:1.5}.ek-ticket-head{display:flex;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px dashed #BDB5A8}.ek-ticket-head strong{font-size:10px;letter-spacing:.08em}.ek-ticket-head span{color:var(--muted)}.ek-ticket-lines{display:grid;padding:12px 0}.ek-ticket-line{display:grid;grid-template-columns:minmax(70px,.7fr) minmax(0,1fr) auto;gap:12px;padding:5px 0;align-items:baseline}.ek-ticket-line span{color:var(--muted)}.ek-ticket-line strong{text-align:right;font-weight:600;max-width:205px}.ek-ticket-extras{border-top:1px dashed #BDB5A8;padding-top:9px;margin-top:4px}.ek-ticket-price{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:13px 0;margin-top:9px;display:grid;gap:5px}.ek-ticket-price span{font-size:9px;letter-spacing:.08em}.ek-ticket-price strong{font-size:28px;letter-spacing:-.035em;font-weight:600}.ek-ticket-price small{color:var(--muted)}.ek-ticket-note{font-family:var(--sans);color:var(--muted);font-size:11px;line-height:1.45;margin:13px 0 0}.ek-ticket-provisional{margin-top:10px;padding-top:10px;border-top:1px dashed #BDB5A8;color:#765F35;font-family:var(--sans);font-size:11px}.ticket-secondary{width:100%;margin-top:10px}.mobile-ticket-trigger{display:none}
.config-result h2{max-width:14ch}.result-mobile-ticket{display:none}.result-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.config-contact{margin-top:54px;border-top:1px solid var(--line);padding-top:34px;display:grid;grid-template-columns:minmax(220px,.52fr) 1fr;gap:clamp(34px,6vw,72px)}.config-contact h3{font-size:31px;font-weight:500;letter-spacing:-.035em;margin:8px 0}.config-contact>div p{color:var(--muted)}.config-contact form{display:grid;grid-template-columns:1fr 1fr;gap:15px 18px}.config-contact .field{display:grid;gap:6px}.config-contact .field.full,.config-contact .full{grid-column:1/-1}.config-contact label{font-size:12px;font-weight:600}.config-contact input,.config-contact textarea{width:100%;min-height:48px;border:0;border-bottom:1px solid var(--line);background:transparent;padding:10px 0}.config-contact textarea{min-height:86px;resize:vertical}.config-submit-status{font-size:13px;min-height:20px;color:var(--muted)}.config-thanks{margin-top:52px;padding:34px;border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}.config-thanks h3{font-size:42px;line-height:1;letter-spacing:-.045em;max-width:12ch;font-weight:500}
.mobile-ticket-dialog,.resume-dialog{width:min(620px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow:auto;border:0;border-radius:0;background:var(--canvas);padding:0;box-shadow:0 24px 80px rgba(23,22,19,.24)}.mobile-ticket-dialog::backdrop,.resume-dialog::backdrop{background:rgba(23,22,19,.66)}.resume-dialog p{color:var(--muted)}.resume-dialog .result-actions{align-items:center}.resume-dialog .text-link{border:0;background:transparent;cursor:pointer;color:var(--muted)}
.configurator-page [hidden]{display:none}

/* Mobile conversion bar */

/* Experience polish — inquiries, courses, Abend-Ticket */
.field-hint{display:block;color:var(--muted);font-size:11px;line-height:1.45;margin-top:2px;max-width:58ch}
button[aria-busy="true"]{cursor:progress;opacity:.62}
.form-success:focus,.dialog-success:focus,.config-thanks:focus{outline:2px solid var(--green);outline-offset:6px}
.inquiry-next{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:26px 0 24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.inquiry-next div{display:grid;gap:7px;padding:18px 16px 18px 0;border-right:1px solid var(--line)}
.inquiry-next div:last-child{border-right:0;padding-left:16px}.inquiry-next div:nth-child(2){padding-left:16px}
.inquiry-next span{font-size:9px;letter-spacing:.12em;color:var(--muted)}.inquiry-next strong{font-size:14px;font-weight:600}
.ek-ticket-line button{border:0;background:transparent;padding:3px 0 3px 8px;color:var(--muted);font:500 9px/1 var(--mono);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.ek-ticket-line button:hover,.ek-ticket-line button:focus-visible{color:var(--ink)}
.config-menu-preview{max-width:620px;margin-top:24px;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;gap:7px}
.config-menu-preview>span{font-size:9px;letter-spacing:.13em;color:var(--muted);text-transform:uppercase}
.config-menu-preview strong{font-family:var(--serif);font-size:clamp(28px,3vw,42px);line-height:1.05;font-weight:400;letter-spacing:-.025em}
.config-menu-preview p{margin:3px 0 0;font-size:16px}.config-menu-preview small{color:var(--muted);font-size:11px}
.config-next-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:42px 0 28px}
.config-next-steps>div{padding:19px 18px 19px 0;display:grid;gap:5px;border-right:1px solid var(--line)}
.config-next-steps>div:nth-child(2),.config-next-steps>div:nth-child(3){padding-left:18px}.config-next-steps>div:last-child{border-right:0}
.config-next-steps span{font-size:9px;letter-spacing:.12em;color:var(--muted)}.config-next-steps strong{font-size:15px;font-weight:600}.config-next-steps small{color:var(--muted);font-size:11px;line-height:1.4}
.config-contact[hidden]{display:none}.config-thanks[hidden]{display:none}
.course-dialog .field-hint{margin-top:2px}
.dialog-status.is-error,.form-status.is-error,.config-submit-status.is-error{color:#8B2D2D}
.dialog-status.is-success,.form-status.is-success,.config-submit-status.is-success{color:var(--green-deep)}

@media(max-width:700px){
  .inquiry-next,.config-next-steps{grid-template-columns:1fr}
  .inquiry-next div,.inquiry-next div:nth-child(2),.inquiry-next div:last-child,.config-next-steps>div,.config-next-steps>div:nth-child(2),.config-next-steps>div:nth-child(3){padding:15px 0;border-right:0;border-bottom:1px solid var(--line)}
  .inquiry-next div:last-child,.config-next-steps>div:last-child{border-bottom:0}
  .ek-ticket-line{grid-template-columns:72px minmax(0,1fr) auto;gap:8px}.ek-ticket-line strong{max-width:none;font-size:10px}.ek-ticket-line button{font-size:8px;padding-left:3px}
  .config-menu-preview{margin-top:20px}.config-next-steps{margin-top:32px}
}

/* Interaction and form utilities */
.ek-action-pair{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:24px}.ek-action-pair .ek-link{margin-top:0}.ek-link-secondary{font-size:12px;color:var(--muted);text-decoration:underline;text-underline-offset:5px}.ek-action-pair-dark .ek-link-secondary{color:rgba(255,255,255,.7)}
.ek-contact-planner{display:inline-flex;margin-top:24px;font-size:13px}
.config-menu-preview-head{display:flex;align-items:center;justify-content:space-between;gap:18px}.config-menu-preview-head>button{border:0;background:transparent;color:var(--muted);font-size:11px;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.config-menu-courses{display:grid;margin:15px 0 9px;border-top:1px solid var(--line)}.config-menu-courses>div{display:grid;grid-template-columns:36px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);align-items:baseline}.config-menu-courses span{font-family:var(--sans);font-size:9px;color:var(--muted);letter-spacing:.08em}.config-menu-courses b{font-family:var(--serif);font-size:19px;font-weight:400}
.course-success-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:20px 0 24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.course-success-steps>div{padding:14px 10px 14px 0;display:grid;gap:4px}.course-success-steps>div+div{padding-left:12px;border-left:1px solid var(--line)}.course-success-steps span{font-size:9px;color:var(--muted);letter-spacing:.08em}.course-success-steps strong{font-size:12px;font-weight:600}
.ek-course-recipe-note{padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#F4F2EC}.ek-course-recipe-note>.ek-wrap{display:grid;grid-template-columns:150px 1fr auto;gap:24px;align-items:center}.ek-course-recipe-note>div>span{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.ek-course-recipe-note p{margin:0;max-width:720px;color:var(--muted);font-size:14px}
@media(max-width:700px){.ek-action-pair{gap:14px}.course-success-steps{grid-template-columns:1fr}.course-success-steps>div{padding:11px 0}.course-success-steps>div+div{padding-left:0;border-left:0;border-top:1px solid var(--line)}.ek-course-recipe-note>.ek-wrap{grid-template-columns:1fr;gap:8px}.config-menu-preview-head{align-items:flex-start}.config-menu-courses b{font-size:18px}}




/* Mobile conversion bar */
.mobile-conversion-bar{display:none}
body.form-focus .mobile-conversion-bar{pointer-events:none}
@media(max-width:820px){
  html{scroll-padding-bottom:118px}
  body:not(.configurator-page){padding-bottom:calc(78px + env(safe-area-inset-bottom))}
  .mobile-conversion-bar{position:fixed;z-index:88;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px;background:rgba(247,243,236,.98);border:1px solid var(--line);box-shadow:0 10px 35px rgba(23,22,19,.14);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(calc(100% + 18px));transition:opacity .2s ease,transform .2s ease,visibility .2s ease}
  .mobile-conversion-bar.is-ready{opacity:1;visibility:visible;pointer-events:auto;transform:none}
  .mobile-conversion-bar .mobile-cta-primary{min-width:0;display:grid;align-content:center;justify-items:start;min-height:52px;padding:8px 13px;background:var(--green-deep);color:#fff}
  .mobile-conversion-bar .mobile-cta-primary strong{font-size:14px;line-height:1.1}.mobile-conversion-bar .mobile-cta-primary span{font-size:10px;line-height:1.25;opacity:.75;font-weight:500;margin-top:3px}
  .mobile-conversion-bar .mobile-cta-secondary{width:52px;height:52px;display:grid;place-items:center;border:1px solid var(--line);background:var(--canvas);font-size:18px}
  .mobile-conversion-bar.is-hidden,.mobile-conversion-bar.is-before-hero,body.nav-open .mobile-conversion-bar,body.form-focus .mobile-conversion-bar{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(calc(100% + 18px))}
  dialog[open]~.mobile-conversion-bar{opacity:0;visibility:hidden}
}


/* ==========================================================================
   EVENTKITCHEN v10 — SINGLE PUBLIC LAYOUT OWNER
   One container. One heading system. Three hero families. Four image ratios.
   ========================================================================== */

h1,h2,h3{hyphens:none;word-break:normal;overflow-wrap:normal;text-wrap:pretty}
figure{min-width:0}

/* Heading contract */
main h1{
  font-family:var(--sans);
  font-weight:500;
  letter-spacing:-.064em;
  line-height:.94;
}
main h2{
  font-family:var(--sans);
  font-weight:500;
  letter-spacing:-.052em;
  line-height:.98;
}
main h3{
  font-family:var(--sans);
  font-weight:500;
  letter-spacing:-.035em;
  line-height:1.02;
}

/* Hero A — split: Home / Privatkoch / Lukas */
.p2-hero{padding:clamp(118px,10vw,154px) 0 clamp(72px,6vw,96px)}
.p2-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  gap:clamp(48px,6vw,92px);
  align-items:center;
}
.p2-hero-copy{min-width:0}
.p2-hero-copy h1{
  font-size:clamp(66px,6vw,96px);
  max-width:11.8em;
  margin:18px 0 26px;
}
.p2-hero-copy h1 em,.p2-event-hero h1 em,.p2-course-hero-copy h1 em,.p2-location-title h1 em{display:block;font-family:var(--serif);font-style:normal;font-weight:400;letter-spacing:-.035em}
.p2-hero-copy>p{font-size:18px;line-height:1.55;color:var(--muted);max-width:38ch;margin:0 0 26px}
.p2-hero-image{margin:0;aspect-ratio:var(--ratio-portrait);overflow:hidden;background:#d8d2c8}
.p2-hero-image img{width:100%;height:100%;object-position:center 26%}
.p2-proofline{display:flex;justify-content:space-between;gap:24px;padding-top:20px;border-top:1px solid var(--line);margin-top:34px;font-size:11px}
.p2-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px 22px}

/* Hero B — editorial: Events / Kochkurse */
.p2-event-hero{
  position:relative;
  min-height:clamp(620px,74vh,820px);
  display:grid;
  align-items:end;
  overflow:hidden;
  background:#171815;
  color:#fff;
}
.p2-event-hero>figure{position:absolute;inset:0;margin:0}
.p2-event-hero>figure img{width:100%;height:100%;object-position:center 48%;filter:saturate(.76) brightness(.58)}
.p2-event-hero-copy{
  position:relative;z-index:1;
  padding-top:160px;
  padding-bottom:clamp(58px,6vw,88px);
}
.p2-event-hero h1{
  font-size:clamp(68px,6.1vw,96px);
  max-width:17ch;
  margin:18px 0 26px;
}
.p2-event-hero-copy>p{font-size:18px;line-height:1.55;color:rgba(255,255,255,.78);max-width:40ch;margin:0 0 24px}
.p2-event-hero .ek-kicker{color:rgba(255,255,255,.72)}

.p2-course-hero{padding:clamp(118px,10vw,154px) 0 0}
.p2-course-hero-copy{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);
  grid-template-areas:"kicker intro" "title intro" "action intro";
  column-gap:clamp(50px,7vw,110px);
  row-gap:14px;
  align-items:start;
  margin-bottom:clamp(42px,5vw,68px);
}
.p2-course-hero-copy>.ek-kicker{grid-area:kicker}
.p2-course-hero-copy h1{
  grid-area:title;
  font-size:clamp(68px,6.3vw,100px);
  max-width:15ch;
  margin:6px 0 0;
}
.p2-course-hero-copy>p{grid-area:intro;font-size:18px;line-height:1.55;color:var(--muted);max-width:38ch;margin:28px 0 0}
.p2-course-hero-copy>a{grid-area:action;justify-self:start;margin-top:8px}
.p2-course-hero-images{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(10px,1.1vw,18px);
}
.p2-course-hero-images figure{margin:0;aspect-ratio:var(--ratio-landscape);overflow:hidden}
.p2-course-hero-images img{width:100%;height:100%;filter:saturate(.88) contrast(1.03)}

/* Hero C — spatial: Location */
.p2-location-hero{padding:clamp(118px,10vw,154px) 0 0}
.p2-location-title{
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);
  grid-template-areas:"kicker copy" "title copy" "action copy";
  column-gap:clamp(50px,7vw,112px);
  row-gap:14px;
  align-items:start;
  margin-bottom:clamp(42px,5vw,66px);
}
.p2-location-title .ek-kicker{grid-area:kicker}
.p2-location-title h1{
  grid-area:title;
  font-size:clamp(70px,6.4vw,102px);
  max-width:11.5ch;
  margin:4px 0 0;
}
.p2-location-title>p{grid-area:copy;font-size:18px;line-height:1.55;color:var(--muted);max-width:38ch;margin:28px 0 0}
.p2-location-title>a{grid-area:action;justify-self:start;margin-top:8px}
.p2-location-hero>figure{
  width:min(calc(100% - 2*var(--layout-gutter)),1760px);
  margin:0 auto;
  aspect-ratio:var(--ratio-wide);
  overflow:hidden;
}
.p2-location-hero>figure img{width:100%;height:100%}

/* Statements */
.p2-manifesto,.p2-location-statement,.p2-course-statement{
  padding:clamp(70px,6vw,100px) 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.p2-manifesto .ek-wrap,.p2-location-statement .ek-wrap,.p2-course-statement .ek-wrap{display:grid;gap:18px}
.p2-manifesto p,.p2-location-statement p,.p2-course-statement p{
  font-family:var(--serif);
  font-size:clamp(48px,5.5vw,82px);
  line-height:1;
  letter-spacing:-.035em;
  max-width:18ch;
  margin:0;
}

/* Standard sections */
.p2-paths,.p2-courses,.p2-movements,.p2-included,.p2-event-modes,.p2-event-ops,
.p2-location-uses,.p2-career,.p2-ways,.p2-editorial,.p2-lukas-proof,.p2-event-location,
.p2-course-teacher,.p2-lukas-work,.p2-spatial,.p2-process,.p2-repertoire,.p2-partner,.p2-course-after{
  padding:var(--layout-section) 0;
}
.p2-process,.p2-repertoire,.p2-event-ops,.p2-course-after{background:var(--paper)}
.p2-section-title{margin-bottom:clamp(40px,5vw,66px)}
.p2-section-title h2{
  font-size:clamp(48px,4.8vw,74px);
  max-width:18ch;
  margin:14px 0 0;
}
.p2-section-title-row{display:flex;justify-content:space-between;align-items:end;gap:32px}


.p2-paths .p2-section-title h2{max-width:24ch}
.p2-paths .p2-section-title h2 span{white-space:nowrap}

/* Three ways / course cards — same visual grammar */
.p2-path-grid,.p2-course-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(20px,2.4vw,36px);
  align-items:start;
}
.p2-path,.p2-course-grid a{display:block;min-width:0}
.p2-path figure,.p2-course-grid figure{
  margin:0 0 18px;
  aspect-ratio:var(--ratio-portrait);
  overflow:hidden;
  background:#d8d2c8;
}
.p2-path figure img,.p2-course-grid figure img{width:100%;height:100%;filter:saturate(.88) contrast(1.025)}
.p2-path>span,.p2-course-grid time{font-size:9px;letter-spacing:.13em;color:var(--muted)}
.p2-path h3,.p2-course-grid h3{
  font-size:clamp(32px,3vw,48px);
  margin:10px 0 8px;
  max-width:100%;
}
.p2-path b{font-size:12px;border-bottom:1px solid currentColor;padding-bottom:5px}
.p2-course-grid a>span{font-size:12px;color:var(--muted)}

/* Signature image moments */
.p2-signature{
  position:relative;
  min-height:clamp(520px,68vh,760px);
  display:grid;
  align-items:end;
  overflow:hidden;
  background:#161714;
  color:#fff;
}
.p2-signature figure{position:absolute;inset:0;margin:0}
.p2-signature img{width:100%;height:100%;filter:saturate(.88) contrast(1.06)}
.p2-signature:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,11,9,.03) 28%,rgba(10,11,9,.64) 100%)}
.p2-signature>.ek-wrap{position:relative;z-index:2;padding-top:80px;padding-bottom:clamp(42px,5vw,70px)}
.p2-signature span{font-size:9px;letter-spacing:.16em;color:rgba(255,255,255,.72)}
.p2-signature p{
  font-size:clamp(58px,6.8vw,104px);
  line-height:.92;
  letter-spacing:-.06em;
  font-weight:500;
  max-width:13ch;
  margin:12px 0 0;
}
.p2-signature-food img{object-position:center 58%}
.p2-signature-event img{object-position:center 48%}
.p2-signature-fire img{object-position:center 52%}

/* Editorial split — one reusable split, no offsets */
.p2-editorial-grid{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);
  gap:clamp(48px,6vw,92px);
  align-items:center;
}
.p2-editorial-image{margin:0;aspect-ratio:var(--ratio-landscape);overflow:hidden}
.p2-editorial-image img{width:100%;height:100%}
.p2-editorial-copy{min-width:0}
.p2-editorial-copy h2{
  font-size:clamp(44px,4.4vw,68px);
  max-width:18ch;
  margin:16px 0 22px;
}
.p2-editorial-copy p{font-size:17px;line-height:1.6;color:var(--muted);max-width:39ch;margin:0 0 26px}

/* Process / repertoire */
.p2-process-grid{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:clamp(52px,7vw,104px);
  align-items:start;
}
.p2-two-beat span{display:block;white-space:nowrap}
.p2-process-grid h2,.p2-repertoire-grid h2{
  font-size:clamp(48px,4.9vw,76px);
  max-width:14ch;
  margin:16px 0 20px;
}
.p2-process-grid>div>p,.p2-repertoire-grid>div>p{color:var(--muted);max-width:38ch}
.p2-process-list{border-top:1px solid var(--ink);min-width:0}
.p2-process-list p{
  display:grid;
  grid-template-columns:100px minmax(0,1fr);
  gap:22px;
  margin:0;
  padding:18px 0;
  border-bottom:1px solid var(--line);
  font-family:var(--serif);
  font-size:clamp(21px,2vw,30px);
  line-height:1.12;
}
.p2-process-list p span{font-family:var(--sans);font-size:9px;letter-spacing:.12em;color:var(--muted);text-transform:uppercase;padding-top:5px}
.p2-repertoire-grid{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  grid-template-areas:"intro list" "image list";
  gap:28px clamp(52px,7vw,104px);
  align-items:start;
}
.p2-repertoire-grid>div:first-child{grid-area:intro}
.p2-repertoire-grid>.p2-process-list{grid-area:list}
.p2-repertoire-grid>figure{grid-area:image;margin:0;width:min(100%,390px);aspect-ratio:var(--ratio-detail);overflow:hidden}
.p2-repertoire-grid>figure img{width:100%;height:100%}

/* Ledgers */
.p2-movement-list,.p2-info-ledger,.p2-mode-sequence,.p2-career-ledger{border-top:1px solid var(--ink)}
.p2-movement-list article{
  display:grid;
  grid-template-columns:110px minmax(0,1fr);
  gap:24px;
  padding:26px 0;
  border-bottom:1px solid var(--line);
}
.p2-movement-list article>span,.p2-career-ledger article>span{font-size:9px;letter-spacing:.12em;color:var(--muted);padding-top:6px}
.p2-movement-list h3{font-size:clamp(30px,3vw,46px);margin:0 0 7px}
.p2-movement-list p{color:var(--muted);max-width:58ch;margin:0}
.p2-info-ledger p{
  display:grid;
  grid-template-columns:110px minmax(0,1fr);
  gap:24px;
  margin:0;
  padding:18px 0;
  border-bottom:1px solid var(--line);
}
.p2-info-ledger span{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);padding-top:3px}
.p2-info-ledger strong{font-family:var(--serif);font-size:clamp(20px,2vw,29px);font-weight:400;line-height:1.14}
.p2-mode-sequence p{
  display:grid;
  grid-template-columns:minmax(170px,.35fr) minmax(0,.65fr);
  gap:28px;
  padding:20px 0;
  margin:0;
  border-bottom:1px solid var(--line);
  font-family:var(--serif);
  font-size:clamp(21px,2.2vw,32px);
  line-height:1.12;
}
.p2-mode-sequence span{font-family:var(--sans);font-size:13px;font-weight:600}
.p2-career-ledger article{
  display:grid;
  grid-template-columns:minmax(140px,.22fr) minmax(0,.53fr) minmax(180px,.25fr);
  gap:28px;
  padding:26px 0;
  border-bottom:1px solid var(--line);
  align-items:start;
}
.p2-career-ledger h3{font-family:var(--serif);font-size:clamp(22px,2.1vw,32px);font-weight:400;line-height:1.16;margin:0}
.p2-career-ledger p{font-size:13px;color:var(--muted);margin:0}

/* Event galleries — aligned, no stagger */
.p4-event-gallery,.p4-lukas-gallery{padding:var(--layout-section-compact) 0}
.p4-event-gallery-head,.p4-lukas-gallery-head{
  display:grid;
  grid-template-columns:minmax(0,.35fr) minmax(0,.65fr);
  gap:32px;
  align-items:end;
  margin-bottom:28px;
}
.p4-event-gallery-head p,.p4-lukas-gallery-head p{margin:0;color:var(--muted);max-width:46ch}
.p4-event-gallery-grid,.p4-lukas-gallery-grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  gap:14px;
  align-items:stretch;
}
.p4-event-gallery-grid figure,.p4-lukas-gallery-grid figure{margin:0;aspect-ratio:var(--ratio-portrait);overflow:hidden}
.p4-event-gallery-grid .p4-event-gallery-main,.p4-lukas-gallery-grid .p4-lukas-gallery-main{aspect-ratio:var(--ratio-landscape)}
.p4-event-gallery-grid img,.p4-lukas-gallery-grid img{width:100%;height:100%}

/* Corporate secondary path */
.ek-corporate-path{padding:var(--layout-section-compact) 0;background:var(--paper);border-block:1px solid var(--line)}
.ek-corporate-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);gap:clamp(48px,7vw,100px);align-items:end}
.ek-corporate-inner h2{font-size:clamp(46px,4.8vw,72px);margin:14px 0 0;max-width:12ch}
.ek-corporate-inner p{margin:0 0 18px;color:var(--muted);max-width:40ch}
.ek-proof-source{display:inline-flex;margin-top:12px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-decoration:underline;text-underline-offset:4px}
.ek-price-note{margin-top:20px;padding-top:18px;border-top:1px solid var(--line);font-size:13px;line-height:1.55;color:var(--muted);max-width:62ch}

/* Location */
.p2-spatial-grid{
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);
  grid-template-areas:"main copy" "main detail";
  gap:24px clamp(52px,7vw,104px);
  align-items:start;
}
.p2-spatial-main{grid-area:main;margin:0;aspect-ratio:var(--ratio-portrait);overflow:hidden}
.p2-spatial-copy{grid-area:copy;padding-top:10px}
.p2-spatial-copy h2{font-size:clamp(46px,4.7vw,72px);max-width:14ch;margin:16px 0 20px}
.p2-spatial-copy p{color:var(--muted);max-width:39ch}
.p2-spatial-detail{grid-area:detail;margin:0;aspect-ratio:var(--ratio-landscape);overflow:hidden}
.p2-spatial-grid img{width:100%;height:100%}
.p2-partner{padding:36px 0;background:var(--ink);color:#fff}
.p2-partner h2{font-size:clamp(38px,3.7vw,56px);max-width:22ch}
.p2-partner .ek-kicker,.p2-partner p,.p2-partner small{color:#c8c6bf}
.p2-partner strong{color:#fff}
.p2-partner small{display:block;margin-top:24px;font-size:11px}

/* Quote / ways */
.p2-quote{padding:clamp(70px,6vw,100px) 0;background:var(--paper)}
.p2-quote blockquote{font-family:var(--serif);font-size:clamp(46px,5.5vw,82px);line-height:1;letter-spacing:-.03em;margin:20px 0 30px;max-width:17ch}
.p2-quote small{color:var(--muted)}
.p2-way-links{border-top:1px solid var(--ink);margin-top:28px}
.p2-way-links a{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);font-size:clamp(40px,4.5vw,68px);font-weight:500;letter-spacing:-.05em;padding:20px 0}
.p2-way-links a span{font-size:.42em}

/* Home location image */
.p2-location-tease{
  position:relative;
  min-height:clamp(520px,64vh,720px);
  display:grid;
  align-items:end;
  overflow:hidden;
  background:#161714;
  color:#fff;
}
.p2-location-tease>figure{position:absolute;inset:0;margin:0}
.p2-location-tease>figure img{width:100%;height:100%;filter:saturate(.74) brightness(.66)}
.p2-location-overlay{position:relative;z-index:1;padding-top:80px;padding-bottom:56px}
.p2-location-overlay>span{font-size:9px;letter-spacing:.15em;color:rgba(255,255,255,.72)}
.p2-location-overlay h2{font-size:clamp(50px,5.2vw,82px);max-width:16ch;margin:14px 0 22px;color:#fff}

/* Final CTA */
.p2-final{
  padding-block:clamp(70px,7vw,108px);
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(240px,.8fr);
  grid-template-areas:"kicker action" "headline action";
  gap:14px clamp(44px,7vw,100px);
  align-items:end;
}
.p2-final>.ek-kicker{grid-area:kicker}
.p2-final h2{grid-area:headline;font-size:clamp(52px,5.5vw,84px);max-width:18ch;margin:0}
.p2-final>div,.p2-final>a{grid-area:action;align-self:end}
.p2-final>div{display:grid;gap:10px;justify-items:start}

/* Course list — fixed columns, no floating imagery */
.ek-course-program{padding-top:var(--layout-section)}
.ek-course-toolbar{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:24px}
.ek-course-toolbar h2{font-size:clamp(46px,4.6vw,70px);margin:14px 0 0}
.ek-course-tabs{display:flex;gap:18px}
.ek-course-tabs button{border:0;border-bottom:1px solid transparent;padding:7px 0;min-height:44px;cursor:pointer;color:var(--muted);font-size:13px}
.ek-course-tabs button[aria-pressed=true]{color:var(--ink);border-color:var(--ink)}
.ek-course-list{border-top:1px solid var(--line)}
.ek-course-row{
  display:grid;
  grid-template-columns:100px minmax(0,1.45fr) 140px 135px minmax(130px,.72fr);
  gap:clamp(16px,2vw,28px);
  align-items:center;
  padding:26px 0;
  border-bottom:1px solid var(--line);
}
.ek-course-row[hidden]{display:none}
.ek-course-row>time{font-size:clamp(27px,2.6vw,40px);line-height:.95;font-weight:500}
.ek-course-row>time small{display:block;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:7px}
.course-statusline{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:7px}
.status-badge{display:inline-flex;align-items:center;gap:8px;font-size:9px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.status-badge:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--muted)}
.status-badge[data-status=frei]:before{background:var(--green)}
.status-badge[data-status=knapp]:before,.status-badge[data-status=angekuendigt]:before{background:var(--brass)}
.ek-course-copy h3{font-size:clamp(28px,2.8vw,42px);margin:0 0 7px;max-width:18ch}
.ek-course-copy p{margin:0;color:var(--muted);font-size:13px;max-width:52ch}
.ek-course-price{font-size:16px;font-weight:500;white-space:nowrap}
.ek-course-price small{display:block;font-size:10px;color:var(--muted);font-weight:500;margin-top:5px}
.ek-course-actions{display:grid;gap:5px;justify-items:start;min-width:0}
.ek-course-actions a{font-size:12px;color:var(--muted);padding:4px 0}
.ek-course-row figure{margin:0;aspect-ratio:var(--ratio-landscape);overflow:hidden}
.ek-course-row figure img{width:100%;height:100%;filter:saturate(.86) contrast(1.02)}
.course-empty{border-bottom:1px solid var(--line);padding:34px 0;color:var(--muted)}

/* Course detail */
.ek-detail-hero{padding-top:72px}
.ek-detail-title{
  display:grid;
  grid-template-columns:160px minmax(0,1fr) 210px;
  gap:clamp(30px,4vw,60px);
  align-items:end;
  padding:clamp(48px,5vw,76px) 0;
}
.ek-detail-title time{display:flex;gap:12px;align-items:flex-end}
.ek-detail-title time strong{font-size:clamp(76px,7vw,112px);line-height:.78;letter-spacing:-.07em}
.ek-detail-title time>span{font-size:20px;font-weight:600}.ek-detail-title time small{display:block;font-size:9px;letter-spacing:.11em;color:var(--muted);margin-top:8px}
.ek-detail-title h1{font-size:clamp(52px,4.7vw,76px);max-width:18ch;margin:12px 0 18px}
.ek-detail-title p{color:var(--muted);max-width:44ch;margin:0 0 20px}
.ek-detail-title aside{border-top:1px solid var(--line);padding-top:14px}.ek-detail-title aside strong{display:block;font-size:25px}.ek-detail-title aside span{font-size:11px;color:var(--muted)}
.ek-detail-photo{margin:0;aspect-ratio:var(--ratio-wide);overflow:hidden}.ek-detail-photo img{width:100%;height:100%}
.p2-detail-signature{overflow:hidden}.p2-detail-signature figure{margin:0;aspect-ratio:var(--ratio-wide)}.p2-detail-signature img{width:100%;height:100%}
.ek-course-menu-line{margin:16px 0 0;max-width:40ch;font-family:var(--serif);font-size:clamp(24px,2.2vw,34px);line-height:1.18;color:var(--muted)}
.ek-detail-book{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:36px;align-items:end}
.ek-detail-book h2{font-size:clamp(38px,3.8vw,58px);max-width:22ch;margin:14px 0 16px}
.ek-detail-book p{color:var(--muted);max-width:48ch}

.ek-two-beat-heading span,.config-two-beat span,.location-tease-heading span,.lukas-final-heading span{white-space:nowrap}
.ek-two-beat-heading span,.config-two-beat span{display:block}

 /* Corporate editorial / generic pages */
.ek-editorial-hero{padding-top:72px}
.ek-editorial-title{
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);
  gap:clamp(48px,7vw,104px);
  align-items:end;
  padding:clamp(54px,6vw,88px) 0;
}
.ek-editorial-title h1{font-size:clamp(62px,5.5vw,88px);max-width:16ch;margin:0}
.ek-editorial-title>div p{color:var(--muted);font-size:17px;max-width:40ch;margin:0 0 24px}
.ek-wide-photo{margin:0;aspect-ratio:var(--ratio-wide);overflow:hidden}.ek-wide-photo img{width:100%;height:100%}
.ek-section{padding:var(--layout-section) 0}.ek-section-tight{padding:var(--layout-section-compact) 0}
.ek-section-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);grid-template-areas:"kicker copy" "title copy";gap:14px clamp(44px,6vw,88px);align-items:start;margin-bottom:clamp(42px,5vw,70px)}
.ek-section-head>.ek-kicker,.ek-section-head>.eyebrow{grid-area:kicker}.ek-section-head h2{grid-area:title;font-size:clamp(46px,4.6vw,70px);max-width:15ch;margin:0}.ek-section-head p{grid-area:copy;margin:24px 0 0;color:var(--muted);font-size:15px;max-width:42ch}
.ek-two-col{display:grid;grid-template-columns:1fr 1fr;gap:clamp(48px,7vw,104px);align-items:start}.ek-two-col h2{font-size:clamp(40px,4vw,60px);max-width:20ch;margin:14px 0 20px}.ek-two-col>div:first-child>p{max-width:46ch;color:var(--muted)}
.ek-format-list{border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr)}.ek-format-list article{padding:28px 26px 34px 0;border-bottom:1px solid var(--line)}.ek-format-list article+article{border-left:1px solid var(--line);padding-left:26px}.ek-format-list h3{font-size:clamp(28px,2.8vw,42px);margin:0 0 16px}.ek-format-list p{color:var(--muted);max-width:32ch}
.ek-format-four{grid-template-columns:repeat(4,1fr)}
.ek-proof-strip{border-bottom:1px solid var(--line);padding:0}.ek-proof-strip .ek-wrap{display:grid;grid-template-columns:repeat(3,1fr)}.ek-proof-strip .ek-wrap>div{padding:26px 26px 28px 0}.ek-proof-strip .ek-wrap>div+div{border-left:1px solid var(--line);padding-left:26px}.ek-proof-strip span{display:block;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}.ek-proof-strip strong{font-size:19px}
.ek-proof-cases{display:grid;grid-template-columns:1fr 1fr;gap:clamp(38px,7vw,110px);margin-top:28px}.ek-proof-cases article{padding-top:20px;border-top:1px solid var(--line)}.ek-proof-cases h2{font-size:clamp(32px,3.6vw,52px);margin:0 0 16px}.ek-proof-cases p{color:var(--muted);max-width:46ch}

/* Contact hero */
.ek-contact{padding:72px 0 clamp(72px,7vw,108px)}
.ek-contact-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(50px,7vw,104px);align-items:start;padding-top:clamp(50px,6vw,82px)}
.ek-contact-copy h1{font-size:clamp(54px,4.9vw,78px);max-width:19ch;margin:0}
.ek-contact-copy>p{color:var(--muted);font-size:17px;max-width:40ch;margin:26px 0}


.ek-final{background:var(--green-deep);color:#F8F6F0;padding:clamp(70px,7vw,108px) 0}
.ek-final-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);gap:clamp(44px,7vw,100px);align-items:center}
.ek-final-grid h2{font-size:clamp(42px,4.2vw,64px);line-height:.98;max-width:22ch;margin:14px 0 22px;color:#F8F6F0}
.ek-final-grid p{color:#B9BDB7;max-width:38ch;margin:0 0 22px}
.ek-final-grid figure{margin:0;aspect-ratio:var(--ratio-landscape);overflow:hidden}
.ek-final-grid figure img{width:100%;height:100%;filter:saturate(.74)}
.ek-final .ek-kicker{color:#B9BDB7}

/* Footer layout normalization */

/* Responsive contract */
@media(max-width:1100px){
  :root{--layout-gutter:32px;--layout-section:96px}
  .navlinks,.nav-cta{display:none}.menu-toggle{display:block}
  .p2-hero-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.82fr);gap:42px}
  .p2-hero-copy h1{font-size:clamp(58px,6.6vw,74px)}
  .p2-course-hero-copy,.p2-location-title{grid-template-columns:minmax(0,1fr) minmax(280px,.82fr);column-gap:42px}
  .p2-course-hero-copy h1,.p2-location-title h1{font-size:clamp(58px,6.6vw,76px)}
  .ek-course-row{grid-template-columns:90px minmax(0,1fr) 120px}
  .ek-course-row figure{display:none}
  .ek-course-actions{grid-column:2/4;display:flex;gap:16px}
  .p4-event-gallery-grid,.p4-lukas-gallery-grid{grid-template-columns:1.5fr 1fr 1fr}
}
@media(max-width:820px){
  :root{--layout-gutter:24px;--layout-section:82px}
  .p2-hero-grid,.p2-course-hero-copy,.p2-location-title,.p2-editorial-grid,.p2-process-grid,.p2-repertoire-grid,.p2-spatial-grid,
  .ek-corporate-inner,.ek-editorial-title,.ek-two-col,.ek-contact-grid{grid-template-columns:1fr;grid-template-areas:none}
  .ek-section-head{display:block}
  .ek-section-head>.ek-kicker,.ek-section-head>.eyebrow,.ek-section-head h2,.ek-section-head p{grid-area:auto}
  .ek-section-head p{margin-top:18px}
  .p2-hero{padding-top:100px}
  .p2-hero-copy h1,.p2-event-hero h1,.p2-course-hero-copy h1,.p2-location-title h1,.ek-editorial-title h1,.ek-contact-copy h1{
    font-size:clamp(52px,8vw,68px);
    max-width:15ch;
  }
  .p2-hero-image{width:min(100%,620px);aspect-ratio:var(--ratio-landscape)}
  .p2-lukas img{object-position:center 22%}
  .p2-course-hero-copy>.ek-kicker,.p2-course-hero-copy h1,.p2-course-hero-copy>p,.p2-course-hero-copy>a,
  .p2-location-title .ek-kicker,.p2-location-title h1,.p2-location-title>p,.p2-location-title>a{grid-area:auto}
  .p2-course-hero-copy>p,.p2-location-title>p{margin-top:8px}
  .p2-course-hero-images{grid-template-columns:1fr 1fr}.p2-course-hero-images figure:nth-child(3){display:none}
  .p2-path-grid,.p2-course-grid{grid-template-columns:1fr 1fr}
  .p2-path-grid>*:last-child,.p2-course-grid>*:last-child{grid-column:1/-1;width:50%}
  .p2-editorial-image{aspect-ratio:var(--ratio-landscape)}
  .p2-repertoire-grid>div:first-child,.p2-repertoire-grid>.p2-process-list,.p2-repertoire-grid>figure{grid-area:auto}
  .p2-repertoire-grid>figure{width:min(100%,420px)}
  .p2-spatial-main{grid-area:auto;aspect-ratio:var(--ratio-landscape)}.p2-spatial-copy,.p2-spatial-detail{grid-area:auto}.p2-spatial-detail{width:min(100%,480px)}
  .p4-event-gallery-grid,.p4-lukas-gallery-grid{grid-template-columns:1fr 1fr}.p4-event-gallery-grid .p4-event-gallery-main,.p4-lukas-gallery-grid .p4-lukas-gallery-main{grid-column:1/-1}
  .p2-career-ledger article{grid-template-columns:140px minmax(0,1fr)}.p2-career-ledger p{grid-column:2}
  .ek-format-list,.ek-format-four{grid-template-columns:1fr 1fr}
  .ek-proof-strip .ek-wrap{grid-template-columns:1fr 1fr}.ek-proof-strip .ek-wrap>div:last-child{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding-left:0}
  .ek-detail-title{grid-template-columns:130px minmax(0,1fr)}.ek-detail-title aside{grid-column:2}
  .p2-final{grid-template-columns:1fr;grid-template-areas:"kicker" "headline" "action"}
  .ek-final-grid{grid-template-columns:1fr 1fr;gap:36px}
  .footer-main{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-links,.footer-contact{grid-column:auto}
}
@media(max-width:700px){
  :root{--layout-gutter:20px;--layout-section:68px;--layout-section-compact:56px}
  .ek-editorial-title h1.ek-two-beat-heading{font-size:clamp(38px,9.6vw,42px)}
  body{font-size:15.5px}
  .header{height:64px}
  .p2-hero,.p2-course-hero,.p2-location-hero{padding-top:92px}
  .p2-hero-grid{gap:28px}
  .p2-hero-copy h1,.p2-event-hero h1,.p2-course-hero-copy h1,.p2-location-title h1,.ek-editorial-title h1,.ek-contact-copy h1{
    font-size:clamp(44px,12vw,54px);
    line-height:.96;
    letter-spacing:-.055em;
    max-width:100%;
  }
  .p2-hero-copy>p,.p2-event-hero-copy>p,.p2-course-hero-copy>p,.p2-location-title>p{font-size:15.5px;max-width:34ch}
  .p2-hero-image{width:100%;aspect-ratio:var(--ratio-portrait)}
  .p2-proofline{display:grid;gap:7px;margin-top:22px}
  .p2-manifesto,.p2-location-statement,.p2-course-statement{padding:60px 0}
  .p2-manifesto p,.p2-location-statement p,.p2-course-statement p{font-size:clamp(38px,10.5vw,48px);max-width:14ch}
  .p2-paths .p2-section-title h2 span{display:block}
  .p2-section-title{margin-bottom:32px}.p2-section-title h2,.p2-editorial-copy h2,.p2-process-grid h2,.p2-repertoire-grid h2,.p2-spatial-copy h2,
  .ek-section-head h2,.ek-two-col h2{
    font-size:clamp(38px,10.5vw,48px);
    line-height:1;
    max-width:100%;
  }
  .p2-section-title-row{display:grid;align-items:start;gap:16px}
  .p2-path-grid,.p2-course-grid{grid-template-columns:1fr;gap:36px}.p2-path-grid>*:last-child,.p2-course-grid>*:last-child{grid-column:auto;width:auto}
  .p2-path figure,.p2-course-grid figure{aspect-ratio:var(--ratio-landscape)}
  .p2-path h3,.p2-course-grid h3{font-size:34px}
  .p2-signature{min-height:520px}.p2-signature p{font-size:clamp(44px,12vw,56px);line-height:.96}
  .p2-process-list p{grid-template-columns:76px minmax(0,1fr);gap:12px;font-size:20px}
  .p2-movement-list article,.p2-info-ledger p,.p2-mode-sequence p,.p2-career-ledger article{grid-template-columns:1fr;gap:7px;padding:20px 0}
  .p2-career-ledger p{grid-column:auto}
  .p4-event-gallery-head,.p4-lukas-gallery-head{grid-template-columns:1fr;gap:10px}
  .p4-event-gallery-grid,.p4-lukas-gallery-grid{grid-template-columns:1fr 1fr;gap:10px}
  .p4-event-gallery-grid figure,.p4-lukas-gallery-grid figure{aspect-ratio:var(--ratio-detail)}
  .p4-event-gallery-grid .p4-event-gallery-main,.p4-lukas-gallery-grid .p4-lukas-gallery-main{grid-column:1/-1;aspect-ratio:var(--ratio-landscape)}
  .p2-event-hero{min-height:620px}.p2-event-hero-copy{padding-top:120px;padding-bottom:44px}
  .p2-course-hero-copy{gap:12px;margin-bottom:30px}.p2-course-hero-images{grid-template-columns:1fr 1fr;gap:8px}.p2-course-hero-images figure{aspect-ratio:var(--ratio-portrait)}
  .p2-location-hero>figure{width:calc(100% - 2*var(--layout-gutter));aspect-ratio:var(--ratio-portrait)}
  .p2-partner{padding:36px 0}
  .p2-spatial-main{aspect-ratio:var(--ratio-portrait)}
  .p2-quote blockquote{font-size:clamp(38px,10.5vw,48px);max-width:15ch}
  .p2-way-links a{font-size:38px;padding:18px 0}
  .p2-location-tease{min-height:520px}.p2-location-overlay h2{font-size:clamp(40px,10.4vw,48px);max-width:100%}
  .location-tease-heading span,.lukas-final-heading span{display:block}
  .p2-partner h2{font-size:36px;max-width:100%;white-space:nowrap}
  .p2-final{padding-block:62px}.p2-final h2{font-size:clamp(42px,11vw,52px);max-width:100%}
  .ek-course-toolbar{display:grid;align-items:start}.ek-course-toolbar h2{font-size:38px;white-space:nowrap}
  .ek-course-row{grid-template-columns:82px minmax(0,1fr);gap:12px 16px;padding:26px 0}.ek-course-row>time{font-size:26px}.ek-course-price,.ek-course-actions{grid-column:2}.ek-course-copy h3{font-size:32px;max-width:100%}
  .ek-detail-title{grid-template-columns:1fr;padding:34px 0}.ek-detail-title aside{grid-column:1}.ek-detail-title h1{font-size:clamp(44px,12vw,54px);max-width:100%}.ek-detail-title time strong{font-size:84px}.ek-detail-photo,.p2-detail-signature figure{aspect-ratio:var(--ratio-landscape)}
  .ek-course-menu-line{font-size:22px;max-width:100%}
  .ek-editorial-title{padding:36px 0 30px;gap:22px}.ek-wide-photo{aspect-ratio:var(--ratio-portrait)}
  .ek-section-head{display:block}.ek-section-head p{margin-top:18px}.ek-two-col{gap:32px}
  .ek-format-list,.ek-format-four{grid-template-columns:1fr}.ek-format-list article,.ek-format-list article+article{border-left:0;padding:22px 0}
  .ek-proof-strip .ek-wrap{grid-template-columns:1fr}.ek-proof-strip .ek-wrap>div,.ek-proof-strip .ek-wrap>div+div{border-left:0;border-top:1px solid var(--line);padding:20px 0}.ek-proof-strip .ek-wrap>div:first-child{border-top:0}.ek-proof-cases{grid-template-columns:1fr;gap:28px}
  .ek-contact{padding-top:64px}.ek-contact-grid{padding-top:36px;gap:34px}
  .ek-detail-book{grid-template-columns:1fr;gap:20px}.ek-detail-book h2{font-size:34px;line-height:1.04;max-width:100%}.ek-detail-book .btn{justify-self:start}
  .ek-final-grid{grid-template-columns:1fr;gap:28px}.ek-final-grid h2{font-size:clamp(36px,9.8vw,44px);line-height:1.02;max-width:100%}.ek-final-grid figure{aspect-ratio:var(--ratio-landscape)}
  .footer-main{grid-template-columns:1fr}.footer-brand,.footer-links,.footer-contact{grid-column:auto}.footer-meta{flex-direction:column}
  .ek-corporate-inner{display:block}.ek-corporate-inner h2{font-size:44px;margin-top:14px}.ek-corporate-inner p{margin-top:18px}
}
@media(max-width:410px){
  :root{--layout-gutter:18px}
  .p2-hero-copy h1,.p2-event-hero h1,.p2-course-hero-copy h1,.p2-location-title h1,.ek-editorial-title h1,.ek-contact-copy h1{font-size:44px}
}



/* Interaction responsive rules */
@media(max-width:1100px){
  .config-hero-grid{grid-template-columns:1fr}.config-hero-note{max-width:520px}
  .config-layout{grid-template-columns:1fr}.config-ticket-rail{display:none}.config-main{padding-bottom:74px}
  .mobile-ticket-trigger{position:fixed;display:flex;z-index:90;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));min-height:56px;border:1px solid #D0C8BB;background:#FFFCF7;color:var(--ink);padding:8px 16px;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 12px 36px rgba(23,22,19,.16);cursor:pointer}
  .mobile-ticket-trigger span{font-size:11px;font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase}.mobile-ticket-trigger strong{font-size:17px;font-weight:600}
  .result-mobile-ticket{display:block;max-width:520px}.config-contact{grid-template-columns:1fr}
}
@media(min-width:1101px) and (max-width:1280px){
  .config-contact{grid-template-columns:1fr}
}
@media(max-width:700px){
  .mobile-panel{padding:88px var(--layout-gutter) calc(28px + env(safe-area-inset-bottom))}
  .mobile-panel nav a{font-size:clamp(38px,11.5vw,50px);line-height:.98;padding:12px 0;letter-spacing:-.05em}
  .dialog-form,.optional-fields,.alarm-options{grid-template-columns:1fr}.dialog-form .field.full{grid-column:1}.course-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px)}
  .config-hero{padding-top:104px}.config-hero h1{font-size:clamp(44px,12vw,54px);line-height:.96;max-width:100%}.config-progress{grid-template-columns:44px 1fr}.config-share{display:none}.config-urgent{grid-template-columns:1fr}
  .config-step{padding-top:44px}.config-step h2{font-size:40px;line-height:1;max-width:100%}
  .option-grid,.cuisine-grid,.extras-grid{grid-template-columns:1fr}.select-card:nth-child(even),.cuisine-grid button:nth-child(even),.extra-card:nth-child(even){padding-left:0;border-left:0}.option-open{grid-column:auto}
  .guest-control{width:100%;grid-template-columns:50px minmax(0,1fr) 50px}.guest-control output{font-size:56px}
  .date-modes{display:grid;grid-template-columns:1fr}.date-modes button{text-align:left}.location-field{grid-template-columns:1fr}.format-option{grid-template-columns:1fr;gap:5px}.kitchen-grid{grid-template-columns:1fr}
  .config-contact form{grid-template-columns:1fr}.config-contact .field.full,.config-contact .full{grid-column:1}.config-thanks{padding:26px 0}.config-thanks h3{font-size:38px}.result-actions .btn{flex:1 1 180px}
  .excellence-form fieldset{grid-template-columns:1fr}.excellence-form .field.full,.excellence-form .consent-row.full,.excellence-form .form-note.full,.excellence-form .form-status.full{grid-column:1}
  .form-step-actions{align-items:flex-start;flex-direction:column-reverse}.form-step-actions .btn{width:100%}
  .ek-contract-note .ek-wrap{grid-template-columns:1fr;gap:15px}.ek-contract-note .ek-link{justify-self:start}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.navlinks a:after,.mobile-conversion-bar,.progress-track i,.btn,.ek-link{transition:none}}
@media(max-width:640px){.consent-row{grid-template-columns:22px minmax(0,1fr);gap:12px;font-size:15px;line-height:1.5;color:var(--ink);padding:4px 0}.consent-row input{width:20px;height:20px;min-height:20px;margin-top:1px}.config-contact .consent-row,.excellence-form .consent-row{font-size:15px;font-weight:500}.consent-row .field-error{grid-column:2;margin-top:2px}}
@media print{body.configurator-page>*:not(main){display:none}.config-hero,.config-progress,.config-urgent,.config-step:not(.config-result),.config-contact,.config-thanks,.mobile-ticket-trigger{display:none}.config-layout{display:block}.config-ticket-rail{display:block;border:0;padding:0}.config-ticket-sticky{position:static}.ek-ticket{width:150mm;margin:20mm auto}.config-workspace{padding:0}}


/* v11 responsive image art direction */
.p2-event-hero figure>picture,
.p2-location-hero>figure>picture,
.p2-location-tease>figure>picture,
.p2-course-hero-images figure>picture,
.ek-wide-photo>picture{
  display:block;
  width:100%;
  height:100%;
}

.config-soft-note{max-width:48rem;margin:.55rem 0 1.35rem;color:var(--ink-soft,#655f58);font-size:.94rem;line-height:1.55}.p2-gift-tease{padding:clamp(72px,8vw,132px) 0;background:var(--paper,#f7f3ec)}@media(max-width:700px){.navlinks a[href="gutscheine.html"]{display:none}}

/* v72 — editorial gifting + event-plan first decision */
.p2-gift-stage{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);align-items:center;gap:clamp(42px,6vw,104px)}
.p2-gift-copy{padding:clamp(18px,3vw,44px) 0}.p2-gift-copy h2{font-family:var(--serif);font-weight:400;font-size:clamp(3.1rem,5.8vw,6.8rem);line-height:.9;letter-spacing:-.045em;margin:.8rem 0 1.5rem}.p2-gift-copy h2 em{font-weight:400}.p2-gift-copy p{max-width:33rem;font-size:clamp(1rem,1.25vw,1.18rem);line-height:1.65;margin-bottom:1.6rem}.p2-gift-image{margin:0;aspect-ratio:4/3;overflow:hidden}.p2-gift-image img,.p2-gift-image picture{display:block;width:100%;height:100%;object-fit:cover}
.gift-hero{padding:clamp(120px,13vw,190px) 0 clamp(72px,9vw,132px)}.gift-hero-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(46px,7vw,120px);align-items:center}.gift-hero-copy h1{font-family:var(--serif);font-size:clamp(4.2rem,8.4vw,9.6rem);font-weight:400;line-height:.84;letter-spacing:-.055em;margin:1rem 0 1.6rem}.gift-hero-copy h1 em{font-weight:400}.gift-hero-copy>p{max-width:28rem;font-size:clamp(1.08rem,1.5vw,1.35rem);line-height:1.55}.gift-hero-actions{display:flex;gap:1.4rem;flex-wrap:wrap;margin-top:2.2rem}.gift-hero-image{margin:0;min-height:min(68vh,760px);overflow:hidden}.gift-hero-image picture,.gift-hero-image img{display:block;width:100%;height:100%;object-fit:cover}
.gift-thought{padding:clamp(86px,10vw,160px) 0}.gift-thought-inner{display:grid;grid-template-columns:1fr 3fr;gap:clamp(28px,6vw,100px);align-items:start}.gift-thought p{font-family:var(--serif);font-size:clamp(2.8rem,5.6vw,6.5rem);line-height:.95;letter-spacing:-.04em;max-width:15ch;margin:0}
.gift-options{padding:clamp(76px,9vw,140px) 0;border-top:1px solid var(--line)}.gift-options-head{display:grid;grid-template-columns:1fr 3fr;gap:clamp(28px,6vw,100px);margin-bottom:clamp(42px,6vw,90px)}.gift-options-head h2{font-family:var(--serif);font-size:clamp(2.8rem,5vw,5.8rem);font-weight:400;line-height:.95;letter-spacing:-.04em;margin:0}.gift-option-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.gift-option-grid article{padding:clamp(28px,3.8vw,58px) clamp(18px,3vw,46px) clamp(28px,4vw,60px) 0;border-bottom:1px solid var(--line)}.gift-option-grid article+article{border-left:1px solid var(--line);padding-left:clamp(18px,3vw,46px)}.gift-option-grid article>span{font-size:.75rem;letter-spacing:.13em}.gift-option-grid h3{font-family:var(--serif);font-size:clamp(1.8rem,2.7vw,3.1rem);font-weight:400;line-height:1.02;margin:2.2rem 0 1.1rem}.gift-option-grid p{max-width:27rem;line-height:1.65;min-height:5.2em}.gift-memory{display:grid;grid-template-columns:1.05fr .95fr;min-height:700px;background:var(--ink);color:var(--paper)}.gift-memory figure{margin:0;min-height:700px;overflow:hidden}.gift-memory img{width:100%;height:100%;object-fit:cover}.gift-memory-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(48px,7vw,110px)}.gift-memory-copy h2{font-family:var(--serif);font-size:clamp(3rem,5vw,5.8rem);font-weight:400;line-height:.92;letter-spacing:-.04em;margin:1rem 0 1.6rem}.gift-memory-copy h2 em{font-weight:400}.gift-memory-copy p{max-width:31rem;line-height:1.65;color:rgba(247,243,236,.78)}
@media(max-width:900px){.p2-gift-stage,.gift-hero-grid,.gift-memory{grid-template-columns:1fr}.gift-thought-inner,.gift-options-head{grid-template-columns:1fr}.gift-option-grid{grid-template-columns:1fr}.gift-option-grid article+article{border-left:0;padding-left:0}.gift-option-grid p{min-height:0}.gift-memory figure{min-height:520px}.gift-memory-copy{padding:64px 6vw 78px}.gift-hero-image{min-height:520px}}
@media(max-width:700px){.p2-gift-tease{padding:72px 0}.p2-gift-stage{gap:34px}.p2-gift-copy{order:1}.p2-gift-image{order:2;aspect-ratio:4/5}.gift-hero{padding:112px 0 68px}.gift-hero-grid{gap:38px}.gift-hero-copy h1{font-size:clamp(3.8rem,17vw,6.2rem)}.gift-hero-image{min-height:0;aspect-ratio:4/5}.gift-thought{padding:82px 0}.gift-thought p{font-size:clamp(2.6rem,13vw,4.6rem)}.gift-options{padding:68px 0 80px}.gift-options-head{margin-bottom:38px}.gift-memory{min-height:0}.gift-memory figure{min-height:0;aspect-ratio:4/5}.gift-memory-copy{padding:54px 5.5vw 70px}}


/* v75 — orientation, proof and conversion components */
.p2-facts{border-block:1px solid var(--line);background:var(--paper)}
.p2-facts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));padding-block:22px}
.p2-fact{min-width:0;padding:5px clamp(16px,2.4vw,34px);border-left:1px solid var(--line)}
.p2-fact:first-child:not([hidden]){border-left:0;padding-left:0}.p2-fact[hidden]{display:none}
.p2-fact span,.p2-world>span,.p2-world-main>span,.p2-world-sub>span{display:block;font-size:9px;letter-spacing:.13em;color:var(--muted);text-transform:uppercase}
.p2-fact strong{display:block;margin-top:8px;font-family:var(--serif);font-size:clamp(18px,1.65vw,25px);font-weight:400;line-height:1.12}
.p2-world-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,46px)}
.p2-world{min-width:0}.p2-world-main{display:block}.p2-world-main figure{margin:0 0 22px;aspect-ratio:var(--ratio-portrait);overflow:hidden;background:#d8d2c8}.p2-world-main figure img{width:100%;height:100%;filter:saturate(.88) contrast(1.025)}
.p2-world-main h3{font-family:var(--serif);font-size:clamp(38px,3.7vw,58px);font-weight:400;line-height:.98;letter-spacing:-.04em;margin:10px 0 12px}
.p2-world-main p{max-width:34ch;color:var(--muted);line-height:1.6;margin:0 0 18px}
.p2-world-main b{font-size:12px;border-bottom:1px solid currentColor;padding-bottom:5px}
.p2-world-sub{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.p2-world-sub p{max-width:34ch;margin:8px 0 12px;font-size:13px;line-height:1.5}.p2-world-sub a{font-size:12px;text-decoration:underline;text-underline-offset:5px}
.p2-section-lede{max-width:48ch;color:var(--muted);margin:16px 0 0;font-size:17px;line-height:1.6}
.p2-example-menus,.p2-testimonials{padding:var(--layout-section) 0}.p2-example-menus{background:var(--paper)}
.p2-menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,44px)}
.p2-menu-card{border-top:1px solid var(--ink);padding-top:18px}.p2-menu-card>span{font-size:9px;letter-spacing:.13em;color:var(--muted)}.p2-menu-card h3{font-family:var(--serif);font-size:clamp(30px,3vw,46px);font-weight:400;margin:14px 0 18px}.p2-menu-card ol{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.p2-menu-card li{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid var(--line);line-height:1.4}.p2-menu-card li span{font-size:9px;color:var(--muted);padding-top:3px}.p2-menu-note{max-width:58ch;margin:30px 0 0;color:var(--muted);font-size:13px}
.p2-testimonial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,44px);border-top:1px solid var(--ink)}
.p2-testimonial{padding:24px 0;border-bottom:1px solid var(--line)}.p2-testimonial blockquote{font-family:var(--serif);font-size:clamp(24px,2.5vw,36px);line-height:1.12;margin:0 0 24px}.p2-testimonial footer{font-size:11px;color:var(--muted);line-height:1.5}.p2-testimonial footer strong{display:block;color:var(--ink);font-weight:600}
.p2-private-process .p2-process-list p{grid-template-columns:132px minmax(0,1fr);font-family:var(--sans);font-size:clamp(17px,1.35vw,20px);line-height:1.45}.p2-private-process .p2-process-list p span{line-height:1.4}
.p2-press-context{max-width:54ch;color:rgba(255,255,255,.68);margin:22px 0 0;font-size:13px;line-height:1.6}
.legal-page{padding:clamp(120px,12vw,170px) 0 var(--layout-section)}.legal-page h1{font-size:clamp(52px,6vw,88px);max-width:13ch;margin:16px 0 28px}.legal-intro{max-width:62ch;color:var(--muted);font-size:18px;line-height:1.65}.legal-grid{display:grid;grid-template-columns:minmax(180px,.3fr) minmax(0,.7fr);gap:clamp(38px,7vw,110px);margin-top:clamp(58px,7vw,100px);padding-top:28px;border-top:1px solid var(--ink)}.legal-grid h2{font-size:clamp(30px,3vw,44px);margin:0}.legal-grid p{max-width:64ch;line-height:1.7;margin:0;color:var(--muted)}.legal-draft{margin-top:24px;padding:18px 20px;border:1px solid var(--line);background:var(--paper);font-size:13px;line-height:1.6}
.faq-page-intro{padding:clamp(120px,12vw,170px) 0 clamp(60px,7vw,100px)}.faq-page-intro h1{font-size:clamp(58px,7vw,102px);max-width:11ch;margin:16px 0 24px}.faq-page-intro p{max-width:48ch;color:var(--muted);font-size:18px;line-height:1.6}.faq-group{padding:0 0 var(--layout-section)}.faq-group-head{display:grid;grid-template-columns:minmax(150px,.28fr) minmax(0,.72fr);gap:34px;margin-bottom:28px}.faq-group-head h2{font-size:clamp(36px,4vw,58px);margin:0}
@media(max-width:820px){.p2-facts-grid{grid-template-columns:1fr 1fr}.p2-fact:nth-child(odd){border-left:0;padding-left:0}.p2-world-grid,.p2-menu-grid,.p2-testimonial-grid{grid-template-columns:1fr 1fr}.p2-world:last-child,.p2-menu-card:last-child,.p2-testimonial:last-child{grid-column:1/-1}.legal-grid,.faq-group-head{grid-template-columns:1fr;gap:18px}}
@media(max-width:700px){.p2-facts-grid{grid-template-columns:1fr}.p2-fact,.p2-fact:nth-child(odd){border-left:0;border-top:1px solid var(--line);padding:16px 0}.p2-fact:first-child:not([hidden]){border-top:0}.p2-world-grid,.p2-menu-grid,.p2-testimonial-grid{grid-template-columns:1fr;gap:38px}.p2-world:last-child,.p2-menu-card:last-child,.p2-testimonial:last-child{grid-column:auto}.p2-world-main figure{aspect-ratio:var(--ratio-landscape)}.p2-world-main h3{font-size:42px}.p2-private-process .p2-process-list p{grid-template-columns:1fr;gap:7px}.legal-page,.faq-page-intro{padding-top:104px}.legal-grid{margin-top:48px}}
/* v75 QA corrections */
.ek-section-head>.ek-link{grid-area:copy;justify-self:end;align-self:end;margin-top:0}
.ek-ticket-orientation{margin-top:18px;padding-top:16px;border-top:1px solid var(--line);font-size:12px;line-height:1.55;color:var(--muted)}
.ek-ticket-orientation strong{display:block;margin-top:4px;color:var(--ink);font-family:var(--serif);font-size:21px;font-weight:400}
@media(max-width:820px){
  .ek-section-head>.ek-link{grid-area:auto;justify-self:start;margin-top:16px}
  .p2-world-grid{grid-template-columns:1fr}
  .p2-world-grid>*:last-child{grid-column:auto;width:auto}
  .p2-menu-grid,.p2-testimonial-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  .p2-menu-grid,.p2-testimonial-grid{grid-template-columns:1fr}
}
.p2-fact[hidden]+.p2-fact{border-left:0;padding-left:0}
@media(max-width:700px){.p2-fact[hidden]+.p2-fact{border-top:0}}
.ek-voucher-fallback{display:inline-block;margin-top:10px;font-size:11px;color:var(--muted);text-decoration:underline;text-underline-offset:4px}


/* v76 – menu storytelling and event format visualisation */
.p2-home-menu{padding:5.25rem 0;border-top:1px solid rgba(20,24,24,.08)}
.p2-home-menu-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:2.4rem;align-items:center}
.p2-home-menu-copy h2{max-width:12ch;margin:.5rem 0 1rem}
.p2-home-menu-copy p{max-width:60ch}
.p2-home-menu-image{margin:0;border-radius:28px;overflow:hidden;background:#ece6dc;min-height:460px}
.p2-home-menu-image img{width:100%;height:100%;display:block;object-fit:cover}
.p2-home-menu-card,.p2-menu-story,.p2-event-format-card{background:#fbf7f0;border:1px solid rgba(20,24,24,.08);border-radius:24px;overflow:hidden}
.p2-home-menu-card{padding:1.35rem 1.35rem 1.15rem;margin:1.4rem 0 1rem;box-shadow:0 12px 30px rgba(20,24,24,.04)}
.p2-home-menu-label,.p2-menu-story-kicker,.p2-event-format-copy>span{display:inline-block;font-size:.74rem;line-height:1.2;letter-spacing:.16em;text-transform:uppercase;color:#6e665e;margin-bottom:.55rem}
.p2-home-menu-card h3{margin:0 0 1rem;font-size:1.2rem}
.p2-home-menu-card ol,.p2-menu-story ol{list-style:none;padding:0;margin:0;display:grid;gap:.72rem}
.p2-home-menu-card li,.p2-menu-story li{display:grid;grid-template-columns:minmax(0,120px) 1fr;gap:.9rem;align-items:start;padding-top:.72rem;border-top:1px solid rgba(20,24,24,.08)}
.p2-home-menu-card li:first-child,.p2-menu-story li:first-child{padding-top:0;border-top:0}
.p2-home-menu-card li span,.p2-menu-story li span{font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:#6e665e}
.p2-home-menu-card li strong,.p2-menu-story li strong{font-size:.98rem;font-weight:500;color:#131717}
.p2-home-menu-note,.p2-menu-worlds-note{margin-top:1rem;color:#625c56;font-size:.96rem;max-width:72ch}
.p2-menu-worlds{padding:5.5rem 0}
.p2-menu-story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem;margin-top:2rem}
.p2-menu-story figure,.p2-event-format-card figure{margin:0;aspect-ratio:4/3;overflow:hidden;background:#ece6dc}
.p2-menu-story figure img,.p2-event-format-card figure img{width:100%;height:100%;display:block;object-fit:cover}
.p2-menu-story-copy,.p2-event-format-copy{padding:1.35rem 1.35rem 1.45rem}
.p2-menu-story-copy h3,.p2-event-format-copy h3{margin:.1rem 0 .6rem;font-size:1.32rem}
.p2-menu-story-copy p,.p2-event-format-copy p{margin:0 0 1rem;color:#4e4a45}
.p2-event-taste{padding:4.6rem 0 5.5rem}
.p2-event-taste-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem;margin-top:2rem}
.p2-event-format-copy ul{margin:0;padding-left:1.1rem;display:grid;gap:.48rem;color:#131717}
.p2-event-format-copy li{padding-left:.1rem}
.p2-section-lede{max-width:72ch;color:#4e4a45}
@media (max-width:1100px){
  .p2-menu-story-grid,.p2-event-taste-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:820px){
  .p2-home-menu-grid,.p2-menu-story-grid,.p2-event-taste-grid{grid-template-columns:1fr}
  .p2-home-menu{padding:4.2rem 0}
  .p2-home-menu-image{min-height:320px}
}
@media (max-width:560px){
  .p2-home-menu-card li,.p2-menu-story li{grid-template-columns:1fr;gap:.28rem}
  .p2-menu-story-copy,.p2-event-format-copy,.p2-home-menu-card{padding:1.15rem}
  .p2-home-menu-copy h2{max-width:none}
}


/* v77 – proof, sample pricing, location facts, voucher productisation */
.p2-testimonial-rating{display:flex;flex-direction:column;justify-content:center;min-height:260px}
.p2-rating-score{font-family:Fraunces,Georgia,serif;font-size:clamp(3.6rem,7vw,6.3rem);font-weight:400;line-height:.9;color:#151919}
.p2-rating-stars{margin:.8rem 0 .35rem;letter-spacing:.14em;font-size:1.02rem}
.p2-testimonial-rating p{margin:.1rem 0 .8rem;color:#5e5851}
.p2-testimonial-rating a,.p2-testimonial footer a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(20,24,24,.24);width:max-content;max-width:100%}
.p2-price-example{padding:4.7rem 0;border-top:1px solid rgba(20,24,24,.08);border-bottom:1px solid rgba(20,24,24,.08);background:#f1ebe2}
.p2-price-example-grid{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:2.5rem;align-items:start}
.p2-price-example-copy h2{max-width:11ch;margin:.45rem 0 .9rem}
.p2-price-example-copy p{max-width:55ch}
.p2-demo-label{display:inline-flex;margin-top:1rem;padding:.42rem .62rem;border:1px solid rgba(20,24,24,.14);border-radius:999px;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:#625c56}
.p2-price-ticket{background:#fbf7f0;border:1px solid rgba(20,24,24,.1);border-radius:24px;padding:1.3rem 1.35rem}
.p2-price-ticket-row{display:grid;grid-template-columns:1fr auto;gap:1rem;padding:.9rem 0;border-bottom:1px solid rgba(20,24,24,.08)}
.p2-price-ticket-row span{color:#5e5851}.p2-price-ticket-row strong{font-weight:600;text-align:right}
.p2-price-ticket-total{display:grid;grid-template-columns:1fr auto;gap:1rem;padding-top:1.2rem;align-items:end}
.p2-price-ticket-total strong{font-family:Fraunces,Georgia,serif;font-size:2.15rem;font-weight:400}.p2-price-ticket-total small{display:block;color:#625c56}
.p2-location-facts{padding:3.4rem 0;background:#151919;color:#f7f3ec}
.p2-location-facts-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.16)}
.p2-location-fact{padding:1.25rem;background:#151919}.p2-location-fact span{display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(247,243,236,.65);margin-bottom:.45rem}.p2-location-fact strong{font-family:Fraunces,Georgia,serif;font-size:1.55rem;font-weight:400}.p2-location-facts-note{margin:1rem 0 0;color:rgba(247,243,236,.66);font-size:.88rem}
.faq-example-note{display:block;margin-top:.7rem;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:#7a6453}
.gift-builder-section{padding:5rem 0;border-top:1px solid rgba(20,24,24,.08)}
.gift-builder-grid{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:2.5rem;align-items:start}
.gift-builder-copy h2{max-width:10ch;margin:.5rem 0 .9rem}.gift-builder-copy p{max-width:50ch}
.gift-builder{background:#fbf7f0;border:1px solid rgba(20,24,24,.08);border-radius:24px;padding:1.35rem;display:grid;gap:1.1rem}
.gift-builder fieldset{border:0;padding:0;margin:0}.gift-builder legend,.gift-builder label>span{display:block;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.6rem;color:#625c56}
.gift-value-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem}.gift-value-options label{position:relative}.gift-value-options input{position:absolute;opacity:0;pointer-events:none}.gift-value-options span{display:block!important;margin:0!important;padding:.75rem .45rem;text-align:center;border:1px solid rgba(20,24,24,.15);border-radius:999px;cursor:pointer;color:#151919!important}.gift-value-options input:checked+span{background:#151919;color:#f7f3ec!important}
.gift-builder-row{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.gift-builder input,.gift-builder select,.gift-builder textarea{width:100%}.gift-builder textarea{min-height:110px;resize:vertical}.gift-builder-note{font-size:.84rem;color:#6a635c;margin:0}
.p2-partner-network{padding:4.7rem 0;border-top:1px solid rgba(20,24,24,.08)}
.p2-partner-network-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:2.4rem}.p2-partner-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.p2-partner-groups article{padding:1.1rem;border-top:1px solid rgba(20,24,24,.16)}.p2-partner-groups span{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#6a635c}.p2-partner-groups p{margin:.6rem 0 0;line-height:1.7}.p2-partner-note{font-size:.84rem;color:#6a635c;margin-top:1rem}
@media(max-width:1000px){.p2-price-example-grid,.gift-builder-grid,.p2-partner-network-grid{grid-template-columns:1fr}.p2-location-facts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.p2-partner-groups{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:700px){.p2-location-facts-grid,.p2-partner-groups,.gift-builder-row{grid-template-columns:1fr}.gift-value-options{grid-template-columns:repeat(3,minmax(0,1fr))}.p2-price-ticket-row,.p2-price-ticket-total{grid-template-columns:1fr}.p2-price-ticket-row strong{text-align:left}.p2-testimonial-rating{min-height:220px}}


/* === v78 editorial promise system + heading width contract === */
.p2-hero-copy h1,.p2-event-hero h1,.p2-course-hero-copy h1,.p2-location-title h1,
.p2-section-title h2,.p2-editorial-copy h2,.p2-process-grid h2,.p2-repertoire-grid h2,
.p2-spatial-copy h2,.ek-section-head h2,.ek-two-col h2,.p2-final h2,.ek-editorial-title h1,
.ek-contact-copy h1,.p2-home-menu-copy h2,.p2-price-example-copy h2,.p2-location-overlay h2,
.gift-hero-copy h1,.gift-options-head h2,.gift-memory-copy h2,.gift-builder-copy h2,
.legal-page h1,.faq-page-intro h1,.ek-course-toolbar h2,.ek-final-grid h2{max-width:100%}

.p2-proof-promise{padding:clamp(84px,9vw,148px) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--canvas)}
.p2-proof-promise .ek-wrap{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(280px,.92fr);gap:clamp(28px,6vw,104px);align-items:end}
.p2-proof-promise blockquote{font-family:var(--serif);font-weight:400;font-size:clamp(54px,6.2vw,108px);line-height:.92;letter-spacing:-.05em;margin:16px 0 0;max-width:100%}
.p2-proof-promise-copy p{margin:0;color:var(--muted);font-size:17px;line-height:1.65;max-width:44ch}
.p2-proof-promise-list{display:flex;flex-wrap:wrap;gap:10px 18px;list-style:none;padding:0;margin:20px 0 0}
.p2-proof-promise-list li{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.p2-proof-promise .ek-link,.p2-proof-promise-copy .ek-link{margin-top:22px}
.p2-proof-promise--dark{background:var(--ink);border-color:rgba(255,255,255,.16);color:var(--paper)}
.p2-proof-promise--dark .ek-kicker,.p2-proof-promise--dark .p2-proof-promise-list li{color:rgba(247,243,236,.68)}
.p2-proof-promise--dark .p2-proof-promise-copy p{color:rgba(247,243,236,.78)}
.p2-proof-promise--dark .ek-link{color:#fff;border-color:rgba(255,255,255,.32)}
.p2-proof-promise--compact{padding:clamp(72px,8vw,120px) 0}
@media(max-width:900px){.p2-proof-promise .ek-wrap{grid-template-columns:1fr}.p2-proof-promise-copy p{max-width:48ch}}
@media(max-width:700px){.p2-proof-promise{padding:72px 0}.p2-proof-promise blockquote{font-size:clamp(40px,12vw,62px)}.p2-proof-promise-list{gap:8px 14px}}


/* v79 QA corrections: contract-safe widths, no automatic display balancing */
@media(min-width:901px){
  .gift-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(42px,5vw,80px)}
  .gift-hero-copy h1{font-size:clamp(4.2rem,7.1vw,8.6rem)}
}

.p2-promise-two-beat span{display:block}

/* v80 release refinement: statement typography uses the full content width. */
.p2-proof-promise .ek-wrap{grid-template-columns:1fr;align-items:start}
.p2-proof-promise blockquote{width:100%;max-width:none}
.p2-proof-promise-copy{width:min(48rem,100%);margin-left:auto}
@media(max-width:900px){.p2-proof-promise-copy{margin-left:0}}


/* v81 Phase 1 — softer orientation hierarchy */
.p2-fact strong.p2-fact-stack{display:grid;gap:3px}
.p2-fact strong.p2-fact-stack b{font:inherit;font-weight:400}
.p2-fact strong.p2-fact-stack small{font-family:var(--sans);font-size:.62em;line-height:1.3;color:var(--muted);font-weight:400;margin-top:1px}
@media(min-width:821px){.p2-facts-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}

.p2-manifesto-soft .ek-wrap{grid-template-columns:1fr;gap:18px}
.p2-manifesto-soft p{max-width:100%;font-size:clamp(46px,5.1vw,78px);line-height:.98}
.p2-manifesto-soft small{display:block;max-width:48ch;margin-left:auto;font-size:15px;line-height:1.65;color:var(--muted)}
@media(max-width:700px){.p2-manifesto-soft p{font-size:clamp(38px,10.5vw,48px)}.p2-manifesto-soft small{margin-left:0;max-width:34ch}}
@media(max-width:720px){.location-tease-heading span{white-space:normal}}


/* === Private Dining 2.0 === */
.p2-private-individual,.p2-personalisation-cases,.p2-private-fresh,.p2-wine-pairing,.p2-team-story{padding:var(--layout-section) 0}
.p2-private-individual{background:var(--canvas)}
.p2-private-individual-head{display:grid;grid-template-columns:minmax(0,.34fr) minmax(0,.66fr);grid-template-areas:"kicker title" ". copy";column-gap:clamp(34px,6vw,96px);align-items:start;margin-bottom:clamp(40px,5vw,66px)}
.p2-private-individual-head .ek-kicker{grid-area:kicker}
.p2-private-individual-head h2{grid-area:title;font-size:clamp(50px,5vw,78px);margin:0;max-width:100%}
.p2-private-individual-head p{grid-area:copy;max-width:62ch;color:var(--muted);font-size:17px;line-height:1.65;margin:22px 0 0}
.p2-individual-principle{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink);border-bottom:1px solid var(--line);margin-bottom:clamp(36px,4vw,54px)}
.p2-individual-principle p{display:grid;gap:7px;margin:0;padding:18px clamp(16px,2vw,28px) 20px 0;min-width:0}
.p2-individual-principle p+p{border-left:1px solid var(--line);padding-left:clamp(16px,2vw,28px)}
.p2-individual-principle span{font-size:9px;letter-spacing:.14em;color:var(--muted)}
.p2-individual-principle strong{font-size:clamp(17px,1.7vw,24px);line-height:1.25;font-weight:500;letter-spacing:-.018em}
.p2-individual-ledger{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line)}
.p2-individual-ledger article{padding:28px clamp(18px,2.5vw,34px) 30px 0;border-bottom:1px solid var(--line);min-width:0}
.p2-individual-ledger article:nth-child(3n+2),.p2-individual-ledger article:nth-child(3n+3){border-left:1px solid var(--line);padding-left:clamp(18px,2.5vw,34px)}
.p2-individual-ledger article>span,.p2-personalisation-grid article>div>span{font-size:9px;letter-spacing:.14em;color:var(--muted)}
.p2-individual-ledger h3{font-size:clamp(24px,2.3vw,34px);margin:22px 0 10px}
.p2-individual-ledger p{margin:0;color:var(--muted);line-height:1.6;max-width:33ch}

.p2-personalisation-cases{background:var(--paper)}
.p2-personalisation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.4vw,36px);align-items:start}
.p2-personalisation-grid article{min-width:0;border-top:1px solid var(--ink);padding-top:18px}
.p2-personalisation-grid figure{margin:0 0 20px;aspect-ratio:var(--ratio-portrait);overflow:hidden;background:#d8d2c8}
.p2-personalisation-grid figure img{width:100%;height:100%;object-fit:cover}
.p2-personalisation-grid h3{font-family:var(--serif);font-weight:400;font-size:clamp(30px,3vw,46px);line-height:1.02;margin:14px 0 14px;max-width:100%}
.p2-personalisation-grid p{color:var(--muted);line-height:1.6;margin:0 0 18px}
.p2-personalisation-grid ul{list-style:none;padding:14px 0 0;margin:0;border-top:1px solid var(--line);display:grid;gap:8px}
.p2-personalisation-grid li{font-size:12px;letter-spacing:.035em}

.p2-private-fresh{background:var(--canvas)}
.p2-private-fresh .p2-editorial-image{aspect-ratio:var(--ratio-portrait)}
.p2-private-fresh .p2-editorial-image img{object-position:center 48%}
.p2-private-fresh .p2-editorial-copy .p2-soft-note{font-size:13px;line-height:1.6;border-top:1px solid var(--line);padding-top:18px;margin-top:22px}

.p2-wine-pairing{background:#ECE7DD}
.p2-wine-grid{display:grid;grid-template-columns:minmax(0,.5fr) minmax(0,.5fr);gap:clamp(40px,7vw,110px);align-items:start}
.p2-wine-grid>div:first-child h2{font-size:clamp(44px,4.2vw,66px);margin:14px 0 18px;max-width:100%}
.p2-wine-grid>div:first-child p{color:var(--muted);max-width:44ch;line-height:1.65}
.p2-wine-options{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--ink)}
.p2-wine-options article{padding:24px 24px 28px 0;border-bottom:1px solid var(--line)}
.p2-wine-options article:nth-child(even){border-left:1px solid var(--line);padding-left:24px}
.p2-wine-options span{font-size:9px;color:var(--muted)}
.p2-wine-options h3{font-size:clamp(25px,2.5vw,36px);margin:14px 0 8px}
.p2-wine-options p{margin:0;color:var(--muted);line-height:1.55}

.p2-team-story{background:var(--canvas)}
.p2-team-head{display:grid;grid-template-columns:minmax(0,.34fr) minmax(0,.66fr);grid-template-areas:"kicker title" ". copy";column-gap:clamp(34px,6vw,96px);margin-bottom:clamp(42px,5vw,68px)}
.p2-team-head .ek-kicker{grid-area:kicker}
.p2-team-head h2{grid-area:title;font-size:clamp(50px,5vw,78px);margin:0;max-width:100%}
.p2-team-head p{grid-area:copy;margin:22px 0 0;color:var(--muted);max-width:60ch;line-height:1.65;font-size:17px}
.p2-team-visual{display:grid;grid-template-columns:minmax(0,.46fr) minmax(0,.54fr);gap:clamp(12px,1.5vw,22px);margin-bottom:28px}
.p2-team-visual figure{margin:0;aspect-ratio:var(--ratio-landscape);overflow:hidden;background:#d8d2c8}
.p2-team-visual img{width:100%;height:100%;object-fit:cover}
.p2-team-ledger{border-top:1px solid var(--ink);margin-bottom:20px}
.p2-team-ledger p{display:grid;grid-template-columns:minmax(150px,.28fr) minmax(0,.72fr);gap:28px;margin:0;padding:18px 0;border-bottom:1px solid var(--line)}
.p2-team-ledger span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.p2-team-ledger strong{font-weight:500}

@media(max-width:1024px){
  .p2-private-individual-head,.p2-team-head{grid-template-columns:minmax(0,.3fr) minmax(0,.7fr)}
  .p2-individual-ledger{grid-template-columns:repeat(2,minmax(0,1fr))}
  .p2-individual-ledger article:nth-child(3n+2),.p2-individual-ledger article:nth-child(3n+3){border-left:0;padding-left:0}
  .p2-individual-ledger article:nth-child(even){border-left:1px solid var(--line);padding-left:clamp(18px,2.5vw,34px)}
  .p2-personalisation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .p2-personalisation-grid article:last-child{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.5fr) minmax(0,.5fr);gap:26px}
  .p2-personalisation-grid article:last-child figure{margin-bottom:0}
}
@media(max-width:820px){
  .p2-private-individual-head,.p2-team-head,.p2-wine-grid{grid-template-columns:1fr;grid-template-areas:none;gap:16px}
  .p2-private-individual-head .ek-kicker,.p2-private-individual-head h2,.p2-private-individual-head p,.p2-team-head .ek-kicker,.p2-team-head h2,.p2-team-head p{grid-area:auto}
  .p2-private-individual-head p,.p2-team-head p{margin-top:4px}
  .p2-personalisation-grid{grid-template-columns:1fr}
  .p2-personalisation-grid article:last-child{grid-column:auto;display:block}
  .p2-personalisation-grid article:last-child figure{margin-bottom:20px}
  .p2-team-visual{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  .p2-individual-ledger{grid-template-columns:1fr}
  .p2-individual-ledger article,.p2-individual-ledger article:nth-child(even){border-left:0;padding-left:0;padding-right:0}
  .p2-wine-options{grid-template-columns:1fr}
  .p2-wine-options article:nth-child(even){border-left:0;padding-left:0}
  .p2-team-visual{grid-template-columns:1fr}
  .p2-team-visual figure{aspect-ratio:var(--ratio-landscape)}
  .p2-team-ledger p{grid-template-columns:1fr;gap:7px}
}


/* === Package B — consolidated Private Dining geometry === */
@media(min-width:1280px){
  .p2-hero-private .p2-hero-grid{grid-template-columns:minmax(0,1.16fr) minmax(360px,.84fr)}
  .p2-hero-private .p2-hero-copy h1{font-size:clamp(62px,5.5vw,90px)}
  .p2-hero-private .p2-hero-copy h1 em{white-space:nowrap}
}
@media (min-width:821px) and (max-width:1279px){
  .p2-hero-private .p2-hero-grid{grid-template-columns:minmax(0,1.28fr) minmax(300px,.72fr);gap:clamp(28px,4vw,46px)}
  .p2-hero-private .p2-hero-copy h1{font-size:clamp(56px,5.4vw,72px)}
  .p2-hero-private .p2-hero-copy h1 em{white-space:nowrap}
}
@media(max-width:820px){
  .p2-wine-grid{grid-template-columns:1fr}
  .p2-wine-grid>div:first-child h2{font-size:clamp(40px,8vw,54px)}
}
@media(max-width:700px){
  .p2-individual-principle{grid-template-columns:1fr}
  .p2-individual-principle p{padding:14px 0 16px}
  .p2-individual-principle p+p{border-left:0;border-top:1px solid var(--line);padding-left:0}
  .p2-team-head h2{font-size:clamp(34px,9.2vw,40px)}
  .p2-team-head h2 span{white-space:nowrap}
  .p2-wine-grid h2 span{white-space:normal}
}

/* === v85 package C: Catering & Events 2.0 === */
.p3-catering-manifesto{padding:clamp(82px,9vw,146px) 0;background:var(--ink);color:var(--paper)}
.p3-catering-manifesto-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);gap:clamp(44px,7vw,112px);align-items:end}
.p3-catering-manifesto h2{font-size:clamp(58px,6vw,96px);line-height:.93;letter-spacing:-.055em;margin:16px 0 0;max-width:100%}
.p3-catering-manifesto p{font-size:18px;line-height:1.65;color:rgba(247,243,236,.78);max-width:46ch;margin:0}
.p3-catering-manifesto .ek-kicker{color:rgba(247,243,236,.62)}
.p3-catering-pill-row{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}
.p3-catering-pill-row span{border:1px solid rgba(247,243,236,.24);border-radius:999px;padding:8px 12px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:rgba(247,243,236,.84)}

.p3-scale{padding:var(--layout-section) 0}
.p3-scale-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink)}
.p3-scale-grid article{padding:26px clamp(18px,2.3vw,34px) 34px 0;border-bottom:1px solid var(--line)}
.p3-scale-grid article+article{padding-left:clamp(18px,2.3vw,34px);border-left:1px solid var(--line)}
.p3-scale-grid span,.p3-participation-grid>article>span,.p3-corporate-mode-grid>article>span{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.p3-scale-grid strong{display:block;font-family:var(--serif);font-size:clamp(30px,3vw,46px);line-height:1.02;font-weight:400;margin:20px 0 14px}
.p3-scale-grid p{color:var(--muted);line-height:1.62;max-width:34ch;margin:0}
.p3-prototype-note{font-size:11px;line-height:1.55;color:var(--muted);max-width:76ch;margin:24px 0 0}

.p3-event-formats{padding:var(--layout-section) 0;background:var(--paper)}
.p3-event-format-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,2.6vw,38px);margin-top:clamp(34px,5vw,62px)}
.p3-event-format-grid .p2-event-format-card{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);min-height:360px}
.p3-event-format-grid .p2-event-format-card figure{aspect-ratio:auto;height:100%}
.p3-event-format-grid .p2-event-format-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(24px,3vw,44px)}
.p3-event-format-grid .p2-event-format-copy h3{font-size:clamp(28px,2.7vw,42px);line-height:1.02;letter-spacing:-.035em}

.p3-participation{padding:var(--layout-section) 0}
.p3-participation-grid,.p3-corporate-mode-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--ink)}
.p3-participation-grid article,.p3-corporate-mode-grid article{padding:clamp(30px,4vw,58px) clamp(26px,4vw,58px) clamp(36px,4.5vw,66px) 0;border-bottom:1px solid var(--line)}
.p3-participation-grid article+article,.p3-corporate-mode-grid article+article{border-left:1px solid var(--line);padding-left:clamp(26px,4vw,58px)}
.p3-participation-grid h3,.p3-corporate-mode-grid h3{font-family:var(--serif);font-size:clamp(34px,3.6vw,56px);line-height:1;letter-spacing:-.04em;margin:18px 0 18px;font-weight:400}
.p3-participation-grid p,.p3-corporate-mode-grid p{color:var(--muted);line-height:1.65;max-width:43ch}
.p3-participation-grid ul,.p3-corporate-mode-grid ul{list-style:none;padding:0;margin:26px 0 0;border-top:1px solid var(--line)}
.p3-participation-grid li,.p3-corporate-mode-grid li{padding:11px 0;border-bottom:1px solid var(--line);font-size:13px}

.p3-event-process,.p3-corporate-process{padding:var(--layout-section) 0;background:var(--paper)}
.p3-event-process-head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:clamp(38px,6vw,92px);align-items:end;margin-bottom:clamp(44px,6vw,78px)}
.p3-event-process-head .ek-kicker{grid-column:1/-1}
.p3-event-process-head h2{font-size:clamp(50px,5vw,78px);line-height:.98;letter-spacing:-.05em;margin:0;max-width:100%}
.p3-event-process-head p{margin:0;color:var(--muted);font-size:16px;line-height:1.65;max-width:43ch}
.p3-event-process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink)}
.p3-event-process-grid>div{padding:24px 26px 30px 0;border-bottom:1px solid var(--line);min-height:168px}
.p3-event-process-grid>div:not(:nth-child(3n+1)){border-left:1px solid var(--line);padding-left:26px}
.p3-event-process-grid span{display:block;font-size:10px;letter-spacing:.12em;color:var(--muted);margin-bottom:20px}
.p3-event-process-grid strong{display:block;font-family:var(--serif);font-size:clamp(26px,2.5vw,38px);font-weight:400;line-height:1.05;margin-bottom:10px}
.p3-event-process-grid p{margin:0;color:var(--muted);font-size:13px;line-height:1.55;max-width:28ch}
.p3-event-choice{margin-top:clamp(48px,6vw,84px);padding-top:24px;border-top:1px solid var(--ink)}
.p3-event-choice>div{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.p3-event-choice a{display:inline-flex;align-items:center;min-height:42px;padding:9px 14px;border:1px solid var(--line);border-radius:999px;font-size:13px;transition:background .18s ease,border-color .18s ease}
.p3-event-choice a:hover{background:var(--paper);border-color:var(--ink)}
.p3-corporate-path .ek-corporate-inner h2{max-width:100%}

.p3-proof-strip .ek-wrap{grid-template-columns:repeat(4,minmax(0,1fr))}
.p3-proof-strip .ek-wrap>div:last-child{border-left:1px solid var(--line);border-top:0;padding-left:26px}

.p3-corporate-modes,.p3-corporate-occasions{padding:var(--layout-section) 0}
.p3-corporate-occasions{background:var(--paper)}
.p3-occasion-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink)}
.p3-occasion-grid article{padding:28px 30px 36px 0;border-bottom:1px solid var(--line);min-height:220px}
.p3-occasion-grid article:not(:nth-child(3n+1)){border-left:1px solid var(--line);padding-left:30px}
.p3-occasion-grid span{font-size:10px;letter-spacing:.12em;color:var(--muted)}
.p3-occasion-grid h3{font-family:var(--serif);font-size:clamp(29px,2.8vw,42px);line-height:1.03;font-weight:400;margin:28px 0 12px}
.p3-occasion-grid p{color:var(--muted);font-size:14px;line-height:1.6;max-width:31ch;margin:0}
.p3-corporate-process-actions{display:flex;flex-wrap:wrap;gap:20px 28px;margin-top:34px}

.p3-corporate-scale{padding:clamp(78px,8vw,130px) 0;background:var(--ink);color:var(--paper)}
.p3-corporate-scale-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);gap:clamp(44px,7vw,112px);align-items:end}
.p3-corporate-scale h2{font-size:clamp(52px,5.3vw,84px);line-height:.95;letter-spacing:-.05em;margin:14px 0 0;max-width:100%}
.p3-corporate-scale p{color:rgba(247,243,236,.76);font-size:17px;line-height:1.65;max-width:44ch;margin:0 0 24px}
.p3-corporate-scale strong{display:block;font-family:var(--serif);font-size:clamp(38px,4.5vw,68px);line-height:1;font-weight:400;margin-bottom:12px}
.p3-corporate-scale small{display:block;color:rgba(247,243,236,.56);line-height:1.5;max-width:54ch}
.p3-corporate-scale .ek-kicker{color:rgba(247,243,236,.62)}

@media(max-width:1100px){
  .p3-event-format-grid .p2-event-format-card{grid-template-columns:1fr}
  .p3-event-format-grid .p2-event-format-card figure{aspect-ratio:4/3;height:auto}
  .p3-proof-strip .ek-wrap{grid-template-columns:1fr 1fr}
  .p3-proof-strip .ek-wrap>div:nth-child(3){border-left:0;border-top:1px solid var(--line);padding-left:0}
  .p3-proof-strip .ek-wrap>div:nth-child(4){border-top:1px solid var(--line)}
}
@media(max-width:820px){
  .p3-catering-manifesto-grid,.p3-event-process-head,.p3-corporate-scale-grid{grid-template-columns:1fr}
  .p3-scale-grid,.p3-occasion-grid{grid-template-columns:1fr 1fr}
  .p3-scale-grid article:nth-child(3),.p3-occasion-grid article:nth-child(odd):last-child{grid-column:1/-1}
  .p3-scale-grid article:nth-child(3){border-left:0;padding-left:0}
  .p3-occasion-grid article:not(:nth-child(3n+1)){border-left:0;padding-left:0}
  .p3-occasion-grid article:nth-child(even){border-left:1px solid var(--line);padding-left:26px}
  .p3-event-process-grid{grid-template-columns:1fr 1fr}
  .p3-event-process-grid>div:not(:nth-child(3n+1)){border-left:0;padding-left:0}
  .p3-event-process-grid>div:nth-child(even){border-left:1px solid var(--line);padding-left:22px}
}
@media(max-width:700px){
  .p3-catering-manifesto{padding:72px 0}
  .p3-catering-manifesto h2{font-size:clamp(46px,13vw,62px)}
  .p3-scale-grid,.p3-event-format-grid,.p3-participation-grid,.p3-corporate-mode-grid,.p3-occasion-grid,.p3-event-process-grid{grid-template-columns:1fr}
  .p3-scale-grid article,.p3-scale-grid article+article,.p3-participation-grid article,.p3-participation-grid article+article,.p3-corporate-mode-grid article,.p3-corporate-mode-grid article+article,.p3-occasion-grid article,.p3-occasion-grid article:nth-child(even),.p3-event-process-grid>div,.p3-event-process-grid>div:nth-child(even){border-left:0;padding-left:0}
  .p3-scale-grid article:nth-child(3),.p3-occasion-grid article:nth-child(odd):last-child{grid-column:auto}
  .p3-event-process-grid>div{min-height:0;padding-top:20px;padding-bottom:22px}
  .p3-proof-strip .ek-wrap{grid-template-columns:1fr}
  .p3-proof-strip .ek-wrap>div,.p3-proof-strip .ek-wrap>div+div,.p3-proof-strip .ek-wrap>div:nth-child(3),.p3-proof-strip .ek-wrap>div:nth-child(4){border-left:0;border-top:1px solid var(--line);padding:20px 0}
  .p3-proof-strip .ek-wrap>div:first-child{border-top:0}
  .p3-event-choice>div{gap:8px}
  .p3-event-choice a{font-size:12px}
}


/* === v86 package D: cooking courses + EVENTKITCHEN destination === */
.p2-course-value,.p2-course-formats,.p2-location-journey{padding:var(--layout-section) 0}
.p2-course-value{background:var(--paper)}
.p2-course-value-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line)}
.p2-course-value-grid article{min-width:0;padding:30px clamp(18px,2.4vw,34px) 34px 0;border-bottom:1px solid var(--line)}
.p2-course-value-grid article+article{border-left:1px solid var(--line);padding-left:clamp(18px,2.4vw,34px)}
.p2-course-value-grid article>span,.p2-course-format-grid article>span,.p2-location-journey-steps article>span{display:block;font-size:9px;letter-spacing:.13em;color:var(--muted);margin-bottom:18px}
.p2-course-value-grid h3{font-family:var(--serif);font-size:clamp(27px,2.5vw,39px);font-weight:400;line-height:1.02;margin:0 0 14px}
.p2-course-value-grid p{margin:0;color:var(--muted);line-height:1.6;font-size:14px}
.p2-course-format-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink)}
.p2-course-format-grid article{padding:clamp(28px,3.5vw,52px) clamp(18px,3vw,44px) clamp(30px,4vw,56px) 0;border-bottom:1px solid var(--line)}
.p2-course-format-grid article+article{border-left:1px solid var(--line);padding-left:clamp(18px,3vw,44px)}
.p2-course-format-grid h3{font-family:var(--serif);font-size:clamp(31px,3vw,46px);font-weight:400;line-height:1.02;margin:0 0 18px}
.p2-course-format-grid p{color:var(--muted);line-height:1.65;max-width:32ch;margin:0 0 24px}
.p2-course-portal{padding:clamp(84px,9vw,148px) 0;background:var(--ink);color:var(--paper)}
.p2-course-portal-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:clamp(46px,8vw,130px);align-items:center}
.p2-course-portal-copy h2{font-family:var(--serif);font-size:clamp(48px,5vw,82px);font-weight:400;line-height:.95;letter-spacing:-.045em;margin:14px 0 24px;max-width:100%}
.p2-course-portal-copy p{color:rgba(247,243,236,.76);font-size:17px;line-height:1.65;max-width:44ch;margin:0 0 24px}
.p2-course-portal .ek-kicker{color:rgba(247,243,236,.65)}
.p2-course-portal-flow{border-top:1px solid rgba(255,255,255,.22)}
.p2-course-portal-flow>div{display:grid;grid-template-columns:44px minmax(0,1fr) minmax(145px,.65fr);gap:14px;align-items:center;padding:20px 0;border-bottom:1px solid rgba(255,255,255,.16)}
.p2-course-portal-flow span{font-size:9px;letter-spacing:.13em;color:rgba(247,243,236,.54)}
.p2-course-portal-flow strong{font-size:17px;font-weight:500}
.p2-course-portal-flow small{font-size:12px;line-height:1.45;color:rgba(247,243,236,.62)}
.p2-location-journey{background:var(--canvas)}
.p2-location-journey-gallery{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.45fr);grid-template-rows:1fr 1fr;gap:clamp(10px,1.2vw,18px);margin-bottom:clamp(46px,6vw,84px)}
.p2-location-journey-gallery figure{margin:0;overflow:hidden;background:#d8d2c8;min-height:0}
.p2-location-journey-gallery .p2-location-journey-main{grid-row:1/3;aspect-ratio:1.45/1}
.p2-location-journey-gallery figure:not(.p2-location-journey-main){aspect-ratio:1.6/1}
.p2-location-journey-gallery img{width:100%;height:100%;object-fit:cover;filter:saturate(.86) contrast(1.02)}
.p2-location-journey-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink)}
.p2-location-journey-steps article{min-width:0;padding:28px clamp(18px,2.7vw,40px) 34px 0;border-bottom:1px solid var(--line)}
.p2-location-journey-steps article:nth-child(3n+2),.p2-location-journey-steps article:nth-child(3n+3){border-left:1px solid var(--line);padding-left:clamp(18px,2.7vw,40px)}
.p2-location-journey-steps h3{font-family:var(--serif);font-size:clamp(29px,2.8vw,44px);font-weight:400;line-height:1.02;margin:0 0 14px}
.p2-location-journey-steps p{margin:0;color:var(--muted);line-height:1.62;font-size:14px;max-width:36ch}
.p2-location-facts-head{display:grid;grid-template-columns:minmax(180px,.28fr) minmax(0,.72fr);gap:28px;align-items:end;margin-bottom:28px}
.p2-location-facts-head .ek-kicker{color:rgba(247,243,236,.62)}
.p2-location-facts-head h2{font-family:var(--serif);font-size:clamp(40px,4.2vw,64px);font-weight:400;line-height:1;margin:0;color:#fff}
@media(max-width:1100px){.p2-course-value-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.p2-course-value-grid article:nth-child(3){border-left:0;padding-left:0}.p2-course-portal-grid{grid-template-columns:1fr;gap:44px}.p2-course-portal-flow{max-width:760px}.p2-location-journey-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.p2-location-journey-steps article:nth-child(3n+2),.p2-location-journey-steps article:nth-child(3n+3){border-left:0;padding-left:0}.p2-location-journey-steps article:nth-child(even){border-left:1px solid var(--line);padding-left:clamp(18px,2.7vw,40px)}}
@media(max-width:820px){.p2-course-format-grid{grid-template-columns:1fr}.p2-course-format-grid article+article{border-left:0;padding-left:0}.p2-location-journey-gallery{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}.p2-location-journey-gallery .p2-location-journey-main{grid-column:1/-1;grid-row:auto;aspect-ratio:var(--ratio-landscape)}.p2-location-journey-gallery figure:not(.p2-location-journey-main){aspect-ratio:var(--ratio-landscape)}.p2-location-facts-head{grid-template-columns:1fr;gap:12px}}
@media(max-width:700px){.p2-course-value-grid,.p2-location-journey-steps{grid-template-columns:1fr}.p2-course-value-grid article+article,.p2-course-value-grid article:nth-child(3),.p2-location-journey-steps article:nth-child(even){border-left:0;padding-left:0}.p2-course-value-grid article{padding-top:24px;padding-bottom:28px}.p2-course-portal{padding:72px 0}.p2-course-portal-copy h2{font-size:clamp(40px,11vw,54px)}.p2-course-portal-flow>div{grid-template-columns:38px minmax(0,1fr)}.p2-course-portal-flow small{grid-column:2}.p2-location-journey-gallery{grid-template-columns:1fr;gap:8px}.p2-location-journey-gallery .p2-location-journey-main,.p2-location-journey-gallery figure:not(.p2-location-journey-main){grid-column:auto;aspect-ratio:4/3}.p2-location-journey-steps article{padding:24px 0 28px}}


/* === v87 portfolio & proof system === */
.p5-home-portfolio,.p5-proof-hub,.p5-portfolio,.p5-real-proof{padding:var(--layout-section) 0}
.p5-home-portfolio{background:var(--paper)}
.p5-home-case-grid{display:grid;grid-template-columns:1.08fr .92fr .92fr;gap:clamp(20px,2.4vw,36px)}
.p5-home-case{display:block;min-width:0;border-top:1px solid var(--ink);padding-top:16px}
.p5-home-case figure{margin:0 0 18px;aspect-ratio:4/3;overflow:hidden;background:#ddd7cd}
.p5-home-case:first-child figure{aspect-ratio:5/4}
.p5-home-case img{width:100%;height:100%;object-fit:cover}
.p5-home-case>span,.p5-proof-card>span,.p5-real-proof-grid>a>span,.p5-portfolio-case-copy>small,.p5-concept-label{display:block;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.p5-home-case h3{font-family:var(--serif);font-size:clamp(26px,2.5vw,40px);font-weight:400;line-height:1.03;margin:14px 0 12px;max-width:100%}
.p5-home-case p{margin:0;color:var(--muted);font-size:13px}
.p5-prototype-caption{max-width:72ch;margin:28px 0 0;color:var(--muted);font-size:12px;line-height:1.55}
.p5-proof-hub{border-top:1px solid var(--line)}
.p5-proof-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink)}
.p5-proof-card{padding:clamp(28px,3.6vw,54px) clamp(22px,3vw,42px) 34px 0;min-width:0}
.p5-proof-card+article{border-left:1px solid var(--line);padding-left:clamp(22px,3vw,42px)}
.p5-proof-number{display:block;font-family:var(--serif);font-size:clamp(52px,5.2vw,82px);font-weight:400;line-height:.92;margin:28px 0 18px}
.p5-proof-card h3{font-family:var(--serif);font-size:clamp(30px,3vw,44px);font-weight:400;line-height:1.02;margin:28px 0 18px}
.p5-proof-card>p{color:var(--muted);max-width:36ch;line-height:1.6}
.p5-proof-card blockquote{font-family:var(--serif);font-size:clamp(24px,2.1vw,32px);line-height:1.15;margin:28px 0;color:var(--ink)}
.p5-proof-links{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:22px}.p5-proof-links a,.p5-proof-source{font-size:12px;text-decoration:underline;text-underline-offset:5px}
.p5-proof-list{list-style:none;margin:26px 0 0;padding:0;border-top:1px solid var(--line)}
.p5-proof-list li{border-bottom:1px solid var(--line)}.p5-proof-list a{display:grid;gap:5px;padding:15px 0}.p5-proof-list strong{font-size:15px}.p5-proof-list small{color:var(--muted);font-size:11px}
.p5-proof-feature{display:grid;gap:7px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;margin:28px 0}.p5-proof-feature small{color:var(--muted);line-height:1.45}
.p5-case-link{padding:clamp(68px,7vw,112px) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.p5-case-link .ek-wrap{display:grid;grid-template-columns:minmax(160px,.28fr) minmax(0,.72fr);gap:clamp(30px,6vw,96px);align-items:start}.p5-case-link h2{font-size:clamp(42px,4.5vw,68px);margin:0 0 18px;max-width:100%}.p5-case-link p{max-width:48ch;color:var(--muted);margin:0 0 22px}
.p5-abende-hero{padding:clamp(118px,10vw,154px) 0 0}.p5-abende-hero .ek-wrap{display:grid;grid-template-columns:minmax(0,.95fr) minmax(360px,1.05fr);gap:clamp(48px,6vw,96px);align-items:end}.p5-abende-hero-copy{padding-bottom:clamp(36px,5vw,64px)}.p5-abende-hero h1{font-size:clamp(66px,6.3vw,102px);line-height:.91;letter-spacing:-.06em;margin:16px 0 24px;max-width:100%}.p5-abende-hero p{font-size:18px;line-height:1.55;color:var(--muted);max-width:39ch}.p5-abende-hero figure{margin:0;aspect-ratio:4/5;overflow:hidden}.p5-abende-hero img{width:100%;height:100%;object-fit:cover}
.p5-prototype-banner{padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper)}.p5-prototype-banner .ek-wrap{display:grid;grid-template-columns:minmax(150px,.25fr) minmax(0,.75fr);gap:30px}.p5-prototype-banner span{font-size:10px;letter-spacing:.14em}.p5-prototype-banner p{margin:0;max-width:72ch;color:var(--muted);line-height:1.55;font-size:13px}
.p5-portfolio-case{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);gap:clamp(34px,6vw,96px);align-items:center;padding:clamp(54px,6vw,94px) 0;border-top:1px solid var(--line);scroll-margin-top:100px}.p5-portfolio-case:nth-of-type(even) figure{order:2}.p5-portfolio-case figure{margin:0;aspect-ratio:4/3;overflow:hidden;background:#ddd7cd}.p5-portfolio-case img{width:100%;height:100%;object-fit:cover}.p5-portfolio-case-copy{min-width:0}.p5-concept-label{margin-bottom:10px;color:var(--ink)}.p5-portfolio-case-copy h2{font-size:clamp(42px,4.4vw,68px);line-height:.96;margin:16px 0 16px;max-width:100%}.p5-case-meta{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:24px}.p5-portfolio-case-copy>p:not(.p5-case-meta){color:var(--muted);max-width:45ch;line-height:1.6}.p5-menu-line{font-family:var(--serif);font-size:clamp(21px,2vw,30px);line-height:1.2;border-top:1px solid var(--line);margin-top:26px;padding-top:20px;max-width:34ch}
.p5-real-proof{background:var(--paper)}.p5-real-proof-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink)}.p5-real-proof-grid>a{padding:28px 26px 34px 0;border-bottom:1px solid var(--line)}.p5-real-proof-grid>a+a{border-left:1px solid var(--line);padding-left:26px}.p5-real-proof-grid h3{font-family:var(--serif);font-size:clamp(28px,2.8vw,42px);font-weight:400;margin:18px 0 14px}.p5-real-proof-grid p{color:var(--muted);max-width:34ch;line-height:1.55}.p5-real-proof-grid b{display:block;margin-top:20px;font-size:12px;text-decoration:underline;text-underline-offset:5px}
@media(max-width:900px){.p5-home-case-grid,.p5-proof-grid,.p5-real-proof-grid{grid-template-columns:1fr 1fr}.p5-home-case:last-child,.p5-proof-card:last-child,.p5-real-proof-grid>a:last-child{grid-column:1/-1}.p5-proof-card:nth-child(3),.p5-real-proof-grid>a:nth-child(3){border-left:0;padding-left:0;border-top:1px solid var(--line)}.p5-abende-hero .ek-wrap{grid-template-columns:1fr}.p5-abende-hero figure{aspect-ratio:16/10}.p5-portfolio-case{grid-template-columns:1fr}.p5-portfolio-case:nth-of-type(even) figure{order:0}.p5-case-link .ek-wrap{grid-template-columns:1fr;gap:16px}}
@media(max-width:700px){.p5-home-portfolio,.p5-proof-hub,.p5-portfolio,.p5-real-proof{padding:72px 0}.p5-home-case-grid,.p5-proof-grid,.p5-real-proof-grid{grid-template-columns:1fr}.p5-home-case:last-child,.p5-proof-card:last-child,.p5-real-proof-grid>a:last-child{grid-column:auto}.p5-proof-card,.p5-proof-card+article,.p5-proof-card:nth-child(3),.p5-real-proof-grid>a,.p5-real-proof-grid>a+a,.p5-real-proof-grid>a:nth-child(3){border-left:0;padding-left:0;border-top:1px solid var(--line)}.p5-home-case figure,.p5-home-case:first-child figure{aspect-ratio:4/3}.p5-abende-hero{padding-top:104px}.p5-abende-hero h1{font-size:clamp(46px,12.6vw,62px)}.p5-abende-hero figure{aspect-ratio:4/3}.p5-prototype-banner .ek-wrap{grid-template-columns:1fr;gap:10px}.p5-portfolio-case{padding:48px 0}.p5-portfolio-case-copy h2{font-size:clamp(38px,10.5vw,52px)}.p5-case-link{padding:60px 0}}

/* v87 hero phrase contract */
.p5-abende-hero .ek-wrap{grid-template-columns:minmax(0,1.12fr) minmax(340px,.88fr)}
.p5-abende-hero h1{font-size:clamp(62px,5.5vw,92px)}
.p5-abende-hero h1 span{display:block}
@media(min-width:1024px){.p5-abende-hero h1 span{white-space:nowrap}}
@media(max-width:1023px){.p5-abende-hero .ek-wrap{grid-template-columns:1fr}.p5-abende-hero h1 span{white-space:normal}}


/* EVENTKITCHEN v89 — consolidation freeze: editorial portfolio media */
.p6-case-media{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(150px,.65fr);grid-template-rows:1fr 1fr;gap:8px;min-width:0}
.p6-case-media figure{position:relative;margin:0;overflow:hidden;background:#ddd7cd;min-width:0}
.p6-case-media .p6-case-media-main{grid-row:1/3;aspect-ratio:4/5}
.p6-case-media .p6-case-media-secondary{aspect-ratio:auto}
.p6-case-media img{width:100%;height:100%;object-fit:cover;display:block}
.p6-case-media figcaption{position:absolute;left:10px;bottom:10px;padding:7px 9px;background:rgba(247,243,236,.9);color:var(--ink);font-size:8px;letter-spacing:.13em;text-transform:uppercase;line-height:1.2}
.p5-portfolio-case:nth-of-type(even) .p6-case-media{order:2}
.p5-portfolio-case:nth-of-type(even) .p6-case-media figure{order:initial}
@media(max-width:900px){.p5-portfolio-case:nth-of-type(even) .p6-case-media{order:0}.p6-case-media{grid-template-columns:1fr 1fr;grid-template-rows:auto}.p6-case-media .p6-case-media-main{grid-column:1/-1;grid-row:auto;aspect-ratio:4/3}.p6-case-media .p6-case-media-secondary{aspect-ratio:4/3}}
@media(max-width:560px){.p6-case-media{gap:6px}.p6-case-media figcaption{left:7px;bottom:7px;font-size:7px;padding:6px 7px}}
/* v89 mobile phrase control for the two-line portfolio hero. */
@media(max-width:700px){.p5-abende-hero h1{font-size:clamp(42px,11.3vw,56px)}}
@media(max-width:700px){.p5-home-portfolio .p2-section-title h2{font-size:clamp(34px,8.8vw,42px)}}
.p3-corporate-scale h2 span{display:block;white-space:nowrap}

/* === v91 layout QA: headline width + responsive line contract === */
/* Headings must use the full width of their semantic grid/copy column. */
.config-hero h1,
.config-step h2,
.config-result h2,
.ek-detail-book h2{max-width:100%}

/* Final CTAs reserve more of the desktop row for the headline, not the actions. */
@media(min-width:821px){
  .p2-final{grid-template-columns:minmax(0,1.48fr) minmax(220px,.52fr)}
}

/* Dense editorial modules: widen copy/headline area before reducing type. */
@media(min-width:1101px){
  .p2-course-portal-grid{grid-template-columns:minmax(0,1.14fr) minmax(420px,.86fr);gap:clamp(42px,6vw,92px)}
  .p3-event-format-grid .p2-event-format-card{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr)}
  .p3-event-format-grid .p2-event-format-copy{padding:clamp(22px,2.3vw,34px)}
  .p5-portfolio-case{grid-template-columns:minmax(0,.96fr) minmax(320px,1.04fr)}
  .p5-portfolio-case-copy h2{font-size:clamp(40px,4vw,62px)}
}

/* Portfolio teaser gets two columns earlier so card headings do not collapse into 3 narrow columns. */
@media(min-width:901px) and (max-width:1100px){
  .p5-home-case-grid{grid-template-columns:1fr 1fr}
  .p5-home-case:last-child{grid-column:1/-1}
}

@media(max-width:820px){
  .p2-final h2{font-size:clamp(44px,6.2vw,52px)}
}

@media(max-width:700px){
  /* Two-beat desktop phrases may wrap naturally on narrow screens. */
  .p2-private-individual-head .ek-two-beat-heading span{white-space:normal}

  /* Slight optical reduction prevents orphan words while preserving display scale. */
  .p2-section-title h2,
  .p2-editorial-copy h2,
  .p2-process-grid h2,
  .p2-repertoire-grid h2,
  .p2-spatial-copy h2,
  .ek-section-head h2,
  .ek-two-col h2{font-size:clamp(36px,9.7vw,46px)}
  .config-step h2{font-size:clamp(36px,9.5vw,40px)}
  .faq-page-intro h1{font-size:clamp(44px,11vw,50px)}
  .gift-options-head h2{font-size:clamp(2.45rem,11vw,3.15rem)}
  .p2-final h2{font-size:clamp(38px,9.6vw,46px)}
  .p3-event-format-grid .p2-event-format-copy h3{font-size:clamp(28px,8vw,34px)}
}

/* v91 QA pass 2 — one universal rule: headings fill their semantic column. */
main h1,main h2,main h3{max-width:100%}
.p2-section-title-row>div{min-width:0;flex:1 1 auto}

/* Give high-information editorial copy enough real estate before wrapping. */
@media(min-width:1101px){
  .p2-course-portal-grid{grid-template-columns:minmax(0,1.2fr) minmax(420px,.8fr);gap:clamp(38px,5vw,78px)}
  .p2-course-portal-copy h2{font-size:clamp(46px,4.5vw,72px)}
  .p3-event-format-grid .p2-event-format-copy h3{font-size:clamp(27px,2.35vw,38px)}
  .p5-portfolio-case{grid-template-columns:minmax(0,.9fr) minmax(340px,1.1fr)}
  .p5-portfolio-case-copy h2{font-size:clamp(38px,3.6vw,56px)}
  .p2-personalisation-grid h3{font-size:clamp(28px,2.6vw,42px)}
  .faq-page-intro h1{font-size:clamp(56px,6vw,88px)}
  .gift-options-head{grid-template-columns:minmax(120px,.7fr) minmax(0,3.3fr)}
  .gift-options-head h2{font-size:clamp(2.7rem,4.4vw,5rem)}
  .p2-final h2{font-size:clamp(48px,4.8vw,74px)}
  .ek-detail-book h2{font-size:clamp(38px,3.45vw,52px)}
}

@media(max-width:1100px){
  .p2-course-portal-copy h2{font-size:clamp(42px,6vw,64px)}
}

@media(max-width:700px){
  .p2-section-title h2,
  .p2-editorial-copy h2,
  .p2-process-grid h2,
  .p2-repertoire-grid h2,
  .p2-spatial-copy h2,
  .ek-section-head h2,
  .ek-two-col h2{font-size:clamp(34px,8.9vw,42px)}
  .p2-private-individual-head h2{font-size:clamp(37px,9.6vw,42px);line-height:.98}
  .p3-event-process-head h2{font-size:clamp(36px,9.3vw,42px)}
  .p3-participation-grid h3,.p3-corporate-mode-grid h3{font-size:clamp(30px,8vw,36px)}
  .gift-options-head h2{font-size:clamp(2.2rem,9.4vw,2.75rem)}
  .p2-final h2{font-size:clamp(35px,9vw,42px)}
  .ek-detail-book h2{font-size:clamp(30px,8vw,34px)}
  .p5-home-case h3{font-size:clamp(24px,6.5vw,28px)}
  .p5-portfolio-case-copy h2{font-size:clamp(34px,8.8vw,42px)}
  .p2-personalisation-grid h3{font-size:clamp(27px,7.4vw,32px)}
  .p3-event-format-grid .p2-event-format-copy h3{font-size:clamp(27px,7.2vw,32px)}
}

/* v91 QA pass 3 — remove legacy width caps with matching specificity. */
.p2-paths .p2-section-title h2,
.ek-corporate-inner h2,
.p2-spatial-copy h2,
.p2-partner h2,
.p2-location-overlay h2,
.p2-final h2,
.ek-course-copy h3,
.ek-detail-title h1,
.ek-detail-book h2,
.ek-editorial-title h1,
.ek-section-head h2,
.ek-two-col h2,
.ek-contact-copy h1,
.ek-final-grid h2,
.legal-page h1,
.faq-page-intro h1,
.p2-home-menu-copy h2,
.p2-price-example-copy h2,
.gift-builder-copy h2{max-width:100%}

/* v91 QA pass 4 — deliberate phrase breaks instead of accidental widows. */
.qa-two-beat span,.qa-card-beat span{display:block;white-space:nowrap}
.qa-editorial-beat span{display:block}
.qa-mobile-beat span{white-space:normal}
@media(max-width:700px){
  .qa-mobile-beat span{display:block;white-space:nowrap}
}
@media(min-width:821px){
  .qa-desktop-beat span{display:block;white-space:nowrap}
  .p2-course-portal-grid{grid-template-columns:minmax(0,1.3fr) minmax(420px,.7fr)}
  .p2-course-portal-copy h2{font-size:clamp(44px,4.1vw,60px)}
}

/* v91 QA pass 5 — smooth the real responsive transition points, not just the canonical viewports. */
.qa-tablet-beat span,.qa-mid-beat span{white-space:normal}
.location-tease-heading span{display:block}

/* 821px was too early for several editorial two-column layouts. Keep the semantic copy column full-width through small tablets. */
@media(min-width:701px) and (max-width:900px){
  .p2-editorial-grid,
  .p3-event-process-head,
  .ek-contact-grid,
  .ek-lukas .p2-hero-grid{grid-template-columns:1fr;grid-template-areas:none}
  .ek-final-grid{grid-template-columns:1fr;gap:28px}
  .p2-career-ledger article{grid-template-columns:140px minmax(0,1fr)}
  .p2-career-ledger p{grid-column:2}
  .qa-tablet-beat span{display:block;white-space:nowrap}
}

/* The planner gains its ticket rail at 1101px; preserve a deliberate two-phrase question through that transition. */
@media(min-width:901px) and (max-width:1280px){
  .qa-mid-beat span{display:block;white-space:nowrap}
}

/* Extremely narrow phones need a small optical reduction in the long course-portal statement. */
@media(max-width:375px){
  .p2-course-portal-copy h2{font-size:36px}
}

/* v91 QA pass 6 — gallery cells must obey their grid tracks; aspect ratio may crop content, never enlarge the grid item. */
.p4-event-gallery-grid figure,
.p4-lukas-gallery-grid figure{min-width:0;width:100%}
.p4-event-gallery-grid .p4-event-gallery-main,
.p4-lukas-gallery-grid .p4-lukas-gallery-main{aspect-ratio:auto}
@media(min-width:821px){
  .p4-event-gallery-grid,
  .p4-lukas-gallery-grid{grid-template-columns:2fr 1fr 1fr}
}

/* v91 QA pass 7 — resilient phrase wrapping and smooth tablet transitions. */
main h1,main h2,main h3{text-wrap:pretty}
.ek-two-beat-heading span,
.qa-two-beat span,
.qa-card-beat span,
.qa-mobile-beat span,
.qa-desktop-beat span,
.qa-tablet-beat span,
.qa-mid-beat span{white-space:normal}

/* Small tablets keep editorial heroes and key product heads in one semantic column. */
@media(min-width:701px) and (max-width:900px){
  .p2-hero-private .p2-hero-grid,
  .p2-course-hero-copy,
  .p2-location-title,
  .ek-editorial-title,
  .p2-private-individual-head,
  .p2-team-head,
  .p2-wine-grid{grid-template-columns:1fr;grid-template-areas:none;gap:18px}
  .p2-hero-private .p2-hero-image{width:min(100%,680px);aspect-ratio:var(--ratio-landscape)}
  .p2-course-hero-copy>.ek-kicker,.p2-course-hero-copy h1,.p2-course-hero-copy>p,.p2-course-hero-copy>a,
  .p2-location-title .ek-kicker,.p2-location-title h1,.p2-location-title>p,.p2-location-title>a,
  .p2-private-individual-head .ek-kicker,.p2-private-individual-head h2,.p2-private-individual-head p,
  .p2-team-head .ek-kicker,.p2-team-head h2,.p2-team-head p{grid-area:auto}
  .p2-course-hero-copy>p,.p2-location-title>p,.p2-private-individual-head p,.p2-team-head p{margin-top:4px}
}

/* Desktop splits reserve enough actual measure for the headline column. */
@media(min-width:901px){
  .ek-editorial-title{grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:clamp(36px,5vw,78px)}
  .p2-private-individual-head,.p2-team-head{grid-template-columns:minmax(120px,.18fr) minmax(0,.82fr);column-gap:clamp(28px,4vw,60px)}
}

/* The recipe-portal split starts only when both columns have enough room. */
@media(min-width:821px) and (max-width:1100px){
  .p2-course-portal-grid{grid-template-columns:1fr;gap:40px}
  .p2-course-portal-flow{max-width:760px}
}
@media(min-width:1101px){
  .p2-course-portal-grid{grid-template-columns:minmax(0,1.42fr) minmax(360px,.58fr);gap:clamp(34px,4.5vw,68px)}
  .p2-course-portal-copy h2{font-size:clamp(42px,3.8vw,58px)}
}

/* Mobile display type: preserve emphasis without forcing overflow. */
@media(max-width:700px){
  .ek-editorial-title h1.ek-two-beat-heading{font-size:36px}
  .qa-private-hero>span,.qa-private-hero em{display:block}
  .qa-private-hero em span{display:block}
  .p2-course-grid h3{font-size:30px}
  .ek-course-copy h3{font-size:28px;line-height:1.02}
  .ek-course-title-long span{display:block}
  .ek-detail-title h1.ek-detail-title-compact{font-size:36px;letter-spacing:-.06em}
  .p5-proof-card h3{font-size:28px}
}

/* Mid-size cards: long editorial titles get a little more breathing room. */
@media(min-width:701px) and (max-width:1100px){
  .ek-course-copy h3{font-size:30px}
}

/* v91 QA pass 8 — final orphan and grid-min-width cleanup. */
.p2-wine-grid>div,
.p2-course-format-grid>article,
.ek-course-toolbar>div,
.ek-course-row>* ,
.p5-home-case,
.p5-proof-card{min-width:0}

@media(min-width:701px) and (max-width:900px){
  .p2-process-grid{grid-template-columns:1fr;grid-template-areas:none}
  .p2-process-grid>div{grid-area:auto}
}

@media(min-width:821px) and (max-width:900px){
  .p2-course-format-grid{grid-template-columns:1fr}
  .p2-course-format-grid article+article{border-left:0;padding-left:0}
}

@media(max-width:700px){
  .ek-contact-copy h1.qa-contact-beat{font-size:39px}
  .ek-contact-copy h1.qa-contact-beat span{display:block;white-space:nowrap}
  .ek-course-toolbar h2{font-size:34px;white-space:normal}
  .ek-course-copy h3{font-size:25px}
  .p2-wine-grid>div:first-child h2{font-size:36px}
  .p2-wine-grid h2 span{white-space:normal}
}

@media(min-width:701px) and (max-width:1100px){
  .p2-course-grid h3{font-size:30px}
}

@media(max-width:390px){
  .ek-detail-title h1.ek-detail-title-compact{font-size:34px}
}


/* v92 corporate + media editorial upgrade */
.p6-corporate-editorial{padding:var(--layout-section) 0;background:#11110f;color:var(--paper)}
.p6-corporate-editorial-head{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(280px,.62fr);gap:clamp(40px,7vw,118px);align-items:end;margin-bottom:clamp(44px,5vw,78px)}
.p6-corporate-editorial-head .ek-kicker{color:rgba(247,243,236,.58)}
.p6-corporate-editorial-head h2{font-size:clamp(50px,5.7vw,92px);line-height:.94;letter-spacing:-.052em;margin:14px 0 0;max-width:100%}
.p6-corporate-editorial-head h2 span{display:block}
.p6-corporate-editorial-head p{font-size:clamp(16px,1.35vw,19px);line-height:1.65;color:rgba(247,243,236,.7);max-width:42ch;margin:0}
.p6-corporate-editorial-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);grid-template-rows:auto auto;gap:clamp(14px,1.6vw,24px)}
.p6-corporate-editorial-grid figure{position:relative;margin:0;overflow:hidden;background:#1a1a18;min-height:280px}
.p6-corporate-editorial-grid figure:first-child{grid-row:1 / span 2;min-height:clamp(560px,60vw,820px)}
.p6-corporate-editorial-grid img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.p6-corporate-editorial-grid figure:hover img{transform:scale(1.015)}
.p6-corporate-editorial-grid figcaption{position:absolute;left:0;right:0;bottom:0;padding:clamp(18px,2.4vw,34px);background:linear-gradient(180deg,transparent,rgba(0,0,0,.74));display:flex;flex-direction:column;gap:7px}
.p6-corporate-editorial-grid figcaption span{font-size:10px;letter-spacing:.16em;color:rgba(255,255,255,.68)}
.p6-corporate-editorial-grid figcaption strong{font-family:var(--serif);font-size:clamp(22px,2vw,32px);line-height:1.05;font-weight:400;max-width:24ch;color:#fff}

.p6-corporate-proof{padding:var(--layout-section) 0}
.p6-corporate-proof-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.48fr);gap:clamp(40px,7vw,110px);align-items:end;margin-bottom:clamp(36px,5vw,70px)}
.p6-corporate-proof-head h2{font-size:clamp(48px,5vw,78px);line-height:.96;letter-spacing:-.048em;margin:14px 0 0;max-width:100%}
.p6-corporate-proof-head p{color:var(--muted);line-height:1.65;max-width:42ch;margin:0}
.p6-corporate-proof-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));border-top:1px solid var(--ink)}
.p6-corporate-proof-grid article{grid-column:span 4;padding:clamp(30px,3.5vw,54px) clamp(24px,3.3vw,48px) clamp(36px,4vw,62px) 0;border-bottom:1px solid var(--line)}
.p6-corporate-proof-grid article+article{border-left:1px solid var(--line);padding-left:clamp(24px,3.3vw,48px)}
.p6-corporate-proof-index{font-size:10px;letter-spacing:.15em;color:var(--muted);margin-bottom:clamp(28px,4vw,54px)}
.p6-corporate-proof-grid h3{font-family:var(--serif);font-size:clamp(30px,3vw,46px);line-height:1;letter-spacing:-.035em;font-weight:400;margin:0 0 20px}
.p6-corporate-proof-grid p{color:var(--muted);line-height:1.65;max-width:43ch;margin:0 0 28px}
.p6-corporate-proof-links{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.p6-corporate-proof-links a{padding:12px 0;border-bottom:1px solid var(--line);font-size:13px;text-decoration:none;color:inherit}

.p6-media-mentions{padding:var(--layout-section) 0;background:var(--paper)}
.p6-media-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.5fr);gap:clamp(40px,7vw,112px);align-items:end;margin-bottom:clamp(34px,5vw,66px)}
.p6-media-head h2{font-size:clamp(54px,5.3vw,86px);line-height:.95;letter-spacing:-.05em;margin:14px 0 0}
.p6-media-head p{color:var(--muted);line-height:1.65;max-width:42ch;margin:0}
.p6-media-list{border-top:1px solid var(--ink)}
.p6-media-list>a{display:grid;grid-template-columns:minmax(150px,.34fr) minmax(0,1fr) auto;gap:clamp(20px,3vw,54px);align-items:center;padding:clamp(22px,2.4vw,34px) 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}
.p6-media-list>a span{font-size:10px;letter-spacing:.14em;color:var(--muted)}
.p6-media-list>a strong{font-family:var(--serif);font-size:clamp(24px,2.25vw,36px);line-height:1.05;font-weight:400;letter-spacing:-.025em}
.p6-media-list>a em{font-style:normal;font-size:12px;white-space:nowrap}
.p6-media-list>a:hover strong{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}

.p6-home-media-links{border-top:1px solid var(--line);margin:24px 0 18px}
.p6-home-media-links a{display:block;padding:11px 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}
.p6-home-media-links strong,.p6-home-media-links small{display:block}
.p6-home-media-links strong{font-size:14px;font-weight:500}
.p6-home-media-links small{font-size:11px;color:var(--muted);margin-top:3px}

@media (max-width:900px){
  .p6-corporate-editorial-head,.p6-corporate-proof-head,.p6-media-head{grid-template-columns:1fr;gap:24px}
  .p6-corporate-editorial-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}
  .p6-corporate-editorial-grid figure:first-child{grid-column:1 / -1;grid-row:auto;min-height:56vw}
  .p6-corporate-editorial-grid figure:not(:first-child){min-height:38vw}
  .p6-corporate-proof-grid article{grid-column:1 / -1;padding-right:0}
  .p6-corporate-proof-grid article+article{border-left:0;padding-left:0}
  .p6-media-list>a{grid-template-columns:1fr auto;gap:8px 20px}
  .p6-media-list>a span{grid-column:1 / -1}
}
@media (max-width:600px){
  .p6-corporate-editorial-head h2,.p6-corporate-proof-head h2,.p6-media-head h2{font-size:clamp(42px,12vw,58px)}
  .p6-corporate-editorial-grid{grid-template-columns:1fr}
  .p6-corporate-editorial-grid figure:first-child{grid-column:auto;min-height:115vw}
  .p6-corporate-editorial-grid figure:not(:first-child){min-height:72vw}
  .p6-media-list>a{grid-template-columns:1fr;padding:24px 0}
  .p6-media-list>a em{justify-self:start}
}

.p6-media-quote{font-family:var(--serif);font-size:clamp(32px,4.2vw,66px);line-height:1.03;letter-spacing:-.045em;font-weight:400;margin:0 0 clamp(40px,6vw,82px);max-width:18ch}.p6-media-quote small{display:block;font-family:var(--sans);font-size:10px;line-height:1.4;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-top:18px}


/* v93 — final visual-rhythm + Lukas brand pass */
:root{
  --v93-reading: 48rem;
  --v93-editorial-gap: clamp(34px,5vw,76px);
}

/* Keep editorial headings generous without letting copy columns become over-wide. */
.p2-section-title>div>p,
.p2-section-lede,
.p2-editorial-copy>p,
.p6-corporate-editorial-head>p,
.p6-corporate-proof-head>p{max-width:46rem}

/* Prevent dense card-led areas from visually colliding with the next section. */
.p2-course-grid,
.p5-home-case-grid,
.p5-proof-grid,
.p6-corporate-proof-grid{margin-bottom:clamp(8px,1vw,18px)}

/* Lukas: public presence as editorial proof, not a logo wall. */
.p7-lukas-public{padding:var(--layout-section) 0;background:var(--paper)}
.p7-public-head{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(280px,.52fr);gap:clamp(42px,7vw,116px);align-items:end;margin-bottom:var(--v93-editorial-gap)}
.p7-public-head h2{font-size:clamp(50px,5.5vw,90px);line-height:.94;letter-spacing:-.052em;margin:14px 0 0;max-width:100%}
.p7-public-head h2 span{display:block}
.p7-public-head p{margin:0;color:var(--muted);line-height:1.65;max-width:42ch}
.p7-public-feature{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);min-height:clamp(520px,52vw,760px);background:#11110f;color:var(--paper);margin-bottom:clamp(42px,6vw,84px)}
.p7-public-feature figure{margin:0;overflow:hidden;min-height:420px}
.p7-public-feature img{width:100%;height:100%;object-fit:cover;display:block}
.p7-public-feature-copy{padding:clamp(34px,5vw,74px);display:flex;flex-direction:column;justify-content:center}
.p7-public-feature-copy>span{font-size:10px;letter-spacing:.16em;color:rgba(247,243,236,.58)}
.p7-public-feature-copy blockquote{font-family:var(--serif);font-size:clamp(34px,3.5vw,56px);line-height:1.02;letter-spacing:-.04em;font-weight:400;margin:clamp(28px,4vw,52px) 0 24px}
.p7-public-feature-copy p{color:rgba(247,243,236,.7);line-height:1.65;max-width:40ch;margin:0 0 28px}
.p7-public-feature-copy .ek-link{color:var(--paper);align-self:flex-start}
.p7-public-list{border-top:1px solid var(--ink)}
.p7-public-list>a{display:grid;grid-template-columns:minmax(160px,.32fr) minmax(0,1fr) auto;gap:clamp(20px,3vw,52px);align-items:center;padding:clamp(22px,2.4vw,34px) 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}
.p7-public-list span{font-size:10px;letter-spacing:.14em;color:var(--muted)}
.p7-public-list strong{font-family:var(--serif);font-size:clamp(23px,2.15vw,34px);line-height:1.06;font-weight:400;letter-spacing:-.025em}
.p7-public-list em{font-style:normal;font-size:12px;white-space:nowrap}

.p7-lukas-position{padding:var(--layout-section) 0;background:#ebe5dc}
.p7-position-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(280px,.58fr);gap:clamp(44px,8vw,130px);align-items:start}
.p7-position-grid h2{font-size:clamp(48px,5.2vw,84px);line-height:.95;letter-spacing:-.05em;margin:14px 0 0;max-width:100%}
.p7-position-grid h2 span{display:block}
.p7-position-grid>div:last-child{padding-top:clamp(22px,5vw,72px)}
.p7-position-grid p{font-size:clamp(17px,1.45vw,20px);line-height:1.65;margin:0 0 34px;max-width:42ch}
.p7-position-links{border-top:1px solid rgba(17,17,15,.4)}
.p7-position-links a{display:flex;justify-content:space-between;padding:15px 0;border-bottom:1px solid rgba(17,17,15,.18);text-decoration:none;color:inherit;font-size:14px}

@media(max-width:900px){
  .p7-public-head,.p7-position-grid{grid-template-columns:1fr;gap:24px}
  .p7-public-feature{grid-template-columns:1fr;min-height:0}
  .p7-public-feature figure{aspect-ratio:16/10;min-height:0}
  .p7-position-grid>div:last-child{padding-top:0}
  .p7-public-list>a{grid-template-columns:1fr auto;gap:8px 20px}
  .p7-public-list span{grid-column:1/-1}
}
@media(max-width:600px){
  .p7-public-head h2,.p7-position-grid h2{font-size:clamp(42px,12vw,58px)}
  .p7-public-feature figure{aspect-ratio:4/5}
  .p7-public-feature-copy{padding:32px 24px 38px}
  .p7-public-list>a{grid-template-columns:1fr;padding:24px 0}
  .p7-public-list em{justify-self:start}
}


/* v94 — Gutschein premium pass + final QA refinements */
.gift-editorial{padding:clamp(84px,10vw,154px) 0;background:#ebe5dc;overflow:hidden}
.gift-editorial-grid{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:clamp(42px,7vw,116px);align-items:center}
.gift-editorial-copy h2{font-family:var(--serif);font-size:clamp(3.1rem,5.9vw,6.9rem);font-weight:400;line-height:.91;letter-spacing:-.05em;margin:1rem 0 1.6rem;max-width:100%}
.gift-editorial-copy h2 span{display:block}
.gift-editorial-copy>p{font-size:clamp(1.05rem,1.35vw,1.22rem);line-height:1.65;max-width:34rem;margin:0 0 clamp(28px,4vw,44px)}
.gift-editorial-notes{border-top:1px solid rgba(17,17,15,.34);display:grid}
.gift-editorial-notes span{padding:14px 0;border-bottom:1px solid rgba(17,17,15,.16);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}
.gift-editorial-images{display:grid;grid-template-columns:minmax(0,.82fr) minmax(180px,.48fr);gap:clamp(14px,2vw,28px);align-items:end}
.gift-editorial-images figure{margin:0;overflow:hidden}
.gift-editorial-main{aspect-ratio:4/5}
.gift-editorial-detail{aspect-ratio:4/5;transform:translateY(clamp(34px,5vw,76px))}
.gift-editorial-images img{width:100%;height:100%;display:block;object-fit:cover}
.gift-options-head{align-items:end}
.gift-options-head>p{grid-column:2;max-width:38rem;color:var(--muted);line-height:1.6;margin:-1.25rem 0 0}
.gift-builder-section{padding:clamp(82px,9vw,140px) 0}
.gift-builder{border-radius:0;background:transparent;border-top:1px solid var(--ink);border-right:0;border-left:0;border-bottom:0;padding:clamp(24px,3vw,42px) 0 0}
.gift-builder-copy .p2-demo-label{display:inline-flex;margin-top:1.25rem}
.gift-memory{min-height:clamp(620px,58vw,820px)}
.gift-memory figure{min-height:inherit}

/* Small hygiene fixes: keyboard focus remains visible across bespoke links/cards. */
.ek-site :where(a,button,input,select,textarea):focus-visible{outline:2px solid currentColor;outline-offset:4px}
.gift-value-options input:focus-visible+span{outline:2px solid var(--ink);outline-offset:3px}

@media(max-width:900px){
  .gift-editorial-grid{grid-template-columns:1fr;gap:44px}
  .gift-editorial-images{max-width:760px}
  .gift-options-head>p{grid-column:1;margin:0;max-width:34rem}
  .gift-memory figure{min-height:520px}
}
@media(max-width:700px){
  .gift-editorial{padding:72px 0 92px}
  .gift-editorial-copy h2{font-size:clamp(2.75rem,13vw,4.55rem)}
  .gift-editorial-images{grid-template-columns:minmax(0,1fr) minmax(110px,.43fr);gap:12px;margin-right:-5.5vw}
  .gift-editorial-detail{transform:translateY(32px)}
  .gift-options-head>p{margin-top:-10px}
  .gift-builder{padding-top:24px}
}
@media(max-width:360px){
  .gift-editorial-images{grid-template-columns:1fr;margin-right:0}
  .gift-editorial-detail{display:none}
}
/* v94 heading safety: new gift editorial line may wrap on very narrow screens. */
.gift-editorial-copy h2 span{white-space:normal}

/* v94 layout deep-QA fixes — 2026-08-13 */
@media (max-width:360px){
  .p2-team-head h2 span{white-space:normal}
}
@media (max-width:820px){
  .ek-course-detail [data-primary-hero-action]{min-height:44px;display:inline-flex;align-items:center}
}


/* v95 — editorial video proof on Lukas */
.p7-public-video{display:grid;grid-template-columns:minmax(0,.92fr) minmax(320px,1.08fr);margin-top:clamp(42px,6vw,82px);background:#ebe5dc;color:var(--ink);text-decoration:none;overflow:hidden}
.p7-public-video figure{margin:0;min-height:360px;overflow:hidden}
.p7-public-video img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}
.p7-public-video>div{padding:clamp(34px,5vw,72px);display:flex;flex-direction:column;justify-content:center}
.p7-public-video span{font-size:10px;letter-spacing:.15em;color:var(--muted)}
.p7-public-video h3{font-family:var(--serif);font-size:clamp(34px,3.6vw,56px);line-height:1.02;letter-spacing:-.04em;font-weight:400;margin:24px 0 18px;max-width:12ch}
.p7-public-video p{margin:0 0 28px;color:var(--muted);line-height:1.65;max-width:42ch}
.p7-public-video em{font-style:normal;font-size:12px}
@media(hover:hover){.p7-public-video:hover img{transform:scale(1.025)}}
@media(max-width:760px){
  .p7-public-video{grid-template-columns:1fr}
  .p7-public-video figure{min-height:0;aspect-ratio:16/10}
  .p7-public-video>div{padding:30px 24px 34px}
}


/* v95 — keep the corporate scale headline inside narrow mobile columns */
@media(max-width:390px){
  .p3-corporate-scale h2{font-size:clamp(39px,14vw,52px)}
}


/* v96 — feedback part 2: information architecture & clarity */
.p96-course-hero-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:28px}
.p96-course-handwerk{padding:var(--layout-section) 0;background:#ebe5dc}
.p96-course-handwerk-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.62fr);gap:clamp(42px,8vw,132px);align-items:start}
.p96-course-handwerk h2{font-size:clamp(48px,5.4vw,86px);line-height:.95;letter-spacing:-.05em;margin:14px 0 0}
.p96-course-handwerk h2 span{display:block}
.p96-course-handwerk-grid>div:last-child{padding-top:clamp(24px,5vw,76px)}
.p96-course-handwerk-grid p{font-size:clamp(17px,1.45vw,20px);line-height:1.65;margin:0;max-width:43ch}
.p96-course-handwerk-note{margin-top:22px!important;color:var(--muted)}
.p96-course-booking-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:clamp(34px,5vw,62px)}
.p96-course-booking-grid article{background:var(--paper);padding:clamp(28px,4vw,54px);display:flex;flex-direction:column;align-items:flex-start}
.p96-course-booking-grid article>span{font-size:10px;letter-spacing:.14em;color:var(--muted)}
.p96-course-booking-grid h3{font-family:var(--serif);font-size:clamp(31px,3.2vw,48px);line-height:1.02;letter-spacing:-.035em;font-weight:400;margin:28px 0 18px}
.p96-course-booking-grid p{line-height:1.65;max-width:46ch}
.p96-course-booking-grid ul{padding:0;margin:22px 0 30px;list-style:none;width:100%}
.p96-course-booking-grid li{border-top:1px solid var(--line);padding:10px 0;font-size:13px}
.p96-course-booking-grid .btn{margin-top:auto}
.p96-course-repertoire{padding:var(--layout-section) 0;background:#11110f;color:var(--paper)}
.p96-course-repertoire .ek-kicker,.p96-course-repertoire .p2-section-lede{color:rgba(247,243,236,.62)}
.p96-course-topic-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid rgba(247,243,236,.35);margin-top:clamp(34px,5vw,60px)}
.p96-course-topic-list span{font-family:var(--serif);font-size:clamp(24px,2.4vw,36px);padding:24px 12px 24px 0;border-bottom:1px solid rgba(247,243,236,.2)}
.p96-course-repertoire-actions{display:flex;gap:28px;flex-wrap:wrap;margin-top:32px}
.p96-course-repertoire .ek-link{color:var(--paper)}
.p96-scale-grid strong{font-size:clamp(24px,2.5vw,38px);line-height:1.05}
.p96-corporate-scale-metric strong{font-size:clamp(28px,3.4vw,52px);line-height:1!important;letter-spacing:-.04em}
.p96-location-formats{padding:var(--layout-section) 0;background:#ebe5dc}
.p96-location-format-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:clamp(34px,5vw,60px);border-top:1px solid var(--ink)}
.p96-location-format-grid article{display:flex;gap:16px;align-items:baseline;padding:22px 0;border-bottom:1px solid var(--line)}
.p96-location-format-grid article:nth-child(3n+2),.p96-location-format-grid article:nth-child(3n+3){padding-left:22px}
.p96-location-format-grid span{font-size:10px;letter-spacing:.13em;color:var(--muted)}
.p96-location-format-grid strong{font-family:var(--serif);font-size:clamp(23px,2vw,31px);font-weight:400;line-height:1.08}
.p96-location-facts-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important}
@media(max-width:1000px){.p96-location-facts-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.p96-location-format-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.p96-location-format-grid article:nth-child(n){padding-left:0;padding-right:18px}}
@media(max-width:760px){.p96-course-handwerk-grid,.p96-course-booking-grid{grid-template-columns:1fr}.p96-course-handwerk-grid{gap:18px}.p96-course-handwerk-grid>div:last-child{padding-top:0}.p96-course-topic-list{grid-template-columns:repeat(2,minmax(0,1fr))}.p96-course-hero-actions{align-items:flex-start;flex-direction:column}.p96-location-format-grid,.p96-location-facts-grid{grid-template-columns:1fr!important}}
@media(max-width:360px){.p96-course-handwerk h2{font-size:clamp(39px,12vw,48px)}.p96-course-topic-list{grid-template-columns:1fr}.p96-corporate-scale-metric strong{font-size:26px}}

/* v96 QA: allow long institutional names to wrap inside proof cards. */
.p6-corporate-proof h3{overflow-wrap:anywhere;hyphens:auto}

/* v98 Paket A — confirmed mobile overlap fixes only */
@media(max-width:700px){
  /* Gutscheine: keep the editorial two-image composition inside the content column. */
  .gift-editorial-images{
    grid-template-columns:minmax(0,1fr) minmax(0,.38fr);
    gap:10px;
    margin-right:0;
    width:100%;
    max-width:100%;
    min-width:0;
  }
  .gift-editorial-images figure{min-width:0}
  .gift-editorial-detail{transform:translateY(24px)}

  /* Location: legacy nowrap expanded the one-column grid beyond the viewport. */
  .p2-partner .p2-process-grid>div{min-width:0}
  .p2-partner h2{
    white-space:normal;
    overflow-wrap:normal;
    word-break:normal;
  }
  .p2-partner p,.p2-partner small{max-width:100%;overflow-wrap:break-word}
}

@media(max-width:360px){
  .gift-editorial-images{grid-template-columns:1fr;gap:0}
  .gift-editorial-detail{display:none;transform:none}
}

/* v98 Paket A — optical refinement after mobile verification */
@media(min-width:361px) and (max-width:700px){
  .gift-editorial-images{grid-template-columns:minmax(0,1fr) minmax(0,.5fr)}
  .gift-editorial-detail{transform:translateY(16px)}
}


/* v99 Paket B — image art direction / crop final pass */
/* HOME: keep focal subjects away from hard center-crops in portrait cards. */
.ek-home .p2-path-grid .p2-path:nth-child(1) img{object-position:52% 48%}
.ek-home .p2-path-grid .p2-path:nth-child(2) img{object-position:50% 43%}
.ek-home .p2-path-grid .p2-path:nth-child(3) img{object-position:50% 54%}
.ek-home .p5-home-case:nth-child(1) img{object-position:50% 58%}
.ek-home .p5-home-case:nth-child(2) img{object-position:52% 46%}
.ek-home .p5-home-case:nth-child(3) img{object-position:50% 46%}
.ek-home .p2-course-grid>a:nth-child(1) img{object-position:50% 46%}
.ek-home .p2-course-grid>a:nth-child(2) img{object-position:40% 50%}
.ek-home .p2-course-grid>a:nth-child(3) img{object-position:50% 48%}
.ek-home .p2-location-tease img{object-position:50% 55%}
.ek-home .p2-gift-image img{object-position:50% 48%}

/* PRIVATE DINING: prioritize plated focal points and Lukas' face/hands. */
.ek-private .p2-signature-food img{object-position:50% 62%}
.ek-private .p2-menu-grid .p2-menu-card:nth-child(1) img{object-position:50% 56%}
.ek-private .p2-menu-grid .p2-menu-card:nth-child(2) img{object-position:50% 48%}
.ek-private .p2-menu-grid .p2-menu-card:nth-child(3) img{object-position:48% 50%}
.ek-private .p2-personalisation-grid article:nth-child(1) img{object-position:50% 48%}
.ek-private .p2-personalisation-grid article:nth-child(2) img{object-position:53% 48%}
.ek-private .p2-personalisation-grid article:nth-child(3) img{object-position:54% 50%}
.ek-private .p2-private-fresh .p2-editorial-image img{object-position:50% 48%}
.ek-private .p2-team-visual figure:first-child img{object-position:50% 34%}
.ek-private .p2-team-visual figure:last-child img{object-position:50% 48%}

/* EVENTS: format cards now use orientation-matched source masters; tune focal points. */
.ek-events .p3-event-format-grid .p2-event-format-card:nth-child(1) img{object-position:50% 46%}
.ek-events .p3-event-format-grid .p2-event-format-card:nth-child(2) img{object-position:50% 58%}
.ek-events .p3-event-format-grid .p2-event-format-card:nth-child(3) img{object-position:50% 47%}
.ek-events .p3-event-format-grid .p2-event-format-card:nth-child(4) img{object-position:50% 55%}
.ek-events .p4-event-gallery-main img{object-position:50% 50%}
.ek-events .p4-event-gallery-grid figure:nth-child(2) img{object-position:55% 48%}
.ek-events .p4-event-gallery-grid figure:nth-child(3) img{object-position:50% 46%}
.ek-events .p2-event-location img{object-position:50% 57%}

/* COURSES: coherent crops for current and archive course rows. */
.ek-courses .p2-course-hero-images figure:nth-child(1) img{object-position:48% 50%}
.ek-courses .p2-course-hero-images figure:nth-child(2) img{object-position:50% 57%}
.ek-courses .p2-course-hero-images figure:nth-child(3) img{object-position:50% 48%}
.ek-courses .ek-course-row figure img{object-position:50% 50%}
.ek-courses .ek-course-row img[src$="course-tapas.jpg"]{object-position:50% 63%}
.ek-courses .ek-course-row img[src$="course-bbq.jpg"]{object-position:43% 50%}
.ek-courses .p2-course-teacher img{object-position:50% 34%}

/* OUR EVENINGS: portrait masters are now used in portrait mosaic cells. */
.ek-abende .p6-case-media img{object-position:50% 50%}
.ek-abende .p5-portfolio-case:nth-of-type(1) .p6-case-media-main img{object-position:50% 60%}
.ek-abende .p5-portfolio-case:nth-of-type(2) .p6-case-media-main img{object-position:50% 48%}
.ek-abende .p5-portfolio-case:nth-of-type(3) .p6-case-media-main img{object-position:50% 45%}
.ek-abende .p5-portfolio-case:nth-of-type(4) .p6-case-media-main img{object-position:50% 48%}
.ek-abende .p5-portfolio-case:nth-of-type(5) .p6-case-media-main img{object-position:50% 45%}
.ek-abende .p5-portfolio-case:nth-of-type(6) .p6-case-media-main img{object-position:50% 52%}

@media(max-width:700px){
  /* Mobile cards are landscape; recentre focal points for the wider crop. */
  .ek-home .p2-course-grid>a:nth-child(2) img{object-position:44% 50%}
  .ek-private .p2-signature-food img{object-position:50% 60%}
  .ek-events .p3-event-format-grid .p2-event-format-card img{object-position:50% 50%}
  .ek-abende .p6-case-media img{object-position:50% 50%}
}


/* v100 Paket C — final art direction for Location, Gutscheine, Lukas & Firmenevents */
/* LOCATION: preserve the EVENTKITCHEN sign and the meaningful table/event focal points. */
.ek-location .p2-location-hero>figure img{object-position:50% 48%}
.ek-location .p2-location-journey-main img{object-position:52% 50%}
.ek-location .p2-location-journey-gallery figure:nth-child(2) img{object-position:48% 50%}
.ek-location .p2-location-journey-gallery figure:nth-child(3) img{object-position:50% 46%}

/* GIFTS: portrait masters and calmer focal placement in tall editorial slots. */
.ek-gift-page .gift-hero-image img{object-position:50% 48%}
.ek-gift-page .gift-editorial-main img{object-position:50% 52%}
.ek-gift-page .gift-editorial-detail img{object-position:50% 48%}
.ek-gift-page .gift-memory img{object-position:50% 48%}

/* LUKAS: faces/hands remain inside narrow gallery crops; public modules stay human-led. */
.ek-lukas .p2-hero-image img{object-position:54% 26%}
.ek-lukas .p2-lukas-work .p2-editorial-image img{object-position:50% 36%}
.ek-lukas .p4-lukas-gallery-main img{object-position:50% 38%}
.ek-lukas .p4-lukas-gallery-grid figure:nth-child(2) img{object-position:50% 38%}
.ek-lukas .p4-lukas-gallery-grid figure:nth-child(3) img{object-position:50% 52%}
.ek-lukas .p7-public-feature img{object-position:50% 38%}
.ek-lukas .p7-public-video img{object-position:50% 42%}

/* CORPORATE: orientation-matched lead image; keep people and food within every crop. */
.ek-firm .ek-wide-photo img{object-position:50% 48%}
.ek-firm .p6-corporate-editorial-main img{object-position:50% 48%}
.ek-firm .p6-corporate-editorial-grid figure:nth-child(2) img{object-position:50% 50%}
.ek-firm .p6-corporate-editorial-grid figure:nth-child(3) img{object-position:48% 50%}
.ek-firm .ek-final figure img{object-position:50% 40%}

@media(max-width:700px){
  .ek-location .p2-location-hero>figure img{object-position:50% 44%}
  .ek-location .p2-location-journey-gallery img{object-position:50% 50%}
  .ek-gift-page .gift-hero-image img{object-position:50% 50%}
  .ek-gift-page .gift-editorial-main img{object-position:50% 50%}
  .ek-lukas .p2-hero-image img{object-position:54% 24%}
  .ek-lukas .p4-lukas-gallery-grid figure img{object-position:50% 42%}
  .ek-firm .p6-corporate-editorial-grid figure:first-child img{object-position:50% 46%}
  .ek-firm .p6-corporate-editorial-grid figure:not(:first-child) img{object-position:50% 50%}
}

/* v100 Paket C — final mobile containment after cross-page stress test */
@media(max-width:700px){
  .ek-gift-page .gift-memory{
    grid-template-columns:minmax(0,1fr);
    width:100%;
    max-width:100%;
    min-width:0;
    overflow:hidden;
  }
  .ek-gift-page .gift-memory figure{
    width:100%;
    max-width:100%;
    min-width:0;
    min-height:0;
    aspect-ratio:4/5;
  }
  .ek-gift-page .gift-memory img{width:100%;height:100%}
}
@media(max-width:300px){
  .ek-firm .p6-corporate-editorial-head h2{
    font-size:38px;
    overflow-wrap:normal;
    word-break:normal;
  }
}

/* v101 master consolidation — ultra-narrow safety (280–300 px). */
@media(max-width:300px){
  .ek-contact-copy h1.qa-contact-beat{font-size:34px;line-height:.98}
  .ek-contact-copy h1.qa-contact-beat span{white-space:normal}
  .legal-grid h2{font-size:26px}
}

/* v101 master consolidation — legal grid must allow long single words to shrink within ultra-narrow columns. */
.legal-grid>*{min-width:0;max-width:100%}


/* v102 LIVE CANDIDATE — 2026-09-23 */
.p102-course-preview .p102-course-preview-meta{display:block;margin-top:16px;font-size:9px;line-height:1.3;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.p102-course-preview .p2-course-grid h3{margin-top:7px}
.course-empty{padding:clamp(38px,5vw,68px) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.p102-course-empty-inner{max-width:760px;display:grid;gap:14px}
.p102-course-empty-inner strong{font-family:var(--serif);font-size:clamp(32px,4vw,54px);line-height:1.02;font-weight:400;letter-spacing:-.035em}
.p102-course-empty-inner p{max-width:60ch;margin:0;color:var(--muted);line-height:1.65}
.p102-course-empty-actions{display:flex;flex-wrap:wrap;gap:18px 28px;margin-top:8px}
.ek-firm .p3-firm-hero .ek-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 26px;margin-top:26px}
.ek-firm .p3-firm-hero .ek-actions .ek-link{margin:0}
.legal-copy h3{font-family:var(--sans);font-size:12px;line-height:1.3;letter-spacing:.11em;text-transform:uppercase;margin:34px 0 10px}
.legal-copy h3:first-child{margin-top:0}
.legal-copy p{max-width:72ch}
@media(max-width:700px){
  .ek-firm .p3-firm-hero .ek-actions{align-items:flex-start;flex-direction:column;gap:7px;margin-top:24px}
  .ek-firm .p3-firm-hero .ek-actions .ek-link{min-height:38px;width:auto}
  .p102-course-empty-actions{align-items:flex-start;flex-direction:column;gap:7px}
}

/* v109 · dynamic course links */
.ek-course-copy h3 a{color:inherit;text-decoration:none}.ek-course-copy h3 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}.ek-course-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.ek-course-actions a.ek-text-button{text-decoration:none}


/* v110 public premium pass: dual-path conversion without changing the art direction */
.p110-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 26px}
.p110-hero-actions .ek-link{margin:0}
.p110-hero-actions .p110-direct-link{color:var(--muted)}
@media(max-width:700px){
  .p110-hero-actions{gap:10px 18px}
  .mobile-conversion-bar.mobile-conversion-bar--home{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .mobile-conversion-bar--home .mobile-cta-secondary{width:auto;height:auto;min-height:52px;padding:8px 13px;display:grid;align-content:center;justify-items:start;background:var(--canvas);font-size:14px;line-height:1.1;text-decoration:none}
  .mobile-conversion-bar--home .mobile-cta-secondary strong{font-size:14px;line-height:1.1}
  .mobile-conversion-bar--home .mobile-cta-secondary span{font-size:10px;line-height:1.25;color:var(--muted);font-weight:500;margin-top:3px}
}

/* v111 iOS/WebKit typography hardening */
:where(body,button,input,select,textarea){font-optical-sizing:none;font-variation-settings:normal}
:where(.display,h1,h2,h3,h4,blockquote,.p2-menu-story li,.p2-home-menu-card li,.p5-menu-line){font-optical-sizing:none;font-variation-settings:normal}
@supports (-webkit-touch-callout:none){
  body{-webkit-font-smoothing:auto;text-rendering:auto}
}

/* v112 Layout Freeze — touch targets, voucher controls, functional micro-labels */
/* Voucher builder: same comfortable control geometry as core enquiry forms at every breakpoint. */
.gift-builder input:not([type="radio"]):not([type="checkbox"]),
.gift-builder select{
  min-height:50px;
  padding:12px 10px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.55);
  border-radius:0;
}
.gift-builder textarea{
  padding:12px 10px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.55);
  border-radius:0;
}
.gift-value-options span{
  min-height:46px;
  display:flex!important;
  align-items:center;
  justify-content:center;
  padding:.65rem .45rem;
}

@media (max-width:700px){
  /* Functional mobile controls get reliable touch height without inflating pure editorial links. */
  .gift-builder .btn,
  .dialog-form .btn,
  .p3-event-choice a,
  .ek-course-actions .ek-text-button,
  .mobile-actions .btn,
  .form-step-actions .btn,
  .step-actions .btn{
    min-height:46px;
  }

  /* Functional micro-labels: keep editorial kickers restrained, raise only interaction/status labels. */
  .form-progress{font-size:10.5px;line-height:1.35}
  .config-progress span{font-size:10.5px}
  .select-card>span{font-size:10px}
  .p2-course-value-grid article>span,
  .p2-course-format-grid article>span,
  .p2-location-journey-steps article>span{font-size:10px}
}
