/* ============================================================
   Siddventure Limited — shared stylesheet
   ============================================================ */
:root{
  --obsidian:#ffffff;
  --graphite:#faf6ee;
  --graphite-2:#f2ead8;
  --hairline: rgba(24,20,15,0.13);
  --ivory:#1c1815;
  --platinum:#4d453c;
  --platinum-dim:#8a8072;
  --gold:#a9793a;
  --gold-bright:#b8863f;
  --alpine-red:#8f4238;
}
*{ box-sizing:border-box; margin:0; padding:0; -webkit-tap-highlight-color:transparent; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; text-size-adjust:100%; }
body{
  background:
    radial-gradient(ellipse 1200px 700px at 15% -10%, rgba(226,197,132,0.07), transparent 60%),
    radial-gradient(ellipse 900px 600px at 100% 20%, rgba(226,197,132,0.05), transparent 55%),
    var(--obsidian);
  color:var(--ivory);
  font-family:'Inter', sans-serif;
  font-weight:300;
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  position:relative;
  -webkit-overflow-scrolling:touch;
}
/* Fine foil grain — a quiet luxury cue, not a decoration announcing itself */
body::after{
  content:'';
  position:fixed; inset:0; z-index:200; pointer-events:none;
  opacity:0.02; mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
::selection{ background:var(--gold); color:var(--obsidian); }
a{ color:inherit; text-decoration:none; }
.mono{ font-family:'IBM Plex Mono', monospace; letter-spacing:0.02em; }
.serif{ font-family:'Fraunces', serif; }

.wrap{ max-width:1180px; margin:0 auto; padding:0 40px; }
@media (max-width:720px){ .wrap{ padding:0 22px; } }

/* ---------- NAV ---------- */
header{
  position:fixed; top:0; left:0; right:0; z-index:50;
  background:linear-gradient(to bottom, rgba(255,255,255,0.97), rgba(255,255,255,0.8) 70%, rgba(255,255,255,0));
  padding:26px 0 40px;
}
.navrow{ display:flex; align-items:center; justify-content:space-between; }
.brand{ display:inline-flex; align-items:center; gap:12px; font-family:'Fraunces', serif; font-size:20px; font-weight:500; letter-spacing:0.02em; }
.brand span{ color:var(--gold-bright); }
.crest{
  display:inline-flex; align-items:center; justify-content:center;
  width:34px; height:34px; border-radius:50%;
  border:1px solid var(--gold-bright);
  font-family:'Fraunces', serif; font-style:italic; font-weight:500; font-size:13px;
  color:var(--gold-bright);
  background:radial-gradient(circle at 32% 28%, rgba(226,197,132,0.18), transparent 70%);
  flex-shrink:0;
}
nav.links{ display:flex; gap:26px; font-size:12px; letter-spacing:0.04em; text-transform:uppercase; color:var(--platinum); }
nav.links a{ position:relative; padding-bottom:4px; transition:color .3s; white-space:nowrap; }
nav.links a:hover, nav.links a.active{ color:var(--ivory); }
nav.links a::after{
  content:''; position:absolute; left:0; bottom:0; width:0; height:1px; background:var(--gold-bright);
  transition:width .3s ease;
}
nav.links a:hover::after, nav.links a.active::after{ width:100%; }
@media (max-width:1180px){ nav.links{ display:none; } }

/* ---------- MOBILE MENU ---------- */
.hamburger{
  display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:10px;
  z-index:60; -webkit-tap-highlight-color:transparent;
}
.hamburger span{ width:22px; height:1.5px; background:var(--ivory); display:block; transition:transform .3s ease, opacity .3s ease; }
@media (max-width:1180px){ .hamburger{ display:flex; } }

.nav-backdrop{
  position:fixed; inset:0; z-index:54;
  background:rgba(20,17,13,0.35);
  opacity:0; pointer-events:none;
  transition:opacity .4s ease;
}
.nav-backdrop.open{ opacity:1; pointer-events:auto; }

.mobile-nav{
  position:fixed; top:0; right:0; bottom:0; z-index:55;
  width:min(340px, 84vw);
  background:var(--obsidian);
  border-left:1px solid var(--hairline);
  box-shadow:-30px 0 60px -30px rgba(20,17,13,0.25);
  display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:2px;
  padding:100px 34px 40px;
  transform:translateX(100%);
  transition:transform .45s cubic-bezier(.22,.9,.35,1);
  overflow-y:auto;
}
.mobile-nav.open{ transform:translateX(0); }
.mobile-nav a{
  font-family:'Fraunces', serif; font-size:21px; font-weight:400; color:var(--ivory);
  padding:15px 0; border-bottom:1px solid var(--hairline); width:100%;
  -webkit-tap-highlight-color:transparent;
}
.mobile-nav a.active{ color:var(--gold-bright); }
.mobile-nav-close{
  position:absolute; top:30px; right:30px; background:none; border:none; cursor:pointer;
  width:34px; height:34px; -webkit-tap-highlight-color:transparent;
}
.mobile-nav-close span{ position:absolute; top:50%; left:50%; width:20px; height:1.5px; background:var(--ivory); }
.mobile-nav-close span:first-child{ transform:translate(-50%,-50%) rotate(45deg); }
.mobile-nav-close span:last-child{ transform:translate(-50%,-50%) rotate(-45deg); }
body.nav-open{ overflow:hidden; }

/* ---------- SERVICE CATEGORY ACCORDION ---------- */
.cat-accordion{ border-top:1px solid var(--hairline); }
.cat-block{ border-bottom:1px solid var(--hairline); }
.cat-head{
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  padding:36px 0; cursor:pointer; user-select:none;
}
.cat-head-left{ display:flex; align-items:baseline; gap:22px; }
.cat-num{ font-family:'IBM Plex Mono', monospace; font-size:12px; color:var(--gold-bright); }
.cat-head h3{ font-family:'Fraunces', serif; font-size:26px; font-weight:500; }
.cat-count{ font-family:'IBM Plex Mono', monospace; font-size:12px; color:var(--platinum-dim); }
.cat-toggle{
  width:30px; height:30px; border:1px solid var(--hairline); border-radius:50%; flex-shrink:0;
  display:flex; align-items:center; justify-content:center; position:relative; transition:border-color .3s;
}
.cat-toggle::before, .cat-toggle::after{
  content:''; position:absolute; background:var(--gold-bright); transition:transform .35s ease;
}
.cat-toggle::before{ width:11px; height:1px; }
.cat-toggle::after{ width:1px; height:11px; }
.cat-block.open .cat-toggle::after{ transform:scaleY(0); }
.cat-block.open .cat-toggle{ border-color:var(--gold-bright); }
.cat-body{ max-height:0; overflow:hidden; transition:max-height .5s cubic-bezier(.22,.9,.35,1); }
.cat-block.open .cat-body{ max-height:1400px; }
.cat-services{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px 30px; padding:0 0 40px; }
@media (max-width:820px){ .cat-services{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .cat-services{ grid-template-columns:1fr; } }
.cat-service-item{
  display:flex; align-items:baseline; gap:10px; padding:11px 0; border-bottom:1px solid var(--hairline);
  font-size:15.5px; color:var(--platinum);
}
.cat-service-item::before{ content:'—'; color:var(--gold-bright); font-size:12px; }

/* ---------- COUNTRY CARDS ---------- */
.country-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--hairline); border:1px solid var(--hairline); }
@media (max-width:960px){ .country-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .country-grid{ grid-template-columns:1fr; } }
.country-card{ background:var(--obsidian); padding:36px 30px; }
.country-flag{ font-size:30px; margin-bottom:18px; display:block; }
.country-card h4{ font-family:'Fraunces', serif; font-size:20px; font-weight:500; margin-bottom:10px; }
.country-card p{ font-size:14.5px; line-height:1.65; color:var(--platinum-dim); }

/* ---------- PRICING ---------- */
.pricing-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--hairline); border:1px solid var(--hairline); }
@media (max-width:900px){ .pricing-grid{ grid-template-columns:1fr; } }
.price-card{ background:var(--obsidian); padding:48px 40px; display:flex; flex-direction:column; }
.price-card.featured{ background:linear-gradient(180deg, rgba(226,197,132,0.07), transparent 40%); }
.price-tier{ font-size:11px; letter-spacing:0.18em; text-transform:uppercase; color:var(--gold-bright); margin-bottom:18px; }
.price-card h3{ font-family:'Fraunces', serif; font-size:28px; font-weight:500; margin-bottom:10px; }
.price-amount{ font-family:'IBM Plex Mono', monospace; font-size:34px; color:var(--ivory); margin-bottom:6px; }
.price-amount span{ font-size:14px; color:var(--platinum-dim); }
.price-desc{ font-size:15px; color:var(--platinum-dim); margin-bottom:30px; line-height:1.55; }
.price-features{ list-style:none; flex-grow:1; margin-bottom:34px; }
.price-features li{ font-size:15.5px; color:var(--platinum); padding:11px 0; border-bottom:1px solid var(--hairline); }
.price-features li::before{ content:'✓ '; color:var(--gold-bright); }

/* ---------- BLOG ---------- */
.blog-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:44px; }
@media (max-width:900px){ .blog-grid{ grid-template-columns:1fr; } }
.blog-card{ border-top:1px solid var(--hairline); padding-top:24px; }
.blog-cat{ font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold-bright); margin-bottom:14px; }
.blog-card h3{ font-family:'Fraunces', serif; font-size:22px; font-weight:500; margin-bottom:12px; line-height:1.25; }
.blog-card p{ font-size:15.5px; line-height:1.7; color:var(--platinum-dim); margin-bottom:18px; }
.blog-meta{ font-size:12px; color:var(--platinum-dim); font-family:'IBM Plex Mono', monospace; }

/* ---------- CLIENT LOGIN ---------- */
.login-panel{ max-width:440px; margin:0 auto; border:1px solid var(--hairline); padding:56px 48px; }
@media (max-width:560px){ .login-panel{ padding:40px 26px; } }
.login-panel h3{ font-family:'Fraunces', serif; font-size:26px; font-weight:500; margin-bottom:12px; text-align:center; }
.login-panel .lp-sub{ font-size:13.5px; color:var(--platinum-dim); text-align:center; margin-bottom:36px; }
.login-panel .field{ margin-bottom:24px; }
.login-panel .form-submit{ width:100%; text-align:center; }
.login-footnote{ text-align:center; font-size:12.5px; color:var(--platinum-dim); margin-top:24px; }
.login-footnote a{ color:var(--gold-bright); }

/* ---------- PAGE HERO (interior pages) ---------- */
.page-hero{
  padding:180px 0 90px;
  border-bottom:1px solid var(--hairline);
}
.page-hero .eyebrow{ margin-bottom:22px; }
.page-hero h1{
  font-family:'Fraunces', serif; font-weight:400;
  font-size:clamp(34px, 5.2vw, 64px);
  line-height:1.06; max-width:780px;
}
.page-hero p{ margin-top:24px; max-width:560px; font-size:16.5px; line-height:1.65; color:var(--platinum); }

/* ---------- HOME HERO ---------- */
.hero{
  position:relative; min-height:100vh;
  display:flex; flex-direction:column; justify-content:center;
  padding-top:120px; overflow:hidden;
}
.hero-grid{ position:absolute; inset:0; pointer-events:none; opacity:0.5; }
.hero-grid svg{ width:100%; height:100%; }
.eyebrow{
  font-size:12.5px; letter-spacing:0.22em; text-transform:uppercase; color:var(--gold-bright);
  display:flex; align-items:center; gap:14px; margin-bottom:28px;
}
.eyebrow::before{ content:''; width:34px; height:1px; background:var(--gold-bright); display:inline-block; }
.est-badge{
  display:inline-flex; align-items:center; gap:8px;
  font-family:'IBM Plex Mono', monospace; font-size:11px; letter-spacing:0.08em; color:var(--platinum-dim);
  border:1px solid var(--hairline); padding:6px 14px; margin-bottom:26px;
}
.est-badge .sep{ color:var(--gold-bright); }
h1.hero-title{
  font-family:'Fraunces', serif; font-weight:400;
  font-size:clamp(40px, 6.4vw, 92px);
  line-height:1.02; letter-spacing:-0.01em; max-width:920px; color:var(--ivory);
}
h1.hero-title em{ font-style:italic; color:var(--gold-bright); font-weight:300; }
.hero-sub{ max-width:600px; margin-top:30px; font-size:19px; line-height:1.7; color:var(--platinum); font-weight:300; }
.hero-actions{ margin-top:46px; display:flex; align-items:center; gap:28px; flex-wrap:wrap; }

.btn-primary{
  position:relative; overflow:hidden;
  background:var(--ivory); color:var(--obsidian); font-size:13px; letter-spacing:0.06em; text-transform:uppercase;
  padding:18px 36px; font-weight:500; transition:all .35s ease; border:1px solid var(--ivory); display:inline-block;
  -webkit-tap-highlight-color:transparent; touch-action:manipulation;
}
.btn-primary::before{
  content:''; position:absolute; top:0; left:-160%; width:60%; height:100%;
  background:linear-gradient(115deg, transparent, rgba(226,197,132,0.6), transparent);
  transform:skewX(-18deg); transition:left .65s cubic-bezier(.2,.8,.3,1);
}
.btn-primary:hover::before{ left:160%; }
.btn-primary:hover{ background:var(--gold-bright); color:var(--ivory); border-color:var(--gold-bright); }
.btn-primary:active{ transform:scale(0.98); }

.btn-ghost{
  display:inline-flex; align-items:center; gap:10px;
  font-size:13px; letter-spacing:0.06em; text-transform:uppercase; color:var(--platinum);
  border:1px solid var(--hairline); padding:16px 30px; transition:color .3s, border-color .3s, background .3s;
  -webkit-tap-highlight-color:transparent; touch-action:manipulation;
}
.btn-ghost:hover{ color:var(--gold-bright); border-color:var(--gold-bright); background:rgba(226,197,132,0.05); }
.btn-ghost:active{ transform:scale(0.98); }

/* ---------- MARKET TICKER ---------- */
.ticker-band{
  position:relative; border-top:1px solid var(--hairline); border-bottom:1px solid var(--hairline);
  background:var(--graphite); overflow:hidden;
}
.ticker-label{
  position:absolute; left:0; top:0; bottom:0; z-index:2;
  display:flex; align-items:center; gap:10px; padding:0 24px; background:var(--graphite);
  border-right:1px solid var(--hairline);
  font-size:11px; letter-spacing:0.18em; text-transform:uppercase; color:var(--platinum-dim);
}
.ticker-label .dot{ width:6px; height:6px; border-radius:50%; background:var(--alpine-red); }
.ticker-track{
  display:flex; align-items:center; white-space:nowrap;
  animation:scrollTicker 46s linear infinite; padding-left:190px;
}
@media (max-width:720px){ .ticker-track{ padding-left:150px; } .ticker-label{ font-size:9.5px; padding:0 16px;} }
@keyframes scrollTicker{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
.tick{ display:inline-flex; align-items:baseline; gap:10px; padding:20px 34px; font-family:'IBM Plex Mono', monospace; font-size:13px; border-right:1px solid var(--hairline); }
.tick .country{ color:var(--ivory); letter-spacing:0.03em; }
.tick .wage{ color:var(--gold-bright); }
.tick .curr{ color:var(--platinum-dim); font-size:11px; }

/* ---------- SECTIONS ---------- */
section{ padding:150px 0; position:relative; }
@media (max-width:720px){ section{ padding:100px 0; } }
section.tone-cream{ background:var(--graphite); }
section.tone-white{ background:var(--obsidian); }
.section-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:40px; margin-bottom:80px; flex-wrap:wrap; }
.section-tag{ font-size:12px; letter-spacing:0.2em; text-transform:uppercase; color:var(--gold-bright); margin-bottom:18px; }
.section-tag::before{ content:'◆'; display:inline-block; font-size:7px; margin-right:10px; vertical-align:middle; transform:translateY(-1px); }
.cta-block .section-tag::before{ display:inline-block; }
h2.section-title{ font-family:'Fraunces', serif; font-weight:400; font-size:clamp(30px,4vw,50px); max-width:640px; line-height:1.12; }
.section-note{ max-width:340px; font-size:16px; color:var(--platinum-dim); line-height:1.65; padding-bottom:6px; }

/* ---------- SERVICES MENU ---------- */
.menu{ display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
.menu-item{
  display:flex; flex-direction:column; gap:14px;
  padding:34px 32px; border:1px solid var(--hairline); background:var(--obsidian);
  transition:transform .4s cubic-bezier(.22,.9,.35,1), box-shadow .4s ease, border-color .4s ease;
}
.menu-item:hover{
  transform:translateY(-6px);
  box-shadow:0 28px 56px -28px rgba(24,20,15,0.2);
  border-color:var(--gold-bright);
}
.menu-num{
  display:inline-flex; align-items:center; justify-content:center;
  width:38px; height:38px; border-radius:50%; border:1px solid var(--gold-bright);
  font-family:'IBM Plex Mono', monospace; font-size:12px; color:var(--gold-bright); flex-shrink:0;
}
.menu-body h3{ font-family:'Fraunces', serif; font-weight:500; font-size:24px; color:var(--ivory); margin-bottom:10px; letter-spacing:-0.01em; }
.menu-body p{ font-size:16.5px; line-height:1.7; color:var(--platinum); font-weight:300; }
.menu-extra{ margin-top:10px; font-size:13px; color:var(--platinum-dim); }
.menu-extra span{ color:var(--gold-bright); }
.menu-tag{
  display:inline-block; width:fit-content;
  font-size:10.5px; letter-spacing:0.12em; text-transform:uppercase; color:var(--gold-bright);
  font-family:'IBM Plex Mono', monospace;
  border:1px solid var(--hairline); border-radius:20px; padding:6px 14px; margin-top:auto;
}
@media (max-width:820px){
  .menu{ grid-template-columns:1fr; gap:16px; }
  .menu-item{ padding:28px 24px; }
}

/* ---------- REGIONS ---------- */
.regions{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--hairline); border:1px solid var(--hairline); }
.region-card{ background:var(--obsidian); padding:44px 38px; }
.region-card .flag-line{ width:40px; height:2px; background:var(--gold-bright); margin-bottom:26px; }
.region-card h4{ font-family:'Fraunces', serif; font-size:24px; font-weight:500; margin-bottom:14px; }
.region-card p{ font-size:15.5px; line-height:1.7; color:var(--platinum-dim); }
.region-card .figure{ margin-top:26px; font-family:'IBM Plex Mono', monospace; font-size:13px; color:var(--gold-bright); }
@media (max-width:820px){ .regions{ grid-template-columns:1fr; } }

/* ---------- FULL WAGE TABLE (markets page) ---------- */
.wage-table{ width:100%; border-collapse:collapse; border-top:1px solid var(--hairline); }
.wage-table th{
  text-align:left; font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:var(--platinum-dim);
  font-weight:400; padding:18px 16px; border-bottom:1px solid var(--hairline);
}
.wage-table td{ padding:20px 16px; border-bottom:1px solid var(--hairline); font-size:15px; }
.wage-table tr:hover td{ background:rgba(226,197,132,0.035); }
.wage-table td.country{ font-family:'Fraunces', serif; font-size:17px; }
.wage-table td.wage, .wage-table td.curr{ font-family:'IBM Plex Mono', monospace; color:var(--gold-bright); }
.wage-table td.curr{ color:var(--platinum-dim); }
.wage-table tr.highlight td{ background:rgba(226,197,132,0.06); }
@media (max-width:720px){
  .wage-table{ font-size:13px; }
  .wage-table th:nth-child(3), .wage-table td:nth-child(3){ display:none; }
}

/* ---------- RESULTS CHART ---------- */
.chart-panel{ border:1px solid var(--hairline); padding:60px 56px; }
@media (max-width:720px){ .chart-panel{ padding:40px 24px; } }
.chart-bars{ display:flex; flex-direction:column; gap:30px; }
.chart-bar-row{ display:grid; grid-template-columns:220px 1fr; gap:28px; align-items:center; }
@media (max-width:720px){ .chart-bar-row{ grid-template-columns:1fr; gap:10px; } }
.chart-label{ font-size:14px; color:var(--platinum); letter-spacing:0.01em; }
.chart-track{ height:34px; background:var(--graphite); border:1px solid var(--hairline); position:relative; overflow:hidden; }
.chart-fill{
  height:100%; width:0%; background:linear-gradient(90deg, var(--gold) 0%, var(--gold-bright) 100%);
  display:flex; align-items:center; justify-content:flex-end; padding-right:14px;
  transition:width 1.4s cubic-bezier(.22,.9,.35,1);
}
.chart-panel.in .chart-fill{ width:var(--pct); }
.chart-value{ font-family:'IBM Plex Mono', monospace; font-size:12.5px; color:#2a2013; font-weight:600; white-space:nowrap; }
.chart-footnote{ margin-top:36px; font-size:12.5px; color:var(--platinum-dim); border-top:1px solid var(--hairline); padding-top:20px; }

/* ---------- TESTIMONIALS ---------- */
.testimonial-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--hairline); border:1px solid var(--hairline); }
@media (max-width:820px){ .testimonial-grid{ grid-template-columns:1fr; } }
.testimonial-card{ background:var(--obsidian); padding:44px 38px; display:flex; flex-direction:column; }
.quote-mark{ font-family:'Fraunces', serif; font-size:56px; line-height:1; color:var(--gold-bright); margin-bottom:6px; }
.quote-text{ font-size:17px; line-height:1.75; color:var(--platinum); flex-grow:1; margin-bottom:28px; }
.quote-author{ border-top:1px solid var(--hairline); padding-top:18px; }
.author-name{ font-family:'Fraunces', serif; font-size:16px; color:var(--ivory); }
.author-role{ font-size:12.5px; color:var(--platinum-dim); margin-top:4px; }

/* ---------- PROCESS ---------- */
.process{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; }
.proc-step{ padding:0 30px 0 0; border-right:1px solid var(--hairline); }
.proc-step:last-child{ border-right:none; }
.proc-step .idx{ font-family:'IBM Plex Mono', monospace; color:var(--gold-bright); font-size:13px; margin-bottom:22px; }
.proc-step h4{ font-family:'Fraunces', serif; font-size:20px; font-weight:500; margin-bottom:12px; }
.proc-step p{ font-size:14px; line-height:1.65; color:var(--platinum-dim); }
@media (max-width:820px){
  .process{ grid-template-columns:1fr; gap:40px; }
  .proc-step{ border-right:none; padding-right:0; border-bottom:1px solid var(--hairline); padding-bottom:30px; }
}

/* ---------- PROCESS DETAIL (process page) ---------- */
.process-detail{ border-top:1px solid var(--hairline); }
.pd-row{
  display:grid; grid-template-columns:120px 1fr 1fr; gap:36px;
  padding:52px 0; border-bottom:1px solid var(--hairline);
}
.pd-row .idx{ font-family:'Fraunces', serif; font-size:44px; color:var(--gold-bright); font-weight:400; line-height:1; }
.pd-row h4{ font-family:'Fraunces', serif; font-size:26px; font-weight:500; margin-bottom:14px; }
.pd-row .pd-desc p{ font-size:16.5px; line-height:1.75; color:var(--platinum); }
.pd-row .pd-detail{ font-size:14px; line-height:1.75; color:var(--platinum-dim); }
.pd-row .pd-detail ul{ list-style:none; }
.pd-row .pd-detail li{ padding:6px 0; border-bottom:1px solid var(--hairline); }
.pd-row .pd-detail li:last-child{ border-bottom:none; }
@media (max-width:820px){
  .pd-row{ grid-template-columns:1fr; gap:16px; }
}

/* ---------- CTA ---------- */
.cta-block{
  border:1px solid var(--hairline); padding:80px 60px; text-align:center;
  background:radial-gradient(ellipse at top, rgba(226,197,132,0.06), transparent 60%);
}
.cta-block .section-tag{ justify-content:center; display:flex; }
.cta-block h2{ font-family:'Fraunces', serif; font-weight:400; font-size:clamp(28px,4vw,44px); max-width:620px; margin:0 auto 26px; }
.cta-block p{ color:var(--platinum-dim); max-width:460px; margin:0 auto 40px; font-size:15px; line-height:1.6; }
@media (max-width:720px){ .cta-block{ padding:56px 26px; } }

/* ---------- CONTACT FORM ---------- */
.contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:80px; }
@media (max-width:900px){ .contact-grid{ grid-template-columns:1fr; gap:60px; } }
.contact-info h3{ font-family:'Fraunces', serif; font-size:26px; font-weight:500; margin-bottom:18px; }
.contact-info p{ font-size:16.5px; line-height:1.7; color:var(--platinum); max-width:400px; margin-bottom:34px; }
.contact-detail{ margin-bottom:26px; }
.contact-detail .label{ font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:var(--platinum-dim); margin-bottom:8px; }
.contact-detail .value{ font-size:16px; font-family:'IBM Plex Mono', monospace; color:var(--gold-bright); }

form.contact-form{ display:flex; flex-direction:column; gap:26px; }
.field{ position:relative; }
.field label{ display:block; font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:var(--platinum-dim); margin-bottom:10px; }
.field input, .field select, .field textarea{
  width:100%; background:transparent; border:none; border-bottom:1px solid var(--hairline);
  color:var(--ivory); font-family:'Inter', sans-serif; font-size:15px; font-weight:300; padding:10px 2px;
  transition:border-color .3s ease;
}
.field select option{ background:var(--graphite); color:var(--ivory); }
.field input:focus, .field select:focus, .field textarea:focus{ outline:none; border-color:var(--gold-bright); }
.field textarea{ resize:vertical; min-height:90px; }
.form-submit{
  align-self:flex-start; margin-top:12px; background:var(--ivory); color:var(--obsidian);
  border:1px solid var(--ivory); font-size:13.5px; letter-spacing:0.05em; text-transform:uppercase;
  padding:17px 34px; font-weight:500; cursor:pointer; transition:all .35s ease;
}
.form-submit:hover{ background:transparent; color:var(--ivory); }
.form-note{ font-size:12.5px; color:var(--platinum-dim); margin-top:6px; }
#formStatus{ margin-top:18px; font-size:13.5px; color:var(--gold-bright); display:none; }

/* ---------- FOOTER ---------- */
footer{
  border-top:1px solid var(--hairline);
  background:var(--graphite);
  padding:70px 0 40px;
  position:relative;
}
footer::before{
  content:''; position:absolute; top:0; left:0; width:120px; height:2px; background:var(--gold-bright);
}
.foot-row{ display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:40px; }
.foot-col h5{ font-size:11.5px; letter-spacing:0.16em; text-transform:uppercase; color:var(--gold-bright); margin-bottom:18px; }
.foot-col a, .foot-col p{ display:block; font-size:14px; color:var(--platinum); margin-bottom:11px; transition:color .3s; }
.foot-col a:hover{ color:var(--gold-bright); }
.foot-bottom{
  margin-top:56px; padding-top:24px; border-top:1px solid var(--hairline);
  display:flex; justify-content:space-between; font-size:12px; color:var(--platinum-dim); flex-wrap:wrap; gap:12px;
}
@media (max-width:720px){
  footer{ padding:50px 0 30px; }
  .foot-row{ gap:34px; }
  .foot-bottom{ flex-direction:column; gap:8px; }
}

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

/* ---------- TILT CARDS ---------- */
.tilt{
  transition:transform .4s cubic-bezier(.22,.9,.35,1), box-shadow .4s ease, border-color .4s ease;
  will-change:transform;
  position:relative;
}
.tilt:hover{
  box-shadow:0 30px 70px -30px rgba(226,197,132,0.4);
  z-index:3;
}

/* ---------- HERO ENTRANCE ---------- */
.hero-reveal{ opacity:0; transform:translateY(22px); transition:opacity 1s cubic-bezier(.22,.9,.35,1), transform 1s cubic-bezier(.22,.9,.35,1); }
.hero-reveal.in{ opacity:1; transform:translateY(0); }

@media (prefers-reduced-motion: reduce){
  .reveal{ opacity:1; transform:none; transition:none; }
  .hero-reveal{ opacity:1; transform:none; transition:none; }
  .tilt{ transition:none; }
  .ticker-track{ animation:none; }
  html{ scroll-scroll-behavior:auto; }
}

/* ---------- MOBILE READABILITY & TOUCH TARGETS ---------- */
@media (max-width:540px){
  body{ font-weight:400; }
  .hero-sub{ font-size:16px; line-height:1.7; }
  .section-note{ font-size:15px; }
  .menu-body p{ font-size:15.5px; }
  .hero-actions{ flex-direction:column; align-items:stretch; gap:18px; }
  .hero-actions .btn-primary, .hero-actions .btn-ghost{ text-align:center; padding:18px 24px; }
  .cta-block .btn-primary{ display:block; width:100%; text-align:center; padding:18px 24px; }
  .menu-item{ padding:30px 0; }
  .cat-head{ padding:26px 0; }
  .cat-head h3{ font-size:21px; }
  .price-card{ padding:36px 26px; }
  .est-badge{ font-size:10px; padding:6px 10px; flex-wrap:wrap; }
}
