/* ============================================================
   DoRB Solutions — One-page site
   Organic Modern + Liquid Glass, Apple-style fluid motion
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Sora:wght@500;600;700;800&family=Karla:wght@400;500;600;700&display=swap');

:root{
  --ink:#221F1B;
  --ink-soft:#4A453E;
  --ivory:#FAF7F2;
  --sand:#F1E9DC;
  --deep:#1C1A18;
  --violet:#8B3EEC;
  --violet-soft:#B98CF2;
  --clay:#B4713F;
  --glass-bg: rgba(255,255,255,0.46);
  --glass-bg-strong: rgba(255,255,255,0.62);
  --glass-border: rgba(255,255,255,0.55);
  --glass-shadow: 0 20px 60px -20px rgba(34,31,27,0.35);
  --dark-glass-bg: rgba(28,26,24,0.42);
  --dark-glass-border: rgba(255,255,255,0.16);
  --radius-lg: 32px;
  --radius-md: 22px;
  --radius-sm: 14px;
  --ease-spring: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-out: cubic-bezier(0.22, 0.61, 0.36, 1);
  color-scheme: light;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
}

body{
  margin:0;
  background:var(--ivory);
  color:var(--ink);
  font-family:'Karla', system-ui, -apple-system, sans-serif;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
section{position:relative;}

h1,h2,h3,h4{
  font-family:'Sora', system-ui, sans-serif;
  font-weight:700;
  margin:0;
  color:var(--deep);
}

.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-family:'Karla',sans-serif;
  font-weight:700;
  font-size:0.78rem;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--violet);
}
.eyebrow::before{
  content:"";
  width:22px;
  height:3px;
  border-radius:2px;
  background:linear-gradient(90deg, var(--violet), var(--violet-soft));
  display:inline-block;
}

.container{
  width:100%;
  max-width:1240px;
  margin:0 auto;
  padding:0 28px;
}

/* ---------- organic blobs / background texture ---------- */
.blob{
  position:absolute;
  border-radius:50%;
  filter:blur(60px);
  opacity:0.5;
  pointer-events:none;
  z-index:0;
}
.ring-motif{
  position:absolute;
  border-radius:50%;
  border:70px solid rgba(34,31,27,0.05);
  pointer-events:none;
  z-index:0;
}

/* ---------- liquid glass core ---------- */
.glass{
  background:var(--glass-bg);
  backdrop-filter:blur(24px) saturate(180%);
  -webkit-backdrop-filter:blur(24px) saturate(180%);
  border:1px solid var(--glass-border);
  border-top-color:rgba(255,255,255,0.85);
  box-shadow:var(--glass-shadow), inset 0 1px 0 rgba(255,255,255,0.5);
  border-radius:var(--radius-lg);
  position:relative;
  isolation:isolate;
}
.glass::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(135deg, rgba(255,255,255,0.55) 0%, rgba(255,255,255,0) 40%);
  pointer-events:none;
  z-index:1;
}
.glass-dark{
  background:var(--dark-glass-bg);
  backdrop-filter:blur(24px) saturate(160%);
  -webkit-backdrop-filter:blur(24px) saturate(160%);
  border:1px solid var(--dark-glass-border);
  border-top-color:rgba(255,255,255,0.3);
  box-shadow:0 20px 60px -20px rgba(0,0,0,0.55), inset 0 1px 0 rgba(255,255,255,0.12);
  border-radius:var(--radius-lg);
  color:#fff;
}

@media (prefers-reduced-transparency: reduce){
  .glass{background:rgba(255,255,255,0.92);backdrop-filter:none;}
  .glass-dark{background:rgba(20,18,16,0.92);backdrop-filter:none;}
}

/* ---------- nav ---------- */
.nav{
  position:fixed;
  top:16px;
  left:0;right:0;
  z-index:100;
  display:flex;
  justify-content:center;
  padding:0 20px;
  transition:transform .5s var(--ease-spring);
}
.nav-inner{
  width:100%;
  max-width:1180px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:12px 14px 12px 22px;
  border-radius:999px;
}
.nav.scrolled .nav-inner{
  background:rgba(255,255,255,0.68);
}
.logo{
  display:flex;
  align-items:center;
  gap:0;
}
.logo img{
  height:34px;
  width:auto;
  display:block;
}

.nav-links{
  display:flex;
  align-items:center;
  gap:6px;
  list-style:none;
  margin:0;padding:0;
}
.nav-links a{
  padding:9px 16px;
  border-radius:999px;
  font-weight:600;
  font-size:0.92rem;
  color:var(--ink-soft);
  transition:background .3s var(--ease-out), color .3s var(--ease-out);
}
.nav-links a:hover{background:rgba(139,62,236,0.1); color:var(--violet);}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:13px 26px;
  border-radius:999px;
  font-family:'Karla',sans-serif;
  font-weight:700;
  font-size:0.94rem;
  border:none;
  cursor:pointer;
  transition:transform .25s var(--ease-spring), box-shadow .3s var(--ease-out), background .3s var(--ease-out);
  white-space:nowrap;
}
.btn:active{transform:scale(0.96);}
.btn-primary{
  background:linear-gradient(135deg, var(--violet), #7226d4);
  color:#fff;
  box-shadow:0 10px 30px -8px rgba(139,62,236,0.55);
}
.btn-primary:hover{box-shadow:0 14px 38px -8px rgba(139,62,236,0.65); transform:translateY(-1px);}
.btn-ghost{
  background:rgba(255,255,255,0.55);
  color:var(--deep);
  border:1px solid rgba(34,31,27,0.12);
}
.btn-ghost:hover{background:rgba(255,255,255,0.85);}
.btn-light{
  background:rgba(255,255,255,0.16);
  color:#fff;
  border:1px solid rgba(255,255,255,0.4);
  backdrop-filter:blur(10px);
}
.btn-light:hover{background:rgba(255,255,255,0.28);}

.nav-cta{display:flex;align-items:center;gap:10px;}
.menu-toggle{
  display:none;
  width:44px;height:44px;
  border-radius:50%;
  border:1px solid rgba(34,31,27,0.14);
  background:rgba(255,255,255,0.6);
  align-items:center;justify-content:center;
  cursor:pointer;
}
.menu-toggle span{
  display:block;width:16px;height:2px;background:var(--deep);position:relative;
  transition:background .2s;
}
.menu-toggle span::before,.menu-toggle span::after{
  content:"";position:absolute;left:0;width:16px;height:2px;background:var(--deep);transition:transform .3s var(--ease-spring), top .3s var(--ease-spring);
}
.menu-toggle span::before{top:-5px;}
.menu-toggle span::after{top:5px;}
.menu-toggle.open span{background:transparent;}
.menu-toggle.open span::before{top:0;transform:rotate(45deg);}
.menu-toggle.open span::after{top:0;transform:rotate(-45deg);}

/* ---------- hero ---------- */
.hero{
  min-height:100svh;
  display:flex;
  align-items:flex-end;
  position:relative;
  overflow:hidden;
  padding:140px 0 90px;
}
.hero-bg{
  position:absolute;inset:0;
  background-size:cover;
  background-position:22% 32%;
  z-index:0;
}
@media (max-width:640px){
  .hero-bg{background-position:30% 28%;}
}
.hero-bg::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(28,26,24,0.35) 0%, rgba(28,26,24,0.15) 32%, rgba(28,26,24,0.55) 100%);
}
.hero-scrim-left{
  position:absolute;inset:0;
  background:linear-gradient(100deg, rgba(28,26,24,0.62) 0%, rgba(28,26,24,0.15) 46%, transparent 65%);
  z-index:0;
}
.hero-content{
  position:relative;
  z-index:2;
  max-width:640px;
  padding:38px 40px 42px;
  color:#fff;
}
.hero-content .eyebrow{color:var(--violet-soft);}
.hero-content .eyebrow::before{background:linear-gradient(90deg, var(--violet-soft), #fff);}
.hero h1{
  color:#fff;
  font-size:clamp(2.3rem, 5.4vw, 3.6rem);
  line-height:1.04;
  letter-spacing:-0.02em;
  margin:16px 0 18px;
}
.hero p{
  color:rgba(255,255,255,0.86);
  font-size:1.08rem;
  max-width:480px;
  margin:0 0 28px;
}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;}
.trust-badges{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:24px 0 0;
  padding:0;
}
.trust-badges li{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:8px 14px;
  border-radius:999px;
  background:rgba(255,255,255,0.14);
  border:1px solid rgba(255,255,255,0.28);
  font-size:0.8rem;
  font-weight:600;
  color:#fff;
  white-space:nowrap;
}
.trust-badges li svg{flex:none;color:var(--violet-soft);}
@media (max-width:560px){
  .trust-badges li{white-space:normal;font-size:0.78rem;}
}
.hero-strip{
  position:absolute;
  right:40px;
  bottom:42px;
  z-index:2;
  display:flex;
  gap:26px;
  padding:16px 26px;
  color:#fff;
  border-radius:999px;
}
.hero-strip div{text-align:left;}
.hero-strip strong{display:block;font-family:'Sora',sans-serif;font-size:1.2rem;}
.hero-strip span{font-size:0.72rem;opacity:0.75;letter-spacing:0.03em;}
@media (max-width: 900px){
  .hero-strip{display:none;}
}
@media (max-width: 640px){
  .hero{padding:118px 0 64px;align-items:flex-end;}
  .hero-content{padding:28px 22px 30px;max-width:100%;border-radius:var(--radius-md);}
  .hero h1{font-size:clamp(1.9rem,8.4vw,2.6rem);}
  .hero p{font-size:1rem;max-width:100%;}
  .hero-actions{gap:10px;}
  .hero-actions .btn{flex:1 1 auto;justify-content:center;}
}
@media (max-width: 380px){
  .hero-actions{flex-direction:column;}
  .hero-actions .btn{width:100%;}
}

.scroll-cue{
  position:absolute;
  bottom:20px;left:50%;
  transform:translateX(-50%);
  z-index:2;
  width:26px;height:42px;
  border:2px solid rgba(255,255,255,0.55);
  border-radius:14px;
  display:flex;
  justify-content:center;
  padding-top:8px;
}
.scroll-cue span{
  width:4px;height:8px;border-radius:2px;background:#fff;
  animation:scrollcue 1.8s infinite var(--ease-out);
}
@keyframes scrollcue{
  0%{transform:translateY(0);opacity:1;}
  70%{transform:translateY(10px);opacity:0;}
  100%{opacity:0;}
}
@media (prefers-reduced-motion: reduce){
  .scroll-cue span{animation:none;}
}

/* ---------- reveal ---------- */
.reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .8s var(--ease-spring), transform .8s var(--ease-spring);
}
.reveal.in{opacity:1;transform:translateY(0);}
.reveal-stagger > *{transition-delay:calc(var(--i,0) * 90ms);}
@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1;transform:none;transition:none;}
}

/* ---------- section shell ---------- */
.section{padding:118px 0;}
@media (max-width:900px){
  .section{padding:84px 0;}
}
@media (max-width:560px){
  .section{padding:64px 0;}
  .container{padding:0 20px;}
}
.section-sand{background:var(--sand);}
.section-head{
  max-width:640px;
  margin:0 0 56px;
}
.section-head h2{
  font-size:clamp(1.9rem, 3.6vw, 2.7rem);
  letter-spacing:-0.015em;
  line-height:1.12;
  margin-top:14px;
}
.section-head p{
  margin-top:16px;
  color:var(--ink-soft);
  font-size:1.05rem;
  max-width:540px;
}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center;}
.section-head.center p{margin-left:auto;margin-right:auto;}

/* ---------- about ---------- */
.about-grid{
  display:grid;
  grid-template-columns:1.05fr 0.95fr;
  gap:64px;
  align-items:center;
}
.about-copy p{color:var(--ink-soft);font-size:1.04rem;margin:0 0 18px;}
.about-copy p:last-of-type{margin-bottom:0;}
.about-media{position:relative;}
.about-media .frame{
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:0 30px 70px -30px rgba(34,31,27,0.4);
}
.about-media img{
  width:100%;height:520px;object-fit:cover;
  transition:transform .8s var(--ease-out);
}
.about-media:hover img{transform:scale(1.04);}
.about-badge{
  position:absolute;
  left:-30px;bottom:-26px;
  padding:20px 26px;
  border-radius:var(--radius-md);
  display:flex;
  gap:14px;
  align-items:center;
  max-width:250px;
}
.about-badge .num{
  font-family:'Sora',sans-serif;
  font-weight:800;
  font-size:1.6rem;
  color:var(--violet);
}
.about-badge .lbl{font-size:0.82rem;color:var(--ink-soft);line-height:1.3;}

.promise-row{
  margin-top:52px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px;
}
.promise-item{
  padding:22px 20px;
  border-radius:var(--radius-md);
}
.promise-item .ic{
  width:42px;height:42px;
  border-radius:12px;
  background:linear-gradient(135deg, rgba(139,62,236,0.16), rgba(180,113,63,0.14));
  display:flex;align-items:center;justify-content:center;
  color:var(--violet);
  margin-bottom:14px;
}
.promise-item h4{font-size:1rem;margin-bottom:6px;}
.promise-item p{font-size:0.88rem;color:var(--ink-soft);margin:0;}

@media (max-width: 900px){
  .about-grid{grid-template-columns:1fr;gap:44px;}
  .about-media img{height:380px;}
  .promise-row{grid-template-columns:repeat(2,1fr);}
  .about-badge{left:14px;bottom:-22px;padding:16px 20px;}
}

/* ---------- products & services ---------- */
.product-tabs{
  display:flex;
  gap:10px;
  margin-bottom:44px;
  flex-wrap:wrap;
}
.tab-btn{
  padding:11px 22px;
  border-radius:999px;
  font-weight:700;
  font-size:0.9rem;
  cursor:pointer;
  border:1px solid rgba(34,31,27,0.12);
  background:rgba(255,255,255,0.5);
  color:var(--ink-soft);
  transition:all .3s var(--ease-out);
}
.tab-btn.active{
  background:var(--deep);
  color:#fff;
  border-color:var(--deep);
}

.product-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.product-panel{display:none;}
.product-panel.active{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.product-card{
  padding:32px 26px;
  border-radius:var(--radius-md);
  transition:transform .5s var(--ease-spring), box-shadow .5s var(--ease-spring);
}
.product-card:hover{transform:translateY(-8px);}
.product-card .ic{
  width:52px;height:52px;
  border-radius:16px;
  background:linear-gradient(135deg, var(--violet), #b98cf2);
  display:flex;align-items:center;justify-content:center;
  color:#fff;
  margin-bottom:22px;
}
.product-card h3{font-size:1.18rem;margin-bottom:10px;}
.product-card p{color:var(--ink-soft);font-size:0.94rem;margin:0;}
.product-card .tag{
  display:inline-block;
  margin-top:16px;
  font-size:0.76rem;
  font-weight:700;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:var(--clay);
}

.process-strip{
  margin-top:80px;
  padding:44px 34px;
  border-radius:var(--radius-lg);
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:12px;
  position:relative;
}
.process-strip::before{
  content:"";
  position:absolute;
  top:74px;left:12%;right:12%;
  height:1px;
  background:repeating-linear-gradient(90deg, rgba(34,31,27,0.22) 0 8px, transparent 8px 16px);
  z-index:0;
}
.process-step{
  position:relative;z-index:1;
  text-align:center;
  padding:0 8px;
}
.process-step .circle{
  width:56px;height:56px;
  border-radius:50%;
  background:#fff;
  border:1.5px solid rgba(139,62,236,0.35);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 16px;
  color:var(--violet);
  box-shadow:0 8px 20px -8px rgba(34,31,27,0.18);
  transition:transform .4s var(--ease-spring), background .4s;
}
.process-step:hover .circle{transform:scale(1.08);background:var(--violet);color:#fff;}
.process-step h4{font-size:0.98rem;margin-bottom:6px;}
.process-step p{font-size:0.82rem;color:var(--ink-soft);margin:0;}

@media (max-width:900px){
  .product-grid, .product-panel.active{grid-template-columns:1fr 1fr;}
  .process-strip{grid-template-columns:1fr 1fr;gap:28px 12px;}
  .process-strip::before{display:none;}
  .process-step:last-child{grid-column:1 / -1;max-width:220px;margin:0 auto;}
}
@media (max-width:560px){
  .product-grid, .product-panel.active{grid-template-columns:1fr;}
  .process-strip{grid-template-columns:1fr 1fr;padding:32px 22px;}
}

/* ---------- why dorb ---------- */
.why-section{
  background:var(--deep);
  color:#fff;
  overflow:hidden;
}
.why-grid{
  display:grid;
  grid-template-columns:0.85fr 1.15fr;
  gap:70px;
  align-items:center;
}
.why-section .section-head h2, .why-section .eyebrow{color:#fff;}
.why-section .eyebrow{color:var(--violet-soft);}
.why-section .eyebrow::before{background:linear-gradient(90deg, var(--violet-soft), #fff);}
.why-section .section-head p{color:rgba(255,255,255,0.68);}

.why-media{position:relative;}
.why-media img{
  width:100%;height:560px;object-fit:cover;object-position:72% 12%;border-radius:var(--radius-lg);
}
.why-media .stat-card{
  position:absolute;
  right:-24px;top:34px;
  padding:22px 24px;
  color:var(--deep);
  max-width:200px;
}
.why-media .stat-card strong{
  display:block;font-family:'Sora',sans-serif;font-size:1.9rem;color:var(--violet);
}
.why-media .stat-card span{font-size:0.82rem;color:var(--ink-soft);}

.why-list{display:flex;flex-direction:column;gap:6px;}
.why-item{
  display:flex;
  gap:20px;
  padding:22px 6px;
  border-bottom:1px solid rgba(255,255,255,0.1);
}
.why-item:last-child{border-bottom:none;}
.why-item .ic{
  flex:none;
  width:46px;height:46px;
  border-radius:14px;
  background:rgba(139,62,236,0.22);
  display:flex;align-items:center;justify-content:center;
  color:var(--violet-soft);
}
.why-item h4{color:#fff;font-size:1.05rem;margin-bottom:6px;}
.why-item p{color:rgba(255,255,255,0.66);font-size:0.92rem;margin:0;}

@media (max-width:900px){
  .why-grid{grid-template-columns:1fr;gap:40px;}
  .why-media img{height:340px;}
  .why-media .stat-card{right:auto;left:16px;top:-24px;}
}

/* ---------- lookbook ---------- */
.lookbook-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  grid-auto-rows:150px;
  gap:16px;
}
.lb-item{
  position:relative;
  border-radius:var(--radius-md);
  overflow:hidden;
  cursor:pointer;
}
.lb-item img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .8s var(--ease-out);
}
.lb-item:hover img{transform:scale(1.08);}
.lb-item .cap{
  position:absolute;left:14px;right:14px;bottom:14px;
  padding:10px 16px;
  border-radius:999px;
  font-size:0.82rem;
  font-weight:700;
  color:#fff;
  opacity:0;
  transform:translateY(8px);
  transition:opacity .4s var(--ease-out), transform .4s var(--ease-out);
}
.lb-item:hover .cap{opacity:1;transform:translateY(0);}
.lb-item::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(0deg, rgba(28,26,24,0.55) 0%, transparent 45%);
  opacity:0;
  transition:opacity .4s;
}
.lb-item:hover::after{opacity:1;}

.lb-1{grid-column:span 2;grid-row:span 2;}
.lb-2{grid-column:span 2;grid-row:span 1;}
.lb-3{grid-column:span 2;grid-row:span 1;}
.lb-4{grid-column:span 2;grid-row:span 2;}
.lb-5{grid-column:span 2;grid-row:span 1;}
.lb-6{grid-column:span 2;grid-row:span 1;}

@media (max-width:900px){
  .lookbook-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:200px;}
  .lb-1,.lb-2,.lb-3,.lb-4,.lb-5,.lb-6{grid-column:span 1;grid-row:span 1;}
}

/* ---------- CTA / contact ---------- */
.cta-section{
  position:relative;
  padding:0;
  overflow:hidden;
}
.cta-bg{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
}
.cta-bg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(28,26,24,0.72), rgba(28,26,24,0.86));
}
.cta-inner{
  position:relative;z-index:1;
  padding:120px 0 90px;
  text-align:center;
  color:#fff;
}
.cta-inner .eyebrow{justify-content:center;color:var(--violet-soft);}
.cta-inner .eyebrow::before{background:linear-gradient(90deg, var(--violet-soft), #fff);}
.cta-inner h2{
  color:#fff;
  font-size:clamp(2rem, 4.4vw, 3.1rem);
  margin:18px auto 20px;
  max-width:680px;
  letter-spacing:-0.015em;
}
.cta-inner > p{
  color:rgba(255,255,255,0.72);
  max-width:520px;
  margin:0 auto 40px;
  font-size:1.05rem;
}
.contact-card{
  max-width:900px;
  margin:0 auto;
  padding:38px 44px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:28px;
  text-align:left;
}
.contact-card .ci{display:flex;align-items:flex-start;gap:12px;}
.contact-card .ic{
  flex:none;width:38px;height:38px;border-radius:11px;
  background:rgba(139,62,236,0.3);
  display:flex;align-items:center;justify-content:center;
  color:#fff;
}
.contact-card .lbl{font-size:0.72rem;text-transform:uppercase;letter-spacing:0.08em;color:rgba(255,255,255,0.55);margin-bottom:4px;}
.contact-card .val{font-weight:700;color:#fff;font-size:0.95rem;}
.contact-card a.val:hover{color:var(--violet-soft);}

.cta-actions{margin-top:40px;display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}

@media (max-width:900px){
  .contact-card{grid-template-columns:1fr 1fr;padding:30px 26px;}
}
@media (max-width:560px){
  .contact-card{grid-template-columns:1fr;}
}

/* ---------- footer ---------- */
.footer{
  background:var(--deep);
  color:rgba(255,255,255,0.55);
  padding:36px 0;
  border-top:1px solid rgba(255,255,255,0.08);
}
.footer-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:16px;
}
.footer .logo{color:#fff;}
.footer .logo img{height:30px;}
.footer small{font-size:0.82rem;}
.footer-links{display:flex;gap:22px;list-style:none;padding:0;margin:0;}
.footer-links a{font-size:0.86rem;transition:color .3s;}
.footer-links a:hover{color:#fff;}

/* ---------- mobile nav drawer ---------- */
.mobile-drawer{
  position:fixed;
  inset:0;
  z-index:99;
  display:none;
  padding:110px 24px 40px;
}
.mobile-drawer.open{display:block;}
.mobile-drawer-inner{
  padding:26px;
  border-radius:var(--radius-lg);
  display:flex;
  flex-direction:column;
  gap:8px;
}
.mobile-drawer-inner a{
  padding:16px 12px;
  font-family:'Sora',sans-serif;
  font-weight:600;
  font-size:1.2rem;
  border-bottom:1px solid rgba(34,31,27,0.08);
}
.mobile-drawer-inner .btn{margin-top:14px;}

@media (max-width: 880px){
  .nav-links{display:none;}
  .menu-toggle{display:flex;}
  .nav-cta .btn-ghost{display:none;}
}

/* ---------- utility reveal delays ---------- */
[data-reveal-group] > *{
  opacity:0;transform:translateY(24px);
  transition:opacity .7s var(--ease-spring), transform .7s var(--ease-spring);
}
[data-reveal-group].in > *{opacity:1;transform:translateY(0);}
[data-reveal-group].in > *:nth-child(1){transition-delay:0ms;}
[data-reveal-group].in > *:nth-child(2){transition-delay:90ms;}
[data-reveal-group].in > *:nth-child(3){transition-delay:180ms;}
[data-reveal-group].in > *:nth-child(4){transition-delay:270ms;}
[data-reveal-group].in > *:nth-child(5){transition-delay:360ms;}
[data-reveal-group].in > *:nth-child(6){transition-delay:450ms;}
@media (prefers-reduced-motion: reduce){
  [data-reveal-group] > *{opacity:1;transform:none;transition:none;}
}
