/* ==========================================================================
   Hughes Success Development — "Luxe" refinement layer (variant)
   Loaded after site.css. Restraint, rhythm, one consistent accent, one gold.
   ========================================================================== */
:root{
  --ivory:#F4EFE4;
  --ink-soft:#4A453F;
  --section-y:112px;--section-y-lg:168px;
  --dur-reveal:1100ms;
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
@media (max-width:960px){:root{--section-y:80px;--section-y-lg:104px}}

/* ---------- 1. Typography: serif speaks, sans explains ---------- */
body{font-family:var(--font-sans);font-size:16px;line-height:1.8;color:var(--ink-soft);font-weight:400;letter-spacing:.005em}
p{max-width:64ch}
.lead,.closing-statement,.pullquote,.display-1,.display-2,.h1,.h2,.h3,.h4{font-family:var(--font-display)}
.lead{color:var(--ink-900);font-size:clamp(20px,1.75vw,25px);line-height:1.5;letter-spacing:-0.008em;max-width:34em}
.body-lg{font-size:17px;line-height:1.8}
h1,h2,h3,.display-1,.display-2{text-wrap:balance}
.display-2{letter-spacing:-0.022em;line-height:1.08}
.display-1{letter-spacing:-0.026em}
.h3{letter-spacing:-0.012em}
.muted{color:var(--ink-400)}
.fine{font-size:12.5px;color:var(--ink-400)}

/* eyebrow: a short gold rule leading small caps, instead of an underline */
.eyebrow{border-bottom:0;padding-bottom:0;display:inline-flex;align-items:center;gap:16px;font-size:10.5px;letter-spacing:.3em;color:var(--ink-500)}
.eyebrow::before{content:"";width:36px;height:1px;background:var(--gold-600);flex:none}
.eyebrow.on-image{color:var(--ivory)}
.eyebrow.on-image::before{background:var(--gold-400)}
.idx{letter-spacing:.3em;font-size:10.5px}
.caption{font-size:10px;letter-spacing:.26em;color:var(--ink-400)}

/* pull quotes: larger, quieter, a rule above rather than a bar beside */
.pullquote{border-left:0;padding-left:0;padding-top:28px;position:relative;font-size:clamp(26px,2.7vw,38px);line-height:1.28;max-width:22em}
.pullquote::before{content:"";position:absolute;left:0;top:0;width:56px;height:1px;background:var(--gold-600)}

/* ---------- 2. One accent, used consistently ---------- */
.corner-frame::before,.reg::before{right:-14px;bottom:-14px;left:auto;width:58%;height:58%;border:0;border-right:1px solid var(--gold-600);border-bottom:1px solid var(--gold-600);opacity:.9}
.corner-frame::after{display:none}
@media (max-width:640px){.corner-frame::before,.reg::before{right:-9px;bottom:-9px}}
.side-photo .ln-v{background:var(--ink-100)}
.rail-photo .rail-line{background:linear-gradient(90deg,transparent,var(--gold-600) 70%)}

/* ---------- 3. Imagery: one colour grade, slow hover ---------- */
.img-frame{background:#E9E5DD}
.img-frame img,.closing-media img,.hero-media img{filter:saturate(.8) contrast(1.06) brightness(.985) sepia(.07)}
.img-frame img{transition:transform 1600ms var(--ease-out),filter 900ms var(--ease-standard)}
.img-frame:hover img{transform:scale(1.035)}
img[src*="financial-optimization"],img[src*="home-consulting"],img[src*="transparent-financials"]{filter:grayscale(1) sepia(.28) contrast(1.05) brightness(.98)}
.plan-fig .img-frame img,.plan-fig .img-frame:hover img{filter:saturate(.9);transform:none}
.intro-images .b{border-width:12px;box-shadow:0 30px 60px -30px rgba(0,0,0,.35)}
/* mask reveal with a settling image */
.js [data-reveal="mask"]>*{transition:clip-path 1400ms var(--ease-out);transition-delay:var(--d,0ms)}
.js [data-reveal="mask"] img{transform:scale(1.1)}
.js [data-reveal="mask"].is-in img{transform:scale(1);transition:transform 2200ms var(--ease-out),filter 900ms}
.js [data-reveal="mask"].is-in .img-frame:hover img,.js [data-reveal="mask"].is-in.img-frame:hover img{transform:scale(1.035)}
.js [data-reveal]{transform:translateY(26px)}
.js [data-reveal="mask"],.js [data-reveal].is-in{transform:none}
@media (prefers-reduced-motion:reduce){.js [data-reveal="mask"] img{transform:none}}

/* sub-page heroes: deeper, calmer scrim (also forgives softer source photos) */
.hero-sub .hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.38) 55%,rgba(0,0,0,.2) 100%),linear-gradient(0deg,rgba(0,0,0,.55),rgba(0,0,0,0) 55%)}
.hero-sub{min-height:82svh}
.hero-sub h1{color:var(--ivory);font-size:clamp(38px,4.9vw,70px);letter-spacing:-0.024em;line-height:1.04}
.hero-sub .hero-content{padding-bottom:clamp(64px,11vh,128px)}

/* ---------- 4. Dark statement bands: black, grain, gold ---------- */
.statement{background:#070706;padding-block:clamp(120px,17vw,220px)}
.statement::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 80% at 82% 50%,rgba(192,151,23,.16),transparent 70%),var(--grain);opacity:1;pointer-events:none;mix-blend-mode:normal}
.statement::after{content:"";position:absolute;left:var(--gutter-lg);right:var(--gutter-lg);top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(224,180,36,.55) 20%,rgba(224,180,36,.55) 80%,transparent)}
.statement .container{position:relative}
.statement .eyebrow{color:var(--gold-300)}
.statement .eyebrow::before{background:var(--gold-500)}
.statement .display-2,.statement .display-1{max-width:21ch;font-size:clamp(34px,4.6vw,68px);line-height:1.06;
  color:transparent;-webkit-text-fill-color:transparent;background-clip:text;-webkit-background-clip:text;
  background-image:var(--metal-glint),linear-gradient(118deg,#F4EFE4 0%,#F4EFE4 30%,#EFD692 52%,#E0B424 68%,#F6E8BE 84%,#F4EFE4 100%);
  background-size:300% 100%,100% 100%;background-repeat:no-repeat;
  background-position:calc((0.967 - var(--shine,0) * 0.934) * 100%) 0,0 0}
.statement p.body{color:rgba(244,239,228,.72)}
.statement .hexline{color:rgba(224,180,36,.4);right:4vw;width:min(30vw,420px)}
.statement .hexline polygon{stroke-width:.7}

/* closing CTA + footer pick up the same material */
.closing::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.45) 60%,rgba(0,0,0,.6)),var(--grain);z-index:1;pointer-events:none}
.closing .container{position:relative;z-index:2}
.closing h2{color:var(--ivory)}
.site-footer{background:#050504;position:relative}
.site-footer::before{content:"";position:absolute;inset:0;background:var(--grain);pointer-events:none}
.site-footer>*{position:relative}
.bg-bone{background:#F5F2EC}

/* ---------- 5. Header & navigation ---------- */
.site-header{height:88px}
.nav-links a{font-size:10.5px;letter-spacing:.26em;font-weight:500}
.nav-links a::after{height:1px;bottom:0;background:var(--gold-600)}
.site-header .btn-nav{height:42px;padding:0 24px;font-size:10.5px;letter-spacing:.26em;border-color:var(--gold-600)}
.site-header .btn-nav:hover,.site-header[data-over="true"] .btn-nav:hover{background:var(--gold-600);border-color:var(--gold-600);color:#000}
.lx-progress{position:fixed;left:0;top:0;height:2px;width:100%;z-index:120;transform-origin:left;transform:scaleX(var(--lx-scroll,0));background:linear-gradient(90deg,#94720F,#EFD692 50%,#C09717);pointer-events:none}
.lx-veil{position:fixed;inset:0;z-index:110;background:#070706;pointer-events:none;opacity:0}
.lx-veil::after{content:"";position:absolute;left:50%;top:50%;width:min(240px,40vw);height:1px;transform:translate(-50%,-50%) scaleX(0);background:linear-gradient(90deg,transparent,#E0B424,transparent)}
.lx-veil.run{animation:lxVeil 1100ms var(--ease-out) both}
.lx-veil.run::after{animation:lxLine 900ms var(--ease-out) both}
@keyframes lxVeil{0%{opacity:1}45%{opacity:1}100%{opacity:0}}
@keyframes lxLine{0%{transform:translate(-50%,-50%) scaleX(0);opacity:1}60%{transform:translate(-50%,-50%) scaleX(1);opacity:1}100%{transform:translate(-50%,-50%) scaleX(1);opacity:0}}
@media (prefers-reduced-motion:reduce){.lx-veil{display:none}}

/* ---------- 6. Controls: polished gold, hairline everything else ---------- */
.btn{height:56px;padding:0 34px;font-size:10.5px;letter-spacing:.28em;border-radius:0}
.btn-primary{color:#0b0a08;background-image:linear-gradient(118deg,#C09717 0%,#EAC65F 30%,#F6E8BE 46%,#E0B424 62%,#C09717 100%);background-size:220% 100%;background-position:0 0;transition:background-position 900ms var(--ease-out),transform var(--dur-fast)}
.btn-primary:hover{background-position:100% 0;color:#0b0a08}
.btn-solid{background:#0b0a08;position:relative;overflow:hidden;isolation:isolate}
.btn-solid::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(118deg,#C09717,#EAC65F 50%,#C09717);transform:scaleX(0);transform-origin:left;transition:transform 600ms var(--ease-out)}
.btn-solid:hover{background:#0b0a08;color:#0b0a08}
.btn-solid:hover::before{transform:scaleX(1)}
.link-arrow{font-size:10.5px;letter-spacing:.28em;border-bottom-color:var(--gold-600);padding-bottom:10px;gap:14px}
.link-arrow .ic{transition:transform 500ms var(--ease-out)}
.link-arrow:hover .ic{transform:translateX(6px)}
.badge{background:none;padding:0;height:auto;color:var(--ink-600);font-weight:500;font-size:10px;letter-spacing:.26em;gap:10px}
.badge::before{content:"";width:8px;height:7px;background:var(--gold-600);clip-path:var(--clip-hexagon);flex:none}
.tag{border-radius:0;border-color:var(--ink-100);height:32px;padding:0 14px;font-size:10px;letter-spacing:.24em;color:var(--ink-600)}
.callout,.cred-card{border-radius:0;border-color:var(--ink-100);border-top:1px solid var(--gold-600)}
input,select,textarea{border-radius:0!important}

/* ---------- 7. Details ---------- */
.stat .fig{font-size:clamp(42px,4vw,60px)}
.stat .lbl,.facts dt{letter-spacing:.24em;font-size:10px}
.facts dd{font-family:var(--font-display);font-size:18px;color:var(--ink-900)}
.proj-index a{padding:36px 0}
.proj-index .t{font-size:clamp(34px,4.6vw,68px)}
.pf-btn .t,.svc-index .t,.essentials .t,.phases .t,.pp-phases h3,.unit-mix tbody th{font-family:var(--font-display)}
.unit-mix td{font-size:15px}
.pp-phases li,.proj-cols article{border-top-width:1px}
.tbl-svg .edge{stroke:#8A6E1E;stroke-width:.9}
.essentials .t,.phases .t{letter-spacing:-0.01em}
.exp-list li span:last-child,.cred-card li strong{font-family:var(--font-display);color:var(--ink-900)}
.foot-grid a,.site-footer li span{letter-spacing:.2em}
::selection{background:#E0B424;color:#000}
html{scrollbar-color:#94720F #0b0a08}

.closing-statement{color:var(--ink-900)}
.philosophy p,.philo p,.intro-statement,.mk-detail p{max-width:none}
.philosophy-line p,.intro-lede,.hero-lede,.stat .fig,.svc-head .n,.closing-list .t,.mk-list .t,.contact-list dd{font-family:var(--font-display);color:var(--ink-900);max-width:none}
.philosophy-line p{font-style:italic;font-size:clamp(26px,2.7vw,38px)}
.philosophy-line .label{font-size:10.5px;letter-spacing:.3em}
.intro .lead-statement,.process h4,.hero .hero-title-lg{font-family:var(--font-display);color:var(--ink-900);max-width:none}
.intro .lead-statement{font-size:clamp(28px,3.1vw,46px);line-height:1.2;letter-spacing:-0.018em;max-width:26em}
/* any 18px+ text that used to inherit the display serif keeps it */
dd,.cont-lead,.exp-list li,.cred-card li strong,.essentials li,.phases li,.mk-detail li{font-family:var(--font-display)}
dd .badge,.exp-list .num,.essentials .num,.phases .num{font-family:var(--font-sans)}
.svc-head .n{color:#E4DFD6}
.exp-list li{font-size:17px;line-height:1.6}
@media (max-width:640px){.statement .display-2,.statement .display-1{font-size:clamp(30px,8.4vw,40px)}.pullquote{font-size:24px}.btn{height:52px;padding:0 26px}}
.site-header:not([data-over="true"]){background:rgba(255,255,255,.97)}

/* ============ UNIFIED METAL — every gold / bronze element uses the same polished-gold ramp ============ */
:root{
  --mt:linear-gradient(118deg,#6A510A 0%,#94720F 22%,#B8901A 36%,#D4A91C 44%,#B8901A 52%,#94720F 64%,#6A510A 80%,#94720F 100%);
  --mv:linear-gradient(180deg,#6A510A 0%,#C09717 14%,#EFD692 26%,#E0B424 38%,#94720F 52%,#C09717 66%,#F6E8BE 78%,#C09717 90%,#6A510A 100%);
  --mh:linear-gradient(90deg,#94720F 0%,#C09717 18%,#EFD692 34%,#E0B424 50%,#94720F 68%,#EAC65F 84%,#94720F 100%);
}
/* gold text on light grounds (deep ramp keeps small text legible) */
.idx,.pf-btn .num,.tbl-panel .num,.essentials .num,.svc-index .num,.principle .copy .num,.process .num,.proj-index .num,.exp-list .num,.pp-phases .num,.role,.cont-body .eyebrow,.mobile-menu li a span,.mobile-menu li a[aria-current="page"],.intro .lead-statement em,.gold-t,.state-list li.is-hot .label,.unit,.badge,.link-arrow:hover{
  color:transparent;-webkit-text-fill-color:transparent;background-image:var(--mt);background-size:260% 100%;background-repeat:no-repeat;
  -webkit-background-clip:text;background-clip:text;background-position:42% 0}
.badge{background-color:#FBF4E0;background-clip:padding-box}
.badge{-webkit-text-fill-color:#6A510A;color:#6A510A;background-image:none}
/* gold text on dark grounds (bright ramp) */
.paths a .k,.foot-col h3,.statement .eyebrow,.site-footer a:hover,.paths a:hover .v{
  color:transparent;-webkit-text-fill-color:transparent;background-image:var(--metal-ramp);background-size:260% 100%;background-repeat:no-repeat;
  -webkit-background-clip:text;background-clip:text;background-position:42% 0}
.site-footer a:hover{display:inline-block}
/* gold fills: hexagons, bullets, rules, rails, indicators */
.hex,.hex-o::before,.phases li::before,.pp-adv li::before,.badge::before,.eyebrow::before,.eyebrow.on-image::before,.statement .eyebrow::before,.pullquote::before,.nav-links a::after,.process li.is-passed::before,.process li.is-passed::after,.tbl-tab::before,.cont-track i,.scroll-cue i::after,.bi-cue i::after{
  background:var(--mh);background-size:300% 100%}
.process .rail i{background:var(--mv);background-size:100% 300%}
.rail-photo .rail-line{background:linear-gradient(90deg,transparent,#C09717 35%,#EFD692 70%,#E0B424)}
.side-photo .ln-v{background:linear-gradient(#C09717,#EFD692 50%,#94720F) top/1px 64px no-repeat,var(--ink-200)}
.choice input:checked+span::before{background:var(--mh);border-color:#C09717;border-image:var(--mh) 1}
.btn-nav:hover,.site-header[data-over="true"] .btn-nav:hover,.site-header .btn-nav:hover{background:var(--mh);color:#0b0a08}
.lx-progress{background:var(--mh);height:2px}
.lx-veil::after{background:linear-gradient(90deg,transparent,#EFD692,#E0B424,#EFD692,transparent)}
.statement::after{background:linear-gradient(90deg,transparent,#C09717 18%,#EFD692 50%,#C09717 82%,transparent);opacity:.8}
/* gold lines drawn as borders */
.eyebrow,.link-arrow,.eyebrow.on-image,.callout,.cred-card,.form-card,.proj-cols article,.pp-phases li,.cont-body,.site-header .btn-nav{border-image:var(--mh) 1}
.cont-body{border-image:var(--mv) 1}
.corner-frame::before,.corner-frame::after,.reg::before,.reg-left::before{border-image:var(--mh) 1}
.input:focus,.select:focus,.textarea:focus{border-image:var(--mh) 1}
.tbl-svg .hx:focus-visible .fill{stroke:url(#mg)}
/* SVG gold (map markers, diagram, hex line art) */
.map-svg .mk polygon{fill:url(#mg)}
.map-svg .mk .ring,.map-svg path.focus.is-hot{stroke:url(#mg)}
.map-svg path.focus.is-hot{fill:rgba(239,214,146,.35)}
.statement .hexline{color:inherit}
.statement .hexline polygon{stroke:url(#mg);opacity:.55}
.link-arrow .ic,.svc-index .ic,.proj-index .ic,.pf-btn[aria-expanded="true"] .ic,.paths a .ic{color:#C09717}
.badge{background:transparent;-webkit-background-clip:border-box;background-clip:border-box;border:1px solid transparent;border-image:var(--mh) 1;-webkit-text-fill-color:#6A510A;color:#6A510A}
.badge{height:28px;padding:0 12px;box-sizing:border-box;display:inline-flex;align-items:center}

/* "Tailor-Made Real Estate": no smoke — the headline is simply present, with the gold metal + glint */
.hero-fit .ch{--q:1 !important;opacity:1;transform:none;will-change:auto;
  filter:drop-shadow(0 0 calc(var(--glow,0) * 12px) rgba(255,224,130,calc(var(--glow,0) * .85)))}
.smoke{display:none}

/* Header monogram glimmer is timed only (--tshine), not scroll-driven */
.site-header .metal::after{background-position:calc((0.967 - var(--tshine,0) * 0.934) * 100%) 0,calc((0.25 + var(--sheen,0) * 0.9) * 100%) 0;
  filter:drop-shadow(0 0 calc(var(--tglow,0) * 4px) rgba(255,224,130,calc(var(--tglow,0) * .7)))}

/* ---- performance ---- */
.site-header{-webkit-backdrop-filter:none;backdrop-filter:none}
/* one glow filter on the headline container instead of one per letter */
.hero-fit .ch{filter:none !important}
.hero-fit{filter:drop-shadow(0 0 calc(var(--glow,0) * 12px) rgba(255,224,130,calc(var(--glow,0) * .85)))}
.lx-progress{will-change:transform}
