/* RE-Value static rebuild - mirrors Base44 original design tokens */
:root{
  --navy: hsl(214,84%,10%);
  --navy-soft: hsl(212,60%,14%);
  --gold: hsl(39,54%,55%);
  --gold-dim: hsl(39,44%,45%);
  --cream: hsl(42,31%,95%);
  --white: #fff;
  --ink: hsl(0,0%,10%);
  --muted: hsl(0,0%,40%);
  --line: hsl(39,20%,87%);
  --serif: "Cormorant Garamond", Georgia, serif;
  --sans: "Inter", ui-sans-serif, system-ui, sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--cream);font-weight:300;line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
.container{max-width:1120px;margin:0 auto;padding:0 28px}
section{padding:96px 0}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s cubic-bezier(.22,.61,.36,1),transform .8s cubic-bezier(.22,.61,.36,1)}
.reveal.in{opacity:1;transform:none}

/* Header */
header{position:fixed;top:0;left:0;right:0;z-index:50;background:var(--navy);}
.nav-inner{max-width:1240px;margin:0 auto;padding:0 28px;height:96px;display:flex;align-items:center;justify-content:space-between}
.brand img{height:58px;width:auto}
nav.desktop{display:flex;gap:40px}
nav.desktop a{font-size:12px;letter-spacing:.18em;font-weight:400;color:#cfd6e1;text-transform:uppercase;transition:color .25s;padding:6px 0;border-bottom:1px solid transparent}
nav.desktop a:hover,nav.desktop a.active{color:var(--gold);border-bottom-color:var(--gold)}
.burger{display:none;background:none;border:0;cursor:pointer;padding:10px;z-index:60}
.burger span{display:block;width:24px;height:2px;background:#cfd6e1;margin:5px 0;transition:.3s}
.mobile-nav{display:none;position:fixed;inset:96px 0 auto 0;background:var(--navy-soft);flex-direction:column;padding:24px 28px;gap:18px;z-index:55}
.mobile-nav a{font-size:13px;letter-spacing:.18em;color:#cfd6e1;text-transform:uppercase;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.mobile-nav.open{display:flex}
@media(max-width:900px){nav.desktop{display:none}.burger{display:block}}

/* Hero */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;
  background:linear-gradient(rgba(5,23,47,.82),rgba(5,23,47,.82)),url('hero.jpg') center/cover no-repeat;}
.hero-content{max-width:820px;padding:140px 28px 80px}
.hero h1{font-family:var(--serif);font-weight:300;font-size:clamp(56px,8vw,104px);line-height:1.05;color:var(--gold)}
.hero h1 em{font-style:italic;color:#e5e9f0;font-weight:300}
.hero .rule{width:96px;height:1px;background:var(--gold);margin:34px auto}
.hero p{color:rgba(255,255,255,.78);font-size:17px;font-weight:300;max-width:640px;margin:0 auto 46px;line-height:1.85}
.btn-gold{display:inline-block;background:var(--gold);color:var(--navy);font-size:13px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;padding:17px 54px;transition:background .25s,transform .2s}
.btn-gold:hover{background:hsl(39,60%,63%);transform:translateY(-2px)}
.btn-gold:disabled{opacity:.6;transform:none;cursor:wait}

/* Section headings */
.eyebrow{font-size:13px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);font-weight:400;margin-bottom:18px}
.h-serif{font-family:var(--serif);font-weight:400;font-size:clamp(38px,4.5vw,54px);line-height:1.15;color:var(--navy)}
.gold-rule{width:64px;height:1px;background:var(--gold);margin:26px 0}
.lede{color:var(--muted);font-size:16px;max-width:560px}

/* Services cards (home + services page) */
.svc-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:66px}
.svc-card{background:var(--white);padding:52px 48px;transition:background .3s;position:relative;display:block}
.svc-card:hover{background:hsl(42,40%,98%)}
.svc-num{font-family:var(--serif);font-size:15px;color:var(--gold);letter-spacing:.12em;margin-bottom:26px}
.svc-card h3{font-family:var(--serif);font-weight:500;font-size:28px;color:var(--navy);margin-bottom:16px;line-height:1.25}
.svc-card p{color:var(--muted);font-size:15px;margin-bottom:34px}
.learn{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:500}
.learn::after{content:"\2192";margin-left:8px;transition:margin-left .25s;display:inline-block}
.svc-card:hover .learn::after{margin-left:14px}
@media(max-width:820px){.svc-grid{grid-template-columns:1fr}}

/* Select clients */
.bg-cream{background:var(--cream)}
.bg-white{background:var(--white)}
.client-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:56px}
.client-tile{background:var(--white);border:1px solid var(--line);padding:44px 20px;text-align:center;
  font-family:var(--serif);font-size:22px;color:var(--navy);transition:transform .25s,border-color .25s,box-shadow .25s}
.client-tile:hover{transform:translateY(-4px);border-color:var(--gold);box-shadow:0 10px 30px rgba(5,23,47,.08)}
@media(max-width:820px){.client-grid{grid-template-columns:1fr 1fr}}

/* Stats band */
.stats{background:var(--navy);color:#fff}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;text-align:center;max-width:1120px;margin:0 auto;padding:0 28px}
.stat .figure{font-family:var(--serif);font-weight:400;font-size:43px;color:var(--gold);line-height:1.1;margin-bottom:14px}
.stat .label{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.6);line-height:1.7}
.stats-grid{align-items:start}
@media(max-width:820px){.stats-grid{grid-template-columns:1fr 1fr;padding-top:20px;padding-bottom:20px}}

/* Prior transactions */
.tx-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 56px;margin-top:60px}
.tx{padding:34px 30px;background:var(--white);border:1px solid var(--line)}
.tx .num{font-family:var(--serif);font-size:15px;color:var(--gold);letter-spacing:.12em;margin-bottom:18px}
.tx .thumb{width:100%;height:170px;background:linear-gradient(135deg,var(--navy),var(--navy-soft));display:flex;align-items:flex-end;padding:18px;margin-bottom:22px}
.tx .thumb span{color:#fff;font-family:var(--serif);font-size:24px}
.tx h4{font-family:var(--serif);font-weight:500;font-size:24px;color:var(--navy);margin-bottom:6px}
.tx .loc{color:var(--muted);font-size:13px;margin-bottom:16px}
.tx .rule{width:44px;height:1px;background:var(--gold);margin-bottom:16px}
.tx .meta{color:var(--muted);font-size:13.5px;letter-spacing:.02em}
@media(max-width:820px){.tx-grid{grid-template-columns:1fr}}

/* Affiliations */
.bg-navy{background:var(--navy)}
.bg-navy .h-serif{color:#fff}
.bg-navy .lede{color:rgba(255,255,255,.65)}
.aff-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:52px}
.aff{border:1px solid rgba(255,255,255,.14);padding:40px 36px;transition:border-color .25s}
.aff:hover{border-color:var(--gold)}
.aff h4{font-family:var(--serif);font-weight:500;font-size:24px;color:#fff;margin-bottom:12px}
.aff .rule{width:44px;height:1px;background:var(--gold);margin:0 0 16px}
.aff p{color:rgba(255,255,255,.6);font-size:14px}
@media(max-width:820px){.aff-grid{grid-template-columns:1fr}}

/* Contact section / form */
.contact-blocks{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-top:64px}
.contact-info p{margin-bottom:14px;font-size:15.5px}
.contact-info a{color:#fff;border-bottom:1px solid transparent;transition:border-color .25s}
.contact-info a:hover{border-bottom-color:var(--gold)}
.contact-info{color:rgba(255,255,255,.85)}
form.contact-form label{display:block;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.6);margin:26px 0 34px}
form.contact-form label:first-child{margin-top:0}
form.contact-form input,form.contact-form select,form.contact-form textarea{
  width:100%;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.22);color:#fff;
  font-family:var(--sans);font-weight:300;font-size:16px;padding:8px 0 10px;outline:none;transition:border-color .25s}
form.contact-form input:focus,form.contact-form select:focus,form.contact-form textarea:focus{border-bottom-color:var(--gold)}
form.contact-form select{appearance:none;-webkit-appearance:none;cursor:pointer;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23c8a24e' fill='none' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right center}
form.contact-form select option{color:var(--ink)}
form.contact-form textarea{min-height:120px;resize:vertical}
form.contact-form .btn-gold{width:100%;border:0;cursor:pointer;margin-top:14px}
.form-status{margin-top:18px;font-size:14px;color:var(--gold)}
@media(max-width:820px){.contact-blocks{grid-template-columns:1fr;gap:56px}}

/* Page hero (inner pages) */
.page-head{padding:190px 0 70px}
.page-head.center{text-align:left}

/* Approach process */
.proc{list-style:none;margin-top:60px;max-width:760px}
.proc li{display:flex;gap:34px;padding:36px 0;border-bottom:1px solid var(--line)}
.proc .n{font-family:var(--serif);font-size:17px;color:var(--gold);min-width:36px}
.proc h4{font-family:var(--serif);font-weight:500;font-size:26px;color:var(--navy);margin-bottom:10px}
.proc p{color:var(--muted);font-size:15px}
@media(max-width:640px){.proc li{flex-direction:column;gap:8px}}

/* Team */
.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:88px;margin-top:70px;max-width:900px}
.member img{width:65%;background:var(--navy);margin:0 auto}
.member h3{font-family:var(--serif);font-weight:400;font-size:26px;color:var(--navy);margin:22px 0 4px;text-align:center}
.member .role{font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-dim);font-weight:500;margin-bottom:18px;text-align:center}
.member p{color:var(--muted);font-size:14.5px;margin-bottom:18px}
.member .li-link{font-size:13px;color:var(--navy);text-align:center;display:block}
.member .li-link:hover{color:var(--gold-dim)}
@media(max-width:820px){.team-grid{grid-template-columns:1fr;gap:60px}.member img{width:55%}}

/* CTA band */
.cta-band{text-align:center}
.cta-band h3{font-family:var(--serif);font-weight:300;font-size:clamp(30px,4vw,44px);color:#fff;margin-bottom:40px}

/* Service detail */
.svc-back{display:flex;gap:40px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:52px}
.svc-back a{color:var(--muted);transition:color .25s}
.svc-back a:hover{color:var(--gold-dim)}
.scope{margin-top:76px;border-top:1px solid var(--line);max-width:1120px}
.scope h4{font-size:13px;letter-spacing:.26em;text-transform:uppercase;color:var(--navy);margin:34px 0 8px;font-weight:500}
.scope p.sub{color:var(--muted);font-size:14px;margin-bottom:30px}
.scope ul{list-style:none}
.scope li{padding:13px 0 13px 34px;position:relative;color:var(--muted);font-size:15px;border-bottom:1px solid var(--line)}
.scope li::before{content:"";position:absolute;left:6px;top:20px;width:9px;height:5px;border-left:1.5px solid var(--gold);border-bottom:1.5px solid var(--gold);transform:rotate(-45deg)}
.svc-next{display:flex;align-items:center;gap:56px;margin-top:64px;flex-wrap:wrap}
.svc-next .next-link{font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.svc-next .next-link::after{content:"\2192";margin-left:10px}
.svc-next .next-link:hover{color:var(--gold-dim)}

/* Footer */
footer{background:var(--navy);color:rgba(255,255,255,.75);padding:64px 0 40px}
.foot-top{display:flex;justify-content:space-between;align-items:center;gap:40px;padding-bottom:44px;border-bottom:1px solid rgba(255,255,255,.1)}
.foot-top img{height:52px}
.foot-tag{font-family:var(--serif);font-style:italic;font-weight:300;color:rgba(255,255,255,.5);margin-top:14px;font-size:15px}
.foot-nav{display:flex;gap:34px}
.foot-nav a{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.55);transition:color .25s}
.foot-nav a:hover{color:var(--gold)}
.foot-mid{display:flex;justify-content:space-between;flex-wrap:wrap;gap:18px;padding:30px 0;font-size:13.5px;color:rgba(255,255,255,.6)}
.foot-mid a:hover{color:var(--gold)}
.foot-mid .right{color:rgba(255,255,255,.4)}
.foot-disc{font-size:12px;color:rgba(255,255,255,.35);margin-top:10px}
@media(max-width:820px){.foot-top{flex-direction:column;align-items:flex-start}.foot-nav{flex-wrap:wrap;gap:20px}}
