
:root{
  --black:#080708;
  --soft-black:#151015;
  --cream:#fff6e8;
  --paper:#fff8ef;
  --ink:#24131b;
  --muted:#785f68;
  --line:rgba(52,24,36,.13);
  --gold:#d99a24;
  --gold-2:#f1c15a;
  --pink:#d91b74;
  --magenta:#a81372;
  --purple:#672b8f;
  --teal:#078d89;
  --orange:#f06a1d;
  --lime:#8ebd24;
  --white:#fff;
  --max:1240px;
  --radius:28px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  -webkit-font-smoothing:antialiased;
}
body.modal-open{overflow:hidden}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
button{font:inherit}
.shell{width:min(var(--max),calc(100% - 34px));margin-inline:auto}

.site-header{
  position:sticky;top:0;z-index:100;
  background:
    linear-gradient(90deg,rgba(8,8,8,.96),rgba(26,10,25,.95),rgba(8,8,8,.96));
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(241,193,90,.20);
}
.header-inner{
  min-height:82px;
  display:flex;align-items:center;gap:28px;
}
.brand{display:flex;align-items:center;margin-right:auto}
.brand img{
  width:178px;height:auto;max-height:62px;object-fit:contain;object-position:left center;
  display:block;background:#000;border-radius:10px;
}
.desktop-nav{display:flex;align-items:center;gap:25px;color:#d8d2cb;font-size:.92rem}
.desktop-nav a{transition:.2s}
.desktop-nav a:hover{color:#fff}
.button{
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:999px;padding:13px 18px;font-weight:750;
  border:1px solid transparent;cursor:pointer;transition:.22s ease;
}
.button:hover{transform:translateY(-1px)}
.button-primary{background:linear-gradient(135deg,var(--gold-2),var(--gold));color:#111}
.button-secondary{background:#fff;border-color:var(--line);color:var(--ink)}
.button-ghost{border-color:rgba(23,19,15,.2);background:transparent;color:var(--ink)}
.button-large{padding:16px 22px}
.button-light{background:#fff;color:#0b0b0b}
.button-outline-light{border-color:rgba(255,255,255,.36);color:#fff;background:transparent}

.hero{
  background:
    radial-gradient(circle at 12% 16%,rgba(217,27,116,.22),transparent 27%),
    radial-gradient(circle at 86% 12%,rgba(7,141,137,.22),transparent 26%),
    radial-gradient(circle at 72% 78%,rgba(240,106,29,.18),transparent 30%),
    linear-gradient(135deg,#fff7df 0%,#fff0f5 42%,#f2f5ff 72%,#fff7e8 100%);
  padding:56px 0 58px;
}
.hero-grid{display:grid;grid-template-columns:1fr .88fr;gap:46px;align-items:center}
.hero-copy{padding:18px 0}
.eyebrow{
  margin:0 0 15px;
  font-size:.78rem;font-weight:800;letter-spacing:.19em;text-transform:uppercase;color:var(--gold);
}
.hero h1,.section-heading h2,.story-main h2,.contact-card h2,.modal-copy h2{
  font-family:Georgia,"Times New Roman",serif;
  letter-spacing:-.035em;
}
.hero h1{font-size:clamp(3.5rem,7vw,6.4rem);line-height:.91;margin:0 0 24px;font-weight:500}
.hero h1 em{font-weight:400;color:var(--gold);font-style:italic}
.hero-text{max-width:690px;color:var(--muted);font-size:1.08rem;line-height:1.85;margin:0 0 28px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.hero-notes{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}
.hero-notes span{border:1px solid var(--line);border-radius:999px;padding:9px 13px;color:#62594f;font-size:.84rem;background:rgba(255,255,255,.72)}
.hero-visual{
  position:relative;min-height:720px;border-radius:34px;overflow:hidden;background:#ddd;
  box-shadow:0 30px 70px rgba(44,28,14,.18);
}
.hero-visual>img{width:100%;height:100%;min-height:720px;object-fit:cover}
.hero-visual:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.3),transparent 40%);
  pointer-events:none;
}
.hero-badge{
  position:absolute;right:22px;bottom:22px;z-index:2;
  width:150px;height:150px;border-radius:50%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  border:1px solid rgba(255,255,255,.55);background:rgba(8,8,8,.72);color:#fff;
  backdrop-filter:blur(14px);
}
.hero-badge span{font-size:.65rem;letter-spacing:.17em}
.hero-badge strong{font-family:Georgia,serif;font-size:1.6rem;margin-top:4px}

.marquee{overflow:hidden;background:var(--gold);border-block:1px solid rgba(0,0,0,.1)}
.marquee-track{
  min-width:max-content;display:flex;align-items:center;gap:22px;
  padding:13px 18px;font-weight:850;letter-spacing:.13em;font-size:.79rem;
}
.marquee-track i{font-style:normal}

.section{padding:86px 0}
.section-dark{background:var(--black);color:#fff}
.section-heading{max-width:780px;margin-bottom:32px}
.section-heading.light p:not(.eyebrow){color:#bdb5ac}
.section-heading h2{font-size:clamp(2.5rem,5vw,4.5rem);font-weight:500;line-height:1;margin:0 0 14px}
.section-heading>p:not(.eyebrow){color:var(--muted);line-height:1.8;margin:0;font-size:1.02rem}

.lookbook-row{
  display:grid;grid-auto-flow:column;grid-auto-columns:minmax(290px,385px);
  overflow-x:auto;gap:18px;padding-bottom:16px;scroll-snap-type:x mandatory;
  scrollbar-color:#6b5944 #171717;
}
.lookbook-card{
  position:relative;border:0;padding:0;overflow:hidden;border-radius:26px;cursor:pointer;
  min-height:540px;background:#222;scroll-snap-align:start;text-align:left;
}
.lookbook-card img{width:100%;height:100%;min-height:540px;object-fit:cover;transition:transform .35s}
.lookbook-card:hover img{transform:scale(1.025)}
.lookbook-shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.62),transparent 50%)}
.lookbook-copy{position:absolute;left:20px;right:20px;bottom:20px;color:#fff;z-index:2}
.lookbook-copy small{display:block;letter-spacing:.16em;margin-bottom:7px;opacity:.8}
.lookbook-copy strong{display:block;font-family:Georgia,serif;font-size:1.35rem}

.collection-section{background:#f8f3ed}
.collection-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.product-card{
  background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;
  box-shadow:0 16px 40px rgba(47,31,19,.06);display:flex;flex-direction:column;
}
.product-image-wrap{position:relative;border:0;padding:0;background:#ece4da;cursor:pointer;overflow:hidden}
.product-image-wrap img{width:100%;height:475px;object-fit:cover;transition:transform .4s}
.product-image-wrap:hover img{transform:scale(1.025)}
.look-number{
  position:absolute;right:14px;bottom:14px;
  background:rgba(0,0,0,.72);color:#fff;border:1px solid rgba(255,255,255,.25);
  border-radius:999px;padding:8px 11px;font-size:.72rem;letter-spacing:.15em;font-weight:800;
}
.product-copy{padding:21px;display:flex;flex-direction:column;justify-content:space-between;gap:22px;flex:1}
.kicker{font-size:.7rem;letter-spacing:.16em;color:var(--gold);font-weight:850;margin:0 0 7px}
.product-copy h3{font-family:Georgia,serif;font-size:1.5rem;font-weight:500;margin:0 0 9px}
.product-copy .desc{color:var(--muted);line-height:1.7;margin:0;font-size:.94rem}
.product-actions{display:flex;gap:9px;flex-wrap:wrap}
.product-actions .button{font-size:.88rem}

.story-section{background:#efe6dc}
.story-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:18px}
.story-panel{
  background:rgba(255,255,255,.64);border:1px solid rgba(23,19,15,.1);
  border-radius:28px;padding:28px;
}
.story-main{grid-row:span 3;display:flex;flex-direction:column;justify-content:center;min-height:540px;background:var(--black);color:#fff}
.story-main h2{font-size:clamp(3rem,5vw,5rem);font-weight:500;line-height:.98;margin:0 0 22px}
.story-main p:not(.eyebrow){color:#c9c1ba;line-height:1.85;font-size:1.02rem;max-width:620px}
.story-index{display:block;color:var(--gold);font-weight:800;letter-spacing:.14em;margin-bottom:25px}
.story-panel h3{font-family:Georgia,serif;font-size:1.6rem;margin:0 0 10px;font-weight:500}
.story-panel>p{color:var(--muted);line-height:1.75;margin:0}

.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.step{border-top:1px solid var(--ink);padding:24px 0}
.step>span{display:block;color:var(--gold);letter-spacing:.14em;font-weight:800;margin-bottom:34px}
.step h3{font-family:Georgia,serif;font-size:1.8rem;font-weight:500;margin:0 0 10px}
.step p{color:var(--muted);line-height:1.75;margin:0;max-width:360px}

.contact-section{padding-top:30px}
.contact-card{
  border-radius:34px;background:var(--black);color:#fff;padding:46px;
  display:grid;grid-template-columns:1.3fr .7fr;align-items:center;gap:28px;
  box-shadow:0 30px 70px rgba(0,0,0,.12);
}
.contact-card h2{font-size:clamp(2.7rem,5vw,4.8rem);font-weight:500;line-height:1;margin:0 0 15px}
.contact-card>div>p:not(.eyebrow):not(.phone-line){color:#bfb6ad;line-height:1.8;max-width:720px}
.phone-line{font-family:Georgia,serif;font-size:1.4rem;margin-top:22px}
.contact-actions{display:flex;flex-direction:column;gap:12px;align-items:stretch}

.footer{background:#000;color:#bdb6ae;padding:34px 0}
.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:22px;align-items:center}
.footer-logo{width:160px;height:68px;object-fit:contain;object-position:left center}
.footer-grid p{margin:5px 0}
.footer-contact{display:flex;justify-content:flex-end;gap:18px;flex-wrap:wrap;color:#fff}

.modal{
  display:none;position:fixed;inset:0;z-index:500;align-items:center;justify-content:center;padding:22px;
}
.modal.show{display:flex}
.modal-backdrop{position:absolute;inset:0;border:0;background:rgba(0,0,0,.78);backdrop-filter:blur(8px);cursor:pointer}
.modal-card{
  position:relative;z-index:2;width:min(1050px,100%);max-height:calc(100vh - 44px);overflow:auto;
  border-radius:30px;background:#fff;box-shadow:0 35px 100px rgba(0,0,0,.38);
}
.modal-close{
  position:absolute;right:16px;top:16px;z-index:4;width:44px;height:44px;border:0;border-radius:50%;
  background:#0b0b0b;color:#fff;font-size:1.45rem;cursor:pointer;
}
.modal-grid{display:grid;grid-template-columns:1fr .9fr}
.modal-image-area{background:#eee;min-height:650px}
.modal-image-area img{width:100%;height:100%;min-height:650px;object-fit:cover}
.modal-copy{padding:52px 38px;display:flex;flex-direction:column;justify-content:center}
.modal-copy h2{font-size:clamp(2.4rem,4vw,4rem);font-weight:500;line-height:1;margin:0 0 18px}
.modal-copy>p:not(.eyebrow){color:var(--muted);line-height:1.8;font-size:1rem}
.modal-points{display:grid;gap:10px;margin:22px 0 28px}
.modal-points span{border-bottom:1px solid var(--line);padding-bottom:10px;color:#514a43}

@media(max-width:1020px){
  .desktop-nav{display:none}
  .hero-grid,.contact-card{grid-template-columns:1fr}
  .hero-visual,.hero-visual>img{min-height:560px}
  .collection-grid{grid-template-columns:repeat(2,1fr)}
  .story-grid{grid-template-columns:1fr}
  .story-main{grid-row:auto;min-height:auto}
  .steps{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-contact{grid-column:1/-1;justify-content:flex-start}
}
@media(max-width:680px){
  .shell{width:min(var(--max),calc(100% - 22px))}
  .header-inner{min-height:72px;gap:12px}
  .brand img{width:112px;height:46px}
  .header-cta{padding:10px 13px;font-size:.8rem}
  .hero{padding:35px 0 42px}
  .hero h1{font-size:clamp(3rem,16vw,5rem)}
  .hero-text{font-size:1rem}
  .hero-actions{display:grid;grid-template-columns:1fr}
  .hero-actions .button{width:100%}
  .hero-visual,.hero-visual>img{min-height:460px}
  .hero-badge{width:118px;height:118px;right:14px;bottom:14px}
  .section{padding:64px 0}
  .section-heading h2{font-size:clamp(2.4rem,11vw,3.8rem)}
  .lookbook-row{grid-auto-columns:84vw}
  .lookbook-card,.lookbook-card img{min-height:470px}
  .collection-grid{grid-template-columns:1fr}
  .product-image-wrap img{height:auto;max-height:700px;object-fit:contain;background:#f1ebe5}
  .product-actions{display:grid;grid-template-columns:1fr}
  .story-panel{padding:22px}
  .contact-card{padding:28px 22px}
  .footer-grid{grid-template-columns:1fr}
  .footer-contact{grid-column:auto}
  .modal{padding:10px}
  .modal-grid{grid-template-columns:1fr}
  .modal-image-area,.modal-image-area img{min-height:0;height:auto}
  .modal-copy{padding:28px 22px 26px}
}


/* -------- Garba colour system -------- */
.hero,
.collection-section,
.story-section,
#how {
  position: relative;
  overflow: hidden;
}

.hero::before,
.collection-section::before,
.story-section::before,
#how::before {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.20;
  background-image:
    radial-gradient(circle at 12px 12px, var(--pink) 0 2px, transparent 2.7px),
    radial-gradient(circle at 36px 36px, var(--teal) 0 2px, transparent 2.7px),
    radial-gradient(circle at 12px 36px, var(--orange) 0 1.7px, transparent 2.4px),
    radial-gradient(circle at 36px 12px, var(--purple) 0 1.7px, transparent 2.4px);
  background-size:48px 48px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.65),transparent 82%);
}

.hero .shell,
.collection-section .shell,
.story-section .shell,
#how .shell {
  position:relative;
  z-index:1;
}

.hero h1 em {
  background:linear-gradient(90deg,var(--pink),var(--orange),var(--purple));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.button-primary {
  background:linear-gradient(135deg,var(--orange),var(--pink) 48%,var(--purple));
  color:#fff;
  box-shadow:0 12px 28px rgba(168,19,114,.22);
}

.button-primary:hover {
  box-shadow:0 16px 34px rgba(168,19,114,.28);
}

.hero-notes span:nth-child(1){border-color:rgba(217,27,116,.24);background:rgba(255,235,246,.86)}
.hero-notes span:nth-child(2){border-color:rgba(7,141,137,.24);background:rgba(231,255,252,.86)}
.hero-notes span:nth-child(3){border-color:rgba(240,106,29,.24);background:rgba(255,241,229,.88)}

.marquee {
  background:linear-gradient(90deg,var(--pink),var(--orange),var(--gold),var(--teal),var(--purple),var(--pink));
  color:#fff;
  border:0;
}

.section-dark {
  background:
    radial-gradient(circle at 15% 15%,rgba(217,27,116,.16),transparent 28%),
    radial-gradient(circle at 85% 20%,rgba(7,141,137,.14),transparent 26%),
    linear-gradient(145deg,#080708,#170b17 52%,#0b1012);
}

.lookbook-card {
  border:1px solid rgba(255,255,255,.10);
}

.collection-section {
  background:
    radial-gradient(circle at 10% 8%,rgba(240,106,29,.16),transparent 25%),
    radial-gradient(circle at 88% 16%,rgba(103,43,143,.14),transparent 24%),
    radial-gradient(circle at 70% 92%,rgba(7,141,137,.12),transparent 26%),
    #fff6eb;
}

.product-card {
  border:1px solid rgba(168,19,114,.11);
  box-shadow:0 18px 46px rgba(91,38,67,.08);
}

.product-card:nth-child(4n+1) .kicker{color:var(--pink)}
.product-card:nth-child(4n+2) .kicker{color:var(--teal)}
.product-card:nth-child(4n+3) .kicker{color:var(--orange)}
.product-card:nth-child(4n+4) .kicker{color:var(--purple)}

.story-section {
  background:
    radial-gradient(circle at 12% 14%,rgba(217,27,116,.18),transparent 24%),
    radial-gradient(circle at 88% 75%,rgba(7,141,137,.15),transparent 26%),
    linear-gradient(135deg,#ffe9d8,#fff0f7 45%,#efe9ff);
}

.story-panel:not(.story-main):nth-child(2){border-top:4px solid var(--pink)}
.story-panel:not(.story-main):nth-child(3){border-top:4px solid var(--teal)}
.story-panel:not(.story-main):nth-child(4){border-top:4px solid var(--orange)}

#how {
  background:
    radial-gradient(circle at 16% 20%,rgba(142,189,36,.12),transparent 26%),
    radial-gradient(circle at 84% 75%,rgba(217,27,116,.12),transparent 26%),
    #fffaf4;
}

.step:nth-child(1){border-top-color:var(--pink)}
.step:nth-child(2){border-top-color:var(--teal)}
.step:nth-child(3){border-top-color:var(--orange)}

.contact-card {
  background:
    radial-gradient(circle at 8% 20%,rgba(217,27,116,.22),transparent 30%),
    radial-gradient(circle at 82% 72%,rgba(7,141,137,.18),transparent 30%),
    linear-gradient(135deg,#120911,#281126 50%,#0c1617);
}

.footer {
  background:
    linear-gradient(90deg,#050505,#1a0816,#050505);
}

/* Corrected original Orniva logo */
.brand img,
.footer-logo {
  content:url("assets/orniva-logo-fixed.png");
}
.footer-logo {
  width:185px;
  height:auto;
  max-height:78px;
  object-fit:contain;
  object-position:left center;
  border-radius:10px;
}


/* Floating Instagram contact button */
.instagram-float{
  position:fixed;
  right:20px;
  bottom:20px;
  z-index:450;
  display:flex;
  align-items:center;
  gap:10px;
  color:#fff;
  border-radius:999px;
  padding:12px 16px 12px 12px;
  background:linear-gradient(135deg,#833AB4 0%,#C13584 32%,#E1306C 55%,#F77737 78%,#FCAF45 100%);
  box-shadow:0 18px 40px rgba(91,32,111,.28);
  font-weight:800;
  transition:transform .2s ease,box-shadow .2s ease;
}
.instagram-float:hover{
  transform:translateY(-2px) scale(1.02);
  box-shadow:0 22px 48px rgba(91,32,111,.34);
}
.instagram-float .ig-icon{
  width:46px;
  height:46px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#fff;
  flex:0 0 46px;
}
.instagram-float .ig-icon svg{
  width:27px;
  height:27px;
  fill:#C13584;
}
.instagram-float .ig-copy{
  display:flex;
  flex-direction:column;
  line-height:1.08;
}
.instagram-float .ig-copy small{
  font-size:.67rem;
  font-weight:700;
  opacity:.9;
  letter-spacing:.04em;
}
.instagram-float .ig-copy strong{
  font-size:.88rem;
  margin-top:3px;
}

@media(max-width:680px){
  .brand img{width:136px;max-height:50px}
  .instagram-float{
    right:14px;
    bottom:14px;
    padding:9px;
  }
  .instagram-float .ig-copy{display:none}
  .instagram-float .ig-icon{width:48px;height:48px;flex-basis:48px}
}
