@font-face {
  font-family:Manrope;
  src:url('Manrope-Variable.ttf') format('truetype');
  font-weight:200 800;
  font-style:normal;
  font-display:swap;
}
:root {
  --bg:#101214; --text:#F7F4EC; --muted:#BDC5CC; --subtle:#ABB5BD;
  --yellow:#FFC000; --line:#FFFFFF28; --wrap:1160px; --header-height:88px;
}
*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:calc(var(--header-height) + 24px); }
body { margin:0; background:var(--bg); color:var(--text); font:16px/1.8 Manrope,Arial,sans-serif; -webkit-font-smoothing:antialiased; }
body:has(dialog[open]) { overflow:hidden; }
a { color:inherit; text-decoration:none; }
button,input,textarea { font:inherit; }
button,summary { cursor:pointer; }
button,a,input,textarea,summary { -webkit-tap-highlight-color:transparent; }
img { display:block; max-width:100%; height:auto; }
p,h1,h2,h3,figure,dl,dd { margin:0; }
h1,h2,h3 { font-weight:650; line-height:1.15; letter-spacing:-.035em; }
h2 { font-size:clamp(36px,3.4vw,48px); }
h2>span,h1>span { color:var(--yellow); }
h1,h2,h3,.entry-content,.scope-title,.button,.faq summary,.contact-details>summary,.company-facts dd { overflow-wrap:anywhere; }
::selection { color:var(--bg); background:var(--yellow); }
:focus-visible { outline:3px solid var(--yellow); outline-offset:5px; }
[hidden] { display:none!important; }
.wrap { width:min(var(--wrap),calc(100% - 80px)); margin-inline:auto; }
.section { padding-block:92px; }
.icon-definitions { position:absolute; width:0; height:0; overflow:hidden; }
.icon { display:inline-block; flex-shrink:0; width:24px; height:24px; fill:none; vertical-align:middle; }
.accent { stroke:var(--yellow); }
.eyebrow { font-size:12px; line-height:1.7; letter-spacing:.09em; font-weight:650; color:var(--yellow); }
.glass { background:linear-gradient(130deg,#FFFFFF15,#FFFFFF07); border:1px solid #FFFFFF29; box-shadow:inset 0 1px 0 #FFFFFF13,0 18px 65px #0004; backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); }
.button { display:inline-flex; align-items:center; justify-content:space-between; max-width:100%; gap:20px; min-height:52px; padding:14px 19px; border:1px solid transparent; border-radius:8px; font-size:15px; line-height:1.5; font-weight:700; transition:background .18s,box-shadow .18s; }
.button .icon { width:20px; height:20px; }
.button-yellow { color:#101214; background:var(--yellow); }
.button-yellow:hover { background:#FFD04D; box-shadow:0 3px 26px #FFC00022; }
.text-link { display:inline-flex; align-items:center; min-height:44px; gap:16px; font-size:15px; font-weight:600; }
.text-link .icon { width:20px; height:20px; color:var(--yellow); }
.text-link:hover { color:var(--yellow); }
.skip-link { position:fixed; top:12px; left:20px; right:20px; width:fit-content; max-width:calc(100% - 40px); transform:translateY(calc(-100% - 24px)); z-index:100; color:var(--bg); background:var(--yellow); padding:12px 16px; }
.skip-link:focus { transform:translateY(0); }

/* Shared brand assets are declared once, including in the standalone build. */
.brand { display:flex; align-items:center; flex-shrink:0; width:224px; gap:10px; min-height:56px; }
.brand-symbol { width:61px; height:47px; background:url('ecobox-symbol.png') center/contain no-repeat; flex-shrink:0; }
.brand-name { display:flex; flex-direction:column; align-items:flex-end; gap:3px; }
.brand-wordmark { width:151px; height:43px; background:url('ecobox-original.png') center/contain no-repeat; }
.brand-descriptor { font-size:10px; letter-spacing:.38em; line-height:1.4; padding-left:.38em; color:#CDD2D6; font-weight:600; }
.header { position:sticky; top:0; z-index:30; background:#101214E8; border-bottom:1px solid #FFFFFF0D; backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); }
.header-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; height:var(--header-height); }
.navigation { display:flex; gap:26px; align-items:center; font-size:14px; color:#D1D6DB; }
.navigation>a { display:flex; min-height:44px; align-items:center; }
.navigation>a:hover { color:var(--yellow); }
.navigation .nav-contact { gap:17px; border:1px solid #FFFFFF36; border-radius:8px; padding:9px 14px; }
.nav-contact>.icon { width:18px; height:18px; }
.menu-toggle { display:none; }

.hero { position:relative; overflow:clip; isolation:isolate; padding:54px 0 32px; }
.hero-content { position:relative; z-index:2; text-align:center; }
.hero-kicker { display:inline-flex; align-items:center; gap:9px; max-width:100%; border:1px solid #FFFFFF25; border-radius:30px; padding:6px 13px; background:#181C2080; color:#CFD5DA; font-size:12px; line-height:1.7; font-weight:550; }
.hero-kicker>span { width:5px; height:5px; background:var(--yellow); border-radius:50%; flex-shrink:0; }
.hero h1 { margin-top:24px; font-size:clamp(44px,4.6vw,66px); line-height:1.12; letter-spacing:-.045em; }
.hero-description { margin:24px auto 0; max-width:710px; font-size:16px; line-height:1.9; color:#CBD1D7; }
.hero-glow { position:absolute; z-index:-1; width:1160px; height:550px; left:calc(50% - 580px); top:220px; pointer-events:none; filter:blur(32px); background:radial-gradient(ellipse at 50% 85%,#FFC00015,transparent 64%); }
.geometry { position:absolute; z-index:0; width:480px; height:480px; pointer-events:none; }
.geometry-left { left:-225px; top:110px; transform:rotate(-30deg) skew(7deg,7deg); }
.geometry-right { right:-215px; top:140px; transform:rotate(29deg) skew(-7deg,-7deg); }
.geometry i { display:block; position:absolute; inset:0; border:1px solid #D5DBE32B; border-radius:23px; background:linear-gradient(140deg,#9BA9B81E,#5C687A07 70%); box-shadow:inset 0 1px 0 #FFFFFF18,0 20px 70px #0007; }
.geometry i:nth-child(2) { transform:translate(32px,36px); border-color:#FFFFFF1B; background:linear-gradient(130deg,#FFFFFF0E,transparent 80%); }
.geometry i:nth-child(3) { transform:translate(64px,72px); border-color:#FFC00036; background:linear-gradient(125deg,#FFC0000C,transparent 80%); }
.solution-entries { display:grid; grid-template-columns:1fr 1fr; grid-auto-rows:1fr; gap:24px; max-width:1100px; margin:38px auto 0; text-align:left; }
.solution-entry { display:grid; grid-template-columns:120px minmax(0,1fr); align-items:center; gap:18px; padding:26px 26px 23px 17px; min-height:236px; border-radius:16px; transition:transform .2s,border-color .2s,background .2s; }
.solution-entry:hover { transform:translateY(-4px); border-color:#FFC00080; background:linear-gradient(130deg,#FFFFFF1B,#FFFFFF0A); }
.entry-art { width:120px; height:112px; object-fit:contain; }
.entry-kicker { color:#CAD1D7; font-size:12px; letter-spacing:.045em; line-height:1.65; font-weight:650; }
.entry-content h2 { margin-top:10px; font-size:25px; letter-spacing:-.03em; line-height:1.25; }
.entry-description { margin-top:12px; color:var(--muted); font-size:15px; line-height:1.85; min-height:56px; }
.entry-action { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-top:18px; min-height:44px; font-size:14px; line-height:1.6; font-weight:650; }
.entry-action>.icon { width:34px; height:34px; border-radius:50%; padding:8px; color:#101214; background:var(--yellow); }
.experience-proof { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,7.5em),1fr)); gap:40px; max-width:650px; margin:30px auto 0; padding-top:23px; border-top:1px solid #FFFFFF24; }
.experience-item p { color:var(--muted); font-size:12px; line-height:1.7; }
.experience-item strong { display:block; margin-top:3px; color:var(--text); font-size:34px; line-height:1.2; font-weight:650; letter-spacing:-.035em; }
.experience-item>span { display:block; margin-top:7px; font-size:14px; line-height:1.75; color:var(--muted); }

.service { position:relative; }
.service-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px 64px; align-items:center; }
.service-copy,.project-selection,.consulting-scope,.about-copy,.contact-copy,.contact-side { min-width:0; }
.service h2 { margin-top:17px; }
.service-intro { max-width:520px; margin-top:25px; color:var(--muted); font-size:16px; line-height:1.95; }
.benefits { list-style:none; margin:29px 0 31px; padding:0; }
.benefits li { display:flex; gap:14px; margin-top:24px; align-items:flex-start; }
.benefits li>.icon { margin-top:2px; color:#D0D7DD; }
.benefits h3 { font-size:17px; line-height:1.5; font-weight:650; letter-spacing:-.015em; }
.benefits p { margin-top:5px; font-size:15px; line-height:1.85; color:var(--muted); }
.service-note { font-size:13px; line-height:1.85; color:var(--subtle); margin-top:13px; }
summary::-webkit-details-marker { display:none; }

.about-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:64px; align-items:center; }
.about h2 { margin-top:16px; font-size:clamp(34px,3vw,43px); }
.about-copy>p:not(.eyebrow) { margin-top:24px; font-size:16px; color:var(--muted); line-height:1.95; }
.company-facts { margin:26px 0 19px; border-top:1px solid var(--line); }
.company-facts>div { display:grid; grid-template-columns:108px minmax(0,1fr); gap:16px; padding:13px 0; border-bottom:1px solid #FFFFFF13; font-size:14px; line-height:1.75; }
.company-facts dt { color:var(--subtle); }
.company-facts dd { color:var(--text); font-weight:550; }
.faq { padding-top:25px; }
.faq-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:64px; }
.faq h2 { margin-top:17px; font-size:38px; }
.section-description { margin-top:22px; color:var(--muted); font-size:16px; line-height:1.9; }
.faq-list { border-top:1px solid var(--line); }
.faq details { border-bottom:1px solid var(--line); padding:21px 0; }
.faq summary { display:flex; align-items:center; justify-content:space-between; list-style:none; gap:20px; min-height:32px; font-size:16px; line-height:1.7; font-weight:600; }
.faq summary>.icon { width:18px; height:18px; color:var(--muted); transition:transform .18s; }
.faq details[open] summary>.icon { transform:rotate(180deg); }
.faq details>p { padding:17px 20px 0 0; color:var(--muted); font-size:15px; line-height:1.95; }
.contact { padding-top:16px; }
.contact-shell { display:grid; grid-template-columns:1fr .9fr; gap:64px; align-items:center; padding:50px 52px; border-radius:17px; background:linear-gradient(120deg,#FFFFFF13,#FFFFFF07); }
.contact h2 { margin-top:16px; }
.contact-copy>p:not(.eyebrow) { margin-top:22px; font-size:16px; color:var(--muted); line-height:1.9; }
.direct-whatsapp { margin-top:26px; min-width:255px; }
.contact-phone { display:block; width:fit-content; min-height:44px; padding-top:12px; font-size:14px; color:var(--muted); }
.contact-email { display:inline-flex; align-items:center; gap:10px; min-height:44px; max-width:100%; color:var(--muted); font-size:14px; overflow-wrap:anywhere; }
.contact-email>.icon { width:19px; height:19px; }
.contact-hint { color:var(--muted); font-size:16px; line-height:1.9; padding-bottom:22px; }
.contact-details { border-top:1px solid var(--line); padding-top:17px; }
.contact-details>summary { display:flex; align-items:center; justify-content:space-between; gap:20px; list-style:none; min-height:44px; font-size:15px; line-height:1.7; font-weight:600; }
.contact-details>summary>.icon { width:18px; height:18px; transition:transform .18s; }
.contact-details[open]>summary>.icon { transform:rotate(180deg); }
.contact-form { margin-top:22px; }
.contact-form fieldset { border:0; margin:0 0 23px; padding:0; min-width:0; }
.contact-form legend { font-size:14px; font-weight:600; margin-bottom:12px; }
.interest-options { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)); gap:10px; }
.interest-options label { position:relative; cursor:pointer; }
.interest-options input { position:absolute; opacity:0; width:1px; height:1px; }
.interest-options label>span { display:flex; align-items:center; justify-content:center; gap:9px; min-height:49px; padding:12px 8px; border:1px solid #FFFFFF75; border-radius:7px; color:var(--muted); font-size:13px; line-height:1.6; }
.interest-options .icon { width:20px; height:20px; }
.interest-options input:checked+span { border-color:var(--yellow); background:#FFC0000A; color:var(--text); }
.interest-options input:checked+span .icon { color:var(--yellow); }
.interest-options input:checked+span::after { content:'✓'; position:absolute; top:1px; right:6px; color:var(--yellow); font-size:13px; line-height:1.3; font-weight:800; }
.interest-options input:focus-visible+span { outline:3px solid var(--yellow); outline-offset:4px; }
.field-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.field { display:block; font-size:13px; margin-bottom:20px; }
.field>span { color:var(--muted); font-size:12px; }
.field input,.field textarea { display:block; width:100%; min-width:0; border:0; border-bottom:1px solid #FFFFFF75; border-radius:0; background:transparent; color:var(--text); font-size:16px; line-height:1.8; padding:10px 0; }
.field input::placeholder,.field textarea::placeholder { color:var(--subtle); opacity:1; }
.field textarea { resize:vertical; min-height:85px; max-height:260px; }
.submit-button { width:100%; }
.form-note { margin-top:13px; font-size:12px; line-height:1.9; color:var(--muted); }

.footer { padding:0 0 20px; }
.footer-main { display:flex; align-items:center; justify-content:space-between; gap:32px; padding-bottom:28px; }
.footer-main>p { color:var(--muted); font-size:14px; }
.footer address { font-style:normal; color:var(--subtle); font-size:13px; line-height:1.8; }
.footer-bottom { display:flex; align-items:center; gap:25px; border-top:1px solid var(--line); padding-top:15px; color:var(--subtle); font-size:12px; }
.footer-bottom>span { margin-right:auto; }
.footer-bottom>a { display:flex; align-items:center; gap:10px; min-height:44px; }
.footer-bottom .icon { width:16px; height:16px; }
.privacy-trigger { min-height:44px; padding:0 5px; background:none; border:0; color:inherit; font-size:inherit; }
dialog { width:min(560px,calc(100% - 32px)); max-height:calc(100dvh - 36px); border:1px solid #FFFFFF45; border-radius:14px; color:var(--text); background:#1B2026; padding:0; box-shadow:0 25px 100px #0009; }
dialog::backdrop { background:#050607C7; backdrop-filter:blur(7px); }
.dialog-content { position:relative; padding:38px; }
.dialog-close { position:absolute; right:10px; top:10px; display:grid; place-items:center; width:44px; height:44px; padding:11px; border:0; background:none; color:var(--muted); }
.dialog-content>.eyebrow { padding-right:30px; }
.dialog-content h2 { margin-top:18px; font-size:31px; line-height:1.2; padding-right:10px; }
.dialog-content>p:not(.eyebrow) { margin-top:19px; color:var(--muted); font-size:15px; line-height:1.9; }
.dialog-content a:not(.button) { text-decoration:underline; text-underline-offset:3px; }
#message-preview { margin:23px 0; padding:18px; max-height:35vh; overflow:auto; white-space:pre-wrap; overflow-wrap:anywhere; font:14px/1.9 Manrope,Arial,sans-serif; background:#101419; border-radius:8px; }
.dialog-actions { display:flex; flex-wrap:wrap; align-items:center; gap:18px; }
.copy-message { min-height:44px; border:0; background:none; color:var(--text); font-size:14px; text-decoration:underline; text-underline-offset:4px; }
#copy-status { min-height:0; font-size:13px; color:var(--muted); }

@media(min-width:1600px) {
  :root { --wrap:1240px; }
  .hero h1 { font-size:70px; }
  .solution-entries { max-width:1180px; }
}
@media(max-width:1100px) {
  .wrap { width:calc(100% - 64px); }
  .service-grid,.about-grid,.faq-grid { gap:40px; }
  .solution-entry { grid-template-columns:96px minmax(0,1fr); gap:12px; padding:23px 21px 21px 12px; }
  .entry-art { width:96px; height:100px; }
  .entry-content h2 { font-size:24px; }
  .contact-shell { padding:42px 36px; gap:40px; }
}
@media(max-width:960px) {
  :root { --header-height:80px; }
  .wrap { width:calc(100% - 48px); }
  .brand { width:205px; gap:8px; }
  .brand-symbol { width:55px; height:43px; }
  .brand-wordmark { width:141px; height:40px; }
  .menu-toggle { display:flex; flex-shrink:0; width:44px; height:44px; border:1px solid #FFFFFF38; border-radius:8px; background:#FFFFFF03; justify-content:center; align-items:center; flex-direction:column; gap:6px; color:var(--text); }
  .menu-toggle>span { width:18px; height:1px; background:currentColor; transition:transform .18s; }
  .menu-toggle[aria-expanded=true]>span:first-child { transform:translateY(3.5px) rotate(45deg); }
  .menu-toggle[aria-expanded=true]>span:last-child { transform:translateY(-3.5px) rotate(-45deg); }
  .navigation { display:none; position:absolute; top:var(--header-height); left:0; right:0; flex-direction:column; align-items:stretch; gap:4px; padding:14px 24px 23px; background:#14191FF8; border-bottom:1px solid var(--line); box-shadow:0 25px 45px #0007; font-size:16px; }
  .navigation.is-open { display:flex; }
  .navigation>a { padding:10px; }
  .navigation .nav-contact { margin-top:7px; justify-content:space-between; }
  .hero { padding-top:42px; }
  .hero h1 { font-size:clamp(38px,5.3vw,52px); }
  .solution-entry { display:block; position:relative; padding:22px; min-height:0; }
  .entry-art { position:absolute; right:20px; top:14px; width:48px; height:40px; margin:0; }
  .entry-kicker { padding-right:54px; }
  .entry-content { width:100%; }
  .entry-description { min-height:0; }
  .geometry-left { left:-300px; }
  .geometry-right { right:-290px; }
  .section { padding-block:78px; }
  .service-grid,.about-grid,.faq-grid,.contact-shell { grid-template-columns:1fr; }
  .service-grid,.about-grid { gap:39px; }
  .service-copy,.about-copy { max-width:700px; }
  .service-intro { max-width:650px; }
  .about-copy { order:0; }
  .company-facts>div { grid-template-columns:130px minmax(0,1fr); }
  .faq { padding-top:20px; }
  .faq-grid { gap:30px; }
  .contact { padding-top:10px; }
  .contact-shell { gap:34px; padding:42px; }
  .contact-copy>p:not(.eyebrow) { max-width:530px; }
  .contact-hint { max-width:600px; }
  .footer-main { flex-wrap:wrap; }
  .footer-main>p { flex:1; text-align:right; }
  .footer address { width:100%; }
}
@media(max-width:700px) {
  .wrap { width:calc(100% - 40px); }
  .hero { padding:29px 0 18px; }
  .hero-kicker { font-size:12px; padding:6px 10px; gap:8px; }
  .hero h1 { font-size:clamp(25px,7.35vw,47px); margin-top:23px; letter-spacing:-.04em; line-height:1.18; }
  .hero-description { font-size:15px; margin-top:21px; line-height:1.9; max-width:490px; }
  .hero-description>br { display:none; }
  .solution-entries { grid-template-columns:1fr; grid-auto-rows:auto; gap:12px; margin-top:24px; }
  .solution-entry { display:block; position:relative; padding:17px 20px 15px; border-radius:14px; min-height:0; }
  .entry-art { position:absolute; right:16px; top:10px; width:44px; height:38px; margin:0; }
  .entry-kicker { padding-right:48px; }
  .entry-content h2 { font-size:24px; margin-top:8px; }
  .entry-description { font-size:15px; min-height:0; line-height:1.7; margin-top:8px; }
  .entry-action { font-size:14px; margin-top:9px; min-height:44px; gap:10px; }
  .entry-action>.icon { width:31px; height:31px; padding:7px; }
  .experience-proof { gap:24px; margin-top:25px; padding-top:23px; }
  .experience-item strong { font-size:31px; }
  .experience-item>span { font-size:13px; }
  .geometry { width:350px; height:430px; }
  .geometry-left { left:-280px; top:125px; }
  .geometry-right { right:-250px; top:240px; }
  .hero-glow { width:700px; left:calc(50% - 350px); top:260px; height:620px; }
  .section { padding-block:65px; }
  h2 { font-size:36px; }
  .service-grid { gap:32px; }
  .service h2 { margin-top:17px; }
  .service-intro { margin-top:23px; font-size:16px; line-height:1.95; }
  .benefits { margin:27px 0 29px; }
  .benefits li { gap:12px; margin-top:25px; }
  .benefits h3 { font-size:17px; }
  .benefits p { font-size:15px; line-height:1.9; }
  .service-copy>.button { width:100%; font-size:14px; gap:13px; }
  .service-note { font-size:13px; }
  .about h2 { font-size:35px; }
  .company-facts>div { grid-template-columns:100px minmax(0,1fr); font-size:14px; gap:12px; }
  .faq { padding-top:10px; }
  .faq h2 { font-size:34px; }
  .faq summary { font-size:16px; }
  .faq details>p { font-size:15px; padding-right:0; }
  .contact { padding-top:10px; }
  .contact-shell { padding:33px 24px; gap:30px; border-radius:14px; }
  .contact h2 { font-size:37px; }
  .contact-copy>p:not(.eyebrow),.contact-hint { font-size:16px; }
  .direct-whatsapp { width:100%; min-width:0; }
  .contact-email { font-size:13px; gap:8px; }
  .contact-details>summary { font-size:15px; gap:16px; }
  .field-row { grid-template-columns:1fr; gap:0; }
  .interest-options label>span { font-size:13px; gap:6px; }
  .footer-main { display:block; }
  .footer-main>p { font-size:14px; text-align:left; margin-top:22px; }
  .footer address { font-size:13px; margin-top:20px; }
  .footer-bottom { flex-wrap:wrap; gap:5px 22px; font-size:12px; }
  .footer-bottom>span { flex-basis:100%; }
  .dialog-content { padding:34px 24px; }
  .dialog-content h2 { font-size:28px; }
  .dialog-actions { gap:10px; }
}
@media(max-width:380px) {
  .wrap { width:calc(100% - 32px); }
  .brand { width:189px; gap:7px; }
  .brand-symbol { width:50px; height:39px; }
  .brand-wordmark { width:131px; height:38px; }
  .hero-kicker { font-size:12px; }
  .hero h1 { font-size:clamp(23px,7.45vw,28px); }
  .solution-entry { padding:17px 16px 14px; }
  .entry-art { width:38px; height:34px; right:14px; }
  .entry-content h2 { font-size:23px; }
  .entry-action { font-size:14px; }
  .entry-action>.icon { width:28px; height:28px; padding:6px; }
  h2,.about h2 { font-size:32px; }
  .contact-shell { padding-inline:20px; }
  .contact h2 { font-size:33px; }
  .contact-email { font-size:12px; }
  .interest-options { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none!important; transition:none!important; }
  .solution-entry:hover { transform:none; }
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  .glass { background:#242A30; }
}


.benefits li>div,.experience-item { min-width:0; overflow-wrap:anywhere; }
@media(max-width:960px) {
}
@media(max-width:700px) {
}
@media(max-width:380px) {
}

/* V6 — distinct service sections, a curated carousel and visual consulting scope. */
.visually-hidden { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.project-selection { min-width:0; }
.project-gallery { --gallery-rotation:running; border:1px solid #FFFFFF2B; background:#1C2126; border-radius:16px; overflow:hidden; }
.portfolio-label { padding:20px 24px; }
.gallery-stage { position:relative; aspect-ratio:16/9; overflow:hidden; background:#242A30; }
.gallery-slide { position:absolute; inset:0; opacity:0; visibility:hidden; transition:opacity .6s,visibility .6s; }
.gallery-slide.is-active { opacity:1; visibility:visible; }
.gallery-slide>img { position:absolute; width:var(--photo-width,100%); max-width:none; height:auto; top:var(--photo-top,0); left:var(--photo-left,0); }
.gallery-caption { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:19px 24px 10px; }
.project-category { display:block; color:var(--subtle); font-size:12px; line-height:1.7; letter-spacing:.06em; }
.gallery-category { font-size:25px; line-height:1.45; margin-top:4px; }
.gallery-count { font-size:13px; color:var(--muted); font-variant-numeric:tabular-nums; }
.gallery-controls { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:0 18px 14px; }
.gallery-dots { display:flex; gap:0; }
.gallery-dot { width:25px; height:44px; padding:0; border:0; background:transparent; display:grid; place-items:center; }
.gallery-dot::before { content:''; width:6px; height:6px; border-radius:50%; background:#7D8993; transition:background .2s,transform .2s; }
.gallery-dot[aria-current=true]::before { background:var(--yellow); transform:scale(1.3); }
.gallery-navigation { display:flex; align-items:center; gap:2px; }
.gallery-navigation button { min-width:40px; min-height:44px; padding:6px; color:var(--muted); border:0; background:transparent; border-radius:5px; }
.gallery-navigation button:hover { background:#FFFFFF0B; color:var(--yellow); }
.gallery-navigation .icon { width:20px; height:20px; }
.gallery-toggle { display:flex; align-items:center; justify-content:center; gap:5px; font-size:12px; }
.gallery-navigation .gallery-toggle>.icon { width:16px; height:16px; }
.portfolio-instagram { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:20px 4px 3px; min-height:64px; font-size:15px; color:var(--muted); line-height:1.7; }
.portfolio-instagram strong { color:var(--text); font-weight:600; }
.portfolio-instagram>.icon { color:var(--yellow); width:22px; height:22px; }
.portfolio-instagram:hover strong { color:var(--yellow); }

.consulting-section { position:relative; isolation:isolate; overflow:clip; margin-top:30px; border-radius:32px 32px 0 0; background:#1B232B; border-top:3px solid #FFC000A8; border-bottom:1px solid #FFFFFF20; }
.consulting-watermark { position:absolute; z-index:-1; right:-25px; top:-70px; font-size:340px; font-weight:700; letter-spacing:-.08em; line-height:1; color:#FFFFFF04; pointer-events:none; }
.consulting-head { display:grid; grid-template-columns:1.12fr .88fr; align-items:end; gap:64px; }
.service-marker { display:inline-block; padding-left:13px; border-left:3px solid var(--yellow); }
.consulting-section h2 { margin-top:24px; }
.audience-label { color:#E1E5E9; font-size:12px; font-weight:650; line-height:1.8; letter-spacing:.06em; }
.consulting-description { margin-top:16px; color:#CCD3D9; font-size:16px; line-height:1.9; }
.consulting-topics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:34px 46px; list-style:none; padding:0; margin:48px 0 40px; }
.consulting-topics>li { min-width:0; padding:0 0 26px; border-bottom:1px solid #FFFFFF26; }
.consulting-topic-icon { display:grid; place-items:center; width:48px; height:48px; border:1px solid #FFC00045; border-radius:13px; background:linear-gradient(135deg,#FFC00010,#FFFFFF04); color:#D8E0E6; margin-bottom:19px; }
.consulting-topic-icon>.icon { width:27px; height:27px; }
.consulting-topics h3 { font-size:18px; font-weight:650; line-height:1.5; letter-spacing:-.015em; }
.consulting-topics p { margin-top:8px; font-size:15px; line-height:1.85; color:#C3CBD2; overflow-wrap:anywhere; }
.consulting-bottom { display:flex; justify-content:space-between; align-items:center; gap:30px; }
.consulting-assurance { min-width:0; }
.consulting-assurance strong { font-size:16px; line-height:1.8; font-weight:600; }
.consulting-assurance p { margin-top:6px; font-size:14px; line-height:1.8; color:var(--muted); }
.consulting-bottom>.button { flex-shrink:0; }
.consulting-partners { margin-top:28px; padding-top:23px; border-top:1px solid #FFFFFF20; font-size:13px; line-height:1.9; color:var(--muted); }

.company-video { width:100%; min-width:0; align-self:center; }
.company-video-play { display:grid; width:100%; position:relative; overflow:hidden; border:1px solid var(--line); border-radius:16px; background:#1C2126; color:var(--text); padding:0; text-align:left; }
.company-video-play>img { position:absolute; width:100%; height:auto; left:0; top:0; transition:transform .35s; }
.company-video-play:hover>img { transform:scale(1.025); }
.video-overlay { display:flex; align-items:center; gap:18px; position:relative; min-height:clamp(250px,28vw,420px); padding:26px; padding-top:40%; background:linear-gradient(transparent 35%,#080B0EE0 100%); }
.video-play-icon { display:grid; place-items:center; flex-shrink:0; width:58px; height:58px; border:1px solid #FFC0009E; border-radius:50%; background:#151A20D9; backdrop-filter:blur(8px); }
.video-play-icon .icon { width:27px; height:27px; }
.video-overlay small { display:block; font-size:12px; font-weight:650; line-height:1.8; letter-spacing:.04em; }
.video-overlay strong { display:block; margin-top:4px; font-size:25px; line-height:1.5; font-weight:650; letter-spacing:-.025em; }
.video-overlay>span>span { display:block; font-size:14px; line-height:1.8; margin-top:3px; color:#D6DCE0; }
.company-video-footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:6px 15px; padding-top:10px; }
.company-video-footer .text-link { font-size:13px; }
.company-video-close { display:flex; align-items:center; gap:7px; min-height:44px; padding:6px; background:transparent; color:var(--muted); border:0; font-size:13px; }
.company-video-close>.icon { width:17px; height:17px; }
#company-embed { min-height:440px; max-width:100%; border-radius:14px; overflow:hidden; background:#FFFFFF; }
#company-embed .instagram-media { width:100%!important; min-width:0!important; max-width:100%!important; margin:0!important; border:0!important; }
#company-embed iframe { display:block; width:100%!important; min-width:0!important; max-width:100%!important; }
#video-status { font-size:13px; line-height:1.8; color:var(--muted); margin-top:6px; }
.faq-tag { display:block; margin-bottom:7px; font-size:12px; letter-spacing:.06em; line-height:1.7; color:var(--subtle); font-weight:600; }
.faq summary>span { min-width:0; }
@media(max-width:1100px) {
  .consulting-head { gap:40px; }
  .consulting-topics { gap:30px; }
  .consulting-bottom { align-items:flex-start; flex-direction:column; gap:23px; }
}
@media(max-width:960px) {
  .project-selection,.company-video { width:min(100%,650px); justify-self:center; }
  .consulting-head { grid-template-columns:1fr; gap:25px; }
  .consulting-description { max-width:650px; }
  .consulting-topics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .company-video { order:1; }
}
@media(max-width:700px) {
  .consulting-section { border-radius:24px 24px 0 0; margin-top:10px; }
  .consulting-head { gap:24px; }
  .consulting-section h2 { margin-top:23px; }
  .consulting-topics { gap:25px 22px; margin:32px 0; }
  .consulting-topics>li { padding-bottom:23px; }
  .consulting-topic-icon { width:42px; height:42px; border-radius:11px; margin-bottom:14px; }
  .consulting-topic-icon>.icon { width:25px; height:25px; }
  .consulting-topics h3 { font-size:17px; }
  .consulting-topics p { font-size:15px; line-height:1.8; }
  .consulting-bottom>.button { width:100%; font-size:14px; gap:14px; }
  .consulting-partners { font-size:13px; }
  .portfolio-label { padding:18px 20px; }
  .gallery-caption { padding:17px 20px 8px; }
  .gallery-category { font-size:23px; }
  .gallery-controls { padding:0 10px 10px; gap:3px; flex-wrap:wrap; }
  .gallery-dot { width:23px; }
  .gallery-navigation button { min-width:36px; }
  .portfolio-instagram { padding-top:17px; }
  .video-overlay { padding:19px; padding-top:35%; gap:13px; }
  .video-play-icon { width:49px; height:49px; }
  .video-overlay strong { font-size:23px; }
}
@media(max-width:380px) {
  .consulting-topics { grid-template-columns:1fr; gap:22px; }
  .consulting-topics>li { display:flex; gap:15px; }
  .consulting-topic-icon { flex-shrink:0; margin:0; }
  .consulting-topics>li>div { min-width:0; }
  .gallery-controls { justify-content:center; }
  .video-overlay { display:block; padding-top:23%; }
  .video-play-icon { margin-bottom:10px; }
  .video-overlay small { font-size:12px; }
}
@media(prefers-reduced-motion:reduce) {
  .project-gallery { --gallery-rotation:paused; }
  .gallery-slide { transition:none; }
  .company-video-play:hover>img { transform:none; }
}

/* V7: explain the consulting journey, then let the visitor explore. */
.gallery-note { display:block; color:var(--muted); font-size:12px; line-height:1.8; }
.gallery-note:empty { display:none; }
.consulting-explore { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:38px 0 22px; }
.consulting-explore>p { font-size:14px; color:var(--muted); line-height:1.8; }
.details-toggle { display:flex; align-items:center; justify-content:center; gap:12px; min-height:44px; padding:8px 13px; border:1px solid #FFC00059; color:var(--text); background:#FFFFFF04; border-radius:8px; font-size:13px; line-height:1.7; }
.details-toggle>.icon { width:18px; height:18px; color:var(--yellow); flex-shrink:0; }
.details-toggle:hover { border-color:var(--yellow); background:#FFC00009; }
.consulting-stages { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-bottom:35px; align-items:start; }
.consulting-stage { position:relative; min-width:0; border:1px solid #FFFFFF26; border-radius:15px; padding:26px 24px 12px; background:linear-gradient(145deg,#FFFFFF05,#10161C68); }
.consulting-stage:not(:last-child)::after { content:'→'; position:absolute; right:-19px; top:78px; color:var(--yellow); font-size:17px; font-weight:400; }
.stage-heading { display:flex; flex-direction:column; align-items:flex-start; gap:20px; min-width:0; }
.stage-illustration { display:block; width:138px; height:96px; color:#D7DFE6; overflow:visible; }
.stage-illustration .accent { color:var(--yellow); stroke:var(--yellow); }
.stage-step { display:block; min-width:0; overflow-wrap:anywhere; font-size:11px; line-height:1.8; letter-spacing:.09em; font-weight:650; color:var(--yellow); }
.consulting-stage>h3 { font-size:20px; line-height:1.5; letter-spacing:-.025em; margin-top:12px; }
.consulting-stage>.stage-lead { color:var(--muted); font-size:14px; line-height:1.85; margin-top:8px; }
.stage-details { margin-top:24px; }
.consulting-detail { border-top:1px solid #FFFFFF25; }
.consulting-detail summary { display:flex; align-items:center; justify-content:space-between; gap:12px; list-style:none; min-height:60px; padding:13px 0; font-size:14px; line-height:1.7; font-weight:550; }
.consulting-detail summary::-webkit-details-marker { display:none; }
.consulting-detail summary>span:first-child { min-width:0; overflow-wrap:anywhere; }
.detail-sign { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:#FFFFFF06; color:var(--yellow); flex-shrink:0; }
.detail-sign>.icon { width:16px; height:16px; }
.detail-sign>.icon:last-child { display:none; }
.consulting-detail[open] .detail-sign>.icon:first-child { display:none; }
.consulting-detail[open] .detail-sign>.icon:last-child { display:block; }
.consulting-detail>p { font-size:14px; line-height:1.85; color:#C3CBD2; padding:0 0 18px; overflow-wrap:anywhere; }
.consulting-detail[open] summary { color:var(--yellow); }

.company-film { --film-motion:running; width:100%; min-width:0; align-self:center; }
.film-frame { position:relative; overflow:hidden; border:1px solid #FFFFFF2B; border-radius:17px; background:#1C2126; aspect-ratio:1/1; }
.film-frame>video { display:block; width:100%; height:100%; object-fit:cover; }
.film-toolbar { position:absolute; top:17px; left:17px; right:17px; display:flex; flex-wrap:wrap; align-items:flex-start; justify-content:space-between; gap:10px; }
.film-caption { min-height:44px; display:flex; align-items:center; padding:9px 13px; border:1px solid #FFFFFF38; border-radius:8px; background:#10161CD9; backdrop-filter:blur(8px); pointer-events:none; }
.film-label { font-size:11px; letter-spacing:.06em; line-height:1.7; font-weight:650; }
.film-caption strong { font-size:27px; line-height:1.4; letter-spacing:-.025em; }
.film-caption>span:last-child { color:#D1D8DF; font-size:12px; line-height:1.8; }
.film-toggle { min-height:44px; max-width:100%; display:flex; align-items:center; gap:8px; padding:9px 13px; border:1px solid #FFFFFF59; border-radius:8px; color:#FFFFFF; background:#10161CD9; backdrop-filter:blur(8px); font-size:12px; line-height:1.8; }
.film-toggle>.icon { color:var(--yellow); width:17px; height:17px; }
.company-film>figcaption { display:flex; flex-direction:column; gap:7px; margin-top:13px; }
.film-hint { color:var(--muted); font-size:13px; line-height:1.8; }
.company-film>figcaption .text-link { font-size:13px; align-self:flex-start; }

.location { background:linear-gradient(180deg,#171D23,#101214); border-top:1px solid var(--line); }
.location-heading { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:35px; }
.location-heading h2 { margin-top:19px; }
.location-heading>p { color:var(--muted); font-size:15px; line-height:1.8; max-width:300px; }
.location-grid { display:grid; grid-template-columns:.94fr 1.06fr; gap:25px; align-items:stretch; }
.location-facade { position:relative; overflow:hidden; border-radius:16px; min-height:430px; border:1px solid #FFFFFF24; }
.location-facade>img { width:100%; height:100%; object-fit:cover; object-position:49% 50%; position:absolute; inset:0; }
.location-facade>figcaption { position:absolute; inset:auto 0 0; padding:80px 27px 28px; background:linear-gradient(transparent,#080B0EEB); }
.location-facade>figcaption>span { display:flex; align-items:center; gap:8px; font-size:11px; line-height:1.8; letter-spacing:.06em; }
.location-facade>figcaption>.icon,.location-facade>figcaption>span>.icon { width:18px; height:18px; color:var(--yellow); }
.location-facade>figcaption>strong { display:block; font-size:28px; line-height:1.5; letter-spacing:-.025em; margin-top:9px; }
.location-map { min-width:0; overflow:hidden; border:1px solid #FFFFFF28; border-radius:16px; background:#1C232A; }
.location-map>iframe { display:block; width:100%; height:330px; border:0; background:#E8EAED; }
.location-address { display:grid; grid-template-columns:28px minmax(0,1fr); align-items:start; gap:12px; padding:23px; }
.location-pin { color:var(--yellow); padding-top:3px; }
.location-pin>.icon { width:23px; height:23px; }
.location-address address { font-style:normal; min-width:0; }
.location-address address>strong { display:block; font-size:15px; line-height:1.8; font-weight:600; }
.location-address address>span { display:block; font-size:12px; line-height:1.9; color:var(--muted); margin-top:5px; }
.location-address>.button { grid-column:2; justify-self:start; margin-top:5px; font-size:13px; padding:12px 17px; min-height:46px; }
@media(max-width:1100px) {
  .consulting-stages { gap:20px; }
  .consulting-stage { padding:22px 19px 10px; }
  .stage-illustration { width:120px; height:85px; }
  .consulting-stage>h3 { font-size:19px; }
}
@media(max-width:960px) {
  .consulting-stages { grid-template-columns:minmax(0,1fr); gap:18px; }
  .consulting-stage { display:grid; grid-template-columns:160px minmax(0,1fr); column-gap:25px; padding:24px; }
  .stage-heading { grid-column:1; grid-row:1/4; gap:14px; justify-content:center; }
  .consulting-stage>h3,.consulting-stage>.stage-lead,.stage-details { grid-column:2; }
  .consulting-stage>h3 { margin-top:0; font-size:20px; }
  .stage-details { margin-top:17px; }
  .consulting-stage:not(:last-child)::after { display:none; }
  .company-film { width:min(100%,590px); justify-self:center; order:1; }
  .location-grid { grid-template-columns:1fr; }
  .location-facade { min-height:0; aspect-ratio:16/9; }
  .location-map>iframe { height:350px; }
}
@media(max-width:700px) {
  .consulting-explore { align-items:flex-start; flex-direction:column; gap:13px; margin-top:28px; }
  .consulting-explore>p { font-size:13px; }
  .consulting-stage { grid-template-columns:minmax(0,1fr); padding:23px 21px 10px; }
  .stage-heading { grid-column:1; grid-row:auto; flex-direction:row; align-items:center; justify-content:space-between; margin-bottom:18px; }
  .stage-illustration { width:118px; height:82px; }
  .consulting-stage>h3,.consulting-stage>.stage-lead,.stage-details { grid-column:1; }
  .stage-step { font-size:11px; }
  .stage-details { margin-top:19px; }
  .consulting-detail summary { min-height:59px; }
  .film-toolbar { top:13px; left:13px; right:13px; }
  .film-caption { padding:9px 11px; }
  .film-caption strong { font-size:25px; }
  .location-heading { flex-direction:column; align-items:flex-start; gap:19px; margin-bottom:28px; }
  .location-heading>p { font-size:14px; }
  .location-grid { gap:19px; }
  .location-map>iframe { height:315px; }
  .location-address { gap:10px; padding:19px; }
  .location-address>.button { grid-column:1/-1; width:100%; margin-top:9px; }
  .location-facade>figcaption { padding:55px 20px 19px; }
  .location-facade>figcaption>strong { font-size:25px; }
}
@media(prefers-reduced-motion:reduce) {
  .company-film { --film-motion:paused; }
}

@media print {
  .header { position:static; }
  .navigation,.menu-toggle,.geometry,.hero-glow,.contact-details,dialog,.privacy-trigger { display:none!important; }
  .section { padding-block:25px; }
  .hero { padding-top:20px; }
  .hero h1 { font-size:40px; }
  .wrap { width:94%; }
  .service-grid,.about-grid { break-inside:avoid; }
  body { print-color-adjust:exact; -webkit-print-color-adjust:exact; }
}

/* V10: native page scrolling and one unobtrusive floating shortcut. */
.faq.section { padding-block:40px 48px; border-top:1px solid var(--line); }
.faq .faq-grid { grid-template-columns:.8fr 1.2fr; gap:48px; align-items:start; }
.faq h2 { margin-top:12px; font-size:32px; }
.faq details { padding:10px 0; }
.faq summary { min-height:44px; gap:16px; font-size:15px; line-height:1.55; }
.faq details>p { padding:8px 32px 4px 0; font-size:14px; line-height:1.75; }
.whatsapp-shortcut { position:fixed; z-index:40; right:max(16px,env(safe-area-inset-right)); bottom:calc(20px + env(safe-area-inset-bottom)); display:flex; align-items:center; justify-content:center; width:52px; height:52px; color:var(--yellow); background:#171C20; border:1px solid #FFC00080; border-radius:50%; box-shadow:0 6px 22px #0007,inset 0 1px 0 #FFFFFF12; transition:background .18s,color .18s,border-color .18s; }
.whatsapp-shortcut>.icon { width:29px; height:29px; }
.whatsapp-shortcut:hover { color:#101214; background:var(--yellow); border-color:var(--yellow); }
.whatsapp-shortcut[data-obstructed],body:has(dialog[open]) .whatsapp-shortcut,body:has(.menu-toggle[aria-expanded=true]) .whatsapp-shortcut { visibility:hidden; pointer-events:none; }
@media(min-width:961px) {
  .wrap { width:min(var(--wrap),calc(100% - 160px)); }
}
@media(max-width:960px) {
  .whatsapp-shortcut { width:48px; height:48px; bottom:calc(16px + env(safe-area-inset-bottom)); }
  .whatsapp-shortcut>.icon { width:27px; height:27px; }
  .faq .faq-grid { grid-template-columns:1fr; gap:20px; }
}
@media(max-width:700px) {
  .faq.section { padding-block:32px 36px; }
  .faq h2 { font-size:28px; margin-top:9px; }
  .faq .faq-grid { gap:17px; }
  .faq summary { font-size:15px; }
  .faq details>p { padding-right:0; }
}
@media(prefers-reduced-motion:reduce) {
  .whatsapp-shortcut { transition:none; }
}
@media print {
  .whatsapp-shortcut { display:none; }
}
