:root{--egc-ink:#253630;--egc-muted:#5e7067;--egc-green:#17634c;--egc-cream:#f7f6f0;--egc-border:#dce4dc;--egc-ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}html.egc-immersive,body.egc-immersive{margin:0!important;padding:0!important;width:100%;min-height:100%;overflow-x:hidden}html.egc-immersive{scroll-behavior:smooth}body.egc-immersive{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--egc-ink);background:#edf0eb}body.egc-immersive #wpadminbar{display:none!important}body.egc-immersive.egc-panel-open{overflow:hidden}.egc-root{position:relative;isolation:isolate;min-height:100vh;background:#edf0eb;color:var(--egc-ink);font-size:14px;line-height:1.6}.egc-root button,.egc-root input,.egc-root textarea,.egc-root select{font:inherit}.egc-root button{cursor:pointer}.egc-root button:disabled{cursor:not-allowed;opacity:.5}.egc-root button:focus-visible,.egc-root a:focus-visible,.egc-root input:focus-visible,.egc-root textarea:focus-visible,.egc-root select:focus-visible{outline:3px solid #54aa87;outline-offset:3px}.egc-root a{text-decoration:none;color:inherit}.egc-root svg{display:block;width:100%;height:100%}.egc-icon{display:inline-flex;align-items:center;justify-content:center;width:21px;height:21px;flex:0 0 auto}.egc-icon svg{width:100%;height:100%}.egc-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Loading and fixed controls */
.egc-loader{position:fixed;inset:0;z-index:100;background:#f7f7f2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;padding:24px;transition:opacity .5s ease,visibility .5s ease}.egc-loader[hidden]{display:none}.egc-loader.is-finished{opacity:0;visibility:hidden;pointer-events:none}.egc-loader-mark{display:flex;align-items:center;gap:14px;font-size:31px;font-weight:750;letter-spacing:-.05em;color:#1b3832}.egc-loader-mark img{width:55px;height:55px;object-fit:contain}.egc-loader-rule{width:min(270px,70vw);height:3px;background:#dce4dd;border-radius:10px;overflow:hidden;margin-top:12px}.egc-loader-rule span{display:block;width:0;height:100%;background:#287456;transition:width .2s ease}.egc-loader p{color:#66766e;font-size:12px;margin:0}.egc-loader small{font-size:12px;color:#49705b;font-variant-numeric:tabular-nums}.egc-loader button{border:1px solid #b7cbbc;border-radius:30px;background:#fff;color:#264b39;padding:10px 16px}.egc-loader button[hidden]{display:none}
/* Full-screen room and actual source-coordinate image layers */
.egc-scene-shell{position:relative;height:320svh;min-height:1400px;background:#dce3df}.egc-stage{position:sticky;top:0;height:100svh;min-height:480px;overflow:hidden;background:#e2e9e8;isolation:isolate;touch-action:pan-y;cursor:grab}.egc-stage:focus-visible{outline:3px solid #51ad8b;outline-offset:-5px}.egc-stage canvas[hidden]{display:none}.egc-layer-world{position:absolute;left:0;top:0;width:1672px;height:941px;transform-origin:0 0;will-change:transform;isolation:isolate;overflow:hidden}.egc-room-background{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:fill;user-select:none;pointer-events:none;transition:filter .6s ease}.egc-object-layer{position:absolute;display:block;padding:0;margin:0;border:0;background:none;color:inherit;transform-style:preserve-3d;touch-action:manipulation;user-select:none;-webkit-tap-highlight-color:transparent;overflow:visible;will-change:transform}.egc-object-layer:not(button){pointer-events:none}.egc-object-layer button{cursor:pointer}.egc-object-layer::before{content:"";position:absolute;inset:calc(-1 * var(--tap-pad,0px));background:transparent;pointer-events:auto}.egc-object-visual{position:absolute;inset:0;transform-origin:50% 72%;transition:transform .42s var(--egc-ease),filter .4s ease,opacity .4s ease;will-change:transform,filter;pointer-events:none}.egc-layer-image{display:block;width:100%;height:100%;object-fit:fill;pointer-events:none;user-select:none}.egc-object-layer.is-hovered .egc-object-visual,.egc-object-layer:focus-visible .egc-object-visual{filter:brightness(1.08) saturate(1.12) drop-shadow(0 11px 16px rgba(0,0,0,.2));transform:translate3d(0,-5px,0) scale(1.025)}.egc-object-layer.is-focused .egc-object-visual{filter:brightness(1.07) saturate(1.12) drop-shadow(0 14px 20px rgba(0,0,0,.22))}.egc-object-layer.is-clicked .egc-object-visual{animation:egc-object-pulse .68s var(--egc-ease) both}.egc-object-layer.is-unlit .egc-object-visual{filter:brightness(.24) saturate(.65)}.egc-object-layer.is-unlit.is-hovered .egc-object-visual{filter:brightness(.58) saturate(.8)}.egc-object-layer:focus-visible{outline:2px solid #e6bd76;outline-offset:4px;border-radius:4px}
@keyframes egc-object-pulse{0%{transform:translate3d(0,0,0) scale(1)}38%{transform:translate3d(0,-13px,0) scale(1.07)}100%{transform:translate3d(0,0,0) scale(1)}}
.egc-object-portfolio.is-hovered .egc-object-visual{transform:translateY(-5px) rotateY(-3deg) scale(1.025)}.egc-object-portfolio.is-clicked .egc-object-visual{animation:egc-monitor-click .7s both}.egc-object-contact.is-hovered .egc-object-visual{transform:translateY(-9px) rotate(-3deg) scale(1.045)}.egc-object-contact.is-clicked .egc-object-visual{animation:egc-phone-click .68s both}.egc-object-about.is-hovered .egc-object-visual{transform:translateY(-4px) rotateX(8deg) scale(1.035)}.egc-object-about.is-clicked .egc-object-visual{animation:egc-book-click .7s both}.egc-object-schedule.is-clicked .egc-object-visual{animation:egc-calendar-click .65s both}.egc-object-lamp.is-clicked .egc-object-visual{animation:egc-lamp-click .5s both}.egc-object-services.is-hovered .egc-object-visual{filter:brightness(1.17) drop-shadow(0 0 10px rgba(246,200,124,.25))}.egc-object-plant-left .egc-object-visual{transform-origin:50% 100%;animation:egc-plant-sway 9s ease-in-out infinite}.egc-object-locations.is-hovered .egc-object-visual{transform:rotateY(9deg) scale(1.05)}
@keyframes egc-monitor-click{0%{transform:none}40%{transform:translateY(-9px) rotateY(-5deg) scale(1.07)}100%{transform:none}}@keyframes egc-phone-click{0%{transform:none}35%{transform:translateY(-17px) rotate(-6deg) scale(1.12)}70%{transform:translateY(-6px) rotate(2deg) scale(1.04)}100%{transform:none}}@keyframes egc-book-click{0%{transform:none}40%{transform:translateY(-7px) rotateX(16deg) rotate(-2deg) scale(1.05)}100%{transform:none}}@keyframes egc-calendar-click{0%{transform:none}40%{transform:translateY(-11px) rotateY(8deg) scale(1.06)}100%{transform:none}}@keyframes egc-lamp-click{0%{transform:none}50%{transform:scale(1.045) rotate(2deg)}100%{transform:none}}@keyframes egc-plant-sway{0%,100%{transform:rotate(-.4deg)}50%{transform:rotate(.55deg)}}
.egc-water-sprite{position:absolute;pointer-events:none;mix-blend-mode:screen;opacity:.92}.egc-monitor-brand{position:absolute;width:54px;height:54px;object-fit:contain;left:190px;top:50px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.08));pointer-events:none}.egc-speaker-bars{position:absolute;left:44%;top:38%;display:flex;align-items:center;justify-content:center;gap:4px;width:24%;height:29%;opacity:0;transition:opacity .3s;pointer-events:none}.egc-speaker-bars i{display:block;width:3px;height:16px;background:#86e0cf;border-radius:4px;animation:egc-eq .8s ease-in-out infinite alternate}.egc-speaker-bars i:nth-child(2n){animation-delay:-.42s}.egc-speaker-bars i:nth-child(3n){animation-delay:-.2s}.egc-object-media.is-playing .egc-speaker-bars{opacity:1}.egc-object-media.is-playing .egc-object-visual{filter:drop-shadow(0 0 12px rgba(94,207,217,.28))}.egc-aquarium-interior{position:absolute;left:2.3%;top:4.3%;width:95.4%;height:83.7%;overflow:hidden;pointer-events:none}.egc-aquarium-bubbles{display:block;width:100%;height:100%}.egc-fish{position:absolute;left:0;top:0;height:auto;transform-origin:center;filter:drop-shadow(0 1px 2px rgba(0,0,0,.25));pointer-events:none}.egc-object-aquarium.is-hovered .egc-object-visual{filter:brightness(1.12) saturate(1.16) drop-shadow(0 0 18px rgba(67,175,226,.24));transform:translateY(-3px) scale(1.015)}@keyframes egc-eq{from{height:7px}to{height:38px}}
/* Lighting is an actual scene effect, not a dark-mode color swap. */
.egc-room-shade{position:absolute;inset:0;z-index:35;background:linear-gradient(90deg,rgba(2,7,13,.76),rgba(2,8,14,.9));opacity:0;pointer-events:none;transition:opacity .65s ease}.egc-room-lamp-glow{position:absolute;left:355px;top:280px;width:490px;height:430px;z-index:36;pointer-events:none;background:radial-gradient(ellipse at 50% 36%,rgba(255,218,151,.24),rgba(255,189,97,.08) 40%,transparent 75%);mix-blend-mode:screen;transition:opacity .6s ease}.egc-click-light{position:absolute;inset:0;z-index:37;pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.13),transparent 35%)}.egc-night .egc-room-shade{opacity:1}.egc-night .egc-room-lamp-glow{opacity:.04}.egc-night .egc-room-background{filter:brightness(.28) saturate(.7)}.egc-night .egc-object-layer{z-index:38!important}.egc-night .egc-object-window .egc-object-visual{filter:brightness(.45) saturate(.8)}.egc-night .egc-object-portfolio .egc-object-visual,.egc-night .egc-object-contact .egc-object-visual{filter:brightness(.85) saturate(1.08)}.egc-night .egc-object-media .egc-object-visual,.egc-night .egc-object-aquarium .egc-object-visual{filter:brightness(.9) saturate(1.12)}.egc-night .egc-object-services .egc-object-visual{filter:brightness(.85)}.egc-night .egc-object-lamp .egc-object-visual{filter:brightness(.4)}
/* Live header covers the original artwork's baked header. */
.egc-header{position:absolute;top:0;left:0;right:0;z-index:60;height:78px;padding:0 clamp(16px,4vw,64px);display:flex;align-items:center;justify-content:space-between;gap:18px;background:rgba(250,251,247,.96);border-bottom:1px solid rgba(198,214,204,.6);backdrop-filter:blur(16px);box-shadow:0 2px 20px rgba(12,31,23,.04)}.egc-brand{display:flex;align-items:center;gap:10px;min-width:0;white-space:nowrap}.egc-brand img{width:43px;height:43px;object-fit:contain}.egc-brand strong{font-size:25px;letter-spacing:-.055em;font-weight:760;color:#21352f}.egc-brand>span{font-size:8px;letter-spacing:.19em;font-weight:700;color:#66776f;margin-left:8px;max-width:330px;overflow:hidden;text-overflow:ellipsis}.egc-header nav{display:flex;align-items:center;gap:clamp(12px,2vw,30px);margin-left:auto}.egc-nav-link{position:relative;border:0;background:none;color:#35483e;padding:11px 2px;font-size:12px;font-weight:550;white-space:nowrap}.egc-nav-link:after{content:"";position:absolute;left:2px;right:2px;bottom:3px;height:2px;background:#c1975c;transform:scaleX(0);transition:transform .25s}.egc-nav-link:hover:after,.egc-nav-link.is-active:after{transform:scaleX(1)}.egc-header-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.egc-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid #cbdace;border-radius:999px;padding:12px 20px;min-height:44px;background:#fff;color:#264c39;font-size:12px;font-weight:650;line-height:1.3;transition:background .25s,transform .25s,box-shadow .25s}.egc-button:hover{transform:translateY(-2px);background:#eef4ee}.egc-button-primary{background:linear-gradient(115deg,#2b4056,#4d6682);color:#fff!important;border-color:#41556d;box-shadow:0 7px 20px rgba(34,57,83,.14)}.egc-button-primary:hover{background:linear-gradient(115deg,#354d66,#5a7696)}.egc-button-outline{background:transparent;color:#354d66!important;border-color:#b9c4cf}.egc-text-button{border:0;background:none;color:#247453;font-weight:650;padding:10px 2px;font-size:12px}.egc-text-button:hover{text-decoration:underline;text-underline-offset:4px}.egc-icon-button{display:inline-grid;place-items:center;width:42px;height:42px;min-width:42px;border:1px solid #d0ddd4;border-radius:50%;background:#fff;color:#2b5845;font-size:19px}.egc-icon-button[aria-pressed=true]{background:#f2e6d1;color:#7c5830}.egc-menu-button{display:none}.egc-hero{position:absolute;z-index:55;left:0;top:0}.egc-hero.egc-desktop-copy{display:none}.egc-hero h1{font-family:Georgia,serif;font-weight:400;letter-spacing:-.045em;line-height:1.08;margin:0}.egc-hero h1 span{display:block}.egc-hero h1 span:last-child{color:#89633a}.egc-eyebrow{font-size:9px;letter-spacing:.25em;font-weight:700;color:#66776f}.egc-hero>p{font-size:13px;color:#52665a;line-height:1.65}.egc-hero-actions{display:flex;gap:10px;flex-wrap:wrap}.egc-bottom{position:absolute;z-index:55;bottom:18px;left:clamp(16px,4vw,64px);right:clamp(16px,4vw,64px);display:flex;justify-content:space-between;align-items:center;pointer-events:none}.egc-bottom button{pointer-events:auto}.egc-scroll{display:flex;align-items:center;gap:9px;border:1px solid rgba(255,255,255,.65);border-radius:40px;background:rgba(14,39,33,.7);color:white;padding:11px 16px;font-size:11px;letter-spacing:.08em;backdrop-filter:blur(10px)}.egc-bottom-right{display:flex;gap:8px}.egc-quiet{border:1px solid rgba(255,255,255,.4);border-radius:30px;background:rgba(15,40,34,.65);color:#fff;padding:8px 12px;font-size:11px}.egc-hotspots{display:none!important}
/* Mobile navigation is a real accessible alternative to tiny image targets. */
.egc-mobile-dock{display:none}.egc-dock-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;flex:0 0 auto;min-width:68px;min-height:48px;padding:6px 10px;border:0;border-radius:11px;background:transparent;color:#52665a;font-size:10px;line-height:1.2}.egc-dock-item .egc-icon{width:20px;height:20px}.egc-dock-item:hover,.egc-dock-item.is-active{background:#e4efe7;color:#176748}.egc-dock-item.is-playing{color:#13745a}.egc-mobile-menu{display:none}
/* Cinematic panels retain the v1 content and contact workflows. */
.egc-panel{position:fixed;inset:0;z-index:90;pointer-events:none;visibility:hidden;transition:visibility .6s}.egc-panel.is-open{pointer-events:auto;visibility:visible}.egc-panel-backdrop{position:absolute;inset:0;background:rgba(7,20,19,.55);backdrop-filter:blur(0);opacity:0;transition:opacity .6s,backdrop-filter .6s}.egc-panel.is-open .egc-panel-backdrop{opacity:1;backdrop-filter:blur(4px)}.egc-panel-surface{position:absolute;top:0;bottom:0;right:0;width:min(650px,52vw);display:flex;flex-direction:column;background:#f8f8f3;color:#26392f;border-left:1px solid #e0e8df;box-shadow:-20px 0 70px rgba(6,24,18,.2);transform:translateX(104%);transition:transform .8s var(--egc-ease);overflow:hidden}.egc-panel.is-open .egc-panel-surface{transform:translateX(0)}.egc-panel-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:25px clamp(20px,3vw,40px) 15px;border-bottom:1px solid var(--egc-border)}.egc-panel-kicker{font-size:10px;letter-spacing:.2em;font-weight:750;color:#5a7465}.egc-close{width:40px;height:40px;border-radius:50%;border:1px solid #d2ddd3;background:#fff;color:#234438;font-size:24px;display:grid;place-items:center}.egc-close:hover{background:#e7eee7}.egc-panel-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:26px clamp(20px,3vw,40px) 35px;scrollbar-width:thin}.egc-panel-scroll h2{font-family:Georgia,serif;font-size:clamp(34px,3vw,48px);font-weight:400;letter-spacing:-.04em;line-height:1.1;color:#203f32;margin:0 0 22px}.egc-panel-scroll h3{font-size:17px;line-height:1.35;color:#263d33;margin:0 0 9px}.egc-panel-intro{font-size:14px;line-height:1.8;color:#52665b;margin:0 0 25px}.egc-panel-secondary{font-size:12px;color:#7a897e;line-height:1.6;margin-top:18px}.egc-panel-footer{padding:15px clamp(20px,3vw,40px) 22px;border-top:1px solid var(--egc-border);display:flex;align-items:center;justify-content:space-between;gap:15px}.egc-panel-footer span{font-size:10px;letter-spacing:.16em;color:#8a9a8e}.egc-panel-open .egc-header nav,.egc-panel-open .egc-header-actions{pointer-events:none;opacity:.5}
.egc-project-grid,.egc-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.egc-project-card,.egc-service-card{background:#fff;border:1px solid #dfe8df;border-radius:15px;overflow:hidden;padding:0}.egc-project-card h3,.egc-project-card p,.egc-project-card .egc-card-kicker,.egc-project-card .egc-card-link{margin-left:18px;margin-right:18px}.egc-project-card h3{margin-top:9px;font-size:16px}.egc-project-card p,.egc-service-card p{font-size:12px;line-height:1.7;color:#63746a}.egc-project-card .egc-card-link{display:inline-block;margin-top:8px;margin-bottom:18px}.egc-project-image{aspect-ratio:1.6;background:#e9eee8;overflow:hidden}.egc-project-image img{width:100%;height:100%;object-fit:cover;display:block}.egc-card-kicker{display:block;margin-top:16px;font-size:9px;letter-spacing:.14em;font-weight:700;color:#638171;text-transform:uppercase}.egc-card-link{display:inline-block;color:#247453!important;font-size:12px;font-weight:700}.egc-service-card{padding:20px}.egc-service-card .egc-card-kicker{margin-top:0}.egc-service-card h3{margin-top:10px}.egc-about-art,.egc-window-art{border-radius:16px;overflow:hidden;background:#e7eee9;border:1px solid #dde6df}.egc-about-art img,.egc-window-art img,.egc-window-art video{display:block;width:100%;height:auto}.egc-window-art video{max-height:60vh;object-fit:cover;background:#122e36}.egc-window-art{margin-bottom:20px}.egc-section-link{margin-top:26px}.egc-step-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.egc-step{padding:15px;border:1px solid #dfe7df;border-radius:12px;background:#fff}.egc-step strong{display:block;font-size:12px;color:#315c44}.egc-step p{font-size:12px;color:#64766b}.egc-contact-details{display:grid;gap:9px;margin-bottom:22px}.egc-contact-details a{color:#20694c}.egc-contact-form,.egc-scroll-contact-form{display:grid;gap:14px}.egc-form-field{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:650;color:#52685a}.egc-form-field input,.egc-form-field textarea,.egc-select{width:100%;border:1px solid #d1ded3;background:#fff;border-radius:10px;padding:12px 13px;color:#24392d;font-size:13px}.egc-form-field textarea{resize:vertical;min-height:110px}.egc-honeypot{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);pointer-events:none}.egc-form-status{min-height:18px;font-size:12px;color:#286e4e;margin:0}.egc-note{padding:17px;border:1px solid #d5e4d6;background:#eaf0e8;border-radius:12px;margin:0 0 22px;font-size:13px;line-height:1.7}.egc-media-card{border:1px solid #dfe6dc;background:white;border-radius:17px;overflow:hidden}.egc-media-art{min-height:170px;background:linear-gradient(135deg,#203f4a,#192c3b);color:#f3e8d0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px}.egc-media-art .egc-icon{width:42px;height:42px}.egc-media-art strong{font-size:29px}.egc-media-art span:last-child{font-size:9px;letter-spacing:.2em}.egc-media-info{padding:22px}.egc-media-info h3{font-family:Georgia,serif;font-size:25px;font-weight:400}.egc-media-info p{font-size:12px;color:#687a6d}.egc-range{display:block;width:100%;height:5px;accent-color:#1c7655;margin:10px 0}.egc-media-time{display:block;text-align:right;font-size:10px;color:#87988a}.egc-volume-label{display:block;margin-top:18px;font-size:11px}.egc-location-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}.egc-location-controls label{display:flex;flex-direction:column;gap:8px;font-size:11px;font-weight:700}.egc-location-controls label:first-child{grid-column:1/-1}.egc-location-list{display:flex;flex-direction:column;gap:10px}.egc-location-card{border:1px solid #dce7db;background:#fff;border-radius:12px;padding:16px;display:flex;gap:12px}.egc-location-card>.egc-icon{color:#2a7856}.egc-location-card>div{flex:1;min-width:0}.egc-location-card h3{font-size:14px}.egc-location-card p{font-size:12px;color:#617267;line-height:1.6;margin:4px 0}.egc-toast{position:fixed;z-index:110;left:50%;bottom:34px;transform:translate(-50%,15px);background:#173f32;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:12px;padding:12px 17px;box-shadow:0 12px 30px rgba(0,0,0,.15);font-size:12px;max-width:min(410px,90vw);text-align:center;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s}.egc-toast.is-visible{opacity:1;transform:translate(-50%,0)}.egc-noscript{padding:60px 25px;text-align:center;background:#f6f4ed}
/* Scrollable website content. */
.egc-scrollsite{position:relative;z-index:5;background:linear-gradient(180deg,#eff2eb,#f6f6f1 260px,#e9eee8);padding:clamp(20px,4vw,56px) clamp(16px,4vw,56px) 65px}.egc-scrollsite-inner{max-width:1280px;margin:auto}.egc-scroll-intro{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(240px,.8fr);gap:30px;align-items:center;padding:clamp(22px,4vw,48px);border:1px solid #dfe7de;border-radius:28px;background:#fff;box-shadow:0 15px 40px rgba(18,43,30,.05);margin-bottom:28px}.egc-scroll-intro h1{font-family:Georgia,serif;font-size:clamp(34px,4vw,58px);line-height:1.08;font-weight:400;letter-spacing:-.045em;color:#22372e;margin:12px 0 18px}.egc-scroll-intro p{font-size:15px;line-height:1.85;color:#5d6e63}.egc-scroll-intro-art{display:grid;place-items:center;gap:16px;padding:20px;border-radius:22px;background:linear-gradient(135deg,#edf3f1,#e2eaf2)}.egc-scroll-intro-art img{width:min(220px,70%);height:auto;object-fit:contain}.egc-scroll-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.egc-site-section{padding:clamp(22px,3vw,38px);margin-bottom:24px;border:1px solid #dfe7de;border-radius:24px;background:rgba(255,255,255,.86)}.egc-section-head{margin-bottom:23px}.egc-section-head h2{font-family:Georgia,serif;font-size:clamp(28px,3vw,43px);font-weight:400;letter-spacing:-.04em;line-height:1.15;color:#22382e;margin:10px 0 12px}.egc-section-head p{font-size:14px;color:#66776d;max-width:670px;line-height:1.8}.egc-kicker{font-size:10px;letter-spacing:.22em;font-weight:750;text-transform:uppercase;color:#2d7654}.egc-site-section .egc-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.egc-site-section .egc-project-card{transition:transform .3s,box-shadow .3s}.egc-site-section .egc-project-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(22,46,34,.09)}.egc-scroll-about{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:center}.egc-scroll-about img{display:block;width:100%;height:auto;border-radius:18px}.egc-scroll-about p{font-size:14px;line-height:1.9;color:#5c7062}.egc-scroll-contact{display:grid;grid-template-columns:1fr 1.1fr;gap:30px}.egc-scroll-contact a{color:#1e7152}.egc-scroll-contact-form .egc-button{justify-self:start}.egc-site-footer{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;padding:25px 5px;color:#718076;font-size:11px;border-top:1px solid #dce4db}.egc-site-footer img{width:30px;height:30px;object-fit:contain}
/* Responsive behavior */
@media(max-width:1100px){.egc-brand>span{display:none}.egc-header nav{gap:14px}.egc-nav-link{font-size:11px}.egc-header{padding:0 20px}.egc-header-actions .egc-button-primary{padding:11px 14px}}
@media(max-width:850px){.egc-header{height:66px;padding:0 14px}.egc-brand img{width:35px;height:35px}.egc-brand strong{font-size:22px}.egc-menu-button{display:grid}.egc-header nav{position:absolute;top:66px;left:12px;right:12px;display:none;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:8px;background:rgba(250,251,247,.98);border:1px solid #dce6dc;border-radius:14px;box-shadow:0 14px 35px rgba(0,0,0,.12)}.egc-header nav.is-open{display:flex}.egc-nav-link{text-align:left;padding:12px 14px;border-radius:8px;font-size:13px}.egc-nav-link:hover{background:#e7f0e8}.egc-nav-link:after{display:none}.egc-header-actions .egc-button-primary{display:none}.egc-header-actions .egc-motion-control{display:none}.egc-icon-button{width:40px;height:40px;min-width:40px}.egc-mobile-dock{position:absolute;z-index:65;bottom:0;left:0;right:0;display:flex;gap:3px;overflow-x:auto;scroll-snap-type:x proximity;overscroll-behavior-x:contain;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:rgba(249,251,247,.96);border-top:1px solid #dce6dc;box-shadow:0 -5px 22px rgba(0,0,0,.04);scrollbar-width:none}.egc-mobile-dock::-webkit-scrollbar{display:none}.egc-dock-item{scroll-snap-align:start}.egc-hero{display:block;left:14px;right:14px;top:80px;max-width:450px;z-index:55;padding:17px 19px;border-radius:18px;background:rgba(250,251,247,.92);backdrop-filter:blur(12px);box-shadow:0 12px 30px rgba(0,0,0,.08)}.egc-hero.egc-desktop-copy{display:block}.egc-hero h1{font-size:clamp(28px,5.8vw,39px)}.egc-hero>p{font-size:12px;line-height:1.55;margin:11px 0 12px}.egc-eyebrow{font-size:8px;margin-bottom:9px}.egc-hero-actions .egc-button{padding:10px 15px;min-height:40px;font-size:11px}.egc-hero-actions .egc-text-button{display:none}.egc-bottom{bottom:calc(72px + env(safe-area-inset-bottom));left:14px;right:14px}.egc-bottom-right{display:none}.egc-scroll{padding:9px 12px;font-size:10px}.egc-panel-surface{width:100%;max-width:none}.egc-panel-top{padding:17px 20px 12px}.egc-panel-scroll{padding:22px 20px 26px}.egc-panel-footer{padding:14px 20px calc(15px + env(safe-area-inset-bottom))}.egc-panel-open .egc-header{opacity:0;pointer-events:none}.egc-scroll-intro,.egc-scroll-about,.egc-scroll-contact{grid-template-columns:1fr}.egc-scroll-intro-art{min-height:180px}.egc-site-section .egc-project-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.egc-header-actions{gap:5px}.egc-header-actions .egc-light-control{display:none}.egc-brand strong{font-size:20px}.egc-brand img{width:32px;height:32px}.egc-scene-shell{height:135svh;min-height:620px}.egc-stage{min-height:400px}.egc-hero{top:75px;padding:14px 16px;max-width:none}.egc-hero h1{font-size:clamp(25px,7.4vw,32px)}.egc-hero>p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.egc-scrollsite{padding:16px 12px 35px}.egc-scroll-intro{padding:22px;border-radius:20px}.egc-scroll-intro h1{font-size:36px}.egc-scroll-intro p{font-size:13px}.egc-site-section{padding:20px 16px;border-radius:18px}.egc-site-section .egc-project-grid,.egc-project-grid,.egc-service-grid{grid-template-columns:1fr}.egc-step-grid,.egc-location-controls{grid-template-columns:1fr}.egc-location-controls label:first-child{grid-column:auto}.egc-panel-scroll h2{font-size:34px}.egc-toast{bottom:90px}.egc-site-footer{justify-content:center;text-align:center}}
@media(max-width:850px) and (max-height:640px){.egc-hero{top:72px;max-width:380px}.egc-hero h1{font-size:25px}.egc-hero>p{display:none}.egc-eyebrow{display:none}.egc-bottom{display:none}}
@media(prefers-reduced-motion:reduce){html.egc-immersive{scroll-behavior:auto}.egc-root *,.egc-root *::before,.egc-root *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
.egc-reduced *,.egc-reduced *::before,.egc-reduced *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
/* Final interaction details: no floating labels or oval hover rings. */
.egc-original-cta{position:absolute;z-index:50;display:block;padding:0;border:0;background:transparent;color:transparent;box-shadow:none;border-radius:0;cursor:pointer}.egc-original-cta:hover{background:transparent}.egc-object-layer:not(button)::before{pointer-events:none}.egc-object-window.is-hovered .egc-object-visual,.egc-object-window.is-focused .egc-object-visual{transform:none;filter:brightness(1.035)}.egc-object-window.is-clicked .egc-object-visual{animation:none}
.egc-aquarium-panel-view{position:relative;width:100%;max-width:600px;margin:0 auto 22px;aspect-ratio:436/258;overflow:hidden;border-radius:14px;background:#1b3540}.egc-aquarium-panel-view>img{display:block;width:100%;height:100%;object-fit:fill}.egc-aquarium-panel-water{position:absolute;left:2.3%;top:4.3%;width:95.4%;height:83.7%;overflow:hidden;pointer-events:none}.egc-panel-fish{position:absolute;height:auto;animation:egc-panel-swim 7s ease-in-out infinite alternate;filter:drop-shadow(0 2px 3px rgba(0,0,0,.22))}.egc-panel-bubble{position:absolute;bottom:-10px;width:5px;height:5px;border:1px solid rgba(210,244,255,.55);border-radius:50%;animation:egc-bubble-rise 4s linear infinite}@keyframes egc-panel-swim{0%{transform:translate(-24px,-3px) scaleX(1)}50%{transform:translate(0,5px) scaleX(1)}51%{transform:translate(0,5px) scaleX(-1)}100%{transform:translate(30px,-3px) scaleX(-1)}}@keyframes egc-bubble-rise{from{transform:translateY(0);opacity:0}15%{opacity:.7}to{transform:translateY(-220px);opacity:0}}
@media(max-width:850px){.egc-original-cta{display:none}}

/* Final v1.5 refinements: source silhouettes, desktop framing and lighting. */
@media (min-width:700px){.egc-stage{background:#dce5e1}.egc-object-layer.egc-shaped-hit{clip-path:var(--egc-hit-shape)}.egc-object-layer.egc-shaped-hit:focus-visible{clip-path:none}}
@media (max-width:699px){.egc-object-layer.egc-shaped-hit{clip-path:none}.egc-object-layer::before{inset:calc(-1 * var(--tap-pad,0px))}.egc-stage{touch-action:pan-y}}
.egc-room-shade{z-index:1;background:linear-gradient(90deg,rgba(3,8,15,.69),rgba(4,11,19,.8))}
.egc-room-lamp-glow{z-index:1;background:radial-gradient(ellipse at 50% 36%,rgba(255,217,151,.4),rgba(255,188,91,.13) 40%,transparent 75%)}
.egc-night .egc-room-lamp-glow{opacity:.6}
.egc-night .egc-room-background{filter:brightness(.33) saturate(.72)}
.egc-night .egc-object-layer{z-index:var(--egc-layer-z)!important}
.egc-night .egc-object-layer.is-unlit .egc-object-visual{filter:brightness(.14) saturate(.55)}
.egc-night .egc-object-lamp .egc-object-visual{filter:brightness(.72) saturate(.85)}
.egc-night .egc-object-portfolio .egc-object-visual,.egc-night .egc-object-contact .egc-object-visual{filter:brightness(.88) saturate(1.06)}
.egc-night .egc-object-aquarium .egc-object-visual,.egc-night .egc-object-media .egc-object-visual{filter:brightness(.92) saturate(1.14)}
.egc-night .egc-object-services .egc-object-visual{filter:brightness(.65)}
.egc-night .egc-object-window .egc-object-visual{filter:brightness(.43) saturate(.85)}
.egc-room-shade,.egc-room-lamp-glow{pointer-events:none}
.egc-object-layer{isolation:isolate}
.egc-layer-image{backface-visibility:hidden}

.egc-fallback .egc-hero{display:none!important}

/* The image can move freely; only its separate, invisible hit surface is clipped. */
.egc-object-layer{pointer-events:none;overflow:visible}
.egc-object-layer::before{content:none!important}
.egc-object-hit{position:absolute;inset:0;width:100%;height:100%;display:block;padding:0;margin:0;border:0;background:transparent;color:transparent;cursor:pointer;pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.egc-object-hit::before{content:"";position:absolute;inset:calc(-1 * var(--tap-pad,0px));pointer-events:auto;background:transparent}
.egc-object-hit:focus-visible{outline:3px solid #e6bd76;outline-offset:4px}
@media (min-width:700px){.egc-object-layer.egc-shaped-hit{clip-path:none}.egc-object-hit.egc-shaped-hit{clip-path:var(--egc-hit-shape)}.egc-object-hit.egc-shaped-hit:focus-visible{clip-path:none}}
@media (max-width:699px){.egc-object-hit.egc-shaped-hit{clip-path:none}}

/* v1.6: the photograph is complete; only the camera and optional overlays move. */
.egc-v16-world[hidden],.egc-v16-stage #egc-canvas[hidden],.egc-room-tools [hidden]{display:none!important}
.egc-v16-stage #egc-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:2;touch-action:pan-y;cursor:grab}
.egc-v16-stage.egc-roaming #egc-canvas{touch-action:none;cursor:crosshair}
.egc-v16-stage .egc-v16-world{overflow:hidden;transform-origin:0 0}
.egc-v16-stage .egc-object-layer{pointer-events:none;will-change:auto;transform:none!important;isolation:auto}
.egc-v16-stage .egc-object-hit{pointer-events:auto;background:transparent!important;box-shadow:none!important;border:0!important;touch-action:manipulation}
.egc-v16-stage .egc-object-hit:hover{background:transparent!important;box-shadow:none!important}
.egc-v16-stage .egc-object-hit:focus-visible{outline:3px solid #e8b665;outline-offset:3px;clip-path:none!important}
.egc-v16-stage .egc-layer-image{width:100%;height:100%;object-fit:fill;pointer-events:none;filter:none!important;transform:none!important}
.egc-v16-water{position:absolute;z-index:12;pointer-events:none;opacity:.75;mix-blend-mode:screen}
.egc-v16-stage .egc-room-shade{z-index:40;background:linear-gradient(90deg,rgba(8,12,23,.79),rgba(8,15,27,.87))}
.egc-v16-stage .egc-room-lamp-glow{z-index:41;left:460px;top:300px;width:380px;height:300px;background:radial-gradient(ellipse,rgba(255,207,119,.5),rgba(238,152,75,.1) 45%,transparent 75%);opacity:1}
.egc-v16-stage.egc-night .egc-room-background{filter:brightness(.43) saturate(.9)}
.egc-v16-stage.egc-night .egc-room-shade{opacity:.5}
.egc-v16-stage.egc-night .egc-room-lamp-glow{opacity:.08}
.egc-v16-stage.egc-night .egc-v16-water{opacity:.9}
.egc-v16-stage .egc-hero.egc-desktop-copy{display:block;left:clamp(16px,4vw,64px);top:98px;width:min(34vw,560px);max-width:calc(100% - 32px);padding:22px 24px;border:1px solid rgba(207,190,165,.6);border-radius:18px;background:#faf8f2;box-shadow:0 12px 38px rgba(38,31,23,.08);backdrop-filter:none}
.egc-v16-stage .egc-hero h1{font-size:clamp(27px,2.4vw,43px);color:#263447}
.egc-v16-stage .egc-hero h1 span:last-child{color:#89633a}
.egc-v16-stage .egc-hero>p{color:#5e6570;line-height:1.55}
.egc-v16-stage .egc-header{background:rgba(251,249,244,.97);border-bottom-color:#ddd4c7;box-shadow:none}
.egc-v16-stage .egc-nav-link{color:#344457}
.egc-v16-stage .egc-nav-link:after{background:#c1975c}
.egc-v16-stage .egc-button-primary{background:#283b50;border-color:#283b50;box-shadow:none}
.egc-v16-stage .egc-button-primary:hover{background:#3b536e}
.egc-v16-stage .egc-icon-button[aria-pressed=true]{background:#f2e5cf;color:#6b4b25}
.egc-v16-stage .egc-header-actions .egc-light-control{display:grid}
.egc-v16-stage.egc-spatial-active .egc-hero{background:rgba(250,248,242,.94)}
.egc-v16-stage .egc-room-tools{position:absolute;z-index:66;left:50%;bottom:77px;transform:translateX(-50%);width:max-content;max-width:calc(100% - 28px);display:flex;flex-direction:column;align-items:center;gap:7px;padding:9px 12px;border:1px solid rgba(223,211,194,.8);border-radius:18px;background:rgba(250,248,243,.96);box-shadow:0 12px 35px rgba(23,34,45,.15);color:#26384d;backdrop-filter:blur(15px)}
.egc-room-modes,.egc-roam-pad{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px}
.egc-room-control,.egc-roam-key{border:1px solid #d6d1c8;border-radius:10px;background:#fff;color:#30435a;padding:9px 13px;min-height:38px;font-size:12px;font-weight:650;line-height:1.2;white-space:nowrap}
.egc-room-control:hover,.egc-roam-key:hover{background:#f1ede6}
.egc-room-control[aria-pressed=true]{background:#30465f;color:#fff;border-color:#30465f}
.egc-roam-key{min-width:40px;font-size:18px;padding:7px 10px;touch-action:none;user-select:none}
.egc-room-hint{font-size:11px;line-height:1.4;text-align:center;color:#67717d;margin:0;white-space:normal}
.egc-spatial-status{position:absolute;z-index:68;top:88px;left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);margin:0;padding:0;pointer-events:none;color:#24364c;font-size:12px;font-weight:600;text-align:center}
.egc-spatial-status.is-visible{padding:9px 16px;border-radius:12px;background:#faf8f2;box-shadow:0 8px 24px rgba(0,0,0,.1)}
.egc-v16-stage.egc-roaming .egc-room-tools{bottom:84px}
.egc-v16-stage.egc-roaming .egc-room-hint{max-width:450px}
.egc-transitioning .egc-room-tools{opacity:.55;pointer-events:none}
.egc-scene-shell{height:240svh;min-height:1100px}
@media(max-width:850px){
 .egc-v16-stage .egc-hero.egc-desktop-copy{display:none!important}
 .egc-v16-stage .egc-room-tools{bottom:calc(125px + env(safe-area-inset-bottom));padding:8px;max-width:calc(100% - 20px)}
 .egc-v16-stage .egc-bottom{bottom:calc(72px + env(safe-area-inset-bottom))}
 .egc-v16-stage .egc-room-hint{display:none}
 .egc-v16-stage .egc-room-control{font-size:11px;padding:8px 10px;min-height:36px}
 .egc-v16-stage .egc-roam-key{min-width:39px;min-height:39px}
 .egc-v16-stage.egc-roaming .egc-room-tools{bottom:calc(125px + env(safe-area-inset-bottom))}
 .egc-v16-stage .egc-header-actions .egc-light-control{display:grid}
 .egc-scene-shell{height:190svh;min-height:800px}
}
@media(max-width:600px){.egc-v16-stage .egc-room-tools{max-width:calc(100% - 12px);gap:5px}.egc-v16-stage .egc-room-modes{gap:4px}.egc-v16-stage .egc-room-control{padding:7px 8px;font-size:10px}.egc-v16-stage .egc-roam-pad{gap:4px}.egc-v16-stage .egc-roam-key{min-width:38px}.egc-v16-stage .egc-bottom{bottom:calc(72px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.egc-v16-stage .egc-room-background,.egc-v16-stage .egc-room-shade,.egc-v16-stage .egc-room-lamp-glow{transition:none!important}}

/* v1.6.1: default genuine 3D tour, with WASD auto-entering roam mode. */
.egc-v16-stage.egc-spatial-active .egc-room-tools{background:rgba(248,246,241,.92);box-shadow:0 18px 55px rgba(20,31,43,.22)}
.egc-v16-stage.egc-spatial-active .egc-room-hint{font-weight:650}
.egc-v16-stage.egc-roaming::after{content:"ROAM MODE  •  WASD MOVE  •  DRAG LOOK  •  ESC EXIT";position:absolute;top:82px;left:50%;z-index:63;transform:translateX(-50%);padding:8px 12px;border-radius:999px;background:rgba(13,24,34,.72);color:#fff;font:700 11px/1.2 system-ui,sans-serif;letter-spacing:.08em;pointer-events:none;backdrop-filter:blur(10px);white-space:nowrap}
@media(max-width:700px){.egc-scene-shell{height:240svh;min-height:1100px}.egc-v16-stage.egc-roaming::after{top:68px;font-size:9px;max-width:94vw;white-space:normal;text-align:center}}


/* v1.7 cinematic transition and stronger 3D presentation */
.egc-transition-overlay{position:fixed;inset:0;z-index:120;pointer-events:none;opacity:0}
.egc-transition-bar,.egc-transition-wash,.egc-transition-ring{position:absolute;display:block;pointer-events:none}
.egc-transition-bar{left:0;right:0;height:0;background:linear-gradient(180deg,rgba(5,10,18,.96),rgba(17,27,38,.88));box-shadow:0 0 25px rgba(0,0,0,.25)}
.egc-transition-bar-top{top:0}.egc-transition-bar-bottom{bottom:0}
.egc-transition-wash{inset:0;background:radial-gradient(circle at 50% 50%,rgba(255,226,165,.18),rgba(18,26,37,.06) 34%,rgba(8,12,19,.64) 100%);transform:scale(1.08);opacity:0}
.egc-transition-ring{left:50%;top:50%;width:min(54vw,560px);height:min(54vw,560px);transform:translate(-50%,-50%) scale(.72);border-radius:50%;border:1px solid rgba(255,226,180,.55);box-shadow:0 0 0 12px rgba(255,226,180,.08),0 0 48px rgba(255,193,110,.24) inset;opacity:0}
.egc-transition-overlay.is-active{opacity:1;animation:egc-overlay-fade .72s ease both}
.egc-transition-overlay.is-active .egc-transition-bar-top,.egc-transition-overlay.is-active .egc-transition-bar-bottom{animation:egc-bars .72s cubic-bezier(.19,.92,.23,1) both}
.egc-transition-overlay.is-active .egc-transition-wash{animation:egc-wash .76s ease both}
.egc-transition-overlay.is-active .egc-transition-ring{animation:egc-ring .76s cubic-bezier(.16,.82,.22,1) both}
.egc-transition-overlay[data-mode="back"] .egc-transition-wash{background:radial-gradient(circle at 50% 50%,rgba(242,246,255,.18),rgba(16,23,34,.06) 35%,rgba(4,9,15,.54) 100%)}
.egc-transition-overlay[data-mode="photo"] .egc-transition-ring{border-color:rgba(168,215,255,.55);box-shadow:0 0 0 12px rgba(168,215,255,.08),0 0 48px rgba(134,197,255,.18) inset}
.egc-transition-overlay[data-mode="roam"] .egc-transition-ring{border-color:rgba(255,216,152,.65)}
@keyframes egc-bars{0%{height:0}25%{height:6vh}55%{height:6vh}100%{height:0}}
@keyframes egc-wash{0%{opacity:0;transform:scale(1.11)}20%{opacity:.85}60%{opacity:.92}100%{opacity:0;transform:scale(1)}}
@keyframes egc-ring{0%{opacity:0;transform:translate(-50%,-50%) scale(.72)}20%{opacity:.9}60%{opacity:.85;transform:translate(-50%,-50%) scale(1.03)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.2)}}
@keyframes egc-overlay-fade{0%,100%{opacity:0}10%,70%{opacity:1}}
.egc-v16-stage{perspective:1600px;overflow:hidden}
.egc-v16-stage #egc-canvas{filter:saturate(1.07) contrast(1.03) brightness(1.01)}
.egc-v16-stage::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(circle at 62% 22%,rgba(255,221,160,.16),transparent 18%),radial-gradient(circle at 18% 75%,rgba(82,135,214,.10),transparent 20%),linear-gradient(180deg,rgba(6,16,24,.06),transparent 20%,transparent 78%,rgba(9,13,19,.18) 100%)}
.egc-v16-stage.egc-spatial-active::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(circle at center,transparent 56%,rgba(0,0,0,.15) 100%);mix-blend-mode:multiply}
.egc-v16-stage.egc-spatial-active .egc-header{background:linear-gradient(180deg,rgba(250,248,242,.95),rgba(250,248,242,.88));box-shadow:0 10px 28px rgba(18,28,39,.08)}
.egc-v16-stage .egc-hero.egc-desktop-copy{box-shadow:0 20px 56px rgba(24,34,45,.16);transform:translateZ(0);backdrop-filter:blur(8px)}
.egc-v16-stage .egc-room-tools{box-shadow:0 22px 58px rgba(14,24,38,.18);border-color:rgba(221,211,197,.92)}
.egc-v16-stage.egc-spatial-active .egc-room-tools{background:rgba(248,246,241,.88)}
.egc-panel-backdrop{background:rgba(8,15,24,.46);backdrop-filter:blur(0);transition:opacity .8s,backdrop-filter .8s}
.egc-panel.is-open .egc-panel-backdrop{backdrop-filter:blur(8px)}
.egc-panel-surface{background:linear-gradient(180deg,#faf9f4 0%,#f2efe7 100%);transform:translateX(104%) scale(.98) rotateY(-8deg);transform-origin:100% 50%;transition:transform .85s cubic-bezier(.17,.89,.24,1),box-shadow .85s ease;border-left:1px solid rgba(217,208,195,.9)}
.egc-panel.is-open .egc-panel-surface{transform:translateX(0) scale(1) rotateY(0)}
.egc-panel-scroll>*{animation:egc-panel-rise .65s cubic-bezier(.19,.88,.25,1) both}
.egc-panel-scroll>*:nth-child(2){animation-delay:.04s}.egc-panel-scroll>*:nth-child(3){animation-delay:.08s}.egc-panel-scroll>*:nth-child(4){animation-delay:.12s}.egc-panel-scroll>*:nth-child(5){animation-delay:.16s}
@keyframes egc-panel-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
.egc-room-control,.egc-roam-key{transition:transform .22s ease,background .22s ease,box-shadow .22s ease,color .22s ease}
.egc-room-control:hover,.egc-roam-key:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(27,41,58,.12)}
.egc-v16-stage.egc-roaming::after{box-shadow:0 8px 24px rgba(0,0,0,.18)}
.egc-scene-shell{height:240svh;min-height:1180px}
@media(max-width:850px){.egc-scene-shell{height:200svh;min-height:940px}.egc-transition-ring{width:min(82vw,420px);height:min(82vw,420px)}}
@media(max-width:600px){.egc-scene-shell{height:175svh;min-height:760px}}

.egc-aquarium-panel-clean{position:relative;overflow:hidden;border-radius:16px;background:linear-gradient(180deg,#d6f0fb 0%,#80cde4 42%,#2d6f88 100%);border:1px solid rgba(120,164,182,.45);box-shadow:inset 0 0 0 1px rgba(255,255,255,.25),0 16px 36px rgba(17,40,55,.12)}
.egc-aquarium-panel-clean .egc-aquarium-gravel{position:absolute;left:0;right:0;bottom:0;height:18%;background:radial-gradient(circle at 10% 20%,#e7d4b2 0 5px,transparent 6px),radial-gradient(circle at 18% 55%,#d0bea0 0 4px,transparent 5px),radial-gradient(circle at 28% 30%,#c9b494 0 5px,transparent 6px),radial-gradient(circle at 40% 65%,#e1cfad 0 4px,transparent 5px),radial-gradient(circle at 56% 32%,#ccb692 0 5px,transparent 6px),radial-gradient(circle at 68% 58%,#e4d3b4 0 4px,transparent 5px),radial-gradient(circle at 80% 38%,#ccb28c 0 5px,transparent 6px),linear-gradient(180deg,#d9c6a2,#baa27b)}
.egc-aquarium-panel-clean .egc-aquarium-plant{position:absolute;bottom:12%;width:20%;height:46%;opacity:.75;filter:drop-shadow(0 3px 4px rgba(0,0,0,.15))}
.egc-aquarium-panel-clean .egc-aquarium-plant-left{left:5%;background:radial-gradient(circle at 40% 100%,#214c45 0 8%,transparent 9%),linear-gradient(90deg,transparent 45%,#25544d 45% 50%,transparent 50%),radial-gradient(ellipse at 40% 78%,#3a7b68 0 18%,transparent 19%),radial-gradient(ellipse at 55% 60%,#478a74 0 15%,transparent 16%),radial-gradient(ellipse at 30% 42%,#4b8d74 0 12%,transparent 13%),radial-gradient(ellipse at 60% 28%,#5c9e83 0 10%,transparent 11%)}
.egc-aquarium-panel-clean .egc-aquarium-plant-right{right:6%;background:radial-gradient(circle at 60% 100%,#214c45 0 8%,transparent 9%),linear-gradient(90deg,transparent 50%,#25544d 50% 55%,transparent 55%),radial-gradient(ellipse at 58% 78%,#407d69 0 16%,transparent 17%),radial-gradient(ellipse at 40% 60%,#4a8c75 0 14%,transparent 15%),radial-gradient(ellipse at 65% 42%,#56977d 0 12%,transparent 13%),radial-gradient(ellipse at 42% 25%,#6aa78f 0 10%,transparent 11%)}
.egc-aquarium-panel-clean .egc-aquarium-panel-water{left:0;top:0;width:100%;height:100%}

/* 1.8 — the office takes the full stage. */
.egc-v16-stage .egc-hero.egc-desktop-copy{display:none!important}
.egc-v16-stage .egc-header{top:20px;left:24px;right:24px;height:58px;padding:0 14px;border:1px solid rgba(255,255,255,.35);border-radius:16px;background:rgba(23,37,51,.86)!important;box-shadow:0 8px 30px #11182720!important;backdrop-filter:blur(14px)}
.egc-v16-stage .egc-brand strong,.egc-v16-stage .egc-brand>span{color:#f7ecdb}
.egc-v16-stage .egc-brand img{height:38px;width:38px}
.egc-v16-stage .egc-header #egc-nav{display:none}
.egc-v16-stage .egc-header-actions .egc-button{display:none}
.egc-v16-stage .egc-header-actions{gap:6px}
.egc-v16-stage .egc-icon-button{background:#ffffff0d;border-color:#ffffff30;color:#f4dfbd;min-width:36px;width:36px;height:36px}
.egc-v16-stage .egc-menu-button{display:none}
.egc-v16-stage #egc-canvas{filter:none}
.egc-v16-stage.egc-spatial-active .egc-hotspots{display:block!important;position:absolute;inset:0;z-index:54;pointer-events:none}
.egc-spatial-label{position:absolute;transform:translate(-50%,-100%);border:1px solid #ffffff40;border-radius:20px;background:#172c41e8;color:#fff3df;padding:7px 14px!important;font-size:12px!important;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s}
.egc-spatial-label.is-hovered,.egc-spatial-label:focus-visible{opacity:1}
.egc-spatial-label:focus-visible{pointer-events:auto}
.egc-spatial-label[hidden]{display:none!important}
.egc-v16-stage .egc-room-tools{bottom:24px;background:rgba(23,37,51,.87)!important;border-color:#ffffff35;color:#f8ead5;padding:8px 10px;border-radius:16px;box-shadow:0 10px 35px #13213425;backdrop-filter:blur(14px)}
.egc-v16-stage .egc-room-control{background:#ffffff08;border-color:#ffffff22;color:#ece4d7;font-size:11px!important}
.egc-v16-stage .egc-room-control[aria-pressed=true]{background:#e7d2ad;color:#24374d;border-color:#e7d2ad}
.egc-v16-stage .egc-room-hint{color:#d9d4ca;font-size:10px}
.egc-v16-stage .egc-bottom{bottom:29px}
.egc-v16-stage .egc-bottom-right{display:none}
.egc-v16-stage.egc-roaming .egc-room-tools{bottom:24px}
.egc-v16-stage.egc-roaming::after{display:none}
.egc-transition-ring{display:none!important}
.egc-transition-overlay .egc-transition-wash{background:linear-gradient(180deg,#0b182619,transparent 40%,#0b182630)!important}
.egc-panel.is-open .egc-panel-backdrop{background:#10203420;backdrop-filter:none}
.egc-panel-surface{width:min(590px,44vw);background:#faf7f0;transform:translateX(103%);transition:transform .65s cubic-bezier(.16,1,.3,1)}
.egc-reduced *,.egc-reduced *::before,.egc-reduced *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(max-width:850px){.egc-v16-stage .egc-header{left:12px;right:12px;top:12px}.egc-v16-stage .egc-brand>span{display:none}.egc-v16-stage .egc-room-tools,.egc-v16-stage.egc-roaming .egc-room-tools{bottom:calc(84px + env(safe-area-inset-bottom))}.egc-v16-stage .egc-bottom{display:none}.egc-panel-surface{width:min(600px,94vw)}.egc-v16-stage .egc-room-hint{display:block;max-width:280px}.egc-v16-stage .egc-mobile-dock{background:#f5f0e7ed}}
@media(prefers-reduced-motion:reduce){.egc-root *,.egc-root *::before,.egc-root *::after{animation:none!important;transition:none!important}}

/* 1.8.1 — restrained framing while the camera travels into the object. */
.egc-transitioning #egc-room-tools,.egc-transitioning .egc-header{opacity:.2;transition:opacity .3s}
.egc-live-scenery{overflow:hidden;border-radius:18px;background:#263f52;isolation:isolate}
.egc-live-scenery .egc-window-view{border-radius:0!important;animation:egc-scenic-drift 24s ease-in-out infinite alternate;transform-origin:50% 45%}
@keyframes egc-scenic-drift{from{transform:scale(1.025) translateX(-.4%)}to{transform:scale(1.085) translateX(.4%)}}
.egc-reduced .egc-live-scenery img{animation:none!important}

.egc-build-status{margin:0;color:#f4dfb9;font:600 11px/1.35 system-ui;text-align:center}.egc-3d-failed .egc-spatial-status.is-visible{max-width:560px;background:#fff2d5;color:#654517;border:1px solid #b28437;pointer-events:auto}

/* 1.9.1 — dimensional reveals across the entire lower page. */
#egc-scrollsite .egc-scroll-item{transform-origin:50% 70%;backface-visibility:hidden}
#egc-scrollsite.egc-content-motion .egc-depth-card{transform:perspective(1100px) rotateX(var(--egc-tilt-x,0deg)) rotateY(var(--egc-tilt-y,0deg));transition:transform .25s ease,box-shadow .3s ease;transform-style:preserve-3d}
#egc-scrollsite.egc-content-motion .egc-depth-card:hover{box-shadow:0 22px 48px rgba(24,44,64,.16)}
#egc-scrollsite.egc-content-motion .egc-project-image img{transform:translate3d(0,var(--egc-image-y,0px),0) scale(1.09);transition:transform .12s linear}
#egc-scrollsite.egc-content-motion .egc-scroll-intro-art img,#egc-scrollsite.egc-content-motion .egc-scroll-about>img{transform:perspective(1100px) translate3d(0,var(--egc-image-y,0px),10px);transition:transform .12s linear}
#egc-scrollsite .egc-project-image{overflow:hidden}
#egc-scrollsite .egc-depth-card:focus-within{transform:none!important}
.egc-reduced #egc-scrollsite .egc-scroll-item,.egc-reduced #egc-scrollsite img{transform:none!important;opacity:1!important}
@media(prefers-reduced-motion:reduce){#egc-scrollsite .egc-scroll-item,#egc-scrollsite img{transform:none!important;opacity:1!important}}

/* 1.9.2 — scroll-scrubbed depth for every lower-page content block. */
#egc-scrollsite.egc-content-motion .egc-scroll-item{transform:perspective(1000px) translate3d(0,var(--egc-entry-y,0px),var(--egc-entry-depth,0px)) rotateX(var(--egc-entry-pitch,0deg)) scale(var(--egc-entry-scale,1));transform-style:preserve-3d;transition:transform .14s linear}
#egc-scrollsite.egc-content-motion .egc-depth-card{transform:perspective(1000px) translate3d(0,var(--egc-entry-y,0px),var(--egc-entry-depth,0px)) rotateX(calc(var(--egc-entry-pitch,0deg) + var(--egc-tilt-x,0deg))) rotateY(var(--egc-tilt-y,0deg)) scale(var(--egc-entry-scale,1));transition:transform .14s linear,box-shadow .25s ease}
#egc-scrollsite.egc-content-motion .egc-depth-card h3{transform:translateZ(28px)}
#egc-scrollsite.egc-content-motion .egc-depth-card .egc-card-kicker,#egc-scrollsite.egc-content-motion .egc-depth-card .egc-card-link{transform:translateZ(38px)}
#egc-scrollsite.egc-content-motion .egc-project-image img{transform:translate3d(0,var(--egc-image-y,0px),0) scale(1.15)}
#egc-scrollsite .egc-scroll-item:focus-within{transform:none!important}
.egc-reduced #egc-scrollsite *{transform:none!important}
@media(prefers-reduced-motion:reduce){#egc-scrollsite *{transform:none!important}}

/* 2.0 — full-screen, object-linked office chapters. */
#egc-scrollsite{padding:0;background:#e9e4da;isolation:isolate}
#egc-scrollsite .egc-scrollsite-inner{max-width:none;margin:0;position:relative;z-index:1}
.egc-chapter-scene{position:fixed;inset:0;z-index:0;pointer-events:none;visibility:hidden;opacity:0;background:#ded9cc;transition:opacity .65s ease}
.egc-chapter-scene.is-visible{visibility:visible;opacity:1}
.egc-chapter-scene canvas{display:block;width:100%;height:100%;opacity:0;transition:opacity .8s ease}
.egc-chapter-scene.is-rendered canvas{opacity:1}
.egc-chapter-scene::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(238,232,218,.7),rgba(239,237,224,.20) 65%,rgba(20,35,48,.12));pointer-events:none}
.egc-chapter-scene[data-chapter="services"]::after{background:linear-gradient(90deg,#ead6b5b8,#dabf9133)}
.egc-chapter-scene[data-chapter="portfolio"]::after{background:linear-gradient(90deg,#c9e2f0bb,#27476035)}
.egc-chapter-scene[data-chapter="locations"]::after{background:linear-gradient(90deg,#d6e4dabb,#63887b22)}
.egc-chapter-scene[data-chapter="contact"]::after{background:linear-gradient(90deg,#eed6c6bb,#b9856822)}
#egc-scrollsite .egc-chapter{position:relative;min-height:100svh;margin:0;border:0;border-radius:0;padding:clamp(64px,8vh,120px) clamp(24px,6vw,110px);display:flex;flex-direction:column;justify-content:center;box-shadow:none;scroll-margin-top:0;background:transparent;overflow:clip}
#egc-scrollsite .egc-chapter::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,#efe9dc88,transparent 82%);pointer-events:none}
#egc-scrollsite [data-chapter="about"]::before{background:linear-gradient(100deg,#f4e9dca8,#d0c4b922)}
#egc-scrollsite [data-chapter="services"]::before{background:linear-gradient(100deg,#e8d5b699,#c6a57922)}
#egc-scrollsite [data-chapter="portfolio"]::before{background:linear-gradient(100deg,#dcecf5a8,#5787a522)}
#egc-scrollsite [data-chapter="locations"]::before{background:linear-gradient(100deg,#e2eee7a8,#769b8422)}
#egc-scrollsite [data-chapter="contact"]::before{background:linear-gradient(100deg,#f2dfd2a8,#ab827022)}
#egc-scrollsite .egc-chapter-surface{position:relative;width:min(900px,74%);padding:clamp(24px,3.5vw,54px);border:1px solid #ffffffa8;border-radius:26px;background:rgba(255,253,248,.94);box-shadow:0 28px 80px #1b304029;backdrop-filter:blur(12px)}
#egc-scrollsite [data-chapter="portfolio"] .egc-chapter-surface{width:min(1080px,88%)}
#egc-scrollsite .egc-scroll-intro{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);gap:clamp(25px,5vw,90px);align-content:center;align-items:center}
#egc-scrollsite .egc-chapter-copy{padding:clamp(24px,3.5vw,54px);border-radius:26px;background:#fffdf8ed;box-shadow:0 28px 80px #1b304029}
#egc-scrollsite .egc-scroll-intro h1{font-size:clamp(36px,4.5vw,74px)}
#egc-scrollsite .egc-scroll-intro-art{background:#f2f5f5e8;min-height:48vh;box-shadow:0 30px 75px #1b304025;backdrop-filter:blur(9px)}
#egc-scrollsite .egc-scroll-intro-art img{width:min(330px,80%)}
#egc-scrollsite .egc-section-head h2{font-size:clamp(34px,3.8vw,58px)}
#egc-scrollsite .egc-scroll-about{grid-template-columns:1fr}
#egc-scrollsite .egc-scroll-about>img{max-height:240px;object-fit:cover}
#egc-scrollsite .egc-chapter-nav{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;padding:26px;background:#f5f0e8;position:relative}
#egc-scrollsite .egc-chapter-nav a{display:inline-flex;padding:9px 16px;border:1px solid #b6bfc4;border-radius:99px;color:#243b50;font-size:12px}
#egc-scrollsite .egc-site-footer{padding:25px 6vw;background:#f5f0e8;margin:0}
@media(max-width:1000px){#egc-scrollsite .egc-chapter-surface,#egc-scrollsite [data-chapter="portfolio"] .egc-chapter-surface{width:100%}#egc-scrollsite .egc-chapter{padding:60px 24px}#egc-scrollsite .egc-scroll-contact{grid-template-columns:1fr}}
@media(max-width:700px){#egc-scrollsite .egc-chapter{min-height:100svh;padding:48px 16px}#egc-scrollsite .egc-scroll-intro{grid-template-columns:1fr;gap:24px}#egc-scrollsite .egc-scroll-intro-art{min-height:32vh}#egc-scrollsite .egc-chapter-surface,#egc-scrollsite .egc-chapter-copy{padding:25px 20px;border-radius:20px}#egc-scrollsite .egc-site-section .egc-project-grid{grid-template-columns:1fr}.egc-chapter-scene::after{background:#e8e1d6a6!important}}
