:root{
  --wine-900:#0a1a2f;
  --wine-800:#0f2742;
  --wine-700:#163356;
  --wine-500:#1f4a7a;
  --wine-100:#d4dce8;
  --gold-500:#c9a227;
  --gold-400:#d4af37;
  --gold-100:#f4e4bc;
  --cream:#f6f3ec;
  --white:#ffffff;
  --ease-quiet:cubic-bezier(.22,1,.36,1);
  --ease-precise:cubic-bezier(.4,0,.2,1);
  --ease-emphasis:cubic-bezier(.16,1,.3,1);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:'Inter',sans-serif;
  font-weight:300;
  background:var(--white);
  color:var(--wine-900);
  line-height:1.6;
  overflow-x:hidden;
}
h1,h2,h3,h4{font-family:'Cormorant Garamond',serif;font-weight:400;line-height:1.1;letter-spacing:-0.01em;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}

header{
  position:fixed;top:0;left:0;right:0;z-index:100;
  padding:1.25rem 2.5rem;
  background:rgba(10,26,47,0);
  backdrop-filter:blur(0px);
  transition:background 400ms var(--ease-quiet), backdrop-filter 400ms var(--ease-quiet), padding 400ms var(--ease-quiet);
  border-bottom:1px solid transparent;
}
header.scrolled{
  background:rgba(10,26,47,0.92);
  backdrop-filter:blur(14px);
  padding:0.9rem 2.5rem;
  border-bottom:1px solid rgba(201,162,39,0.18);
}
.header-inner{
  max-width:1400px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;gap:2rem;
}
.logo{cursor:pointer;display:flex;align-items:center;}
.logo img{height:45px;width:auto;}
nav.primary{display:flex;gap:2.5rem;}
nav.primary a{
  font-size:0.78rem;letter-spacing:0.22em;text-transform:uppercase;
  color:var(--wine-100);
  position:relative;padding:0.5rem 0;
  transition:color 300ms var(--ease-precise);
}
nav.primary a::after{
  content:'';position:absolute;left:0;bottom:0;
  width:0;height:1px;background:var(--gold-400);
  transition:width 400ms var(--ease-quiet);
}
nav.primary a:hover,nav.primary a.active{color:var(--gold-400);}
nav.primary a:hover::after,nav.primary a.active::after{width:100%;}
.nav-cta{
  padding:0.7rem 1.5rem;
  border:1px solid var(--gold-500);
  color:var(--gold-100);
  font-size:0.72rem;letter-spacing:0.22em;text-transform:uppercase;
  transition:background 400ms var(--ease-precise), color 400ms var(--ease-precise);
}
.nav-cta:hover{background:var(--gold-500);color:var(--wine-900);}
.menu-toggle{display:none;}

.page{display:none;}
.page.active{display:block;}
.section{padding:8rem 2.5rem;}
.container{max-width:1400px;margin:0 auto;}

.eyebrow{
  display:inline-block;
  font-family:'Inter',sans-serif;
  font-size:0.72rem;font-weight:500;
  letter-spacing:0.38em;text-transform:uppercase;
  color:var(--gold-500);
}
.eyebrow.with-rule::after{
  content:'';display:inline-block;
  width:2rem;height:1px;margin-left:0.9rem;
  background:var(--gold-500);
  vertical-align:middle;
  transform-origin:left;
}

.hero{
  position:relative;min-height:100vh;
  background:linear-gradient(135deg,var(--wine-900) 0%, var(--wine-800) 60%, var(--wine-700) 100%);
  color:var(--cream);overflow:hidden;
  display:flex;align-items:center;
  padding:8rem 2.5rem 4rem;
}
.hero::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(circle at 75% 30%, rgba(201,162,39,0.12), transparent 50%),
    radial-gradient(circle at 20% 80%, rgba(31,74,122,0.25), transparent 60%);
  pointer-events:none;
}
.hero-grid{
  position:relative;z-index:2;
  max-width:1400px;margin:0 auto;width:100%;
  display:grid;grid-template-columns:1.2fr 1fr;gap:4rem;align-items:center;
}
.hero-content > *{opacity:0;transform:translateY(40px);}
.hero-eyebrow{margin-bottom:2rem;}
.hero h1{
  font-size:clamp(3rem,6.5vw,5.8rem);
  font-weight:500;color:var(--white);
  margin-bottom:1.75rem;letter-spacing:-0.015em;
}
.hero h1 em{font-style:italic;color:var(--gold-400);font-weight:500;}
.hero-sub{
  font-size:1.05rem;line-height:1.7;
  color:var(--wine-100);max-width:520px;
  margin-bottom:3rem;font-weight:300;
}
.hero-ctas{display:flex;gap:1.25rem;flex-wrap:wrap;align-items:center;}
.btn-primary{
  display:inline-flex;align-items:center;gap:0.75rem;
  padding:1.1rem 2rem;background:var(--gold-500);
  color:var(--wine-900);
  font-size:0.78rem;letter-spacing:0.22em;text-transform:uppercase;font-weight:500;
  transition:background 400ms var(--ease-precise), transform 400ms var(--ease-quiet);
  cursor:pointer;border:none;
}
.btn-primary:hover{background:var(--gold-400);transform:translateY(-2px);}
.btn-secondary{
  display:inline-flex;align-items:center;gap:0.75rem;
  padding:1.1rem 2rem;
  border:1px solid rgba(244,228,188,0.4);
  color:var(--cream);
  font-size:0.78rem;letter-spacing:0.22em;text-transform:uppercase;font-weight:500;
  transition:border-color 400ms var(--ease-precise), color 400ms var(--ease-precise);
  cursor:pointer;
}
.btn-secondary:hover{border-color:var(--gold-400);color:var(--gold-400);}

.hero-visual{position:relative;aspect-ratio:1;max-width:520px;margin-left:auto;}
.hero-img-wrap{
  position:absolute;inset:18%;
  border-radius:50%;overflow:hidden;
  border:1px solid rgba(201,162,39,0.3);
}
.hero-img-wrap img{
  width:100%;height:100%;object-fit:cover;
  animation:kenburns 24s ease-in-out infinite alternate;
}
@keyframes kenburns{
  0%{transform:scale(1.1) translate(-1%,-1%);}
  100%{transform:scale(1.2) translate(1.5%,1%);}
}
.hero-orbital{position:absolute;inset:0;animation:rotate-slow 60s linear infinite;}
@keyframes rotate-slow{from{transform:rotate(0);}to{transform:rotate(360deg);}}
.hero-badge{position:absolute;inset:0;pointer-events:none;}
.hero-badge svg{width:100%;height:100%;}
.hero-badge text{
  font-family:'Inter',sans-serif;
  font-size:11px;letter-spacing:0.32em;
  fill:var(--gold-400);text-transform:uppercase;
}
.hero-center-mark{
  position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%);z-index:3;
  width:90px;height:90px;border-radius:50%;
  background:var(--white);
  border:1px solid var(--gold-500);
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
.hero-center-mark img{width:80%;height:80%;object-fit:contain;}
.hero-scroll{
  position:absolute;bottom:2.5rem;left:50%;
  transform:translateX(-50%);
  font-size:0.68rem;letter-spacing:0.4em;text-transform:uppercase;
  color:var(--gold-400);
  display:flex;flex-direction:column;align-items:center;gap:0.75rem;
  opacity:0.7;
}
.hero-scroll::after{
  content:'';width:1px;height:36px;
  background:linear-gradient(to bottom,var(--gold-400),transparent);
}

.trust-strip{
  background:var(--wine-900);
  padding:2.5rem 2.5rem;
  border-top:1px solid rgba(201,162,39,0.18);
}
.trust-grid{
  max-width:1400px;margin:0 auto;
  display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;
}
.trust-item{text-align:center;border-right:1px solid rgba(244,228,188,0.1);padding:0.5rem 1rem;}
.trust-item:last-child{border-right:none;}
.trust-num{
  font-family:'Cormorant Garamond',serif;
  font-size:2.4rem;font-weight:500;
  color:var(--gold-400);line-height:1;
}
.trust-label{
  font-size:0.7rem;letter-spacing:0.25em;text-transform:uppercase;
  color:var(--wine-100);margin-top:0.6rem;
}

.services-preview{background:var(--cream);padding:8rem 2.5rem;}
.section-head{text-align:center;margin-bottom:5rem;}
.section-head .eyebrow{margin-bottom:1.5rem;}
.section-head h2{
  font-size:clamp(2.4rem,4.5vw,3.8rem);
  color:var(--wine-900);font-weight:500;letter-spacing:-0.015em;
}
.section-head h2 em{font-style:italic;color:var(--gold-500);font-weight:500;}
.section-head p{
  margin-top:1.5rem;color:var(--wine-700);
  max-width:560px;margin-left:auto;margin-right:auto;font-size:1.02rem;
}

.services-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;
  max-width:1400px;margin:0 auto;
}
.service-card{
  background:var(--white);padding:3rem 2.5rem;
  border:1px solid rgba(15,39,66,0.08);
  transition:transform 500ms var(--ease-quiet), border-color 500ms var(--ease-precise), box-shadow 500ms var(--ease-quiet);
  position:relative;overflow:hidden;
}
.service-card::before{
  content:'';position:absolute;top:0;left:0;
  width:100%;height:2px;background:var(--gold-500);
  transform:scaleX(0);transform-origin:left;
  transition:transform 500ms var(--ease-quiet);
}
.service-card:hover{
  transform:translateY(-6px);
  border-color:rgba(201,162,39,0.3);
  box-shadow:0 30px 60px -30px rgba(10,26,47,0.18);
}
.service-card:hover::before{transform:scaleX(1);}
.service-num{
  font-family:'Cormorant Garamond',serif;
  font-size:0.85rem;color:var(--gold-500);
  letter-spacing:0.3em;margin-bottom:2rem;
}
.service-icon{
  width:64px;height:64px;border:1px solid var(--gold-500);
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  margin-bottom:2rem;color:var(--gold-500);
}
.service-icon svg{width:28px;height:28px;}
.service-card h3{
  font-size:1.7rem;color:var(--wine-900);
  margin-bottom:1.25rem;font-weight:500;
}
.service-card p{color:var(--wine-700);font-size:0.95rem;line-height:1.7;margin-bottom:2rem;}
.service-link{
  display:inline-flex;align-items:center;gap:0.6rem;
  font-size:0.72rem;letter-spacing:0.22em;text-transform:uppercase;
  color:var(--gold-500);padding-bottom:0.4rem;
  border-bottom:1px solid transparent;
  transition:border-color 400ms var(--ease-precise);cursor:pointer;
}
.service-link:hover{border-color:var(--gold-500);}

.about-preview{background:var(--white);padding:9rem 2.5rem;}
.about-grid{
  max-width:1400px;margin:0 auto;
  display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;
}
.about-visual{position:relative;aspect-ratio:4/5;}
.about-visual img{width:100%;height:100%;object-fit:cover;}
.about-visual .frame{
  position:absolute;inset:0;border:1px solid var(--gold-500);
  transform:translate(20px,20px);z-index:-1;
}
.about-visual .badge-spin{position:absolute;bottom:-50px;right:-50px;width:140px;height:140px;z-index:2;}
.badge-spin svg{width:100%;height:100%;animation:rotate-slow 20s linear infinite;}
.badge-spin text{
  font-family:'Inter',sans-serif;
  font-size:9px;letter-spacing:0.3em;
  fill:var(--wine-900);text-transform:uppercase;
}
.badge-spin .inner{
  position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%);
  width:60px;height:60px;border-radius:50%;
  background:var(--white);
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
.badge-spin .inner img{width:85%;height:85%;object-fit:contain;}
.about-content .eyebrow{margin-bottom:1.75rem;}
.about-content h2{
  font-size:clamp(2.2rem,4vw,3.4rem);
  color:var(--wine-900);font-weight:500;
  margin-bottom:2rem;letter-spacing:-0.015em;
}
.about-content h2 em{font-style:italic;color:var(--gold-500);font-weight:500;}
.about-content p{color:var(--wine-700);margin-bottom:1.5rem;font-size:1rem;line-height:1.8;}
.about-quote{
  margin-top:2.5rem;padding-left:1.5rem;
  border-left:2px solid var(--gold-500);
  font-family:'Cormorant Garamond',serif;
  font-size:1.5rem;font-style:italic;
  color:var(--wine-800);line-height:1.4;
}

.differentials{
  background:var(--wine-900);color:var(--cream);
  padding:9rem 2.5rem;position:relative;overflow:hidden;
}
.differentials::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(circle at 80% 20%, rgba(201,162,39,0.08), transparent 50%);
}
.diff-grid{
  max-width:1400px;margin:0 auto;position:relative;z-index:2;
  display:grid;grid-template-columns:repeat(3,1fr);gap:3rem 4rem;
}
.diff-item{padding-top:2rem;border-top:1px solid rgba(244,228,188,0.15);}
.diff-num{
  font-family:'Cormorant Garamond',serif;
  font-size:0.85rem;color:var(--gold-400);
  letter-spacing:0.3em;margin-bottom:1rem;
}
.diff-item h4{font-size:1.5rem;color:var(--white);margin-bottom:1rem;font-weight:500;}
.diff-item p{color:var(--wine-100);font-size:0.92rem;line-height:1.7;}

.cta-banner{background:var(--cream);padding:8rem 2.5rem;text-align:center;}
.cta-banner-inner{max-width:780px;margin:0 auto;}
.cta-banner .eyebrow{margin-bottom:1.75rem;}
.cta-banner h2{
  font-size:clamp(2.4rem,5vw,4rem);
  color:var(--wine-900);font-weight:500;
  margin-bottom:1.75rem;letter-spacing:-0.015em;
}
.cta-banner h2 em{font-style:italic;color:var(--gold-500);font-weight:500;}
.cta-banner p{
  color:var(--wine-700);font-size:1.05rem;
  margin-bottom:3rem;max-width:560px;margin-left:auto;margin-right:auto;
}

footer{background:var(--wine-900);color:var(--wine-100);padding:5rem 2.5rem 2rem;}
.footer-grid{
  max-width:1400px;margin:0 auto;
  display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:3rem;
  padding-bottom:3rem;border-bottom:1px solid rgba(244,228,188,0.1);
}
.footer-logo img{margin-bottom:1.5rem;height:55px;width:auto;}
.footer-logo p{font-size:0.88rem;line-height:1.7;color:var(--wine-100);opacity:0.8;max-width:280px;}
.footer-col h5{
  font-family:'Inter',sans-serif;
  font-size:0.72rem;letter-spacing:0.28em;text-transform:uppercase;font-weight:500;
  color:var(--gold-400);margin-bottom:1.5rem;
}
.footer-col ul{list-style:none;}
.footer-col li{margin-bottom:0.75rem;}
.footer-col a,.footer-col span{
  font-size:0.88rem;color:var(--wine-100);opacity:0.85;
  transition:color 300ms var(--ease-precise), opacity 300ms;cursor:pointer;
}
.footer-col a:hover{color:var(--gold-400);opacity:1;}
.footer-bottom{
  max-width:1400px;margin:0 auto;padding-top:2rem;
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;
  font-size:0.78rem;color:var(--wine-100);opacity:0.6;
}

.page-hero{
  background:linear-gradient(135deg,var(--wine-900) 0%, var(--wine-800) 100%);
  color:var(--cream);padding:11rem 2.5rem 6rem;
  position:relative;overflow:hidden;
}
.page-hero::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(circle at 75% 50%, rgba(201,162,39,0.1), transparent 50%);
}
.page-hero-inner{max-width:1400px;margin:0 auto;position:relative;z-index:2;}
.page-hero .eyebrow{margin-bottom:1.75rem;}
.page-hero h1{
  font-size:clamp(2.8rem,5.5vw,4.8rem);
  font-weight:500;color:var(--white);
  letter-spacing:-0.015em;margin-bottom:1.5rem;max-width:880px;
}
.page-hero h1 em{font-style:italic;color:var(--gold-400);font-weight:500;}
.page-hero p{font-size:1.05rem;line-height:1.7;color:var(--wine-100);max-width:600px;}
.page-hero.centered .page-hero-inner{text-align:center;}
.page-hero.centered h1,.page-hero.centered p{margin-left:auto;margin-right:auto;}
.page-hero.centered::before{background:radial-gradient(circle at 50% 50%, rgba(201,162,39,0.1), transparent 50%);}
.page-hero.centered .eyebrow.with-rule::before,.contact-info .eyebrow.with-rule::before{
  content:'';display:inline-block;
  width:2rem;height:1px;margin-right:0.9rem;
  background:currentColor;vertical-align:middle;
}

.about-story{background:var(--white);padding:8rem 2.5rem;}
.about-story-grid{
  max-width:1400px;margin:0 auto;
  display:grid;grid-template-columns:1fr 1.3fr;gap:5rem;align-items:start;
}
.about-story-visual{position:sticky;top:120px;}
.about-story-visual img{width:100%;aspect-ratio:3/4;object-fit:cover;}
.about-story-content .eyebrow{margin-bottom:1.75rem;}
.about-story-content h2{
  font-size:clamp(2rem,3.8vw,3rem);
  color:var(--wine-900);font-weight:500;
  margin-bottom:2rem;letter-spacing:-0.015em;
}
.about-story-content h2 em{font-style:italic;color:var(--gold-500);font-weight:500;}
.about-story-content p{color:var(--wine-700);margin-bottom:1.5rem;font-size:1rem;line-height:1.85;}
.about-story-content .lead{
  font-family:'Cormorant Garamond',serif;
  font-size:1.5rem;line-height:1.5;color:var(--wine-800);
  font-style:italic;margin-bottom:2.5rem;
}

.pillars-section{background:var(--cream);padding:8rem 2.5rem;}
.pillars-wrap{max-width:1400px;margin:0 auto;}
.pillars-head{text-align:center;margin-bottom:5rem;}
.pillars-head .eyebrow{margin-bottom:1.25rem;}
.pillars-head h2{
  font-size:clamp(2.2rem,4vw,3.4rem);
  color:var(--wine-900);font-weight:500;letter-spacing:-0.015em;
}
.pillars-head h2 em{font-style:italic;color:var(--gold-500);font-weight:500;}
.pillars-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;
}
.pillar-card{
  background:var(--white);padding:3rem 2.5rem;
  border-top:2px solid var(--gold-500);
  transition:transform 500ms var(--ease-quiet), box-shadow 500ms var(--ease-quiet);
}
.pillar-card:hover{
  transform:translateY(-4px);
  box-shadow:0 25px 50px -25px rgba(10,26,47,0.15);
}
.pillar-card .num{
  font-family:'Cormorant Garamond',serif;
  font-size:2.2rem;color:var(--gold-500);
  font-weight:500;margin-bottom:1.5rem;line-height:1;
}
.pillar-card h4{
  font-size:1.4rem;color:var(--wine-900);
  margin-bottom:1.25rem;font-weight:500;
}
.pillar-card p{font-size:0.92rem;color:var(--wine-700);line-height:1.75;}

.paired-section{background:var(--cream);padding:8rem 2.5rem;}
.paired-wrap{max-width:1400px;margin:0 auto;}
.paired-head{text-align:center;margin-bottom:5rem;}
.paired-head .eyebrow{margin-bottom:1.25rem;}
.paired-head h2{
  font-size:clamp(2.2rem,4vw,3.4rem);
  color:var(--wine-900);font-weight:500;letter-spacing:-0.015em;
}
.paired-head h2 em{font-style:italic;color:var(--gold-500);font-weight:500;}
.pair{
  display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:4rem;
}
.pair__left,.pair__right{
  aspect-ratio:4/5;overflow:hidden;opacity:0;
  transition:opacity 1s var(--ease-emphasis), transform 1s var(--ease-emphasis);
}
.pair__left{transform:translateX(-30px);}
.pair__right{transform:translateX(30px);transition-delay:150ms;}
.pair.is-in .pair__left,.pair.is-in .pair__right{opacity:1;transform:translateX(0);}
.pair img{width:100%;height:100%;object-fit:cover;transition:transform 8s linear;}
.pair.is-in img{transform:scale(1.08);}
.pair-caption{
  grid-column:1/-1;text-align:center;margin-top:1rem;
  font-family:'Cormorant Garamond',serif;font-style:italic;
  color:var(--wine-700);font-size:1.15rem;
}
.pair--story{grid-template-columns:1fr 1.2fr;gap:4rem;margin-bottom:0;}
.pair--story .pair__left{aspect-ratio:auto;}
.pair--story .pair__left img{object-position:center top;}
.pair--story .pair__right{aspect-ratio:auto;overflow:visible;display:flex;flex-direction:column;gap:3rem;}
.pair__photo{aspect-ratio:20/9;overflow:hidden;}
.pair__text p{color:var(--wine-700);font-size:1rem;line-height:1.8;margin-bottom:1.25rem;}
.pair__text p:last-child{margin-bottom:0;}
.pair__text .pair__lead{
  font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:500;
  font-size:clamp(1.5rem,2.2vw,1.9rem);line-height:1.35;color:var(--wine-900);
  margin-bottom:1.75rem;
}

.values-section{background:var(--white);padding:8rem 2.5rem;}
.values-grid{
  max-width:1400px;margin:0 auto;
  display:grid;grid-template-columns:repeat(3,1fr);gap:3rem;
}
.value-card{
  padding:2.5rem;border:1px solid rgba(15,39,66,0.08);
  text-align:left;transition:border-color 400ms var(--ease-precise);
}
.value-card:hover{border-color:var(--gold-500);}
.value-card .num{
  font-family:'Cormorant Garamond',serif;
  font-size:2.4rem;color:var(--gold-500);
  margin-bottom:1.5rem;font-weight:500;
}
.value-card h4{font-size:1.4rem;color:var(--wine-900);margin-bottom:1rem;font-weight:500;}
.value-card p{font-size:0.92rem;color:var(--wine-700);line-height:1.7;}

.services-detail{background:var(--white);padding:8rem 2.5rem;}
.service-detail-block{
  max-width:1400px;margin:0 auto;
  display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;
  margin-bottom:8rem;
}
.service-detail-block:last-child{margin-bottom:0;}
.service-detail-block:nth-child(even) .sdb-visual{order:2;}
.sdb-visual{position:relative;aspect-ratio:4/5;overflow:hidden;}
.sdb-visual img{
  width:100%;height:100%;object-fit:cover;
  animation:kenburns 20s ease-in-out infinite alternate;
}
.sdb-visual .badge-spin{position:absolute;bottom:-40px;left:-40px;width:130px;height:130px;}
.sdb-content .num{
  font-family:'Cormorant Garamond',serif;
  font-size:0.85rem;color:var(--gold-500);
  letter-spacing:0.3em;margin-bottom:1.5rem;
}
.sdb-content .eyebrow{margin-bottom:1.5rem;}
.sdb-content h2{
  font-size:clamp(2rem,3.8vw,3rem);
  color:var(--wine-900);font-weight:500;
  margin-bottom:1.75rem;letter-spacing:-0.015em;
}
.sdb-content h2 em{font-style:italic;color:var(--gold-500);font-weight:500;}
.sdb-content > p{color:var(--wine-700);margin-bottom:1.5rem;font-size:1rem;line-height:1.8;}
.sdb-features{
  list-style:none;margin-top:2rem;
  border-top:1px solid rgba(15,39,66,0.1);
}
.sdb-features li{
  padding:1rem 0;border-bottom:1px solid rgba(15,39,66,0.08);
  display:flex;align-items:center;gap:1rem;
  font-size:0.92rem;color:var(--wine-800);
}
.sdb-features li::before{
  content:'';width:6px;height:6px;border-radius:50%;
  background:var(--gold-500);flex-shrink:0;
}

.catalog-section{background:var(--wine-900);color:var(--cream);padding:8rem 2.5rem;position:relative;overflow:hidden;}
.catalog-section::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(circle at 20% 80%, rgba(201,162,39,0.08), transparent 50%);
}
.catalog-wrap{max-width:1400px;margin:0 auto;position:relative;z-index:2;}
.catalog-head{text-align:center;margin-bottom:5rem;}
.catalog-head .eyebrow{margin-bottom:1.5rem;color:var(--gold-400);}
.catalog-head .eyebrow.with-rule::after{background:var(--gold-400);}
.catalog-head h2{
  font-size:clamp(2.4rem,4.5vw,3.8rem);
  color:var(--white);font-weight:500;letter-spacing:-0.015em;
}
.catalog-head h2 em{font-style:italic;color:var(--gold-400);font-weight:500;}
.catalog-head p{
  margin-top:1.5rem;color:var(--wine-100);
  max-width:580px;margin-left:auto;margin-right:auto;font-size:1.02rem;
}
.catalog-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:5rem 4rem;
}
.catalog-block{position:relative;}
.catalog-block-head{
  display:flex;align-items:baseline;gap:1.5rem;
  padding-bottom:1.5rem;margin-bottom:2.5rem;
  border-bottom:1px solid rgba(244,228,188,0.2);
}
.catalog-block-num{
  font-family:'Cormorant Garamond',serif;
  font-size:1rem;color:var(--gold-400);
  letter-spacing:0.3em;font-weight:500;
}
.catalog-block h3{
  font-size:1.7rem;color:var(--white);
  font-weight:500;letter-spacing:-0.01em;flex:1;
}
.catalog-list{list-style:none;}
.catalog-list li{
  display:flex;align-items:flex-start;gap:1.25rem;
  padding:1.1rem 0;
  border-bottom:1px solid rgba(244,228,188,0.08);
  transition:padding-left 400ms var(--ease-quiet);
}
.catalog-list li:hover{padding-left:0.5rem;}
.catalog-list .item-num{
  font-family:'Cormorant Garamond',serif;
  font-size:0.95rem;color:var(--gold-400);
  font-style:italic;flex-shrink:0;
  min-width:2.5rem;letter-spacing:0.05em;
  padding-top:0.15rem;
}
.catalog-list .item-text{
  font-family:'Cormorant Garamond',serif;
  font-size:1.15rem;color:var(--cream);
  font-weight:400;line-height:1.4;
  transition:color 300ms var(--ease-precise);
}
.catalog-list li:hover .item-text{color:var(--gold-400);}

.process-section{background:var(--wine-900);color:var(--cream);padding:8rem 2.5rem;}
.process-grid{
  max-width:1400px;margin:0 auto;
  display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;
}
.process-step{padding-top:2rem;border-top:1px solid rgba(244,228,188,0.2);}
.process-step .step-num{
  font-family:'Cormorant Garamond',serif;
  font-size:2.5rem;color:var(--gold-400);
  margin-bottom:1.25rem;font-weight:500;
}
.process-step h4{font-size:1.3rem;color:var(--white);margin-bottom:1rem;font-weight:500;}
.process-step p{font-size:0.9rem;color:var(--wine-100);line-height:1.7;}

.contact-main{background:var(--cream);padding:8rem 2.5rem;}
.contact-grid{max-width:1100px;margin:0 auto;text-align:center;}
.contact-info .eyebrow{margin-bottom:1.75rem;}
.contact-info h2{
  font-size:clamp(2.2rem,4vw,3.4rem);
  color:var(--wine-900);font-weight:500;
  margin-bottom:2rem;letter-spacing:-0.015em;
}
.contact-info h2 em{font-style:italic;color:var(--gold-500);font-weight:500;}
.contact-info > p{color:var(--wine-700);font-size:1rem;line-height:1.8;margin:0 auto 4rem;max-width:560px;}
.contact-list{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);}
.contact-list li{
  display:flex;flex-direction:column;align-items:center;gap:1.25rem;
  padding:2rem 1.5rem;border-left:1px solid rgba(15,39,66,0.1);
}
.contact-list li:first-child{border-left:none;}
.contact-list .icon{
  width:48px;height:48px;flex-shrink:0;
  border:1px solid var(--gold-500);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:var(--gold-500);
}
.contact-list .icon svg{width:20px;height:20px;}
.contact-list .label{
  font-size:0.7rem;letter-spacing:0.28em;text-transform:uppercase;
  color:var(--gold-500);margin-bottom:0.4rem;
}
.contact-list .value{
  font-family:'Cormorant Garamond',serif;
  font-size:1.3rem;color:var(--wine-900);font-weight:500;
}
.contact-list a.value:hover{color:var(--gold-500);}


.map-section{background:var(--cream);padding:0 2.5rem 8rem;}
.map-wrap{
  max-width:1400px;margin:0 auto;
  aspect-ratio:21/9;border:1px solid rgba(15,39,66,0.1);overflow:hidden;
}
.map-wrap iframe{width:100%;height:100%;border:0;display:block;}

.reveal{opacity:0;transform:translateY(30px);transition:opacity 1s var(--ease-quiet), transform 1s var(--ease-quiet);}
.reveal.is-in{opacity:1;transform:translateY(0);}
.reveal-stagger > *{opacity:0;transform:translateY(30px);transition:opacity 0.8s var(--ease-quiet), transform 0.8s var(--ease-quiet);}
.reveal-stagger.is-in > *{opacity:1;transform:translateY(0);}
.reveal-stagger.is-in > *:nth-child(1){transition-delay:0ms;}
.reveal-stagger.is-in > *:nth-child(2){transition-delay:100ms;}
.reveal-stagger.is-in > *:nth-child(3){transition-delay:200ms;}
.reveal-stagger.is-in > *:nth-child(4){transition-delay:300ms;}
.reveal-stagger.is-in > *:nth-child(5){transition-delay:400ms;}
.reveal-stagger.is-in > *:nth-child(6){transition-delay:500ms;}
.reveal-stagger.is-in > *:nth-child(7){transition-delay:600ms;}
.reveal-stagger.is-in > *:nth-child(8){transition-delay:700ms;}

@media(max-width:980px){
  header{padding:1rem 1.5rem;}
  header.scrolled{padding:0.8rem 1.5rem;}
  .logo img{height:38px;}
  nav.primary{display:none;}
  .menu-toggle{display:flex;flex-direction:column;gap:5px;cursor:pointer;padding:0.5rem;}
  .menu-toggle span{width:24px;height:1px;background:var(--cream);}
  nav.primary.open{
    display:flex;flex-direction:column;
    position:absolute;top:100%;left:0;right:0;
    background:var(--wine-900);padding:2rem 1.5rem;gap:1.5rem;
    border-bottom:1px solid rgba(201,162,39,0.2);
  }
  .hero{padding:7rem 1.5rem 4rem;}
  .hero-grid{grid-template-columns:1fr;gap:3rem;}
  .hero-visual{max-width:340px;margin:0 auto;}
  .hero-center-mark{width:70px;height:70px;}
  .section{padding:5rem 1.5rem;}
  .trust-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem;}
  .trust-item:nth-child(2){border-right:none;}
  .services-grid{grid-template-columns:1fr;}
  .about-grid{grid-template-columns:1fr;gap:3rem;}
  .about-visual .badge-spin{width:100px;height:100px;bottom:-30px;right:-30px;}
  .badge-spin .inner{width:45px;height:45px;}
  .diff-grid{grid-template-columns:1fr;gap:2rem;}
  .pillars-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;gap:2.5rem;}
  .page-hero{padding:8rem 1.5rem 4rem;}
  .about-story-grid{grid-template-columns:1fr;gap:3rem;}
  .about-story-visual{position:relative;top:0;}
  .pair{grid-template-columns:1fr;}
  .pair--story{gap:2.5rem;}
  .pair--story .pair__left{aspect-ratio:4/5;}
  .values-grid{grid-template-columns:1fr;}
  .service-detail-block{grid-template-columns:1fr;gap:3rem;margin-bottom:5rem;}
  .service-detail-block:nth-child(even) .sdb-visual{order:0;}
  .catalog-grid{grid-template-columns:1fr;gap:3rem;}
  .process-grid{grid-template-columns:1fr 1fr;gap:2rem;}
  .contact-list{grid-template-columns:1fr;}
  .contact-list li{border-left:none;border-top:1px solid rgba(15,39,66,0.1);}
  .contact-list li:first-child{border-top:none;}
  .map-wrap{aspect-ratio:4/3;}
  .nav-cta{display:none;}
}
@media(max-width:560px){
  .footer-grid{grid-template-columns:1fr;}
  .process-grid{grid-template-columns:1fr;}
  .hero-ctas{flex-direction:column;align-items:stretch;}
  .btn-primary,.btn-secondary{justify-content:center;}
  .catalog-block-head{flex-direction:column;gap:0.5rem;}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:0.01ms !important;transition-duration:0.01ms !important;}
}
