:root {
  --green:#062418;
  --green2:#0B3A2A;
  --green3:#03120D;
  --gold:#D6B36A;
  --gold2:#F4D994;
  --cream:#F8F0DC;
  --muted:#CFC2A4;
  --line:rgba(214,179,106,.32);
  --shadow:0 30px 90px rgba(0,0,0,.46);
  --ease:cubic-bezier(.18,.84,.26,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;background:var(--green3)}
body{
  min-height:100vh; overflow-x:hidden; color:var(--cream);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Arial,sans-serif;
  background:
    radial-gradient(circle at 15% 0%, rgba(214,179,106,.18), transparent 32%),
    radial-gradient(circle at 82% 12%, rgba(244,217,148,.12), transparent 28%),
    linear-gradient(180deg, var(--green2), var(--green3) 62%, #010604);
}
body::before{
  content:""; position:fixed; inset:0; pointer-events:none; opacity:.055; z-index:50;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 260 260' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");
  mix-blend-mode:overlay;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.serif{font-family:Georgia,"Times New Roman",serif}
.progress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,#9c793d,var(--gold2),var(--gold));z-index:1000}
.nav{
  position:fixed; top:0; left:0; right:0; z-index:800;
  height:88px; display:flex; align-items:center; justify-content:space-between;
  padding:0 clamp(22px,5vw,72px);
  background:rgba(3,18,13,.72); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(214,179,106,.24);
}
.nav-logo{height:38px;width:auto;filter:drop-shadow(0 0 18px rgba(214,179,106,.18))}
.card-link{
  display:inline-flex; align-items:center; justify-content:center; gap:12px;
  min-height:46px; padding:0 22px; border:1px solid var(--gold); color:var(--gold2);
  background:linear-gradient(135deg,rgba(214,179,106,.13),rgba(214,179,106,.03));
  text-transform:uppercase; letter-spacing:.22em; font-size:11px; font-weight:700;
  box-shadow:0 16px 40px rgba(0,0,0,.25); transition:.35s var(--ease);
}
.card-link:hover{transform:translateY(-2px);background:var(--gold);color:#06140E}
.hero{
  min-height:100vh; position:relative; display:grid; place-items:center; padding:120px 6vw 70px; overflow:hidden;
}
.hero::after{content:""; position:absolute; inset:0; background:radial-gradient(ellipse at center,transparent 34%,rgba(1,6,4,.72)); pointer-events:none}
.hero-orbit{position:absolute; inset:0; pointer-events:none; opacity:.98}
.float{position:absolute; width:min(260px,35vw); border:1px solid rgba(214,179,106,.32); box-shadow:var(--shadow); overflow:hidden}
.float img{width:100%; height:100%; object-fit:cover}
.f1{left:4vw; top:22vh; aspect-ratio:4/3; transform:rotate(-7deg)}
.f2{right:5vw; top:18vh; aspect-ratio:4/3; transform:rotate(6deg)}
.f3{left:10vw; bottom:8vh; aspect-ratio:1/1; transform:rotate(4deg)}
.f4{right:10vw; bottom:8vh; aspect-ratio:4/3; transform:rotate(-5deg)}
.hero-inner{position:relative;z-index:3;text-align:center;max-width:980px}
.logo-big{width:min(660px,86vw);margin:0 auto 30px;filter:drop-shadow(0 0 70px rgba(214,179,106,.24))}
.eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:.42em;font-size:11px;font-weight:700;margin-bottom:20px}
.hero h1{font:500 clamp(46px,8vw,118px)/.92 Georgia,"Times New Roman",serif;color:var(--cream);letter-spacing:.02em;text-wrap:balance}
.hero h1 em{color:var(--gold);font-style:italic}
.hero p{margin:28px auto 0;max-width:620px;color:var(--muted);font:italic 500 clamp(18px,2.2vw,26px)/1.45 Georgia,"Times New Roman",serif}
.hero-actions{margin-top:42px;display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.scroll-note{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);z-index:4;color:var(--gold);font-size:10px;letter-spacing:.36em;text-transform:uppercase}
section{position:relative}
.poem{padding:130px 6vw; text-align:center; background:linear-gradient(180deg,rgba(6,36,24,.8),rgba(3,18,13,.7))}
.star{color:var(--gold);font-size:26px;letter-spacing:1em;margin-left:1em;margin-bottom:45px}
.poem p{max-width:980px;margin:auto;font:500 clamp(32px,5.6vw,72px)/1.28 Georgia,"Times New Roman",serif;letter-spacing:.01em}
.poem em{color:var(--gold);font-style:italic}
.gallery{padding:110px 5vw;background:linear-gradient(180deg,var(--green3),var(--green2),var(--green3))}
.section-title{text-align:center;margin-bottom:60px}
.section-title small{display:block;color:var(--gold);letter-spacing:.38em;text-transform:uppercase;font-size:11px;font-weight:700;margin-bottom:20px}
.section-title h2{font:500 clamp(44px,7vw,92px)/.95 Georgia,"Times New Roman",serif;color:var(--gold)}
.products{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;max-width:1320px;margin:auto}
.product{min-height:520px;border:1px solid var(--line);background:#02100B;position:relative;overflow:hidden;box-shadow:var(--shadow);transition:.55s var(--ease)}
.product:hover{transform:translateY(-10px)}
.product img{width:100%;height:100%;object-fit:cover;filter:saturate(1.04) contrast(1.02)}
.product::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.08) 40%,rgba(0,0,0,.72))}
.product span{position:absolute;z-index:2;left:22px;right:22px;bottom:24px;font:italic 500 32px/1 Georgia,"Times New Roman",serif;color:var(--gold2);text-shadow:0 6px 30px rgba(0,0,0,.8)}
.product small{display:block;margin-top:10px;font:700 10px/1.3 Arial,sans-serif;letter-spacing:.28em;text-transform:uppercase;color:var(--cream);opacity:.78}
.cinema-intro{padding:120px 6vw 70px;text-align:center;background:#020A07}
.cinema{height:420vh;background:#020A07;position:relative}
.sticky{position:sticky;top:0;height:100vh;overflow:hidden;display:grid;place-items:center}
#seq{position:absolute;inset:0;width:100%;height:100%;z-index:1}
.vignette{position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(ellipse at center,transparent 36%,rgba(2,10,7,.76)),linear-gradient(180deg,rgba(2,10,7,.82),transparent 18%,transparent 78%,rgba(2,10,7,.85))}
.seq-text{position:absolute;z-index:3;max-width:360px;opacity:0;transform:translateY(22px);transition:.7s var(--ease);pointer-events:none}
.seq-text.show{opacity:1;transform:none}
.seq-left{left:6vw;top:42%}
.seq-right{right:6vw;top:42%;text-align:right}
.seq-bottom{bottom:11vh;text-align:center;max-width:820px;padding:0 24px}
.seq-text small{display:block;color:var(--gold);letter-spacing:.32em;text-transform:uppercase;font-size:10px;font-weight:800;margin-bottom:16px}
.seq-text h3{font:500 clamp(34px,5vw,72px)/.96 Georgia,"Times New Roman",serif;color:var(--gold2)}
.seq-text p{margin-top:16px;color:var(--muted);font:italic 500 clamp(16px,1.4vw,20px)/1.55 Georgia,"Times New Roman",serif}
.seqbar{position:absolute;z-index:4;bottom:26px;left:50%;transform:translateX(-50%);width:160px;height:1px;background:rgba(214,179,106,.2)}
.seqbar span{display:block;height:100%;width:0;background:var(--gold2)}
.menu-call{padding:130px 6vw;text-align:center;background:linear-gradient(180deg,var(--green3),var(--green2))}
.menu-card{max-width:880px;margin:auto;border:1px solid var(--gold);padding:70px 34px;background:radial-gradient(circle at 50% 0%,rgba(214,179,106,.12),transparent 45%),rgba(4,26,18,.68);box-shadow:var(--shadow);position:relative}
.menu-card::before{content:"";position:absolute;inset:14px;border:1px solid rgba(214,179,106,.34);pointer-events:none}
.menu-card h2{font:600 clamp(44px,7vw,88px)/.95 Georgia,"Times New Roman",serif;color:var(--gold)}
.menu-card p{margin:24px auto 38px;max-width:620px;color:var(--cream);font:italic 500 clamp(20px,2.4vw,30px)/1.35 Georgia,"Times New Roman",serif}
.visit{padding:120px 6vw;text-align:center;background:var(--green3)}
.visit h2{font:500 clamp(48px,7vw,92px)/.95 Georgia,"Times New Roman",serif;color:var(--gold)}
.visit p{margin:32px auto 0;max-width:650px;color:var(--cream);font:italic 500 clamp(22px,3vw,38px)/1.4 Georgia,"Times New Roman",serif}
footer{padding:60px 6vw;text-align:center;border-top:1px solid rgba(214,179,106,.22);color:var(--muted);font-size:11px;letter-spacing:.28em;text-transform:uppercase}
.reveal{opacity:0;transform:translateY(32px);transition:1s var(--ease)}
.reveal.visible{opacity:1;transform:none}
@media(max-width:950px){
 .nav{height:76px;padding:0 20px} .nav-logo{height:30px} .card-link{min-height:42px;padding:0 15px;letter-spacing:.16em;font-size:10px}
 .float{opacity:.34;width:44vw} .f1{left:-10vw;top:18vh} .f2{right:-14vw;top:17vh} .f3{left:-16vw;bottom:13vh} .f4{right:-15vw;bottom:11vh}
 .poem{padding:105px 22px} .poem p{font-size:clamp(30px,9vw,56px)}
 .products{grid-template-columns:1fr;gap:22px} .product{min-height:430px} .gallery{padding:90px 22px}
 .seq-left,.seq-right{display:none} .cinema{height:310vh} .seq-bottom{bottom:13vh} 
}

.softserve-feature{padding:0 6vw 10vh}
.softserve-card{
  max-width:1200px; margin:0 auto; display:grid; grid-template-columns:1.06fr .94fr;
  gap:clamp(24px,4vw,60px); align-items:center; padding:clamp(22px,3vw,34px);
  border:1px solid var(--line); background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.01));
  box-shadow:var(--shadow); position:relative; overflow:hidden;
}
.softserve-card::before{
  content:""; position:absolute; inset:0;
  background:radial-gradient(circle at 14% 18%, rgba(214,179,106,.10), transparent 32%),
             linear-gradient(135deg, rgba(214,179,106,.05), transparent 58%);
  pointer-events:none;
}
.softserve-media{position:relative; z-index:1; border:1px solid rgba(214,179,106,.28); overflow:hidden; background:#0a0a0a}
.softserve-media img{display:block; width:100%; height:100%; object-fit:cover; aspect-ratio:4/5;}
.softserve-copy{position:relative; z-index:1}
.softserve-copy small{
  display:block; margin-bottom:12px; color:var(--gold2); text-transform:uppercase;
  letter-spacing:.24em; font-size:11px; font-weight:700;
}
.softserve-copy h2{
  font-family:"Cormorant Garamond", Georgia, serif; font-size:clamp(40px,5.2vw,76px);
  line-height:.95; letter-spacing:-.02em; max-width:10ch; margin-bottom:18px;
}
.softserve-copy p{
  color:rgba(248,240,220,.86); font-size:clamp(17px,1.55vw,21px); line-height:1.7; max-width:34ch;
}
.softserve-copy .soft-note{margin-top:18px; color:var(--muted); font-style:italic}
@media (max-width:900px){
  .softserve-card{grid-template-columns:1fr}
  .softserve-copy h2{max-width:none}
  .softserve-copy p{max-width:none}
}


/* Final closing cinema placement */
.cinema-intro.final-cinema-intro{padding-top:12vh}
.site-end-card{
  padding:56px 6vw 76px; text-align:center; border-top:1px solid var(--line);
  background:linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.28));
}
.site-end-card p{
  color:var(--muted); letter-spacing:.12em; text-transform:uppercase; font-size:11px; line-height:2.1;
}
