/* Static adaptation of the original Winzerhof Stahl design. */
html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#fff}a:focus-visible,button:focus-visible{outline:3px solid #94723b;outline-offset:5px}.wedding-brand{position:absolute;top:28px;left:32px;z-index:20;color:#fff;text-shadow:0 1px 12px #0008;display:flex;flex-direction:column;letter-spacing:.18em}.wedding-brand span{font-size:25px;font-weight:700}.wedding-brand small{font-size:9px;letter-spacing:.23em;margin-top:5px}.hero{visibility:visible!important;isolation:isolate;background:#3f4d53}.hero>img{z-index:-1!important;opacity:0!important;transition:opacity 1s;position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero>img.current{opacity:1!important}.hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(#0004,transparent 45%,#0003)}.hero-text{display:flex!important}.hero-text h1{display:flex;flex-direction:column}.hero-text h1 span:first-child{font-family:Caslon,Georgia,serif;font-size:clamp(2.5rem,5vw,4rem);font-weight:400}.hero-text h1 span:last-child{font-size:clamp(4.5rem,9vw,7rem);font-weight:700;letter-spacing:.1em;line-height:1}.fade-up,.fade-left,.fade-right,[data-aos]{opacity:1!important;visibility:visible!important}.image{height:auto}.verticordion{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));height:auto!important;gap:20px}.verticordion .item{height:auto!important;width:auto!important;overflow:visible!important;border:0!important;cursor:auto}.verticordion .content{transform:none!important;opacity:1!important;padding:28px!important;height:100%;display:block!important}.verticordion h3{font-family:Caslon,Georgia,serif;font-size:26px;line-height:1.15;margin-bottom:18px}.verticordion img{max-height:170px;width:auto;object-fit:cover;margin-top:18px}.wedding-footer{background:#3f4d53;color:#fff;padding:50px max(24px,calc((100vw - 1200px)/2));font-size:15px;line-height:1.8;letter-spacing:.04em;display:flex;justify-content:space-between;gap:30px}.wedding-footer p{margin:12px 0}.wedding-footer a{text-decoration:underline;text-underline-offset:4px}.legal{display:flex;gap:24px;align-items:flex-end}.map:empty{display:none}#down-arrow{cursor:pointer}@media(max-width:767px){.verticordion{grid-template-columns:1fr}.verticordion .content{padding:24px!important}.wedding-brand{top:20px;left:20px}.wedding-brand span{font-size:20px}.wedding-brand small{font-size:8px}.wedding-footer{flex-direction:column}.hero{height:75svh!important;min-height:420px}.hero-text{bottom:18%}.headline-serif-xl{overflow-wrap:break-word}body{overflow-wrap:break-word}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero>img{transition:none}}

/* Gentle motion: progressive enhancement keeps content readable without JavaScript. */
.wedding-brand{gap:12px;filter:drop-shadow(0 2px 10px #0005)}
.wedding-brand .brand-logo{width:220px;height:auto;max-height:130px;object-fit:contain;object-position:left}
.hero>img{transition:opacity 1.6s ease!important;transform:scale(1.025)}
.hero>img.current{animation:hero-drift 8s ease-out both}
@keyframes hero-drift{from{transform:scale(1.025)}to{transform:scale(1.075)}}
.hero-text{animation:title-arrive 1.15s cubic-bezier(.2,.65,.3,1) both}
.wedding-brand{animation:title-arrive .9s .1s ease both}
@keyframes title-arrive{from{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}
.motion-ready .reveal{opacity:0!important;translate:0 24px;transition:opacity .8s ease,translate .8s cubic-bezier(.2,.65,.3,1);transition-delay:var(--reveal-delay,0ms)}
.motion-ready .reveal.is-visible{opacity:1!important;translate:0 0}
.button{transition:background-color .25s,color .25s,box-shadow .3s,translate .3s!important}
.button:hover{translate:0 -3px;box-shadow:0 8px 24px #3f4d531c}
.button:active{translate:0 0}
.wedding-footer a{transition:opacity .25s}.wedding-footer a:hover{opacity:.7}
@media(max-width:767px){.wedding-brand .brand-logo{width:170px;max-height:100px}.wedding-brand{gap:8px}.wedding-brand small{font-size:7px}.motion-ready .reveal{translate:0 16px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.hero>img{transform:none!important}.motion-ready .reveal{opacity:1!important;translate:none}.button:hover{translate:none}}

/* Readable news cards with understated, clearly identifiable links. */
.verticordion .content,
.verticordion .content p,
.verticordion .content a,
.verticordion .content strong{text-transform:none!important;letter-spacing:normal}
.verticordion .content p{font-size:18px;line-height:1.65;font-weight:400;color:#3f4d53}
.verticordion .content a{color:#59646a;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;transition:color .2s ease}
.verticordion .content a:hover{color:#303b40;text-decoration-thickness:2px}
.verticordion .content h3{text-decoration:none!important;border-bottom:0!important}
.verticordion .content a:has(img){text-decoration:none}
@media(max-width:767px){.verticordion .content p{font-size:17px;line-height:1.65}}

/* Only one spacer variant may contribute height at each breakpoint. */
.fsb-flexible-spacer__device{display:none}
.fsb-flexible-spacer__device--lg{display:block}
@media(min-width:768px) and (max-width:1023px){
 .fsb-flexible-spacer__device--lg{display:none}
 .fsb-flexible-spacer__device--md{display:block;height:40px!important}
}
@media(max-width:767px){
 .fsb-flexible-spacer__device--lg,.fsb-flexible-spacer__device--md{display:none}
 .fsb-flexible-spacer__device--sm{display:block;height:32px!important}
 .main .mt-16{margin-top:12px}
 .main .mb-16{margin-bottom:28px}
 .main .mb-10{margin-bottom:24px}
 .main .mb-40{margin-bottom:32px}
 .standard-text h2{margin-bottom:0;line-height:1.4}
 .hero-text{bottom:20%;padding-left:24px;padding-right:24px}
 .hero-text h1 span:first-child{font-size:clamp(3.2rem,13vw,5.8rem);line-height:1.05;letter-spacing:.055em}
 .hero-text h1 span:last-child{font-size:clamp(5rem,21vw,9rem);line-height:1;letter-spacing:.06em}
}
@media(min-width:768px) and (max-width:1023px){
 .main .mt-16{margin-top:16px}
 .standard-text h2{margin-bottom:0}
 .hero-text h1 span:first-child{font-size:4.4rem}
 .hero-text h1 span:last-child{font-size:7.5rem}
}
