@font-face{font-family:Inter;src:url("assets/inter-400.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url("assets/inter-500.ttf") format("truetype");font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:Inter;src:url("assets/inter-600.ttf") format("truetype");font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:Inter;src:url("assets/inter-700.ttf") format("truetype");font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:Sora;src:url("assets/sora-400.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Sora;src:url("assets/sora-600.ttf") format("truetype");font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:Sora;src:url("assets/sora-700.ttf") format("truetype");font-style:normal;font-weight:700;font-display:swap}
:root{--ink:#0e0e0f;--panel:#2e2e2e;--ivory:#f8f6f2;--pale:#d9d4cc;--gold:#c0653d;--text-muted:#53514f;--line:#4b4b4b;--content:1280px;font-family:Inter,sans-serif;color:var(--ink);background:var(--ink);font-synthesis:none}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;min-width:320px}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
h1,h2,h3,p{margin:0}
h1,h2,h3,.proof-statement,.brand,.footer-logo,.service-card strong{font-family:Sora,sans-serif}
:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.skip-link{position:absolute;z-index:20;top:-60px;left:24px;background:var(--ivory);color:var(--ink);padding:12px 16px}
.skip-link:focus{top:12px}
.content-width{width:min(calc(100% - 160px),var(--content));margin-inline:auto}
.eyebrow{font-size:13px;line-height:18px;letter-spacing:2.5px;font-weight:700}
.accent-text{color:#a84e2d}
.light-section{background:var(--ivory)}
.dark-section{background:var(--ink);color:var(--ivory)}
.hero{height:830px;min-height:700px;position:relative;overflow:hidden;background:var(--ink);color:var(--ivory)}
.hero-media{position:absolute;inset:0;overflow:hidden;transform-origin:center center}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center center;animation:heroImage 2s ease-out;transform:translate3d(var(--hero-x,0px),var(--hero-y,0px),0) scale(1.025);transition:transform .65s ease-out}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,14,15,.96) 0%,rgba(14,14,15,.94) 34%,rgba(14,14,15,.78) 52%,rgba(14,14,15,.32) 66%,transparent 83%)}
.hero::after{content:"";position:absolute;z-index:1;inset:-20% auto -20% -55%;width:24%;transform:skewX(-22deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.035),transparent);pointer-events:none;animation:heroSweep 2.4s 1.2s ease-out both}
.site-header{height:94px;position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
.site-header::before{content:"";position:absolute;z-index:-1;top:0;left:50%;width:100vw;height:100%;transform:translateX(-50%);background:rgba(14,14,15,.76)}
.brand{display:flex;align-items:baseline;gap:8px;font-size:29px;line-height:1;font-weight:400;letter-spacing:6px}
.brand-accent{font-size:20px;line-height:1;color:var(--gold);letter-spacing:0}
.site-nav{display:flex;align-items:center;gap:30px;font-size:13px;font-weight:500}
.site-nav a,.site-nav button,.site-footer nav a,.site-footer nav button{transition:color .2s ease}
.site-nav a:hover,.site-nav button:hover,.site-footer nav a:hover,.site-footer nav button:hover{color:var(--gold)}
.site-nav button,.site-footer nav button{border:0;padding:0;background:none;color:inherit}
.site-nav .nav-contact{color:var(--gold);font-size:13px;font-weight:600}
.menu-toggle{display:none}
.hero-content{position:relative;z-index:2;padding-top:90px}
.hero-eyebrow{color:var(--gold);letter-spacing:3.1px;animation:eyebrowIn 2s linear both}
.hero h1{margin-top:26px;margin-left:-4px;font-size:78px;line-height:84px;font-weight:400;letter-spacing:-2.8px;animation:titleIn 2s linear both}
.hero-description{max-width:518px;margin-top:55px;color:var(--pale);font-size:18px;line-height:29px;animation:descriptionIn 2s linear both}
.hero-actions{display:flex;align-items:center;gap:28px;margin-top:34px}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;height:52px;padding:0 16px 0 20px;border-radius:3px;border:1px solid transparent;font-size:14px;line-height:18px;font-weight:700;letter-spacing:.1px;white-space:nowrap;transition:background .22s ease,color .22s ease,transform .22s ease,box-shadow .22s ease}
.button:hover{transform:translateY(-3px);box-shadow:0 12px 25px rgba(0,0,0,.16)}
.button span:last-child{font-size:18px;font-weight:500}
.button-light{background:var(--ivory);color:var(--ink)}
.button-light:hover{background:var(--gold)}
.button-dark{background:var(--ink);color:var(--ivory)}
.button-dark:hover{background:#333}
.hero-primary{width:229px;animation:buttonIn 2s linear both}
.text-link{font-size:14px;font-weight:600;transition:color .2s ease}
.text-link:hover{color:var(--gold)}
.hero-bottom{position:absolute;z-index:2;bottom:0;left:0;right:0;height:101px;border-top:1px solid var(--line);display:flex;align-items:flex-start;justify-content:space-between;padding-top:28px;font-size:11px;font-weight:500;line-height:16px;letter-spacing:2px}
.hero-bottom span:last-child{letter-spacing:1.5px}
.proof{height:184px}
.proof-inner{height:147px;border-bottom:1px solid var(--pale);display:grid;grid-template-columns:296px 1fr;align-items:start;padding-top:45px}
.proof .eyebrow{padding-top:12px;font-size:12px;letter-spacing:2.3px}
.proof-statement{font-size:31px;line-height:44px;font-weight:400;letter-spacing:-.8px}
.solutions{min-height:900px;padding-top:67px;padding-bottom:81px}
.solutions h2{margin-top:28px;font-size:48px;line-height:60px;font-weight:400;letter-spacing:-1.5px}
.section-intro{max-width:777px;margin-top:34px;color:var(--text-muted);font-size:18px;line-height:28px}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px;margin-top:68px}
.service-card{display:flex;flex-direction:column;align-items:stretch;position:relative;height:525px;min-width:0;text-align:left;border:0;border-top:3px solid var(--gold);border-radius:3px;background:#fff;color:var(--ink);padding:0 28px;overflow:hidden;box-shadow:0 1px 1px rgba(0,0,0,.015);transition:translate .32s ease,box-shadow .32s ease}
.service-card:hover{translate:0 -7px;box-shadow:0 20px 44px rgba(25,24,19,.1)}
.card-image{display:block;position:relative;flex:none;height:186px;margin:0 -28px;overflow:hidden;background:var(--pale)}
.card-image::after{content:"";position:absolute;inset:0;background:var(--ivory);transform:translateY(-101%);transition:transform .8s cubic-bezier(.22,1,.36,1)}
.js-ready .service-card:not(.visible) .card-image::after{transform:translateY(0)}
.service-card.visible .card-image::after{transform:translateY(-101%)}
.card-image img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);transition:transform 1s cubic-bezier(.22,1,.36,1)}
.service-card.visible .card-image img{transform:scale(1)}
.service-card:hover .card-image img{transform:scale(1.055)}
.service-card:nth-child(2){transition-delay:.09s}
.service-card:nth-child(3){transition-delay:.18s}
.card-top{display:flex;justify-content:space-between;align-items:center;color:#a84e2d;font-size:14px;line-height:19px;font-weight:700;letter-spacing:1.8px;margin-top:32px}
.card-top span:last-child{font-size:11px;line-height:15px;letter-spacing:1.9px}
.card-rule{height:1px;background:var(--pale);width:100%;margin-top:42px}
.service-card strong{margin-top:29px;font-size:27px;line-height:35px;font-weight:600;letter-spacing:-.6px}
.card-description{margin-top:32px;max-width:346px;color:var(--text-muted);font-size:16px;line-height:25px}
.card-arrow{position:absolute;right:33px;bottom:22px;font-size:26px;line-height:32px;transition:transform .22s ease}
.service-card:hover .card-arrow{transform:translate(3px,-3px)}
.showcase{background:var(--panel);min-height:716px}
.showcase-inner{display:grid;grid-template-columns:545px minmax(0,1fr);gap:84px;align-items:start;padding-top:76px;padding-bottom:76px}
.showcase-image{height:564px;border-radius:3px;overflow:hidden;background:#242526}
.showcase-image img{width:100%;height:100%;object-fit:cover;transform:translate3d(0,var(--showcase-y,0px),0) scale(1.055);will-change:transform}
.showcase-copy{padding-top:44px}
.showcase-copy .eyebrow{color:var(--gold);font-size:12px;line-height:17px;letter-spacing:2.4px}
.showcase h2{margin-top:37px;margin-left:-5px;font-size:58px;line-height:68px;font-weight:400;letter-spacing:-1.6px}
.showcase-description{max-width:590px;margin-top:49px;color:var(--pale);font-size:19px;line-height:30px}
.showcase-points{margin-top:51px;border-top:1px solid var(--line);padding-top:25px}
.showcase-points>div{display:flex;align-items:center;gap:4px;min-height:62px;color:#b7b2ab;font-size:11px;line-height:16px;font-weight:700;letter-spacing:1.5px}
.point-symbol{width:96px;flex:none;color:var(--ivory);font-size:33px;line-height:40px;font-weight:500;letter-spacing:-.9px}
.point-symbol.gold{color:var(--gold);font-size:29px}
.process{min-height:592px;padding-top:70px;padding-bottom:63px}
.process h2{margin-top:25px;font-size:54px;line-height:66px;font-weight:400;letter-spacing:-1.7px}
.process .section-intro{margin-top:33px}
.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;list-style:none;margin:75px 0 0;padding:33px 0 0;border-top:1px solid var(--pale)}
.process-grid li{min-width:0}
.step-number{color:#a84e2d;font-size:14px;line-height:20px;font-weight:700;letter-spacing:1.3px}
.process-grid h3{margin-top:27px;font-size:25px;line-height:31px;font-weight:600;letter-spacing:-.4px}
.process-grid p{max-width:273px;margin-top:24px;color:var(--text-muted);font-size:15px;line-height:24px}
.final-cta{height:460px}
.final-cta-inner{position:relative;height:402px;border-bottom:1px solid var(--line);padding-top:71px}
.final-cta .eyebrow{color:var(--gold)}
.final-cta h2{margin-top:35px;margin-left:-3px;font-size:70px;line-height:82px;font-weight:400;letter-spacing:-2.3px}
.cta-button{position:absolute;right:0;top:278px;width:338px}
.site-footer{height:170px}
.footer-inner{position:relative;height:100%;padding-top:31px}
.footer-logo{font-size:28px;line-height:35px;font-weight:400;letter-spacing:5px}
.footer-brand p{margin-top:15px;color:#b7b2ab;font-size:15px;line-height:23px}
.site-footer nav{position:absolute;right:0;top:44px;display:flex;gap:28px;font-size:13px;line-height:18px;font-weight:500}
.site-footer small{position:absolute;left:0;bottom:18px;color:#b7b2ab;font-size:11px;line-height:16px;font-weight:500}
.site-footer .footer-signoff{left:auto;right:0;letter-spacing:1.2px}
.contact-dialog{width:min(560px,calc(100vw - 32px));max-height:min(90vh,850px);border:0;border-radius:4px;padding:32px;background:var(--ivory);color:var(--ink);box-shadow:0 30px 100px rgba(0,0,0,.4)}
.contact-dialog::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(5px)}
.dialog-header{display:flex;justify-content:space-between;gap:20px}
.dialog-header h2{margin-top:12px;font-size:42px;line-height:1.1;font-weight:500;letter-spacing:-1.2px}
.dialog-close{border:0;background:transparent;font-size:32px;line-height:1;width:36px;height:36px}
.dialog-description{margin-top:18px;color:var(--text-muted);font-size:15px;line-height:1.5}
.contact-dialog form{display:grid;gap:16px;margin-top:24px}
.contact-dialog label{display:grid;gap:7px;font-size:13px;font-weight:700}
.contact-dialog input,.contact-dialog select,.contact-dialog textarea,.prepared-message textarea{width:100%;border:1px solid #c9c8c0;border-radius:2px;background:white;padding:11px 12px;color:var(--ink);font-size:15px;font-weight:400}
.contact-dialog textarea{resize:vertical}
.contact-dialog form .button,.prepared-message .button{width:100%;margin-top:5px}
.prepared-message{margin-top:24px}
.prepared-message p{font-size:14px;line-height:1.5}
.prepared-message textarea{margin-top:14px;resize:vertical}
.copy-status{min-height:20px;margin-top:10px;color:#7a664d}
.reveal{transition:opacity .7s ease,transform .7s ease}
.js-ready .reveal:not(.visible){opacity:0;transform:translateY(22px)}
@keyframes heroImage{from{transform:scale(1.05)}to{transform:scale(1.025)}}
@keyframes heroSweep{from{left:-55%}to{left:120%}}
@keyframes eyebrowIn{0%,2.5%{opacity:0}27.5%,100%{opacity:1}}
@keyframes titleIn{0%,9%{opacity:0;transform:translateY(28px)}47.5%,100%{opacity:1;transform:translateY(0)}}
@keyframes descriptionIn{0%,32.5%{opacity:0;transform:translateY(15px)}67.5%,100%{opacity:1;transform:translateY(0)}}
@keyframes buttonIn{0%,45%{opacity:0}77.5%,100%{opacity:1}}
@media(max-width:1199px){
  .content-width{width:min(calc(100% - 96px),var(--content))}
  .hero-media img{object-position:left center}
  .hero h1{font-size:clamp(58px,6.4vw,78px);line-height:1.08}
  .hero-description{max-width:440px}
  .proof-inner{grid-template-columns:260px 1fr}
  .proof-statement{font-size:clamp(23px,2.5vw,31px)}
  .showcase-inner{grid-template-columns:minmax(0,45%) minmax(0,1fr);gap:6%}
  .showcase h2{font-size:clamp(42px,4.6vw,58px);line-height:1.13}
  .showcase-description{font-size:17px;line-height:28px}
  .final-cta h2{font-size:clamp(55px,5.5vw,70px)}
}
@media(max-width:800px){
  .content-width{width:calc(100% - 48px)}
  .hero{height:760px;min-height:0}
  .hero-media img{object-position:60% center}
  .hero-media::after{background:linear-gradient(90deg,rgba(14,15,16,.98),rgba(14,15,16,.90) 52%,rgba(14,15,16,.58))}
  .site-header{height:78px}
  .brand{font-size:23px;letter-spacing:3px}.brand-accent{font-size:17px}
  .menu-toggle{display:flex;z-index:5;flex-direction:column;justify-content:center;gap:6px;width:42px;height:42px;border:1px solid rgba(242,240,232,.45);border-radius:2px;background:rgba(14,15,16,.5);padding:10px}
  .menu-toggle span{display:block;height:1px;width:100%;background:var(--ivory)}
  .site-nav{display:none;position:absolute;top:78px;left:-24px;right:-24px;padding:25px 24px 28px;background:#151617;box-shadow:0 20px 30px rgba(0,0,0,.3);align-items:stretch;gap:0}
  .site-nav.open{display:flex;flex-direction:column}
  .site-nav a,.site-nav button{padding:13px 0;text-align:left;font-size:16px}
  .hero-content{padding-top:119px}
  .hero h1{font-size:clamp(47px,9vw,70px);line-height:1.05;margin-top:26px;letter-spacing:-2px}
  .hero-description{max-width:470px;font-size:16px;line-height:26px;margin-top:32px}
  .hero-bottom{height:92px;font-size:9px;letter-spacing:1.2px}
  .proof{height:auto}.proof-inner{height:auto;min-height:170px;grid-template-columns:1fr;gap:12px;padding:35px 0 32px}
  .proof .eyebrow{padding:0}.proof-statement{font-size:28px;line-height:1.25}
  .solutions{padding:65px 0 80px}
  .solutions h2{font-size:clamp(38px,5.5vw,48px);line-height:1.12}
  .section-intro{margin-top:24px;font-size:16px;line-height:26px}
  .service-grid{grid-template-columns:1fr;gap:16px;margin-top:42px}
  .service-card{height:525px}
  .card-rule{margin-top:42px}.service-card strong{margin-top:29px}.card-description{margin-top:32px}
  .showcase-inner{grid-template-columns:1fr;gap:48px;padding-top:64px;padding-bottom:70px}
  .showcase-image{width:100%;height:auto;aspect-ratio:545/564}.showcase-copy{padding-top:0}
  .showcase h2{font-size:clamp(42px,6vw,58px);margin-top:28px}.showcase-description{margin-top:30px}
  .showcase-points{margin-top:34px}
  .process{padding:65px 0 80px}.process h2{font-size:clamp(40px,6vw,54px);line-height:1.13}
  .process-grid{grid-template-columns:repeat(2,1fr);row-gap:42px;margin-top:54px}.process-grid h3{margin-top:20px}.process-grid p{margin-top:16px}
  .final-cta{height:auto}.final-cta-inner{height:auto;min-height:440px;padding:70px 0 75px}
  .final-cta h2{font-size:clamp(46px,7vw,62px);line-height:1.1;margin-top:30px}
  .cta-button{position:static;margin-top:47px}
  .site-footer{height:auto}.footer-inner{min-height:210px;padding:30px 0 50px}.site-footer nav{position:static;margin-top:30px;flex-wrap:wrap;gap:14px 24px}.site-footer small{bottom:18px}
}
@media(max-width:520px){
  .hero{height:720px}.hero-media img{object-position:59% center}
  .hero-content{padding-top:105px}.hero-eyebrow{font-size:10px;letter-spacing:2px}
  .hero h1{font-size:clamp(44px,11.5vw,58px);letter-spacing:-1.8px}
  .hero-description{max-width:350px;font-size:15px;line-height:24px;margin-top:30px}
  .hero-actions{align-items:flex-start;flex-direction:column;gap:21px;margin-top:32px}
  .hero-primary{width:215px}.hero-bottom span:last-child{display:none}
  .proof-statement{font-size:25px}.solutions h2{font-size:37px}
  .service-card{height:auto;min-height:525px;padding-bottom:70px}
  .showcase h2{font-size:42px;line-height:1.11}.showcase-description{font-size:16px;line-height:27px}
  .process-grid{grid-template-columns:1fr;row-gap:34px}.process-grid h3{margin-top:12px}.process-grid p{margin-top:8px}
  .final-cta h2{font-size:clamp(42px,10vw,53px)}.cta-button{width:100%}
  .footer-logo{font-size:25px}.site-footer .footer-signoff{display:none}
  .contact-dialog{padding:24px}.dialog-header h2{font-size:36px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.js-ready .reveal:not(.visible){opacity:1;transform:none}.js-ready .service-card:not(.visible) .card-image::after{transform:translateY(-101%)}.showcase-image img,.hero-media img{transform:none!important}}
