:root { --ink:#18332d; --cream:#f3eee3; --wine:#8f3f38; --sand:#d8bd96; --line:rgba(24,51,45,.18); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; text-size-adjust:100%; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:Arial, Helvetica, sans-serif; overflow-x:hidden; }
.js body { opacity:0; }
.js body.page-ready { opacity:1; transition:opacity .24s ease; }
.js body.language-leaving { opacity:0; overflow-anchor:none; }
button, a { font:inherit; }
button { color:inherit; }
img { max-width:100%; }
a:focus-visible { outline:2px solid var(--wine); outline-offset:5px; }
main { min-height:100vh; }
.tab-panel{scroll-margin-top:92px}.hero.tab-panel{display:grid}.content-page.tab-panel{display:block}
.site-header { height:92px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:0 4.5vw; border-bottom:1px solid var(--line); position:sticky;top:0;z-index:20;background:rgba(243,238,227,.94);backdrop-filter:blur(12px) }
.monogram { border:0; background:transparent; color:var(--ink);text-decoration:none;font:700 23px Georgia,serif; letter-spacing:-.08em; width:max-content; cursor:pointer; }
nav { display:flex; gap:38px; min-width:0; }
nav a,.contact-link { border:0; background:transparent;color:var(--ink);text-decoration:none; cursor:pointer; text-transform:uppercase; font-size:11px; letter-spacing:.14em; padding:9px 0; position:relative; }
nav a:after { content:""; height:1px; position:absolute; bottom:2px; left:0; right:100%; background:var(--wine); transition:.3s; }
nav a.active:after,nav a:hover:after { right:0; }
.header-actions { justify-self:end; display:flex; align-items:center; gap:28px; }
.contact-link { border-bottom:1px solid var(--ink); display:flex; gap:25px; }
.language-switch { display:flex; align-items:center; gap:9px; }
.lang-option { width:28px; height:25px; display:grid; place-items:center; border:0; border-bottom:1px solid transparent; border-radius:2px; color:inherit; text-decoration:none; opacity:.6; transition:opacity .2s ease,border-color .2s ease,transform .2s ease; }
.lang-option:hover,.lang-option:focus-visible { opacity:1; transform:translateY(-1px); }
.lang-option.is-current { opacity:1; border-color:var(--wine); }
.language-flag { display:block; width:20px; height:12px; border-radius:1px; box-shadow:0 0 0 1px rgba(24,51,45,.18); overflow:hidden; object-fit:cover; }
.flag-de { background:linear-gradient(to bottom,#1b1b1b 0 33.333%,#c33232 33.333% 66.666%,#e8bd41 66.666%); }
.flag-en { background:#012169; }
.visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.page-shell { min-height:calc(100vh - 150px); }
.panel-enter { animation:reveal .55s ease both; }
@keyframes reveal { from{opacity:0;transform:translateY(12px)} to{opacity:1;transform:none} }
.hero { min-height:calc(100vh - 150px); display:grid; grid-template-columns:1.1fr .9fr; padding:60px 7vw 35px; position:relative; }
.hero-copy { padding-top:30px; position:relative; z-index:2; }
.eyebrow { font-size:10px; letter-spacing:.2em; text-transform:uppercase; display:flex; align-items:center; gap:12px; margin:0 0 25px; }
.eyebrow span { width:32px; height:1px; background:var(--wine); }
h1,h2 { font:400 clamp(62px,7.5vw,116px)/.84 Georgia,serif; letter-spacing:-.055em; margin:0; }
h1 em,h2 em { color:var(--wine); font-weight:400; }
.intro { font:18px/1.6 Georgia,serif; max-width:570px; margin:45px 0 30px; }
.intro span,.intro strong { font-weight:400; border-bottom:1px solid var(--wine); }
.hero-actions { display:flex; align-items:center; gap:30px; }
.primary { border:0; background:var(--ink); color:var(--cream);text-decoration:none; padding:16px 20px; min-width:190px; display:flex; justify-content:space-between; cursor:pointer; }
.primary:hover { background:var(--wine); }
.mail { color:var(--ink); font-size:12px; text-decoration:none; border-bottom:1px solid var(--ink); }
.portrait-card { min-height:610px; background:#d5b990; position:relative; overflow:hidden; margin-left:45px; }
.portrait-photo { width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 24%;filter:saturate(.86) contrast(.97); }
.portrait-card:after { content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(24,51,45,.42));pointer-events:none; }
.sun { width:155px;height:155px;border-radius:50%;background:#d46a4d;position:absolute;right:16%;top:15%;opacity:.9; }
.mountain { position:absolute; bottom:0; left:-5%; width:110%; background:var(--ink); clip-path:polygon(0 100%,15% 62%,27% 76%,48% 16%,61% 58%,75% 39%,100% 100%); }
.mountain-back { height:52%; background:#738178; opacity:.55; transform:translate(30px,-45px); }
.mountain-front { height:49%; }
.portrait-placeholder { position:absolute; inset:23% 20% 0; border:1px solid rgba(243,238,227,.65); z-index:2; display:flex; flex-direction:column; align-items:center; justify-content:center; color:var(--cream); background:rgba(24,51,45,.08); backdrop-filter:blur(2px); }
.portrait-placeholder span { font:32px Georgia,serif; letter-spacing:.12em; }.portrait-placeholder small{margin-top:10px;text-transform:uppercase;letter-spacing:.15em;font-size:9px}
.vertical-label { position:absolute; top:22px; left:20px; writing-mode:vertical-rl; font-size:9px; letter-spacing:.2em; z-index:3; }
.card-caption { position:absolute; z-index:3; bottom:24px; left:24px; right:24px; color:var(--cream); display:flex; justify-content:space-between; border-top:1px solid rgba(243,238,227,.7); padding-top:12px; font:14px/1.4 Georgia,serif; text-shadow:0 1px 5px rgba(0,0,0,.45) }.card-caption p{margin:0;text-align:right}
.hero-note { position:absolute; left:4.5vw; bottom:38px; display:flex; gap:14px; align-items:center; font-size:10px; text-transform:uppercase; letter-spacing:.1em; }.hero-note span{font-size:20px}.hero-note p{margin:0}
footer { height:58px; border-top:1px solid var(--line); padding:0 4.5vw; display:flex; align-items:center; justify-content:space-between; font-size:9px; text-transform:uppercase; letter-spacing:.16em; }.footer-link{border:0;background:transparent;text-transform:uppercase;letter-spacing:.16em;font-size:9px;cursor:pointer;border-bottom:1px solid var(--ink);padding:4px 0}
.content-page { padding:70px 7vw 80px; min-height:calc(100vh - 150px); }
.section-head { display:grid; grid-template-columns:1.5fr .5fr; align-items:end; gap:60px; margin-bottom:70px; }.section-head h2{font-size:clamp(58px,7vw,102px)}.section-head>p{font:17px/1.6 Georgia,serif; max-width:360px}
.section-head h2.english-heading-spaced { line-height:.98; }
.timeline { border-top:1px solid var(--ink); }.timeline-row{display:grid;grid-template-columns:50px 140px 1fr 1.2fr;gap:25px;padding:28px 0;border-bottom:1px solid var(--line);align-items:start}.timeline-row time,.row-no{font-size:10px;letter-spacing:.12em}.timeline-row h3{font:25px Georgia,serif;margin:0 0 5px}.timeline-row p{margin:0;line-height:1.5;font-size:13px}.timeline-row .place{color:var(--wine);text-transform:uppercase;font-size:9px;letter-spacing:.12em}.quote-band{margin-top:45px;background:var(--wine);color:var(--cream);padding:35px 40px;display:flex;justify-content:space-between;align-items:end}.quote-band p{font:25px/1.3 Georgia,serif;max-width:700px;margin:0}.quote-band span{font-size:9px;letter-spacing:.12em;text-transform:uppercase}
.cape-grid { display:grid;grid-template-columns:1.2fr .8fr;gap:1px;background:var(--line);border:1px solid var(--line)}.cape-grid article{background:var(--cream)}.cape-visual{grid-row:span 2;min-height:560px;position:relative;overflow:hidden;background:#d8bd96!important}.cape-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 63%;filter:saturate(.88)}.cape-visual:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(24,51,45,.45))}.cape-visual span{position:absolute;z-index:3;bottom:25px;left:28px;color:var(--cream);letter-spacing:.2em;font-size:9px}.editorial-card{padding:45px}.big-number{font-size:10px;letter-spacing:.2em}.editorial-card h3{font:42px/1 Georgia,serif;margin:45px 0 25px}.editorial-card p{font:15px/1.65 Georgia,serif}.place-list{padding:28px 45px}.place-list>p{text-transform:uppercase;font-size:9px;letter-spacing:.18em}.place-list ol{list-style:none;margin:15px 0 0;padding:0}.place-list li{padding:9px 0;border-top:1px solid var(--line);font:15px Georgia,serif}.place-list li span{display:inline-block;width:42px;font:9px Arial,sans-serif}
.wine-grid{display:grid;grid-template-columns:1.4fr repeat(3,.65fr);gap:1px;background:var(--line);border:1px solid var(--line)}.wine-grid article{background:var(--cream);padding:28px}.wine-photo{grid-column:1/-1;height:390px;margin:0;position:relative;overflow:hidden}.wine-photo img{width:100%;height:100%;object-fit:cover;object-position:center 58%;display:block}.wine-photo:after{content:"";position:absolute;inset:65% 0 0;background:linear-gradient(transparent,rgba(24,51,45,.45))}.wine-photo figcaption{position:absolute;left:28px;bottom:22px;z-index:2;color:var(--cream);font-size:9px;letter-spacing:.18em;text-transform:uppercase}.wine-feature{display:flex;gap:35px;align-items:end;min-height:350px}.bottle-link{display:block;color:inherit;text-decoration:none;flex:0 0 auto}.bottle{background:#203f37;color:var(--ink);width:125px;height:290px;border-radius:32px 32px 8px 8px;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;padding:92px 12px 56px;box-shadow:inset -12px 0 20px rgba(0,0,0,.12)}.bottle:before{content:"";position:absolute;width:38px;height:52px;top:-41px;background:#203f37;border-radius:4px 4px 0 0;box-shadow:inset -7px 0 8px rgba(0,0,0,.12)}.bottle:after{content:"";position:absolute;inset:72px 9px 48px;background:#e8dfcc;border:1px solid #c7bda8;z-index:0}.bottle span,.bottle small,.bottle strong,.bottle b,.bottle i{position:relative;z-index:1;text-align:center}.bottle span{font:20px Georgia,serif;letter-spacing:.08em}.bottle small{font:6px Arial,sans-serif;letter-spacing:.13em;margin-top:7px}.bottle strong{font:7px Arial,sans-serif;letter-spacing:.18em;margin-top:27px}.bottle b{font:9px/1.1 Arial,sans-serif;letter-spacing:.08em;margin-top:8px}.bottle i{font:8px Georgia,serif;margin-top:9px}.bottle-link:hover .bottle{background:#294d43}.region{font-size:8px;letter-spacing:.18em}.wine-feature h3,.region-card h3{font:31px Georgia,serif;margin:12px 0}.wine-feature p,.region-card p{font:14px/1.6 Georgia,serif}.source-link{color:var(--wine);font-size:9px;letter-spacing:.12em;text-transform:uppercase;text-underline-offset:4px}.region-card{display:flex;flex-direction:column;justify-content:flex-end}.region-card>span{font-size:9px}.region-card a{color:inherit;text-decoration-color:var(--wine);text-underline-offset:4px}.region-card.dark{background:var(--ink);color:var(--cream)}.wine-note{font-size:10px;text-transform:uppercase;letter-spacing:.1em;margin-top:25px;line-height:1.65}.wine-note a{color:inherit;text-decoration-color:var(--wine);text-underline-offset:4px}.wine-note strong{color:var(--wine);font-weight:400}
.legal-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.legal-grid article{padding:35px 35px 45px 0;border-right:1px solid var(--line);min-width:0}.legal-grid article+article{padding-left:35px}.legal-grid article:last-child{border:0}.legal-no{font-size:9px;letter-spacing:.15em;color:var(--wine)}.legal-grid h3{font:30px Georgia,serif;margin:35px 0 20px}.legal-grid p,.legal-grid address{font:15px/1.8 Georgia,serif;font-style:normal;margin:0}.legal-grid a{color:var(--ink);text-decoration-color:var(--wine);text-underline-offset:4px;overflow-wrap:anywhere}.legal-grid strong{font-weight:400;color:var(--wine)}.visual-legal{grid-template-columns:1.7fr .8fr}.legal-data-card{margin:0;padding:22px 28px 22px 0;border-right:1px solid var(--line)}.legal-data-card img{display:block;width:100%;height:auto}.legal-data-card figcaption{margin-top:12px;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--wine)}.visual-legal article{padding-left:35px}.legal-note{margin-top:35px;display:grid;grid-template-columns:120px 1fr;background:var(--ink);color:var(--cream);padding:25px 30px}.legal-note span{font-size:9px;letter-spacing:.16em;text-transform:uppercase}.legal-note p{font:15px/1.6 Georgia,serif;margin:0;max-width:850px}
#kontakt{scroll-margin-top:110px}.contact-panel{margin-top:55px;padding-top:50px;border-top:1px solid var(--ink);display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw}.contact-intro h3{font:48px/.95 Georgia,serif;margin:0 0 28px}.contact-intro h3 em{color:var(--wine);font-weight:400}.contact-intro>p:last-child{font:15px/1.65 Georgia,serif;max-width:390px}.contact-form{display:grid;gap:22px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}.contact-form label{display:grid;gap:9px;font-size:9px;letter-spacing:.14em;text-transform:uppercase}.contact-form label span{color:var(--wine);font-size:8px}.contact-form input,.contact-form textarea{width:100%;border:0;border-bottom:1px solid var(--ink);border-radius:0;background:rgba(255,255,255,.18);color:var(--ink);padding:14px 12px;font:16px/1.45 Georgia,serif;outline:none}.contact-form textarea{border:1px solid var(--line);resize:vertical;min-height:150px}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--wine);box-shadow:0 0 0 1px var(--wine)}.form-meta{display:flex;justify-content:space-between;gap:25px;align-items:start}.form-meta>span{font-size:9px;letter-spacing:.1em;white-space:nowrap}.form-meta p{margin:0;max-width:430px;font:12px/1.5 Georgia,serif}.form-submit{justify-self:start;border:0;background:var(--ink);color:var(--cream);padding:16px 20px;min-width:190px;display:flex;justify-content:space-between;gap:24px;cursor:pointer}.form-submit:hover{background:var(--wine)}.form-submit:disabled{opacity:.55;cursor:wait}.form-status{min-height:22px;margin:0;font:13px/1.5 Georgia,serif}.form-status.success{color:#266448}.form-status.error{color:var(--wine)}.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}

@media (max-width:1100px) and (min-width:801px) {
  .site-header { grid-template-columns:auto 1fr auto; gap:34px; padding:0 4vw; }
  .site-header nav { justify-content:center; gap:clamp(14px,2vw,25px); }
  nav a,.contact-link { font-size:10px; }
  .contact-link { gap:12px; }
  .header-actions { gap:16px; }
  .hero { grid-template-columns:1fr .82fr; gap:25px; padding:50px 5vw 35px; }
  .portrait-card { margin-left:0; min-height:540px; }
  .content-page { padding-left:5vw; padding-right:5vw; }
  .timeline-row { grid-template-columns:40px 105px minmax(180px,.9fr) minmax(240px,1.15fr); gap:18px; }
  .timeline-row h3 { font-size:23px; }
  .wine-grid { grid-template-columns:1.15fr repeat(3,.72fr); }
  .wine-feature { gap:22px; }
  .bottle { width:88px; height:250px; }
  .region-card h3,.wine-feature h3 { font-size:26px; }
  .contact-panel { gap:5vw; }
}

@media (max-width:800px) {
  .site-header { height:auto; grid-template-columns:auto 1fr; padding:13px 5vw 8px; }
  .site-header nav { grid-row:2; grid-column:1/-1; justify-content:flex-start; gap:24px; margin-top:9px; overflow-x:auto; overflow-y:hidden; flex-wrap:nowrap; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
  .site-header nav::-webkit-scrollbar { display:none; }
  nav a { flex:0 0 auto; min-height:36px; display:flex; align-items:center; }
  .tab-panel { scroll-margin-top:102px; }
  .contact-link { display:none; }
  .header-actions { grid-column:2; grid-row:1; }
  .hero { grid-template-columns:1fr; min-height:auto; padding:45px 5vw 55px; }
  .hero-copy { padding:0; }
  .intro { max-width:42rem; }
  .portrait-card { margin:45px 0 0; min-height:0; aspect-ratio:4/5; }
  .hero-note { display:none; }
  .section-head { grid-template-columns:1fr; gap:24px; margin-bottom:42px; }
  .section-head>p { margin:0; max-width:42rem; }
  .content-page { min-height:auto; padding:55px 5vw 64px; }
  .timeline-row { grid-template-columns:42px minmax(0,1fr); gap:7px 16px; padding:27px 0; }
  .timeline-row .row-no { grid-column:1; grid-row:1; }
  .timeline-row time { grid-column:2; grid-row:1; }
  .timeline-row>div { grid-column:1/-1; grid-row:2; min-width:0; padding-top:12px; }
  .timeline-row>p { grid-column:1/-1; grid-row:3; margin-top:7px; font-size:14px; line-height:1.55; max-width:42rem; }
  .timeline-row h3 { font-size:clamp(25px,7vw,30px); line-height:1.06; overflow-wrap:anywhere; }
  .timeline-row .place { font-size:9px; line-height:1.5; letter-spacing:.1em; overflow-wrap:anywhere; max-width:30rem; }
  .quote-band { display:block; padding:30px; }
  .quote-band p { font-size:clamp(21px,5vw,25px); }
  .quote-band span { display:block; margin-top:20px; }
  .cape-grid,.wine-grid,.legal-grid { grid-template-columns:1fr; }
  .cape-visual { grid-row:auto; min-height:0; aspect-ratio:4/5; }
  .wine-photo { grid-column:auto; height:auto; aspect-ratio:4/3; }
  .wine-feature { min-height:310px; display:grid; grid-template-columns:96px minmax(0,1fr); gap:24px; align-items:end; }
  .bottle { width:88px; height:235px; padding:65px 8px 44px; }
  .bottle:before { width:32px; height:43px; top:-34px; }
  .bottle:after { inset:59px 7px 39px; }
  .bottle span { font-size:16px; }
  .bottle small { font-size:5px; margin-top:5px; }
  .bottle strong { margin-top:21px; }
  .bottle b { font-size:7px; }
  .wine-feature h3 { font-size:clamp(27px,7vw,31px); overflow-wrap:anywhere; }
  .region-card { min-height:160px; }
  .legal-grid article,.legal-grid article+article { padding:28px 0; border-right:0; border-bottom:1px solid var(--line); }
  .legal-grid article:last-child { border:0; }
  .legal-data-card { padding:20px 0 24px; border-right:0; border-bottom:1px solid var(--line); }
  .visual-legal article { padding-left:0; }
  .legal-note { grid-template-columns:1fr; gap:15px; padding:24px; }
  #kontakt { scroll-margin-top:102px; }
  .contact-panel { grid-template-columns:1fr; gap:34px; padding-top:44px; }
  .contact-intro h3 { font-size:clamp(38px,10vw,48px); }
  footer { padding:0 5vw; }
}

@media (max-width:480px) {
  .site-header { padding-left:16px; padding-right:16px; }
  .site-header nav { gap:20px; }
  nav a { font-size:10px; letter-spacing:.11em; }
  .hero,.content-page { padding-left:16px; padding-right:16px; }
  h1 { font-size:clamp(43px,14vw,58px); line-height:.9; overflow-wrap:anywhere; }
  .intro { font-size:17px; margin-top:34px; }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:18px; }
  .primary { min-height:48px; }
  .portrait-card { margin-top:38px; }
  .section-head h2 { font-size:clamp(42px,14vw,54px); line-height:.9; overflow-wrap:anywhere; }
  .timeline-row { gap:8px 12px; }
  .editorial-card { padding:34px 24px; }
  .editorial-card h3 { font-size:36px; margin-top:34px; }
  .place-list { padding:26px 24px; }
  .wine-grid article { padding:24px; }
  .wine-photo figcaption { left:20px; bottom:18px; }
  .wine-feature { grid-template-columns:82px minmax(0,1fr); gap:20px; min-height:285px; }
  .bottle { width:76px; height:210px; padding:56px 6px 36px; }
  .bottle:after { inset:51px 6px 33px; }
  .bottle span { font-size:14px; }
  .bottle small { font-size:4px; margin-top:5px; }
  .bottle strong { font-size:6px; margin-top:18px; }
  .bottle b { font-size:6px; }
  .bottle i { font-size:7px; }
  .region-card h3 { font-size:28px; }
  .wine-note { line-height:1.65; overflow-wrap:anywhere; }
  .form-row { grid-template-columns:1fr; }
  .form-meta { display:block; }
  .form-meta p { margin-top:10px; }
  .form-submit { width:100%; }
  footer { height:auto; min-height:58px; padding-top:12px; padding-bottom:12px; gap:16px; }
  footer>span:first-child { display:none; }
}

@media (max-width:350px) {
  .site-header nav { gap:14px; }
  nav a { font-size:9px; }
  .eyebrow { letter-spacing:.14em; }
  .quote-band { padding:25px 22px; }
  .wine-feature { grid-template-columns:68px minmax(0,1fr); gap:16px; }
  .bottle { width:62px; height:185px; padding:50px 5px 30px; }
  .bottle:before { width:25px; }
  .bottle:after { inset:46px 5px 28px; }
  .bottle span { font-size:11px; }
  .bottle b { font-size:5px; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .js body,.js body.page-ready,.js body.language-leaving { opacity:1; transition:none; }
  .panel-enter { animation:none; }
  nav a:after { transition:none; }
  .lang-option { transition:none; }
}
