/* ================================================================
   IRASH THEME v3 - Complete Stylesheet
   Dark/Light, fully responsive, all pages
================================================================ */

/* VARIABLES */
:root {
  --gold:        #C4963A;
  --gold-light:  #E2B96A;
  --gold-dim:    #7A5C1E;
  --gold-glow:   rgba(196,150,58,.22);

  --bg:          #090909;
  --bg2:         #111;
  --bg3:         #171717;
  --bg4:         #1f1f1f;
  --border:      rgba(196,150,58,.13);
  --border2:     rgba(255,255,255,.06);
  --text:        #EAE4D8;
  --text2:       #8A8070;
  --text3:       #4A4640;

  --bg-l:        #F6F3ED;
  --bg2-l:       #EDEAD3;
  --bg3-l:       #E3DFD5;
  --bg4-l:       #D8D3C8;
  --border-l:    rgba(100,80,40,.13);
  --border2-l:   rgba(0,0,0,.07);
  --text-l:      #1A1714;
  --text2-l:     #5A5045;
  --text3-l:     #8A8070;

  --serif:       'Playfair Display', Georgia, serif;
  --sans:        'Figtree', system-ui, sans-serif;
  --nav-h:       76px;
  --max:         1280px;
  --ease:        cubic-bezier(.16,1,.3,1);
}

[data-theme="light"] {
  --bg:      var(--bg-l);
  --bg2:     var(--bg2-l);
  --bg3:     var(--bg3-l);
  --bg4:     var(--bg4-l);
  --border:  var(--border-l);
  --border2: var(--border2-l);
  --text:    var(--text-l);
  --text2:   var(--text2-l);
  --text3:   var(--text3-l);
}

/* RESET */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; font-size:16px; }
body {
  font-family: var(--sans);
  background: var(--bg);
  color: var(--text);
  overflow-x: hidden;
  cursor: none;
  transition: background .4s, color .4s;
  line-height: 1.6;
}
img { max-width:100%; display:block; height:auto; }
a { color:inherit; text-decoration:none; }
button { border:none; background:none; font-family:inherit; cursor:none; }
ul,ol { list-style:none; }
::selection { background:var(--gold); color:#000; }
:focus-visible { outline:2px solid var(--gold); outline-offset:3px; }
.skip-link { position:absolute; left:-9999px; }
.skip-link:focus { left:16px; top:16px; z-index:9999; padding:12px 24px; background:var(--gold); color:#000; }

/* CURSOR */
.cursor {
  width:7px; height:7px;
  background:var(--gold);
  border-radius:50%;
  position:fixed; pointer-events:none; z-index:9999;
  transform:translate(-50%,-50%);
  transition:width .2s,height .2s;
  mix-blend-mode:difference;
}
.cursor-ring {
  width:34px; height:34px;
  border:1.5px solid rgba(196,150,58,.4);
  border-radius:50%;
  position:fixed; pointer-events:none; z-index:9998;
  transform:translate(-50%,-50%);
  transition:width .3s var(--ease), height .3s var(--ease), border-color .3s;
}
body.hover-active .cursor { width:11px; height:11px; }
body.hover-active .cursor-ring { width:54px; height:54px; border-color:rgba(196,150,58,.75); }
@media (hover:none) { .cursor,.cursor-ring { display:none; } body,a,button { cursor:auto; } a,button { cursor:pointer; } }

/* TYPOGRAPHY */
h1,h2,h3,h4,h5 { font-family:var(--serif); font-weight:400; line-height:1.05; color:var(--text); }
.eyebrow {
  font-size:.68rem; font-weight:600; letter-spacing:.22em;
  text-transform:uppercase; color:var(--gold);
}
em { font-style:italic; color:var(--gold); }
strong { font-weight:600; }

/* LAYOUT */
.container { max-width:var(--max); margin:0 auto; padding:0 60px; }
.section { padding:120px 0; }
.s-dark2 { background:var(--bg2); }
.s-dark3 { background:var(--bg3); }

.section-label {
  display:flex; align-items:center; justify-content:space-between;
  padding-bottom:28px; border-bottom:1px solid var(--border);
  margin-bottom:56px;
}
.section-num { font-family:var(--serif); font-size:.75rem; color:var(--text3); letter-spacing:.12em; }
.section-title { font-size:clamp(2.5rem,5vw,4.5rem); line-height:1; margin-top:14px; }

/* SCROLL PROGRESS */
.scroll-progress {
  position:fixed; top:0; left:0; height:2px; background:var(--gold);
  z-index:9000; transform-origin:left; transform:scaleX(0);
  transition:transform .08s linear;
}

/* BUTTONS */
.btn {
  display:inline-flex; align-items:center; gap:12px;
  font-family:var(--sans); font-size:.78rem; font-weight:600;
  letter-spacing:.12em; text-transform:uppercase;
  position:relative; overflow:hidden; text-decoration:none;
  transition:transform .3s var(--ease), box-shadow .3s;
}
.btn::after {
  content:''; position:absolute; inset:0;
  background:rgba(255,255,255,.16);
  transform:translateX(-101%);
  transition:transform .4s var(--ease);
}
.btn:hover { transform:translateY(-2px); }
.btn:hover::after { transform:none; }

.btn--gold { padding:15px 32px; background:var(--gold); color:#000; }
.btn--gold:hover { box-shadow:0 14px 44px var(--gold-glow); }

.btn--outline {
  padding:14px 30px;
  border:1.5px solid var(--border);
  color:var(--text2);
}
.btn--outline:hover { border-color:var(--gold); color:var(--gold); box-shadow:none; }
.btn--outline::after { display:none; }

.btn--ghost {
  padding:0; background:none; color:var(--text2);
  letter-spacing:.12em;
}
.btn--ghost::after { display:none; }
.btn--ghost svg { transition:transform .3s var(--ease); }
.btn--ghost:hover { color:var(--gold); transform:none; }
.btn--ghost:hover svg { transform:translateX(5px); }

.btn--sm { padding:11px 22px; font-size:.72rem; }

/* HEADER */
.site-header {
  position:fixed; top:0; left:0; right:0; z-index:500;
  height:var(--nav-h);
  transition:background .4s, box-shadow .4s, height .3s;
}
.site-header.is-scrolled {
  background:var(--bg);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  box-shadow:0 1px 0 var(--border);
  height:64px;
}
.header-inner {
  max-width:var(--max); margin:0 auto; padding:0 60px;
  height:100%; display:flex; align-items:center; justify-content:space-between; gap:32px;
}
.site-logo {
  font-family:var(--serif); font-size:1.65rem; font-weight:700;
  letter-spacing:.1em; color:var(--text); transition:color .3s; flex-shrink:0;
}
.site-logo .logo-accent,.footer-logo .logo-accent { color:var(--gold); }
.site-logo:hover { color:var(--gold-light); }

.primary-nav ul { display:flex; gap:36px; }
.primary-nav a {
  font-size:.77rem; font-weight:500; letter-spacing:.14em;
  text-transform:uppercase; color:var(--text2); transition:color .3s;
  position:relative; padding-bottom:2px;
}
.primary-nav a::after {
  content:''; position:absolute; bottom:-2px; left:0; right:0; height:1px;
  background:var(--gold); transform:scaleX(0); transform-origin:left;
  transition:transform .35s var(--ease);
}
.primary-nav a:hover, .primary-nav a[aria-current="page"] { color:var(--text); }
.primary-nav a[aria-current="page"] { color:var(--gold); }
.primary-nav a[aria-current="page"]::after,
.primary-nav a:hover::after { transform:scaleX(1); }

/* DROPDOWN */
.has-sub { position:relative; }
.sub-menu {
  position:absolute; top:calc(100% + 14px); left:-20px;
  background:var(--bg2); border:1px solid var(--border);
  padding:10px 0; min-width:250px;
  opacity:0; pointer-events:none; transform:translateY(8px);
  transition:opacity .3s, transform .3s;
  z-index:200;
}
.has-sub:hover .sub-menu,
.has-sub:focus-within .sub-menu { opacity:1; pointer-events:all; transform:none; }
.sub-menu li a {
  display:block; padding:10px 22px; font-size:.76rem;
  color:var(--text2); text-transform:none; letter-spacing:.05em;
  transition:color .25s, padding-left .25s;
}
.sub-menu li a::after { display:none; }
.sub-menu li a:hover { color:var(--gold); padding-left:30px; }

.header-actions { display:flex; align-items:center; gap:16px; flex-shrink:0; }
.header-phone { font-size:.75rem; color:var(--text2); transition:color .3s; }
.header-phone:hover { color:var(--gold); }

.theme-btn {
  width:36px; height:36px; display:flex; align-items:center; justify-content:center;
  border:1.5px solid var(--border); color:var(--text2); font-size:1rem; cursor:pointer;
  transition:border-color .3s, color .3s, transform .5s;
}
.theme-btn:hover { border-color:var(--gold); color:var(--gold); transform:rotate(180deg); }

.nav-toggle {
  display:none; flex-direction:column; gap:6px; padding:6px; cursor:pointer;
}
.nav-toggle span { display:block; width:22px; height:1.5px; background:var(--text); transition:all .35s; }
.nav-toggle.is-open span:first-child { transform:rotate(45deg) translate(5.5px,5.5px); }
.nav-toggle.is-open span:last-child  { transform:rotate(-45deg) translate(5.5px,-5.5px); }

/* MOBILE NAV */
.mobile-nav {
  position:fixed; inset:0; background:var(--bg); z-index:490;
  display:flex; align-items:center; padding:80px 40px 60px;
  opacity:0; pointer-events:none;
  transform:translateX(-100%);
  transition:opacity .4s var(--ease), transform .4s var(--ease);
}
.mobile-nav.is-open { opacity:1; pointer-events:all; transform:none; }
.nav-overlay {
  position:fixed; inset:0; z-index:489; background:rgba(0,0,0,.5);
  opacity:0; pointer-events:none; transition:opacity .4s;
}
.nav-overlay.is-open { opacity:1; pointer-events:all; }
.mobile-nav-inner { width:100%; }
.mobile-nav ul { margin-bottom:48px; }
.mobile-nav li { border-bottom:1px solid var(--border2); }
.mobile-nav li a {
  display:block; padding:18px 0;
  font-family:var(--serif); font-size:clamp(1.8rem,6vw,3rem);
  font-weight:400; color:var(--text);
  transition:color .3s, padding-left .3s;
}
.mobile-nav li a:hover { color:var(--gold); padding-left:12px; }
.mobile-sub-heading span {
  display:block; padding:14px 0;
  font-size:.65rem; font-weight:600; letter-spacing:.22em;
  text-transform:uppercase; color:var(--gold);
}
.mobile-sub-item { border-bottom:none !important; }
.mobile-sub-item a {
  font-family:var(--sans) !important; font-size:.88rem !important;
  padding:8px 0 8px 16px !important; color:var(--text2) !important;
}
.mobile-sub-item a:hover { color:var(--gold) !important; padding-left:24px !important; }
.mobile-nav-footer { display:flex; flex-direction:column; gap:10px; }
.mobile-nav-footer a, .mobile-nav-footer span { font-size:.88rem; color:var(--text2); transition:color .3s; }
.mobile-nav-footer a:hover { color:var(--gold); }

/* REVEAL ANIMATIONS */
.reveal {
  opacity:0; transform:translateY(36px);
  transition:opacity .9s var(--ease), transform .9s var(--ease);
}
.reveal.visible { opacity:1; transform:none; }
.r2 { transition-delay:.12s; }
.r3 { transition-delay:.22s; }
.r4 { transition-delay:.32s; }
.r5 { transition-delay:.44s; }

/* PAGE HERO (inner pages) */
.page-hero {
  padding:calc(var(--nav-h) + 90px) 0 100px;
  background:var(--bg2);
  border-bottom:1px solid var(--border);
}
.page-hero .container { max-width:900px; }
.page-hero .eyebrow { display:block; margin-bottom:20px; }
.page-hero h1 { font-size:clamp(3rem,6.5vw,5.8rem); line-height:1; }
.page-hero p { margin-top:28px; font-size:1.05rem; line-height:1.78; color:var(--text2); max-width:640px; }

/* BREADCRUMB */
.breadcrumb { display:flex; align-items:center; gap:10px; font-size:.72rem; color:var(--text3); margin-bottom:24px; }
.breadcrumb a { color:var(--text3); transition:color .3s; }
.breadcrumb a:hover { color:var(--gold); }

/* ================================================================
   HOMEPAGE
================================================================ */

/* HERO */
.hero {
  position:relative; min-height:100vh;
  padding:calc(var(--nav-h) + 80px) 60px 120px;
  display:flex; flex-direction:column; justify-content:flex-end;
  overflow:hidden;
}
.hero-bg { position:absolute; inset:0; pointer-events:none; z-index:0; }
.hero-grid {
  position:absolute; inset:0;
  background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);
  background-size:80px 80px; opacity:.5;
}
.hero-glow {
  position:absolute; border-radius:50%; filter:blur(130px);
}
.hero-glow-1 {
  width:700px; height:700px; top:-150px; right:-100px;
  background:radial-gradient(circle,rgba(196,150,58,.12) 0%,transparent 65%);
  animation:glowPulse 9s ease-in-out infinite;
}
.hero-glow-2 {
  width:400px; height:400px; bottom:100px; left:15%;
  background:radial-gradient(circle,rgba(196,150,58,.07) 0%,transparent 65%);
  animation:glowPulse 13s ease-in-out infinite reverse;
}
@keyframes glowPulse {
  0%,100% { transform:translate(0,0) scale(1); }
  40%      { transform:translate(28px,-38px) scale(1.06); }
  70%      { transform:translate(-18px,18px) scale(.97); }
}
canvas.hero-canvas { position:absolute; inset:0; }

.hero-inner {
  position:relative; z-index:1;
  max-width:var(--max); margin:0 auto; width:100%;
}
.hero-tag {
  display:inline-flex; align-items:center; gap:10px; margin-bottom:50px;
  font-size:.72rem; font-weight:500; letter-spacing:.18em;
  text-transform:uppercase; color:var(--text2);
}
.hero-dot {
  width:8px; height:8px; background:var(--gold);
  border-radius:50%; flex-shrink:0;
  animation:dotPulse 2.8s ease-in-out infinite;
}
@keyframes dotPulse {
  0%,100% { box-shadow:0 0 0 0 rgba(196,150,58,.5); }
  50%      { box-shadow:0 0 0 8px rgba(196,150,58,0); }
}

.hero-heading {
  font-family:var(--serif);
  font-size:clamp(4.5rem,11vw,10.5rem);
  font-weight:400; line-height:.93; letter-spacing:-.025em;
  display:flex; flex-direction:column; margin-bottom:56px;
}
.hero-line {
  display:block; overflow:hidden;
  clip-path:inset(0 0 100% 0);
  transition:clip-path .9s var(--ease);
}
.hero-line.in { clip-path:inset(0 0 0% 0); }
.hero-line:nth-child(2) { transition-delay:.15s; }
.hero-line:nth-child(3) { transition-delay:.3s; }
.hero-line em { font-style:italic; color:var(--gold); }

.hero-row {
  display:grid; grid-template-columns:1fr 1fr;
  gap:60px; align-items:start;
}
.hero-body { font-size:1.05rem; line-height:1.8; color:var(--text2); font-weight:300; }
.hero-ctas { display:flex; flex-direction:column; gap:20px; padding-top:6px; }

.hero-stats {
  position:relative; z-index:1; display:flex; align-items:center; gap:48px;
  margin-top:80px; padding-top:36px; border-top:1px solid var(--border);
  max-width:var(--max); width:100%; margin-left:auto; margin-right:auto;
}
.stat-num {
  display:block; font-family:var(--serif); font-size:2.2rem;
  font-weight:400; color:var(--text); line-height:1; margin-bottom:6px;
}
.stat-label { font-size:.68rem; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:var(--text3); }
.stat-div { width:1px; height:50px; background:var(--border); flex-shrink:0; }

.hero-scroll {
  position:absolute; bottom:48px; right:60px;
  display:flex; align-items:center; gap:14px;
  writing-mode:vertical-rl; font-size:.65rem;
  letter-spacing:.2em; text-transform:uppercase; color:var(--text3);
}
.scroll-line {
  width:1px; height:60px;
  background:linear-gradient(to bottom,var(--gold),transparent);
  animation:scrollAnim 2s ease-in-out infinite;
}
@keyframes scrollAnim {
  0%   { transform:scaleY(0); transform-origin:top; opacity:0; }
  40%  { transform:scaleY(1); transform-origin:top; opacity:1; }
  60%  { transform:scaleY(1); transform-origin:bottom; }
  100% { transform:scaleY(0); transform-origin:bottom; opacity:0; }
}

/* TICKER */
.ticker-bar { background:var(--gold); overflow:hidden; padding:13px 0; }
.ticker-track { display:inline-flex; white-space:nowrap; animation:ticker 28s linear infinite; }
.ticker-track:hover { animation-play-state:paused; }
.ticker-item { padding:0 22px; font-size:.68rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:#000; }
.ticker-sep { padding:0 8px; opacity:.45; font-size:.68rem; color:#000; }
@keyframes ticker { from { transform:translateX(0); } to { transform:translateX(-33.333%); } }

/* INTRO */
.intro-grid { display:grid; grid-template-columns:1fr 1.2fr; gap:80px; align-items:start; }
.intro-grid h2 { font-size:clamp(2.4rem,4vw,3.8rem); margin-top:16px; }
.intro-grid p { font-size:.97rem; line-height:1.88; color:var(--text2); margin-bottom:20px; font-weight:300; }

/* SERVICE ROWS */
.service-list { border-top:1px solid var(--border); }
.service-row {
  display:grid; grid-template-columns:80px 1fr 48px;
  gap:40px; align-items:center; padding:38px 60px;
  border-bottom:1px solid var(--border);
  max-width:var(--max); margin:0 auto;
  transition:background .3s, padding-left .45s var(--ease);
  cursor:pointer; text-decoration:none; color:inherit;
}
.service-row:hover { background:var(--bg2); padding-left:80px; }
.sr-num { font-family:var(--serif); font-size:.8rem; color:var(--text3); letter-spacing:.1em; }
.sr-title { font-family:var(--serif); font-size:1.45rem; font-weight:400; color:var(--text); margin-bottom:10px; transition:color .3s; }
.service-row:hover .sr-title { color:var(--gold); }
.sr-desc { font-size:.88rem; line-height:1.72; color:var(--text2); max-width:600px; }
.sr-arrow { font-size:1.5rem; color:var(--text3); text-align:right; transition:color .3s, transform .3s; }
.service-row:hover .sr-arrow { color:var(--gold); transform:translate(4px,-4px); }

/* MEDIA LOGOS */
.media-grid { display:flex; flex-wrap:wrap; }
.media-grid span {
  padding:18px 26px; font-family:var(--serif); font-size:1.05rem;
  color:var(--text3); border:1px solid var(--border);
  margin:-1px 0 0 -1px; transition:color .3s, background .3s, transform .3s var(--ease);
  cursor:default;
}
.media-grid span:hover { color:var(--gold-light); background:var(--bg3); transform:translateY(-2px); }
.media-eyebrow { display:block; margin-bottom:32px; }

/* PROCESS CARDS */
.process-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:2px; margin-top:56px; }
.process-card { padding:60px 52px; background:var(--bg3); transition:background .3s; }
.process-card:hover { background:var(--bg4); }
.process-card-num {
  font-family:var(--serif); font-size:4.5rem; font-weight:700;
  color:var(--border); line-height:1; margin-bottom:28px;
  transition:color .5s;
}
.process-card:hover .process-card-num { color:var(--gold-dim); }
.process-card h3 { font-size:1.5rem; margin-bottom:16px; }
.process-card p { font-size:.9rem; line-height:1.82; color:var(--text2); }

/* WHY SECTION */
.why-wrap { display:grid; grid-template-columns:1fr 1.35fr; min-height:760px; }
.why-left {
  padding:110px 80px; background:var(--gold);
  display:flex; flex-direction:column; justify-content:flex-end;
  position:relative; overflow:hidden;
}
.why-left::before {
  content:'IR'; position:absolute; top:-30px; left:-15px;
  font-family:var(--serif); font-size:24rem; font-weight:700;
  color:rgba(0,0,0,.055); line-height:1; letter-spacing:-.06em; pointer-events:none;
}
.why-left .eyebrow { color:rgba(0,0,0,.5); margin-bottom:20px; }
.why-left h2 { font-size:clamp(2.2rem,3.8vw,3.8rem); color:#0a0a0a; line-height:1.08; margin-bottom:28px; }
.why-left h2 em { color:rgba(0,0,0,.55); }
.why-left p { font-size:.95rem; line-height:1.82; color:rgba(0,0,0,.65); max-width:380px; margin-bottom:40px; }
.why-left .btn--gold { background:#0a0a0a; color:var(--gold); align-self:flex-start; }
.why-left .btn--gold:hover { box-shadow:0 16px 48px rgba(0,0,0,.4); }
.why-right { padding:110px 80px; background:var(--bg2); display:flex; align-items:center; }
.pillars { width:100%; }
.pillar {
  display:flex; gap:24px; padding:36px 0;
  border-bottom:1px solid var(--border); align-items:flex-start;
  transition:padding-left .3s;
}
.pillar:last-child { border-bottom:none; }
.pillar:hover { padding-left:10px; }
.pillar-icon { font-size:1.3rem; color:var(--gold); flex-shrink:0; margin-top:3px; line-height:1; }
.pillar h4 { font-size:1.15rem; margin-bottom:8px; }
.pillar p { font-size:.86rem; line-height:1.8; color:var(--text2); }

/* FAQ */
.faq-layout { display:grid; grid-template-columns:1.45fr .55fr; gap:60px; align-items:start; margin-top:56px; }
.faq-item { border-bottom:1px solid var(--border); }
.faq-btn {
  width:100%; display:flex; align-items:flex-start; justify-content:space-between;
  gap:20px; padding:28px 0; text-align:left; background:none; border:none; cursor:pointer;
}
.faq-btn span:first-child {
  font-family:var(--serif); font-size:1.15rem; font-weight:400;
  color:var(--text); line-height:1.4; transition:color .3s;
}
.faq-btn:hover span:first-child { color:var(--gold); }
.faq-icon { font-size:1.4rem; color:var(--gold); flex-shrink:0; line-height:1; transition:transform .45s var(--ease); }
.faq-item.open .faq-icon { transform:rotate(45deg); }
.faq-answer { max-height:0; overflow:hidden; transition:max-height .5s var(--ease); }
.faq-item.open .faq-answer { max-height:300px; }
.faq-answer p { padding-bottom:28px; font-size:.9rem; line-height:1.82; color:var(--text2); }
.faq-cta-box { padding:48px 44px; background:var(--bg2); border:1px solid var(--border); position:sticky; top:100px; }
.faq-cta-box h3 { font-size:1.4rem; line-height:1.3; margin-bottom:16px; }
.faq-cta-box p { font-size:.88rem; line-height:1.78; color:var(--text2); margin-bottom:28px; }
.faq-cta-contacts { margin-top:24px; display:flex; flex-direction:column; gap:10px; }
.faq-cta-contacts a { font-size:.83rem; color:var(--text2); transition:color .3s; }
.faq-cta-contacts a:hover { color:var(--gold); }

/* FINAL CTA */
.final-cta { position:relative; overflow:hidden; }
.final-cta::before {
  content:''; position:absolute; top:50%; left:50%;
  transform:translate(-50%,-50%);
  width:900px; height:900px;
  background:radial-gradient(circle,rgba(196,150,58,.055) 0%,transparent 65%);
  pointer-events:none;
}
.final-cta .container { position:relative; }
.final-cta-inner { max-width:800px; }
.final-cta-inner .eyebrow { margin-bottom:28px; }
.final-cta-inner h2 { font-size:clamp(3rem,6vw,5.2rem); line-height:1.02; margin-bottom:32px; }
.final-cta-inner p { font-size:1rem; line-height:1.82; color:var(--text2); margin-bottom:48px; max-width:560px; }
.final-cta-btns { display:flex; align-items:center; gap:24px; flex-wrap:wrap; }

/* POSTS / BLOG */
.posts-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; }
.post-card { background:var(--bg2); transition:background .3s; }
.post-card:hover { background:var(--bg3); }
.post-thumb { overflow:hidden; aspect-ratio:16/9; }
.post-thumb img { width:100%; height:100%; object-fit:cover; transition:transform .5s var(--ease); }
.post-card:hover .post-thumb img { transform:scale(1.04); }
.post-body { padding:36px; }
.post-cat { font-size:.65rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); display:block; margin-bottom:10px; }
.post-date { font-size:.73rem; color:var(--text3); display:block; margin-bottom:12px; }
.post-title { font-size:1.25rem; line-height:1.3; margin-bottom:14px; }
.post-title a { color:var(--text); transition:color .3s; }
.post-title a:hover { color:var(--gold); }
.post-excerpt { font-size:.87rem; line-height:1.75; color:var(--text2); margin-bottom:20px; }

/* ================================================================
   ABOUT PAGE
================================================================ */
.story-grid { display:grid; grid-template-columns:1fr 1.3fr; gap:100px; align-items:start; }
.story-left { position:sticky; top:110px; }
.story-left h2 { font-size:clamp(2.2rem,3.5vw,3.5rem); margin:16px 0 28px; }
.story-quote {
  font-family:var(--serif); font-style:italic; font-size:1.15rem;
  color:var(--text2); line-height:1.65; border-left:2px solid var(--gold);
  padding-left:24px; margin-top:40px;
}
.story-right p { font-size:.97rem; line-height:1.9; color:var(--text2); margin-bottom:22px; font-weight:300; }

.commitments-intro h2 { font-size:clamp(2.2rem,4vw,3.8rem); margin-top:16px; line-height:1.05; }
.commitments-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; }
.commit-card {
  background:var(--bg3); padding:52px 44px;
  transition:background .3s; position:relative; overflow:hidden;
}
.commit-card::after {
  content:''; position:absolute; bottom:0; left:0;
  width:100%; height:2px;
  background:linear-gradient(to right,var(--gold),transparent);
  transform:scaleX(0); transform-origin:left; transition:transform .4s var(--ease);
}
.commit-card:hover { background:var(--bg4); }
.commit-card:hover::after { transform:scaleX(1); }
.commit-num { font-family:var(--serif); font-size:.75rem; color:var(--text3); letter-spacing:.15em; margin-bottom:28px; }
.commit-card h3 { font-size:1.35rem; margin-bottom:16px; }
.commit-card p { font-size:.88rem; line-height:1.82; color:var(--text2); }

.numbers-band { padding:100px 0; background:var(--gold); }
.numbers-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; }
.number-card { padding:60px 52px; background:rgba(0,0,0,.04); transition:background .3s; }
.number-card:hover { background:rgba(0,0,0,.09); }
.number-big { font-family:var(--serif); font-size:clamp(3.5rem,6vw,5.5rem); font-weight:400; color:#0a0a0a; line-height:1; margin-bottom:12px; }
.number-desc { font-size:.78rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:rgba(0,0,0,.6); }

.serve-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:2px; margin-top:56px; }
.serve-card {
  padding:52px 48px; background:var(--bg2);
  border-top:2px solid transparent; transition:border-color .3s, background .3s;
}
.serve-card:hover { border-top-color:var(--gold); background:var(--bg3); }
.serve-card h3 { font-size:1.5rem; margin-bottom:16px; }
.serve-card p { font-size:.88rem; line-height:1.82; color:var(--text2); }

.about-cta-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:80px; align-items:center; }
.about-cta-grid h2 { font-size:clamp(2.4rem,4vw,4rem); line-height:1.08; }
.about-cta-grid p { font-size:.95rem; line-height:1.82; color:var(--text2); margin-top:20px; }
.about-cta-right { display:flex; flex-direction:column; gap:16px; align-items:flex-start; }
.cline { font-size:.88rem; color:var(--text2); transition:color .3s; }
.cline:hover { color:var(--gold); }
.cline--muted { color:var(--text3) !important; pointer-events:none; }

/* ================================================================
   SERVICES PAGE
================================================================ */
.services-intro-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.services-intro-grid h2 { font-size:clamp(2.2rem,4vw,3.8rem); margin-top:16px; }
.services-intro-grid p { font-size:.97rem; line-height:1.88; color:var(--text2); margin-bottom:16px; font-weight:300; }

.svc-block { padding:120px 0; border-top:1px solid var(--border); }
.svc-block:nth-child(odd)  { background:var(--bg2); }
.svc-block:nth-child(even) { background:var(--bg);  }
.svc-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:80px; align-items:start; }
.svc-grid.rev { direction:rtl; }
.svc-grid.rev > * { direction:ltr; }
.svc-left { position:sticky; top:100px; }
.svc-big-num {
  font-family:var(--serif); font-size:6rem; font-weight:700;
  color:var(--border); line-height:.85; margin-bottom:16px;
  display:block; transition:color .5s;
}
.svc-block:hover .svc-big-num { color:var(--gold-dim); }
.svc-left h2 { font-size:clamp(2rem,3.2vw,3.2rem); line-height:1.08; margin-bottom:20px; }
.svc-lead { font-size:.95rem; line-height:1.8; color:var(--text2); margin-bottom:32px; }
.svc-right p { font-size:.95rem; line-height:1.9; color:var(--text2); margin-bottom:20px; font-weight:300; }
.svc-includes { margin-top:40px; padding-top:32px; border-top:1px solid var(--border); }
.svc-includes h4 { font-family:var(--serif); font-size:.9rem; font-weight:400; color:var(--text); margin-bottom:16px; }
.tag-cloud { display:flex; flex-wrap:wrap; gap:10px; margin-top:12px; }
.tag {
  padding:8px 16px; border:1px solid var(--border);
  font-size:.74rem; font-weight:500; letter-spacing:.1em;
  text-transform:uppercase; color:var(--text2);
  transition:border-color .3s, color .3s;
}
.tag:hover { border-color:var(--gold); color:var(--gold); }

.process-rows { max-width:880px; }
.proc-row {
  display:grid; grid-template-columns:80px 1fr; gap:40px;
  padding:52px 0; border-bottom:1px solid var(--border); align-items:start;
}
.proc-row:first-child { border-top:1px solid var(--border); }
.proc-num { font-family:var(--serif); font-size:2.5rem; font-weight:400; color:var(--gold); line-height:1; }
.proc-row h3 { font-size:1.5rem; margin-bottom:14px; }
.proc-row p { font-size:.9rem; line-height:1.85; color:var(--text2); }

.svc-cta-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.svc-cta-grid h2 { font-size:clamp(2.4rem,4vw,4rem); line-height:1.08; margin-top:16px; margin-bottom:24px; }
.svc-cta-grid > div:first-child p { font-size:.95rem; line-height:1.82; color:var(--text2); margin-bottom:36px; }
.contact-box { background:var(--bg3); border:1px solid var(--border); padding:48px 44px; }
.contact-box h4 { font-size:1.3rem; margin-bottom:24px; }
.contact-row-item { display:flex; align-items:center; gap:14px; padding:16px 0; border-bottom:1px solid var(--border); }
.contact-row-item:last-child { border-bottom:none; }
.cri-icon { font-size:1rem; color:var(--gold); flex-shrink:0; }
.cri-label { font-size:.65rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--text3); display:block; margin-bottom:3px; }
.cri-val { font-size:.9rem; color:var(--text2); }

/* ================================================================
   CONTACT PAGE
================================================================ */
.contact-split { display:grid; grid-template-columns:1fr 1fr; min-height:calc(100vh - var(--nav-h)); }
.contact-panel-left {
  background:var(--gold); padding:120px 80px;
  display:flex; flex-direction:column; justify-content:space-between;
  position:sticky; top:var(--nav-h); height:calc(100vh - var(--nav-h)); overflow:hidden;
}
.contact-panel-left::before {
  content:'ASH'; position:absolute; bottom:-30px; right:-50px;
  font-family:var(--serif); font-size:22rem; font-weight:700;
  color:rgba(0,0,0,.055); line-height:1; letter-spacing:-.07em; pointer-events:none;
}
.contact-panel-left .eyebrow { color:rgba(0,0,0,.5); margin-bottom:20px; display:block; }
.contact-panel-left h1 { font-size:clamp(2.4rem,4.5vw,4.2rem); color:#0a0a0a; line-height:1.04; }
.contact-panel-left h1 em { font-style:italic; color:rgba(0,0,0,.5); }
.contact-panel-left .intro-p { font-size:.95rem; line-height:1.82; color:rgba(0,0,0,.65); max-width:380px; margin-top:24px; }
.cpl-items { position:relative; z-index:1; }
.cpl-item { padding:22px 0; border-top:1px solid rgba(0,0,0,.12); }
.cpl-item:last-child { border-bottom:1px solid rgba(0,0,0,.12); }
.cpl-label { font-size:.65rem; font-weight:600; letter-spacing:.22em; text-transform:uppercase; color:rgba(0,0,0,.5); margin-bottom:5px; display:block; }
.cpl-value { font-size:1rem; color:#0a0a0a; }
a .cpl-value { transition:color .3s; }
a:hover .cpl-value { color:rgba(0,0,0,.6); }

.contact-panel-right { background:var(--bg2); padding:120px 80px; overflow-y:auto; }
.contact-panel-right h2 { font-size:clamp(2rem,3.2vw,3rem); line-height:1.1; margin-bottom:12px; }
.contact-panel-right > p { font-size:.9rem; line-height:1.82; color:var(--text2); margin-bottom:52px; }

.cform { display:flex; flex-direction:column; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.field { display:flex; flex-direction:column; gap:8px; margin-bottom:20px; }
.field label { font-size:.68rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--text2); }
.field input,.field textarea,.field select {
  background:var(--bg3); border:1.5px solid var(--border);
  color:var(--text); font-family:var(--sans); font-size:.95rem; font-weight:300;
  padding:15px 18px; width:100%; transition:border-color .3s, background .3s;
  outline:none; resize:none; -webkit-appearance:none; border-radius:0;
}
.field input::placeholder,.field textarea::placeholder { color:var(--text3); }
.field input:focus,.field textarea:focus,.field select:focus {
  border-color:var(--gold); background:var(--bg4);
  box-shadow:0 0 0 3px rgba(196,150,58,.1);
}
.field textarea { height:150px; }
.field-error { font-size:.72rem; color:#e06060; display:none; }
.field.has-error input,.field.has-error textarea,.field.has-error select { border-color:#e06060; }
.field.has-error .field-error { display:block; }
.form-note { font-size:.78rem; color:var(--text3); line-height:1.68; margin-bottom:32px; }
.form-note strong { color:var(--text2); font-weight:500; }
.form-btns { display:flex; align-items:center; gap:24px; flex-wrap:wrap; }
.form-or { font-size:.75rem; color:var(--text3); }
.form-success {
  display:none; align-items:center; gap:12px;
  padding:20px 24px; background:rgba(60,140,80,.12);
  border:1px solid rgba(60,140,80,.3); margin-top:24px; color:#70c080;
}
.form-success p { font-size:.9rem; }
.form-err-msg {
  display:none; padding:16px 20px;
  background:rgba(180,60,60,.1); border:1px solid rgba(180,60,60,.3);
  margin-top:20px; font-size:.88rem; color:#e08080;
}

.what-next { margin-top:80px; padding-top:56px; border-top:1px solid var(--border); }
.what-next h3 { font-size:1.35rem; margin-bottom:32px; }
.wn-step { display:flex; gap:20px; align-items:flex-start; padding:24px 0; border-bottom:1px solid var(--border); }
.wn-step:last-child { border-bottom:none; }
.wn-num { font-family:var(--serif); font-size:1rem; color:var(--gold); flex-shrink:0; font-style:italic; padding-top:2px; }
.wn-step p { font-size:.88rem; line-height:1.78; color:var(--text2); }
.wn-step strong { color:var(--text); font-weight:500; }

/* ================================================================
   BLOG / SINGLE POST
================================================================ */
.single-hero { padding:calc(var(--nav-h) + 80px) 0 70px; background:var(--bg2); border-bottom:1px solid var(--border); }
.single-meta { display:flex; align-items:center; gap:14px; font-size:.8rem; color:var(--text3); margin-top:20px; }
.single-meta .sep { color:var(--border); }
.single-feat { overflow:hidden; max-height:500px; }
.single-feat img { width:100%; height:500px; object-fit:cover; }
.single-layout { display:grid; grid-template-columns:1fr 300px; gap:80px; padding:80px 0; }
.single-content { font-size:.97rem; line-height:1.88; color:var(--text2); }
.single-content h2,.single-content h3 { color:var(--text); margin:40px 0 16px; }
.single-content p { margin-bottom:20px; }
.single-content a { color:var(--gold); border-bottom:1px solid rgba(196,150,58,.3); transition:border-color .3s; }
.single-content a:hover { border-color:var(--gold); }
.single-content ul,.single-content ol { margin:0 0 20px 24px; list-style:disc; }
.single-content li { margin-bottom:8px; }
.single-content blockquote { border-left:3px solid var(--gold); padding-left:24px; margin:32px 0; font-style:italic; font-family:var(--serif); font-size:1.15rem; color:var(--text2); }
.author-box { display:flex; gap:14px; align-items:center; padding:24px; background:var(--bg2); margin-bottom:24px; border:1px solid var(--border); }
.author-avatar { width:44px; height:44px; background:var(--gold); border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:var(--serif); font-size:1.15rem; color:#000; flex-shrink:0; }
.author-name { font-weight:600; font-size:.88rem; color:var(--text); }
.author-role { font-size:.78rem; color:var(--text3); margin-top:2px; }
.sidebar-cta-box { padding:32px 28px; background:var(--bg2); border:1px solid var(--border); margin-bottom:24px; }
.sidebar-cta-box .eyebrow { margin-bottom:12px; }
.sidebar-cta-box h4 { font-size:1.15rem; margin-bottom:12px; }
.sidebar-cta-box p { font-size:.86rem; line-height:1.75; color:var(--text2); margin-bottom:20px; }
.post-nav { border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.post-nav .container { display:grid; grid-template-columns:1fr 1fr; }
.pn-item { padding:36px 0; display:flex; flex-direction:column; gap:8px; }
.pn-next { padding-left:40px; border-left:1px solid var(--border); text-align:right; align-items:flex-end; }
.pn-prev { padding-right:40px; }
.pn-dir { font-size:.7rem; font-weight:600; letter-spacing:.15em; text-transform:uppercase; color:var(--gold); }
.pn-title { font-family:var(--serif); font-size:1.1rem; color:var(--text); transition:color .3s; }
.pn-item:hover .pn-title { color:var(--gold); }
.no-posts { padding:80px 0; }
.no-posts p { font-size:1rem; color:var(--text2); max-width:500px; margin-bottom:32px; }
.pagination { margin-top:56px; }
.pagination ul { display:flex; gap:8px; flex-wrap:wrap; }
.pagination .page-numbers { padding:10px 18px; border:1px solid var(--border); color:var(--text2); font-size:.8rem; transition:border-color .3s, color .3s; }
.pagination .page-numbers:hover,.pagination .current { border-color:var(--gold); color:var(--gold); }
.search-form { margin-bottom:60px; }
.search-form-inner { display:flex; gap:12px; max-width:600px; }
.search-form-inner input { flex:1; background:var(--bg3); border:1.5px solid var(--border); color:var(--text); font-family:var(--sans); font-size:.95rem; padding:14px 18px; outline:none; transition:border-color .3s; }
.search-form-inner input:focus { border-color:var(--gold); }

/* ================================================================
   LEGAL PAGES (privacy, terms, etc.)
================================================================ */
.legal-content { max-width:800px; }
.legal-content h2 { font-size:1.5rem; margin:40px 0 16px; }
.legal-content h3 { font-size:1.2rem; margin:28px 0 12px; }
.legal-content p { font-size:.95rem; line-height:1.85; color:var(--text2); margin-bottom:18px; }
.legal-content ul { margin:0 0 18px 24px; list-style:disc; }
.legal-content li { font-size:.95rem; line-height:1.8; color:var(--text2); margin-bottom:8px; }
.legal-content a { color:var(--gold); border-bottom:1px solid rgba(196,150,58,.3); transition:border-color .3s; }
.legal-content a:hover { border-color:var(--gold); }
.legal-date { display:inline-block; margin-bottom:40px; font-size:.8rem; color:var(--text3); letter-spacing:.08em; }

/* ================================================================
   FOOTER
================================================================ */
.site-footer { background:var(--bg2); border-top:1px solid var(--border); padding-top:80px; }
.footer-inner { max-width:var(--max); margin:0 auto; padding:0 60px; }
.footer-top { display:grid; grid-template-columns:1.5fr 1.5fr; gap:80px; padding-bottom:60px; border-bottom:1px solid var(--border); }
.footer-logo { font-family:var(--serif); font-size:2rem; font-weight:700; letter-spacing:.1em; display:inline-block; margin-bottom:20px; color:var(--text); transition:color .3s; }
.footer-logo:hover { color:var(--gold-light); }
.footer-brand p { font-size:.88rem; line-height:1.78; color:var(--text2); max-width:340px; margin-bottom:28px; }
.footer-contact-list { display:flex; flex-direction:column; gap:8px; }
.footer-contact-list a,.footer-contact-list span { font-size:.84rem; color:var(--text2); transition:color .3s; }
.footer-contact-list a:hover { color:var(--gold); }
.footer-links { display:grid; grid-template-columns:repeat(3,1fr); gap:40px; }
.footer-col { display:flex; flex-direction:column; gap:10px; }
.footer-col h5 { font-size:.65rem; font-weight:600; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); margin-bottom:8px; }
.footer-col a { font-size:.83rem; color:var(--text2); transition:color .3s, padding-left .25s; }
.footer-col a:hover { color:var(--text); padding-left:4px; }
.footer-bottom { display:flex; align-items:center; justify-content:space-between; padding:28px 0; flex-wrap:wrap; gap:20px; }
.footer-bottom p { font-size:.75rem; color:var(--text3); }
.footer-bottom p a { color:var(--gold-dim); transition:color .3s; }
.footer-bottom p a:hover { color:var(--gold); }
.footer-legal { display:flex; gap:22px; flex-wrap:wrap; }
.footer-legal a { font-size:.72rem; color:var(--text3); transition:color .3s; }
.footer-legal a:hover { color:var(--gold); }

/* BACK TO TOP */
.back-to-top {
  position:fixed; bottom:40px; right:40px;
  width:44px; height:44px; background:var(--gold); color:#000;
  display:flex; align-items:center; justify-content:center;
  z-index:100; opacity:0; transform:translateY(10px); cursor:pointer;
  transition:opacity .35s, transform .35s, background .3s;
}
.back-to-top.show { opacity:1; transform:none; }
.back-to-top:hover { background:var(--gold-light); }

/* ================================================================
   RESPONSIVE
================================================================ */
@media (max-width:1200px) {
  .container { padding:0 40px; }
  .header-inner { padding:0 40px; }
  .footer-inner { padding:0 40px; }
}
@media (max-width:1024px) {
  .primary-nav,.header-phone,.btn--sm { display:none; }
  .nav-toggle { display:flex; }
  .header-inner { padding:0 32px; }
  .container { padding:0 32px; }
  .footer-inner { padding:0 32px; }
  .section { padding:90px 0; }
  .hero { padding:140px 32px 90px; }
  .hero-row { grid-template-columns:1fr; gap:36px; }
  .hero-scroll { display:none; }
  .hero-stats { flex-direction:row; flex-wrap:wrap; gap:32px; }
  .intro-grid { grid-template-columns:1fr; gap:40px; }
  .service-row { grid-template-columns:60px 1fr 36px; padding:32px; }
  .service-row:hover { padding-left:44px; }
  .process-grid { grid-template-columns:1fr; }
  .why-wrap { grid-template-columns:1fr; }
  .why-left { min-height:500px; padding:80px 40px; }
  .why-right { padding:80px 40px; }
  .faq-layout { grid-template-columns:1fr; }
  .faq-cta-box { position:static; }
  .posts-grid { grid-template-columns:repeat(2,1fr); }
  .story-grid { grid-template-columns:1fr; gap:48px; }
  .story-left { position:static; }
  .commitments-grid { grid-template-columns:1fr; }
  .numbers-grid { grid-template-columns:1fr 1fr; }
  .serve-grid { grid-template-columns:1fr; }
  .about-cta-grid { grid-template-columns:1fr; gap:40px; }
  .services-intro-grid { grid-template-columns:1fr; gap:40px; }
  .svc-grid { grid-template-columns:1fr; }
  .svc-grid.rev { direction:ltr; }
  .svc-left { position:static; }
  .svc-cta-grid { grid-template-columns:1fr; gap:40px; }
  .contact-split { grid-template-columns:1fr; }
  .contact-panel-left { position:static; height:auto; padding:80px 40px; }
  .contact-panel-right { padding:80px 40px; }
  .footer-top { grid-template-columns:1fr; gap:48px; }
  .footer-links { grid-template-columns:repeat(3,1fr); }
  .single-layout { grid-template-columns:1fr; }
}
@media (max-width:640px) {
  .container { padding:0 20px; }
  .header-inner { padding:0 20px; }
  .footer-inner { padding:0 20px; }
  .section { padding:70px 0; }
  .hero { padding:120px 20px 70px; }
  .hero-stats { flex-direction:column; gap:20px; }
  .stat-div { display:none; }
  .service-row { padding:24px 20px; grid-template-columns:40px 1fr 28px; }
  .media-grid span { padding:14px 16px; font-size:.9rem; }
  .process-card { padding:40px 28px; }
  .commit-card,.serve-card { padding:36px 28px; }
  .number-card { padding:40px 28px; }
  .numbers-grid { grid-template-columns:1fr; }
  .faq-cta-box { padding:36px 28px; }
  .footer-links { grid-template-columns:1fr 1fr; }
  .footer-bottom { flex-direction:column; align-items:flex-start; }
  .footer-legal { gap:14px; }
  .posts-grid { grid-template-columns:1fr; }
  .form-row { grid-template-columns:1fr; }
  .contact-panel-left { padding:70px 20px; }
  .contact-panel-right { padding:60px 20px; }
  .why-left,.why-right { padding:70px 28px; }
  .proc-row { grid-template-columns:52px 1fr; gap:20px; }
  .back-to-top { bottom:20px; right:20px; }
  .contact-box { padding:36px 28px; }
  @media (prefers-reduced-motion:reduce) {
    *,*::before,*::after { animation-duration:.01ms !important; transition-duration:.01ms !important; }
    .reveal { opacity:1; transform:none; }
    .hero-line { clip-path:none; }
  }
}

/* ================================================================
   BLOG SIDEBAR + SINGLE POST EXTRAS
================================================================ */
.single-sidebar {}
.post-tags-sidebar { display:flex; flex-wrap:wrap; gap:8px; padding:24px 0; }
.post-tags-sidebar .eyebrow { display:block; width:100%; margin-bottom:8px; }
.post-tags-sidebar a {
  font-size:.74rem; padding:6px 14px; border:1px solid var(--border);
  color:var(--text2); transition:border-color .3s, color .3s;
}
.post-tags-sidebar a:hover { border-color:var(--gold); color:var(--gold); }

/* SEARCH FORM */
.search-form { margin-bottom:60px; }
.search-form-inner { display:flex; gap:0; max-width:600px; }
.search-form-inner input {
  flex:1; background:var(--bg3); border:1.5px solid var(--border);
  border-right:none; color:var(--text); font-family:var(--sans);
  font-size:.95rem; padding:14px 18px; outline:none;
  transition:border-color .3s;
}
.search-form-inner input:focus { border-color:var(--gold); }
.search-form-inner .btn { border-radius:0; }

/* COMMIT NUM (about page) */
.commit-num {
  font-family:var(--serif); font-size:.75rem; color:var(--text3);
  letter-spacing:.15em; margin-bottom:28px;
}

/* COMMITMENTS INTRO TOP MARGIN */
.commitments-intro { max-width:640px; margin-bottom:64px; }

/* SINGLE SIDEBAR */
@media (min-width:1025px) {
  .single-sidebar { position:sticky; top:100px; }
}

/* FORM SELECT ARROW (cross browser) */
.field select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238A8070' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  padding-right: 44px;
  cursor: pointer;
}
[data-theme="light"] .field select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235A5045' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
}

/* LIGHT MODE NAV */
[data-theme="light"] .site-header.is-scrolled { background:var(--bg-l); }
[data-theme="light"] .mobile-nav { background:var(--bg-l); }
[data-theme="light"] .sub-menu { background:var(--bg2-l); }
[data-theme="light"] .nav-toggle span { background:var(--text-l); }

/* LIGHT MODE WHY-LEFT stays gold regardless */
.why-left { background:var(--gold) !important; }

/* HERO CANVAS position */
.hero-canvas { position:absolute; inset:0; width:100%; height:100%; }

/* SMOOTH TRANSITIONS FOR THEME SWITCH */
body, .site-header, .mobile-nav, .sub-menu,
.post-card, .process-card, .commit-card, .serve-card,
.contact-panel-left, .contact-panel-right,
.faq-cta-box, .sidebar-cta-box, .author-box,
.contact-box, .svc-includes, .field input,
.field textarea, .field select,
.site-footer, .footer-inner {
  transition: background .4s, color .4s, border-color .4s;
}

/* BACK TO TOP VISIBILITY */
.back-to-top { display:flex; }

/* WHY SECTION NO EXTRA PADDING */
.why-section { padding:0 !important; }
