:root{--ink:#33383d;--gold:#a8833a;--goldb:#e1be64;--cream:#faf7f0;--line:#eadfc8;--muted:#6b7075;}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:'Jost',-apple-system,'Segoe UI',Roboto,sans-serif;color:var(--ink);font-size:17px;line-height:1.65;background:#fff;}
img{max-width:100%;display:block;}
h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;color:var(--ink);line-height:1.15;margin:0;letter-spacing:normal;}
p{margin:0 0 1em;}
a{color:var(--gold);}
a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}
.eyebrow{font-size:12px;letter-spacing:3px;text-transform:uppercase;font-weight:500;color:var(--gold);margin:0 0 14px;}
.wrap{max-width:1060px;margin:0 auto;padding:0 24px;}
.btn{display:inline-block;padding:15px 34px;font-size:14px;letter-spacing:1.5px;text-transform:uppercase;font-weight:500;text-decoration:none;border:1px solid var(--goldb);transition:background .2s,color .2s;cursor:pointer;}
.btn-solid{background:var(--goldb);color:#fff;}
.btn-solid:hover{background:#d3ac4e;color:#fff;}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.7);}
.btn-ghost:hover{background:rgba(255,255,255,.12);color:#fff;}
.btn-dark{background:transparent;color:var(--ink);border-color:var(--goldb);}
.btn-dark:hover{background:var(--goldb);color:#fff;}
/* header */
.site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line);}
.site-header-in{max-width:1160px;margin:0 auto;padding:10px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;}
.site-logo img{height:56px;width:auto;}
.site-nav{display:flex;gap:26px;flex-wrap:wrap;}
.site-nav a{font-size:13px;letter-spacing:2px;text-transform:uppercase;font-weight:500;color:var(--ink);text-decoration:none;padding:6px 0;border-bottom:2px solid transparent;transition:border-color .2s,color .2s;}
.site-nav a:hover,.site-nav a[aria-current]{border-bottom-color:var(--goldb);color:var(--gold);}
/* hero */
.hero{position:relative;min-height:66vh;display:flex;align-items:flex-end;background:#22201c;}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 68%;opacity:.95;}
.hero::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(20,18,14,.82) 0%,rgba(20,18,14,.25) 55%,rgba(20,18,14,.15) 100%);}
.hero-in{position:relative;z-index:2;width:100%;max-width:1060px;margin:0 auto;padding:90px 24px 70px;color:#fff;text-align:center;}
.hero-in .eyebrow{color:var(--goldb);}
.hero-h{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:clamp(34px,5vw,58px);line-height:1.12;color:#fff;margin:0 0 18px;}
.hero-sub{max-width:640px;margin:0 auto 30px;font-size:17px;color:rgba(255,255,255,.88);}
.hero-cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
/* trust strip */
.trust{border-bottom:1px solid var(--line);}
.trust-in{display:flex;justify-content:center;gap:14px 42px;flex-wrap:wrap;padding:26px 24px;font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);}
.trust-in span{position:relative;}
.trust-in span+span::before{content:'';position:absolute;left:-24px;top:50%;width:5px;height:5px;border-radius:50%;background:var(--goldb);transform:translateY(-50%);}
/* sections */
.sec{padding:80px 0 40px;}
.sec-head{text-align:center;max-width:640px;margin:0 auto 54px;padding:0 24px;}
.sec-head h2{font-size:clamp(30px,3.6vw,42px);}
.sec-head p{color:var(--muted);margin:12px 0 0;}
/* cards grid */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;max-width:1060px;margin:0 auto;padding:0 24px;}
.card{text-decoration:none;color:var(--ink);display:block;border:1px solid var(--line);background:#fff;transition:box-shadow .2s,transform .2s;}
.card:hover{box-shadow:0 10px 30px rgba(51,56,61,.10);transform:translateY(-2px);}
.card figure{margin:0;position:relative;}
.card img{width:100%;height:240px;object-fit:cover;}
.card figcaption{position:absolute;inset:10px;border:1px solid rgba(255,255,255,.35);pointer-events:none;}
.card-body{padding:22px 24px 26px;}
.card-body h3{font-size:24px;margin-bottom:8px;}
.card-body p{color:var(--muted);font-size:15px;margin:0 0 14px;}
.card-more{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);font-weight:500;}
/* media rows */
.media-band{background:var(--cream);padding:80px 0;}
.media-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;max-width:1060px;margin:0 auto;padding:0 24px;}
.media-grid h2{font-size:clamp(28px,3.4vw,38px);margin-bottom:16px;}
.frame{position:relative;}
.frame img{width:100%;height:440px;object-fit:cover;border-radius:2px;}
.frame::after{content:'';position:absolute;inset:10px;border:1px solid rgba(225,190,100,.55);border-radius:2px;pointer-events:none;}
.media-grid ul{list-style:none;padding:0;margin:18px 0 26px;}
.media-grid li{padding:9px 0 9px 28px;position:relative;border-bottom:1px solid var(--line);}
.media-grid li::before{content:'';position:absolute;left:2px;top:18px;width:10px;height:10px;border:1px solid var(--gold);transform:rotate(45deg);}
/* reviews */
.reviews{text-align:center;padding:90px 24px 80px;}
.reviews .score{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(64px,9vw,110px);font-weight:500;color:var(--ink);line-height:1;}
.reviews .stars{color:var(--goldb);font-size:26px;letter-spacing:6px;margin:10px 0 8px;}
.reviews .src{color:var(--muted);font-size:14px;letter-spacing:1px;text-transform:uppercase;}
/* lokale */
.lokale-list{max-width:760px;margin:0 auto;padding:0 24px;}
.lokal{display:flex;justify-content:space-between;gap:20px;align-items:baseline;padding:20px 4px;border-bottom:1px solid var(--line);}
.lokal .n{font-family:'Cormorant Garamond',Georgia,serif;font-size:23px;font-weight:600;}
.lokal .a{color:var(--muted);font-size:15px;text-align:right;}
/* CTA band */
.cta-band{background:var(--ink);color:#fff;text-align:center;padding:80px 24px;margin-top:80px;}
.cta-band h2{color:#fff;font-size:clamp(28px,3.6vw,40px);margin-bottom:12px;}
.cta-band p{color:rgba(255,255,255,.75);max-width:520px;margin:0 auto 28px;}
.cta-band .hero-cta a.btn-ghost{border-color:rgba(255,255,255,.5);}
/* timeline (weselny) */
.tl{position:relative;max-width:980px;margin:0 auto;padding:0 24px;}
.tl::before{content:'';position:absolute;top:6px;bottom:6px;left:50%;width:1px;background:var(--line);}
.tl-row{display:grid;grid-template-columns:1fr 96px 1fr;align-items:center;margin-bottom:64px;}
.tl-time{grid-column:2;text-align:center;font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-weight:500;font-size:30px;color:var(--gold);background:#fff;padding:8px 0;position:relative;z-index:2;}
.tl-media{position:relative;}
.tl-media img{width:100%;height:380px;object-fit:cover;border-radius:2px;}
.tl-media::after{content:'';position:absolute;inset:10px;border:1px solid rgba(225,190,100,.55);border-radius:2px;pointer-events:none;}
.tl-row.l .tl-media{grid-column:1;grid-row:1;}
.tl-row.l .tl-body{grid-column:3;grid-row:1;padding-left:8px;}
.tl-row.r .tl-media{grid-column:3;grid-row:1;}
.tl-row.r .tl-body{grid-column:1;grid-row:1;text-align:right;padding-right:8px;}
.tl-body h3{font-size:27px;margin-bottom:10px;}
.tl-body p{color:var(--muted);margin:0;}
.tl-end{position:relative;text-align:center;padding:6px 0 12px;}
.tl-end .tl-time{display:inline-block;padding:8px 26px;}
.tl-end p{color:var(--muted);margin:6px 0 0;font-style:italic;font-family:'Cormorant Garamond',Georgia,serif;font-size:21px;}
/* table */
.ptable{width:100%;border-collapse:collapse;max-width:860px;margin:0 auto;}
.ptable th{font-size:12px;letter-spacing:2px;text-transform:uppercase;font-weight:500;color:var(--muted);padding:14px 12px;border-bottom:1px solid var(--ink);text-align:left;}
.ptable td{padding:18px 12px;border-bottom:1px solid var(--line);font-size:17px;}
.ptable td:last-child,.ptable th:last-child{text-align:right;}
.ptable td:first-child{font-family:'Cormorant Garamond',Georgia,serif;font-size:21px;font-weight:600;}
.ptable-note{max-width:860px;margin:18px auto 0;color:var(--muted);font-size:15px;text-align:center;padding:0 24px;}
/* why grid */
.why-grid{display:grid;grid-template-columns:repeat(2,1fr);max-width:900px;margin:0 auto;border-top:1px solid var(--line);border-left:1px solid var(--line);}
.why-item{padding:30px 34px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);}
.why-item h3{font-size:22px;margin-bottom:8px;}
.why-item p{color:var(--muted);margin:0;font-size:16px;}
/* faq */
.faq{padding:70px 24px 30px;max-width:760px;margin:0 auto;}
.faq details{border-bottom:1px solid var(--line);padding:4px 0;}
.faq summary{cursor:pointer;font-weight:500;font-size:17px;padding:16px 30px 16px 2px;list-style:none;position:relative;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:'+';position:absolute;right:6px;top:50%;transform:translateY(-50%);font-family:'Cormorant Garamond',serif;font-size:26px;color:var(--gold);font-weight:500;}
.faq details[open] summary::after{content:'\2013';}
.faq details p{color:var(--muted);margin:0 0 18px;padding-right:30px;}
/* form card */
.form-band{background:var(--cream);padding:80px 24px;}
.form-card{max-width:1020px;margin:0 auto;background:#fff;border:1px solid var(--line);display:grid;grid-template-columns:340px 1fr;}
.form-side{padding:44px 36px;border-right:1px solid var(--line);text-align:center;}
.form-side img{width:170px;height:170px;object-fit:cover;border-radius:50%;margin:0 auto 18px;}
.form-side .name{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:600;}
.form-side .role{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-bottom:18px;}
.form-side blockquote{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:19px;line-height:1.45;color:var(--ink);border-left:2px solid var(--goldb);margin:0 0 22px;padding:2px 0 2px 16px;text-align:left;}
.form-side ul{list-style:none;margin:0 0 20px;padding:0;text-align:left;font-size:15px;}
.form-side li{padding:6px 0 6px 26px;position:relative;color:var(--muted);}
.form-side li::before{content:'\2713';position:absolute;left:2px;color:var(--gold);}
.form-side .contact{font-size:15px;color:var(--muted);}
.form-side .contact a{color:var(--gold);text-decoration:none;}
.form-main{padding:44px 42px;}
.form-main h2{font-size:clamp(26px,3vw,34px);margin-bottom:8px;}
.form-main .sub{color:var(--muted);margin-bottom:26px;}
.f-field{margin-bottom:16px;}
.f-field label{display:block;font-size:14px;font-weight:500;margin-bottom:6px;}
.f-field input,.f-field textarea,.f-field select{width:100%;padding:12px 14px;border:1px solid #d9d2c0;font-family:inherit;font-size:16px;color:var(--ink);background:#fff;border-radius:0;}
.f-field input:focus,.f-field textarea:focus,.f-field select:focus{outline:none;border-color:var(--goldb);box-shadow:0 0 0 2px rgba(225,190,100,.25);}
.f-note{font-size:13px;color:var(--muted);margin-top:14px;}
.f-status{margin-top:14px;font-size:15px;display:none;}
.f-status.ok{display:block;color:#3c7a3c;}
.f-status.err{display:block;color:#a33;}
/* gallery */
.gal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;max-width:1060px;margin:0 auto;padding:0 24px;}
.gal-grid img{width:100%;height:230px;object-fit:cover;border-radius:2px;}
/* xlinks */
.xl{border-top:1px solid var(--line);margin-top:70px;padding:40px 24px 60px;}
.xl-t{text-align:center;font-size:12px;letter-spacing:2.5px;text-transform:uppercase;color:var(--muted);margin-bottom:20px;}
.xl-g{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;}
.xl-g a{background:#fff;padding:10px 18px;color:var(--ink);text-decoration:none;border:1px solid var(--goldb);font-size:13px;letter-spacing:.4px;transition:all .2s;}
.xl-g a:hover{background:var(--goldb);color:#fff;}
/* footer */
.site-footer{background:#26292d;color:rgba(255,255,255,.8);margin-top:0;}
.site-footer-in{max-width:1060px;margin:0 auto;padding:60px 24px 30px;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px;}
.site-footer h4{font-family:'Cormorant Garamond',serif;font-size:22px;color:#fff;margin:0 0 14px;font-weight:600;}
.site-footer a{color:var(--goldb);text-decoration:none;}
.site-footer p,.site-footer li{font-size:15px;line-height:1.7;}
.site-footer ul{list-style:none;margin:0;padding:0;}
.f-logo{height:60px;width:auto;margin-bottom:14px;filter:brightness(0) invert(1);opacity:.9;}
.f-bottom{border-top:1px solid rgba(255,255,255,.12);text-align:center;padding:18px 24px;font-size:13px;color:rgba(255,255,255,.45);}
/* responsive */
@media (max-width:900px){
.hero{min-height:60vh;}
.cards{grid-template-columns:1fr 1fr;}
.tl::before{left:20px;}
.tl-row{grid-template-columns:56px 1fr;margin-bottom:48px;}
.tl-time{grid-column:1;grid-row:1;align-self:start;font-size:22px;padding:2px 0;background:transparent;text-align:left;}
.tl-row.l .tl-media,.tl-row.r .tl-media{grid-column:2;grid-row:1;}
.tl-row.l .tl-body,.tl-row.r .tl-body{grid-column:2;grid-row:2;text-align:left;padding:16px 0 0;}
.tl-media img{height:260px;}
.tl{padding-left:12px;}
.media-grid{grid-template-columns:1fr;gap:30px;}
.frame img{height:300px;}
.form-card{grid-template-columns:1fr;}
.form-side{border-right:none;border-bottom:1px solid var(--line);}
.gal-grid{grid-template-columns:repeat(2,1fr);}
.gal-grid img{height:160px;}
.why-grid{grid-template-columns:1fr;}
.site-footer-in{grid-template-columns:1fr;gap:26px;}
.site-nav{gap:14px;}
.site-logo img{height:44px;}
}
@media (max-width:620px){
.cards{grid-template-columns:1fr;}
.lokal{flex-direction:column;gap:2px;}
.lokal .a{text-align:left;}
}
@media (prefers-reduced-motion:reduce){*{transition:none !important;scroll-behavior:auto !important;}}
/* ===== motion layer ===== */
.rv{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease;}
.rv.rv-in{opacity:1;transform:none;}
.hero>img.kb{animation:kb 20s ease-in-out infinite alternate;}
@keyframes kb{from{transform:scale(1);}to{transform:scale(1.07);}}
.hero-in>*{opacity:0;transform:translateY(18px);animation:hin .8s ease forwards;}
.hero-in>*:nth-child(1){animation-delay:.05s;}
.hero-in>*:nth-child(2){animation-delay:.18s;}
.hero-in>*:nth-child(3){animation-delay:.32s;}
.hero-in>*:nth-child(4){animation-delay:.46s;}
@keyframes hin{to{opacity:1;transform:none;}}
.site-header{transition:box-shadow .3s,background .3s;}
.site-header.scrolled{background:rgba(255,255,255,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 2px 20px rgba(0,0,0,.07);}
.card figure{overflow:hidden;}
.card img{transition:transform .6s ease;}
.card:hover img{transform:scale(1.06);}
.tl::before{transform:scaleY(0);transform-origin:top;transition:transform 1.4s ease .2s;}
.tl.rv-line::before{transform:scaleY(1);}
.gal-grid img{cursor:zoom-in;transition:transform .5s ease,box-shadow .5s ease;}
.gal-grid img:hover{transform:scale(1.03);box-shadow:0 12px 30px rgba(51,56,61,.18);}
.lb{position:fixed;inset:0;z-index:200;background:rgba(24,22,18,.93);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s ease;}
.lb.open{opacity:1;pointer-events:auto;}
.lb img{max-width:92vw;max-height:88vh;object-fit:contain;border:1px solid rgba(225,190,100,.4);}
.lb button{position:absolute;background:none;border:none;color:#fff;font-size:34px;cursor:pointer;padding:16px;font-family:'Cormorant Garamond',serif;line-height:1;opacity:.8;}
.lb button:hover{opacity:1;color:var(--goldb);}
.lb .lb-close{top:14px;right:18px;}
.lb .lb-prev{left:10px;top:50%;transform:translateY(-50%);}
.lb .lb-next{right:10px;top:50%;transform:translateY(-50%);}
@media (prefers-reduced-motion:reduce){
.rv{opacity:1;transform:none;transition:none;}
.hero>img.kb{animation:none;}
.hero-in>*{opacity:1;transform:none;animation:none;}
.tl::before{transform:none;transition:none;}
}
