:root{
  --ivory:#F5F0E8;
  --warm:#FAF8F4;
  --ink:#1A1714;
  --terra:#C4724A;
  --gold:#B8965A;
  --stone:#8C8479;
  --mist:#D4CFC8;
  --deep:#0F0D0B;
  --blush:#EDD5C5;
  --clay:#B8A08A;
  --silk:rgba(184,160,138,0.15);
  --charcoal:#2A2522;
  --deep-earth:#6B5B4F;
  --nav-offset:82px;
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}

html{scroll-behavior:smooth;}

body{
  background:var(--warm);
  color:var(--ink);
  font-family:'Karla',sans-serif;
  font-weight:300;
  overflow-x:hidden;
  cursor:auto;
}

body::before{
  content:'';
  position:fixed;
  inset:0;
  z-index:9999;
  pointer-events:none;
  opacity:.022;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:200px;
}

img{max-width:100%;}
button,input,select,textarea{font:inherit;}
button{border:none;}
a{color:inherit;}
main{display:block;}

section[id],div[id]{scroll-margin-top:calc(var(--nav-offset) + 28px);}

.cursor,
.cursor-ring{
  display:none;
  position:fixed;
  pointer-events:none;
  transform:translate(-50%,-50%);
}

.cursor{
  width:9px;
  height:9px;
  background:var(--terra);
  border-radius:50%;
  z-index:9000;
  transition:width .3s,height .3s,background .3s;
}

.cursor-ring{
  width:34px;
  height:34px;
  border:1px solid var(--terra);
  border-radius:50%;
  z-index:8999;
  opacity:.52;
  transition:width .3s,height .3s;
}

.cursor.expanded{
  width:48px;
  height:48px;
  background:transparent;
  border:1px solid var(--terra);
}

nav{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:200;
  padding:1.7rem 4.5rem;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:2rem;
  transition:background .45s,box-shadow .45s;
}

nav.scrolled{
  background:rgba(250,248,244,.95);
  backdrop-filter:blur(16px);
  box-shadow:0 1px 0 rgba(26,23,20,.07);
}

.nav-logo{
  font-family:'Cormorant Garamond',serif;
  font-size:1.1rem;
  letter-spacing:.18em;
  color:var(--ink);
  text-decoration:none;
  text-transform:uppercase;
  line-height:1.3;
  flex-shrink:0;
}

.nav-sub{
  display:block;
  font-size:.47rem;
  letter-spacing:.32em;
  color:var(--stone);
  text-transform:uppercase;
}

.nav-links{
  display:flex;
  gap:2.8rem;
  list-style:none;
  align-items:center;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.nav-links a{
  font-size:.62rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--ink);
  text-decoration:none;
  position:relative;
  transition:color .3s;
}

.nav-links a::after{
  content:'';
  position:absolute;
  bottom:-2px;
  left:0;
  width:0;
  height:1px;
  background:var(--terra);
  transition:width .4s;
}

.nav-links a:hover::after,
.nav-links a[aria-current='page']::after{
  width:100%;
}

.nav-private a{color:var(--terra)!important;}

.section-label{
  font-size:.57rem;
  letter-spacing:.32em;
  text-transform:uppercase;
  color:var(--terra);
  margin-bottom:1.5rem;
  display:flex;
  align-items:center;
  gap:1rem;
}

.section-label::before{
  content:'';
  width:22px;
  height:1px;
  background:var(--terra);
}

h1,h2{
  font-family:'Cormorant Garamond',serif;
  font-weight:300;
  color:var(--ink);
}

h2{
  font-size:clamp(2.2rem,4vw,3.8rem);
  line-height:1.1;
}

h2 em{font-style:italic;color:var(--terra);}

.reveal{
  opacity:0;
  transform:translateY(26px);
  transition:opacity .9s ease,transform .9s ease;
}

.reveal.visible{
  opacity:1;
  transform:translateY(0);
}

.rd1{transition-delay:.15s;}
.rd2{transition-delay:.3s;}
.rd3{transition-delay:.45s;}
.rd4{transition-delay:.6s;}

.btn-primary{
  font-size:.62rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--warm);
  background:var(--ink);
  padding:1rem 2.5rem;
  text-decoration:none;
  display:inline-block;
  transition:background .3s,border-color .3s,color .3s;
}

.btn-primary:hover{background:var(--terra);}

.btn-text{
  font-size:.62rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--stone);
  text-decoration:none;
  border-bottom:1px solid var(--mist);
  padding-bottom:2px;
  display:inline-block;
  transition:color .3s,border-color .3s;
}

.btn-text:hover{
  color:var(--ink);
  border-color:var(--ink);
}

.hero{
  height:100vh;
  position:relative;
  overflow:hidden;
}

.hero-img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  animation:heroZoom 12s ease forwards;
}

.hero-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(15,13,11,.65) 0%,rgba(15,13,11,.2) 55%,rgba(15,13,11,.08) 100%),linear-gradient(to right,rgba(15,13,11,.38) 0%,transparent 62%);
}

.hero-content{
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  padding:0 5rem 6rem;
}

.hero-eyebrow{
  font-size:.58rem;
  letter-spacing:.38em;
  text-transform:uppercase;
  color:var(--blush);
  margin-bottom:1.8rem;
  opacity:0;
  animation:fadeUp 1s .3s forwards;
}

.hero-title{
  font-size:clamp(3rem,5.5vw,5.8rem);
  line-height:1.04;
  color:#FAF8F4;
  opacity:0;
  animation:fadeUp 1s .55s forwards;
}

.hero-title em{font-style:italic;color:var(--blush);}

.hero-row{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:2rem;
  margin-top:2.5rem;
  opacity:0;
  animation:fadeUp 1s .95s forwards;
}

.hero-sub{
  font-size:.87rem;
  line-height:1.95;
  color:rgba(250,248,244,.64);
  max-width:430px;
}

.hero-cta{
  display:flex;
  gap:1.5rem;
  align-items:center;
  flex-wrap:wrap;
}

.hero-cta .btn-primary{
  background:rgba(250,248,244,.12);
  border:1px solid rgba(250,248,244,.4);
  color:var(--warm);
  backdrop-filter:blur(8px);
}

.hero-cta .btn-primary:hover{
  background:var(--terra);
  border-color:var(--terra);
}

.scroll-hint{
  position:absolute;
  bottom:3rem;
  right:5rem;
  display:flex;
  align-items:center;
  gap:1rem;
  font-size:.55rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(250,248,244,.38);
  opacity:0;
  animation:fadeUp 1s 1.4s forwards;
}

.scroll-dot{
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--terra);
}

.marquee-section{
  padding:2.5rem 0;
  border-top:1px solid var(--silk);
  border-bottom:1px solid var(--silk);
  overflow:hidden;
  background:var(--ivory);
}

.marquee-track{
  display:flex;
  width:max-content;
  animation:marquee 32s linear infinite;
}

.marquee-item{
  font-family:'Cormorant Garamond',serif;
  font-size:1.1rem;
  font-weight:300;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:var(--clay);
  white-space:nowrap;
  padding:0 2.5rem;
}

.marquee-item::after{
  content:'✦';
  margin-left:2.5rem;
  font-size:.48rem;
  vertical-align:middle;
  color:var(--terra);
}

.stats-band{
  background:var(--warm);
  padding:4.5rem 5rem;
  display:grid;
  grid-template-columns:1fr 1px 1fr 1px 1fr 1px 1fr;
  align-items:center;
  gap:3rem;
}

.sb-div{
  width:1px;
  height:70px;
  background:var(--mist);
  justify-self:center;
}

.sb-num{
  font-family:'Cormorant Garamond',serif;
  font-size:3.2rem;
  font-weight:300;
  color:var(--terra);
  line-height:1;
}

.sb-label{
  font-size:.57rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--stone);
  margin-top:.45rem;
}

.philosophy{
  padding:9rem 5rem;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6rem;
  align-items:center;
  max-width:1440px;
  margin:0 auto;
}

.phil-left .deco-line{
  width:56px;
  height:1px;
  background:var(--terra);
  margin-bottom:2rem;
}

.phil-left h2{margin-bottom:2rem;}

.phil-left p{
  font-size:.92rem;
  color:var(--deep-earth);
  max-width:480px;
  margin-bottom:1.2rem;
  line-height:1.95;
}

.phil-right{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1.5rem;
}

.phil-card{
  background:var(--ivory);
  padding:2.5rem 2rem;
  position:relative;
  overflow:hidden;
  transition:transform .4s;
}

.phil-card:hover{transform:translateY(-4px);}

.phil-card::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:2px;
  background:linear-gradient(90deg,var(--terra),var(--gold));
}

.phil-card .num{
  font-family:'Cormorant Garamond',serif;
  font-size:2.5rem;
  font-weight:300;
  color:var(--mist);
  line-height:1;
  margin-bottom:1rem;
}

.phil-card h3{
  font-size:.7rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--charcoal);
  font-weight:400;
  margin-bottom:.8rem;
}

.phil-card p{
  font-size:.84rem;
  color:var(--deep-earth);
  line-height:1.65;
}

.about{
  padding:10rem 5rem 9rem;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7rem;
  align-items:start;
  max-width:1440px;
  margin:0 auto;
}

.about-visual{
  position:relative;
  padding-top:4.5rem;
}

.about-img-frame{
  width:100%;
  aspect-ratio:3/4;
  background:linear-gradient(180deg,#E8DECF 0%,#F4ECE1 100%);
  position:relative;
  overflow:hidden;
}

.about-img-frame::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(215,203,183,.82) 0%,rgba(244,236,225,.96) 100%);
  opacity:1;
}

.jaali-svg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  opacity:.08;
}

.about-img-frame img{
  position:absolute;
  inset:1rem;
  width:calc(100% - 2rem);
  height:calc(100% - 2rem);
  object-fit:contain;
  object-position:center;
  opacity:.82;
  mix-blend-mode:multiply;
  filter:contrast(.92) sepia(.18) saturate(.7);
}

.about-accent-box{
  position:absolute;
  bottom:-1.8rem;
  right:-1.6rem;
  width:min(54%,320px);
  padding:2.25rem 2.1rem;
  background:var(--ink);
  box-shadow:0 20px 40px rgba(15,13,11,.12);
}

.about-accent-box p{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:1.05rem;
  line-height:1.6;
  color:var(--ivory);
}

.about-accent-box cite{
  display:block;
  margin-top:1rem;
  font-style:normal;
  font-size:.54rem;
  letter-spacing:.26em;
  text-transform:uppercase;
  color:var(--gold);
}

.about-text{
  max-width:560px;
  padding-top:.2rem;
}

.about-text .section-label{margin-bottom:1.8rem;}

.about-text h2{max-width:12ch;}

.about-text > p:not(.section-label){
  max-width:540px;
  font-size:.95rem;
  line-height:1.95;
  color:rgba(42,37,34,.56);
  margin-bottom:2rem;
}

.about-text > p:not(.section-label) strong{color:var(--ink);font-weight:400;}

.about-stats{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1.7rem 2.4rem;
  margin-top:2.75rem;
  padding-top:2.6rem;
  border-top:1px solid var(--mist);
}

.stat-num{
  font-family:'Cormorant Garamond',serif;
  font-size:3.1rem;
  font-weight:300;
  color:var(--terra);
  line-height:1;
}

.stat-label{
  font-size:.56rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--stone);
  margin-top:.45rem;
}

.portfolio{
  padding:9rem 5rem;
  max-width:1440px;
  margin:0 auto;
}

.portfolio-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:2rem;
  margin-bottom:4.5rem;
}

.portfolio-grid{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:1.2rem;
}

.project-card{position:relative;overflow:hidden;}
.project-card:nth-child(1){grid-column:1/8;}
.project-card:nth-child(2){grid-column:8/13;}
.project-card:nth-child(3){grid-column:1/5;}
.project-card:nth-child(4){grid-column:5/10;}
.project-card:nth-child(5){grid-column:10/13;}

.project-card img{
  width:100%;
  display:block;
  object-fit:cover;
  transition:transform .85s cubic-bezier(.25,.46,.45,.94);
}

.project-card:nth-child(1) img,
.project-card:nth-child(2) img{height:520px;}

.project-card:nth-child(3) img,
.project-card:nth-child(4) img,
.project-card:nth-child(5) img{height:360px;}

.project-card:hover img{transform:scale(1.05);}

.card-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(15,13,11,.88) 0%,transparent 55%);
  opacity:0;
  transition:opacity .5s;
}

.project-card:hover .card-overlay{opacity:1;}

.card-info{
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  padding:2rem;
  transform:translateY(8px);
  opacity:0;
  transition:transform .5s,opacity .5s;
}

.project-card:hover .card-info{
  transform:translateY(0);
  opacity:1;
}

.card-tag{
  font-size:.5rem;
  letter-spacing:.3em;
  text-transform:uppercase;
  color:var(--terra);
  margin-bottom:.5rem;
}

.card-title{
  font-family:'Cormorant Garamond',serif;
  font-size:1.4rem;
  color:var(--ivory);
  line-height:1.2;
}

.card-loc{
  font-size:.66rem;
  color:rgba(245,240,232,.58);
  margin-top:.4rem;
}

.process{
  padding:9rem 5rem;
  background:var(--ivory);
}

.process-inner{
  max-width:1440px;
  margin:0 auto;
}

.process-steps{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:4rem;
  margin-top:5rem;
}

.step{position:relative;}

.step-num{
  font-family:'Cormorant Garamond',serif;
  font-size:5rem;
  font-weight:300;
  color:var(--mist);
  line-height:1;
  margin-bottom:1.5rem;
}

.step-title{
  font-family:'Cormorant Garamond',serif;
  font-size:1.4rem;
  color:var(--ink);
  margin-bottom:1rem;
}

.step-text{
  font-size:.82rem;
  line-height:1.9;
  color:var(--stone);
}

.step::after{
  content:'';
  position:absolute;
  top:2.5rem;
  right:0;
  width:1px;
  height:60px;
  background:linear-gradient(to bottom,var(--mist),transparent);
}

.step:last-child::after{display:none;}

.testimonial-section{
  padding:8rem 5rem;
  max-width:920px;
  margin:0 auto;
  text-align:center;
}

.quote-mark{
  font-family:'Cormorant Garamond',serif;
  font-size:9rem;
  line-height:.4;
  color:var(--mist);
  display:block;
  margin-bottom:2rem;
}

blockquote{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:clamp(1.5rem,2.5vw,2.2rem);
  font-weight:300;
  line-height:1.55;
  color:var(--ink);
  margin-bottom:2.5rem;
}

.cite-name{
  font-size:.65rem;
  letter-spacing:.25em;
  text-transform:uppercase;
  color:var(--terra);
}

.cite-role{
  font-size:.65rem;
  color:var(--stone);
  margin-top:.35rem;
}

.contact{
  background:var(--ink);
  padding:10rem 5rem;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8rem;
}

.contact .section-label{color:var(--gold);}
.contact .section-label::before{background:var(--gold);}
.contact h2{color:var(--ivory);}
.contact h2 em{color:var(--gold);}

.contact-left{max-width:500px;}

.contact-desc{
  font-size:.9rem;
  line-height:2;
  color:rgba(245,240,232,.5);
  margin-top:2rem;
}

.contact-details{
  margin-top:3rem;
  display:flex;
  flex-direction:column;
  gap:1.5rem;
}

.contact-item{
  display:flex;
  gap:2rem;
  align-items:flex-start;
}

.contact-label{
  font-size:.57rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--terra);
  min-width:5rem;
  padding-top:2px;
}

.contact-value{
  font-size:.9rem;
  color:rgba(245,240,232,.7);
  line-height:1.5;
}

.contact-value a{
  color:rgba(245,240,232,.7);
  text-decoration:none;
  transition:color .3s;
}

.contact-value a:hover{color:var(--terra);}

.contact-form{
  display:flex;
  flex-direction:column;
  gap:0;
  justify-content:center;
}

.form-field{
  border-bottom:1px solid rgba(255,255,255,.1);
  padding:1.8rem 0;
}

.form-field:first-child{border-top:1px solid rgba(255,255,255,.1);}

.form-field label{
  display:block;
  font-size:.53rem;
  letter-spacing:.25em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:.8rem;
}

.form-field input,
.form-field textarea,
.form-field select{
  width:100%;
  background:transparent;
  border:none;
  outline:none;
  font-family:'Karla',sans-serif;
  font-size:.9rem;
  font-weight:300;
  color:var(--ivory);
  resize:none;
  -webkit-appearance:none;
}

.form-field input::placeholder,
.form-field textarea::placeholder{color:rgba(245,240,232,.24);}

.form-field select option{background:var(--ink);}
.form-field textarea{height:75px;}

.form-submit{
  margin-top:2.5rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.5rem;
}

.btn-submit{
  font-size:.62rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--ink);
  background:var(--ivory);
  padding:1.15rem 3rem;
  transition:background .3s,color .3s;
}

.btn-submit:hover{
  background:var(--terra);
  color:var(--ivory);
}

.form-note{
  font-size:.62rem;
  color:rgba(245,240,232,.28);
}

.finds-hero{
  height:45vh;
  position:relative;
  overflow:hidden;
}

.finds-hero::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,#C4B49A 0%,#D4C4A8 40%,#BBA888 100%);
}

.finds-hero-text{
  position:absolute;
  bottom:4rem;
  left:5rem;
}

.finds-hero-eyebrow{
  font-size:.57rem;
  letter-spacing:.35em;
  text-transform:uppercase;
  color:var(--terra);
  margin-bottom:1rem;
}

.finds-hero-title{
  font-size:clamp(2.8rem,5vw,4.8rem);
  color:var(--ink);
}

.finds-hero-title em{font-style:italic;color:var(--terra);}

.finds-intro{
  padding:5rem 5rem 3rem;
  max-width:1440px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8rem;
  align-items:center;
}

.finds-intro-text p{
  font-size:.91rem;
  line-height:2;
  color:var(--stone);
  margin-bottom:1.2rem;
}

.finds-intro-text p strong{color:var(--ink);font-weight:400;}

.finds-disclosure{
  background:var(--ivory);
  padding:1.5rem 2rem;
  font-size:.72rem;
  line-height:1.75;
  color:var(--stone);
  border-left:2px solid var(--terra);
}

.finds-disclosure strong{color:var(--terra);font-weight:400;}

.finds-tabs{
  padding:2.5rem 5rem;
  border-bottom:1px solid var(--mist);
  display:flex;
  gap:3rem;
  align-items:center;
  position:sticky;
  top:var(--nav-offset);
  background:rgba(250,248,244,.96);
  backdrop-filter:blur(12px);
  z-index:50;
}

.finds-tab-label{
  font-size:.54rem;
  letter-spacing:.25em;
  text-transform:uppercase;
  color:var(--stone);
  margin-right:.5rem;
  flex-shrink:0;
}

.finds-tab{
  font-size:.62rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--stone);
  background:none;
  padding:.4rem 0;
  border-bottom:1px solid transparent;
  transition:color .3s,border-color .3s;
  flex-shrink:0;
}

.finds-tab.active,
.finds-tab:hover{
  color:var(--ink);
  border-bottom-color:var(--terra);
}

.finds-grid-wrap{
  padding:4rem 5rem 8rem;
  max-width:1440px;
  margin:0 auto;
}

.finds-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:2rem;
}

.product-card{
  position:relative;
  transition:transform .4s ease;
}

.product-card:hover{transform:translateY(-4px);}

.product-card-img{
  position:relative;
  overflow:hidden;
  aspect-ratio:1;
  background:var(--ivory);
  margin-bottom:1.2rem;
}

.product-card-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .7s ease;
}

.product-card:hover .product-card-img img{transform:scale(1.05);}

.product-badge{
  position:absolute;
  top:1rem;
  left:1rem;
  font-size:.5rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  background:var(--ink);
  color:var(--ivory);
  padding:.35rem .7rem;
}

.product-badge.sale{background:var(--terra);}

.product-wishlist{
  position:absolute;
  top:1rem;
  right:1rem;
  width:32px;
  height:32px;
  background:rgba(250,248,244,.9);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:.85rem;
  transition:background .3s,color .3s;
}

.product-wishlist:hover{background:var(--warm);}
.product-wishlist.is-active{color:var(--terra);}

.product-cat{
  font-size:.5rem;
  letter-spacing:.25em;
  text-transform:uppercase;
  color:var(--terra);
  margin-bottom:.5rem;
}

.product-name{
  font-family:'Cormorant Garamond',serif;
  font-size:1.15rem;
  font-weight:400;
  color:var(--ink);
  line-height:1.2;
  margin-bottom:.4rem;
}

.product-brand{
  font-size:.67rem;
  color:var(--stone);
  margin-bottom:.8rem;
}

.product-price{
  font-size:.82rem;
  color:var(--ink);
  font-weight:400;
}

.product-price .original{
  text-decoration:line-through;
  color:var(--mist);
  margin-right:.5rem;
}

.product-link{
  display:inline-block;
  margin-top:1.2rem;
  font-size:.57rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--stone);
  text-decoration:none;
  border-bottom:1px solid var(--mist);
  padding-bottom:2px;
  transition:color .3s,border-color .3s;
}

.product-link:hover{
  color:var(--terra);
  border-color:var(--terra);
}

.product-swati-note{
  font-size:.72rem;
  line-height:1.65;
  color:var(--stone);
  font-style:italic;
  margin-top:.8rem;
  padding-top:.8rem;
  border-top:1px solid var(--mist);
}

.finds-editorial{
  background:var(--ink);
  padding:7rem 5rem;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8rem;
  align-items:center;
  position:relative;
  overflow:hidden;
}

.finds-editorial::before{
  content:'';
  position:absolute;
  inset:0;
  background-image:repeating-linear-gradient(0deg,transparent,transparent 60px,rgba(255,255,255,.015) 60px,rgba(255,255,255,.015) 61px);
}

.finds-editorial .section-label{color:var(--gold);}
.finds-editorial .section-label::before{background:var(--gold);}
.finds-editorial h2{color:var(--ivory);}
.finds-editorial h2 em{color:var(--gold);}

.finds-editorial-desc{
  font-size:.9rem;
  line-height:2;
  color:rgba(245,240,232,.5);
  margin-top:2rem;
}

.finds-editorial > *{position:relative;z-index:1;}

.finds-editorial-img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  filter:sepia(12%) contrast(1.05);
}

.finds-empty{
  text-align:center;
  padding:6rem 2rem;
  color:var(--stone);
  font-size:.9rem;
  display:none;
}

.conf-lock{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--ink);
  position:relative;
}

.conf-lock::before{
  content:'';
  position:absolute;
  inset:0;
  background-image:repeating-linear-gradient(0deg,transparent,transparent 60px,rgba(255,255,255,.015) 60px,rgba(255,255,255,.015) 61px),repeating-linear-gradient(90deg,transparent,transparent 60px,rgba(255,255,255,.015) 60px,rgba(255,255,255,.015) 61px);
}

.conf-inner{
  position:relative;
  z-index:1;
  text-align:center;
  max-width:440px;
  padding:2rem;
}

.lock-icon{
  width:54px;
  height:54px;
  border:1px solid rgba(184,150,90,.4);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 auto 2.5rem;
  font-size:1.1rem;
}

.conf-eyebrow{
  font-size:.57rem;
  letter-spacing:.35em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:1.5rem;
}

.conf-title{
  font-size:2.8rem;
  line-height:1.1;
  color:var(--ivory);
  margin-bottom:1rem;
}

.conf-title em{font-style:italic;color:var(--gold);}

.conf-desc{
  font-size:.82rem;
  line-height:1.9;
  color:rgba(245,240,232,.45);
  margin-bottom:3rem;
}

.conf-pw-wrap{
  border-bottom:1px solid rgba(255,255,255,.15);
  padding-bottom:1rem;
  margin-bottom:.8rem;
}

.conf-pw-label{
  display:block;
  font-size:.5rem;
  letter-spacing:.25em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:.7rem;
}

.conf-pw-input{
  width:100%;
  background:transparent;
  border:none;
  outline:none;
  font-family:'Karla',sans-serif;
  font-size:1rem;
  font-weight:300;
  color:var(--ivory);
  letter-spacing:.35em;
  text-align:center;
}

.conf-pw-input::placeholder{
  color:rgba(245,240,232,.2);
  letter-spacing:.1em;
}

.conf-err{
  font-size:.62rem;
  color:var(--terra);
  min-height:1.2rem;
  text-align:center;
  margin-bottom:1.5rem;
}

.conf-btn{
  font-size:.62rem;
  letter-spacing:.25em;
  text-transform:uppercase;
  color:var(--ink);
  background:var(--ivory);
  padding:1.1rem 3rem;
  width:100%;
  transition:background .3s,color .3s;
}

.conf-btn:hover{
  background:var(--terra);
  color:var(--ivory);
}

.conf-req{
  margin-top:2rem;
  font-size:.62rem;
  color:rgba(245,240,232,.28);
}

.conf-req a{
  color:var(--terra);
  text-decoration:none;
}

.conf-projects{
  display:none;
  padding:9rem 5rem 6rem;
  max-width:1440px;
  margin:0 auto;
}

.conf-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:2rem;
  margin-bottom:5rem;
}

.conf-badge{
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  background:rgba(196,114,74,.1);
  border:1px solid rgba(196,114,74,.3);
  padding:.4rem 1rem;
  font-size:.52rem;
  letter-spacing:.25em;
  text-transform:uppercase;
  color:var(--terra);
}

.conf-logout{
  font-size:.57rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--stone);
  background:none;
  border:1px solid var(--mist);
  padding:.5rem 1.2rem;
  text-decoration:none;
  transition:all .3s;
}

.conf-logout:hover{
  color:var(--ink);
  border-color:var(--ink);
}

.conf-pg{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:2rem;
}

.conf-card{background:var(--ivory);}

.conf-card-img{
  width:100%;
  height:320px;
  object-fit:cover;
  display:block;
  filter:sepia(5%);
  transition:transform .7s;
}

.conf-card:hover .conf-card-img{transform:scale(1.02);}

.conf-card-body{padding:2.5rem;}

.conf-card-tag{
  font-size:.5rem;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--terra);
  margin-bottom:.8rem;
}

.conf-card-title{
  font-family:'Cormorant Garamond',serif;
  font-size:1.6rem;
  font-weight:300;
  color:var(--ink);
  line-height:1.15;
  margin-bottom:.7rem;
}

.conf-card-loc{
  font-size:.72rem;
  color:var(--stone);
  margin-bottom:1.2rem;
}

.conf-card-desc{
  font-size:.82rem;
  line-height:1.9;
  color:var(--stone);
}

.conf-card-scope{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  margin-top:1.5rem;
}

.scope-tag{
  font-size:.52rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--stone);
  background:var(--warm);
  padding:.3rem .7rem;
}

footer{
  background:var(--deep);
  padding:2.8rem 5rem;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1.5rem;
}

.footer-logo{
  font-family:'Cormorant Garamond',serif;
  font-size:1rem;
  color:var(--ivory);
  letter-spacing:.18em;
  text-transform:uppercase;
}

.footer-copy{
  font-size:.55rem;
  color:rgba(245,240,232,.2);
}

.footer-social{
  display:flex;
  gap:2rem;
  flex-wrap:wrap;
}

.footer-social a{
  font-size:.57rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(245,240,232,.28);
  text-decoration:none;
  transition:color .3s;
}

.footer-social a:hover{color:var(--terra);}

@keyframes fadeUp{
  from{opacity:0;transform:translateY(20px);}
  to{opacity:1;transform:translateY(0);}
}

@keyframes marquee{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}

@keyframes heroZoom{
  from{transform:scale(1.06);}
  to{transform:scale(1);}
}

@media (pointer:fine){
  body{cursor:none;}
  a,button,.project-card,.product-card,.conf-card,.phil-card,.finds-tab,.product-wishlist,.btn-submit,.conf-btn,.conf-logout{cursor:none;}
  .cursor,.cursor-ring{display:block;}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
  .reveal{opacity:1;transform:none;}
  .marquee-track{animation:none;}
}

@media (max-width:1280px){
  nav{padding:1.6rem 3rem;}
  .hero-content,
  .stats-band,
  .portfolio,
  .process,
  .contact,
  .finds-intro,
  .finds-tabs,
  .finds-grid-wrap,
  .finds-editorial,
  .conf-projects,
  footer{padding-left:3rem;padding-right:3rem;}
  .philosophy,
  .about{padding-left:3rem;padding-right:3rem;}
}

@media (max-width:1100px){
  :root{--nav-offset:110px;}
  nav{padding:1.35rem 2rem;align-items:flex-start;}
  .nav-links{gap:1rem 1.4rem;}
  .hero{height:auto;min-height:100vh;}
  .hero-content{padding:11rem 2rem 4rem;}
  .hero-row,
  .portfolio-header,
  .conf-header,
  .form-submit{flex-direction:column;align-items:flex-start;}
  .stats-band{grid-template-columns:repeat(2,1fr);gap:2rem 1.5rem;}
  .sb-div{display:none;}
  .philosophy,
  .about,
  .contact,
  .finds-intro,
  .finds-editorial{grid-template-columns:1fr;gap:3rem;}
  .phil-left p{max-width:none;}
  .about-accent-box{position:relative;right:auto;bottom:auto;width:auto;margin:-3rem 1.5rem 0 auto;}
  .portfolio-grid{grid-template-columns:repeat(2,1fr);}
  .project-card:nth-child(1),
  .project-card:nth-child(2),
  .project-card:nth-child(3),
  .project-card:nth-child(4),
  .project-card:nth-child(5){grid-column:auto;}
  .project-card:nth-child(1) img,
  .project-card:nth-child(2) img,
  .project-card:nth-child(3) img,
  .project-card:nth-child(4) img,
  .project-card:nth-child(5) img{height:420px;}
  .process-steps{grid-template-columns:repeat(2,1fr);gap:2.5rem;}
  .step::after{display:none;}
  .finds-grid{grid-template-columns:repeat(2,1fr);}
  .conf-pg{grid-template-columns:1fr;}
}

@media (max-width:760px){
  :root{--nav-offset:136px;}
  nav{padding:1.1rem 1rem;gap:1rem;}
  .nav-logo{font-size:1rem;}
  .nav-sub{font-size:.42rem;}
  .nav-links{gap:.8rem 1rem;justify-content:flex-start;}
  .nav-links a{font-size:.54rem;}
  .hero-content,
  .stats-band,
  .philosophy,
  .about,
  .portfolio,
  .process,
  .testimonial-section,
  .contact,
  .finds-intro,
  .finds-tabs,
  .finds-grid-wrap,
  .finds-editorial,
  .conf-projects,
  footer{padding-left:1rem;padding-right:1rem;}
  .hero-content{padding-bottom:3rem;}
  .hero-title{font-size:clamp(2.45rem,11vw,4rem);}
  .hero-row{gap:2rem;}
  .hero-cta{flex-direction:column;align-items:flex-start;}
  .scroll-hint{right:1rem;bottom:1.5rem;}
  .stats-band{grid-template-columns:1fr;}
  .phil-right,
  .about-stats,
  .process-steps,
  .finds-grid,
  .portfolio-grid{grid-template-columns:1fr;}
  .project-card:nth-child(1) img,
  .project-card:nth-child(2) img,
  .project-card:nth-child(3) img,
  .project-card:nth-child(4) img,
  .project-card:nth-child(5) img{height:320px;}
  .contact{padding-top:7rem;padding-bottom:7rem;}
  .contact-item{flex-direction:column;gap:.4rem;}
  .btn-submit{width:100%;text-align:center;}
  .form-submit{width:100%;}
  .finds-tabs{gap:1.2rem;overflow-x:auto;white-space:nowrap;scrollbar-width:none;}
  .finds-tabs::-webkit-scrollbar{display:none;}
  .finds-hero{height:auto;min-height:36vh;}
  .finds-hero-text{left:1rem;right:1rem;bottom:2.5rem;}
  .conf-inner{padding:1.5rem;}
  .conf-card-body{padding:2rem 1.5rem;}
  footer{flex-direction:column;align-items:flex-start;}
  .footer-social{gap:1.2rem;}
}

@media (max-width:520px){
  :root{--nav-offset:154px;}
  h2{font-size:clamp(2rem,9vw,2.5rem);}
  .hero-content{padding-top:10rem;}
  .about-accent-box{margin:-2rem .75rem 0 auto;padding:1.5rem;}
  .about-accent-box p{font-size:1rem;}
  .finds-editorial,
  .conf-projects,
  .contact,
  .portfolio,
  .process,
  .testimonial-section{padding-top:6rem;padding-bottom:6rem;}
}
