:root{
  --bg:#080808;
  --bg-soft:#0e0e0e;
  --panel:#121212;
  --panel-2:#171717;
  --line:#2b2822;
  --gold:#d8ae68;
  --gold-light:#f0d39b;
  --ivory:#f6f0e6;
  --muted:#b9b3aa;
  --muted-2:#8d8881;
  --max:1180px;
  --radius:20px;
  --shadow:0 22px 60px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ivory);
  background:var(--bg);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,Helvetica,sans-serif;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
img{max-width:100%;display:block}
::selection{background:var(--gold);color:#111}
.container{width:min(calc(100% - 40px),var(--max));margin-inline:auto}
.kicker{font-size:.78rem;text-transform:uppercase;letter-spacing:.24em;color:var(--gold-light);font-weight:700}
.display{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.045em;line-height:.94;margin:0}
.section-title{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.35rem,5vw,4.7rem);font-weight:400;letter-spacing:-.045em;line-height:1;margin:.45rem 0 1rem}
.lead{font-size:clamp(1.02rem,1.4vw,1.18rem);line-height:1.75;color:var(--muted);max-width:760px}
.muted{color:var(--muted)}
.gold{color:var(--gold-light)}

.site-header{
  position:sticky;top:0;z-index:1000;
  background:rgba(8,8,8,.82);
  border-bottom:1px solid rgba(216,174,104,.12);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)
}
.navbar{height:88px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center;min-width:190px}
.brand img{width:168px;height:auto}
.desktop-nav{display:flex;align-items:center;gap:34px;margin-left:auto}
.desktop-nav a{font-size:.93rem;color:#d8d3ca;position:relative;padding:10px 0;transition:color .25s ease}
.desktop-nav a:hover,.desktop-nav a.active{color:#fff}
.desktop-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:3px;height:1px;background:var(--gold);transition:right .25s ease}
.desktop-nav a:hover::after,.desktop-nav a.active::after{right:0}
.nav-cta,.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:48px;padding:0 22px;border-radius:12px;border:1px solid transparent;
  font-weight:700;font-size:.94rem;cursor:pointer;transition:transform .2s ease,background .2s ease,border-color .2s ease,color .2s ease
}
.btn:hover,.nav-cta:hover{transform:translateY(-2px)}
.btn-primary,.nav-cta{background:linear-gradient(135deg,#c99b50,#efd28f);color:#16120c;box-shadow:0 10px 30px rgba(216,174,104,.12)}
.btn-primary:hover,.nav-cta:hover{background:linear-gradient(135deg,#d7aa5d,#f3daa1)}
.btn-secondary{border-color:#5a5145;background:rgba(255,255,255,.01);color:#efe8dd}
.btn-secondary:hover{border-color:var(--gold);background:rgba(216,174,104,.05)}
.menu-btn{display:none;width:46px;height:46px;border:1px solid #302c26;background:#111;border-radius:12px;color:#fff;align-items:center;justify-content:center;cursor:pointer}
.menu-btn span,.menu-btn::before,.menu-btn::after{content:"";display:block;width:20px;height:1.5px;background:currentColor;transition:.25s ease;position:absolute}
.menu-btn span{transform:translateY(0)}
.menu-btn::before{transform:translateY(-6px)}
.menu-btn::after{transform:translateY(6px)}
.menu-btn.open span{opacity:0}
.menu-btn.open::before{transform:rotate(45deg)}
.menu-btn.open::after{transform:rotate(-45deg)}
.mobile-nav{display:none;position:fixed;inset:88px 0 auto 0;background:#0b0b0b;border-bottom:1px solid #24211d;padding:18px 20px 24px;box-shadow:var(--shadow)}
.mobile-nav.open{display:block}
.mobile-nav a{display:flex;align-items:center;justify-content:space-between;padding:16px 4px;border-bottom:1px solid #1f1d1a;color:#ded7cc;font-weight:600}
.mobile-nav a:last-child{border-bottom:0}
.mobile-nav .mobile-cta{margin-top:16px;border:0;justify-content:center;background:linear-gradient(135deg,#c99b50,#efd28f);color:#16120c;border-radius:12px}

.hero{position:relative;min-height:calc(100vh - 88px);display:flex;align-items:center;overflow:hidden;border-bottom:1px solid #1b1a17}
.hero::before{content:"";position:absolute;inset:-20% auto auto 55%;width:620px;height:620px;border-radius:50%;background:radial-gradient(circle,rgba(216,174,104,.13),rgba(216,174,104,0) 66%);filter:blur(18px);pointer-events:none}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);gap:72px;align-items:center;padding:92px 0 96px}
.hero h1{font-size:clamp(4rem,8.4vw,8rem);max-width:810px}
.hero h1 .gold-line{display:block;color:var(--gold-light)}
.hero-copy{font-size:clamp(1.05rem,1.6vw,1.28rem);line-height:1.68;color:#c0bbb3;max-width:680px;margin:28px 0 34px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.hero-panel{position:relative;min-height:530px;border:1px solid #2d2923;border-radius:28px;background:linear-gradient(145deg,#15130f,#0e0e0e 55%,#12110f);padding:34px;box-shadow:var(--shadow);overflow:hidden}
.hero-panel::before{content:"";position:absolute;width:280px;height:280px;border:1px solid rgba(216,174,104,.28);border-radius:50%;right:-70px;top:-65px}
.hero-panel::after{content:"";position:absolute;width:180px;height:180px;border:1px solid rgba(216,174,104,.12);border-radius:50%;right:-15px;top:-10px}
.hero-panel-top{display:flex;justify-content:space-between;gap:18px;position:relative;z-index:1}
.hero-panel .index{font-family:Georgia,serif;font-size:5rem;color:rgba(216,174,104,.2);line-height:.8}
.hero-panel h2{font-family:Georgia,serif;font-weight:400;font-size:2.7rem;line-height:1.05;margin:110px 0 18px;max-width:360px;position:relative;z-index:1}
.hero-panel p{color:var(--muted);line-height:1.7;max-width:390px;position:relative;z-index:1}
.mini-stats{position:absolute;left:34px;right:34px;bottom:34px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.mini-stat{padding:15px 12px;border-top:1px solid #3a3329}
.mini-stat strong{display:block;color:var(--gold-light);font-size:1.04rem;margin-bottom:5px}.mini-stat span{font-size:.76rem;color:var(--muted-2)}

.section{padding:110px 0;border-bottom:1px solid #191816}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:48px}
.section-head .lead{max-width:560px}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.card{position:relative;background:linear-gradient(180deg,#121212,#0d0d0d);border:1px solid #2a2722;border-radius:var(--radius);padding:30px;min-height:265px;transition:transform .25s ease,border-color .25s ease,background .25s ease;overflow:hidden}
.card:hover{transform:translateY(-5px);border-color:#62523b;background:linear-gradient(180deg,#16140f,#0e0e0e)}
.card .number{font-size:.77rem;letter-spacing:.18em;color:var(--gold);font-weight:700}
.card h3{font-family:Georgia,serif;font-size:1.65rem;font-weight:400;margin:58px 0 12px}
.card p{color:var(--muted);line-height:1.65;margin:0}
.card .arrow{position:absolute;top:28px;right:28px;color:#8f7750;font-size:1.3rem;transition:transform .25s ease}.card:hover .arrow{transform:translate(3px,-3px)}
.card-link{display:block}

.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.quote-panel{border:1px solid #2c2924;border-radius:26px;background:#0e0e0e;padding:42px;min-height:430px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.quote-panel::after{content:"IRA";position:absolute;right:-10px;bottom:-25px;font-family:Georgia,serif;font-size:9rem;color:rgba(216,174,104,.035);letter-spacing:-.08em}
.quote{font-family:Georgia,serif;font-size:clamp(2rem,3.5vw,3.5rem);line-height:1.04;font-weight:400;margin:0;position:relative;z-index:1}
.quote-panel small{color:var(--gold);text-transform:uppercase;letter-spacing:.18em;position:relative;z-index:1}
.check-list{display:grid;gap:18px;margin:30px 0 34px}
.check-item{display:grid;grid-template-columns:32px 1fr;gap:14px;align-items:start;color:#d7d0c7}
.check-dot{width:28px;height:28px;border-radius:50%;border:1px solid #635337;color:var(--gold-light);display:grid;place-items:center;font-size:.8rem;margin-top:1px}

.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.step{border-top:1px solid #5e4f38;padding:24px 8px 8px 0}.step strong{font-family:Georgia,serif;font-size:2.4rem;color:var(--gold-light);font-weight:400}.step h3{margin:22px 0 10px;font-size:1.02rem}.step p{margin:0;color:var(--muted);line-height:1.6;font-size:.93rem}

.cta-panel{border:1px solid #3a3227;border-radius:30px;padding:60px;display:flex;align-items:center;justify-content:space-between;gap:40px;background:radial-gradient(circle at 85% 0%,rgba(216,174,104,.12),transparent 35%),#10100f}.cta-panel h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(2.5rem,5vw,5rem);letter-spacing:-.045em;line-height:.95;margin:8px 0 14px}.cta-panel p{margin:0;color:var(--muted);max-width:620px;line-height:1.65}.cta-panel .hero-actions{flex-shrink:0}

.page-hero{padding:112px 0 76px;border-bottom:1px solid #1b1a17;background:radial-gradient(circle at 80% 0%,rgba(216,174,104,.1),transparent 28%)}
.page-hero h1{font-size:clamp(4rem,8vw,7.4rem);max-width:980px}.page-hero .lead{margin-top:28px}
.service-row{display:grid;grid-template-columns:90px 1fr 1fr;gap:34px;padding:42px 0;border-top:1px solid #26231e;align-items:start}.service-row:first-of-type{border-top:0}.service-num{font-family:Georgia,serif;font-size:2.4rem;color:#7f6844}.service-row h2{font-family:Georgia,serif;font-size:2.5rem;font-weight:400;margin:0}.service-row p{color:var(--muted);line-height:1.75;margin:0}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.chip{border:1px solid #332f29;border-radius:999px;padding:8px 11px;font-size:.79rem;color:#c5beb4;background:#0c0c0c}

.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.value{padding:30px;border:1px solid #2a2722;border-radius:20px;background:#101010}.value h3{font-family:Georgia,serif;font-size:1.7rem;font-weight:400;margin:36px 0 10px}.value p{color:var(--muted);line-height:1.65;margin:0}.value .symbol{font-size:1.55rem;color:var(--gold)}
.timeline{display:grid;gap:0}.timeline-row{display:grid;grid-template-columns:180px 1fr;gap:35px;padding:30px 0;border-top:1px solid #26231e}.timeline-row:first-child{border-top:0}.timeline-row .label{color:var(--gold);font-size:.8rem;text-transform:uppercase;letter-spacing:.16em;font-weight:700}.timeline-row h3{font-family:Georgia,serif;font-size:1.8rem;font-weight:400;margin:0 0 8px}.timeline-row p{color:var(--muted);line-height:1.7;margin:0}

.work-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.work-card{min-height:420px;border:1px solid #2c2923;border-radius:24px;position:relative;overflow:hidden;background:#101010;padding:30px;display:flex;flex-direction:column;justify-content:flex-end}.work-card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 76% 22%,rgba(216,174,104,.16),transparent 28%),linear-gradient(145deg,#171510,#0d0d0d 68%)}.work-card::after{content:"";position:absolute;width:220px;height:220px;border:1px solid rgba(216,174,104,.18);border-radius:50%;right:-50px;top:-50px}.work-card>*{position:relative;z-index:1}.work-card .work-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.18em;color:var(--gold);font-weight:700}.work-card h2{font-family:Georgia,serif;font-size:2.5rem;font-weight:400;margin:10px 0}.work-card p{color:var(--muted);line-height:1.62;margin:0;max-width:520px}.work-card:nth-child(2)::before{background:linear-gradient(160deg,rgba(216,174,104,.08),transparent 45%),repeating-linear-gradient(90deg,rgba(255,255,255,.025) 0 1px,transparent 1px 52px),#101010}.work-card:nth-child(3)::before{background:radial-gradient(circle at 25% 20%,rgba(216,174,104,.12),transparent 24%),linear-gradient(35deg,#0b0b0b,#17130e)}.work-card:nth-child(4)::before{background:linear-gradient(120deg,#161616,#0c0c0c 55%,#17120d)}

.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:start}.contact-card{border:1px solid #2d2923;border-radius:22px;background:#101010;padding:32px}.contact-card h2{font-family:Georgia,serif;font-weight:400;font-size:2.25rem;margin:0 0 12px}.contact-card p{color:var(--muted);line-height:1.7}.contact-link{display:block;padding:18px 0;border-top:1px solid #27231e;color:var(--gold-light);font-weight:650;overflow-wrap:anywhere}.form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:grid;gap:8px}.field.full{grid-column:1/-1}.field label{font-size:.82rem;color:#d7d0c7}.field input,.field textarea,.field select{width:100%;border:1px solid #312d27;background:#0c0c0c;color:#f6f0e6;border-radius:12px;padding:14px 15px;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.field input:focus,.field textarea:focus,.field select:focus{border-color:#876f49;box-shadow:0 0 0 3px rgba(216,174,104,.08)}.field textarea{min-height:150px;resize:vertical}.form-note{font-size:.8rem;color:var(--muted-2);line-height:1.55;margin:4px 0 0}.form-status{grid-column:1/-1;min-height:20px;color:var(--gold-light);font-size:.88rem}

.legal{max-width:850px}.legal h2{font-family:Georgia,serif;font-weight:400;font-size:2rem;margin:40px 0 12px}.legal p,.legal li{color:var(--muted);line-height:1.75}.legal ul{padding-left:22px}

.site-footer{padding:48px 0 34px;background:#0a0a0a}.footer-top{display:flex;justify-content:space-between;gap:40px;align-items:flex-start}.footer-brand img{width:145px}.footer-brand p{max-width:360px;color:var(--muted-2);line-height:1.6;font-size:.88rem}.footer-links{display:flex;flex-wrap:wrap;gap:18px 26px;justify-content:flex-end}.footer-links a{font-size:.87rem;color:#bdb6ab}.footer-links a:hover{color:var(--gold-light)}.footer-bottom{border-top:1px solid #1f1d1a;margin-top:34px;padding-top:24px;display:flex;justify-content:space-between;gap:20px;color:#77716a;font-size:.8rem}.footer-bottom a{color:#9f978c}

.js .reveal{opacity:0;transform:translateY(18px)}
.js .reveal.is-visible{opacity:1;transform:translateY(0);transition:opacity .65s ease,transform .65s ease}
.contact-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.contact-actions .btn{flex:0 0 auto}.footer-contact{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 18px}.footer-contact a{white-space:nowrap}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.js .reveal{opacity:1;transform:none}}

@media(max-width:980px){
  .desktop-nav,.nav-cta{display:none}.menu-btn{display:flex;position:relative}.navbar{height:78px}.mobile-nav{inset:78px 0 auto 0}.brand img{width:150px}
  .hero{min-height:auto}.hero-grid{grid-template-columns:1fr;padding:80px 0;gap:48px}.hero-panel{min-height:430px}.hero-panel h2{margin-top:72px}.cards{grid-template-columns:repeat(2,1fr)}.process-grid{grid-template-columns:repeat(2,1fr);gap:28px}.split{grid-template-columns:1fr;gap:40px}.cta-panel{align-items:flex-start;flex-direction:column}.service-row{grid-template-columns:65px 1fr}.service-row>div:last-child{grid-column:2}.values-grid{grid-template-columns:1fr 1fr}.contact-grid{grid-template-columns:1fr;gap:40px}
}
@media(max-width:680px){
  .container{width:min(calc(100% - 28px),var(--max))}.navbar{height:72px}.mobile-nav{inset:72px 0 auto 0}.brand{min-width:0}.brand img{width:132px}
  .hero-grid{padding:66px 0 70px}.hero h1{font-size:clamp(3.5rem,16vw,5.2rem)}.hero-copy{font-size:1rem}.hero-actions{display:grid;grid-template-columns:1fr}.btn{width:100%}.hero-panel{padding:24px;min-height:390px}.hero-panel h2{font-size:2.2rem;margin-top:58px}.mini-stats{left:24px;right:24px;bottom:24px}.mini-stat{padding:12px 6px}.mini-stat strong{font-size:.9rem}.mini-stat span{font-size:.68rem}
  .section{padding:78px 0}.section-head{display:block;margin-bottom:34px}.section-head .lead{margin-top:16px}.cards,.values-grid,.work-grid{grid-template-columns:1fr}.card{min-height:235px}.process-grid{grid-template-columns:1fr;gap:16px}.cta-panel{padding:36px 24px;border-radius:22px}.page-hero{padding:82px 0 60px}.page-hero h1{font-size:clamp(3.4rem,15vw,5rem)}.service-row{grid-template-columns:1fr;gap:16px;padding:32px 0}.service-row>div:last-child{grid-column:1}.service-num{font-size:1.5rem}.service-row h2{font-size:2rem}.timeline-row{grid-template-columns:1fr;gap:10px}.work-card{min-height:340px;padding:24px}.form{grid-template-columns:1fr}.field.full{grid-column:1}.footer-top,.footer-bottom{flex-direction:column}.footer-links{justify-content:flex-start}.footer-contact{justify-content:flex-start;flex-direction:column}.quote-panel{padding:28px;min-height:350px}
}


/* Work page — clean public-facing portfolio structure; real client assets are added as supplied. */
.work-page .page-hero,.work-page .section{border-bottom:0}
.work-showcase{padding-top:78px}
.industry-list{display:grid;gap:0}
.industry-row{display:grid;grid-template-columns:72px minmax(0,1fr) 150px;gap:28px;align-items:center;padding:42px 0}
.industry-row+.industry-row{border-top:1px solid rgba(216,174,104,.12)}
.industry-index{font-family:Georgia,serif;font-size:1.35rem;color:#725f41}
.industry-row h2{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.7rem);font-weight:400;letter-spacing:-.035em;line-height:1;margin:8px 0 13px}
.industry-row p{color:var(--muted);line-height:1.7;max-width:700px;margin:0}
.industry-mark{justify-self:end;width:118px;height:118px;border:1px solid rgba(216,174,104,.2);border-radius:50%;display:grid;place-items:center;color:rgba(240,211,155,.62);font-family:Georgia,serif;font-size:1rem;letter-spacing:.08em;position:relative;overflow:hidden}
.industry-mark::after{content:"";position:absolute;inset:11px;border:1px solid rgba(216,174,104,.08);border-radius:50%}
.client-logo-stage:empty,.project-video-stage:empty,.testimonial-stage:empty{display:none}
.client-logo-stage{margin-top:70px;overflow:hidden}
.logo-track{display:flex;align-items:center;gap:56px;width:max-content;animation:ira-marquee 26s linear infinite}
.logo-track img{width:150px;max-height:70px;object-fit:contain;filter:grayscale(1);opacity:.78;transition:filter .25s ease,opacity .25s ease,transform .25s ease}
.logo-track img:hover{filter:none;opacity:1;transform:translateY(-2px)}
@keyframes ira-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.project-video-stage{margin-top:56px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.project-video-stage video{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:20px;border:1px solid #2b2822;background:#0d0d0d}
.testimonial-stage{margin-top:64px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.testimonial-card{border:1px solid #2b2822;border-radius:20px;background:#101010;padding:30px}
.testimonial-card blockquote{font-family:Georgia,serif;font-size:1.45rem;line-height:1.35;margin:0 0 24px}
.testimonial-card cite{font-style:normal;color:var(--gold-light);font-weight:700}.testimonial-card small{display:block;color:var(--muted-2);margin-top:5px}
.work-cta{padding-top:50px}
.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
:focus-visible{outline:2px solid var(--gold-light);outline-offset:3px}
@media(max-width:780px){.industry-row{grid-template-columns:46px minmax(0,1fr);gap:18px}.industry-mark{display:none}.project-video-stage,.testimonial-stage{grid-template-columns:1fr}}
@media(max-width:520px){.industry-row{grid-template-columns:1fr;padding:34px 0}.industry-index{font-size:1rem}.industry-row h2{font-size:2.25rem}}


/* Mobile layout hotfix — 2026-10-04
   Keep the hero panel content in normal document flow on phones so the
   summary text can never collide with the three service labels. */
@media (max-width:680px){
  .hero-panel{
    min-height:0;
    height:auto;
    padding:24px;
    overflow:hidden;
  }
  .hero-panel h2{
    margin:48px 0 16px;
    max-width:none;
  }
  .hero-panel p{
    margin:0;
    max-width:none;
    line-height:1.62;
  }
  .mini-stats{
    position:static;
    left:auto;
    right:auto;
    bottom:auto;
    margin-top:28px;
    width:100%;
  }
  .mini-stat{
    min-width:0;
  }
  .mini-stat strong,
  .mini-stat span{
    overflow-wrap:anywhere;
  }
}

@media (max-width:390px){
  .hero-panel h2{font-size:2.05rem}
  .mini-stats{gap:6px}
  .mini-stat{padding:11px 4px}
  .mini-stat strong{font-size:.84rem}
  .mini-stat span{font-size:.64rem}
}
