:root{--ink:#0b0908;--bg:#101114;--panel:#191a1e;--line:#34363b;--muted:#b3b3bd;--white:#f7f8fa;--warm:#f2e8e1;--accent:#ff3b2f;--hover:#ff5a4f;--max:1320px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--white);font:400 16px/1.65 Inter,Arial,sans-serif}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}p{margin:0 0 1.25rem}h1,h2,h3{font-family:Manrope,Arial,sans-serif;font-weight:550;line-height:1.13;margin:0 0 1.2rem;letter-spacing:-.035em}h1{font-size:clamp(2.5rem,4.8vw,4.5rem)}h2{font-size:clamp(2rem,3.2vw,3rem)}h3{font-size:1.3rem;letter-spacing:-.02em}img{display:block;max-width:100%;height:auto}figure{margin:0}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid var(--warm);outline-offset:5px}button{color:inherit}main{min-height:60vh}section,.page-intro,.project-top,.project-pagination,.error-actions{max-width:var(--max);margin:auto;padding:90px 48px}section section{padding:0}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.8rem;font-weight:600;color:var(--muted);margin-bottom:1.5rem}.eyebrow:before{content:'';display:inline-block;width:18px;height:2px;background:var(--accent);vertical-align:middle;margin-right:12px}.coral,.number{color:var(--hover)}.number{font-size:.85rem;letter-spacing:.07em}.muted,.small{color:var(--muted)}.small{font-size:.875rem}.lead{font-size:1.15rem;color:var(--muted);max-width:690px}.actions{display:flex;flex-wrap:wrap;gap:12px}.button{display:inline-flex;gap:22px;align-items:center;justify-content:space-between;background:var(--accent);color:var(--ink);font-size:.9rem;font-weight:700;min-height:50px;padding:13px 20px;border:1px solid var(--accent);transition:background .18s}.button:hover{background:var(--hover)}.button.secondary{background:transparent;color:var(--white);border-color:#777684}.button.secondary:hover{background:var(--line)}.button span{font-size:1.1rem}.text-link{font-size:.9rem;border-bottom:1px solid #777684;padding-bottom:7px;display:inline-block}.text-link:hover{color:var(--hover);border-color:var(--hover)}.skip{position:fixed;left:12px;top:-100px;padding:14px;background:var(--accent);color:var(--ink);z-index:200}.skip:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}header{position:sticky;top:0;z-index:20;background:rgba(16,17,20,.97);border-bottom:1px solid var(--line)}.header-inner{max-width:1440px;padding:20px 48px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;font-size:1.6rem;font-weight:750;letter-spacing:-.04em;white-space:nowrap}.brand img{width:46px;height:40px;object-fit:contain}.desktop-nav{display:flex;gap:26px}.desktop-nav a{font-size:.88rem;color:var(--muted);padding:10px 0}.desktop-nav a:hover,.desktop-nav a[aria-current]{color:var(--white)}.desktop-nav a[aria-current]{border-bottom:2px solid var(--accent)}.header-inner>.button{font-size:.8rem;padding:10px 16px;min-height:44px}.menu-toggle{display:none;border:1px solid var(--line);background:none;padding:10px 14px;min-height:44px}.hero{max-width:1440px;display:grid;grid-template-columns:.92fr 1.2fr;gap:44px;align-items:center;padding:66px 48px 54px}.hero-brand{font-size:1rem;font-weight:650;color:var(--warm);margin:0 0 12px}.hero .hero-tagline{font-size:clamp(2.5rem,4.2vw,4rem);line-height:1.09}.hero .hero-tagline span{color:var(--hover)}.hero-copy>p:not(.eyebrow):not(.hero-brand):not(.hero-location){max-width:480px;color:var(--muted)}.hero .actions{margin-top:26px}.hero-location{font-size:.8rem;margin:30px 0 0;color:var(--muted)}.hero-location span{padding:0 10px;color:var(--accent)}.hero-visual{position:relative;border-top:2px solid var(--accent);padding-top:12px}.hero-visual img{width:100%;aspect-ratio:16/11;object-fit:cover;object-position:center}.hero-visual figcaption{display:flex;justify-content:space-between;gap:12px;font-size:.78rem;padding:15px 0;border-bottom:1px solid var(--line);color:var(--muted)}.hero-visual figcaption a{color:var(--white)}.trust{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;padding:23px 48px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-width:1440px;margin:auto;font-size:.8rem;color:var(--muted)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:36px}.section-heading h2{margin:0}.section-heading>.text-link{flex-shrink:0}.projects-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px 28px}.project-card a{display:block}.card-image{position:relative;overflow:hidden;background:#25272b}.card-image img{width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform .3s}.project-card a:hover img{transform:scale(1.025)}.open-label{position:absolute;right:0;bottom:0;padding:8px 14px;background:var(--bg);font-size:.8rem}.card-caption{display:flex;align-items:baseline;gap:20px;padding-top:18px}.card-caption>span:last-child{margin-left:auto}.card-caption h3{margin:0 0 6px}.card-caption p{color:var(--muted);font-size:.85rem;margin:0}.service-list{border-top:1px solid var(--line)}.service-list article{display:grid;grid-template-columns:36px 1fr 1.3fr;gap:30px;border-bottom:1px solid var(--line);padding:28px 0}.service-list h3{margin:0;font-size:1.35rem}.service-list p{color:var(--muted);margin:0}.services-section{padding-top:20px}.benefits{background:var(--warm);color:var(--ink);max-width:none;padding-left:max(48px,calc((100vw - 1224px)/2));padding-right:max(48px,calc((100vw - 1224px)/2))}.benefits .eyebrow{color:#515158}.benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:48px}.benefit-grid h3{margin-top:20px}.benefit-grid p{color:#515158}.benefit-grid .number{color:#a82319}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}.steps article{border-top:1px solid var(--line);padding-top:22px}.steps h3{margin-top:25px}.steps p{color:var(--muted)}.about-strip,.split{display:grid;grid-template-columns:1fr 2fr;gap:70px;border-top:1px solid var(--line)}.about-strip>div{max-width:700px}.about-strip p:not(.eyebrow),.split p{color:var(--muted)}.video-strip{display:flex;justify-content:space-between;gap:40px;align-items:center;padding-top:30px}.video-strip>a{padding:16px 0;border-bottom:1px solid var(--accent)}.video-strip p{color:var(--muted)}.cta{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:45px}.cta p:not(.eyebrow){color:var(--muted);max-width:510px}.cta .actions{flex-direction:column}.cta .button{min-width:240px}.page-intro{padding-top:85px;padding-bottom:40px}.page-intro h1{max-width:950px}.portfolio-section{padding-top:22px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:40px}.filters button{background:transparent;border:1px solid var(--line);padding:10px 20px;min-height:46px;color:var(--muted);font-size:.9rem}.filters button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--ink);font-weight:700}.project-card[hidden]{display:none}.project-top{padding-bottom:36px}.project-top .eyebrow{margin-top:40px}.project-hero{max-width:1152px;margin:0 auto;background:var(--panel)}.project-hero img{width:100%;max-height:648px;object-fit:contain}.project-context{display:grid;grid-template-columns:1.3fr 1fr;gap:80px}.project-context p{color:var(--muted);max-width:540px}dl{margin:0}dt{font-size:.85rem;color:var(--muted);margin-top:15px}dd{margin:4px 0 0;padding:0 0 12px;border-bottom:1px solid var(--line)}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:28px}.gallery-item{padding:0;border:0;background:transparent;text-align:left;min-width:0}.gallery-item>img{width:100%;aspect-ratio:16/9;object-fit:contain;background:var(--panel)}.gallery-item>span{display:flex;justify-content:space-between;padding:10px 0;color:var(--muted);font-size:.85rem}.gallery-item:hover>span{color:var(--hover)}.project-pagination{display:flex;justify-content:space-between;gap:30px;border-top:1px solid var(--line);padding-top:35px;padding-bottom:35px}.project-pagination a{max-width:45%;font-size:1.15rem}.project-pagination a:last-child{text-align:right}.project-pagination span{display:block;color:var(--muted);font-size:.8rem;margin-bottom:8px}dialog{background:var(--bg);color:var(--white);border:1px solid var(--line)}dialog::backdrop{background:rgba(0,0,0,.93)}#lightbox{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:25px;border:0}#lightbox[open]{display:flex;flex-direction:column}.lightbox-top{display:flex;align-items:center;justify-content:space-between}.lightbox-top p{margin:0}.lightbox-top button,.lightbox-stage button,.menu-close{border:1px solid var(--line);background:var(--panel);min-width:48px;min-height:48px;padding:10px 18px}.lightbox-stage{flex:1;min-height:0;display:flex;gap:24px;align-items:center;justify-content:space-between}.lightbox-stage img{max-height:calc(100dvh - 170px);max-width:calc(100% - 150px);width:auto;object-fit:contain;margin:auto;touch-action:pan-y}.lightbox-help{text-align:center;font-size:.85rem;color:var(--muted);margin:18px 0 0}.about-content{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding-top:35px}.about-content p{color:var(--muted)}.about-content figure{align-self:center}.about-content figure img{width:100%}.about-content figcaption{font-size:.85rem;color:var(--muted);margin-top:15px}.contact-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;padding-top:40px}.contact-primary{min-width:0}.contact-email,.contact-phone{display:block;font-size:clamp(1.2rem,2.3vw,1.8rem);overflow-wrap:anywhere;margin:12px 0}.contact-layout .actions{margin:30px 0 20px}.contact-layout aside{border-left:1px solid var(--line);padding-left:40px}.contact-layout li{margin-bottom:14px}.contact-layout aside p,.contact-layout ul{color:var(--muted)}.contact-layout ul{padding-left:20px}.social-section{padding-top:25px}.social-links{display:flex;flex-wrap:wrap;gap:30px}.social-links a{border-bottom:1px solid var(--line);padding:10px 0}.prose{max-width:900px;padding-top:20px}.prose h2{font-size:1.5rem;margin-top:40px}.prose p{color:var(--muted)}.prose a{text-decoration:underline;text-underline-offset:4px}.prose dl{margin-bottom:40px}.error-actions{padding-top:10px;padding-bottom:100px}footer{background:var(--ink);padding:60px 48px 25px;border-top:1px solid var(--line)}.footer-main,.footer-bottom{max-width:1224px;margin:auto}.footer-main{display:grid;grid-template-columns:1.5fr .7fr 1.1fr .7fr;gap:35px}.footer-main>div>a:not(.brand),.footer-main nav a{display:block;font-size:.9rem;margin:0 0 10px;overflow-wrap:anywhere}.footer-main>.brand{margin-bottom:10px}.footer-main p{font-size:.9rem}.footer-main .brand{margin-bottom:15px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:45px;border-top:1px solid var(--line);padding-top:24px;color:var(--muted);font-size:.8rem}.footer-bottom>div{display:flex;gap:24px}.footer-bottom p{margin:0}footer a:hover{color:var(--hover)}
@media(min-width:1600px){.hero{padding-top:90px;padding-bottom:80px}.hero-visual img{aspect-ratio:16/10}}
@media(max-width:1100px){.desktop-nav{gap:15px}.header-inner{padding:16px 30px}.header-inner>.button{display:none}.hero{gap:26px}.hero .actions{flex-direction:column;align-items:flex-start}.benefit-grid{grid-template-columns:1fr 1fr}.footer-main{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}.hero .hero-tagline{font-size:3rem}}
@media(max-width:760px){section,.page-intro,.project-top,.project-pagination,.error-actions{padding:55px 24px}.header-inner{padding:12px 24px}.desktop-nav{display:none}.menu-toggle{display:block}.brand{font-size:1.4rem}.hero{display:flex;flex-direction:column;gap:30px;padding:40px 24px 32px;align-items:stretch}.hero .hero-tagline{font-size:2.8rem}.hero .actions{flex-direction:row}.hero .button{font-size:.85rem;gap:12px}.hero .eyebrow{font-size:.75rem}.hero-location{margin-top:22px}.hero-visual img{aspect-ratio:16/10}.hero-visual figcaption{font-size:.75rem}.trust{padding:22px 24px;display:grid;grid-template-columns:1fr 1fr;font-size:.8rem}.section-heading{align-items:start;flex-direction:column;gap:18px}.projects-grid,.gallery{gap:30px 18px}.projects-grid{grid-template-columns:1fr}.card-caption{gap:15px}.service-list article{grid-template-columns:28px 1fr;gap:10px 14px;padding:25px 0}.service-list p{grid-column:2}.service-list h3{font-size:1.2rem}.benefits{padding:55px 24px}.benefit-grid{gap:25px}.benefit-grid h3{font-size:1.2rem}.steps{gap:24px}.about-strip,.split,.project-context,.about-content,.contact-layout{grid-template-columns:1fr;gap:25px}.about-strip>.eyebrow{margin:0}.video-strip,.cta{flex-direction:column;align-items:stretch;gap:20px}.cta .actions{align-items:flex-start}.page-intro{padding-bottom:25px}.portfolio-section{padding-top:15px}.project-top .eyebrow{margin-top:30px}.project-hero{margin:0 24px}.project-context{padding-bottom:0}.gallery{grid-template-columns:1fr}.project-pagination{padding-top:25px;padding-bottom:25px}.about-content{padding-top:10px}.contact-layout{padding-top:10px}.contact-layout aside{border-left:0;border-top:1px solid var(--line);padding:28px 0 0}.contact-email{font-size:1.45rem}.social-links{gap:20px}.prose{padding-top:0}footer{padding:45px 24px 24px}.footer-main{gap:30px 20px}.footer-bottom{flex-direction:column}.lightbox-stage{gap:8px;flex-wrap:wrap;justify-content:center}.lightbox-stage img{max-width:100%;width:auto;max-height:calc(100dvh - 230px);order:-1}.lightbox-stage button{align-self:flex-end}.lightbox-top button{font-size:.85rem}#lightbox{padding:16px}.lightbox-help{font-size:.75rem}#mobile-menu{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:24px;border:0}#mobile-menu .menu-close{display:block;margin:0 0 30px auto}#mobile-menu nav{display:flex;flex-direction:column;gap:0;margin-bottom:30px}#mobile-menu nav a{font-size:1.8rem;border-bottom:1px solid var(--line);padding:15px 0}#mobile-menu nav a[aria-current]{color:var(--hover)}}
@media(max-width:380px){.hero .hero-tagline{font-size:2.4rem}.hero .actions{flex-direction:column;align-items:stretch}.trust,.benefit-grid,.steps{grid-template-columns:1fr}.footer-main{grid-template-columns:1fr}.hero-visual figcaption{flex-direction:column}.contact-email{font-size:1.2rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Embedded videos: no third-party request until explicit playback. */
.video-player{position:relative;aspect-ratio:16/9;min-height:200px;background:#0b0908}
.video-launch{position:relative;display:block;width:100%;height:100%;padding:0;border:0;background:#0b0908}
.video-launch[hidden]{display:none}
.video-launch img{width:100%;height:100%;object-fit:cover;opacity:.85}
.video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:12px;padding:14px 20px;background:#ff3b2f;color:#0b0908;white-space:nowrap;font-size:.9rem;font-weight:700}
.video-launch:hover .video-play{background:#ff5a4f}
.video-duration{position:absolute;right:12px;bottom:12px;background:#0b0908;color:#fff;padding:3px 8px;font-size:.85rem}
.video-player iframe{display:block;width:100%;height:100%;min-height:200px;border:0}
.video-stop{display:block;width:100%;border:1px solid #777684;min-height:44px;background:#191a1e;color:#f7f8fa;font-size:.85rem;padding:8px 15px}
.video-player:has(iframe){margin-bottom:48px}
.video-notice,.video-fallback{color:#b3b3bd;font-size:.875rem;line-height:1.55;margin:14px 0 0}
.video-notice a,.video-fallback a{text-decoration:underline;text-underline-offset:3px}

/* Footer social marks; text labels remain accessible. */
.footer-main>div>a.social-link{display:flex;align-items:center;gap:8px}
.social-link .social-icon{display:block;flex:0 0 18px;width:18px;height:18px}

/* Keep the original visual identity while making the activity explicit. */
.hero .hero-heading{font-size:1rem;line-height:1.5;letter-spacing:.03em;text-transform:none;max-width:480px;color:var(--muted);margin-bottom:1.5rem}
.hero .hero-copy>.hero-tagline{font-family:Manrope,Arial,sans-serif;font-weight:550;letter-spacing:-.035em;color:var(--white);margin:0 0 1.2rem}
.page-intro .service-heading{font-size:clamp(2rem,4vw,3.6rem);line-height:1.15}
