:root { --ink:#080a0d; --paper:#f4f4f1; --white:#fff; --yellow:#ffca0a; --orange:#ff5a0a; --muted:#6d7176; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; overflow-x:hidden; }
a { color:inherit; text-decoration:none; }
button,a { -webkit-tap-highlight-color:transparent; }

.topbar { height:82px; padding:0 clamp(22px,5vw,78px); display:flex; align-items:center; justify-content:space-between; background:rgba(8,10,13,.95); color:#fff; border-bottom:1px solid rgba(255,255,255,.11); position:sticky; top:0; z-index:30; backdrop-filter:blur(16px); }
.brand { display:flex; align-items:center; gap:12px; min-width:230px; }
.brand img { width:58px; height:58px; object-fit:contain; border-radius:10px; }
.brand span { display:grid; line-height:1; }
.brand strong { font-size:16px; font-style:italic; letter-spacing:-.03em; }
.brand small { color:var(--yellow); font-size:10px; letter-spacing:.22em; margin-top:6px; }
.topbar nav { display:flex; align-items:center; gap:clamp(20px,3vw,46px); font-size:13px; font-weight:700; }
.topbar nav a { color:#cfd0d2; transition:color .25s ease; }
.topbar nav a:hover { color:var(--yellow); }
.nav-cta { background:var(--yellow); color:#07090b; font-size:12px; font-weight:900; padding:13px 18px; border-radius:999px; display:flex; gap:14px; align-items:center; }
.nav-cta:hover,.button-primary:hover { background:#ffd93e; transform:translateY(-2px); }

.hero { min-height:calc(100vh - 82px); display:grid; grid-template-columns:1.05fr .95fr; align-items:center; padding:70px clamp(22px,7vw,108px); color:#fff; background:var(--ink); position:relative; isolation:isolate; overflow:hidden; }
.hero-photo { position:absolute; inset:0; z-index:-3; background:linear-gradient(90deg,#080a0d 4%,rgba(8,10,13,.98) 40%,rgba(8,10,13,.62) 100%),url("https://images.unsplash.com/photo-1765211003026-f7666ea3a948?auto=format&fit=crop&q=85&w=2200") center/cover; opacity:.65; }
.hero-glow { position:absolute; width:620px; height:620px; right:-130px; top:4%; border-radius:50%; background:radial-gradient(circle,rgba(255,202,10,.24),transparent 68%); z-index:-2; filter:blur(8px); }
.hero-grid { position:absolute; inset:0; z-index:-1; opacity:.12; background-image:linear-gradient(rgba(255,255,255,.17) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.17) 1px,transparent 1px); background-size:72px 72px; mask-image:linear-gradient(90deg,#000,transparent 78%); }
.hero-copy { max-width:720px; padding-right:25px; }
.eyebrow,.kicker { color:var(--orange); text-transform:uppercase; letter-spacing:.18em; font-size:11px; font-weight:900; display:flex; align-items:center; gap:10px; }
.eyebrow i { display:block; width:34px; height:2px; background:var(--orange); }
.hero h1 { font-size:clamp(72px,10vw,150px); line-height:.78; letter-spacing:-.075em; text-transform:uppercase; margin:42px 0 34px; font-style:italic; font-weight:950; }
.hero h1 span { color:var(--yellow); }
.hero-copy>p { max-width:590px; color:#c4c6c8; line-height:1.75; font-size:clamp(16px,1.25vw,19px); }
.hero-actions { display:flex; flex-wrap:wrap; gap:13px; margin-top:34px; }
.button { min-height:52px; padding:0 22px; border-radius:6px; display:inline-flex; align-items:center; justify-content:center; gap:30px; text-transform:uppercase; letter-spacing:.07em; font-size:11px; font-weight:900; transition:.25s ease; }
.button-primary { background:var(--yellow); color:var(--ink); }
.button-ghost { border:1px solid rgba(255,255,255,.25); color:#fff; }
.button-ghost:hover { border-color:var(--yellow); color:var(--yellow); }
.hero-trust { display:flex; gap:36px; margin-top:50px; padding-top:25px; border-top:1px solid rgba(255,255,255,.15); max-width:610px; }
.hero-trust div { display:flex; align-items:center; gap:11px; }
.hero-trust b { color:var(--yellow); font-size:12px; }
.hero-trust span { color:#a8aaae; font-size:10px; line-height:1.45; text-transform:uppercase; letter-spacing:.09em; }
.hero-mark { justify-self:end; width:min(100%,650px); display:grid; place-items:center; position:relative; }
.hero-mark img { width:100%; filter:drop-shadow(0 30px 45px rgba(0,0,0,.48)); animation:float 5s ease-in-out infinite; }
.location-chip { position:absolute; bottom:5%; left:4%; padding:12px 17px; border:1px solid rgba(255,255,255,.2); border-radius:999px; background:rgba(8,10,13,.75); backdrop-filter:blur(14px); text-transform:uppercase; font-size:10px; letter-spacing:.15em; display:flex; align-items:center; gap:9px; }
.location-chip i { width:7px; height:7px; background:var(--orange); border-radius:50%; box-shadow:0 0 0 5px rgba(255,90,10,.14); }
@keyframes float { 50% { transform:translateY(-10px); } }

.ticker { background:var(--yellow); color:var(--ink); overflow:hidden; border-block:1px solid #d5a900; }
.ticker div { min-width:max-content; min-height:50px; display:flex; align-items:center; justify-content:center; gap:28px; padding:0 25px; font-size:12px; font-weight:950; font-style:italic; letter-spacing:.12em; }
.ticker b { color:var(--orange); font-size:16px; }

.section { padding:clamp(80px,9vw,140px) clamp(22px,7vw,108px); }
.section-heading { display:grid; grid-template-columns:1.25fr .75fr; gap:50px; align-items:end; margin-bottom:55px; }
.section-heading h2 { font-size:clamp(42px,5.2vw,78px); line-height:.96; letter-spacing:-.06em; margin:20px 0 0; text-transform:uppercase; font-weight:950; font-style:italic; }
.section-heading h2 em { color:var(--orange); font-style:inherit; }
.section-heading>p { color:var(--muted); line-height:1.75; max-width:510px; margin:0 0 8px; }
.service-grid { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid #dadbd7; }
.service-card { min-height:310px; padding:28px; background:#fafaf8; border-right:1px solid #dadbd7; position:relative; overflow:hidden; transition:.3s ease; }
.service-card:last-child { border-right:0; }
.service-card:hover { background:var(--ink); color:#fff; transform:translateY(-7px); box-shadow:0 24px 60px rgba(0,0,0,.13); z-index:2; }
.service-top { display:flex; justify-content:space-between; font-size:11px; color:var(--orange); font-weight:900; }
.service-top b { font-size:18px; }
.service-card h3 { font-size:22px; letter-spacing:-.035em; max-width:190px; margin:80px 0 14px; text-transform:uppercase; font-style:italic; }
.service-card p { color:#777b80; line-height:1.65; font-size:13px; max-width:245px; }
.service-line { position:absolute; bottom:0; left:0; height:5px; width:0; background:linear-gradient(90deg,var(--orange),var(--yellow)); transition:width .35s ease; }
.service-card:hover .service-line { width:100%; }

.about { display:grid; grid-template-columns:1fr 1fr; min-height:710px; padding-block:0; }
.about-visual { min-height:650px; background:linear-gradient(0deg,rgba(8,10,13,.25),rgba(8,10,13,.08)),url("https://images.unsplash.com/photo-1661615342785-9a02a05ec90b?auto=format&fit=crop&q=85&w=1400") center/cover; position:relative; overflow:hidden; }
.about-visual:after { content:""; position:absolute; width:260px; height:15px; background:var(--yellow); right:-75px; top:55px; transform:rotate(45deg); }
.photo-credit { position:absolute; left:22px; bottom:20px; background:rgba(8,10,13,.78); color:#fff; font-size:9px; letter-spacing:.1em; text-transform:uppercase; padding:9px 11px; }
.bolt { width:95px; height:95px; background:var(--yellow); display:grid; place-items:center; font-size:43px; position:absolute; right:0; bottom:0; }
.about-copy { background:var(--ink); color:#fff; padding:clamp(55px,7vw,105px); display:flex; flex-direction:column; justify-content:center; }
.about-copy h2 { margin:24px 0; font-size:clamp(40px,4.4vw,67px); line-height:.98; text-transform:uppercase; letter-spacing:-.055em; font-style:italic; }
.about-copy>p { color:#aeb1b5; line-height:1.8; max-width:590px; }
.about-copy ul { list-style:none; padding:0; margin:30px 0; display:grid; gap:16px; font-size:13px; text-transform:uppercase; letter-spacing:.08em; }
.about-copy li { display:flex; align-items:center; gap:12px; }
.about-copy li b { width:25px; height:25px; display:grid; place-items:center; background:var(--yellow); color:var(--ink); border-radius:50%; }
.text-link { display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid rgba(255,255,255,.28); padding:16px 0; max-width:320px; text-transform:uppercase; font-size:11px; font-weight:900; letter-spacing:.08em; color:var(--yellow); }

.process { background:#fff; }
.section-heading.compact { grid-template-columns:1fr; max-width:900px; }
.process-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #d8d9d5; }
.process-grid article { padding:32px 35px 20px 0; display:flex; gap:28px; border-right:1px solid #d8d9d5; margin-right:35px; }
.process-grid article:last-child { border:0; margin-right:0; }
.process-grid article>span { color:var(--orange); font-size:11px; font-weight:900; }
.process-grid h3 { margin:0 0 12px; text-transform:uppercase; font-size:19px; font-style:italic; }
.process-grid p { margin:0; color:var(--muted); font-size:13px; line-height:1.7; }

.faq { background:#f4f4f1; }
.faq-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.faq details { background:#fff; border:1px solid #dadbd7; padding:24px; }
.faq summary { cursor:pointer; list-style:none; font-size:18px; line-height:1.35; font-weight:900; text-transform:uppercase; font-style:italic; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary:after { content:"+"; float:right; color:var(--orange); margin-left:15px; }
.faq details[open] summary:after { content:"−"; }
.faq details p { color:var(--muted); line-height:1.7; font-size:14px; margin:20px 0 0; }

.contact { background:var(--ink); color:#fff; display:grid; grid-template-columns:1.12fr .88fr; gap:clamp(40px,8vw,125px); align-items:center; position:relative; overflow:hidden; }
.contact-light { position:absolute; width:560px; height:560px; left:-280px; bottom:-330px; border-radius:50%; background:var(--orange); filter:blur(140px); opacity:.18; }
.kicker.light { color:var(--yellow); }
.contact-copy h2 { margin:22px 0; font-size:clamp(49px,6vw,90px); line-height:.9; letter-spacing:-.065em; text-transform:uppercase; font-style:italic; }
.contact-copy p { color:#aeb1b5; line-height:1.8; max-width:580px; }
.button.large { margin-top:30px; min-height:58px; padding-inline:25px; }
.contact-card { border:1px solid rgba(255,255,255,.15); background:rgba(255,255,255,.04); padding:clamp(25px,4vw,47px); backdrop-filter:blur(12px); }
.contact-item { padding:0 0 22px; margin:0 0 22px; border-bottom:1px solid rgba(255,255,255,.12); display:grid; gap:9px; }
.contact-item small { color:var(--yellow); text-transform:uppercase; letter-spacing:.16em; font-size:9px; font-weight:900; }
.contact-item a,.contact-item span { font-size:clamp(15px,1.35vw,20px); line-height:1.45; }
.map-link { display:flex; justify-content:space-between; color:var(--orange); text-transform:uppercase; letter-spacing:.1em; font-size:10px; font-weight:900; }

footer { min-height:155px; background:#050607; color:#fff; border-top:1px solid rgba(255,255,255,.08); display:grid; grid-template-columns:1fr 1fr auto auto; align-items:center; gap:40px; padding:35px clamp(22px,7vw,108px); }
.footer-brand { display:flex; align-items:center; gap:12px; }
.footer-brand img { width:62px; height:62px; object-fit:contain; }
.footer-brand div { display:grid; }
.footer-brand strong { font-style:italic; font-size:14px; }
.footer-brand span { color:var(--yellow); letter-spacing:.18em; font-size:8px; margin-top:5px; }
footer>p { color:#85898e; font-size:12px; }
.footer-links { display:flex; gap:25px; font-size:10px; text-transform:uppercase; font-weight:800; letter-spacing:.08em; }
footer>small { color:#666a6f; font-size:9px; }
.floating { position:fixed; right:22px; bottom:22px; z-index:20; background:var(--orange); color:#fff; min-height:50px; padding:7px 18px 7px 8px; display:flex; align-items:center; gap:11px; border-radius:999px; box-shadow:0 12px 35px rgba(0,0,0,.28); text-transform:uppercase; font-size:10px; letter-spacing:.08em; }
.floating span { width:36px; height:36px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.5); border-radius:50%; font-size:9px; font-weight:900; }

@media (max-width:1020px) {
  .topbar nav { display:none; }
  .hero { grid-template-columns:1fr; padding-top:80px; }
  .hero-copy { position:relative; z-index:2; }
  .hero-mark { position:absolute; width:55vw; right:-10vw; bottom:-4vw; opacity:.24; }
  .location-chip { display:none; }
  .service-grid { grid-template-columns:1fr 1fr; }
  .service-card:nth-child(2) { border-right:0; }
  .service-card:nth-child(-n+2) { border-bottom:1px solid #dadbd7; }
  .about { grid-template-columns:1fr; }
  .faq-grid { grid-template-columns:1fr; }
  .about-visual { min-height:500px; }
  footer { grid-template-columns:1fr 1fr; }
}

@media (max-width:720px) {
  .topbar { height:70px; padding-inline:16px; }
  .brand { min-width:0; }
  .brand img { width:48px; height:48px; }
  .brand strong { font-size:12px; }
  .brand small { font-size:7px; }
  .nav-cta { padding:11px 13px; font-size:9px; gap:8px; }
  .hero { min-height:auto; padding:70px 20px 60px; }
  .hero h1 { font-size:clamp(65px,23vw,102px); margin-top:35px; }
  .hero-copy>p { font-size:15px; }
  .hero-actions { flex-direction:column; align-items:stretch; }
  .button { width:100%; }
  .hero-trust { gap:14px; justify-content:space-between; }
  .hero-trust div { display:grid; gap:6px; }
  .hero-mark { width:90vw; right:-35vw; bottom:5%; }
  .ticker div { justify-content:flex-start; animation:marquee 18s linear infinite; }
  @keyframes marquee { to { transform:translateX(-42%); } }
  .section { padding:75px 20px; }
  .section-heading { grid-template-columns:1fr; gap:28px; margin-bottom:40px; }
  .section-heading h2 { font-size:44px; }
  .service-grid { grid-template-columns:1fr; }
  .service-card { border-right:0; border-bottom:1px solid #dadbd7!important; min-height:250px; }
  .service-card:last-child { border-bottom:0!important; }
  .service-card h3 { margin-top:55px; }
  .about { padding:0; }
  .about-visual { min-height:420px; }
  .about-copy { padding:65px 22px; }
  .about-copy h2 { font-size:43px; }
  .process-grid { grid-template-columns:1fr; }
  .process-grid article { border-right:0; border-bottom:1px solid #d8d9d5; margin:0; padding:28px 0; }
  .contact { grid-template-columns:1fr; gap:45px; }
  .contact-copy h2 { font-size:51px; }
  footer { grid-template-columns:1fr; gap:20px; }
  .footer-links { flex-wrap:wrap; }
  .floating b { display:none; }
  .floating { padding-right:8px; }
}

@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .hero-mark img,.ticker div { animation:none; } }
