/* ZEPINDO V20 FINAL — signature visual system, UI-only progressive enhancement */
:root{
  --v20-navy:#071a2f;--v20-navy-2:#0b3156;--v20-orange:#f47b20;--v20-ink:#10233d;
  --v20-muted:#66798e;--v20-line:#dfe7ef;--v20-soft:#f6f9fc;--v20-surface:#fff;
  --v20-accent:#f47b20;--v20-accent-2:#ffad68;--v20-accent-soft:#fff3e9;--v20-accent-rgb:244,123,32;
  --v20-radius:22px;--v20-shadow:0 20px 58px rgba(7,26,47,.10);--v20-shadow-sm:0 10px 30px rgba(7,26,47,.07)
}
body[data-v20-theme="interior"]{--v20-accent:#b45c7a;--v20-accent-2:#d996ad;--v20-accent-soft:#fff1f6;--v20-accent-rgb:180,92,122}
body[data-v20-theme="structure"]{--v20-accent:#2c6f9f;--v20-accent-2:#72a8cc;--v20-accent-soft:#edf7fd;--v20-accent-rgb:44,111,159}
body[data-v20-theme="envelope"]{--v20-accent:#c77712;--v20-accent-2:#e6aa52;--v20-accent-soft:#fff7e9;--v20-accent-rgb:199,119,18}
body[data-v20-theme="mep"]{--v20-accent:#167f82;--v20-accent-2:#5eb4b5;--v20-accent-soft:#ecfbfa;--v20-accent-rgb:22,127,130}
body[data-v20-theme="design"]{--v20-accent:#6254a6;--v20-accent-2:#978bd1;--v20-accent-soft:#f3f1ff;--v20-accent-rgb:98,84,166}
body[data-v20-theme="commercial"]{--v20-accent:#2e7a55;--v20-accent-2:#74af90;--v20-accent-soft:#eff9f3;--v20-accent-rgb:46,122,85}
body[data-v20-theme="planning"]{--v20-accent:#a86b12;--v20-accent-2:#d0a353;--v20-accent-soft:#fff8e8;--v20-accent-rgb:168,107,18}
body[data-v20-theme="construction"]{--v20-accent:#47657e;--v20-accent-2:#7f9bb2;--v20-accent-soft:#f0f5f8;--v20-accent-rgb:71,101,126}
body.v20-final{background:#fff;color:var(--v20-ink);font-feature-settings:"kern" 1,"liga" 1;text-rendering:optimizeLegibility}
.v20-skip{position:fixed;left:14px;top:8px;z-index:100000;transform:translateY(-150%);background:#fff;color:var(--v20-navy)!important;border:2px solid var(--v20-accent);padding:10px 14px;border-radius:10px;font-weight:800;text-decoration:none!important;box-shadow:var(--v20-shadow)}
.v20-skip:focus{transform:none}

/* Signature hero */
body.v20-final .v13-hero{isolation:isolate;overflow:hidden}
body.v20-final .v13-hero:after{content:"";position:absolute;inset:auto -9% -42% auto;width:42vw;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(var(--v20-accent-rgb),.22),rgba(var(--v20-accent-rgb),0) 68%);pointer-events:none;z-index:0}
body.v20-final .v13-hero-inner{position:relative;z-index:1}
body.v20-final .v13-breadcrumb{border-color:rgba(var(--v20-accent-rgb),.36)!important}
body.v20-final .v13-hero h1{position:relative}
body.v20-final .v13-hero h1:after{content:"";display:block;width:82px;height:5px;margin-top:24px;border-radius:99px;background:linear-gradient(90deg,var(--v20-accent),var(--v20-accent-2));box-shadow:0 0 0 7px rgba(var(--v20-accent-rgb),.08)}
.v20-hero-theme{display:inline-flex;align-items:center;gap:9px;margin:0 0 13px;color:#fff;font-size:11px;font-weight:900;letter-spacing:.105em;text-transform:uppercase}
.v20-hero-icon{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:rgba(var(--v20-accent-rgb),.18);border:1px solid rgba(var(--v20-accent-rgb),.52);color:#fff;backdrop-filter:blur(10px)}
.v20-hero-icon svg{width:19px;height:19px;display:block}
body.v20-final .v13-btn-primary{background:linear-gradient(135deg,var(--v20-accent),var(--v20-accent-2))!important;border-color:transparent!important;box-shadow:0 12px 28px rgba(var(--v20-accent-rgb),.28)!important}
body.v20-final .v13-btn-primary:hover{transform:translateY(-3px)!important;box-shadow:0 18px 38px rgba(var(--v20-accent-rgb),.35)!important}
body.v20-final .v13-hero-thumb{border:1px solid rgba(255,255,255,.24);overflow:hidden}
body.v20-final .v13-hero-thumb:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);pointer-events:none}
body.v20-final .v14-badge{border-left:4px solid var(--v20-accent)!important}

/* Distinctive client logo ribbon */
body.v20-final .v13-client-strip{border-bottom:1px solid var(--v20-line);background:linear-gradient(180deg,#fff,#fbfdff)}
body.v20-final .v13-client-head{color:var(--v20-muted);font-size:11px;letter-spacing:.10em;text-transform:uppercase;font-weight:900}
body.v20-final .v13-client-logo{filter:grayscale(1);opacity:.72;transition:filter .25s ease,opacity .25s ease,transform .25s ease}
body.v20-final .v13-client-logo:hover{filter:none;opacity:1;transform:translateY(-3px)}

/* Main rhythm and signature sections */
body.v20-final main{position:relative}
.v20-content-section{position:relative;margin:0 -26px;padding:1px 26px 18px;border-radius:28px;content-visibility:auto;contain-intrinsic-size:1px 850px}
.v20-content-section:nth-of-type(4n+2){background:linear-gradient(145deg,rgba(var(--v20-accent-rgb),.035),transparent 62%)}
.v20-content-section>p{max-width:830px;line-height:1.82}
.v20-content-section>h2{position:relative}
.v20-content-section>h2:before{background:linear-gradient(90deg,var(--v20-accent),var(--v20-accent-2))!important}
.v20-content-section>h2:after{background:linear-gradient(90deg,rgba(var(--v20-accent-rgb),.36),transparent 76%)!important}
.v20-content-section[data-v20-kind="price"],.v20-content-section[data-v20-kind="material"],.v20-content-section[data-v20-kind="case"],.v20-content-section[data-v20-kind="faq"]{margin-top:46px;padding-top:18px;padding-bottom:32px;border:1px solid rgba(var(--v20-accent-rgb),.12);background:linear-gradient(155deg,rgba(var(--v20-accent-rgb),.045),#fff 55%)}
.v20-content-section[data-v20-kind="price"]>h2,.v20-content-section[data-v20-kind="material"]>h2,.v20-content-section[data-v20-kind="case"]>h2,.v20-content-section[data-v20-kind="faq"]>h2{margin-top:1.35em!important}

/* Thumbnail navigator — compact visual index */
body.v20-final .v13-section-nav{margin-bottom:58px!important}
body.v20-final .v13-card-rail{display:grid!important;grid-auto-flow:column!important;grid-auto-columns:minmax(225px,28%)!important;overflow-x:auto!important;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;gap:14px!important;padding:5px 3px 16px!important;scrollbar-width:thin}
body.v20-final .v13-nav-card{scroll-snap-align:start;border-radius:20px!important;min-height:285px;box-shadow:var(--v20-shadow-sm)!important;border:1px solid var(--v20-line)!important}
body.v20-final .v13-nav-card img{height:128px!important;object-fit:cover!important}
body.v20-final .v13-nav-card:hover{transform:translateY(-5px)!important;box-shadow:var(--v20-shadow)!important;border-color:rgba(var(--v20-accent-rgb),.33)!important}
body.v20-final .v13-nav-card-kicker{color:var(--v20-accent)!important}
body.v20-final .v13-nav-card-arrow{color:var(--v20-accent)!important}

/* All decision cards inherit service identity */
body.v20-final .v15-visual-card,body.v20-final table.v18-card-table tbody tr,body.v20-final table.v18-price-cards tbody tr,body.v20-final .v17-case-card,body.v20-final .v17-faq-card{border-color:var(--v20-line)!important}
body.v20-final .v15-visual-card:hover,body.v20-final table.v18-card-table tbody tr:hover,body.v20-final table.v18-price-cards tbody tr:hover{border-color:rgba(var(--v20-accent-rgb),.34)!important}
body.v20-final table.v18-card-table tbody tr:before,body.v20-final table.v18-price-cards tbody tr:before{background:linear-gradient(90deg,var(--v20-accent),var(--v20-accent-2))!important}
body.v20-final table.v18-price-cards tbody tr.v18-selected{border-color:var(--v20-accent)!important;background:var(--v20-accent-soft)!important}

/* Project Intelligence becomes a professional mini-case study */
body.v20-final .v17-case-card{padding:26px 28px 28px 34px!important;margin:28px 0 34px!important;box-shadow:var(--v20-shadow-sm)!important;background:linear-gradient(145deg,#fff,#fbfdff)!important}
body.v20-final .v17-case-card:before{width:6px!important;background:linear-gradient(180deg,var(--v20-accent),var(--v20-accent-2))!important}
body.v20-final .v17-case-card>h3{font-size:1.28rem!important;letter-spacing:-.015em!important;margin-bottom:16px!important;padding-right:70px;position:relative}
body.v20-final .v17-case-card>h3:after{content:"CASE";position:absolute;right:0;top:2px;padding:5px 8px;border-radius:8px;background:var(--v20-accent-soft);color:var(--v20-accent);font-size:9px;font-weight:950;letter-spacing:.11em}
.v20-case-meta{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:0 0 22px}
.v20-case-meta .v17-section-copy{display:block!important;margin:0!important;padding:10px 11px!important;border:1px solid var(--v20-line)!important;border-radius:12px!important;background:#f8fbfd!important;font-size:.82rem!important;line-height:1.45!important}
.v20-case-step-title{position:relative!important;display:flex!important;align-items:center;gap:10px;margin:28px 0 11px!important;padding:0!important;background:transparent!important;border:0!important;color:var(--v20-navy)!important;font-weight:900!important;font-size:1.03rem!important}
.v20-case-step-title:before{content:attr(data-v20-step);flex:0 0 31px;width:31px;height:31px;border-radius:10px;display:grid;place-items:center;background:var(--v20-accent-soft);border:1px solid rgba(var(--v20-accent-rgb),.26);color:var(--v20-accent);font-size:11px;font-weight:950}
body.v20-final .v17-case-card .table-wrap{margin:12px 0 18px;border-radius:16px;overflow:hidden;box-shadow:none;border:1px solid var(--v20-line)}
body.v20-final .v17-case-card blockquote{margin-top:14px;background:var(--v20-accent-soft)!important;border-left-color:var(--v20-accent)!important;box-shadow:none!important}
body.v20-final .privacy-note{border:1px dashed #c7d4df!important;background:#f7fafc!important;border-radius:13px!important;padding:12px 14px!important;color:#53687d!important;font-size:.88rem!important}

/* Gallery — 2 columns, documentary labels, lightbox preserved */
body.v20-final .v16-gallery{gap:14px!important}
body.v20-final .v16-gallery-item{border:1px solid #e0e7ee;box-shadow:var(--v20-shadow-sm)!important;background:#0a2037}
body.v20-final .v16-gallery-item:before{content:attr(data-v20-label);position:absolute;left:12px;top:12px;z-index:3;padding:6px 9px;border-radius:999px;background:rgba(7,26,47,.82);border:1px solid rgba(255,255,255,.20);color:#fff;font-size:10px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;backdrop-filter:blur(8px)}
body.v20-final .v16-gallery-item:hover{border-color:rgba(var(--v20-accent-rgb),.42);box-shadow:var(--v20-shadow)!important}
body.v20-final .v16-gallery-item::after{background:var(--v20-accent)!important}

/* FAQ and resources */
body.v20-final .v17-faq-card[open]{border-color:rgba(var(--v20-accent-rgb),.34)!important;box-shadow:0 15px 34px rgba(var(--v20-accent-rgb),.08)!important}
body.v20-final .v17-faq-card summary:after{color:var(--v20-accent)!important}
body.v20-final .v17-resources{border-left:4px solid var(--v20-accent)!important}

/* CTA and footer */
body.v20-final .cta{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:linear-gradient(140deg,var(--v20-navy),#0a345c)!important;box-shadow:0 26px 70px rgba(7,26,47,.18)}
body.v20-final .cta:after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;right:-120px;top:-140px;background:radial-gradient(circle,rgba(var(--v20-accent-rgb),.36),transparent 68%);pointer-events:none}
body.v20-final .cta a{position:relative;z-index:1}
body.v20-final footer{position:relative;margin-top:70px!important;padding:34px!important;border-radius:26px 26px 0 0!important;background:linear-gradient(145deg,var(--v20-navy),#0b3156)!important;color:#eaf1f7!important;box-shadow:0 -16px 50px rgba(7,26,47,.10)}
body.v20-final footer a{color:#fff!important}
.v20-footer-mark{width:88px!important;height:auto!important;margin:0 0 16px!important;border-radius:0!important;box-shadow:none!important;filter:brightness(0) invert(1);opacity:.96}

/* Form & calculator polish */
body.v20-final input,body.v20-final select,body.v20-final textarea{border-radius:12px!important;border-color:#cfdbe5!important;transition:border-color .2s ease,box-shadow .2s ease}
body.v20-final input:focus,body.v20-final select:focus,body.v20-final textarea:focus{outline:none!important;border-color:var(--v20-accent)!important;box-shadow:0 0 0 4px rgba(var(--v20-accent-rgb),.12)!important}

/* Accessibility and performance */
body.v20-final a:focus-visible,body.v20-final button:focus-visible,body.v20-final summary:focus-visible{outline:3px solid rgba(var(--v20-accent-rgb),.48)!important;outline-offset:3px!important}
body.v20-final .v17-case-card,body.v20-final .v16-gallery,body.v20-final .v15-visual-list{content-visibility:auto;contain-intrinsic-size:1px 720px}

@media(max-width:980px){
  .v20-case-meta{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.v20-final .v13-card-rail{grid-auto-columns:minmax(220px,42%)!important}
}
@media(max-width:620px){
  .v20-content-section{margin-left:-5px;margin-right:-5px;padding-left:5px;padding-right:5px;border-radius:18px}
  .v20-content-section[data-v20-kind]{padding-left:14px;padding-right:14px}
  body.v20-final .v13-card-rail{grid-auto-columns:minmax(205px,82%)!important}
  body.v20-final .v13-nav-card{min-height:270px}
  .v20-case-meta{grid-template-columns:1fr 1fr;gap:7px}
  body.v20-final .v17-case-card{padding:20px 16px 22px 22px!important;border-radius:18px!important}
  body.v20-final .v17-case-card>h3{padding-right:48px;font-size:1.16rem!important}
  body.v20-final .v17-case-card>h3:after{font-size:8px}
  body.v20-final .v16-gallery-item:before{left:8px;top:8px;padding:5px 7px;font-size:8px}
  body.v20-final footer{margin-left:-16px!important;margin-right:-16px!important;padding:28px 18px 94px!important;border-radius:22px 22px 0 0!important}
}
@media(prefers-reduced-motion:reduce){
  body.v20-final *,body.v20-final *:before,body.v20-final *:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}
