.felix-social{display:flex;gap:7px;align-items:center}.felix-social>span{width:29px;height:29px;display:grid;place-items:center;background:#f3f7fa;border-radius:9px;color:#334456}.felix-social svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7}.felix-social>span:first-child svg{fill:currentColor;stroke:none}.nav{gap:16px}.nav-actions{gap:10px}
.neon-layout{align-items:center}.neon-preview{position:relative;top:auto;min-height:450px}.neon-sign{color:var(--neon-color);-webkit-text-stroke:0;-webkit-text-fill-color:currentColor;filter:none;text-shadow:0 0 1px #ffffffb0,0 0 4px var(--neon-color),0 0 12px color-mix(in srgb,var(--neon-color) 65%,transparent),0 0 25px color-mix(in srgb,var(--neon-color) 25%,transparent)}.neon-sign[data-font=block]{-webkit-text-stroke:1.5px var(--neon-color);-webkit-text-fill-color:transparent}.neon-sign.off{text-shadow:1px 2px 2px #0005;filter:none;-webkit-text-stroke:0}
.catalog-picture{container-type:inline-size;aspect-ratio:1;display:grid;place-items:center;padding:8px;box-sizing:border-box}.catalog-picture>.catalog-photo{width:min(100%,calc(100cqw * var(--catalog-ratio,1)));max-width:100%;height:auto!important;aspect-ratio:var(--catalog-ratio,1)!important}.catalog-zoom{width:min(1480px,calc(100vw - 24px));max-height:calc(100dvh - 20px)}.catalog-zoom .zoom-photo .catalog-photo{max-width:none!important}.catalog-photo img{animation:none}
.project-grid{grid-auto-rows:auto;align-items:stretch}.project-grid>.project{height:auto;min-height:0;display:flex;flex-direction:column;background:#f6f8fb;border:1px solid #e2e7ee;border-radius:24px}.project-grid>.project:first-child{grid-row:auto}.project-grid>.project img{width:100%;height:270px;object-fit:contain;padding:14px;box-sizing:border-box}.project-grid>.project:after{display:none}.project-grid>.project figcaption{position:static;padding:18px 22px;background:#fff;color:#202733;text-shadow:none;margin-top:auto}.project-grid>.project figcaption small{color:#65717e}
.process-steps li{position:relative}.process-image{display:block;width:86px;height:86px;margin-bottom:18px;background-image:url(images/process-icons.webp);background-size:200% 200%;background-repeat:no-repeat}.process-image-0{background-position:0 0}.process-image-1{background-position:100% 0}.process-image-2{background-position:0 100%}.process-image-3{background-position:100% 100%}
.ideas .idea-shell{background:linear-gradient(130deg,#111e31,#244355);border:1px solid #43778b}.ideas .idea-upload{border:1px solid #ffffff30;border-radius:26px;background:linear-gradient(135deg,#ffffff12,#00a8e120);padding:20px}.ideas .upload-box{border:0;background:#ffffff0c;padding:30px;display:grid;gap:18px;text-align:center;justify-items:center}.ideas .upload-box b{font-size:25px;line-height:1.25;color:#fff}.upload-camera{font-size:36px;color:#6fe0ff}.ideas .upload-box span{color:#d5e6ef}
.tracker-empty h3{color:#213249;font-size:28px;margin:14px 0 22px}.tracker-kicker{font-size:11px;letter-spacing:.15em;color:#007da6;font-weight:800}.tracker-start{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.tracker-start span{background:#fff;border:1px solid #e3e9ef;border-radius:18px;padding:20px 8px;color:#394c62;font-weight:700;font-size:13px}.tracker-start b{display:block;font-size:25px;margin-bottom:8px;color:#00a8e1}.tracker-start span:nth-child(2) b{color:#ec008c}.tracker-start span:nth-child(3) b{color:#b39300}.tracker-empty p{line-height:1.7;font-size:14px;margin:20px auto;max-width:390px}.tracker-demo{background:linear-gradient(135deg,#eef9ff,#fff4fa)}
.creative-credit{width:fit-content;max-width:100%;display:grid;gap:6px;text-align:center;margin:25px auto 0;padding:17px 26px 0;position:relative}.creative-credit:before{content:'';position:absolute;top:0;height:2px;left:20%;right:20%;background:linear-gradient(90deg,#ffe500,#ec008c,#00a8e1)}.creative-credit span{font-size:10px;letter-spacing:.18em;color:#7a8592}.creative-credit strong{font-size:15px;letter-spacing:.13em;color:#243447;font-weight:700}
.location-layout{display:grid;grid-template-columns:.7fr 1.3fr;align-items:center;gap:40px}.felix-location h2{font-size:44px;margin:12px 0}.felix-location p{font-size:17px;color:#596675;line-height:1.6}.felix-location iframe{width:100%;height:320px;border:1px solid #d8e5ed;border-radius:26px;background:#edf4f8}
.technology-section{padding-top:24px;background:#fff}.technology-window{position:relative;isolation:isolate;overflow:hidden;border-radius:32px;padding:56px;display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;background:radial-gradient(ellipse at 20% 10%,#163e54,transparent 60%),radial-gradient(ellipse at 75% 110%,#331a43,transparent 60%),#0a1422;border:1px solid #1d4155;box-shadow:0 20px 55px #17395115;color:#fff}.technology-kicker{font-size:10px;letter-spacing:.24em;color:#7dcfe4;font-weight:700}.technology-copy h2{font-size:clamp(29px,3vw,40px);letter-spacing:-.04em;line-height:1.12;margin:18px 0}.technology-copy p{color:#9bb1c4;line-height:1.7;font-size:15px}.technology-logo{position:relative;display:grid;justify-items:center;padding:28px 30px 18px;border:1px solid #fff7;border-radius:24px;background:linear-gradient(140deg,#fff,#e7f4fa);box-shadow:0 0 40px #00a8e119}.technology-logo img{width:100%;height:auto;max-height:220px;object-fit:contain}.technology-logo>span{font-size:8px;letter-spacing:.26em;color:#688090;margin-top:18px}.technology-status{display:flex;align-items:center;gap:12px;border:1px solid #7dd9ff36;border-radius:999px;background:#ffffff05;padding:12px 18px;width:fit-content;margin-top:26px}.technology-status strong{font-size:11px;letter-spacing:.22em}.waiting-ring{width:18px;height:18px;border:2px solid #00a8e126;border-top-color:#4acbff;border-right-color:#ec008c;border-radius:50%;animation:technology-wait 2.4s linear infinite}.waiting-dots{letter-spacing:3px;color:#73c9e6}.technology-orbit{position:absolute;inset:0;z-index:-1;pointer-events:none}.technology-orbit i{position:absolute;width:400px;height:400px;border:1px solid #6cd8ff12;border-radius:50%;left:28%;top:-120px}.technology-orbit i:nth-child(2){width:540px;height:540px;top:-190px;left:22%}.technology-orbit i:nth-child(3){width:680px;height:680px;top:-260px;left:16%}@keyframes technology-wait{to{transform:rotate(360deg)}}
@media(max-width:1100px){.felix-social{gap:4px}.felix-social>span{width:25px;height:25px}.nav-actions .btn-outline{display:none}}
@media(max-width:680px){.neon-preview{min-height:330px}.project-grid>.project img{height:245px}.felix-social{gap:5px}.felix-social>span{width:25px;height:25px}.location-layout{grid-template-columns:1fr;gap:18px}.felix-location iframe{height:280px}.technology-window{grid-template-columns:1fr;padding:30px 24px;gap:28px;border-radius:24px}.technology-copy{text-align:center}.technology-status{margin:24px auto 0}.technology-logo{padding:24px}.tracker-start{gap:6px}.tracker-start span{font-size:11px;padding:15px 6px}}
@media(prefers-reduced-motion:reduce){.waiting-ring{animation:none}}
.catalog-dialog{width:min(1340px,calc(100vw - 32px));height:calc(100dvh - 32px);max-width:none;max-height:none}.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:1000px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.catalog-dialog{width:calc(100vw - 12px);height:calc(100dvh - 12px)}.catalog-grid{grid-template-columns:1fr}}

/* Customer presentation: explicit surface sizing and readable copy. */
.catalog-item:has(.lightbox-product-photo){overflow:hidden;border-radius:24px}
.catalog-picture:has(.lightbox-product-photo){position:relative;display:block;padding:0;aspect-ratio:1;border-radius:23px 23px 0 0;background:#edf2f4}
.catalog-picture>.lightbox-product-photo{position:absolute;inset:0;width:100%!important;height:100%!important;aspect-ratio:auto!important;border-radius:inherit;overflow:hidden}
.lightbox-product-photo{position:relative;overflow:hidden}
.lightbox-crop{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);overflow:hidden;width:100%;height:100%}
.lightbox-product-photo img{display:block;animation:none!important;transition:none!important}
.ideas .idea-shell h2{color:#fff!important;line-height:1.12;text-wrap:balance}
.ideas .idea-shell p{color:#d9e8f1!important}
.ideas .idea-shell .kicker{color:#ffe500!important}
.ideas .idea-shell>div:first-child{position:relative;z-index:1}
.upload-camera svg{display:block;width:42px;height:42px}
.process-steps li{text-align:center;display:flex;flex-direction:column;align-items:center}
.process-steps li>span:not(.process-image){display:none}
.process-image{margin:0 auto 18px;flex-shrink:0;background-color:transparent}
.process-steps li h3,.process-steps li p{width:100%;text-align:center}
.tracker-start>span{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}
.tracker-start .process-image{width:65px;height:65px;margin:0}
.footer-services-credit .footer-badges{display:flex;justify-content:center;flex-wrap:wrap}
.footer-services-credit .creative-credit{width:100%;box-sizing:border-box;margin:22px 0 0;padding:17px 0 0}
.footer-services-credit .creative-credit:before{left:calc(50% - 70px);right:auto;width:140px}
.hero-art{min-height:0!important;aspect-ratio:1;width:100%;max-width:560px}
.hero-board{inset:0!important;width:100%;height:100%!important;aspect-ratio:1;border-radius:34px;isolation:isolate}
.hero-slider .hero-slide{inset:0}.hero-slider .hero-slide>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:none}
.hero-art .hero-caption{left:28px;right:28px;bottom:24px;font-size:clamp(15px,1.4vw,21px);text-align:center;text-shadow:0 1px 10px #0007;pointer-events:none}
.hero-board:after{height:25%;background:linear-gradient(transparent,#102030bd);pointer-events:none}
.hero-art .slider-control{top:15px;right:15px;border:1px solid #ffffff80;background:#ffffffed;color:#263949;padding:8px 12px;font-size:11px;z-index:7}
.hero-float{display:none}
@media(max-width:680px){.hero-board{border-radius:26px}.hero-art .hero-caption{left:18px;right:18px;bottom:20px;font-size:15px}.tracker-start .process-image{width:52px;height:52px}.process-steps li{padding:22px 18px}}

.composite-heading p{max-width:600px;font-size:17px;line-height:1.6;color:#526676;margin:16px 0 0}
.composite-heading h2{font-size:clamp(31px,3.6vw,48px)}
.composite-box{padding:30px;border-radius:30px}
.composite-views{gap:20px}
.composite-views figure{border-radius:20px;background:#f1f6f8}
.composite-views figure>div{padding:16px 18px}
.composite-views span{font-size:11px;letter-spacing:.08em}
.composite-views canvas{width:100%;border-radius:0 0 19px 19px}
.composite-summary{display:grid;grid-template-columns:.7fr 1fr 1.4fr .65fr .65fr;gap:14px;padding:18px 20px;margin:20px 0 30px;background:#f4f8fb;border:1px solid #e1eaf0;border-radius:16px}
.composite-summary>div{display:grid;gap:6px;align-content:start}
.composite-summary small{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#647887;font-weight:700}
.composite-summary strong{font-size:13px;color:#1d3545;line-height:1.4}
.composite-summary i{display:inline-block;width:14px;height:14px;border:1px solid #0002;border-radius:4px;margin-right:7px;vertical-align:-2px}
.composite-options{gap:32px;grid-template-columns:1fr 1fr}
.composite-models{grid-template-columns:1fr;gap:10px}
.composite-models button{position:relative;min-height:87px;padding:8px 40px 8px 8px;border:2px solid #e1e9ee;gap:16px;transition:border-color .15s,background-color .15s}
.composite-models button:after{content:'';position:absolute;right:15px;top:calc(50% - 9px);width:16px;height:16px;border:2px solid #bdcdd7;border-radius:50%;background:#fff}
.composite-models button[aria-pressed=true]{background:#fff4fa;border-color:#ec008c;box-shadow:0 0 0 3px #ec008c09}
.composite-models button[aria-pressed=true]:after{background:#ec008c;border-color:#ec008c;box-shadow:inset 0 0 0 4px white}
.composite-model-photo,.composite-models button:last-child .composite-model-photo{width:120px;height:75px;border-radius:10px}
.composite-models strong{font-size:14px;line-height:1.3}.composite-models small{font-size:12px;line-height:1.4;margin-top:6px}
.composite-finishes{display:grid;grid-template-columns:repeat(3,1fr)}
.composite-finishes button,.composite-lights button{min-height:47px;justify-content:center;border-width:2px}
.composite-finishes b,.composite-lights b{font-size:13px}
.composite-color{border-width:2px;min-height:75px}
.composite-color span{height:32px}.composite-color b{font-size:11px}.composite-color small{font-size:10px}
.composite-colors{max-height:465px;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;padding:4px 8px 4px 4px}
.composite-options button[aria-pressed=true]{outline:0;box-shadow:0 0 0 2px #ec008c12}
.composite-request .btn{justify-self:stretch}
.composite-none{padding:11px 15px;background:#f8fafc;border:1px solid #dce6ed;border-radius:13px}
@media(max-width:900px){.composite-summary{grid-template-columns:repeat(3,1fr)}.composite-options{grid-template-columns:1fr}.composite-models{grid-template-columns:1fr 1fr}.composite-models button:last-child{grid-column:1/-1}.composite-model-photo,.composite-models button:last-child .composite-model-photo{width:85px;height:65px}.composite-models strong{font-size:12px}.composite-models small{font-size:10px}.composite-colors{grid-template-columns:repeat(6,minmax(0,1fr));max-height:370px}}
@media(max-width:600px){.composite-box{padding:16px}.composite-heading p{font-size:15px}.composite-models{grid-template-columns:1fr}.composite-model-photo,.composite-models button:last-child .composite-model-photo{width:105px;height:70px}.composite-models strong{font-size:13px}.composite-models small{font-size:11px}.composite-summary{grid-template-columns:1fr 1fr;padding:15px;gap:14px}.composite-summary>div:nth-child(3){grid-column:1/-1}.composite-colors{grid-template-columns:repeat(4,minmax(0,1fr))}.composite-views figure>div{padding:13px 12px}.composite-views span{font-size:10px}.composite-views b{font-size:10px}}

.hero-slider .hero-slide>.lightbox-product-photo{position:absolute;inset:0;width:100%!important;height:100%!important;aspect-ratio:auto!important;transform:none;border-radius:inherit}

.composite-enlarge{display:block;margin:12px 0 0 auto;border:1px solid #c7dce6;background:#fff;color:#006e91;border-radius:11px;min-height:42px;padding:9px 15px;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.composite-zoom{padding:24px;border:0;border-radius:25px;width:min(1600px,calc(100vw - 28px));box-sizing:border-box;max-width:none;max-height:calc(100dvh - 24px);background:#fff;color:#223949;box-shadow:0 25px 90px #001b3355}
.composite-zoom::backdrop{background:#122238b8;backdrop-filter:blur(7px)}
.composite-zoom-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.composite-zoom h2{font-size:25px;margin:0}.composite-zoom-head button{width:44px;height:44px;border:1px solid #cbdbe4;border-radius:12px;background:#fff;font-size:30px;cursor:pointer;flex-shrink:0}
.composite-zoom-views{display:grid;grid-template-columns:1fr 1fr;gap:18px}.composite-zoom figure{margin:0;border:1px solid #dce7ed;border-radius:20px;overflow:hidden}.composite-zoom figure>div{padding:15px;display:flex;justify-content:space-between;gap:12px;background:#f6fafc;font-size:12px}.composite-zoom canvas{display:block;width:100%;height:auto}.composite-zoom p{font-size:12px;color:#607887}
@media(max-width:700px){.composite-zoom{padding:16px;width:calc(100vw - 16px)}.composite-zoom h2{font-size:20px}.composite-zoom-views{grid-template-columns:1fr}.composite-zoom figure>div{font-size:10px}}

/* Pure CSS cover geometry applies before paint, including light switches. */
.catalog-picture:has(.lightbox-product-photo),.hero-slider .hero-slide{container-type:size}
.catalog-picture .lightbox-crop,.hero-slider .lightbox-crop{width:max(calc(100% + .25px),calc((100cqh + .25px) * var(--lightbox-ratio)));height:auto;aspect-ratio:var(--lightbox-ratio)}

.composite-views canvas{aspect-ratio:1/.62;cursor:default}.composite-views canvas[data-view=angle]{cursor:grab}.composite-views canvas[data-view=angle]:active{cursor:grabbing}.composite-orbit-help{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;color:#607c8e;margin:12px 0 0}.composite-reset{border:0;background:transparent;color:#007da2;font:inherit;font-weight:700;cursor:pointer;text-decoration:underline}.composite-views canvas:focus-visible{outline:3px solid #00a8e1;outline-offset:-4px}@media(max-width:600px){.composite-orbit-help{font-size:11px;align-items:flex-start}}

.composite-preview-status{padding:16px;border:1px solid #bcd8e5;border-radius:12px;background:#eef8fc;color:#315c70;font-size:14px}.composite-preview-status[hidden]{display:none}

.neon-pagination{display:flex;align-items:center;justify-content:center;gap:8px;margin:18px 0;scroll-margin-top:16px}.neon-pagination button{min-width:42px;min-height:46px;padding:10px 14px;border:1px solid #b5c7d0;border-radius:12px;background:white;color:#122c3a;font-weight:700;cursor:pointer}.neon-pagination button[aria-current=page]{background:#142f40;color:white;border-color:#142f40}.neon-pagination button:disabled{opacity:.4;cursor:default}.neon-pagination button:focus-visible{outline:3px solid #00b9df;outline-offset:3px}@media(max-width:480px){.neon-pagination{gap:5px}.neon-pagination button{padding:10px;min-width:38px;font-size:13px}}

/* Clip the photographic neon tile to the actual card frame, without an inset. */
.catalog-picture:has(>.neon-product-photo){position:relative;display:block;padding:0;aspect-ratio:1;border-radius:23px 23px 0 0;overflow:hidden;container-type:size;background:#edf2f4}
.catalog-picture>.neon-product-photo{position:absolute;left:50%;top:50%;inset:auto;transform:translate(-50%,-50%);width:max(100%,calc(100cqh * var(--catalog-ratio,1)))!important;max-width:none!important;height:auto!important;min-height:100%;aspect-ratio:var(--catalog-ratio,1)!important;border-radius:0}
.service-card .showcase-pad.catalog-main-cover{border-radius:22px;overflow:hidden;padding:0}
.sector-product{border-radius:14px;overflow:hidden}.sector-product>.catalog-photo{border-radius:14px 14px 0 0;overflow:hidden}

/* Full-bleed photographic frames: clip only at the card radius. */
.neon-product-photo{position:relative;overflow:hidden;border-radius:inherit;background:#34251f}
.catalog-picture:has(>.neon-product-photo){padding:0;overflow:hidden;border-radius:23px 23px 0 0}
.catalog-picture>.neon-product-photo{inset:0!important;transform:none!important;position:absolute;width:100%!important;height:100%!important;min-height:0;border-radius:inherit}
.catalog-zoom .neon-product-photo{width:100%;aspect-ratio:1;border-radius:20px;overflow:hidden;max-height:70dvh;max-width:70dvh;margin:auto}
.neon-pagination{flex-wrap:wrap}

/* Full-bleed photographic frames: clip only at the card radius. */
.neon-product-photo{position:relative;overflow:hidden;border-radius:inherit;background:#34251f}
.catalog-picture:has(>.neon-product-photo){padding:0;overflow:hidden;border-radius:23px 23px 0 0}
.catalog-picture>.neon-product-photo{inset:0!important;transform:none!important;position:absolute;width:100%!important;height:100%!important;min-height:0;border-radius:inherit}
.catalog-zoom .neon-product-photo{width:100%;aspect-ratio:1;border-radius:20px;overflow:hidden;max-height:70dvh;max-width:70dvh;margin:auto}
.neon-pagination{flex-wrap:wrap}
