/* ============================================================
   CROWN AURUM LTD - STYLESHEET v3
   Palette: Warm Slate + Ivory + Antique Bronze
   A softer, deeply professional institutional tone.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400;1,500&family=Inter:wght@300;400;500&display=swap');

:root {
  /* -- SOFT HERITAGE PALETTE --------------------------------
     Ivory paper, warm charcoal, muted antique bronze.
     This brings the site closer to the first draft while keeping
     the institutional tone required for a B2B gold business.
  --------------------------------------------------------- */

  /* Backgrounds - warm paper layers instead of dark panels */
  --bg:      #FFF9EF;   /* primary page background */
  --bg2:     #F5EBDC;   /* soft section background */
  --bg3:     #EDE0CA;   /* elevated / CTA surface */
  --bg4:     #E3D2B9;   /* hover states */

  /* Accent - antique bronze, not bright gold */
  --bronze:      #9B7640;
  --bronze2:     #B48B52;
  --bronze-pale: #7A5C2E;
  --bronze-ghost:rgba(155,118,64,0.09);

  /* Text */
  --wh:    #211E19;   /* heading text */
  --off:   #2E2A24;   /* body text */
  --muted: #6F675B;   /* secondary text */
  --faint: #A0927E;   /* quiet text */

  /* Borders */
  --line:  rgba(155,118,64,0.24);
  --line2: rgba(55,43,28,0.12);

  /* Typography */
  --serif: 'Cormorant Garamond', Georgia, serif;
  --sans:  'Inter', system-ui, -apple-system, sans-serif;

  /* Layout */
  --max:   1160px;
  --gap:   clamp(1.5rem, 5vw, 3.5rem);
  --sec:   clamp(4.5rem, 8vw, 8rem);
  --nav-h: 86px;
  --ease:  cubic-bezier(.4,0,.2,1);
}

/* -- RESET -- */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; scroll-padding-top:var(--nav-h); font-size:16px; }
body {
  background: var(--bg);
  color: var(--off);
  font-family: var(--sans);
  font-weight: 300;
  line-height: 1.78;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}
img { display:block; max-width:100%; height:auto; }
a   { color:inherit; text-decoration:none; }
ul  { list-style:none; }
button { cursor:pointer; border:none; background:none; font:inherit; color:inherit; }

/* -- TYPOGRAPHY -- */
.display {
  font-family: var(--serif);
  font-weight: 300;
  line-height: 1.08;
  letter-spacing: -0.01em;
}
h1.display { font-size: clamp(2.8rem, 6vw, 5.5rem); }
h2.display { font-size: clamp(2rem,   4vw, 3.6rem);  }
.mobile-break { display:none; }
.phone-break { display:none; }

.page-intro {
  color:var(--muted);
  font-size:.95rem;
  max-width:55ch;
  overflow-wrap:normal;
}

.eyebrow {
  font-size: 0.64rem;
  font-weight: 500;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--bronze);
}

/* -- LAYOUT -- */
.container {
  width: 100%;
  max-width: var(--max);
  margin: 0 auto;
  padding: 0 var(--gap);
}
.section { padding: var(--sec) 0; }

.label-grid {
  display: grid;
  grid-template-columns: 195px 1fr;
  gap: 0 4.5rem;
  align-items: start;
}
@media(max-width:800px){ .label-grid { grid-template-columns:1fr; gap:1.5rem 0; } }

/* -- ACCENT RULES -- */
.bronze-rule {
  height: 1px;
  width: 0;
  background: linear-gradient(90deg, var(--bronze), transparent);
  margin: 2.5rem 0;
  transition: width 1.3s var(--ease);
}
.bronze-rule.drawn { width: 100%; }
.bronze-short { width: 44px; height: 1px; background: var(--bronze); margin: 1.75rem 0; }

/* -- NAVIGATION -- */
.nav {
  position: fixed; top:0; left:0; right:0; z-index:200;
  display: flex; align-items:center; justify-content:space-between;
  min-height: var(--nav-h);
  padding: 1.1rem var(--gap);
  background: rgba(255,249,239,0.96);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border-bottom: 1px solid var(--line);
  transition: background 0.3s var(--ease);
}
.nav-logo {
  line-height:1;
  display:inline-flex;
  align-items:center;
  gap:.78rem;
  min-width:0;
}
.nav-logo-img {
  width:46px;
  height:46px;
  object-fit:contain;
  border-radius:50%;
  flex:0 0 auto;
  box-shadow:none;
}
.nav-logo-text {
  display:block;
  min-width:0;
}
.nav-logo-mark {
  font-family: var(--serif);
  font-size: 1.35rem; font-weight: 400;
  letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--wh);
}
.nav-logo-sub {
  display: block;
  font-size: 0.53rem; font-weight: 400;
  letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--bronze); margin-top: 0.22rem;
}

.nav-links { display:flex; align-items:center; gap:clamp(.8rem,1.25vw,1.45rem); }
.nav-links a {
  font-size: 0.62rem; font-weight: 400;
  letter-spacing: 0.13em; text-transform: uppercase;
  color: var(--muted);
  position: relative; transition: color 0.2s;
}
.nav-links a::after {
  content:''; position:absolute; bottom:-2px; left:0;
  width:0; height:1px; background:var(--bronze);
  transition: width 0.25s var(--ease);
}
.nav-links a:hover, .nav-links a.active { color:var(--wh); }
.nav-links a:hover::after, .nav-links a.active::after { width:100%; }

.nav-cta {
  padding: 0.52rem 1.05rem !important;
  border: 1px solid rgba(168,124,79,0.45) !important;
  color: var(--bronze) !important;
  transition: all 0.2s !important;
}
.nav-cta:hover {
  background: var(--bronze) !important;
  color: var(--bg) !important;
  border-color: var(--bronze) !important;
}
.nav-cta::after { display:none !important; }

.burger {
  display:none;
  width:44px;
  height:44px;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:6px;
  border:1px solid var(--line2);
  background:rgba(255,255,255,.28);
}
.burger span { display:block; width:22px; height:2px; background:var(--off); }

.mobile-menu {
  display:none; position:fixed; inset:0;
  background:var(--bg); z-index:300;
  flex-direction:column; align-items:center; justify-content:center; gap:2.5rem;
  overflow:auto;
  padding:calc(var(--nav-h) + 1.25rem) 1.35rem 2rem;
}
.mobile-menu.open { display:flex; }
.mobile-menu a {
  font-family:var(--serif); font-size:2.2rem; font-weight:300;
  color:var(--off); transition:color 0.2s;
}
.mobile-menu a:hover { color:var(--bronze); }
.mobile-close {
  position:fixed; top:1.5rem; right:var(--gap);
  font-size:1.4rem; color:var(--muted); cursor:pointer; transition:color 0.2s;
}
.mobile-close:hover { color:var(--wh); }
@media(max-width:920px){ .nav-links { display:none; } .burger { display:flex; } }

/* -- BUTTONS -- */
.btn {
  display: inline-flex; align-items:center; gap:0.5rem;
  font-size: 0.68rem; font-weight: 500;
  letter-spacing: 0.16em; text-transform: uppercase;
  padding: 0.88rem 2.1rem;
  transition: all 0.2s var(--ease); cursor:pointer; white-space:nowrap;
}
.btn-bronze {
  background: var(--bronze); color: #1a1410; border:none;
}
.btn-bronze:hover { background: var(--bronze2); }

.btn-outline {
  border: 1px solid rgba(168,124,79,0.38);
  color: var(--bronze); background:none;
}
.btn-outline:hover { background:var(--bronze-ghost); border-color:var(--bronze); }

.btn-light {
  border: 1px solid rgba(244,241,236,0.25);
  color: var(--wh); background:none;
}
.btn-light:hover { background:rgba(244,241,236,0.06); border-color:rgba(244,241,236,0.5); }

/* -- HERO -- */
.hero {
  min-height: 100svh;
  display: flex; flex-direction:column; justify-content:center;
  padding: calc(var(--nav-h) + clamp(1.5rem, 4vh, 3rem)) var(--gap) clamp(3rem,6vh,5.5rem);
  position: relative; overflow:hidden;
}
.hero-bg {
  position: absolute; inset:0;
  background-size: cover; background-position: center 30%;
}
/* Warm ivory veil - softer than the previous dark cinematic overlay */
.hero-overlay {
  position: absolute; inset:0;
  background:
    linear-gradient(105deg,
      rgba(255,249,239,.96) 0%,
      rgba(255,249,239,.82) 50%,
      rgba(255,249,239,.34) 100%),
    linear-gradient(to top,
      rgba(255,249,239,.74) 0%,
      transparent 62%);
}
/* Subtle bronze warmth */
.hero-warmth {
  position: absolute; inset:0;
  background: radial-gradient(ellipse 70% 60% at 75% 45%,
    rgba(155,118,64,.08) 0%, transparent 68%);
}
.hero-vline { display:none; }

.hero-content { position:relative; z-index:2; max-width:850px; min-width:0; }
.hero-content.container { padding-left:0; padding-right:0; }
.hero-kicker { display:flex; align-items:center; gap:1rem; margin-bottom:1.35rem; }
.hero-kicker::before { content:''; width:32px; height:1px; background:var(--bronze); flex-shrink:0; }

.hero h1 { color:var(--wh); }
.hero h1.display { font-size:clamp(3rem,5.15vw,5.15rem); }
.hero h1 em { font-style:italic; color:var(--bronze-pale); }

.hero-lead {
  font-size: clamp(.93rem,1.45vw,1.1rem);
  color: rgba(46,42,36,.72);
  max-width: 50ch; margin:1.45rem 0 2.25rem;
  font-weight:300; line-height:1.85;
}
.hero-acts { display:flex; gap:1rem; flex-wrap:wrap; }

/* Scroll cue */
.scroll-cue {
  position:absolute; right:var(--gap); bottom:2.5rem; z-index:2;
  display:flex; flex-direction:column; align-items:center; gap:0.5rem;
}
.scroll-cue-label {
  font-size:.55rem; letter-spacing:.22em; text-transform:uppercase;
  color:rgba(168,124,79,.4); writing-mode:vertical-rl;
}
.scroll-bar { width:1px; height:50px; background:rgba(168,124,79,.12); position:relative; overflow:hidden; }
.scroll-bar::after {
  content:''; position:absolute; left:0; right:0; height:100%;
  background:var(--bronze);
  animation: scrollPulse 2.2s ease-in-out infinite;
}
@keyframes scrollPulse { 0%{top:-100%} 50%{top:0} 100%{top:100%} }

/* -- INTRO BAND -- */
.intro-band {
  background: var(--bg2);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.intro-band h2 {
  font-family:var(--serif); font-weight:300;
  font-size:clamp(1.9rem,3.8vw,3.2rem);
  color:var(--wh); line-height:1.1; margin:1rem 0;
}
.intro-band h2 em { font-style:italic; color:var(--bronze-pale); }
.intro-band p { color:var(--muted); font-size:.91rem; max-width:60ch; }
.intro-band p+p { margin-top:.85rem; }

/* -- SERVICES GRID -- */
.svc-grid {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:1px; background:var(--line2);
  border:1px solid var(--line2);
}
.svc-card {
  background:rgba(255,255,255,.44); padding:2.75rem 2.5rem;
  position:relative; transition:background 0.3s; overflow:hidden;
}
.svc-card::after {
  content:''; position:absolute; top:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg, var(--bronze), var(--bronze2));
  transform:scaleX(0); transform-origin:left;
  transition:transform 0.5s var(--ease);
}
.svc-card:hover { background:var(--bg2); }
.svc-card:hover::after { transform:scaleX(1); }

.svc-num {
  font-family:var(--serif); font-size:3.2rem; font-weight:300;
  color:rgba(168,124,79,.1);
  position:absolute; top:2rem; right:2rem; line-height:1;
}
.svc-icon { width:44px; height:44px; margin-bottom:1.6rem; color:var(--bronze); }
.svc-card h3 {
  font-family:var(--serif); font-weight:400; font-size:1.5rem;
  color:var(--wh); margin-bottom:.65rem; line-height:1.2;
}
.svc-card p { font-size:.84rem; color:var(--muted); line-height:1.75; }
.svc-link {
  display:inline-flex; align-items:center; gap:.45rem;
  margin-top:1.4rem; font-size:.62rem; letter-spacing:.18em;
  text-transform:uppercase; color:var(--bronze); transition:gap 0.2s;
}
.svc-card:hover .svc-link { gap:.8rem; }
@media(max-width:860px){ .svc-grid { grid-template-columns:1fr; } }
@media(max-width:860px) and (min-width:560px){ .svc-grid { grid-template-columns:1fr 1fr; } }

/* -- SPLIT PANEL -- */
.split { display:grid; grid-template-columns:1fr 1fr; min-height:480px; }
.split-img {
  background-size:cover; background-position:center;
  position:relative; overflow:hidden; min-height:360px;
}
/* Refined frame - thinner, warmer */
.split-img::before {
  content:''; position:absolute; inset:1.25rem; z-index:2;
  border:1px solid rgba(168,124,79,.18); pointer-events:none;
}
.split-img-ov { position:absolute; inset:0; background:rgba(255,249,239,.16); }
.split-txt {
  background:var(--bg2);
  padding:clamp(2.75rem,5vw,5.5rem);
  display:flex; flex-direction:column; justify-content:center;
}
.split-txt h2 {
  font-family:var(--serif); font-weight:300;
  font-size:clamp(1.75rem,2.8vw,2.65rem);
  color:var(--wh); line-height:1.1; margin:1rem 0 1.1rem;
}
.split-txt h2 em { font-style:italic; color:var(--bronze-pale); }
.split-txt p { color:var(--muted); font-size:.88rem; line-height:1.8; max-width:48ch; }
.split-txt p+p { margin-top:.8rem; }
@media(max-width:800px){ .split { grid-template-columns:1fr; } }

/* -- PILLARS -- */
.pillars {
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:1px; background:var(--line2);
}
.pillar {
  background:rgba(255,255,255,.36); padding:2.25rem 1.6rem;
  border-top:2px solid transparent;
  transition:border-color 0.3s, background 0.3s;
}
.pillar:hover { border-top-color:var(--bronze); background:rgba(255,255,255,.60); }
.pillar-icon { color:var(--bronze); margin-bottom:.9rem; }
.pillar h4 {
  font-size:.7rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--off); margin-bottom:.55rem;
}
.pillar p { font-size:.79rem; color:var(--muted); line-height:1.7; }
@media(max-width:800px){ .pillars { grid-template-columns:1fr 1fr; } }
@media(max-width:480px){ .pillars { grid-template-columns:1fr; } }

/* --- MARKET MODULE --- */
.market-section {
  background: var(--bg2);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.market-layout {
  display: grid;
  grid-template-columns: minmax(280px,.86fr) minmax(0,1.24fr);
  gap: clamp(2.2rem,5vw,5.5rem);
  align-items: center;
}
.market-copy p {
  color: var(--muted);
  font-size: .92rem;
  max-width: 54ch;
}
.price-quote-card {
  margin-top: 2.2rem;
  display: grid;
  grid-template-columns: 86px 1fr;
  gap: 1.35rem;
  align-items: center;
  max-width: 500px;
  padding: 1.6rem 1.7rem;
  background: rgba(255,255,255,.44);
  border: 1px solid var(--line2);
}
.gold-mark {
  width: 76px;
  aspect-ratio: 1;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--bronze);
  color: #17130f;
  font-weight: 600;
  font-size: 1.02rem;
}
.quote-label {
  display: block;
  margin-bottom: .2rem;
  font-size: .57rem;
  font-weight: 500;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--bronze);
}
.price-quote-card strong {
  display: block;
  font-size: clamp(1.8rem,3vw,2.65rem);
  line-height: 1.05;
  font-weight: 300;
  color: var(--wh);
  overflow-wrap: normal;
  white-space: nowrap;
}
.price-quote-card p {
  margin-top: .45rem;
  font-size: .77rem;
  line-height: 1.6;
  color: var(--muted);
}
.market-status {
  max-width: 500px;
  margin-top: 1.1rem;
  border: 1px solid var(--line2);
  background: rgba(255,255,255,.24);
}
.market-status div {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: .85rem 1rem;
  border-bottom: 1px solid var(--line2);
}
.market-status div:last-child { border-bottom: none; }
.market-status span {
  font-size: .56rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--bronze);
}
.market-status strong {
  font-size: .79rem;
  color: var(--off);
  font-weight: 400;
}
.chart-panel {
  padding: clamp(1.25rem,2.5vw,1.7rem);
  background: rgba(255,255,255,.38);
  border: 1px solid var(--line2);
  box-shadow: 0 24px 70px rgba(68,52,28,.10);
}
.chart-controls {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: .85rem;
  margin-bottom: 1rem;
}
.chart-controls label {
  display: flex;
  flex-direction: column;
  gap: .42rem;
  font-size: .68rem;
  font-weight: 600;
  color: var(--wh);
}
.chart-controls select {
  width: 100%;
  min-height: 48px;
  padding: .75rem 2.2rem .75rem .85rem;
  border: 1px solid var(--line);
  background: rgba(255,249,239,.72);
  color: var(--off);
  font-family: var(--sans);
  font-weight: 500;
  outline: none;
}
.chart-controls select:focus {
  border-color: var(--bronze);
}
.canvas-wrap {
  height: clamp(300px,36vw,440px);
  min-height: 300px;
  width: 100%;
  overflow: hidden;
  background: var(--bg);
}
.tradingview-chart,
#goldChart {
  display: block;
  width: 100%;
  height: 100%;
}
.local-area-chart {
  display: block;
  width: 100%;
  height: 100%;
}
.chart-loading,
.chart-error {
  height: 100%;
  display: grid;
  place-items: center;
  padding: 1.25rem;
  color: var(--muted);
  font-size: .86rem;
  text-align: center;
}
.chart-source-note {
  margin-top: .7rem;
  color: var(--muted);
  font-size: .72rem;
  line-height: 1.55;
}
@media(max-width:980px){
  .market-layout { grid-template-columns:1fr; }
}
@media(max-width:680px){
  .chart-controls { grid-template-columns:1fr 1fr; }
  .price-quote-card { grid-template-columns:64px 1fr; padding:1.25rem; }
  .gold-mark { width:58px; }
  .market-status div { flex-direction:column; gap:.15rem; }
}
@media(max-width:430px){
  .chart-controls { grid-template-columns:1fr; }
}

/* -- PROCESS BAND -- */
.proc-band {
  position:relative;
  background-size:cover; background-position:center;
  background-attachment:fixed;
}
/* Soft overlay for process imagery */
.proc-band-ov {
  position:absolute; inset:0;
  background:rgba(255,249,239,.90);
}
.proc-inner { position:relative; z-index:2; padding:var(--sec) 0; }

.steps { display:grid; grid-template-columns:1fr 1fr; gap:0; }
.step {
  padding:2.5rem 2.75rem;
  border-bottom:1px solid var(--line2);
  border-right:1px solid var(--line2);
  transition:background 0.3s;
}
.step:hover { background:rgba(168,124,79,.04); }
.step:nth-child(even) { border-right:none; }
.step:nth-last-child(-n+2) { border-bottom:none; }
.step-n {
  font-family:var(--serif); font-size:2.8rem; font-weight:300;
  color:rgba(122,92,46,.36); line-height:1; margin-bottom:1.1rem;
}
.step h3 { font-family:var(--serif); font-weight:400; font-size:1.3rem; color:var(--wh); margin-bottom:.45rem; }
.step p  { font-size:.83rem; color:var(--muted); line-height:1.75; }
@media(max-width:700px){ .steps { grid-template-columns:1fr; } .step { border-right:none; } }

.process-routes {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  border: 1px solid var(--line2);
  background: var(--line2);
  margin-top: 2.25rem;
}
.process-route {
  background: rgba(255,255,255,.42);
  padding: 2rem;
  transition: background .25s var(--ease);
}
.process-route:hover { background: var(--bg2); }
.process-route span {
  font-family: var(--serif);
  font-size: 2.65rem;
  line-height: 1;
  color: rgba(122,92,46,.50);
}
.process-route h3 {
  margin-top: 1.1rem;
  font-family: var(--serif);
  font-size: 1.45rem;
  font-weight: 400;
  line-height: 1.2;
  color: var(--wh);
}
.process-route p {
  margin-top: .65rem;
  font-size: .84rem;
  color: var(--muted);
  line-height: 1.75;
}
.process-route a {
  display: inline-block;
  margin-top: 1.1rem;
  font-size: .61rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--bronze);
}
@media(max-width:700px){ .process-routes { grid-template-columns:1fr; } }

/* Compact steps for trading page */
.compact-steps { grid-template-columns:1fr 1fr; }
.compact-steps .step { padding:2rem 2.25rem; }
.compact-steps .step-n { font-size:2.2rem; }
@media(max-width:700px){ .compact-steps { grid-template-columns:1fr; } }

/* -- NEWS -- */
.news-hdr {
  display:flex; justify-content:space-between; align-items:flex-end;
  margin-bottom:2.25rem; flex-wrap:wrap; gap:1rem;
}
.news-hdr h2 {
  font-family:var(--serif); font-weight:300;
  font-size:clamp(1.75rem,3vw,2.7rem); color:var(--wh); margin-top:.5rem;
}

.news-grid-home {
  display:grid; grid-template-columns:1.6fr 1fr 1fr;
  gap:1px; background:var(--line2);
  width:100%;
}
.news-grid-full {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:1px; background:var(--line2); margin-top:2.5rem;
  width:100%;
}
.news-card {
  background:rgba(255,255,255,.44); display:flex; flex-direction:column;
  cursor:pointer; transition:background 0.3s, transform .25s var(--ease);
  color:inherit;
  overflow:hidden;
  min-width:0;
}
.news-card:hover { background:var(--bg2); transform:translateY(-2px); }
.news-card:focus-visible {
  outline:2px solid rgba(155,118,64,.55);
  outline-offset:3px;
}

.news-thumb {
  height:195px; background:var(--bg3);
  position:relative; overflow:hidden;
}
.news-thumb img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.news-thumb::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(to bottom, transparent 40%, rgba(255,249,239,.82) 100%);
  pointer-events:none;
}
.news-card.feat .news-thumb { height:255px; }

.news-body { padding:1.6rem 1.85rem; flex:1; display:flex; flex-direction:column; }
.news-cat {
  font-size:.57rem; font-weight:500; letter-spacing:.22em;
  text-transform:uppercase; color:var(--bronze); margin-bottom:.6rem;
}
.news-card h3 {
  font-family:var(--serif); font-weight:400;
  font-size:1.08rem; color:var(--wh); line-height:1.26; margin-bottom:.6rem;
  overflow-wrap:break-word;
}
.news-card.feat h3 { font-size:1.5rem; }
.news-card p { font-size:.79rem; color:var(--muted); line-height:1.72; flex:1; overflow-wrap:break-word; }
.news-action {
  display:inline-flex;
  margin-top:1rem;
  font-size:.57rem;
  font-weight:500;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--bronze);
}
.news-date { font-size:.63rem; color:rgba(72,63,52,.58); margin-top:1rem; }

@media(max-width:860px){ .news-grid-home,.news-grid-full { grid-template-columns:1fr; } }
@media(max-width:860px) and (min-width:560px){ .news-grid-full { grid-template-columns:1fr 1fr; } }

/* -- CONTACT -- */
.contact-layout { display:grid; grid-template-columns:1fr 1.45fr; min-height:85vh; }
.c-left {
  background-size:cover; background-position:center;
  position:relative; padding:4.5rem var(--gap);
  display:flex; flex-direction:column; justify-content:flex-end;
}
.c-left-ov {
  position:absolute; inset:0;
  background:linear-gradient(to top,
    rgba(255,249,239,.92) 0%,
    rgba(255,249,239,.68) 60%,
    rgba(255,249,239,.32) 100%);
}
.c-left-content { position:relative; z-index:2; }
.c-left h2 {
  font-family:var(--serif); font-weight:300; font-size:2.2rem;
  color:var(--wh); margin:1rem 0 .7rem; line-height:1.1;
}
.c-left p { font-size:.85rem; color:rgba(46,42,36,.68); max-width:34ch; }
.c-contact-detail { margin-top:2.25rem; }
.c-contact-detail p { font-size:.77rem; color:var(--muted); line-height:2.1; }
.c-contact-detail a { color:var(--bronze); transition:color 0.2s; }
.c-contact-detail a:hover { color:var(--bronze2); }
.c-right {
  background:var(--bg2);
  padding:clamp(3rem,5vw,5rem) clamp(2rem,4vw,4rem);
  display:flex; flex-direction:column; justify-content:center;
}
@media(max-width:800px){ .contact-layout { grid-template-columns:1fr; } .c-left { min-height:300px; } }

/* Form */
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.1rem; }
.fg { display:flex; flex-direction:column; gap:.4rem; }
.fg.full { grid-column:1/-1; }
.fg label {
  font-size:.61rem; font-weight:500; letter-spacing:.18em;
  text-transform:uppercase; color:var(--muted);
}
.fg input,.fg select,.fg textarea {
  background:rgba(255,255,255,.52);
  border:1px solid var(--line2);
  padding:.8rem 1rem; color:var(--off);
  font-family:var(--sans); font-size:.87rem; font-weight:300;
  outline:none; transition:border-color 0.2s; -webkit-appearance:none;
}
.fg input:focus,.fg select:focus,.fg textarea:focus {
  border-color:rgba(168,124,79,.45);
}
.fg textarea { resize:vertical; min-height:105px; }
.fg select option { background:var(--bg3); }
.form-note {
  font-size:.67rem; color:rgba(72,63,52,.60);
  margin-top:.9rem; line-height:1.65; grid-column:1/-1;
}
.form-status {
  min-height:1.5rem; margin-top:1rem; font-size:.82rem; line-height:1.55;
  color:var(--muted);
}
.form-status.is-success { color:#5f7d42; }
.form-status.is-error { color:#9f4a3f; }
@media(max-width:560px){ .form-grid { grid-template-columns:1fr; } }

/* -- CTA BAND -- */
.cta-band {
  padding:var(--sec) 0;
  background:var(--bg3);
  border-top:1px solid var(--line2);
  text-align:center; position:relative; overflow:hidden;
}
.cta-band::before {
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse 55% 90% at 50% 50%,
    rgba(168,124,79,.06) 0%, transparent 70%);
  pointer-events:none;
}
.cta-band .inner { position:relative; z-index:1; }
.cta-band h2 {
  font-family:var(--serif); font-weight:300;
  font-size:clamp(1.9rem,3.8vw,3rem); color:var(--wh);
}
.cta-band p { color:var(--muted); max-width:48ch; margin:1.2rem auto 2.5rem; font-size:.92rem; }
.cta-acts { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }

/* -- ABOUT BANNER -- */
.about-banner {
  height:480px; background-size:cover; background-position:center;
  position:relative; overflow:hidden;
}
.about-banner::before {
  content:''; position:absolute; inset:1.5rem; z-index:2;
  border:1px solid rgba(168,124,79,.18); pointer-events:none;
}
.about-banner-ov { position:absolute; inset:0; background:rgba(255,249,239,.18); }
@media(max-width:700px){ .about-banner { height:300px; } }

@media(max-width:560px){
  html, body { width:100%; overflow-x:hidden; }
  .container { padding-left:1.35rem; padding-right:1.35rem; }
  .section { padding:clamp(3.25rem,14vw,4.5rem) 0; }
  .nav { min-height:78px; padding:.95rem 1.35rem; }
  .nav-logo { gap:.62rem; max-width:calc(100% - 68px); }
  .nav-logo-img { width:38px; height:38px; }
  .nav-logo-mark { font-size:1.05rem; letter-spacing:.08em; }
  .nav-logo-sub { font-size:.45rem; letter-spacing:.16em; }
  .burger {
    display:flex;
    position:fixed;
    top:17px;
    right:1.35rem;
    z-index:260;
    flex-shrink:0;
    background:rgba(255,249,239,.84);
  }
  .mobile-menu {
    align-items:flex-start;
    justify-content:flex-start;
    gap:1.15rem;
  }
  .mobile-menu a {
    width:100%;
    padding:.25rem 0;
    font-size:clamp(1.9rem,9vw,2.45rem);
    border-bottom:1px solid var(--line2);
  }
  .mobile-close {
    top:1.15rem;
    right:1.35rem;
  }
  h1.display { font-size:clamp(2.55rem,14vw,3.35rem); }
  h2.display { font-size:clamp(2.05rem,10vw,2.8rem); }
  .hero {
    min-height:auto;
    justify-content:flex-start;
    padding:calc(var(--nav-h) + 1.75rem) 1.35rem 2.35rem;
  }
  .hero-vline { display:none; }
  .hero h1.display {
    font-size:clamp(2.25rem,9.7vw,2.62rem);
    line-height:1.08;
    max-width:100%;
  }
  .mobile-break { display:inline; }
  .phone-break { display:inline; }
  .hero-kicker { margin-bottom:1rem; }
  .hero-lead { max-width:32ch; margin:1rem 0 1.45rem; line-height:1.64; }
  .hero-acts { max-width:31ch; }
  .hero-acts .btn { width:100%; justify-content:center; }
  .scroll-cue { display:none; }
  .price-quote-card strong { font-size:clamp(1.75rem,10vw,2.35rem); }
  .chart-panel { padding:1rem; }
  .canvas-wrap { height:300px; min-height:300px; }
  .chart-controls select { min-height:46px; }
  .market-status { margin-bottom:.5rem; }
  .news-hdr { align-items:flex-start; }
  .news-hdr .btn { width:100%; justify-content:center; }
  .page-intro {
    max-width:100%;
    font-size:.9rem;
    line-height:1.78;
    overflow-wrap:break-word;
  }
  .news-grid-home,
  .news-grid-full {
    gap:1rem;
    background:transparent;
  }
  .news-card {
    border:1px solid var(--line2);
    min-height:0;
  }
  .news-thumb,
  .news-card.feat .news-thumb {
    height:205px;
  }
  .news-body {
    padding:1.35rem;
  }
  .news-card.feat h3,
  .news-card h3 {
    font-size:1.2rem;
  }
  .split-txt,
  .c-right,
  .c-left {
    padding-left:1.35rem;
    padding-right:1.35rem;
  }
  .proc-band { background-attachment:scroll; }
  .ft-grid { gap:2rem; }
  .ft-bottom { gap:1rem; }
  .ft-copy { white-space:normal; }
  .label-grid,
  .process-routes,
  .steps,
  .two-col,
  .market-layout,
  .chart-panel,
  .price-quote-card,
  .svc-card,
  .step,
  .process-route,
  .news-card,
  .news-body {
    min-width:0;
    max-width:100%;
  }
  .process-route,
  .step {
    padding:1.85rem 1.45rem;
  }
  .process-route p,
  .step p,
  .label-grid p {
    overflow-wrap:anywhere;
  }
}

@media(max-height:760px) and (min-width:700px){
  .hero { justify-content:flex-start; padding-top:calc(var(--nav-h) + 2.2rem); }
  .hero h1.display { font-size:clamp(2.8rem,4.75vw,4.65rem); }
  .hero-kicker { margin-bottom:1rem; }
  .bronze-rule { margin:1.45rem 0; }
  .hero-lead { margin:1.15rem 0 1.85rem; line-height:1.72; }
}

/* -- PILLARS BAND -- */
.pillars-band {
  background:var(--bg2);
  padding:clamp(2.75rem,4.5vw,4.5rem) 0;
}

/* -- DIVIDER -- */
.divider { border:none; border-top:1px solid var(--line2); }

/* -- NOTICE BOX -- */
.notice {
  border-left:2px solid rgba(168,124,79,.3);
  background:rgba(168,124,79,.04);
  padding:1.1rem 1.55rem; margin-top:1.85rem;
}
.notice p { font-size:.78rem; color:rgba(72,63,52,.78); line-height:1.7; }

/* -- CHECKLIST -- */
.chk { margin-top:1.25rem; }
.chk li {
  display:flex; align-items:flex-start; gap:.9rem;
  font-size:.86rem; color:var(--muted);
  padding:.58rem 0; border-bottom:1px solid var(--line2);
}
.chk li:last-child { border-bottom:none; }
.chk li::before {
  content:''; width:5px; height:5px; border-radius:50%;
  background:var(--bronze); flex-shrink:0; margin-top:.58em;
}

/* -- TWO COL -- */
.two-col { display:grid; grid-template-columns:1fr 1fr; gap:3.5rem; }
@media(max-width:680px){ .two-col { grid-template-columns:1fr; gap:2rem; } }

/* -- FOOTER -- */
.footer {
  background:#2B2721;
  border-top:1px solid var(--line);
  padding:4.5rem 0 0;
}
.ft-grid {
  display:grid; grid-template-columns:2fr 1fr 1fr 1fr;
  gap:3rem; padding-bottom:3.5rem;
}
.ft-brand p { font-size:.79rem; color:var(--muted); margin-top:1rem; max-width:30ch; line-height:1.75; }
.ft-col h5 {
  font-size:.61rem; font-weight:500; letter-spacing:.22em;
  text-transform:uppercase; color:var(--bronze); margin-bottom:1.2rem;
}
.ft-col li { margin-bottom:.55rem; }
.ft-col a { font-size:.77rem; color:var(--muted); transition:color 0.2s; }
.ft-col a:hover { color:var(--wh); }
.ft-bottom {
  border-top:1px solid var(--line2);
  padding:1.6rem 0;
  display:flex; justify-content:space-between; align-items:flex-start;
  gap:2rem; flex-wrap:wrap;
}
.ft-disc { font-size:.66rem; color:rgba(72,63,52,.58); max-width:82ch; line-height:1.7; }
.ft-copy { font-size:.66rem; color:rgba(72,63,52,.42); white-space:nowrap; }
@media(max-width:860px){ .ft-grid { grid-template-columns:1fr 1fr; } }
@media(max-width:480px){ .ft-grid { grid-template-columns:1fr; } }

/* -- SCROLL REVEAL -- */
.reveal { opacity:0; transform:translateY(22px); transition:opacity 0.75s var(--ease), transform 0.75s var(--ease); }
.reveal.vis { opacity:1; transform:none; }
.reveal-d1 { transition-delay:.1s; }
.reveal-d2 { transition-delay:.22s; }
.reveal-d3 { transition-delay:.36s; }

/* -- UTILITIES -- */
.mt-sm { margin-top:1rem; }
.mt-md { margin-top:1.75rem; }
.mt-lg { margin-top:3rem; }
.text-bronze { color:var(--bronze); }
.text-muted  { color:var(--muted); }
.text-wh     { color:var(--wh); }

@media(prefers-reduced-motion:reduce){
  .reveal { transition:none; opacity:1; transform:none; }
  .bronze-rule { transition:none; }
  .scroll-bar::after { animation:none; }
}


/* -- SOFT THEME OVERRIDES v3.1 -- */
.footer,
.footer .ft-brand p,
.footer .ft-col a,
.footer .ft-disc,
.footer .ft-copy {
  color: rgba(245,235,220,.72);
}
.footer .ft-col h5,
.footer .nav-logo-sub {
  color: var(--bronze2);
}
.footer .ft-company-details {
  padding-left:1rem;
  border-left:1px solid rgba(168,124,79,.28);
}
.footer .ft-company-details a {
  color:var(--bronze2);
}
.footer .ft-social-link {
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  margin-top:1rem;
  color:#FFF9EF;
  font-size:.72rem;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.footer .ft-social-icon {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:1.9rem;
  height:1.9rem;
  border:1px solid rgba(198,151,83,.58);
  color:var(--bronze2);
  font-family:Arial, Helvetica, sans-serif;
  font-size:.86rem;
  font-weight:700;
  line-height:1;
}
.footer .ft-social-link:hover .ft-social-icon {
  background:rgba(198,151,83,.16);
}

.footer .nav-logo-mark,
.footer .ft-col a:hover {
  color: #FFF9EF;
}

/* Light theme refinements */
.section[style*="background:var(--bg2)"] {
  border-top: 1px solid var(--line2);
  border-bottom: 1px solid var(--line2);
}

.btn-outline {
  background: rgba(255,255,255,.28);
}

.btn-light {
  color: var(--wh);
  border-color: var(--line);
  background: rgba(255,255,255,.26);
}

.btn-light:hover {
  background: rgba(255,255,255,.48);
  border-color: var(--bronze);
}

.news-card,
.svc-card,
.pillar,
.step {
  box-shadow: none;
}

.news-card,
.svc-card {
  border: 1px solid var(--line2);
}

.news-thumb::after {
  background: linear-gradient(to bottom, transparent 45%, rgba(255,249,239,.76) 100%);
}

.c-right,
.split-txt {
  border-left: 1px solid var(--line2);
}

.proc-band .step h3,
.proc-band h2,
.proc-band .step p {
  color: var(--wh);
}

.proc-band .step p {
  color: var(--muted);
}

.proc-band .eyebrow {
  color: var(--bronze);
}

.proc-band .step {
  background: rgba(255,249,239,.58);
}

.proc-band .step:hover {
  background: rgba(255,249,239,.76);
}

.proc-band .step-n {
  color: rgba(122,92,46,.58);
  text-shadow: 0 1px 0 rgba(255,249,239,.6);
}

.mobile-menu {
  background: var(--bg);
}

.nav-cta:hover {
  color: #FFF9EF !important;
}

.form-note {
  color: rgba(72,63,52,.62);
}
