:root{--bg:#05070b;--panel:#0a0e15;--cyan:#9eea00;--white:#f7f9fc;--muted:#ffffff9a;--line:#ffffff16}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--white);font-family:Arial,"Helvetica Neue",sans-serif}body.admin-bar .site-header{top:32px}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}.site-header{position:fixed;z-index:100;inset:0 0 auto;border-bottom:1px solid #ffffff14;background:#05070bd9;backdrop-filter:blur(18px)}.header-inner{height:80px;max-width:1440px;margin:auto;padding:0 48px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px}.custom-logo{max-height:44px;width:auto}.brand-mark{font-size:20px;font-weight:900;letter-spacing:-.08em;font-style:italic}.brand-mark:first-letter{color:var(--cyan)}.brand-word{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.36em;color:#ffffffb5}.desktop-nav{display:flex;gap:32px;color:#ffffffa8;font-size:14px;font-weight:600}.desktop-nav a:hover{color:#fff}.header-actions{display:flex;align-items:center;gap:12px}.phone-round,.menu-toggle{width:43px;height:43px;border-radius:50%;border:1px solid #ffffff20;background:transparent;color:#ffffffb5;display:grid;place-items:center}.menu-toggle{display:none}.menu-toggle span{display:block;width:17px;height:1px;background:#fff;margin:2px}.mobile-nav{display:none}
.button{min-height:53px;padding:0 24px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;font-size:14px;font-weight:800;cursor:pointer}.button.primary{color:#031015;background:linear-gradient(105deg,#9eea00,#c0ff49);box-shadow:0 0 35px #9eea0020}.button.primary:hover{transform:translateY(-2px);box-shadow:0 10px 40px #9eea0035}.button.compact{min-height:44px;padding:0 18px;font-size:13px}.button.ghost{border:1px solid #ffffff2c;background:#ffffff0b;color:#fff}
.hero{position:relative;min-height:820px;display:flex;align-items:center;padding-top:80px;overflow:hidden;background:radial-gradient(circle at 65% 45%,#083b4f35,transparent 34%),var(--bg)}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#05070b 0,#05070b 35%,transparent 67%),linear-gradient(0deg,#05070b 0,transparent 18%);pointer-events:none}.hero-grid{position:absolute;inset:0;opacity:.22;background-image:linear-gradient(#ffffff0a 1px,transparent 1px),linear-gradient(90deg,#ffffff0a 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(to bottom,transparent 7%,black 35%,transparent 90%)}.hero-visual{position:absolute;inset:80px 0 0 38%;background:url("../images/h3d-hero.webp") center right/cover no-repeat;mask-image:linear-gradient(to right,transparent,black 25%)}.hero-inner{width:100%;max-width:1440px;margin:auto;padding:100px 48px;position:relative;z-index:2}.hero-copy{max-width:720px}.eyebrow{display:flex;align-items:center;gap:10px;color:#b8c3d3;font-size:11px;font-weight:800;letter-spacing:.24em;text-transform:uppercase}.eyebrow i{width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 5px #9eea0015,0 0 18px var(--cyan)}.eyebrow.plain{color:var(--cyan)}h1{max-width:760px;margin:28px 0 0;font-size:clamp(52px,7vw,112px);line-height:.9;letter-spacing:-.065em}.hero h1::first-line{color:white}.hero-intro{max-width:590px;margin:30px 0 0;font-size:20px;line-height:1.6;color:#ffffffa0}.hero-buttons{display:flex;gap:12px;margin-top:38px}.trust{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:42px;font-size:13px;color:#ffffff78}.trust span::first-letter{color:var(--cyan)}.scroll-cue{position:absolute;z-index:3;bottom:25px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:4px;color:#ffffff58;font-size:10px;letter-spacing:.2em;text-transform:uppercase}.scroll-cue b{font-size:20px}
.section{max-width:1440px;margin:auto;padding:128px 48px}.section-heading{display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:50px;margin-bottom:60px}.section h2{margin:16px 0 0;font-size:clamp(44px,5vw,86px);line-height:.98;letter-spacing:-.055em}.section h2 em{font-style:normal;color:#ffffff58}.section h2 span{background:linear-gradient(110deg,#fff 10%,#b9f34d 62%,#81bb00);background-clip:text;color:transparent}.section-heading>p{max-width:520px;font-size:17px;line-height:1.8;color:#ffffff80}
.services-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:20px;overflow:hidden}.service-card{min-height:410px;padding:32px;display:flex;flex-direction:column;border-right:1px solid var(--line);background:linear-gradient(160deg,#ffffff08,transparent 58%)}.service-card:last-child{border:0}.service-top{display:flex;justify-content:space-between}.service-icon{width:50px;height:50px;border:1px solid #9eea0066;border-radius:13px;display:grid;place-items:center;color:var(--cyan);font:11px monospace}.service-top small{color:#ffffff42}.service-card h3{margin:80px 0 0;font-size:23px}.service-card>p{color:#ffffff82;line-height:1.7}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:25px}.tags span{padding:7px 11px;border:1px solid var(--line);border-radius:999px;color:#ffffff6b;font-size:11px}
.projects-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:220px;gap:16px}.project-card{position:relative;overflow:hidden;margin:0;border-radius:18px;border:1px solid var(--line);background:#0b0f17}.project-card img{width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(1.06);transition:.5s}.project-card:hover img{transform:scale(1.035);filter:saturate(1)}.project-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#030508e8,transparent 58%)}.project-card figcaption{position:absolute;z-index:2;inset:auto 22px 20px;display:flex;flex-direction:column;gap:5px}.project-card figcaption span{color:#b9f34d;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.project-card figcaption strong{font-size:17px}.project-1{grid-column:span 7;grid-row:span 2}.project-2{grid-column:span 5;grid-row:span 3}.project-3{grid-column:span 4;grid-row:span 2}.project-4{grid-column:span 3;grid-row:span 2}.project-card:nth-child(n+5){grid-column:span 4;grid-row:span 2}
.process-panel{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:80px;padding:clamp(32px,5vw,80px);border:1px solid var(--line);border-radius:24px;background:radial-gradient(circle at 0 0,#172744,transparent 42%),var(--panel)}.process-panel>div>p:last-child{max-width:440px;color:#ffffff82;font-size:17px;line-height:1.7}.steps{border-top:1px solid var(--line)}.steps>div{display:grid;grid-template-columns:60px 1fr;gap:16px;padding:22px 0;border-bottom:1px solid var(--line)}.steps b{color:var(--cyan);font:12px monospace}.steps span{display:flex;flex-direction:column;gap:7px}.steps strong{font-size:17px}.steps small{color:#ffffff6d;line-height:1.5}.about{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:center}.about>div:last-child>p{font-size:clamp(19px,2vw,25px);line-height:1.65;color:#ffffff9c}.proofs{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.proofs span{padding:11px 16px;border:1px solid var(--line);border-radius:999px;color:#ffffff9c;font-size:13px}
.quote-panel{display:grid;grid-template-columns:.86fr 1.14fr;overflow:hidden;border:1px solid var(--line);border-radius:24px;background:var(--panel);box-shadow:0 35px 100px #0008}.quote-copy{padding:clamp(32px,5vw,80px);background:radial-gradient(circle at 0 100%,#0f496580,transparent 48%),#0d121b}.quote-copy>p:not(.eyebrow){max-width:440px;color:#ffffff78;line-height:1.7}.contact-list{display:grid;gap:13px;margin-top:46px}.contact-list a{display:flex;align-items:center;gap:15px}.contact-list i{width:35px;color:var(--cyan);font-style:normal}.contact-list span{display:flex;flex-direction:column;gap:3px;font-size:14px}.contact-list small{color:#ffffff48;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.quote-form{padding:clamp(32px,5vw,72px);display:grid;gap:17px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.quote-form label{display:grid;gap:8px;color:#ffffff96;font-size:12px;font-weight:700}.quote-form input,.quote-form select,.quote-form textarea{width:100%;padding:14px 16px;border:1px solid #ffffff20;border-radius:12px;background:#ffffff07;color:#fff;outline:0}.quote-form option{background:#10141c}.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{border-color:#9eea0088;box-shadow:0 0 0 3px #9eea0010}.file-drop{min-height:115px;place-items:center;align-content:center;border:1px dashed #9eea0066!important;border-radius:14px;background:#9eea0008;text-align:center;cursor:pointer}.file-drop b{font-size:26px;color:var(--cyan)}.file-drop small{font-weight:400;color:#ffffff58}.file-drop input{position:absolute;opacity:0;pointer-events:none}.consent{display:flex!important;grid-template-columns:20px 1fr;align-items:center}.consent input{width:17px}.honey{position:absolute!important;left:-10000px!important}.form-status{padding:14px;border-radius:10px}.form-status.success{background:#19d98a20;color:#80f7c5}.form-status.error{background:#ff5e6c20;color:#ff9da5}
.faq-section{display:grid;grid-template-columns:.72fr 1.28fr;gap:70px}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line);padding:25px 0}.faq-list summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;font-size:17px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:var(--cyan);font-size:23px}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details div{max-width:760px;padding-top:14px;color:#ffffff72;line-height:1.7}.site-footer{padding:50px 48px 28px;border-top:1px solid var(--line)}.footer-grid{max-width:1440px;margin:auto;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:50px}.site-footer p,.site-footer a{display:block;color:#ffffff66;font-size:13px;line-height:1.8}.site-footer strong{display:block;margin-bottom:12px;color:var(--cyan);font-size:11px;letter-spacing:.18em;text-transform:uppercase}.footer-bottom{max-width:1440px;margin:45px auto 0;padding-top:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:#ffffff4a;font-size:11px}.generic-content{max-width:1000px;margin:140px auto 80px;padding:0 24px;line-height:1.7}
@media(max-width:1100px){.desktop-nav{display:none}.services-grid{grid-template-columns:repeat(2,1fr)}.service-card:nth-child(2){border-right:0}.project-3,.project-4{grid-column:span 6}}
@media(max-width:900px){body.admin-bar .site-header{top:46px}.header-inner{padding:0 24px}.header-actions{display:none}.menu-toggle{display:grid}.mobile-nav.open{display:grid;padding:10px 24px 20px;background:#070a10}.mobile-nav a{padding:13px 0;border-bottom:1px solid var(--line)}.hero:after{background:linear-gradient(90deg,#05070bf2,#05070b8a),linear-gradient(0deg,#05070b,transparent 35%)}.hero-visual{inset:80px -35% 0 8%;opacity:.58}.hero-inner,.section{padding-left:24px;padding-right:24px}.section-heading,.process-panel,.about,.quote-panel,.faq-section{grid-template-columns:1fr}.section{padding-top:95px;padding-bottom:95px}}
@media(max-width:640px){.services-grid{grid-template-columns:1fr}.service-card{min-height:335px;border-right:0}.service-card h3{margin-top:52px}.projects-grid{grid-template-columns:1fr;grid-auto-rows:360px}.project-card{grid-column:auto!important;grid-row:auto!important}.form-grid{grid-template-columns:1fr}.hero-buttons{flex-direction:column}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:8px}h1{font-size:52px}.section h2{font-size:44px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.gallery-open{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:zoom-in}.project-card:after{z-index:1;pointer-events:none}.gallery-open:focus-visible{outline:2px solid var(--cyan);outline-offset:-4px}.gallery-lightbox[hidden]{display:none}.gallery-lightbox{position:fixed;z-index:9999;inset:0;display:grid;place-items:center;padding:70px 24px 30px;background:#020408eb;backdrop-filter:blur(16px)}.gallery-lightbox figure{max-width:min(1100px,92vw);max-height:88vh;margin:0;display:grid;gap:14px;justify-items:center}.gallery-lightbox img{max-width:100%;max-height:78vh;border-radius:16px;object-fit:contain;box-shadow:0 30px 100px #000}.gallery-lightbox figcaption{font-size:14px;color:#ffffffb8}.gallery-close{position:fixed;right:28px;top:24px;width:48px;height:48px;border:1px solid #ffffff30;border-radius:50%;background:#ffffff10;color:white;font-size:30px;cursor:pointer}.gallery-close:hover{border-color:var(--cyan);color:var(--cyan)}body.lightbox-open{overflow:hidden}
/* H3D 2.0: green identity, tablet navigation and readable secondary text. */
:root{--cyan:#9eea00;--muted:#bac3d0}body{font-size:16px}.company-logo{width:132px;height:auto;object-fit:contain}.site-footer .company-logo{width:180px}.hero-visual{background:none}.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:right center}.eyebrow,.tags span,.trust,.site-footer p,.site-footer a,.site-footer strong,.footer-bottom,.contact-list small,.file-drop small,.consent,.service-top small{font-size:14px;color:#bac3d0}.section-heading>p,.hero-intro,.service-card>p,.faq-list details div,.quote-copy>p,.steps small,.about p{color:#bac3d0}.section h2 em{color:#bac3d0}.project-card figcaption span{font-size:14px;color:#c0ff49}.section,.clients-strip{scroll-margin-top:100px}.clients-strip{padding:32px 24px;border-block:1px solid var(--line)}.clients-strip h2{font-size:14px;text-align:center;letter-spacing:.15em}.clients-logos{max-width:1380px;margin:auto;display:flex;overflow-x:auto;gap:35px;align-items:center}.clients-logos img{width:130px;height:85px;object-fit:contain;flex-shrink:0}.privacy-summary{font-size:14px;line-height:1.7;color:#bac3d0}.privacy-summary a,.consent a,.legal-links a,.map-link{text-decoration:underline;text-underline-offset:4px}.legal-links{display:flex;flex-wrap:wrap;gap:20px;max-width:1440px;margin:28px auto 0}.cookie-reopen,.cookie-actions button{border:1px solid #bac3d0;border-radius:8px;padding:12px 20px;color:#fff;background:#171d26;cursor:pointer}.cookie-notice[hidden]{display:none}.cookie-notice{position:fixed;bottom:16px;left:16px;right:16px;z-index:10001;display:flex;gap:28px;align-items:center;padding:24px;background:#0a0e15;border:1px solid #6e7a8d;border-radius:16px;box-shadow:0 8px 45px #0009}.cookie-notice h2{font-size:20px;margin:0 0 8px}.cookie-notice p{font-size:14px;line-height:1.6;margin:0 0 8px}.cookie-notice a{text-decoration:underline}.cookie-actions{display:flex;gap:12px;flex-shrink:0}.skip-link{position:fixed;top:-150px;left:12px;padding:14px;background:#9eea00;color:#05070b;z-index:20000}.skip-link:focus{top:12px}.generic-content h1{font-size:clamp(36px,6vw,64px);line-height:1.15;margin-bottom:35px}.generic-content h2{font-size:26px;margin-top:40px}.generic-content a{color:#c0ff49;text-decoration:underline}.honey{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #9eea00;outline-offset:4px}.form-status{border:1px solid #9eea00;padding:16px;line-height:1.6}.services-related{display:flex;gap:16px;flex-wrap:wrap;margin-top:30px}
@media(max-width:1279px){.desktop-nav{display:none}.menu-toggle{display:grid;flex-shrink:0}.mobile-nav.open{display:flex;flex-direction:column;padding:20px 30px;gap:18px;background:#070a10}.header-inner{padding-inline:24px}}
@media(min-width:1280px){.mobile-nav{display:none!important}.desktop-nav{gap:20px}.menu-toggle{display:none}}
@media(max-width:700px){.cookie-notice{flex-direction:column;align-items:stretch;max-height:75vh;overflow-y:auto}.cookie-actions button{flex:1}.header-actions .compact{display:none}.company-logo{width:110px}.hero h1{font-size:clamp(44px,12vw,64px)}.hero-inner{padding-inline:24px}.section{padding:80px 24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Continuous client ribbon; duplicate group makes the loop seamless. */
.clients-logos{overflow:hidden;display:block;max-width:1380px;margin:20px auto 0}
.clients-track{display:flex;width:max-content;animation:h3d-clients-scroll 40s linear infinite;will-change:transform}
.clients-group{display:flex;flex:none;align-items:center;gap:35px;padding-right:35px}
.clients-logos img{width:130px;height:85px;flex:none;object-fit:contain}
.clients-strip:hover .clients-track,.clients-strip:focus-within .clients-track,.clients-strip.is-paused .clients-track{animation-play-state:paused}
.clients-pause{display:block;margin:14px auto 0;border:1px solid #bac3d0;border-radius:6px;background:transparent;color:#bac3d0;padding:7px 12px;font-size:13px;cursor:pointer}
@keyframes h3d-clients-scroll{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){
.clients-track{animation:none!important;width:100%;transform:none!important}
.clients-group{width:100%;flex-wrap:wrap;justify-content:center;padding:0;gap:20px}
.clients-group[aria-hidden="true"],.clients-pause{display:none}
}

/* Gallery photographs without caption overlay. */
.project-card:after{display:none}

.cookie-notice{max-height:85vh;overflow-y:auto;align-items:flex-start}.cookie-actions{flex-wrap:wrap;max-width:430px}.cookie-settings[hidden]{display:none}.cookie-settings{margin-top:18px;border-top:1px solid #bac3d0;padding-top:12px}.cookie-settings label{display:flex;align-items:flex-start;gap:10px;margin:14px 0;font-size:15px;line-height:1.5}.cookie-settings input{width:20px;height:20px;flex:none;accent-color:#9eea00}.cookie-settings button{border:1px solid #bac3d0;border-radius:8px;padding:12px 20px;color:#fff;background:#171d26;cursor:pointer}@media(max-width:900px){.cookie-notice{flex-direction:column;gap:16px;padding:18px}.cookie-actions{width:100%;max-width:none}.cookie-actions button{flex:1;min-width:100px}}
