:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--bg: #eef7f4;--bg-strong: #ffffff;--text: #0f2830;--muted: #5d7075;--accent: #12b889;--accent-strong: #0b7f69;--line: rgba(13, 61, 73, .15);--glass: rgba(255, 255, 255, .68);--glass-strong: rgba(255, 255, 255, .86);--shadow: 0 24px 70px rgba(19, 63, 75, .16);--radius: 8px}:root[data-theme=dark]{color-scheme:dark;--bg: #071519;--bg-strong: #10272f;--text: #edf9f5;--muted: #aac0c5;--accent: #57e5b9;--accent-strong: #90f1d3;--line: rgba(217, 255, 245, .18);--glass: rgba(17, 45, 54, .72);--glass-strong: rgba(16, 39, 47, .9);--shadow: 0 24px 80px rgba(0, 0, 0, .34)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 12% 12%,rgba(87,229,185,.24),transparent 28rem),radial-gradient(circle at 86% 8%,rgba(78,143,255,.16),transparent 26rem),linear-gradient(135deg,var(--bg),var(--bg-strong));color:var(--text);min-width:320px;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:54px 54px;-webkit-mask-image:linear-gradient(to bottom,#000,transparent 72%);mask-image:linear-gradient(to bottom,#000,transparent 72%)}body:after{content:"";position:fixed;inset:auto -12% -26%;height:42vh;pointer-events:none;background:radial-gradient(ellipse at 20% 70%,rgba(18,184,137,.14),transparent 52%),radial-gradient(ellipse at 72% 54%,rgba(132,76,227,.11),transparent 55%),radial-gradient(ellipse at 50% 100%,rgba(27,155,215,.12),transparent 58%);filter:blur(28px);opacity:.82;z-index:-1}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{color:inherit}img{display:block;max-width:100%}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.site-header{position:sticky;top:12px;z-index:50;width:min(1180px,calc(100% - 24px));margin:12px auto 0;min-height:72px;display:flex;align-items:center;gap:18px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--glass);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.brand{display:flex;align-items:center;gap:12px;min-width:210px}.brand-mark{display:grid;place-items:center;width:46px;height:46px;border-radius:var(--radius);background:linear-gradient(135deg,var(--accent),#62a8ff);color:#062128;font-weight:900}.brand strong,.brand small{display:block}.brand small{color:var(--muted);font-size:.8rem}.desktop-nav{display:flex;align-items:center;gap:6px;flex:1;justify-content:center}.desktop-nav>a,.nav-group>button{border:0;background:transparent;padding:12px 11px;border-radius:var(--radius);cursor:pointer;display:inline-flex;align-items:center;gap:4px;color:var(--muted);white-space:nowrap}.desktop-nav>a:hover,.desktop-nav>a.active,.nav-group:hover>button{background:#12b8891c;color:var(--text)}.nav-group{position:relative}.nav-panel{position:absolute;top:calc(100% + 8px);left:0;min-width:230px;padding:8px;display:grid;gap:4px;border:1px solid var(--line);border-radius:var(--radius);background:var(--glass-strong);box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(8px);transition:.18s ease;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.nav-group:hover .nav-panel,.nav-group:focus-within .nav-panel{opacity:1;visibility:visible;transform:translateY(0)}.nav-panel a{padding:10px;border-radius:var(--radius);color:var(--muted)}.nav-panel a:hover,.nav-panel a.active{background:#12b8891f;color:var(--text)}.header-actions{display:flex;align-items:center;gap:8px}.icon-button{width:44px;height:44px;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:var(--radius);background:var(--glass);cursor:pointer}.mobile-only,.mobile-drawer{display:none}main{width:min(1180px,calc(100% - 24px));margin:0 auto}.hero{min-height:calc(100vh - 94px);display:grid;grid-template-columns:minmax(0,.84fr) minmax(520px,1.16fr);align-items:center;gap:36px;padding:56px 0 34px}.hero-copy{min-width:0}.hero h1{font-size:clamp(2.6rem,5.7vw,5.7rem);line-height:.95;margin:0 0 10px;letter-spacing:0;white-space:nowrap}.hero-claim{display:inline-flex;width:fit-content;max-width:100%;margin:0 0 22px;padding:9px 12px;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));border-radius:var(--radius);background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent-strong);font-weight:900}.hero p,.section-intro p,.glass-card p,.legal-card p{color:var(--muted);line-height:1.7}.eyebrow{margin:0 0 10px;color:var(--accent-strong);font-weight:800;text-transform:uppercase;font-size:.78rem}.hero-visual{position:relative}.hero-visual img,.detail-image img,.gallery-item img,.tour-stage img,.service-card img{border-radius:var(--radius);box-shadow:var(--shadow)}.hero-photo-stack{position:relative;min-height:620px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:var(--glass);box-shadow:var(--shadow)}.hero-main-photo{width:100%;min-height:620px;object-fit:cover;filter:saturate(1.05) contrast(1.02)}.hero-photo-stack:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,21,25,.58),transparent 46%),linear-gradient(0deg,rgba(7,21,25,.42),transparent 56%)}.hero-team-cutout{position:absolute;z-index:2;bottom:-10px;width:clamp(190px,26vw,315px);height:auto;object-fit:contain;filter:drop-shadow(0 28px 34px rgba(0,0,0,.32));animation:heroEnter .9s cubic-bezier(.2,.85,.2,1) both}.hero-team-one{left:4%}.hero-team-two{right:6%;width:clamp(165px,22vw,270px);animation-delay:.16s}.button-row,.center-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:24px}.center-actions{justify-content:center}.button{border:1px solid var(--line);border-radius:var(--radius);min-height:46px;padding:12px 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;font-weight:800}.button.primary{background:linear-gradient(135deg,var(--accent),#72b7ff);color:#062128}.button.ghost{background:var(--glass);color:var(--text)}.section,.page-section{padding:74px 0}.section-intro{max-width:760px;margin:0 auto 32px;text-align:center}.section-intro h2,.glass-card h2,.legal-card h1{font-size:clamp(2rem,4vw,4rem);line-height:1.04;margin:0 0 14px;letter-spacing:0}.glass-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--glass);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);padding:24px}.stats-grid,.card-grid,.gallery-grid,.course-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.stat-card{min-height:160px}.stat-card strong{display:block;font-size:3rem}.stat-card span,.course-card span,.chip-row span{color:var(--muted)}.card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.service-card{min-height:430px;display:flex;flex-direction:column}.service-card img{aspect-ratio:1.55;object-fit:cover;margin-bottom:16px}.service-card h3,.course-card h3{margin:0 0 8px;font-size:1.1rem}.text-link{display:inline-flex;align-items:center;gap:6px;color:var(--accent-strong);font-weight:800;margin-top:auto}.split-section{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.timeline{display:grid;gap:18px;max-width:860px;margin:0 auto}.timeline-item{display:grid;grid-template-columns:56px 1fr;gap:16px;align-items:start}.timeline-content{min-width:0}.timeline-content h3{margin:0 0 12px}.timeline-content p{max-width:68ch;margin:0}.timeline-item span{width:48px;height:48px;display:grid;place-items:center;border-radius:var(--radius);background:var(--accent);color:#062128;font-weight:900}.filter-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:24px}.filter-row button,.scene-list button,.tour-info button{border:1px solid var(--line);background:var(--glass);color:var(--text);border-radius:var(--radius);padding:10px 14px;cursor:pointer}.filter-row button.active,.scene-list button.active{background:var(--accent);color:#062128;font-weight:900}.course-list{grid-template-columns:repeat(4,minmax(0,1fr))}.course-card{min-height:220px}.course-card strong{color:var(--accent-strong)}.notice{margin:22px auto 0;max-width:760px}.team-scroll{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.team-feature{min-height:560px}.team-copy{position:relative;overflow:hidden;min-height:560px;display:flex;flex-direction:column;padding:clamp(22px,4vw,42px);border-color:color-mix(in srgb,var(--member-color, var(--accent)) 42%,var(--line));transition:transform .22s ease,box-shadow .22s ease}.team-copy:hover{transform:translateY(-6px) rotate(-.5deg)}.team-card-image{position:relative;display:flex;align-items:flex-end;justify-content:center;pointer-events:none;min-height:360px;margin:-12px 0 18px;overflow:visible}.team-card-image:before{content:"";position:absolute;width:min(82%,380px);aspect-ratio:1;border-radius:999px;background:radial-gradient(circle,color-mix(in srgb,var(--member-color, var(--accent)) 34%,transparent),rgba(106,167,255,.12) 55%,transparent 70%);transform:translateY(12%)}.team-card-image img{position:relative;z-index:1;max-height:430px;width:min(84%,350px);object-fit:contain;object-position:bottom center;filter:drop-shadow(0 24px 30px rgba(0,0,0,.28));animation:genieRise .9s cubic-bezier(.2,.85,.2,1) both,genieFloatA 6.2s ease-in-out 1s infinite alternate;transform-origin:50% 78%}.team-feature:nth-child(2) .team-card-image img{animation-name:genieRise,genieFloatB;animation-duration:.9s,7.1s}.team-feature:nth-child(3) .team-card-image img{animation-name:genieRise,genieFloatC;animation-duration:.9s,6.7s}.team-feature:nth-child(4) .team-card-image img{animation-name:genieRise,genieFloatB;animation-duration:.9s,6.4s;animation-delay:0ms,1.25s}.team-feature:nth-child(5) .team-card-image img{animation-name:genieRise,genieFloatC;animation-duration:.9s,7.4s;animation-delay:0ms,.85s}.team-feature:nth-child(6) .team-card-image img{animation-name:genieRise,genieFloatA;animation-duration:.9s,6.9s;animation-delay:0ms,1.45s}.team-card-content{position:relative;z-index:5;margin-top:auto;padding-top:14px;border-top:1px solid color-mix(in srgb,var(--member-color, var(--accent)) 34%,var(--line))}.team-card-content .eyebrow{color:color-mix(in srgb,var(--member-color, var(--accent)) 82%,var(--accent-strong))}.team-card-content .chip-row span{background:color-mix(in srgb,var(--member-color, var(--accent)) 16%,transparent);border-color:color-mix(in srgb,var(--member-color, var(--accent)) 36%,var(--line))}.chip-row{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 24px}.chip-row span{border:1px solid var(--line);background:#12b8891a;border-radius:var(--radius);padding:7px 10px}.detail-layout,.contact-layout,.tour-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:28px;align-items:center}.service-stage-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:22px;align-items:stretch;margin-bottom:54px}.service-picker{display:grid;gap:8px;align-content:start}.service-picker button{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:center;width:100%;border:1px solid var(--line);border-radius:var(--radius);background:#ffffff57;color:var(--text);padding:10px;text-align:left;cursor:pointer;font-weight:800}:root[data-theme=dark] .service-picker button{background:#07151957}.service-picker button span{display:grid;place-items:center;width:34px;height:34px;border-radius:var(--radius);background:#12b88929;color:var(--accent-strong)}.service-picker button.active{background:var(--accent);color:#062128}.service-picker button.active span{background:#0621281f;color:#062128}.service-stage-card{display:grid;gap:16px}.service-stage-photo{width:100%;aspect-ratio:1.6;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow)}.service-stage-card h2{margin-bottom:0}.service-detail-scene{border-radius:var(--radius)}.detail-copy h1{font-size:clamp(2.4rem,5vw,5rem);line-height:1;margin:10px 0 20px}.detail-layout[style*=--member-color] .detail-image{border-radius:var(--radius);background:radial-gradient(circle at 50% 48%,color-mix(in srgb,var(--member-color) 24%,transparent),transparent 66%),var(--glass)}.detail-layout[style*=--member-color] .detail-image img{box-shadow:none;filter:drop-shadow(0 30px 34px rgba(0,0,0,.25))}.detail-layout[style*=--member-color] .detail-copy{border-color:color-mix(in srgb,var(--member-color) 42%,var(--line))}.detail-layout[style*=--member-color] .detail-copy .eyebrow{color:color-mix(in srgb,var(--member-color) 82%,var(--accent-strong))}.detail-layout[style*=--member-color] .detail-copy .chip-row span{background:color-mix(in srgb,var(--member-color) 16%,transparent);border-color:color-mix(in srgb,var(--member-color) 36%,var(--line))}.gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.gallery-item button{width:100%;border:0;border-radius:var(--radius);padding:0;background:transparent;cursor:pointer;position:relative;overflow:hidden}.gallery-item img{aspect-ratio:1.35;width:100%;object-fit:cover}.gallery-item span{position:absolute;left:10px;bottom:10px;right:10px;padding:10px;border-radius:var(--radius);background:var(--glass-strong);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);font-weight:800}.lightbox{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:22px;background:#000000b8}.lightbox .icon-button{position:fixed;top:20px;right:20px}.lightbox img{max-height:86vh;border-radius:var(--radius)}.tour-start{max-width:760px;margin:0 auto;text-align:center}.tour-stage{position:relative}.tour-stage img{width:100%;aspect-ratio:1.45;object-fit:cover}.hotspot{position:absolute;transform:translate(-50%,-50%);width:28px;height:28px;border-radius:999px;border:3px solid #fff;background:var(--accent);box-shadow:0 0 0 10px #12b88938;cursor:pointer}.hotspot span{position:absolute;left:50%;top:calc(100% + 10px);transform:translate(-50%);width:max-content;max-width:190px;padding:7px 10px;border-radius:var(--radius);background:var(--glass-strong);border:1px solid var(--line);font-size:.8rem;font-weight:800}.tour-side{align-self:stretch}.scene-list{display:grid;gap:8px;margin:20px 0}.tour-info{border-top:1px solid var(--line);padding-top:16px}.contact-cards{display:grid;gap:14px}.contact-layout{position:relative}.contact-map-bg{position:absolute;inset:-30px -20px;z-index:-1;opacity:.22;overflow:hidden}.contact-map-bg svg{width:100%;height:100%}.contact-map-bg path,.contact-map-bg circle{fill:none;stroke:var(--accent-strong);stroke-width:10;stroke-linecap:round;stroke-linejoin:round}.contact-map-bg circle{fill:var(--accent);stroke:none}.contact-cards a{display:flex;gap:10px;align-items:center;color:var(--text)}.form-card form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}label{display:grid;gap:7px;color:var(--muted);font-weight:700}.full{grid-column:1 / -1}input,textarea{width:100%;border:1px solid var(--line);border-radius:var(--radius);background:#ffffffa3;color:var(--text);padding:12px}:root[data-theme=dark] input,:root[data-theme=dark] textarea{background:#0715199e}textarea{resize:vertical}.checkbox{grid-template-columns:20px 1fr;align-items:center}.bot-check{padding:12px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:var(--radius);background:color-mix(in srgb,var(--accent) 10%,transparent)}.bot-check input{max-width:180px}.checkbox input{width:18px;height:18px}.honeypot{position:absolute;left:-10000px}.form-status{grid-column:1 / -1;margin:0;font-weight:800}.form-status.success{color:var(--accent-strong)}.form-status.error{color:#d13b58}.narrow{max-width:860px;margin:0 auto}.footer{width:min(1180px,calc(100% - 24px));margin:70px auto 20px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:24px;padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:var(--glass);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.footer div{display:grid;gap:8px;align-content:start}.footer p{margin:0;color:var(--muted)}.reveal{opacity:0;transition:opacity .7s ease,transform .7s ease;will-change:opacity,transform}.reveal-up{transform:translateY(44px)}.reveal-left{transform:translate(-80px)}.reveal-right{transform:translate(80px)}.reveal.is-visible{opacity:1;transform:translate(0)}@keyframes heroEnter{0%{opacity:0;transform:translateY(28px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes genieRise{0%{opacity:0;transform:translateY(34px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes genieFloatA{0%{transform:translateY(0) rotate(-.6deg)}to{transform:translateY(-8px) rotate(.6deg)}}@keyframes genieFloatB{0%{transform:translateY(-2px) translate(-2px) rotate(.4deg)}to{transform:translateY(-10px) translate(2px) rotate(-.5deg)}}@keyframes genieFloatC{0%{transform:translateY(0) scale(1) rotate(.2deg)}to{transform:translateY(-7px) scale(1.01) rotate(-.4deg)}}@media(max-width:1060px){.desktop-nav{display:none}.mobile-only{display:inline-grid}.site-header{justify-content:space-between}.mobile-drawer{position:fixed;inset:-12px -12px auto auto;width:min(420px,100vw);min-height:100vh;display:grid;align-content:start;gap:18px;padding:84px 22px 22px;background:var(--glass-strong);border-left:1px solid var(--line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.drawer-close{position:absolute;right:22px;top:22px}.drawer-group{display:grid;gap:10px}.drawer-group a{padding:10px;border-radius:var(--radius);background:#12b88914}.hero,.detail-layout,.contact-layout,.tour-layout{grid-template-columns:1fr}.card-grid,.course-list,.gallery-grid,.service-stage-layout{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){main,.site-header,.footer{width:min(100% - 16px,1180px)}.brand{min-width:0}.brand small{display:none}.hero{min-height:auto;padding-top:36px}.hero h1{font-size:3.2rem}.hero-claim{display:flex;width:max-content}.section,.page-section{padding:50px 0}.stats-grid,.card-grid,.course-list,.gallery-grid,.service-stage-layout,.split-section,.team-scroll,.footer,.form-card form{grid-template-columns:1fr}.team-feature,.team-copy{min-height:520px}.hotspot span{max-width:132px;white-space:normal}.service-card,.course-card,.stat-card{min-height:auto}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}}
