*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --cream:#F5EDE0;--cream2:#EAD9C5;--cream3:#DECCB2;
  --blush:#F3C5CC;--blush2:#FBF0F2;--blush3:#E8A3AD;
  --gold:#C8A45A;--gold2:#E2CE96;--gold3:#9E7A38;
  --dark:#221008;--mid:#6B4535;--soft:#9B7060;--white:#FFFAF6;
}
html{scroll-behavior:smooth}
body{font-family:'Jost',sans-serif;background:var(--cream);color:var(--dark);overflow-x:hidden;cursor:none}
.cursor{position:fixed;width:10px;height:10px;background:var(--gold);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .3s,height .3s,background .3s}
.cursor-ring{position:fixed;width:36px;height:36px;border:1px solid rgba(200,164,90,.5);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:transform .4s ease,width .3s,height .3s,opacity .3s}
.cursor.expand{width:6px;height:6px;background:var(--gold3)}
.cursor-ring.expand{width:60px;height:60px;opacity:.5}
nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:2rem 5rem;display:flex;justify-content:space-between;align-items:center;transition:all .5s ease}
nav.scrolled{background:rgba(245,237,224,.96);backdrop-filter:blur(16px);padding:1.2rem 5rem;border-bottom:1px solid rgba(200,164,90,.2)}
.nav-logo{font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-weight:300;font-style:italic;letter-spacing:.07em;color:var(--dark);cursor:pointer;transition:color .3s;white-space:nowrap}
.nav-logo:hover{color:var(--gold)}
.nav-links{display:flex;gap:3rem;list-style:none}
.nav-links a{font-size:.68rem;font-weight:400;letter-spacing:.22em;text-transform:uppercase;color:var(--mid);text-decoration:none;cursor:pointer;position:relative;transition:color .3s;padding-bottom:3px}
.nav-links a::after{content:'';position:absolute;bottom:0;left:0;right:100%;height:1px;background:var(--gold);transition:right .35s ease}
.nav-links a:hover,.nav-links a.active{color:var(--dark)}
.nav-links a:hover::after,.nav-links a.active::after{right:0}
.nav-book{font-size:.65rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;padding:.7rem 1.6rem;border:1px solid var(--gold);background:transparent;color:var(--gold);cursor:pointer;transition:all .3s;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.nav-book:hover{background:var(--gold);color:white}
button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.form-input,.form-select,.form-textarea{-webkit-appearance:none}
.nav-ham{display:none;flex-direction:column;gap:6px;cursor:pointer;padding:4px;z-index:1100}
.nav-ham span{display:block;width:26px;height:1.5px;background:var(--dark);transition:all .35s ease}
.nav-ham.open span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.nav-ham.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.nav-ham.open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
.mob-menu{position:fixed;inset:0;background:var(--cream);z-index:1050;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2.5rem;transform:translateX(100%);transition:transform .45s cubic-bezier(.25,.46,.45,.94);pointer-events:none}
.mob-menu.open{transform:translateX(0);pointer-events:all}
.mob-menu a{font-family:'Cormorant Garamond',serif;font-size:2.4rem;font-weight:300;color:var(--dark);text-decoration:none;cursor:pointer;letter-spacing:.05em;transition:color .3s;position:relative}
.mob-menu a::after{content:'';position:absolute;bottom:-4px;left:0;right:100%;height:1px;background:var(--gold);transition:right .35s}
.mob-menu a:hover{color:var(--gold)}
.mob-menu a:hover::after{right:0}
.mob-social{display:flex;gap:1.5rem;margin-top:1rem}
.mob-soc{font-size:.65rem;letter-spacing:.25em;text-transform:uppercase;color:var(--soft);cursor:pointer;transition:color .3s}
.mob-soc:hover{color:var(--gold)}
.page{display:none;animation:pgIn .5s ease}
.page.active{display:block}
@keyframes pgIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.btn-gold{display:inline-block;background:var(--gold);color:white;font-size:.68rem;font-weight:500;letter-spacing:.25em;text-transform:uppercase;padding:1.1rem 2.8rem;border:none;cursor:pointer;position:relative;overflow:hidden;transition:all .3s;text-decoration:none}
.btn-gold::after{content:'';position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);transform:skewX(-20deg);transition:left 0s}
.btn-gold:hover{background:var(--gold3);transform:translateY(-2px);box-shadow:0 12px 40px rgba(200,164,90,.35)}
.btn-gold:hover::after{left:160%;transition:left .6s ease}
.btn-outline{display:inline-block;background:transparent;color:var(--dark);font-size:.68rem;font-weight:500;letter-spacing:.25em;text-transform:uppercase;padding:1.1rem 2.8rem;border:1px solid var(--cream3);cursor:pointer;transition:all .3s;text-decoration:none}
.btn-outline:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-2px)}
.reveal{opacity:0;transform:translateY(40px);transition:opacity .8s cubic-bezier(.25,.46,.45,.94),transform .8s cubic-bezier(.25,.46,.45,.94)}
.reveal.up{opacity:1;transform:translateY(0)}
.reveal-left{opacity:0;transform:translateX(-40px);transition:opacity .8s ease,transform .8s ease}
.reveal-left.up{opacity:1;transform:translateX(0)}
.reveal-right{opacity:0;transform:translateX(40px);transition:opacity .8s ease,transform .8s ease}
.reveal-right.up{opacity:1;transform:translateX(0)}
.eyebrow{font-size:.63rem;font-weight:400;letter-spacing:.42em;text-transform:uppercase;color:var(--gold)}
.section-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2.2rem,4.5vw,4.5rem);font-weight:300;line-height:1.1;color:var(--dark)}
.section-title em{font-style:italic;color:var(--blush3)}
.divider{width:55px;height:1px;background:var(--gold)}
footer{background:var(--dark);padding:4.5rem 5rem;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:3rem}
.footer-logo{font-family:'Cormorant Garamond',serif;font-size:1.8rem;font-weight:300;font-style:italic;color:white;letter-spacing:.05em}
.footer-sub{font-size:.7rem;color:rgba(255,255,255,.35);margin-top:.4rem;letter-spacing:.1em}
.f-head{font-size:.6rem;letter-spacing:.35em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem}
.f-links{list-style:none;display:flex;flex-direction:column;gap:.65rem}
.f-links a{font-size:.8rem;color:rgba(255,255,255,.45);text-decoration:none;cursor:pointer;transition:color .3s;letter-spacing:.04em}
.f-links a:hover{color:var(--gold2)}
.footer-bar{background:var(--dark);border-top:1px solid rgba(255,255,255,.07);padding:1.4rem 5rem;display:flex;justify-content:space-between}
.footer-copy{font-size:.62rem;color:rgba(255,255,255,.25);letter-spacing:.1em}

/* HOME */
.hero{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;position:relative;overflow:hidden;background:var(--cream);padding:9rem 2rem 5rem}
.hero-bg-word{position:absolute;top:50%;left:50%;transform:translate(-50%,-53%);font-family:'Cormorant Garamond',serif;font-size:clamp(7rem,22vw,24rem);font-weight:300;color:rgba(200,164,90,.055);letter-spacing:.05em;white-space:nowrap;user-select:none;animation:bgFloat 9s ease-in-out infinite;pointer-events:none}
@keyframes bgFloat{0%,100%{transform:translate(-50%,-53%) translateY(0)}50%{transform:translate(-50%,-53%) translateY(-18px)}}
.hero-rings{position:absolute;top:50%;left:50%;pointer-events:none}
.hero-ring{position:absolute;border-radius:50%;border:1px dashed rgba(200,164,90,.18);animation:spinRing linear infinite;transform-origin:center center}
@keyframes spinRing{from{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(360deg)}}
.hero-eyebrow{font-size:.65rem;letter-spacing:.4em;text-transform:uppercase;color:var(--gold);margin-bottom:1.8rem;animation:fadeUp .9s .15s both}
.hero-title{font-family:'Cormorant Garamond',serif;font-size:clamp(3.5rem,10vw,10rem);font-weight:300;line-height:.95;letter-spacing:-.02em;color:var(--dark);animation:fadeUp .9s .3s both}
.hero-title em{font-style:italic;color:var(--blush3);display:block}
.hero-sep{width:60px;height:1px;background:var(--gold);margin:2rem auto;animation:fadeUp .9s .45s both}
.hero-sub{font-family:'Cormorant Garamond',serif;font-size:clamp(1rem,2.5vw,1.9rem);font-weight:300;font-style:italic;color:var(--soft);margin-bottom:3.5rem;animation:fadeUp .9s .6s both}
.hero-cta{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap;animation:fadeUp .9s .75s both}
.hero-scroll{position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.6rem;animation:fadeUp .9s 1.1s both}
.hero-scroll span{font-size:.58rem;letter-spacing:.35em;text-transform:uppercase;color:var(--soft)}
.hero-scroll-line{width:1px;height:44px;background:linear-gradient(to bottom,var(--gold),transparent);animation:linePulse 2.2s ease-in-out infinite}
@keyframes linePulse{0%,100%{opacity:.3;transform:scaleY(1)}50%{opacity:1;transform:scaleY(1.08)}}
.hero-dot{position:absolute;border-radius:50%;animation:floatUp linear infinite}
@keyframes floatUp{0%{transform:translateY(0) scale(1);opacity:.7}100%{transform:translateY(-110vh) scale(.5);opacity:0}}
@keyframes fadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
.marquee-wrap{background:var(--gold);padding:1.1rem 0;overflow:hidden}
.marquee-inner{display:flex;animation:marquee 30s linear infinite}
.marquee-seg{display:flex;align-items:center;flex-shrink:0}
.marquee-seg span{font-size:.62rem;font-weight:500;letter-spacing:.32em;text-transform:uppercase;color:rgba(255,255,255,.92);padding:0 1.8rem;white-space:nowrap}
.marquee-seg i{color:rgba(255,255,255,.4);font-size:.5rem}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.featured-section{padding:7rem 5rem;background:var(--white)}
.section-head{text-align:center;margin-bottom:4.5rem}
.section-head .divider{margin:1.5rem auto 0}
.car-outer{position:relative;overflow:hidden}
.car-track{display:flex;transition:transform .65s cubic-bezier(.25,.46,.45,.94)}
.car-slide{min-width:33.333%;padding:0 1rem;flex-shrink:0}
.car-img{width:100%;aspect-ratio:3/4;position:relative;overflow:hidden}
.car-img-inner{position:absolute;inset:0;transition:transform .5s ease}
.car-slide:hover .car-img-inner{transform:scale(1.04)}
.car-frame{position:absolute;inset:18px;border:1px solid rgba(200,164,90,.35);pointer-events:none;z-index:2}
.car-label{position:absolute;bottom:1.2rem;left:1.2rem;z-index:3;font-size:.58rem;letter-spacing:.25em;text-transform:uppercase;background:rgba(245,237,224,.9);color:var(--mid);padding:.45rem 1rem}
.car-cap{padding:1.4rem 0 .5rem}
.car-cap h3{font-family:'Cormorant Garamond',serif;font-size:1.45rem;font-weight:400;color:var(--dark)}
.car-cap p{font-size:.72rem;color:var(--soft);letter-spacing:.08em;margin-top:.25rem}
.car-nav{display:flex;align-items:center;justify-content:center;gap:1.2rem;margin-top:2.5rem}
.car-btn{width:52px;height:52px;border:1px solid var(--cream3);background:transparent;cursor:pointer;font-size:1.1rem;color:var(--mid);transition:all .3s;display:flex;align-items:center;justify-content:center}
.car-btn:hover{border-color:var(--gold);color:var(--gold);background:rgba(200,164,90,.06)}
.car-dots{display:flex;gap:.5rem}
.cdot{width:6px;height:6px;border-radius:50%;background:var(--cream3);cursor:pointer;transition:all .3s}
.cdot.on{background:var(--gold);transform:scale(1.4)}
.about-teaser{display:grid;grid-template-columns:1fr 1fr;min-height:80vh}
.at-img{position:relative;overflow:hidden;min-height:400px}
.at-img-bg{position:absolute;inset:0;background:linear-gradient(145deg,var(--blush) 0%,var(--cream2) 45%,var(--blush3) 100%);transition:transform .5s ease}
.at-img:hover .at-img-bg{transform:scale(1.03)}
.at-img-deco{position:absolute;inset:30px;border:1px solid rgba(200,164,90,.25);pointer-events:none}
.at-img-deco img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}
.at-img-tag{position:absolute;bottom:2.5rem;right:2.5rem;font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-style:italic;color:rgba(200,164,90,.5);letter-spacing:.1em}
.at-text{background:var(--cream2);display:flex;flex-direction:column;justify-content:center;padding:7rem 5rem}
.at-text .eyebrow{margin-bottom:1.2rem}
.at-text .section-title{margin-bottom:2rem}
.at-text p{font-size:.88rem;font-weight:300;line-height:2;color:var(--mid);margin-bottom:2.5rem}
.stats-bar{background:var(--dark);padding:5.5rem 5rem;display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;text-align:center}
.stat-n{font-family:'Cormorant Garamond',serif;font-size:4.5rem;font-weight:300;color:var(--gold);line-height:1;display:flex;align-items:flex-start;justify-content:center}
.stat-n .plus{font-size:2rem;margin-top:.5rem}
.stat-l{font-size:.62rem;letter-spacing:.32em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-top:.6rem}
.stat-divider{width:30px;height:1px;background:rgba(200,164,90,.25);margin:.8rem auto}
.testi-section{background:var(--blush2);padding:7rem 5rem}
.testi-wrap{max-width:820px;margin:4rem auto 0;text-align:center;position:relative}
.testi-slide{display:none;animation:testiIn .5s ease}
.testi-slide.on{display:block}
@keyframes testiIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.testi-q{font-family:'Cormorant Garamond',serif;font-size:4rem;line-height:1;color:var(--blush3);margin-bottom:.5rem}
.testi-text{font-family:'Cormorant Garamond',serif;font-size:1.65rem;font-weight:300;font-style:italic;color:var(--dark);line-height:1.6;margin-bottom:2rem}
.testi-who{font-size:.67rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}
.testi-dots{display:flex;justify-content:center;gap:.6rem;margin-top:3rem}
.tdot{width:7px;height:7px;border-radius:50%;background:var(--cream3);cursor:pointer;transition:all .3s}
.tdot.on{background:var(--gold);transform:scale(1.35)}
.grid-section{padding:6rem 5rem 0}
.grid-section .section-head{margin-bottom:3.5rem}
.insta-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:3px}
.ig-item{aspect-ratio:1;position:relative;overflow:hidden;cursor:pointer}
.ig-bg{position:absolute;inset:0;transition:transform .45s ease}
.ig-item:hover .ig-bg{transform:scale(1.07)}
.ig-over{position:absolute;inset:0;background:rgba(35,16,8,.55);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .35s}
.ig-item:hover .ig-over{opacity:1}
.ig-over span{font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.9)}
.cta-strip{padding:9rem 5rem;text-align:center;background:var(--cream);position:relative;overflow:hidden}
.cta-strip::before{content:'BUCHEN';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:'Cormorant Garamond',serif;font-size:clamp(4rem,18vw,18rem);font-weight:300;color:rgba(200,164,90,.042);white-space:nowrap;pointer-events:none}
.cta-strip h2{font-family:'Cormorant Garamond',serif;font-size:clamp(2.2rem,5vw,5.5rem);font-weight:300;color:var(--dark);margin-bottom:1rem}
.cta-strip h2 em{font-style:italic;color:var(--blush3)}
.cta-strip p{font-size:.85rem;font-weight:300;color:var(--soft);letter-spacing:.08em;margin-bottom:3.5rem}

/* PORTFOLIO */
.page-hero{padding:11rem 5rem 5rem;text-align:center;background:var(--white)}
.page-hero .section-title{font-size:clamp(3rem,7vw,7rem)}
.page-hero .eyebrow{margin-bottom:1.2rem}
.page-hero .divider{margin:1.5rem auto 0}
.filter-bar{display:flex;justify-content:center;gap:.6rem;padding:3rem 5rem 2rem;flex-wrap:wrap}
.filt{font-size:.62rem;letter-spacing:.25em;text-transform:uppercase;padding:.65rem 1.8rem;border:1px solid var(--cream3);background:transparent;color:var(--mid);cursor:pointer;transition:all .3s}
.filt:hover,.filt.on{border-color:var(--gold);background:var(--gold);color:white}
.port-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding:1rem 5rem 6rem}
.port-item{position:relative;overflow:hidden;cursor:pointer;background:var(--cream2)}
.port-item.tall{grid-row:span 2}
.port-ph{width:100%;min-height:320px;height:100%;transition:transform .5s ease}
.port-item.tall .port-ph{min-height:650px}
.port-over{position:absolute;inset:0;background:linear-gradient(to top,rgba(34,16,8,.85) 0%,rgba(34,16,8,.2) 50%,transparent 100%);opacity:0;transition:opacity .4s;display:flex;align-items:flex-end;padding:2rem}
.port-item:hover .port-over{opacity:1}
.port-item:hover .port-ph{transform:scale(1.05)}
.port-info h3{font-family:'Cormorant Garamond',serif;font-size:1.35rem;font-weight:300;color:white}
.port-info span{font-size:.58rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold2)}
.port-item-reveal{opacity:0;transform:scale(.97);transition:opacity .6s ease,transform .6s ease}
.port-item-reveal.up{opacity:1;transform:scale(1)}

/* SERVICES */
.services-intro{padding:11rem 5rem 5rem;text-align:center;background:var(--cream)}
.serv-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--cream3)}
.serv-card{background:var(--cream);padding:4.5rem;position:relative;overflow:hidden;transition:background .4s}
.serv-card:nth-child(even){background:var(--blush2)}
.serv-card:nth-child(even):hover{background:var(--blush)}
.serv-card:nth-child(odd):hover{background:var(--cream2)}
.serv-card::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:3px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .45s ease}
.serv-card:hover::after{transform:scaleX(1)}
.serv-num{font-family:'Cormorant Garamond',serif;font-size:6rem;font-weight:300;color:rgba(200,164,90,.1);line-height:1;margin-bottom:1.5rem}
.serv-name{font-family:'Cormorant Garamond',serif;font-size:2.2rem;font-weight:400;color:var(--dark);margin-bottom:1rem}
.serv-desc{font-size:.85rem;font-weight:300;line-height:1.9;color:var(--mid);margin-bottom:2rem}
.serv-price{font-family:'Cormorant Garamond',serif;font-size:1.6rem;color:var(--gold);margin-bottom:1.5rem}
.serv-list{list-style:none;display:flex;flex-direction:column;gap:.6rem}
.serv-list li{font-size:.75rem;color:var(--mid);display:flex;align-items:center;gap:.8rem;padding-bottom:.6rem;border-bottom:1px solid rgba(200,164,90,.12)}
.serv-list li::before{content:'';width:18px;height:1px;background:var(--gold);flex-shrink:0}
.addons-section{padding:6rem 5rem;background:var(--dark)}
.addons-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;margin-top:4rem;background:rgba(255,255,255,.04)}
.addon-item{padding:2.5rem 2rem;background:var(--dark);text-align:center;transition:background .3s}
.addon-item:hover{background:rgba(200,164,90,.07)}
.addon-icon{font-size:1.5rem;color:var(--gold);margin-bottom:1rem}
.addon-name{font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-weight:300;color:white;margin-bottom:.5rem}
.addon-price{font-size:.7rem;letter-spacing:.15em;color:var(--gold2)}
.faq-section{padding:6rem 5rem;background:var(--cream2)}
.faq-inner{max-width:860px;margin:4rem auto 0}
.faq-item{border-bottom:1px solid rgba(200,164,90,.2)}
.faq-q{padding:1.8rem 0;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:400;color:var(--dark);transition:color .3s;gap:1rem}
.faq-q:hover{color:var(--gold3)}
.faq-toggle{width:28px;height:28px;border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;color:var(--gold);font-size:1.1rem;flex-shrink:0;transition:all .3s;line-height:1}
.faq-item.open .faq-toggle{background:var(--gold);color:white}
.faq-a{font-size:.85rem;font-weight:300;line-height:1.9;color:var(--mid);max-height:0;overflow:hidden;transition:max-height .4s ease,padding .4s}
.faq-item.open .faq-a{max-height:300px;padding-bottom:1.8rem}

/* ABOUT */
.about-split{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}
.ab-img-side{position:relative;overflow:hidden;min-height:400px}
.ab-img-ph{position:absolute;inset:0;background:linear-gradient(140deg,var(--blush) 0%,var(--cream2) 50%,var(--blush3) 100%)}
.ab-img-frame{position:absolute;inset:40px;border:1px solid rgba(200,164,90,.3);pointer-events:none;z-index:2}
.ab-img-frame img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}
.ab-img-name{position:absolute;bottom:3rem;left:50%;transform:translateX(-50%);font-family:'Cormorant Garamond',serif;font-size:1rem;font-style:italic;letter-spacing:.15em;color:rgba(200,164,90,.5);white-space:nowrap;z-index:3}
.ab-float{position:absolute;border-radius:50%;background:rgba(200,164,90,.12);animation:abFloat ease-in-out infinite}
@keyframes abFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-20px)}}
.ab-text-side{display:flex;flex-direction:column;justify-content:center;padding:9rem 5rem 6rem}
.ab-text-side .eyebrow{margin-bottom:1.2rem}
.ab-text-side .section-title{margin-bottom:2rem}
.ab-text-side p{font-size:.88rem;font-weight:300;line-height:2.1;color:var(--mid);margin-bottom:1.5rem}
.ab-sig{font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:300;font-style:italic;color:var(--blush3);margin-top:1rem}
.phil-section{padding:7rem 5rem;background:var(--dark)}
.phil-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:4rem;background:rgba(255,255,255,.05)}
.phil-card{padding:3.5rem 3rem;background:var(--dark);transition:background .35s}
.phil-card:hover{background:rgba(200,164,90,.06)}
.phil-num{font-family:'Cormorant Garamond',serif;font-size:3.5rem;font-weight:300;color:rgba(200,164,90,.2);margin-bottom:1.5rem}
.phil-title{font-family:'Cormorant Garamond',serif;font-size:1.4rem;color:white;margin-bottom:1rem}
.phil-text{font-size:.8rem;font-weight:300;line-height:1.9;color:rgba(255,255,255,.45)}
.timeline-section{padding:7rem 5rem;background:var(--cream2)}
.timeline-list{max-width:750px;margin:4rem auto 0;position:relative}
.timeline-list::before{content:'';position:absolute;left:4.5rem;top:0;bottom:0;width:1px;background:linear-gradient(to bottom,transparent,var(--gold) 20%,var(--gold) 80%,transparent)}
.tl-item{display:flex;gap:2.5rem;margin-bottom:3rem;opacity:0;transform:translateX(-25px);transition:all .7s ease}
.tl-item.up{opacity:1;transform:translateX(0)}
.tl-yr{font-family:'Cormorant Garamond',serif;font-size:1.15rem;font-weight:300;color:var(--gold);min-width:4rem;text-align:right;padding-top:.15rem}
.tl-dot{width:12px;height:12px;border-radius:50%;background:var(--gold);border:3px solid var(--cream2);flex-shrink:0;margin-top:.25rem;position:relative;z-index:1}
.tl-content h3{font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-weight:400;color:var(--dark)}
.tl-content p{font-size:.78rem;color:var(--soft);margin-top:.3rem;line-height:1.7}
.press-section{padding:5rem 5rem;background:var(--cream);text-align:center}
.press-logos{display:flex;justify-content:center;align-items:center;gap:4rem;flex-wrap:wrap;margin-top:3.5rem}
.press-logo{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:300;letter-spacing:.08em;color:var(--cream3);text-transform:uppercase;font-style:italic;transition:color .35s;cursor:default}
.press-logo:hover{color:var(--gold)}

/* CONTACT */
.contact-layout{display:grid;grid-template-columns:1fr 1.6fr;min-height:100vh}
.con-info{background:var(--dark);padding:9rem 4.5rem 6rem;display:flex;flex-direction:column;justify-content:center}
.con-info-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2.5rem,4vw,3.8rem);font-weight:300;color:white;line-height:1.15;margin-bottom:3.5rem}
.con-info-title em{font-style:italic;color:var(--gold2);display:block}
.con-detail{margin-bottom:2.2rem}
.con-lbl{font-size:.58rem;letter-spacing:.35em;text-transform:uppercase;color:var(--gold);margin-bottom:.4rem}
.con-val{font-family:'Cormorant Garamond',serif;font-size:1.25rem;color:white}
.socials{display:flex;gap:.8rem;margin-top:3.5rem;flex-wrap:wrap}
.soc{width:42px;height:42px;border:1px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.45);font-size:.75rem;cursor:pointer;transition:all .3s;font-family:'Cormorant Garamond',serif;font-style:italic}
.soc:hover{border-color:var(--gold);color:var(--gold)}
.con-form-side{background:var(--white);padding:9rem 5.5rem 6rem}
.form-title{font-family:'Cormorant Garamond',serif;font-size:2.8rem;font-weight:300;color:var(--dark);margin-bottom:.5rem}
.form-sub{font-size:.8rem;color:var(--soft);margin-bottom:3.5rem;letter-spacing:.06em}
.form-group{margin-bottom:1.6rem}
.form-lbl{display:block;font-size:.6rem;letter-spacing:.25em;text-transform:uppercase;color:var(--mid);margin-bottom:.65rem}
.form-input,.form-select,.form-textarea{width:100%;padding:.95rem 1.1rem;border:1px solid var(--cream3);background:var(--cream);font-family:'Jost',sans-serif;font-size:.85rem;color:var(--dark);outline:none;transition:border-color .3s,background .3s;appearance:none}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--gold);background:white}
.form-textarea{min-height:130px;resize:vertical}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-note{font-size:.72rem;color:var(--soft);margin-top:1rem;text-align:center}

.stats-bar {
  align-items: stretch;
}

.stats-bar > div {
  min-height: 150px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
}
/* ====================== MOBILE ====================== */

/* Touch-Geräte allgemein — kein Custom Cursor, kein Tap-Highlight */
@media (pointer:coarse){
  body{cursor:auto}
  .cursor,.cursor-ring{display:none !important}
  button,a,[onclick]{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
}

/* ── Tablets & Handys ab 900px ── */
@media (max-width:900px){

  /* NAV */
  nav{padding:1.2rem 1.5rem}
  nav.scrolled{padding:.9rem 1.5rem}
  .nav-links,.nav-book{display:none}
  .nav-ham{display:flex}

  /* Mob-Menu Schrift etwas kleiner damit 5 Items + Button passen */
  .mob-menu{gap:1.8rem}
  .mob-menu a{font-size:2rem}

  /* HERO */
  .hero{padding:6.5rem 1.5rem 4rem;min-height:100svh}
  .hero-rings,.hero-dot{display:none}
  .hero-title{font-size:clamp(2.8rem,11vw,5.5rem);line-height:.97}
  .hero-sub{font-size:clamp(.95rem,3.8vw,1.4rem);margin-bottom:2.5rem}
  .hero-cta{flex-direction:column;align-items:center;gap:.9rem}
  .hero-cta .btn-gold,.hero-cta .btn-outline{
    width:100%;max-width:280px;text-align:center;
    padding:1.05rem 1rem;font-size:.7rem;min-height:48px
  }
  .hero-scroll{bottom:1.5rem}

  /* MARQUEE */
  .marquee-seg span{padding:0 1rem;font-size:.52rem}

  /* FEATURED CAROUSEL */
  .featured-section{padding:3.5rem 1.5rem; overflow:hidden}
  .section-head{margin-bottom:3rem}
  .car-slide{min-width:100%;padding:0 .4rem}
  /* grössere Touch-Targets für Carousel-Buttons */
  .car-btn{width:48px;height:48px;font-size:1rem}
  .cdot{width:8px;height:8px}

  /* ABOUT TEASER */
  .about-teaser{grid-template-columns:1fr;min-height:auto}
  .at-img{min-height:60vw}
  .at-text{padding:3rem 1.5rem}
  .at-text p{font-size:.85rem;margin-bottom:1.5rem}
  .at-text .btn-outline{width:100%;text-align:center;max-width:280px}

  /* STATS */
  .stats-bar{grid-template-columns:1fr 1fr;padding:3rem 1.5rem;gap:1.2rem}
  .stat-n{font-size:3rem}
  .stat-l{font-size:.55rem;letter-spacing:.2em}

  /* TESTIMONIALS */
  .testi-section{padding:4rem 1.5rem}
  .testi-text{font-size:1.2rem;line-height:1.55}
  .testi-q{font-size:3rem}

  /* INSTAGRAM GRID */
  .grid-section{padding:3.5rem 0 0}
  .grid-section .section-head{padding:0 1.5rem;margin-bottom:2rem}
  .insta-grid{grid-template-columns:repeat(3,1fr);gap:2px}

  /* CTA STRIP */
  .cta-strip{padding:4.5rem 1.5rem}
  .cta-strip p{margin-bottom:2rem;font-size:.8rem}
  .cta-strip .btn-gold{min-height:48px;width:100%;max-width:280px}

  /* FOOTER */
  footer{grid-template-columns:1fr 1fr;padding:2.5rem 1.5rem;gap:1.8rem}
  .footer-logo{font-size:1.5rem}
  .footer-bar{padding:1rem 1.5rem;flex-direction:column;gap:.35rem;text-align:center}

  /* PAGE HERO (Portfolio / Services / About) */
  .page-hero{padding:7.5rem 1.5rem 2.5rem}

  /* ── PORTFOLIO ── */
  .filter-bar{padding:1.5rem 1.5rem 1rem;gap:.4rem}
  .filt{font-size:.55rem;padding:.6rem 1rem;letter-spacing:.12em;min-height:40px}
  .port-grid{grid-template-columns:1fr 1fr;padding:.8rem 1.5rem 4rem;gap:.6rem}
  .port-item.tall{grid-row:span 1}
  .port-item.tall .port-ph,.port-ph{min-height:52vw}
  /* Overlay immer sichtbar auf Touch (kein hover) */
  .port-over{opacity:1;background:linear-gradient(to top,rgba(34,16,8,.78) 0%,transparent 55%)}
  .port-info h3{font-size:1.1rem}

  /* ── SERVICES ── */
  .services-intro{padding:7.5rem 1.5rem 2.5rem}
  .serv-grid{grid-template-columns:1fr}
  .serv-card{padding:2.5rem 1.5rem}
  .serv-num{font-size:3.5rem;margin-bottom:1rem}
  .serv-name{font-size:1.7rem}
  .serv-desc{font-size:.82rem}
  .addons-section{padding:3rem 1.5rem}
  .addons-grid{grid-template-columns:1fr 1fr}
  .faq-section{padding:3.5rem 1.5rem}
  .faq-q{font-size:1.05rem;padding:1.4rem 0}
  .faq-a{font-size:.82rem}

  /* ── ABOUT ── */
  .about-split{grid-template-columns:1fr;min-height:auto}
  .ab-img-side{min-height:65vw}
  .ab-float{display:none}
  .ab-text-side{padding:3rem 1.5rem}
  .ab-text-side p{font-size:.85rem;margin-bottom:1.2rem}
  .ab-sig{font-size:1.6rem}
  .ab-text-side .btn-gold,.ab-text-side .btn-outline{min-height:48px}
  .phil-section{padding:3.5rem 1.5rem}
  .phil-grid{grid-template-columns:1fr}
  .phil-card{padding:2rem 1.5rem}
  .phil-text{font-size:.78rem}
  .timeline-section{padding:3.5rem 1.5rem}
  /* Timeline: Jahr ausblenden, Linie ganz links */
  .tl-yr{display:none}
  .timeline-list::before{left:.3rem}
  .tl-dot{margin-left:0}
  .tl-item{gap:1.2rem;margin-bottom:2rem}
  .tl-content h3{font-size:1.05rem}
  .press-section{padding:3rem 1.5rem}
  .press-logos{gap:1.5rem}
  .press-logo{font-size:1.1rem}

  /* ── CONTACT ── */
  .contact-layout{grid-template-columns:1fr}
  .con-info{padding:7rem 1.5rem 3rem;min-height:auto}
  .con-info-title{font-size:clamp(2rem,8vw,3rem);margin-bottom:2.5rem}
  .con-form-side{padding:3rem 1.5rem}
  /* KRITISCH: font-size mind. 16px → verhindert Auto-Zoom auf iOS */
  .form-input,.form-select,.form-textarea{font-size:1rem;padding:.85rem 1rem}
  .form-row{grid-template-columns:1fr}
  .form-title{font-size:2rem}
  .form-sub{margin-bottom:2rem;font-size:.78rem}
  .btn-gold[style*="width:100%"]{min-height:52px;font-size:.7rem}
}

/* ── Kleine Handys 480px ── */
@media (max-width:480px){
  /* Footer auf eine Spalte */
  footer{grid-template-columns:1fr}

  /* Portfolio eine Spalte */
  .port-grid{grid-template-columns:1fr}
  .port-ph,.port-item.tall .port-ph{min-height:60vw}

  /* Instagram 2 Spalten */
  .insta-grid{grid-template-columns:repeat(2,1fr)}

  /* Stats bleiben 2-spaltig */
  .stats-bar{grid-template-columns:1fr 1fr}

  /* Testimonial */
  .testi-text{font-size:1.05rem}

  /* Hero noch kompakter */
  .hero-title{font-size:clamp(2.6rem,12vw,4rem)}
  .hero-eyebrow{font-size:.55rem;letter-spacing:.3em}

  /* Mob-Menu */
  .mob-menu a{font-size:1.7rem}
  .mob-menu{gap:1.4rem}

  /* Filter Buttons umbrechen sauber */
  .filt{font-size:.52rem;padding:.55rem .8rem}

  /* Addons 1 Spalte */
  .addons-grid{grid-template-columns:1fr 1fr}

  /* Presse-Logos kleiner */
  .press-logo{font-size:1rem}
}

@media (min-width: 901px) {
  .car-track {
    transform: none !important;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
  }

  .car-slide {
    min-width: 0;
    padding: 0;
  }

  .car-nav {
    display: none;
  }
}

@media (min-width: 701px) and (max-width: 900px) {
  .hero {
    padding-bottom: 7rem;
  }

  .hero-scroll {
    bottom: 1.2rem;
  }
}

.model-popup {
  position: fixed;
  inset: 0;
  z-index: 5000;
  background: rgba(34, 16, 8, .55);
  backdrop-filter: blur(10px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  opacity: 0;
  pointer-events: none;
  transition: opacity .35s ease;
}

.model-popup.show {
  opacity: 1;
  pointer-events: all;
}

.model-popup-box {
  position: relative;
  max-width: 520px;
  width: 100%;
  background: var(--white);
  border: 1px solid rgba(200,164,90,.35);
  padding: 3.5rem 3rem 3rem;
  text-align: center;
  box-shadow: 0 30px 90px rgba(34,16,8,.22);
  animation: popupIn .45s ease both;
}

.model-popup-box::before {
  content: '';
  position: absolute;
  inset: 16px;
  border: 1px solid rgba(200,164,90,.25);
  pointer-events: none;
}

.model-popup-box h2 {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2rem, 4vw, 3.2rem);
  font-weight: 300;
  color: var(--dark);
  line-height: 1.1;
  margin: 1rem 0 1.2rem;
}

.model-popup-box h2 em {
  font-style: italic;
  color: var(--blush3);
}

.model-popup-box p:not(.eyebrow) {
  font-size: .88rem;
  font-weight: 300;
  line-height: 1.9;
  color: var(--mid);
  margin-bottom: 2rem;
}

.model-popup-x {
  position: absolute;
  top: 1rem;
  right: 1rem;
  width: 38px;
  height: 38px;
  border: 1px solid var(--cream3);
  background: transparent;
  color: var(--mid);
  font-size: 1.6rem;
  line-height: 1;
  cursor: pointer;
  z-index: 2;
  transition: all .3s;
}

.model-popup-x:hover {
  border-color: var(--gold);
  color: var(--gold);
}

@keyframes popupIn {
  from {
    opacity: 0;
    transform: translateY(18px) scale(.97);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@media (max-width: 480px) {
  .model-popup-box {
    padding: 3rem 1.5rem 2.5rem;
  }
}

.coming-soon-img {
  position: relative;
}

.coming-soon-img::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(34, 16, 8, .18);
  z-index: 4;
  pointer-events: none;
}

.coming-soon-banner {
  position: absolute;
  top: 1.4rem;
  right: -3.8rem;
  width: 190px;
  padding: .55rem 0;
  background: linear-gradient(90deg, var(--gold3), var(--gold), var(--gold2));
  color: white;
  text-align: center;
  transform: rotate(38deg);
  z-index: 6;
  box-shadow: 0 10px 30px rgba(34, 16, 8, .22);
  pointer-events: none;
}

.coming-soon-banner span {
  display: block;
  font-size: .58rem;
  font-weight: 500;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: white;
}

.coming-soon-banner::before,
.coming-soon-banner::after {
  content: '';
  position: absolute;
  top: 0;
  width: 1px;
  height: 100%;
  background: rgba(255, 255, 255, .45);
}

.coming-soon-banner::before {
  left: 12px;
}

.coming-soon-banner::after {
  right: 12px;
}

.coming-soon-banner.small {
  top: .8rem;
  right: -3.2rem;
  width: 150px;
  padding: .42rem 0;
}

.coming-soon-banner.small span {
  font-size: .48rem;
  letter-spacing: .22em;
}

/* Damit der Instagram-Hover nicht über dem Banner liegt */
.ig-over {
  z-index: 5;
}

.ig-bg {
  z-index: 1;
}

.car-frame,
.car-label {
  z-index: 5;
}

@media (max-width:480px) {
  .coming-soon-banner {
    top: 1rem;
    right: -3.4rem;
    width: 165px;
  }

  .coming-soon-banner span {
    font-size: .5rem;
  }

  .coming-soon-banner.small {
    top: .65rem;
    right: -3rem;
    width: 135px;
  }

  .coming-soon-banner.small span {
    font-size: .42rem;
    letter-spacing: .18em;
  }
}


.hp-field {
  position: absolute;
  left: -9999px;
  opacity: 0;
  height: 0;
  width: 0;
  overflow: hidden;
}

.consent-label {
  display: flex;
  gap: .75rem;
  align-items: flex-start;
  font-size: .75rem;
  font-weight: 300;
  line-height: 1.7;
  color: var(--soft);
  cursor: pointer;
}

.consent-label input {
  margin-top: .25rem;
  accent-color: var(--gold);
}

.form-message {
  display: none;
  margin-bottom: 1.3rem;
  padding: 1rem 1.2rem;
  font-size: .8rem;
  line-height: 1.6;
  border: 1px solid var(--cream3);
}

.form-message.success {
  display: block;
  background: var(--blush2);
  color: var(--mid);
  border-color: rgba(200,164,90,.35);
}

.form-message.error {
  display: block;
  background: #fff2f2;
  color: #7a2c2c;
  border-color: rgba(122,44,44,.25);
}