@font-face{font-family:DM Sans;src:url('fonts/DMSans-Regular.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:DM Sans;src:url('fonts/DMSans-Medium.woff2') format('woff2');font-weight:500 800;font-display:swap}
:root{--ink:#1b201d;--dark:#201e1b;--card:#2d2b24;--yellow:#f3c914;--muted:#c8cbbf;--max:1512px;--inset:clamp(24px,5vw,96px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;color:var(--ink);background:#fff;font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,p,figure{margin:0}h2{font-size:clamp(30px,3.2vw,48px);line-height:1.16;font-weight:600;letter-spacing:-1.1px}h3{font-size:21px;line-height:1.2;font-weight:600}p{font-size:18px;line-height:1.45}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #b78b00;outline-offset:5px}.skip-link{position:fixed;top:-100px;left:16px;z-index:30;background:var(--yellow);padding:12px}.skip-link:focus{top:12px}.page{max-width:var(--max);margin:auto}.site-header{position:fixed;inset:0 0 auto;z-index:20;background:rgba(255,255,255,.98);transition:background .25s,box-shadow .25s;backdrop-filter:blur(18px)}.site-header.scrolled{background:rgba(255,255,255,.86);box-shadow:0 1px 0 #1b201d14}.nav-shell{max-width:var(--max);height:76px;margin:auto;padding:0 32px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px}.brand img{width:170px;height:auto}.nav-shell nav{display:flex;gap:30px;font-size:13px;font-weight:600;align-items:center}.nav-shell nav a:hover{color:#977600}.nav-actions{justify-self:end;display:flex;align-items:center;gap:16px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:44px;padding:12px 22px;background:var(--yellow);border:1px solid transparent;border-radius:10px;color:#181c16;font-size:13px;line-height:1.3;font-weight:700;transition:background .2s,transform .2s;text-align:center}.button:hover{background:#ffdb41;transform:translateY(-2px)}.outline{background:transparent;border-color:#9b9f8670;color:inherit}.outline:hover{background:#ffffff12}.actions{display:flex;gap:12px;flex-wrap:wrap}.menu-toggle{display:none}.page-content{padding-top:76px}.panel{overflow:hidden}.opening{color:#fff}.hero{min-height:760px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:110px 24px 130px;background:linear-gradient(180deg,#504534 0%,#332d1d 36%,#090c09 100%)}.hero h1{font-size:clamp(42px,5.1vw,76px);font-weight:400;line-height:1.15;letter-spacing:-2px;background:linear-gradient(100deg,#e0ba1d,#bda88d 53%,#eea13e);color:transparent;background-clip:text}.hero-subtitle{font-size:clamp(19px,2vw,30px);font-weight:600;margin-top:18px}.hero-image{width:min(100%,1212px);height:auto;margin:42px auto 30px;mask-image:linear-gradient(90deg,transparent,black 17%,black 83%,transparent),linear-gradient(0deg,transparent,black 22%,black 78%,transparent);mask-composite:intersect}.hero .button{min-width:184px}.requirements{padding:64px var(--inset);display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center;background:#2b2822}.requirements h2{font-size:clamp(28px,2.7vw,38px);font-weight:400;max-width:650px;margin-bottom:25px}.accordion{height:292px;background:#131712;padding:12px 24px;border-radius:12px;display:flex;flex-direction:column}.accordion-item{border-bottom:1px solid #ffffff1b;flex:0 0 auto;min-height:0}.accordion-item:last-child{border:0}.accordion-item.open{flex:1;overflow:visible}.accordion h3{font-size:16px}.accordion button{color:#f2f2ec;background:none;border:0;width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;gap:16px;padding:18px 0;cursor:pointer;font-weight:600;font-size:15px}.accordion button span{font-size:20px;color:var(--muted)}.accordion-content p{font-size:15px;color:var(--muted);padding:0 24px 12px 0}.sectors{padding:64px var(--inset);background:var(--dark)}.eyebrow{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.sector-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:34px}.sector-card{background:var(--card);border-radius:8px;padding:30px;transition:background .2s}.sector-card:hover{background:#38352b}.sector-card h3{margin-bottom:18px}.sector-card p{color:var(--muted);font-size:16px}.mindset{text-align:center;padding:145px var(--inset);}.mindset h2{margin-top:30px}.partners{display:flex;justify-content:space-between;gap:30px;margin:85px 0;color:#626858;font-size:21px;font-weight:600}.mindset>p:last-child{color:#64695e}.feature{padding:120px var(--inset);display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}.dark{color:white;background:var(--dark)}.feature>img{width:100%;aspect-ratio:634/462;border-radius:10px}.feature h2{margin-bottom:24px}.feature p{font-size:18px;color:#656a60;margin-bottom:24px}.dark p{color:var(--muted)}.text-link{font-size:16px;display:inline-flex;gap:12px;align-items:center}.text-link:hover span{transform:translateX(5px)}.text-link span{transition:transform .2s}.energy .eyebrow{font-size:12px;margin-bottom:24px}.energy>img{aspect-ratio:636/366}.capabilities{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:60px}.capabilities article{background:var(--card);padding:27px;border-radius:8px}.capabilities h3{font-size:21px;margin-bottom:14px}.capabilities p{font-size:15px;margin:0}.defense figure{position:relative;align-self:stretch;min-height:540px}.defense figure img{width:100%;height:100%;object-fit:cover;border-radius:12px}.defense figcaption{position:absolute;bottom:0;padding:40px 20px 20px;font-size:10px;color:#fff;background:linear-gradient(transparent,#0009);border-radius:12px;width:100%}.approach{padding:120px var(--inset);}.approach>h2{text-align:center;font-size:clamp(28px,2.8vw,42px)}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:64px}.process-grid article{border:1px solid #e5e6e1;border-radius:8px;padding:30px}.process-grid .eyebrow{text-transform:none;font-size:12px;color:#727869;margin-bottom:24px}.process-grid h3{margin-bottom:20px}.process-grid article>p:last-child{font-size:15px;color:#656a60}.contact{color:#fff;text-align:center;padding:160px 24px;background:linear-gradient(#080d08b3,#080d08b3),url('assets/contact-world-map.png') center/cover,#10150f}.contact h2{margin-bottom:30px}.contact p{color:var(--muted);margin-bottom:30px}.contact .actions{justify-content:center}.footer{background:#10150f;color:var(--muted);padding:50px 32px 32px}.footer-main{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:40px}.footer-main img{width:190px;height:40px;object-fit:contain}.footer h2{font-size:12px;text-transform:uppercase;color:#fff;letter-spacing:.04em;margin-bottom:20px}.footer-main div a{display:block;margin:12px 0;font-size:14px}.footer-main p{font-size:14px}.copyright{font-size:12px;margin-top:65px;padding-bottom:24px;border-bottom:1px solid #ffffff15}
@media(min-width:1512px){.page-content{padding:96px 32px 0}.panel{border-radius:32px}.hero{min-height:850px}.requirements{padding:64px 128px;gap:48px}.sectors{padding:64px 128px}.fiber{margin-bottom:20px}}
@media(max-width:1050px){.nav-shell{padding:0 24px;gap:20px}.brand img{width:130px}.nav-shell nav{gap:18px;font-size:12px}.nav-actions .button{padding:12px 14px}.hero{min-height:650px}.requirements{gap:36px;grid-template-columns:1fr 1fr}.feature{gap:40px;padding-block:85px}.capabilities{gap:12px;margin-top:30px}.capabilities article{padding:18px}.capabilities h3{font-size:18px}.sector-card{padding:22px}.process-grid{gap:16px}.process-grid article{padding:20px}.defense figure{min-height:500px}.mindset{padding-block:100px}}
@media(max-width:760px){html{scroll-padding-top:84px}.nav-shell{height:68px;grid-template-columns:1fr auto;padding:0 20px}.brand img{width:130px}.nav-shell nav{display:none;position:absolute;top:68px;left:0;right:0;background:#fffffff7;padding:24px;box-shadow:0 12px 20px #0000000d}.nav-shell nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.nav-shell nav a{padding:14px 8px;font-size:16px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:36px;height:44px;padding:7px;border:0;background:none;cursor:pointer}.menu-toggle span{height:1.5px;width:22px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.75px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.75px) rotate(-45deg)}.nav-actions{gap:12px}.nav-actions .button{font-size:11px;min-height:38px;padding:10px 12px}.page-content{padding-top:68px}.hero{min-height:570px;padding:90px 20px}.hero h1{font-size:clamp(38px,8vw,58px);max-width:650px;letter-spacing:-1.4px}.hero-subtitle{font-size:18px;max-width:290px}.hero-image{width:100%;margin:46px 0 36px}.hero .button{min-width:0}.actions{gap:10px}.button{font-size:12px;padding:12px 16px}.requirements{grid-template-columns:1fr;padding:54px 24px;gap:34px}.requirements h2{max-width:500px;font-size:31px}.accordion{height:306px}.accordion button{font-size:14px}.sectors{padding:50px 24px}.sector-grid{grid-template-columns:1fr;gap:16px;margin-top:26px}.sector-card{padding:26px}.sector-card p{font-size:16px}.mindset{padding:80px 24px}.mindset h2{font-size:33px}.partners{flex-wrap:wrap;justify-content:center;gap:26px 36px;margin:50px 0;font-size:17px}.mindset>p:last-child{font-size:16px}.feature{grid-template-columns:1fr;padding:64px 24px;gap:36px}.feature h2{font-size:35px}.feature p{font-size:16px}.energy>img{grid-row:1}.defense figure{min-height:0;aspect-ratio:1}.capabilities{margin-top:30px;gap:14px}.capabilities article{padding:20px}.capabilities p{font-size:14px}.approach{padding:75px 24px}.process-grid{grid-template-columns:1fr 1fr;margin-top:36px;gap:14px}.process-grid article{padding:20px}.process-grid h3{font-size:19px}.process-grid article>p:last-child{font-size:14px}.contact{padding:100px 24px}.contact h2{font-size:36px}.contact p{font-size:16px}.footer{padding:40px 24px 20px}.footer-main{grid-template-columns:1fr 1fr;gap:35px}.footer-main>a{grid-column:1/-1}.copyright{margin-top:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
/* Let responsive image widths determine their height instead of HTML fallback dimensions. */
.feature>img{height:auto}
/* Undo the 25% black overlay baked into the Figma photo exports. */
.feature>img,.defense figure img{filter:brightness(1.3333333333)}
/* The Figma photograph already includes its visible attribution. */
.defense figcaption{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.feature>*,.process-grid>*,.capabilities>*,.nav-shell>*{min-width:0}
@media(max-width:380px){.nav-shell{padding-inline:16px;gap:10px}.brand img{width:104px}.nav-actions{gap:6px}.nav-actions .button{padding-inline:9px}.capabilities,.process-grid{grid-template-columns:1fr}.hero .actions{justify-content:center}.accordion{padding-inline:18px}}

/* Reserve enough space for the longest description, keeping every row readable. */
.accordion{height:var(--accordion-height,370px);min-height:370px}
.accordion-item{flex-shrink:0}
.partner-carousel{margin:72px auto;max-width:1120px}
.partners{display:block;overflow:hidden;margin:0;mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent)}
.partner-track{display:flex;width:max-content;animation:partner-drift 30s linear infinite}
.partner-group{display:flex;flex-shrink:0;align-items:center;justify-content:space-around;width:1120px;padding-block:16px}
.partner-group span{width:224px;text-align:center}
.partner-carousel:hover .partner-track,.partner-carousel:focus-within .partner-track{animation-play-state:paused}

@keyframes partner-drift{to{transform:translateX(-50%)}}
.fiber{margin-bottom:0}
.contact{margin-top:0;background:linear-gradient(#171613d9,#171613d9),url('assets/contact-world-map.png') center/cover,#171613}
.footer{background:#171613}
@media(min-width:1512px){.contact{margin-top:120px}}
@media(max-width:760px){.partner-carousel{margin-block:46px}.partner-group{width:850px}.partner-group span{width:170px}}
@media(prefers-reduced-motion:reduce){.partner-track{animation:none}.partners{overflow-x:auto}.partner-group[aria-hidden]{display:none}}

/* Full-width backgrounds with content aligned to the same capped page grid. */
.contact{padding-inline:0}
.contact-inner{padding-inline:32px}
.footer{padding:0}
.footer-inner{padding:50px 32px 32px}
@media(max-width:760px){.contact-inner{padding-inline:24px}.footer-inner{padding:40px 24px 20px}}

/* Fiber partners reused from the original Veyra site. */
.partner-group{width:1344px}
.partner-group span{display:flex;align-items:center;justify-content:center;flex:0 0 224px}
.partner-group img{width:200px;height:80px;object-fit:contain}
@media(max-width:760px){.partner-group{width:1020px}.partner-group span{flex-basis:170px}.partner-group img{width:160px;height:64px}}
/* Compact optical-fiber resources, using the homepage palette. */
.fiber-trigger{border:0;background:none;color:inherit;padding:0;cursor:pointer;font-family:inherit;text-align:left}
.fiber-dialog{width:min(820px,calc(100% - 48px));max-height:calc(100dvh - 64px);padding:0;border:1px solid #ffffff16;border-radius:28px;background:var(--dark);color:#fff;box-shadow:0 30px 100px #0005;overflow:auto;overscroll-behavior:contain}
.fiber-dialog::backdrop{background:#10100ec9;backdrop-filter:blur(8px)}
body.dialog-open{overflow:hidden}
.fiber-dialog-header{display:flex;justify-content:space-between;align-items:center;padding:24px 48px 0}
.fiber-dialog-header .eyebrow{color:var(--muted);font-size:11px}
.dialog-close{display:grid;place-items:center;width:36px;height:36px;border:1px solid #9b9f864d;border-radius:50%;background:transparent;color:#fff;font-size:25px;line-height:1;cursor:pointer}
.dialog-close:hover{background:#ffffff12}
.fiber-dialog-body{padding:32px 48px 48px}
.fiber-product{padding-bottom:32px}
.fiber-product h2{font-size:clamp(30px,3.2vw,44px);margin-bottom:20px}
.fiber-product p:not(.eyebrow){font-size:16px;color:var(--muted);line-height:1.55;max-width:640px}
.fiber-resources{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.fiber-source{background:var(--card);padding:22px 18px;border-radius:10px;min-width:0}
.fiber-source h3{font-size:18px;margin-bottom:20px}
.resource-link{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #9b9f864d;border-radius:7px;padding:10px 12px;font-size:13px;line-height:1.2;margin-top:8px;transition:background .2s,border-color .2s}
.resource-link span[aria-hidden]{color:var(--yellow)}
.resource-link:hover{background:#ffffff0c;border-color:var(--yellow)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:600px){.fiber-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);border-radius:20px}.fiber-dialog-header{padding:18px 24px 0}.fiber-dialog-body{padding:24px}.fiber-resources{grid-template-columns:1fr;gap:12px}.fiber-source{padding:18px}.fiber-source h3{margin-bottom:12px}.resource-link{padding:10px 12px}.fiber-product{padding-bottom:24px}}

/* Fresco hero: preserve the central connection and place copy below the artwork. */
.hero-fresco{position:relative;isolation:isolate;overflow:hidden;justify-content:flex-end;min-height:760px;padding:440px 24px 76px;background:#2b2822}
.hero-fresco .hero-image{position:absolute;inset:0;z-index:-2;width:100%;height:100%;margin:0;max-width:none;object-fit:cover;object-position:50% 42%;mask-image:none}
.hero-fresco::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(32,30,27,.02) 25%,rgba(32,30,27,.08) 45%,rgba(32,30,27,.72) 72%,#2b2822 100%)}
.hero-fresco h1{color:transparent;background:linear-gradient(100deg,#e0ba1d,#bda88d 53%,#eea13e);background-clip:text;font-size:clamp(42px,4.7vw,70px);text-shadow:none}
.hero-fresco .hero-subtitle{font-size:clamp(19px,1.8vw,26px);margin-top:16px;color:#f1eee7}
.hero-fresco .actions{margin-top:30px;justify-content:center}
.hero-fresco .outline{background:#201e1b38;border-color:#ffffff80}
.hero-fresco .outline:hover{background:#ffffff20}
@media(min-width:1512px){.hero-fresco{min-height:850px;padding-top:490px;padding-bottom:84px}}
@media(max-width:760px){.hero-fresco{min-height:680px;padding:380px 24px 56px}.hero-fresco .hero-image{object-position:50% 38%}.hero-fresco h1{font-size:clamp(38px,8vw,58px)}.hero-fresco .hero-subtitle{max-width:320px;font-size:18px}.hero-fresco::before{background:linear-gradient(180deg,rgba(32,30,27,.02) 20%,rgba(32,30,27,.05) 38%,rgba(32,30,27,.8) 65%,#2b2822 100%)}}

/* The artwork and spark share a transform, so the light stays on the connector gap. */
.hero-art{position:absolute;inset:0;z-index:-2;transform-origin:var(--spark-x,50%) var(--spark-y,45%)}
.hero-fresco .hero-art .hero-image{z-index:auto}
.hero-spark{position:absolute;left:var(--spark-x,50%);top:var(--spark-y,45%);width:0;height:0;opacity:0;pointer-events:none}
.spark-halo,.spark-ray,.spark-core{position:absolute;display:block;transform:translate(-50%,-50%)}
.spark-halo{width:140px;height:140px;border-radius:50%;background:radial-gradient(circle,#fff3cbaa 0%,#ffdc8d88 12%,#eab65a44 35%,transparent 70%);filter:blur(2px)}
.spark-core{width:10px;height:10px;border-radius:50%;background:#fffbea;box-shadow:0 0 6px 3px #fff6da,0 0 17px 7px #ffe3a5,0 0 38px 13px #efbd6980}
.spark-ray{width:104px;height:3px;background:linear-gradient(90deg,transparent 0%,#f5cc8177 18%,#fff7df 46%,#fffbed 50%,#fff7df 54%,#f5cc8177 82%,transparent);transform:translate(-50%,-50%) rotate(-25deg);filter:blur(.5px)}
.spark-ray::after{content:"";position:absolute;left:50%;top:50%;width:62px;height:2px;transform:translate(-50%,-50%) rotate(90deg);background:linear-gradient(90deg,transparent,#fff2cd,transparent)}
.hero-fresco.art-ready .hero-art{animation:hero-opening-zoom 4.5s cubic-bezier(.2,.65,.3,1) both}
.hero-fresco.art-ready .hero-spark{animation:connector-ignite 1.5s ease-out both,connector-glow 5s 1.5s ease-in-out infinite}
@keyframes hero-opening-zoom{from{transform:scale(1)}to{transform:scale(1.035)}}
@keyframes connector-ignite{0%{opacity:0;transform:scale(.45)}35%{opacity:1;transform:scale(1.22)}65%{opacity:.9;transform:scale(.92)}100%{opacity:.8;transform:scale(1)}}
@keyframes connector-glow{0%,100%{opacity:.8;transform:scale(1)}50%{opacity:.58;transform:scale(.88)}}
@media(prefers-reduced-motion:reduce){.hero-fresco.art-ready .hero-art,.hero-fresco.art-ready .hero-spark{animation:none}.hero-spark{opacity:0}}
.hero-spark{z-index:1}
