@import url("https://fonts.googleapis.com/css2?family=Onest:wght@400;500;600;700;800&display=swap");

@font-face {
  font-family:"ITC Avant Garde Gothic Pro";
  src:local("ITC Avant Garde Gothic Pro"),local("ITC Avant Garde Gothic Std"),local("Avant Garde Gothic Pro");
  font-display:swap;
}

:root { --ink:#07101c; --paper:#f8f8f5; --orange:#fb5824; --blue:#2867d7; --sky:#00b8f3; --line:rgba(9,24,41,.16); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:"Onest",Arial,Helvetica,sans-serif; }
.contact.contact h2 em { font-family:inherit; font-weight:inherit; }
.footer.footer .logo { height:34px; }
a { color:inherit; text-decoration:none; }
.shell { width:min(1160px, calc(100% - 48px)); margin:auto; }
.section-pad { padding:120px 0; }
.logo { display:block; width:auto; height:23px; object-fit:contain; }
.section-kicker,.eyebrow { display:flex; align-items:center; gap:10px; color:#ef4d28; font-size:10px; font-weight:800; letter-spacing:.12em; }
.section-kicker span { color:#2867d7; }
.section-kicker.light,.eyebrow.light { color:#ff926b; }
.section-kicker.light span { color:#a4dfff; }
.eyebrow i { display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--orange); }
h1,h2,h3,p { margin-top:0; }
h2 { font-size:clamp(42px,5vw,72px); line-height:.98; letter-spacing:-.07em; font-weight:700; }
h1 em,h2 em { font-style:normal; color:var(--orange); }
.hero { height:clamp(700px,100svh,820px); min-height:0; overflow:hidden; position:relative; isolation:isolate; background:#06101a; color:white; }
.hero-slide-layer { position:absolute;inset:0;z-index:-2;background-position:center;background-size:cover;animation:slideReveal 1.1s cubic-bezier(.2,.75,.2,1) both; }.hero:before { content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(3,8,14,.96) 0%,rgba(3,8,14,.82) 38%,rgba(3,8,14,.22) 72%,rgba(3,8,14,.1)), repeating-linear-gradient(90deg, transparent 0,transparent 77px,rgba(255,255,255,.055) 78px, transparent 80px); z-index:-1; }
.hero-glow { position:absolute; border-radius:50%; filter:blur(10px); z-index:-2; }
.glow-one { width:560px;height:560px;left:31%;top:-185px;background:radial-gradient(circle,rgba(255,147,26,.98) 0,rgba(255,83,15,.6) 34%,transparent 71%); animation:glowPulse 7s ease-in-out infinite; }
.glow-two { width:450px;height:430px;right:-140px;bottom:-130px;background:radial-gradient(circle,rgba(19,58,255,.62),transparent 70%);animation:glowPulse 9s ease-in-out infinite reverse; }
.hero-ribbon { position:absolute; z-index:-1; width:380px; height:700px; border:42px solid; border-radius:60% 46% 60% 42%; transform:rotate(19deg); opacity:.78; animation:ribbonFloat 10s ease-in-out infinite; }
.ribbon-left { left:-275px; top:185px; border-color:#ff5727; opacity:.42; }
.ribbon-right { right:-260px; bottom:-168px; border-color:#1729a8; opacity:.22; }
.nav { height:52px; display:flex; align-items:center; justify-content:space-between; position:fixed; top:18px; left:50%; width:min(1160px, calc(100% - 48px)); margin:0; padding:0; transform:translateX(-50%); z-index:20; border:0; background:transparent; box-shadow:none; backdrop-filter:none; }
.brand-block { height:52px; padding:0 17px; display:flex; align-items:center; background:rgba(5,15,28,.86); border:1px solid rgba(255,255,255,.19); border-radius:99px; box-shadow:0 9px 22px rgba(0,0,0,.15); backdrop-filter:blur(13px); }.nav .logo { height:22px; }
.nav-right { display:flex; align-items:center; gap:8px; }.nav-links { height:46px; align-items:center; display:flex; gap:0; padding:0 6px; background:rgba(5,15,28,.86); border:1px solid rgba(255,255,255,.19); border-radius:99px; box-shadow:0 9px 22px rgba(0,0,0,.15); backdrop-filter:blur(13px); color:rgba(255,255,255,.86); font-size:12px; }
.nav-links a { display:flex; align-items:center; height:34px; padding:0 14px; border-radius:99px; transition:background .2s,color .2s; }.nav-links a:hover { color:white; background:rgba(255,255,255,.1); }.nav-links small { display:none; }
.nav-cta { min-height:auto; padding:10px 13px!important; border:1px solid rgba(255,255,255,.18)!important; border-radius:99px; background:rgba(251,88,36,.94); color:#fff!important; font-size:11px; font-weight:700; box-shadow:0 9px 22px rgba(0,0,0,.15); }.nav-cta:hover { background:#ff7041!important; }.nav-cta b { color:#fff; font-size:14px; margin-left:5px; }
.menu-button { display:none; background:none; border:0; padding:8px; }
.hero-content { padding:122px 0 90px; }
.hero h1 { font-family:"ITC Avant Garde Gothic Pro","Avant Garde Gothic","Century Gothic","Onest",sans-serif; font-size:clamp(58px,8.6vw,118px); font-weight:500; letter-spacing:-.085em; line-height:.84; min-height:200px; margin:22px 0 28px; max-width:760px; }
.hero h1 em { display:inline-block; font-family:inherit; font-weight:inherit; letter-spacing:inherit; }
.hero-copy { min-height:80px; max-width:445px; color:rgba(255,255,255,.74); font-size:16px; line-height:1.65; }
.hero-actions { display:flex; gap:14px; margin-top:35px; }
.button { align-items:center; border-radius:99px; display:inline-flex; font-size:13px; font-weight:700; gap:22px; justify-content:center; padding:15px 20px; transition:transform .2s, background .2s; }
.button:hover { transform:translateY(-3px); }
.button span { font-size:17px; }
.button-primary { background:var(--orange); color:white; }
.button-ghost { border:1px solid rgba(255,255,255,.32); color:white; }
.hero-bottom { display:flex; justify-content:space-between; align-items:center; color:rgba(255,255,255,.5); font-size:10px; letter-spacing:.08em; padding-bottom:30px; }.hero-slider-controls { display:flex;align-items:center;gap:7px; }.hero-slider-controls button { appearance:none;padding:8px 0;border:0;background:transparent;cursor:pointer; }.hero-slider-controls span { display:block;width:24px;height:2px;background:rgba(255,255,255,.35);transition:width .35s,background .35s; }.hero-slider-controls button.is-active span { width:45px;background:#ff6839; }
.hero-bottom a { color:#fff; font-weight:700; }
.hero-bottom span { color:var(--orange); font-size:16px; margin-left:7px; }
.about { position:relative; }.about-grid { display:grid; grid-template-columns:.91fr 1.09fr; margin-top:45px; min-height:455px; overflow:hidden; border:1px solid #dde4e8; border-radius:13px; background:#fff; }.about-statement { position:relative;overflow:hidden;padding:39px;background:#0b1c34;color:#fff; }.about-statement:before { content:"";position:absolute;width:390px;height:390px;left:-175px;bottom:-150px;border-radius:50%;border:44px solid rgba(252,88,37,.92);transform:rotate(20deg); }.about-statement:after { content:"";position:absolute;width:390px;height:390px;right:-250px;top:-217px;border-radius:50%;border:34px solid rgba(47,118,227,.8); }.about-statement > span { position:relative;z-index:1;color:#76d7ff;font-size:10px;font-weight:800;letter-spacing:.13em; }.about h2 { position:relative;z-index:1;margin:76px 0 0;font-size:clamp(40px,4.1vw,60px);color:#fff; }.about h2 em { color:#ff6c3e; }.about-orbit { position:absolute;z-index:1;right:31px;bottom:31px;width:85px;height:85px;border-radius:50%;border:1px solid rgba(255,255,255,.38); }.about-orbit i { position:absolute;width:12px;height:12px;left:-6px;top:25px;border-radius:50%;background:#58cfff; }.about-orbit i:nth-child(2) { width:17px;height:17px;right:8px;left:auto;bottom:-8px;top:auto;background:#ff6a3a; }.about-orbit b { position:absolute;left:30px;top:27px;color:#fff;font-size:30px;font-weight:300; }.about-copy { position:relative;padding:57px 55px 38px; }.about-copy:after { content:"";position:absolute;right:0;top:0;width:185px;height:185px;background:linear-gradient(135deg,rgba(255,237,226,.9),rgba(232,247,255,.2));border-radius:0 0 0 185px; }.about-tag { position:relative;z-index:1;display:inline-block;border-radius:99px;padding:8px 10px;background:#eaf5ff;color:#2272cc;font-size:9px;font-weight:800;letter-spacing:.12em; }.about-copy p { position:relative;z-index:1;color:#45576a;font-size:16px;line-height:1.72;max-width:485px;margin:27px 0 0; }.about-copy p + p { margin-top:16px; }.value-row { position:relative;z-index:1;border-top:1px solid var(--line);margin-top:32px;padding-top:16px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;color:#172a42;font-size:11px;font-weight:700;line-height:1.45; }.value-row span b { display:block;color:#fa582b;font-size:10px;letter-spacing:.1em;margin-bottom:6px; }
.services { color:white; background:#050b13; position:relative; overflow:hidden; }
.services:after { content:""; position:absolute; height:540px; width:540px; border-radius:50%; right:-230px; bottom:-330px; background:radial-gradient(circle,rgba(0,180,244,.44),transparent 67%); }
.service-heading,.ways-heading { display:flex; justify-content:space-between; gap:40px; margin:58px 0 72px; align-items:end; }
.service-heading h2,.ways-heading h2 { margin:0; }
.service-heading h2 em { color:#3ec8ff; }
.service-heading p,.ways-heading p { max-width:355px; color:#adb9c7; font-size:15px; line-height:1.6; margin:0 0 6px; }
.service-grid { display:grid; grid-template-columns:1fr; gap:20px; position:relative; z-index:1; }
.service-card { --pointer-x:50%;--pointer-y:50%;--tilt-x:0deg;--tilt-y:0deg; position:relative;overflow:hidden;padding:43px 50px; min-height:440px; border:1px solid rgba(255,255,255,.16); background:radial-gradient(700px circle at 90% 110%,rgba(32,132,238,.29),transparent 47%),linear-gradient(135deg,#172a3e,#0b1421); border-radius:18px; backdrop-filter:blur(4px); transform:perspective(1000px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)); transform-style:preserve-3d; transition:transform .25s ease-out,border-color .3s,box-shadow .3s,background .3s; will-change:transform; }
.service-card:last-child { background:radial-gradient(700px circle at 12% 110%,rgba(255,94,38,.32),transparent 46%),linear-gradient(135deg,#195a9f,#091629)!important; }
.service-card:before { content:"";position:absolute;inset:0;background:radial-gradient(260px circle at var(--pointer-x) var(--pointer-y),rgba(88,207,255,.25),transparent 58%);opacity:0;transition:opacity .25s;pointer-events:none; }.service-card:hover { border-color:rgba(114,214,255,.78);background:linear-gradient(135deg,rgba(35,144,235,.28),rgba(255,255,255,.05));box-shadow:0 23px 38px rgba(0,0,0,.22),0 0 30px rgba(44,191,255,.11); }.service-card:hover:before { opacity:1; }
.service-card:last-child { background:linear-gradient(135deg,rgba(32,143,246,.28),rgba(255,255,255,.04)); }
.service-top { position:relative;z-index:1;color:#87d4ff; display:flex; justify-content:space-between; font-size:14px; font-weight:700; }.service-top b { color:#ff6d40; font-size:20px;transition:transform .35s cubic-bezier(.2,.85,.25,1); }.service-card:hover .service-top b { transform:translate(4px,-4px) scale(1.18); }
.service-card h3 { position:relative;z-index:1;margin:136px 0 15px; font-size:clamp(34px,4vw,56px); line-height:.95; letter-spacing:-.07em;transition:transform .3s,color .3s; }.service-card:hover h3 { transform:translate3d(0,-5px,28px);color:#d9f3ff; }
.service-card p { position:relative;z-index:1;color:#b9c5d1; max-width:420px; font-size:15px; line-height:1.55;transition:transform .3s; }.service-card:hover p { transform:translate3d(0,-5px,18px); }
.service-card ul { position:relative;z-index:1;display:flex; flex-wrap:wrap; gap:8px; list-style:none; padding:13px 0 0; margin:0; }.service-card li { border-radius:99px; border:1px solid rgba(255,255,255,.22); padding:7px 10px; color:#e6edf4; font-size:10px;transition:background .3s,border-color .3s,transform .3s; }.service-card:hover li { background:rgba(255,255,255,.12);border-color:rgba(151,224,255,.72); }.service-card:hover li:nth-child(2) { transform:translateY(-3px); }.service-card:hover li:nth-child(3) { transform:translateY(-5px); }
.process { background:#09192e; color:white; position:relative; overflow:hidden; }
.process:before { content:""; position:absolute; width:800px;height:800px;right:-510px;top:-420px;border:1px solid rgba(68,196,255,.34);border-radius:50%;box-shadow:0 0 0 70px rgba(68,196,255,.06),0 0 0 140px rgba(68,196,255,.035); }
.process:after { content:""; position:absolute; left:-190px;bottom:-340px;width:620px;height:620px;border-radius:50%;background:radial-gradient(circle,rgba(255,83,35,.25),transparent 67%); }
.process-intro { position:relative; z-index:1; display:flex; align-items:end; justify-content:space-between; gap:45px; margin:44px 0 76px; }
.process h2 { margin:0; }
.process h2 em { color:#5cc9ff; }
.process-intro > p { max-width:365px; color:#adbbca; font-size:15px; line-height:1.65; margin:0 0 6px; }
.process-steps { position:relative; z-index:1; display:grid; grid-template-columns:repeat(4,1fr); gap:15px; }
.process-steps:before { content:""; position:absolute; left:5%;right:5%;top:41px;height:1px;background:linear-gradient(90deg,#ff5e34,#ff9a77 32%,#37bdfc 65%,#9de2ff); }
.process-step { min-height:270px; position:relative; padding:0 17px 23px; display:flex; flex-direction:column; justify-content:flex-end; border:1px solid rgba(174,212,238,.26); background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.025)); backdrop-filter:blur(4px); overflow:hidden; transition:transform .42s cubic-bezier(.2,.85,.25,1), border-color .35s, box-shadow .35s, background .35s; }
.process-step:before { content:"";position:absolute;z-index:0;inset:-80% -45%;background:linear-gradient(105deg,transparent 40%,rgba(107,216,255,.22) 49%,rgba(255,255,255,.32) 50%,rgba(255,112,65,.16) 54%,transparent 64%);transform:translateX(-62%) rotate(8deg);transition:transform .7s cubic-bezier(.2,.8,.2,1);pointer-events:none; }
.process-step:hover { transform:translateY(-12px) scale(1.015); border-color:#6dd0ff; background:linear-gradient(145deg,rgba(52,152,225,.27),rgba(255,111,66,.09)); box-shadow:0 20px 40px rgba(0,0,0,.24),0 0 32px rgba(66,198,255,.16); }
.process-step:hover:before { transform:translateX(61%) rotate(8deg); }
.process-step:after { content:""; position:absolute;right:-35px;bottom:-35px;width:130px;height:130px;border-radius:50%;border:1px solid rgba(255,255,255,.13);box-shadow:0 0 0 28px rgba(255,255,255,.035); }
.step-number { position:absolute; left:17px; top:17px; color:#ff754e; font-size:10px; font-weight:800; letter-spacing:.11em; }
.step-dot { position:absolute;z-index:2; width:11px;height:11px;border-radius:50%;left:17px;top:36px;background:#ff6840;box-shadow:0 0 0 5px #09192e,0 0 0 6px rgba(255,104,64,.5);transition:transform .38s cubic-bezier(.2,.85,.25,1),box-shadow .38s; }
.process-step:nth-child(2) .step-dot { background:#ffb239;box-shadow:0 0 0 5px #09192e,0 0 0 6px rgba(255,178,57,.5); }.process-step:nth-child(3) .step-dot { background:#43c6ff;box-shadow:0 0 0 5px #09192e,0 0 0 6px rgba(67,198,255,.5); }.process-step:nth-child(4) .step-dot { background:#8ee6ff;box-shadow:0 0 0 5px #09192e,0 0 0 6px rgba(142,230,255,.5); }
.step-copy { position:relative; z-index:1;transition:transform .38s cubic-bezier(.2,.85,.25,1); }.process-step:hover .step-copy { transform:translateY(-7px); }.process-step:hover .step-dot { transform:scale(1.45);box-shadow:0 0 0 6px #09192e,0 0 0 9px rgba(89,213,255,.45),0 0 24px rgba(89,213,255,.9); }.process-steps .step-copy h3 { font-size:26px; margin:0 0 11px; letter-spacing:-.06em;transition:color .3s; }.process-step:hover .step-copy h3 { color:#9ce4ff; }.process-steps .step-copy p { color:#bdc8d5; font-size:13px; line-height:1.55; margin:0; }.process-step > b { position:absolute;right:14px;top:11px;font-size:68px;line-height:1;color:rgba(255,255,255,.055);letter-spacing:-.1em;transition:transform .45s cubic-bezier(.2,.85,.25,1),color .35s; }.process-step:hover > b { transform:translate(-5px,5px) scale(1.13);color:rgba(130,224,255,.14); }
.work { padding-top:120px; }
.work-intro h2 { margin:44px 0 58px; font-size:clamp(35px,4.4vw,62px); }
.work-intro h2 em { color:#2867d7; }
.project-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.project-card { aspect-ratio:1.24; border-radius:10px; padding:25px; color:white; position:relative; isolation:isolate; overflow:hidden; background:#172c4b; }
.project-wide { grid-column:span 2; aspect-ratio:2.5; }
.project-image { position:absolute; inset:0; z-index:-3; width:100%; height:100%; object-fit:cover; object-position:center; transform:scale(1.04); transition:transform .5s ease; }
.project-card:hover .project-image { transform:scale(1.1); }
.project-card:after { content:""; position:absolute; inset:0; background:linear-gradient(94deg,rgba(2,10,18,.93) 2%,rgba(5,15,27,.72) 45%,rgba(2,9,18,.24)); z-index:-1; }
.project-orb { display:none; }
.orange .project-orb { background:linear-gradient(150deg,#e54422,#ffad29 52%,#05172b 54%); }.blue .project-orb { background:linear-gradient(135deg,#0488c7,#1b2f8f 50%,#64d9ff); }.violet .project-orb { background:linear-gradient(135deg,#3d1d8a,#c14dac 48%,#0b2543); }.cyan .project-orb { background:linear-gradient(135deg,#00c4d6,#2875c9 52%,#0c1e3b); }.amber .project-orb { background:linear-gradient(135deg,#ffb318,#e54d2f 46%,#152658); }.coral .project-orb { background:linear-gradient(135deg,#fb6131,#ea256f 48%,#271a63); }.indigo .project-orb { background:linear-gradient(135deg,#283bd5,#8050da 48%,#09c9dc); }.mint .project-orb { background:linear-gradient(135deg,#00d2b0,#0b799f 49%,#1e256f); }
.project-ui { display:none; }
.project-ui i { display:block; width:50px; height:95px; border:2px solid rgba(255,255,255,.8); border-radius:7px; background:linear-gradient(160deg,rgba(255,255,255,.35),rgba(255,255,255,.04)); box-shadow:0 12px 20px rgba(0,0,0,.3); }
.project-ui i:nth-child(2) { height:135px; width:86px; }.project-ui i:nth-child(3) { height:112px; }
.project-content { width:58%; position:relative; z-index:1; }
.project-content p { color:#ff9a74; font-size:9px; font-weight:800; letter-spacing:.12em; margin:0 0 36px; }.project-content h3 { font-size:clamp(27px,3.1vw,44px); line-height:.9; letter-spacing:-.075em; margin:0 0 9px; }.project-content span { color:#cce3ee; font-size:12px; }.project-line { height:1px; background:rgba(255,255,255,.35); margin:17px 0 13px; }.project-content small { display:block; max-width:300px; font-size:11px; line-height:1.45; color:rgba(255,255,255,.78); }
.ways { background:linear-gradient(135deg,#f8f7f2 0%,#eef4f8 100%); }
.ways-body { display:grid; grid-template-columns:1.03fr 1.37fr; gap:16px; margin-top:45px; }.ways-lead { min-height:510px; position:relative; overflow:hidden; padding:35px; border-radius:13px; background:#0b1c34; color:white; }.ways-lead:before { content:"";position:absolute;width:380px;height:380px;right:-170px;top:-85px;border:1px solid rgba(92,207,255,.45);border-radius:50%;box-shadow:0 0 0 38px rgba(92,207,255,.08),0 0 0 76px rgba(92,207,255,.04); }.ways-lead:after { content:"";position:absolute;width:360px;height:360px;left:-205px;bottom:-200px;border-radius:50%;background:radial-gradient(circle,rgba(254,87,37,.82),rgba(254,87,37,0) 68%); }.ways-lead > span { position:relative;z-index:1;color:#7ed8ff;font-size:10px;font-weight:800;line-height:1.4;letter-spacing:.13em; }.ways-lead h2 { position:relative;z-index:1;margin:64px 0 25px;font-size:clamp(36px,4vw,56px); }.ways-lead h2 em { color:#ff6a3b; }.ways-lead p { position:relative;z-index:1;max-width:320px;color:#c4d0dc;font-size:14px;line-height:1.65; }.lead-mark { position:absolute;z-index:1;right:31px;bottom:31px;display:flex;gap:7px;align-items:end; }.lead-mark i { display:block;width:9px;height:9px;border-radius:50%;background:#ff6838; }.lead-mark i:nth-child(2) { height:22px;width:22px;background:#42c7ff; }.lead-mark i:nth-child(3) { height:13px;width:13px;background:#fff; }
.ways-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:16px; }.ways-grid article { min-height:245px;position:relative;overflow:hidden;padding:24px;border-radius:13px;background:#fff;box-shadow:0 12px 32px rgba(18,35,51,.07);transition:transform .25s,box-shadow .25s; }.ways-grid article:hover { transform:translateY(-6px);box-shadow:0 18px 38px rgba(18,35,51,.13); }.ways-grid article:before { content:"";position:absolute;width:145px;height:145px;right:-75px;bottom:-76px;border-radius:50%;background:#e8f7ff; }.ways-grid article:nth-child(2):before { background:#fff0e9; }.ways-grid article:nth-child(3):before { background:#ece8ff; }.ways-grid article:nth-child(4):before { background:#e5f8f2; }.ways-grid article:nth-child(5) { grid-column:span 2;min-height:180px;background:linear-gradient(108deg,#fff8e7,#fff); }.ways-grid article:nth-child(5):before { width:240px;height:240px;right:-56px;bottom:-175px;background:#ffe4ae; }.ways-grid span { position:relative;z-index:1;color:#2871d6;font-size:14px;font-weight:800;letter-spacing:.05em; }.ways-grid b { position:absolute;right:22px;top:20px;z-index:1;width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:#0d213b;color:#fff;font-size:15px; }.ways-grid h3 { position:relative;z-index:1;font-size:21px;line-height:1;margin:70px 0 13px;letter-spacing:-.055em; }.ways-grid p { position:relative;z-index:1;max-width:270px;color:#5a6d80;font-size:12px;line-height:1.55;margin:0; }.ways-grid article:nth-child(5) h3 { margin-top:29px; }
.contact { --contact-x:68%;--contact-y:43%;--contact-rotate:0deg; min-height:565px; position:relative; overflow:hidden; background:#0a1830; color:white; }.contact:before { content:""; position:absolute;inset:0;background:radial-gradient(560px circle at var(--contact-x) var(--contact-y),rgba(20,160,247,.82),transparent 62%),radial-gradient(430px circle at calc(var(--contact-x) + 18%) calc(var(--contact-y) + 32%),rgba(255,121,35,.7),transparent 62%),linear-gradient(125deg,#07132a 31%,#1a45bc 62%,#14253f); }.contact:after { content:""; position:absolute;width:600px;height:630px;border:65px solid rgba(255,255,255,.1);right:-240px;top:-205px;border-radius:48% 52% 46% 54%;transform:rotate(calc(28deg + var(--contact-rotate))); }.contact-content { position:relative;z-index:1;padding-top:106px; }.contact h2 { margin:24px 0 22px; }.contact h2 em { color:#ffd034; font-family:Georgia,serif;font-weight:400; }.contact-content > p:not(.eyebrow) { color:rgba(255,255,255,.76);font-size:16px;line-height:1.55;max-width:455px;margin-bottom:30px; }.contact .button-primary { transition:transform .3s cubic-bezier(.2,.85,.25,1),box-shadow .3s,background .3s; }.contact .button-primary:hover { transform:translate3d(6px,-5px,0);box-shadow:0 13px 28px rgba(0,0,0,.25);background:#ff7041; }.footer { min-height:135px; display:flex;align-items:center;justify-content:space-between;gap:25px; }.footer .logo { color:#0d1c31; }.footer p,.footer span { color:#657487; font-size:10px;line-height:1.55;margin:0; }.footer span { text-align:right; }
.hero-enter { animation:heroEnter .9s cubic-bezier(.2,.85,.25,1) both; }.hero-enter-late { animation-delay:.18s; }.reveal { opacity:0; transform:translateY(32px); transition:opacity .7s ease,transform .7s cubic-bezier(.2,.85,.25,1); }.reveal.is-visible { opacity:1; transform:translateY(0); }.service-card.reveal { transform:perspective(1000px) translateY(32px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)); }.service-card.reveal.is-visible { transform:perspective(1000px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)); }.service-grid .reveal:nth-child(2),.process-steps .reveal:nth-child(2),.project-grid .reveal:nth-child(2),.ways-grid .reveal:nth-child(2) { transition-delay:.1s; }.process-steps .reveal:nth-child(3),.project-grid .reveal:nth-child(3),.ways-grid .reveal:nth-child(3) { transition-delay:.18s; }.process-steps .reveal:nth-child(4),.project-grid .reveal:nth-child(4),.ways-grid .reveal:nth-child(4) { transition-delay:.26s; }.project-grid .reveal:nth-child(5),.ways-grid .reveal:nth-child(5) { transition-delay:.14s; }.project-grid .reveal:nth-child(6) { transition-delay:.22s; }.project-grid .reveal:nth-child(7) { transition-delay:.12s; }.project-grid .reveal:nth-child(8) { transition-delay:.2s; }
@keyframes heroEnter { from { opacity:0; transform:translateY(28px); } to { opacity:1; transform:translateY(0); } } @keyframes slideReveal { from { opacity:0; transform:scale(1.035); } to { opacity:1; transform:scale(1); } } @keyframes glowPulse { 0%,100% { transform:scale(1);opacity:.7; } 50% { transform:scale(1.13);opacity:1; } } @keyframes ribbonFloat { 0%,100% { transform:rotate(19deg) translateY(0); } 50% { transform:rotate(24deg) translateY(-18px); } } @media (prefers-reduced-motion:reduce) { *,*:before,*:after { animation-duration:.01ms!important; animation-iteration-count:1!important; scroll-behavior:auto!important; transition-duration:.01ms!important; } }
@media (max-width:760px) { .shell { width:min(100% - 32px,1160px); }.section-pad{padding:78px 0}.hero{height:720px;min-height:0}.nav{height:48px;top:10px;width:calc(100% - 32px)}.brand-block{height:48px;padding:0 15px}.brand-block > span{display:none}.menu-button{display:flex;gap:5px;flex-direction:column}.menu-button span{width:23px;height:2px;background:#fff}.nav-right{position:absolute;right:0;top:58px;display:none;flex-direction:column;align-items:stretch;gap:7px;width:220px;padding:9px;background:#101d32;border:1px solid rgba(255,255,255,.18);border-radius:12px}.nav-right.is-open{display:flex}.nav-links{height:auto;display:flex;flex-direction:column;align-items:stretch;padding:4px;background:transparent;border:0;box-shadow:none}.nav-links a{height:auto;padding:11px 10px}.nav-cta{text-align:center;margin:0!important}.hero-content{padding:110px 0 70px}.hero h1{font-size:60px;min-height:102px}.hero-copy{min-height:105px}.hero-bottom{font-size:8px}.about-grid{grid-template-columns:1fr;min-height:0;margin-top:32px}.about-statement{min-height:360px;padding:30px}.about h2{margin-top:55px}.about-copy{padding:33px 25px}.value-row{gap:8px}.service-heading,.process-intro{display:block;margin:37px 0}.service-heading p,.process-intro > p{margin-top:22px}.service-grid{grid-template-columns:1fr}.service-card{min-height:285px}.process-steps{grid-template-columns:1fr 1fr;gap:10px}.process-steps:before{display:none}.process-step{min-height:220px;padding:0 14px 18px}.project-grid{grid-template-columns:1fr}.project-wide{grid-column:span 1;aspect-ratio:1.24}.project-content{width:70%}.ways-body{grid-template-columns:1fr;margin-top:32px}.ways-lead{min-height:420px}.ways-grid{grid-template-columns:1fr}.ways-grid article,.ways-grid article:nth-child(5){grid-column:span 1;min-height:190px}.ways-grid h3{margin-top:45px}.ways-grid article:nth-child(5) h3{margin-top:45px}.contact-content{padding-top:80px}.footer{align-items:flex-start;flex-direction:column;padding:32px 0}.footer span{text-align:left} }
