@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/perf/font-0.caf459013dbc.woff2) format('woff2');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/perf/font-1.66626c69d658.woff2) format('woff2');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/perf/font-2.230df05e6eb5.woff2) format('woff2');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/perf/font-3.ff85db069e85.woff2) format('woff2');
}
@font-face {
  font-family: 'Libre Caslon Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/perf/font-4.f544c3bd54a9.woff2) format('woff2');
}

:root{--paper:#f9f4eb;--ink:#292621;--rust:#9c3e27;--line:#d9d1c3;--white:#fffdf8;--serif:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--corner-radius:12px;--about-background:#eae3d5;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin:0}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--rust);outline-offset:5px}.container{max-width:1400px;padding:0 64px;margin:auto}.skip-link{position:fixed;top:-100px;left:16px;padding:10px;background:white;z-index:10}.skip-link:focus{top:10px}.site-header{display:flex;align-items:center;justify-content:space-between;gap:30px;max-width:1600px;margin:auto;padding:12px 64px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px}.brand img{width:43px;height:43px}.brand>span{font-size:32px;font-weight:600;letter-spacing:-1.8px;line-height:1}.brand small{display:block;font-size:12px;letter-spacing:1.15px;margin-top:8px;font-weight:500}.site-header nav{display:flex;gap:34px;align-items:center;font-size:14px;font-weight:500}.site-header nav>a:not(.button):hover{color:var(--rust)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:13px 24px;background:var(--rust);border:1px solid var(--rust);color:var(--white);border-radius:3px;font-weight:500;font-size:15px;line-height:1.45;transition:background .2s,transform .2s;text-align:center}.button:hover{background:#80301c;transform:translateY(-2px)}.button-small{min-height:45px;padding:11px 20px;font-size:14px}.hero{display:grid;grid-template-columns:1.03fr 1fr;gap:66px;padding-top:73px;padding-bottom:95px;align-items:center}.hero-copy{padding-top:12px;min-width:0}.hero-copy>h1{margin-top:0}.eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:1.5px;font-weight:600;line-height:1.7}.hero .eyebrow{display:flex;gap:13px;align-items:center;font-size:12px}.small-line{width:28px;height:1px;background:var(--rust);flex:none}h1{font-family:var(--serif);font-size:clamp(60px,6.9vw,100px);font-weight:400;letter-spacing:-2.2px;line-height:1.01;margin-top:25px}h1 em{font-weight:400;color:var(--rust)}.hero-description{max-width:470px;margin-top:28px;line-height:1.8;color:#5d574e}.hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:32px}.text-link{font-size:14px;border-bottom:1px solid var(--ink);padding:7px 0;line-height:1.45}.text-link:hover{color:var(--rust);border-color:var(--rust)}.hero-footnote{font-size:12px;color:#716b60;margin-top:28px}.hero-visual{height:540px;position:relative;margin-right:10px}.hero-main-image{width:100%;height:100%;object-fit:cover;object-position:50% 50%;border-radius:120px 3px 3px 3px;filter:brightness(.94)}.photo-label{position:absolute;left:25px;bottom:24px;color:white;text-shadow:0 1px 9px #000;background:#292621a8;padding:10px 15px;border-radius:2px}.photo-label span{display:block;font-size:18px;font-family:var(--serif)}.photo-label small{font-size:12px}.hero-inset{position:absolute;right:-25px;bottom:-38px;width:165px;transform:rotate(5deg);padding:9px 9px 10px;background:var(--white);box-shadow:0 5px 20px #29262120}.hero-inset img{width:100%;height:155px;object-fit:cover}.hero-inset span{display:block;font-size:12px;text-align:center;margin-top:5px}.round-label{position:absolute;top:-26px;right:22px;background:var(--paper);border:1px solid var(--rust);border-radius:50%;width:104px;height:104px;display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:12px;letter-spacing:1px;line-height:1.3;color:var(--rust);transform:rotate(12deg);box-shadow:0 0 0 7px var(--paper)}.round-label-copy{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:100%;text-align:center;line-height:1.2;font-size:12px;letter-spacing:.25px;text-transform:uppercase;transform:rotate(-12deg)}.round-label-copy>span{display:block}.round-label-copy .round-label-conjunction{font-family:var(--serif);font-size:16px;font-style:italic;letter-spacing:0;line-height:1;text-transform:none}.intro-strip{display:flex;justify-content:center;align-items:center;gap:50px;padding:26px 30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.intro-strip p{font-size:14px}.intro-strip span{font-size:25px;color:var(--rust)}.offer-section{padding:90px 0}.section-heading{display:grid;grid-template-columns:1.45fr 1fr;gap:10px 80px;align-items:end;margin-bottom:42px}.section-heading .eyebrow{grid-column:1/-1;color:var(--rust)}h2{font-family:var(--serif);font-size:clamp(42px,4vw,61px);font-weight:400;line-height:1.1;letter-spacing:-.5px}.section-heading>p:last-child{max-width:360px;color:#6a6359;font-size:16px;padding-bottom:3px}
@media(min-width:1500px){.hero{gap:90px}.hero-visual{height:610px}}
@media(max-width:1000px){.container,.site-header{padding-left:30px;padding-right:30px}.hero{gap:35px;padding-top:55px}.hero-visual{height:480px}h1{font-size:clamp(48px,6.8vw,70px)}.site-header nav{gap:22px}.hero .eyebrow{font-size:12px;letter-spacing:1px}.hero-actions{gap:18px}.hero-inset{right:-5px}.intro-strip{gap:24px}.intro-strip p{font-size:12px}}
@media(max-width:720px){html{scroll-padding-top:20px}.container,.site-header{padding-left:22px;padding-right:22px}.site-header{padding-top:18px;padding-bottom:18px;gap:15px}.brand>span{font-size:29px}.brand img{width:35px;height:35px}.brand small{display:none}.site-header nav>a:not(.button){display:none}.site-header nav .button{font-size:12px;padding:9px 13px;min-height:42px;max-width:135px}.hero{grid-template-columns:1fr;padding-top:42px;padding-bottom:64px;gap:38px}.hero-copy{padding-top:0}h1{font-size:clamp(44px,13.8vw,88px);letter-spacing:-1.2px;line-height:1.04;margin-top:20px}.hero .eyebrow{font-size:12px}.hero-description{margin-top:23px;font-size:16px}.hero-actions{margin-top:27px;gap:20px}.hero-footnote{font-size:12px;margin-top:22px}.hero-visual{height:420px;margin-right:12px;margin-left:8px}.hero-main-image{border-top-left-radius:90px}.hero-inset{width:138px;right:-13px;bottom:-27px}.hero-inset img{height:118px}.round-label{width:96px;height:96px;top:-18px;right:14px;font-size:12px}.intro-strip{gap:18px;padding:18px 22px;flex-wrap:wrap}.intro-strip p{font-size:12px}.intro-strip p:last-child,.intro-strip span:last-of-type{display:none}.intro-strip span{font-size:20px}.offer-section{padding:58px 0}.section-heading{display:block;margin-bottom:30px}.section-heading h2{margin-top:13px;font-size:44px}.section-heading>p:last-child{margin-top:18px}.button{font-size:14px}h2{font-size:44px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
.offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.offer-card{min-width:0;background:var(--white);border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.offer-photo{aspect-ratio:1/1.06;position:relative;overflow:hidden}.offer-photo img{height:100%;width:100%;object-fit:cover;transition:transform .5s}.offer-card:hover .offer-photo img{transform:scale(1.035)}.category{position:absolute;left:13px;top:13px;font-size:12px;letter-spacing:.8px;text-transform:uppercase;padding:5px 10px;background:var(--paper);border-radius:2px}.offer-text{padding:25px 20px 21px;display:flex;flex-direction:column;flex:1}.offer-text h3{font:28px/1.12 var(--serif);letter-spacing:-.2px;min-height:63px}.offer-text>p{color:#665e53;font-size:16px;line-height:1.8;margin-top:14px;flex:1}.offer-text details{margin-top:17px;font-size:13px}.offer-text summary{font-size:14px;color:var(--rust);list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:10px;align-items:center;padding:8px 0}.offer-text summary:after{content:'+';font-size:20px;font-weight:400;line-height:1}.offer-text details[open] summary:after{content:'−'}.offer-text details>div{padding:8px 0 4px;color:#665e53;line-height:1.75}.offer-select{border:0;border-top:1px solid var(--line);background:transparent;margin-top:18px;padding:17px 0 0;text-align:left;font-size:14px;color:var(--ink);font-weight:600}.offer-select:hover{color:var(--rust)}.about-section{background:#eae3d5;padding:73px 0}.about-grid{display:grid;grid-template-columns:.9fr 1fr;align-items:center;gap:100px}.about-image{position:relative;max-width:475px}.about-image img{width:100%;height:auto;aspect-ratio:3/4;object-fit:contain}.about-caption{background:var(--paper);position:absolute;bottom:18px;left:18px;right:18px;text-align:center;padding:13px 10px;font:23px/1.2 var(--serif)}.about-copy h2{margin-top:20px}.about-copy h2 em,.contact-copy h2 em{font-weight:400}.about-copy>p:not(.eyebrow){margin-top:24px;font-size:16px;color:#5d574e;max-width:470px}.about-copy .eyebrow{color:var(--rust)}.about-signature{display:flex;align-items:center;gap:19px;margin-top:33px}.signature-rule{height:1px;width:35px;background:var(--rust)}.about-signature>span:last-child{font:29px/1 var(--serif);font-style:italic}.about-signature small{display:block;font:9px/1.6 var(--sans);letter-spacing:1px;margin-top:7px}.planning-section{padding-top:93px;padding-bottom:97px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;list-style:none;margin:50px 0 0;padding:0}.steps li{border-top:1px solid var(--line);padding-top:23px}.steps li>span{font-family:var(--serif);font-size:31px;color:var(--rust)}.steps h3{font:28px/1.25 var(--serif);margin-top:15px}.steps p{font-size:16px;line-height:1.8;color:#665e53;margin-top:13px;max-width:300px}.contact-section{background:#2b332d;color:var(--paper);padding:84px 0 80px}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.contact-copy .eyebrow{color:var(--rust)}.contact-copy h2{font-size:79px;margin-top:24px}.contact-copy>p:not(.eyebrow){margin-top:28px;max-width:330px;color:#d1d4c9;font-size:16px}.contact-email{display:block;font-size:18px;margin-top:39px;text-decoration:underline;text-underline-offset:5px;overflow-wrap:anywhere}.contact-email:hover{color:var(--rust)}.contact-address{margin-top:37px;font-size:13px;color:#bfc4ba}.contact-address p+p{margin-top:9px}.contact-copy>.contact-note{font-size:12px!important;margin-top:27px!important;color:#bfc4ba!important;max-width:310px}fieldset{border:0;padding:0;margin:0}legend{font-size:16px;font-weight:500;padding:0}.field-hint{color:#bfc4ba;font-size:12px;margin-top:4px}.checkbox-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:17px}.checkbox-grid label{display:flex;align-items:center;gap:9px;border:1px solid #697268;padding:11px 12px;font-size:13px;border-radius:2px;cursor:pointer}.checkbox-grid label:has(input:checked){background:#f9f4eb;color:var(--ink);border-color:var(--paper)}.checkbox-grid input{width:16px;height:16px;accent-color:var(--rust);margin:0;flex:none}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px 20px;margin-top:25px}.form-grid label{font-size:14px;font-weight:500}.form-grid input,.form-grid select,.form-grid textarea{display:block;width:100%;color:var(--paper);background:#ffffff07;border:1px solid #697268;border-radius:2px;margin-top:7px;padding:12px 13px;font-size:14px;min-height:46px;max-width:100%}.form-grid input::placeholder,.form-grid textarea::placeholder{color:#bcc4b9;opacity:1;font-weight:400}.form-grid input:focus,.form-grid textarea:focus,.form-grid select:focus{outline:2px solid var(--rust);outline-offset:2px}.form-grid select{color-scheme:dark}.form-grid select option{background:#2b332d}.form-grid input[type=date]{color-scheme:dark}.form-grid textarea{resize:vertical;min-height:115px}.form-grid .full{grid-column:1/-1}.form-note{font-size:12px;line-height:1.7;color:#bfc4ba;margin:20px 0 21px}.contact-section .button{background:var(--rust);border-color:var(--rust);color:var(--white);min-width:200px}.contact-section .button:hover{background:#80301c;border-color:#80301c}.form-status{font-size:13px;margin-top:12px}.faq-section{padding-top:85px;padding-bottom:95px;display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.faq-section h2{margin-top:16px;font-size:48px}.faq-section .eyebrow{color:var(--rust)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{list-style:none;padding:23px 0;display:flex;justify-content:space-between;align-items:center;font-size:15px;gap:25px;cursor:pointer}.faq-list summary:after{content:'+';color:var(--rust);font-size:24px;line-height:1}.faq-list details[open] summary:after{content:'−'}.faq-list details p{color:#665e53;padding:0 30px 23px 0;font-size:16px;line-height:1.8}.site-footer{padding-top:35px;padding-bottom:35px;display:flex;align-items:center;justify-content:space-between;gap:40px;border-top:1px solid var(--line)}.site-footer .brand>span{font-size:35px}.site-footer p{font-size:13px;line-height:1.8}.site-footer p span{color:#777063;font-size:12px}.site-footer>div{display:flex;gap:25px;align-items:center;font-size:13px}.site-footer small{font-size:12px;color:#777063}.site-footer a:hover{color:var(--rust)}dialog{border:1px solid var(--line);border-radius:5px;background:var(--paper);color:var(--ink);width:min(630px,calc(100% - 28px));max-height:90dvh;padding:32px 35px}dialog::backdrop{background:#1b201cd9;backdrop-filter:blur(4px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.dialog-top .eyebrow{color:var(--rust)}.close-dialog{border:none;background:none;color:var(--ink);font-size:30px;width:35px;height:35px;line-height:1}.dialog-explanation{font-size:14px;color:#665e53;margin-top:19px}.dialog-top+h2{font-size:47px;margin-top:16px}dialog pre{white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.8 var(--sans);background:#ebe5d9;padding:20px;border-radius:3px;max-height:250px;overflow:auto;margin:22px 0}.dialog-actions{display:flex;gap:15px;flex-wrap:wrap}.secondary-button{background:transparent;border:1px solid var(--ink);border-radius:3px;padding:11px 22px;font-size:14px;min-height:52px;color:var(--ink)}.secondary-button:hover{background:#ebe5d9}#copy-status{font-size:13px;margin-top:13px}.dialog-note{font-size:12px;color:#665e53;margin-top:14px}summary::-webkit-details-marker{display:none}
@media(max-width:1150px){.offer-grid{grid-template-columns:1fr 1fr;gap:25px}.offer-photo{aspect-ratio:1.35}.offer-text h3{min-height:0}.about-grid{gap:55px}.contact-grid,.faq-section{gap:50px}.contact-copy h2{font-size:70px}.site-footer>div{gap:16px;flex-wrap:wrap}}
@media(max-width:720px){.offer-grid{grid-template-columns:1fr;gap:28px}.offer-photo{aspect-ratio:1.2}.offer-text{padding:24px}.offer-text h3{font-size:33px}.offer-text>p{font-size:16px}.offer-text summary,.offer-select{font-size:14px}.offer-text details>div{font-size:14px}.category{font-size:12px}.about-section{padding:50px 0}.about-grid{grid-template-columns:1fr;gap:40px}.about-image{max-width:none}.about-image img{aspect-ratio:3/4}.about-copy h2{font-size:49px;margin-top:15px}.about-copy>p:not(.eyebrow){margin-top:20px}.about-signature small{font-size:12px}.planning-section{padding-top:58px;padding-bottom:62px}.steps{grid-template-columns:1fr;gap:29px;margin-top:35px}.steps li{display:grid;grid-template-columns:45px 1fr;gap:0 16px;padding-top:22px}.steps li>span{grid-row:1/3;font-size:31px}.steps h3{margin-top:2px;font-size:29px}.steps p{font-size:16px;max-width:none;grid-column:2}.contact-section{padding:55px 0}.contact-grid,.faq-section{grid-template-columns:1fr;gap:45px}.contact-copy h2{font-size:70px;margin-top:19px}.contact-copy>p:not(.eyebrow){max-width:none}.contact-email{margin-top:25px}.contact-address{margin-top:22px;font-size:14px}.contact-copy>.contact-note{font-size:14px!important;max-width:none}.field-hint{font-size:14px}.checkbox-grid label{font-size:14px;padding:12px 10px}.form-grid label{font-size:14px}.form-grid input,.form-grid textarea,.form-grid select{font-size:16px;min-height:49px}.form-grid{grid-template-columns:1fr;gap:20px}.form-grid .full{grid-column:auto}.form-note{font-size:13px}.contact-section .button{width:100%}.faq-section{padding-top:56px;padding-bottom:62px;gap:26px}.faq-section h2{font-size:44px}.faq-list summary{font-size:16px;line-height:1.5;padding:20px 0}.faq-list details p{font-size:16px}.site-footer{align-items:flex-start;flex-direction:column;gap:20px;padding-top:30px;padding-bottom:30px}.site-footer p{font-size:14px}.site-footer p span{font-size:13px}.site-footer>div{width:100%;font-size:14px;justify-content:space-between}.site-footer small{font-size:12px}dialog{padding:24px}.dialog-top+h2{font-size:41px}.dialog-explanation{font-size:15px}dialog pre{font-size:14px}.dialog-note{font-size:13px}}
@media(max-width:370px){.checkbox-grid{grid-template-columns:1fr}.hero-actions{gap:15px}.brand small{display:none}.site-header nav .button{max-width:120px}.hero .eyebrow{font-size:12px}.hero-visual{height:370px}}
#date-range-dialog{width:min(520px,calc(100% - 28px));max-height:calc(100dvh - 32px);padding:24px;overflow:auto}#date-range-title{font-size:32px;margin-top:10px;line-height:1.15}.close-range-dialog{display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;background:transparent;color:var(--ink);font-size:29px;line-height:1}
.date-range-field{width:100%;min-height:49px;display:flex;align-items:center;justify-content:space-between;gap:15px;background:#ffffff07;border:1px solid #697268;border-radius:2px;padding:12px 13px;margin-top:7px;text-align:left;color:var(--paper);cursor:pointer;font-size:16px}.date-range-field:hover{border-color:var(--rust)}.date-range-field:focus-visible{outline:2px solid var(--rust);outline-offset:2px}.calendar-icon{font-size:19px;line-height:1;color:var(--rust)}.range-help{font-size:14px;color:#665e53;margin-top:14px;line-height:1.6;min-height:45px}
.range-calendar{margin-top:16px;background:#fffdf8;border:1px solid var(--line);border-radius:4px;padding:10px}.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.calendar-period{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:9px;min-width:0}.calendar-year-select{width:84px;max-width:100%;min-height:38px;padding:5px 7px;border:1px solid var(--line);border-radius:3px;background:#fffdf8;color:var(--ink);font-size:15px;font-weight:500;line-height:1.4;color-scheme:light;cursor:pointer}.calendar-year-select:focus-visible{outline:2px solid var(--rust);outline-offset:2px}.calendar-heading h3{font:500 16px/1.4 var(--sans);text-align:center}.calendar-month-button{width:38px;height:38px;border:1px solid var(--line);border-radius:3px;background:transparent;color:var(--rust);font-size:28px;line-height:1;flex:none}.calendar-month-button:hover{background:#ebe5d9}.calendar-month-button:disabled{opacity:.35;cursor:default}.calendar-month-button:disabled:hover{background:transparent}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays span{text-align:center;font-size:12px;font-weight:500;color:#736b60;padding:4px 0 6px}.calendar-days{row-gap:4px}.calendar-day{min-width:0;width:100%;height:40px;border:0;border-radius:3px;background:transparent;color:var(--ink);padding:0;font-size:14px;line-height:1}.calendar-day:hover{background:#eee5d8}.calendar-day[aria-current="date"]{font-weight:700;text-decoration:underline;text-underline-offset:4px}.calendar-day.is-selected{background:color-mix(in srgb,var(--rust) 15%,var(--white));color:var(--rust);border-radius:0}.calendar-day.is-start,.calendar-day.is-end{background:var(--rust);color:var(--white);border-radius:3px}.calendar-day:focus-visible{outline:2px solid var(--ink);outline-offset:-3px}.range-selection{font-size:14px;font-weight:500;margin-top:12px;color:var(--rust);min-height:24px}.range-error{margin-top:6px;color:#963f28;font-size:13px;line-height:1.6}.range-error:empty{display:none}#date-range-dialog .dialog-actions{margin-top:16px;justify-content:flex-end}#apply-range:disabled{opacity:.45;cursor:default;transform:none}
@media(max-width:720px){#date-range-dialog{padding:20px}#date-range-title{font-size:31px}.range-calendar{padding:8px}.range-help{font-size:14px}.date-range-field{min-height:52px}#date-range-dialog .dialog-actions{gap:10px}#date-range-dialog .dialog-actions button{padding:11px 17px;flex:1;min-width:0}}

@media(max-width:370px){.calendar-period{gap:4px}.calendar-heading h3{font-size:14px;line-height:1.3}.calendar-year-select{min-height:34px;width:78px;font-size:14px}.calendar-day{height:38px}}

.photo-credit{position:absolute;left:13px;bottom:13px;padding:4px 8px;background:#292621c4;color:#fffdf8;font-size:12px;border-radius:2px}.checkbox-grid label:last-child:nth-child(odd){grid-column:1/-1}

.form-trap{display:none}.form-note a{text-decoration:underline;text-underline-offset:3px}.contact-section .button:disabled{opacity:.65;cursor:wait;transform:none}.form-status[data-state="success"]{color:#e0efcd;border-left:3px solid #b7d795;padding-left:12px}.form-status[data-state="error"]{color:#ffd1bc;border-left:3px solid #e7ad8b;padding-left:12px}.form-status[data-state="pending"]{color:#d1d4c9}.form-status:empty{display:none}

.date-range-error{display:block;margin-top:7px;font-size:13px;font-weight:400;line-height:1.6;color:#ffd1bc}.date-range-error:empty{display:none}.date-range-field[aria-invalid="true"]{border-color:#e7ad8b}


.events-section{padding:85px 0 90px;background:var(--paper)}.events-section .section-heading{margin-bottom:36px}.events-subheading{font:500 16px/1.6 var(--sans);margin-bottom:16px}.event-list{list-style:none;margin:0;padding:0}.event-list-upcoming{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.event-row{min-width:0}.event-list-upcoming .event-row{background:var(--white);border:1px solid var(--line);border-top:3px solid var(--rust);padding:25px 27px 27px}.event-days{display:block;font:43px/1.1 var(--serif);letter-spacing:-.5px;color:var(--rust);white-space:nowrap}.event-month{display:block;font-size:14px;color:#665e53;margin-top:8px}.event-row h3{font:32px/1.2 var(--serif);margin-top:21px;overflow-wrap:anywhere}.events-archive{margin-top:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.events-archive>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;cursor:pointer;padding:21px 0;font-size:16px;font-weight:500}.events-archive>summary:after{content:'+';font-size:23px;color:var(--rust);font-weight:400}.events-archive[open]>summary:after{content:'−'}:is(.event-list-past,.event-list-more){padding-bottom:12px}:is(.event-list-past,.event-list-more) .event-row{display:grid;grid-template-columns:180px minmax(0,1fr);gap:30px;align-items:center;padding:16px 0;border-top:1px solid var(--line)}:is(.event-list-past,.event-list-more) .event-days{font-size:27px;color:var(--ink)}:is(.event-list-past,.event-list-more) .event-month{margin-top:3px}:is(.event-list-past,.event-list-more) .event-row h3{font-size:27px;margin:0}.events-empty{border:1px solid var(--line);padding:25px 27px;color:#665e53;font-size:16px}.events-section [hidden]{display:none!important}
@media(max-width:1000px){.site-header nav{gap:17px}.event-list-upcoming{gap:15px}.event-list-upcoming .event-row{padding:22px 18px}.event-days{font-size:36px}}
@media(max-width:720px){.events-section{padding:55px 0 58px}.events-section .section-heading{margin-bottom:28px}.event-list-upcoming{grid-template-columns:1fr;gap:14px}.event-list-upcoming .event-row{display:grid;grid-template-columns:125px minmax(0,1fr);align-items:center;gap:18px;padding:22px 20px}.event-days{font-size:33px}.event-row h3{font-size:29px;margin-top:0}.events-archive{margin-top:25px}:is(.event-list-past,.event-list-more) .event-row{grid-template-columns:125px minmax(0,1fr);gap:18px}:is(.event-list-past,.event-list-more) .event-row h3{font-size:25px}.events-archive>summary{font-size:15px}.events-empty{padding:22px 20px}}
@media(max-width:370px){.event-list-upcoming .event-row{grid-template-columns:1fr;gap:16px}:is(.event-list-past,.event-list-more) .event-row{grid-template-columns:105px minmax(0,1fr);gap:16px}:is(.event-list-past,.event-list-more) .event-days{font-size:25px}:is(.event-list-past,.event-list-more) .event-month{font-size:13px}:is(.event-list-past,.event-list-more) .event-row h3{font-size:23px}}

.careers-section{padding:85px 0;background:#eae3d5}.careers-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:start}.careers-copy .eyebrow{color:var(--rust)}.careers-copy h2{margin-top:21px}.careers-copy h2 em{font-weight:400;color:var(--rust)}.careers-copy>p:not(.eyebrow){color:#5d574e;max-width:430px;margin-top:24px}.careers-copy .careers-areas{display:flex;gap:18px;align-items:center;flex-wrap:wrap;border-top:1px solid #cfc4b1;margin-top:32px!important;padding-top:22px;font-size:14px}.careers-areas span{color:var(--rust);font-size:22px}.careers-section form{min-width:0}.careers-section form h2{font:32px/1.2 var(--serif)}.careers-section .form-grid{margin-top:22px}.careers-section .form-grid input,.careers-section .form-grid select,.careers-section .form-grid textarea{color:var(--ink);background:var(--white);border-color:#a49b8d;color-scheme:light}.careers-section .form-grid select option{background:var(--white)}.careers-section .form-grid input::placeholder,.careers-section .form-grid textarea::placeholder{color:#70685c}.careers-section .form-grid input:focus,.careers-section .form-grid select:focus,.careers-section .form-grid textarea:focus{outline-color:var(--rust)}.application-hint{display:block;font-size:12px;font-weight:400;line-height:1.6;color:#5d574e;margin-top:8px}.careers-section .form-note{color:#5d574e}.careers-section .button:disabled{opacity:.65;cursor:wait;transform:none}.careers-section .form-status[data-state="success"]{color:#2d5035;border-color:#496c44}.careers-section .form-status[data-state="error"]{color:#85321f;border-color:var(--rust)}.careers-section .form-status[data-state="pending"]{color:#5d574e}
@media(max-width:1000px){.careers-grid{gap:45px}.site-header{flex-wrap:wrap;gap:18px}.site-header nav{width:100%;justify-content:space-between;gap:16px}}
@media(max-width:720px){.careers-section{padding:55px 0}.careers-grid{grid-template-columns:1fr;gap:36px}.careers-copy h2{font-size:49px;margin-top:15px}.careers-copy>p:not(.eyebrow){max-width:none;margin-top:20px}.careers-copy .careers-areas{gap:15px;margin-top:24px!important;padding-top:17px}.careers-section .button{width:100%}.application-hint{font-size:13px}.site-header{flex-wrap:nowrap;gap:15px}.site-header nav{width:auto;justify-content:initial}}

.careers-page .careers-copy h1{font-size:clamp(48px,4.5vw,68px);font-weight:400;line-height:1.1;letter-spacing:-.5px;margin-top:21px}.careers-page .careers-back{display:inline-block;color:var(--rust);border-color:var(--rust);margin-bottom:32px}.careers-page .site-header nav a[aria-current="page"]{color:var(--rust);text-decoration:underline;text-underline-offset:5px}
@media(max-width:720px){.careers-page .careers-copy h1{font-size:49px;margin-top:15px}.careers-page .careers-back{margin-bottom:28px}}

.application-confirmation{min-height:65vh}.application-confirmation h1{font-size:clamp(48px,5.5vw,76px);margin-top:0;max-width:750px}.application-confirmation p{max-width:570px;margin-top:26px;color:#5d574e}.application-confirmation .hero-actions{margin-top:30px}
@media(max-width:720px){.application-confirmation h1{font-size:49px}}

/* Impressum */
.site-footer>div{flex-wrap:wrap}.site-footer small{white-space:nowrap}
.legal-section{padding-top:62px;padding-bottom:85px;min-height:65vh}.legal-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;margin-top:44px;align-items:start}.legal-intro .eyebrow{color:var(--rust)}.legal-intro h1{font-size:clamp(52px,6vw,82px);margin-top:20px}.legal-intro>p:last-child{color:#5d574e;margin-top:24px}.legal-details{min-width:0}.legal-details>section{padding:0 0 28px;border-bottom:1px solid var(--line)}.legal-details>section+section{padding-top:28px}.legal-details>section:last-child{border-bottom:0;padding-bottom:0}.legal-details h2{font-size:28px;line-height:1.3;letter-spacing:0}.legal-details p,.legal-details address{font-size:16px;line-height:1.85;margin-top:14px}.legal-details address{font-style:normal}.legal-details a{color:var(--rust);text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
@media(max-width:1000px){.legal-grid{gap:45px}}@media(max-width:720px){.legal-section{padding-top:35px;padding-bottom:55px}.legal-grid{grid-template-columns:1fr;gap:35px;margin-top:32px}.legal-intro h1{font-size:54px}.legal-intro>p:last-child{margin-top:18px}.legal-details h2{font-size:27px}}

.application-group{margin-top:27px}.application-group+ .application-group{margin-top:32px;padding-top:25px;border-top:1px solid #cfc4b1}.application-group legend{font:25px/1.3 var(--serif)}.application-group .form-grid{margin-top:17px}.application-group textarea{min-height:100px}

/* Angebotsgalerien */
.offer-gallery{position:relative;min-width:0}
.gallery-track{display:flex;width:100%;height:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;background:#ded6c8}
.offer-gallery .gallery-slide{flex:0 0 100%;width:100%;max-width:none;height:100%;object-fit:cover;scroll-snap-align:start;transform:none}
.offer-gallery .gallery-slide-fill{object-fit:cover;object-position:50% 15%}
.offer-card:hover .offer-gallery .gallery-slide{transform:none}
.offer-gallery .category{pointer-events:none;z-index:3}
/* Bildnavigation erst in der geöffneten Großansicht. */
.gallery-preview .gallery-track{overflow:hidden;scroll-snap-type:none;touch-action:pan-y}
.gallery-preview .gallery-slide:not(:first-child){display:none}
.gallery-track:focus-visible{outline:3px solid var(--rust);outline-offset:-3px}
.gallery-count{position:absolute;top:13px;right:13px;background:#292621d9;color:var(--white);font-size:12px;padding:5px 9px;border-radius:2px;pointer-events:none;z-index:3}
.gallery-count[hidden],.gallery-controls[hidden]{display:none}
.gallery-controls{position:absolute;inset:0;z-index:2;pointer-events:none}
.gallery-controls::before{content:'';position:absolute;left:0;right:0;bottom:0;height:86px;background:linear-gradient(transparent,#171b1766);pointer-events:none}
.gallery-thumbnails{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:7px;padding:4px;border:1px solid #fffdf83d;border-radius:4px;background:#292621a6;backdrop-filter:blur(4px)}
.gallery-thumbnail{border:2px solid transparent;padding:2px;width:48px;height:48px;border-radius:3px;background:none;flex:none;opacity:.75;pointer-events:auto;transition:opacity .15s,border-color .15s}
.gallery-thumbnail img{width:100%;height:100%;object-fit:cover;border-radius:1px}
.gallery-thumbnail[aria-current=true]{border-color:#e2ad85;opacity:1}
.gallery-thumbnail:hover{opacity:1}
.gallery-step{position:absolute;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:44px;height:44px;border:1px solid #fffdf873;border-radius:50%;color:var(--white);background:#292621a6;backdrop-filter:blur(4px);pointer-events:auto}
.gallery-previous{left:12px}.gallery-next{right:12px}
.gallery-step:hover{background:#fffdf8e8;border-color:var(--white);color:var(--ink)}
.gallery-next svg{transform:rotate(180deg)}
.gallery-controls button:focus-visible{outline-color:#e2ad85;outline-offset:2px}
.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}
@media(max-width:370px){.gallery-thumbnails{gap:5px}.gallery-thumbnail{width:44px;height:44px}.gallery-previous{left:10px}.gallery-next{right:10px}}

/* Auf Geräten mit Maus erst beim Überfahren oder Tastaturfokus einblenden. */
@media(hover:hover) and (pointer:fine){
  .gallery-controls,.gallery-count{opacity:0;visibility:hidden;transition:opacity .18s}
  .offer-gallery:hover .gallery-controls,.offer-gallery:hover .gallery-count,
  .offer-gallery:has(:focus-visible) .gallery-controls,.offer-gallery:has(:focus-visible) .gallery-count{opacity:1;visibility:visible}
}
@media(prefers-reduced-motion:reduce){.gallery-controls,.gallery-count{transition:none}}

/* Bildunterschrift bleibt beim zugehörigen Motiv, auch beim Wischen. */
.offer-gallery .gallery-slide-frame{position:relative;margin:0}
.offer-gallery .gallery-slide-frame>img{width:100%;height:100%;object-fit:cover;transform:none}
.offer-gallery img[src="assets/kartoffelspirale-stand.jpg"]{object-position:50% 20%}
.offer-card:hover .offer-gallery .gallery-slide-frame>img{transform:none}
.gallery-slide-frame .photo-credit{top:49px;right:13px;bottom:auto;left:auto;z-index:3}

/* Mehrmonatige Termine mit vollständigen Tages- und Monatsangaben. */
.event-date-range .event-days{font-size:30px}
.event-name{font-size:15px;line-height:1.55;color:#665e53;margin-top:8px;overflow-wrap:anywhere}.event-name a{color:var(--rust);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:#9c3e2770;transition:color .15s}.event-name a:hover,.event-name a:focus-visible{color:#702c1c;text-decoration-color:currentColor}
@media(max-width:720px){.event-date-range .event-days{font-size:20px}}
@media(max-width:370px){.event-list-upcoming .event-date-range .event-days{font-size:27px}}

/* Text neben dem Startbild wird vertikal zentriert. */
@media(min-width:721px){.hero{align-items:center}}
.hero-copy{padding-top:0}
.hero-visual.hero-event-photo{height:auto;aspect-ratio:auto;min-height:0;align-self:stretch}
.hero-event-photo .hero-main-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:none;border-top-left-radius:70px}
.hero-event-photo .hero-inset{width:120px;right:-18px;bottom:-35px}
.hero-event-photo .hero-inset img{height:105px}
@media(max-width:720px){.hero-visual.hero-event-photo{align-self:auto}.hero-event-photo .hero-main-image{position:static;height:auto;object-fit:contain;border-top-left-radius:45px}.hero-event-photo .hero-inset{width:80px;right:-10px;bottom:-28px;padding:6px}.hero-event-photo .hero-inset img{height:64px}.hero-event-photo .hero-inset span{font-size:10px}.hero-event-photo .photo-label{left:12px;right:82px;top:auto;bottom:12px;width:fit-content;max-width:calc(100% - 94px);padding:8px 10px;background:#292621c7;color:white;text-shadow:0 1px 9px #000;line-height:1.35;overflow-wrap:anywhere}.hero-event-photo .photo-label span{font-size:14px}.hero-event-photo .photo-label small{font-size:10px}.hero-event-photo .round-label{width:84px;height:84px;top:-18px;right:12px}.hero-event-photo .round-label-copy{font-size:10px;gap:3px}}

/* Fotos per Klick oder Tastatur in voller Größe ansehen. */
.zoomable-photo{cursor:pointer}
.zoomable-photo:focus-visible{outline:3px solid var(--rust);outline-offset:-3px}
.hero-event-photo .photo-label,.offer-photo .category{pointer-events:none}
body.photo-lightbox-open{overflow:hidden}
dialog.photo-lightbox{width:min(1160px,calc(100vw - 32px));height:min(900px,calc(100dvh - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:0;border:0;border-radius:0;background:transparent;overflow:hidden}
dialog.photo-lightbox[open]{display:grid;place-items:center}
dialog.photo-lightbox:focus{outline:none}
dialog.photo-lightbox::backdrop{background:rgba(16,20,16,.65);backdrop-filter:none}
.photo-lightbox-viewer{position:relative;width:max-content;height:max-content;max-width:100%;max-height:100%;min-height:0;min-width:0}
.photo-lightbox-viewer .photo-lightbox-image{width:auto;height:auto;max-width:min(1160px,calc(100vw - 32px));max-height:min(900px,calc(100dvh - 32px));object-fit:contain;object-position:center;transform:none}
.photo-lightbox-can-switch{cursor:pointer}
.photo-lightbox-thumbnails[hidden]{display:none}
.photo-lightbox-thumbnails{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);display:flex;gap:8px;width:max-content;max-width:calc(100% - 24px);padding:6px;border:1px solid #fffdf83d;border-radius:5px;background:#171b17b8;overflow-x:auto}
.photo-lightbox-thumbnail{position:relative;flex:none;width:60px;height:52px;padding:2px;border:2px solid transparent;border-radius:3px;background:#2b332d;opacity:.72}
.photo-lightbox-thumbnail img{width:100%;height:100%;object-fit:cover;border-radius:1px}
.photo-lightbox-thumbnail[aria-current=true]{border-color:#e2ad85;opacity:1}
.photo-lightbox-thumbnail:hover{opacity:1}
.photo-lightbox-thumbnail:focus-visible{outline:2px solid #e2ad85;outline-offset:2px}
.photo-lightbox-label{position:absolute;z-index:3;margin:0;padding:6px 10px;border-radius:0;background:#f9f4ebf2;color:var(--ink);font:500 12px/1.4 var(--sans);letter-spacing:.2px;max-width:calc(100% - 26px);pointer-events:none}
.photo-lightbox-label{left:12px;top:12px}
@media(max-width:720px){.photo-lightbox-thumbnail{width:48px;height:44px}.photo-lightbox-thumbnails{bottom:8px;gap:6px;padding:4px}}
@media(max-width:720px){dialog.photo-lightbox{width:calc(100vw - 16px);height:calc(100dvh - 16px);max-height:calc(100dvh - 16px)}.photo-lightbox-viewer .photo-lightbox-image{max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}}

/* Gemischte Foto- und Videogalerien: Player erst nach der Auswahl laden. */
.photo-lightbox-viewer [hidden]{display:none}
.gallery-video{position:relative;display:block}
.gallery-video.zoomable-photo{cursor:default}
.gallery-video img{width:100%;height:100%;object-fit:cover}
.gallery-video-badge{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:26px;height:26px;padding-left:2px;border:1px solid #fffdf8b3;border-radius:50%;background:#171b17d9;color:#fffdf8;font-size:12px;line-height:1;pointer-events:auto;cursor:pointer}
.gallery-video>.gallery-video-badge{width:54px;height:54px;padding:0;border:1px solid var(--rust);background:var(--rust);color:var(--white);box-shadow:0 3px 14px #29262138;transition:transform .18s,background .18s,color .18s}.gallery-video-badge svg{display:block;width:23px;height:23px;fill:currentColor}
.gallery-video:focus-visible>.gallery-video-badge{transform:translate(-50%,-50%) scale(1.08);background:var(--rust);color:var(--white);outline:3px solid var(--rust);outline-offset:5px}
@media(hover:hover) and (pointer:fine){.gallery-video:hover>.gallery-video-badge{transform:translate(-50%,-50%) scale(1.08);background:var(--rust);color:var(--white)}}
.gallery-video.gallery-video-playing iframe{display:block;width:100%;height:100%;border:0;background:#000}
.gallery-video.gallery-video-consent{cursor:default}
.photo-lightbox-viewer.is-video{display:flex;flex-direction:column;align-items:center;gap:10px}
.photo-lightbox-video{display:block;width:auto;height:auto;max-width:min(1160px,calc(100vw - 32px));max-height:min(824px,calc(100dvh - 108px));object-fit:contain;background:#000}
.photo-lightbox-embed{width:min(1000px,calc(100vw - 32px),calc((100dvh - 108px)*16/9));aspect-ratio:16/9;min-height:200px;background:#000}
.photo-lightbox-embed iframe{display:block;width:100%;height:100%;border:0}
.photo-lightbox-viewer.is-video .photo-lightbox-thumbnails{position:relative;left:auto;bottom:auto;transform:none;max-width:calc(100vw - 56px)}
.photo-lightbox-error{max-width:min(600px,calc(100vw - 48px));margin:0;padding:10px 14px;background:var(--paper);color:var(--ink);font-size:14px;text-align:center}
@media(max-width:720px){.photo-lightbox-video{max-width:calc(100vw - 16px);max-height:calc(100dvh - 88px)}.photo-lightbox-embed{width:min(calc(100vw - 16px),calc((100dvh - 88px)*16/9))}.photo-lightbox-viewer.is-video{gap:8px}.photo-lightbox-viewer.is-video .photo-lightbox-thumbnails{max-width:calc(100vw - 32px)}}

/* Originales Luvent-Logo mit transparenter Bildfläche. */
.brand .brand-logo{display:block;width:200px;height:auto;max-width:100%;object-fit:contain}
.site-header .brand{flex-shrink:0}
.site-footer .brand .brand-logo{width:170px}
@media(max-width:720px){.site-header{padding-top:14px;padding-bottom:14px}.site-header .brand .brand-logo{width:clamp(115px,38vw,160px)}.site-footer .brand .brand-logo{width:160px}}

/* Teamfoto auf der Bewerbungsseite. */
.careers-team-photo{width:100%;max-width:430px;margin-top:28px;border-radius:var(--corner-radius);overflow:hidden}
.careers-team-photo img{display:block;width:100%;height:auto;border-radius:var(--corner-radius)}
@media(max-width:720px){.careers-team-photo{max-width:none;margin-top:24px}}

/* Vorstellungstext im Stil der Luvent-Website. */
.about-copy>p.about-lead{font:400 clamp(29px,2.8vw,38px)/1.2 var(--serif);letter-spacing:-.2px;color:var(--ink);margin-top:18px}
.about-copy .about-lead em{color:var(--rust);font-weight:400}
.about-copy>p:not(.eyebrow):not(.about-lead){line-height:1.75;margin-top:20px}
@media(max-width:720px){.about-copy>p.about-lead{margin-top:15px}.about-copy>p:not(.eyebrow):not(.about-lead){margin-top:18px}}

/* Kompakte technische Angaben in den Angebotskarten. */
.offer-text .offer-facts{margin:0}
.offer-facts>div{display:grid;grid-template-columns:minmax(100px,.75fr) minmax(0,1.25fr);gap:10px;align-items:start}
.offer-facts>div+div{margin-top:5px;padding-top:5px;border-top:1px solid var(--line)}
.offer-facts dt{font-size:13px;line-height:1.45;font-weight:600;color:var(--ink)}
.offer-facts dd{margin:0;font-size:13px;line-height:1.45;overflow-wrap:anywhere}

/* Technische Angaben ersetzen die Beschreibung innerhalb der Karte. */
.offer-content-switch{display:grid;grid-template-columns:minmax(0,1fr);flex:1;min-width:0;margin-top:14px}
.offer-description,.offer-specifications{grid-area:1/1;display:flex;flex-direction:column;min-width:0}
.offer-description>p{margin:0;flex:1;color:#665e53;font-size:16px;line-height:1.8}
.offer-specifications{visibility:hidden;pointer-events:none}
.offer-specifications:focus{outline:none}
.offer-card.is-showing-facts .offer-description{visibility:hidden;pointer-events:none}
.offer-card.is-showing-facts .offer-specifications{visibility:visible;pointer-events:auto}
.offer-info-trigger,.offer-info-back{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:44px;margin-top:17px;padding:8px 0;border:0;background:transparent;text-align:left;color:var(--rust);font-size:14px;line-height:1.5}
.offer-info-trigger span{font-size:20px;line-height:1}
.offer-info-trigger:hover,.offer-info-back:hover{color:var(--ink)}
.offer-info-back{justify-content:flex-start;margin-top:auto;padding-top:8px}
.offer-info-back span{font-size:18px;line-height:1}
.offer-specifications .offer-facts{margin:0 0 6px}

.offer-specifications .offer-facts dd{color:#665e53}

/* Mobile Hauptnavigation mit einem Menüknopf in den Luvent-Markenfarben. */
.mobile-menu-toggle{display:none}
@media(max-width:720px){
.site-header{position:relative;flex-wrap:wrap}
.site-header nav{display:flex;width:100%;flex-direction:column;align-items:stretch;gap:0}
.site-header nav>a:not(.button){display:block}
.site-header nav>a{padding:13px 16px;min-height:48px;font-size:16px}
.site-header nav .button{max-width:none;font-size:15px;margin:8px 16px 12px}
.site-header.nav-enhanced{flex-wrap:nowrap}
.nav-enhanced .mobile-menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;padding:11px;border:1px solid #9c3e2740;border-radius:var(--corner-radius);background:#f9f4eb66;color:var(--rust);font:inherit;flex-shrink:0;transition:background .2s,border-color .2s,color .2s}
.mobile-menu-toggle:hover{border-color:var(--rust);background:#9c3e270d}
.mobile-menu-icon{position:relative;display:block;width:22px;height:18px}
.mobile-menu-icon span{position:absolute;left:0;display:block;width:22px;height:1.5px;border-radius:2px;background:currentColor;transform-origin:center;transition:transform .2s,opacity .2s}
.mobile-menu-icon span:nth-child(1){top:2px}
.mobile-menu-icon span:nth-child(2){top:8px;left:auto;right:0;width:16px}
.mobile-menu-icon span:nth-child(3){top:14px}
.nav-enhanced.is-menu-open .mobile-menu-toggle{background:var(--rust);border-color:var(--rust);color:var(--paper)}
.is-menu-open .mobile-menu-icon span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.is-menu-open .mobile-menu-icon span:nth-child(2){opacity:0;transform:translateX(3px)}
.is-menu-open .mobile-menu-icon span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.nav-enhanced nav{display:none;position:absolute;top:100%;left:0;right:0;width:auto;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 12px 18px #29262114;z-index:30;padding:8px 6px}
.nav-enhanced.is-menu-open nav{display:flex}
}
@media(prefers-reduced-motion:reduce){.mobile-menu-toggle,.mobile-menu-icon span{transition:none!important}}

@media(max-width:720px){.site-header .brand .brand-logo{width:clamp(148px,41vw,175px);height:auto;max-width:100%}.site-header .brand{min-width:0;min-height:60px;max-width:calc(100% - 61px);flex-shrink:1;align-items:center}}

/* Ruhiger Footer ohne Logo, mit einer durchgehenden Linkreihe. */
.site-footer{justify-content:center}
.site-footer>div{width:100%;justify-content:center}
@media(max-width:720px){
.site-footer{padding:22px 16px;gap:0;align-items:center}
.site-footer>div{display:grid;grid-template-columns:repeat(6,max-content);justify-content:center;align-items:center;column-gap:clamp(9px,3vw,20px);row-gap:8px;font-size:12px;line-height:1.5}
.site-footer>div>a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;white-space:nowrap}
.site-footer small{grid-column:1/-1;text-align:center;font-size:11px;letter-spacing:.2px}
}
@media(max-width:350px){.site-footer>div{font-size:11px;column-gap:9px}}

/* Kompakter Footer auch auf dem Desktop; Anfrage nur dort im Hauptmenü. */
@media(min-width:721px){
.site-footer{padding-top:22px;padding-bottom:22px;gap:0;align-items:center}
.site-footer>div{display:grid;grid-template-columns:repeat(6,max-content);justify-content:center;align-items:center;column-gap:20px;row-gap:8px;font-size:12px;line-height:1.5}
.site-footer>div>a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;white-space:nowrap}
.site-footer small{grid-column:1/-1;text-align:center;font-size:11px;letter-spacing:.2px}
}
@media(max-width:720px){.site-header nav>a.button{display:none}}

/* Dezente Bildauswahl über Punkte – auf Handy und Desktop identisch. */
.photo-lightbox-thumbnails{gap:0;padding:0 4px;border:0;border-radius:0;background:transparent;justify-content:flex-start;max-width:calc(100% - 16px);bottom:8px}
.photo-lightbox-dot{display:inline-flex;align-items:center;justify-content:center;width:24px;height:44px;padding:0;border:0;border-radius:0;background:transparent;opacity:1;cursor:pointer}
.photo-lightbox-dot::after{content:'';display:block;width:6px;height:6px;border-radius:999px;background:#ffffffb3;box-shadow:0 1px 4px #0009;transition:width .15s,height .15s,background .15s,transform .15s}
.photo-lightbox-dot[aria-current=true]{border:0;background:transparent;opacity:1}
.photo-lightbox-dot[aria-current=true]::after{width:18px;height:8px;background:var(--rust)}
@media(hover:hover){.photo-lightbox-dot:hover::after{background:var(--rust);transform:scale(1.25)}}
@media(prefers-reduced-motion:reduce){.photo-lightbox-dot::after{transition:none}}

/* Bildnavigation direkt unter den Angebotsfotos. */
.gallery-ready .gallery-track{overflow-x:auto;scroll-snap-type:x mandatory;touch-action:pan-x pan-y;scrollbar-width:none}
.gallery-ready .gallery-track::-webkit-scrollbar{display:none}
@media(max-width:720px){.gallery-ready .gallery-track{overflow-x:hidden;scroll-snap-type:none;touch-action:pan-y}}
.gallery-dots{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0;padding:2px 8px;background:var(--white)}
.gallery-dot{display:inline-flex;align-items:center;justify-content:center;width:24px;height:44px;padding:0;border:0;background:transparent;flex:none;cursor:pointer}
.gallery-dot::after{content:'';width:6px;height:6px;border-radius:999px;background:#a99f91;transition:width .15s,height .15s,background .15s,transform .15s}
.gallery-dot[aria-current=true]::after{width:18px;height:8px;background:var(--rust)}
@media(prefers-reduced-motion:reduce){.gallery-dot::after{transition:none}}

/* Vollansicht nur über den eigenen Desktop-Button. */
.gallery-expand{position:absolute;top:10px;right:10px;z-index:4;display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:6px;background:transparent;color:#fff;cursor:pointer}
.gallery-label{position:absolute;z-index:3;left:13px;top:13px;max-width:calc(100% - 72px);padding:6px 10px;border-radius:0;background:#f9f4ebf2;color:var(--ink);font:500 12px/1.4 var(--sans);letter-spacing:.2px;pointer-events:none}
.gallery-label[hidden]{display:none}
.gallery-expand:hover{background:transparent}
.gallery-expand:focus-visible{outline:3px solid var(--rust);outline-offset:3px}
.gallery-expand[hidden]{display:none}
@media(max-width:720px){.gallery-expand{display:none}}

@media(hover:hover){.gallery-dot:hover::after{background:var(--rust);transform:scale(1.25)}}
.gallery-dot:focus-visible{outline:2px solid var(--rust);outline-offset:-5px;border-radius:8px}
.gallery-dot:focus-visible{outline:2px solid var(--rust);outline-offset:-5px;border-radius:8px}
.photo-lightbox-dot:focus-visible{outline:2px solid var(--rust);outline-offset:-5px;border-radius:8px}

/* Einheitliche Rundung für Flächen, Bilder und Bedienelemente. */
.offer-card,.button,.secondary-button,.hero-main-image,.hero-inset,.photo-label,.category,.photo-credit,.checkbox-grid label,.form-grid input,.form-grid select,.form-grid textarea,dialog,dialog pre,.date-range-field,.range-calendar,.calendar-year-select,.calendar-month-button,.calendar-day,.calendar-day.is-start,.calendar-day.is-end,.events-empty,.about-image,.about-image img,.photo-lightbox-image,.photo-lightbox-video,.photo-lightbox-embed{border-radius:var(--corner-radius)}
.hero-inset>img{border-radius:inherit}
.calendar-day.is-selected:not(.is-start):not(.is-end){border-radius:0}

/* Bildbetonter Einstieg mit kompakterem Text. */
.hero{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:42px;padding-top:48px;padding-bottom:72px}
.hero-copy h1{font-size:clamp(38px,4.2vw,62px);line-height:1.08;letter-spacing:-1px;color:var(--ink)}
.hero-copy h1 em{color:var(--rust)}
.hero-description{font-size:15px;line-height:1.75;margin-top:22px;max-width:360px}
.hero-actions{margin-top:24px;gap:16px}
.hero-visual.hero-event-photo{min-height:500px}
.hero-event-photo .hero-main-image{border-radius:var(--corner-radius)}
@media(min-width:1500px){.hero-visual.hero-event-photo{min-height:560px}}
@media(max-width:1000px) and (min-width:721px){.hero{gap:28px}.hero-visual.hero-event-photo{min-height:430px}.hero-copy h1{font-size:40px}}
@media(max-width:720px){.hero{grid-template-columns:1fr;gap:32px;padding-top:28px;padding-bottom:56px}.hero-visual.hero-event-photo{grid-row:1;min-height:0;margin:0}.hero-event-photo .hero-main-image{border-radius:var(--corner-radius)}.hero-copy h1{font-size:clamp(34px,9vw,48px);max-width:420px}.hero-description{font-size:15px;max-width:460px;margin-top:16px}.hero-actions{margin-top:20px}.hero-copy{padding-top:8px}}

@media(min-width:721px){.site-header .brand .brand-logo{width:205px;height:auto}}


/* Schmale illustrierte Marktleiste. */
.intro-strip.intro-illustration{padding:14px 22px;display:flex;justify-content:center;overflow:hidden;background:var(--paper)}
.intro-illustration img{display:block;width:min(100%,660px);height:auto;mix-blend-mode:multiply}
@media(max-width:720px){.intro-strip.intro-illustration{padding:12px 18px}.intro-illustration img{width:min(100%,440px)}}

.about-section,.home-top-background{background:var(--about-background)}
.home-top-background .nav-enhanced nav{background:var(--about-background)}

.event-list-upcoming .event-row{border-radius:var(--corner-radius);overflow:hidden}

.back-home.text-link{display:inline-block;color:var(--rust);border-color:var(--rust);margin-bottom:32px;font-size:14px;padding:7px 0;line-height:1.45}
@media(max-width:720px){.back-home.text-link{margin-bottom:28px}}

/* Große Desktop-Bildschirme: verfügbare Breite mit einheitlichen Rändern nutzen. */
@media(min-width:1400px){
 .container,.site-header{width:100%;max-width:none;padding-left:4vw;padding-right:4vw}
 .hero{gap:clamp(42px,3vw,100px)}
 .hero-copy h1{font-size:clamp(56px,3.6vw,88px)}
 .hero-description{max-width:48ch;font-size:clamp(15px,.85vw,18px)}
 .hero-visual.hero-event-photo{min-height:clamp(560px,32vw,960px)}
 .offer-grid{gap:clamp(20px,1.5vw,48px)}
 .about-image{max-width:640px}
 .about-copy>p:not(.eyebrow){max-width:58ch}
}

/* Ankündigung für Bogen und Armbrust. */
.offer-coming-soon{position:relative;isolation:isolate}
.offer-coming-content{display:flex;flex-direction:column;flex:1;min-width:0;filter:blur(9px);pointer-events:none;user-select:none}
.offer-coming-overlay{position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;background:#f9f4eb55;padding:24px;text-align:center}
.offer-coming-overlay span{font:400 clamp(32px,3vw,54px)/1.15 var(--serif);color:var(--rust);text-shadow:0 1px 12px #fffdf8}
.offer-option-coming-soon{position:relative;isolation:isolate;overflow:hidden;cursor:default!important}
.offer-option-blurred{display:flex;align-items:center;gap:9px;filter:blur(3px);pointer-events:none;user-select:none}
.offer-option-coming-overlay{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;background:#f9f4eb66;padding:6px;text-align:center;font:400 18px/1.15 var(--serif);color:var(--rust);text-shadow:0 1px 8px #fffdf8;pointer-events:none}

/* Einheitliche Datumsgröße auch bei monatsübergreifenden Archivterminen. */
:is(.event-list-past,.event-list-more) .event-date-range .event-days{font-size:27px;white-space:normal}
.event-date-range .event-days time{white-space:nowrap;display:inline-block}
@media(max-width:370px){:is(.event-list-past,.event-list-more) .event-date-range .event-days{font-size:25px}}

.video-consent{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:clamp(20px,5vw,60px);height:100%;overflow:auto;background:#f9f4eb;color:#32251f;text-align:center}.video-consent p{max-width:56ch}.video-consent a{color:#9b3f28}.privacy-details{overflow-wrap:anywhere}.privacy-details section{scroll-margin-top:100px}

/* Six footer links stay in one row, including Datenschutz. */
@media(max-width:480px){.site-footer{padding-left:12px;padding-right:12px}.site-footer>div{grid-template-columns:repeat(6,max-content);column-gap:clamp(3px,1vw,6px);font-size:clamp(10px,2.8vw,12px)}}

/* Give the careers introduction the same visual weight on desktop. */
@media(min-width:1024px){.careers-page .careers-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(48px,5vw,100px)}.careers-page .careers-copy h1{font-size:clamp(62px,5.2vw,88px)}.careers-page .careers-copy>p:not(.eyebrow){max-width:58ch;font-size:clamp(18px,1.25vw,22px);line-height:1.75}.careers-page .careers-team-photo{max-width:none;margin-top:36px}}

/* Desktop introduction copy follows the width of its grid column. */
@media(min-width:1024px){.hero .hero-description,.about-copy>p:not(.eyebrow):not(.about-lead){max-width:none;width:100%;font-size:clamp(18px,1.15vw,24px);line-height:1.75}.about-copy>p.about-lead{max-width:none;width:100%;font-size:clamp(36px,2.6vw,56px);line-height:1.2}}

/* Contact introduction uses its desktop column instead of a fixed text width. */
@media(min-width:1024px){.contact-copy>p:not(.eyebrow){max-width:none;width:100%;font-size:clamp(18px,1.15vw,24px);line-height:1.75}.contact-copy>.contact-note{max-width:none;font-size:clamp(14px,1vw,18px)!important;line-height:1.75}.contact-copy h2{font-size:clamp(72px,5.2vw,108px)}}
.contact-address .contact-business-name{color:var(--paper);font-weight:600}

/* Keep keyboard focus visible against Luvent's dark contact panel. */
.contact-section :focus-visible,.contact-section .form-grid input:focus,.contact-section .form-grid select:focus,.contact-section .form-grid textarea:focus{outline-color:#e2ad85}
/* Download beside the inquiry action */
.form-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.contact-section .button.button-download{background:transparent;color:var(--paper);border-color:#8b9389}
.contact-section .button.button-download:hover{background:#414a42;border-color:#aab2a6}
@media(max-width:720px){.form-actions{flex-direction:column;align-items:stretch}.form-actions .button{width:100%}}

/* Gemeinsame, seitlich scrollbare Reihe aller kommenden Termine. */
.events-heading-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}
.events-heading-row .events-subheading{margin:0}
.events-scroll-controls{display:flex;gap:8px;flex:none}
.events-scroll-arrow{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:1px solid #9c3e2740;border-radius:var(--corner-radius);background:#f9f4eb66;color:var(--rust);font:22px/1 var(--sans);flex-shrink:0}
.events-scroll-arrow:disabled{opacity:.3;cursor:default}
.events-scroll-arrow:not(:disabled):hover{border-color:var(--rust);background:#9c3e270d}
.event-list-upcoming.events-scroll-track{display:flex;gap:20px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:1px;overscroll-behavior-x:contain;padding:1px 1px 14px;scrollbar-width:thin;scrollbar-color:var(--line) transparent;-webkit-overflow-scrolling:touch}
.event-list-upcoming.events-scroll-track .event-row{flex:0 0 calc((100% - 40px)/3);scroll-snap-align:start;min-width:0}
@media(max-width:1000px){.event-list-upcoming.events-scroll-track{gap:15px}.event-list-upcoming.events-scroll-track .event-row{flex-basis:calc((100% - 30px)/3)}}
@media(max-width:720px){.events-heading-row{gap:12px;margin-bottom:16px}.events-scroll-arrow{width:40px;height:40px}.event-list-upcoming.events-scroll-track .event-row{display:block;flex-basis:100%;min-height:220px}.event-list-upcoming.events-scroll-track .event-row h3{margin-top:21px}.event-list-upcoming.events-scroll-track .event-date-range .event-days{font-size:27px}}
@media(pointer:coarse){.events-scroll-arrow{width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){.event-list-upcoming.events-scroll-track{scroll-behavior:auto}}

.offer-section .section-heading h2{font-size:clamp(38px,4.2vw,62px)}
@media(max-width:1000px) and (min-width:721px){.offer-section .section-heading h2{font-size:40px}}
@media(max-width:720px){.offer-section .section-heading h2{font-size:clamp(34px,9vw,48px)}}
@media(min-width:1400px){.offer-section .section-heading h2{font-size:clamp(56px,3.6vw,88px)}}

@media(max-width:1000px) and (min-width:721px){.about-copy>p.about-lead{font-size:clamp(22px,3vw,29px)}.about-copy .about-lead-first-line{white-space:nowrap}}
@media(max-width:720px){.about-copy>p.about-lead{font-size:clamp(18px,6.4vw,29px)}.about-copy .about-lead-first-line{white-space:nowrap}}
