@charset "UTF-8";
:root{--ink:#070e13;--ink-2:#0b151c;--wood:#21170f;--wood-2:#352316;--gold:#cda85d;--gold-2:#f0d994;--cream:#f7f1e5;--muted:#b6b8b1;--teal:#68c8bb;--teal-soft:rgba(104,200,187,.16);--line:rgba(214,181,108,.27);--line-soft:rgba(255,245,222,.09);--panel:#0b151c;--shadow:0 30px 95px rgba(0,0,0,.38)}
body:before{background:radial-gradient(ellipse at 70% 2%,rgba(104,200,187,.065),transparent 33%),radial-gradient(ellipse at 8% 36%,rgba(205,168,93,.11),transparent 32%),linear-gradient(180deg,#070d12,#0a1218 65%,#070d12)}
.site-header{background:rgba(5,11,16,.9);border-bottom-color:rgba(104,200,187,.18)}
.brand-symbol{border:1px solid rgba(205,168,93,.48);padding:3px;background:#0c171e;box-shadow:0 0 0 4px rgba(205,168,93,.035)}
.language-toggle{display:grid;place-items:center;min-width:50px;height:43px;border-radius:999px;border:1px solid rgba(205,168,93,.38);background:rgba(104,200,187,.08);color:var(--teal);font-size:.76rem;font-weight:900;cursor:pointer;letter-spacing:.04em}
.hero{padding-top:56px}.hero-grid{min-height:590px}.hero-photo-wrap{padding:10px;border-radius:32px;border-color:rgba(104,200,187,.31);background:linear-gradient(145deg,rgba(104,200,187,.09),rgba(205,168,93,.09),rgba(2,8,12,.4));box-shadow:0 28px 90px rgba(0,0,0,.43),0 0 0 6px rgba(104,200,187,.025)}
.hero-photo-wrap picture{display:block;overflow:hidden;border-radius:24px}.hero-photo-wrap img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:center 48%;border-radius:24px}.hero-photo-wrap:before{content:"";position:absolute;inset:18px;border:1px solid rgba(205,168,93,.24);border-radius:22px;pointer-events:none;z-index:2}.photo-caption{border-color:rgba(104,200,187,.23);background:rgba(5,13,18,.94);box-shadow:0 16px 34px rgba(0,0,0,.23)}.caption-mark{color:var(--gold-2)}.formula-chip{position:absolute;z-index:3;display:grid;place-items:center;min-width:70px;min-height:64px;padding:12px;border-radius:17px;border:1px solid rgba(205,168,93,.42);background:rgba(7,17,24,.87);color:var(--gold-2);font-family:Georgia,serif;font-size:1.05rem;box-shadow:0 0 0 4px rgba(104,200,187,.05),0 12px 28px rgba(0,0,0,.26);backdrop-filter:blur(8px)}.formula-chip-one{top:17%;inset-inline-start:-22px}.formula-chip-two{top:47%;inset-inline-end:-19px;color:var(--teal)}.formula-chip-three{bottom:15%;inset-inline-start:-18px}
.trust-strip{background:linear-gradient(90deg,rgba(104,200,187,.035),rgba(205,168,93,.045));border-color:rgba(104,200,187,.13)}.trust-number{color:var(--teal)}.principle-card,.program-card,.booking-card,.lab-shell,.howto-card{background:linear-gradient(145deg,rgba(17,29,35,.92),rgba(10,17,22,.94));border-color:rgba(205,168,93,.18)}.principle-card:hover,.program-card:hover,.howto-card:hover{border-color:rgba(104,200,187,.43)}.program-card-featured{background:linear-gradient(145deg,rgba(104,200,187,.10),rgba(10,17,22,.94));border-color:rgba(104,200,187,.4)}.principle-icon{background:rgba(104,200,187,.06);border-color:rgba(104,200,187,.22)}
.lab-section{background:linear-gradient(180deg,rgba(4,11,16,.18),rgba(9,18,23,.7),rgba(4,11,16,.12));border-block:1px solid rgba(104,200,187,.08)}.lab-shell{border:1px solid rgba(205,168,93,.22);border-radius:28px;overflow:hidden;box-shadow:var(--shadow)}.lab-tabs{display:flex;gap:8px;flex-wrap:wrap;padding:18px;border-bottom:1px solid var(--line-soft);background:rgba(255,255,255,.015)}.lab-tab{padding:9px 15px;border:1px solid rgba(205,168,93,.16);border-radius:999px;background:transparent;color:#c6c3b8;font-size:.82rem;cursor:pointer;transition:.2s}.lab-tab:hover{border-color:rgba(104,200,187,.48);color:var(--cream)}.lab-tab.is-active{background:linear-gradient(135deg,#f0d994,#c89e4f);color:#211609;border-color:transparent;font-weight:900;box-shadow:0 9px 24px rgba(205,168,93,.14)}.lab-workspace{display:grid;grid-template-columns:1.12fr .88fr;gap:0}.lab-chart-wrap{padding:22px;background:rgba(2,9,13,.52);border-inline-end:1px solid var(--line-soft);min-width:0}.lab-chart-head{display:flex;align-items:center;gap:9px;font-size:.75rem;color:var(--muted)}.live-dot{width:8px;height:8px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 5px rgba(104,200,187,.09)}.lab-index{margin-inline-start:auto;color:var(--gold);direction:ltr;unicode-bidi:isolate;font-variant-numeric:tabular-nums}.lab-plot{display:block;width:100%;height:auto;min-height:250px;margin-top:15px;overflow:visible}.lab-plot .grid{stroke:rgba(190,201,195,.11);stroke-width:1}.lab-plot .axis{stroke:rgba(205,168,93,.45);stroke-width:1.5}.lab-plot .curve{fill:none;stroke:#73d6c7;stroke-width:3.4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 5px rgba(104,200,187,.23))}.lab-plot .curve-secondary{fill:none;stroke:#e0b969;stroke-width:2.4;stroke-dasharray:7 6;stroke-linecap:round}.lab-plot .point{fill:#f3d58c;stroke:#122027;stroke-width:3}.lab-plot .hole{fill:#08131a;stroke:#f1d68f;stroke-width:3}.lab-plot .area{fill:rgba(104,200,187,.2);stroke:none}.lab-description{padding:clamp(22px,3vw,36px);min-width:0}.lab-kicker{color:var(--teal);font-family:monospace;letter-spacing:.12em;font-size:.68rem}.lab-description h3{font-size:1.7rem;margin:11px 0 8px}.lab-description>p{color:#b9c4c0;font-size:.92rem;margin:0 0 17px;line-height:1.9}.lab-equation{display:inline-flex;padding:10px 15px;border-radius:12px;border:1px solid rgba(205,168,93,.24);background:rgba(205,168,93,.06);color:var(--gold-2);font-family:Georgia,serif;font-size:1.1rem;direction:ltr;unicode-bidi:isolate;margin-bottom:22px}.lab-controls{display:grid;gap:15px}.lab-control{display:grid;gap:7px}.lab-control-head{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.83rem;color:#d7d8d0}.lab-control-head output{color:var(--teal);font-variant-numeric:tabular-nums;font-weight:800;direction:ltr}.lab-control input[type=range]{width:100%;accent-color:var(--teal);cursor:pointer}.lab-result{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:22px;padding:14px;border-radius:14px;background:rgba(104,200,187,.065);border:1px solid rgba(104,200,187,.18);font-size:.81rem;color:#b9c4c0}.lab-result strong{color:#8fe0d3;direction:ltr;text-align:left;font-family:Georgia,serif;font-size:1rem}.lab-challenge{margin-top:18px;padding-top:16px;border-top:1px solid var(--line-soft)}.lab-challenge span{font-size:.78rem;font-weight:900;color:var(--gold-2)}.lab-challenge p{font-size:.82rem;color:#9eaaa6;margin:5px 0 11px}.lab-reset{border:0;background:none;color:var(--teal);font-size:.78rem;cursor:pointer;padding:0}.lab-note{font-size:.78rem;color:#8e9a96;margin-top:16px}.howto-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-top:36px}.howto-card{position:relative;border:1px solid var(--line);border-radius:20px;padding:26px;min-height:210px;transition:.2s}.howto-card>span{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:rgba(205,168,93,.1);border:1px solid rgba(205,168,93,.22);color:var(--gold-2);font-weight:900}.howto-card h3{margin:21px 0 8px;font-size:1.08rem}.howto-card p{color:#b7b6ae;font-size:.88rem;line-height:1.9;margin:0}.footer-tools{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.footer-tools button{padding:0;border:0;background:transparent;color:#aab5b1;cursor:pointer;font-size:.78rem}.footer-tools button:hover{color:var(--gold-2)}.footer-bottom{gap:16px;flex-wrap:wrap}.info-dialog{width:min(560px,calc(100% - 28px));border:1px solid rgba(205,168,93,.4);border-radius:22px;background:#0a141b;color:var(--cream);padding:22px;box-shadow:0 28px 100px rgba(0,0,0,.65)}.info-dialog::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(5px)}.info-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line-soft);padding-bottom:13px;margin-bottom:15px}.info-dialog-head h2{font-size:1.3rem;margin:0}.info-dialog-head button{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--cream);font-size:1.4rem;cursor:pointer}.info-dialog p,.info-dialog li{color:#bec8c4;font-size:.91rem;line-height:1.9}.mobile-action-bar{display:none}
html[dir=ltr] body{font-family:Inter,Arial,sans-serif}html[dir=ltr] .hero-copy,html[dir=ltr] .section-heading,html[dir=ltr] .method-copy,html[dir=ltr] .contact-content{text-align:left}html[dir=ltr] .eyebrow{flex-direction:row-reverse;justify-content:flex-end}html[dir=ltr] .nav-links{gap:16px}html[dir=ltr] .lab-result strong{text-align:right}
@media(max-width:1000px){.nav-links{gap:11px;font-size:.78rem}.nav-call{padding:9px 12px}.lab-workspace{grid-template-columns:1fr}.lab-chart-wrap{border-inline-end:0;border-bottom:1px solid var(--line-soft)}.lab-plot{max-height:310px}}
@media(max-width:800px){.nav-wrap{min-height:75px;gap:9px}.brand{gap:8px;min-width:0}.brand-symbol{width:46px;height:46px;border-radius:13px}.brand-copy b{font-size:.81rem;white-space:nowrap}.brand-copy small{font-size:.63rem}.menu-toggle{display:block;order:3;width:43px;height:43px;flex:0 0 auto;background:#0d171d}.language-toggle{order:2;min-width:44px;height:42px}.nav-call{display:none}.nav-links{top:74px;background:rgba(6,14,19,.98);border-color:rgba(104,200,187,.22);z-index:110}.nav-links.is-open{display:flex}.hero{padding-top:23px}.hero-grid{display:flex;flex-direction:column;gap:25px;min-height:0}.hero-visual{order:0;width:100%}.hero-copy{order:1;width:100%;text-align:start}.hero-photo-wrap{padding:7px;border-radius:25px;box-shadow:0 20px 56px rgba(0,0,0,.38),0 0 0 4px rgba(104,200,187,.03)}.hero-photo-wrap picture{border-radius:19px}.hero-photo-wrap img{aspect-ratio:2/3;object-fit:cover;object-position:center center;border-radius:19px}.hero-photo-wrap:before{inset:12px;border-radius:16px}.photo-caption{left:17px;right:17px;bottom:18px}.formula-chip{min-width:57px;min-height:50px;padding:8px;border-radius:13px;font-size:.8rem}.formula-chip-one{top:16%;inset-inline-start:-6px}.formula-chip-two{top:46%;inset-inline-end:-6px}.formula-chip-three{bottom:17%;inset-inline-start:-5px}.hero h1{font-size:clamp(2.4rem,9vw,3.8rem)}.hero-text{font-size:.93rem}.hero-signature{margin-top:23px}.hero-bottomline{display:none}.trust-strip{margin-top:28px}.trust-grid{grid-template-columns:1fr 1fr}.lab-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:12px}.lab-tab{font-size:.73rem;padding:9px 7px;white-space:nowrap}.lab-chart-wrap{padding:13px}.lab-plot{min-height:185px}.lab-description{padding:22px}.howto-grid{grid-template-columns:1fr;gap:12px}.howto-card{min-height:0;padding:22px}.howto-card h3{margin-top:15px}.footer-tools{gap:12px}.mobile-action-bar{display:grid;position:fixed;z-index:120;bottom:0;left:0;right:0;grid-template-columns:1fr 1fr;gap:10px;padding:10px max(14px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));background:rgba(5,12,17,.95);border-top:1px solid rgba(205,168,93,.22);backdrop-filter:blur(18px)}.mobile-action-bar a{min-height:54px;display:flex;align-items:center;justify-content:center;gap:10px;border-radius:16px;font-weight:900;font-size:.92rem}.mobile-action-whatsapp{color:#8dddcf;border:1px solid rgba(104,200,187,.38);background:rgba(104,200,187,.07)}.mobile-action-call{background:linear-gradient(130deg,#f0d994,#c99f50);color:#211609}.floating-whatsapp{bottom:88px;right:18px}.site-footer{padding-bottom:85px}.footer-bottom{align-items:flex-start}.hero .hero-copy{padding-top:0}.section{padding:70px 0}}
@media(max-width:380px){.brand-copy b{font-size:.74rem}.brand-copy small{font-size:.58rem}.brand-symbol{width:42px;height:42px}.language-toggle{min-width:40px}.formula-chip{min-width:48px;min-height:44px}}
@media(prefers-reduced-motion:reduce){.lab-tab,.howto-card,.hero-photo-wrap,.btn{transition:none!important}html{scroll-behavior:auto}}
@media(max-width:800px){.floating-whatsapp{display:none}}
html[dir=ltr] .hero h1{font-size:clamp(2.4rem,3.6vw,3.3rem);line-height:1.22;letter-spacing:-.045em}


/* V2.1 audit fixes: ensure scroll-to-interaction targets stay clear of fixed UI. */
html{scroll-padding-top:132px;scroll-padding-bottom:116px}
.lab-tab,[data-grade],[data-booking],#bookingForm .btn-submit{scroll-margin-top:132px;scroll-margin-bottom:124px}
.lab-workspace{scroll-margin-top:132px;scroll-margin-bottom:124px}
.lab-tab:focus-visible,#labControls input:focus-visible,#labReset:focus-visible,#langToggle:focus-visible,#menuToggle:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:800px){
  .lab-tab{position:relative;z-index:1;scroll-margin-top:136px;scroll-margin-bottom:126px;min-height:42px}
  .lab-tabs{scroll-margin-top:136px;scroll-margin-bottom:126px}
  #bookingForm .btn-submit,[data-grade],[data-booking]{scroll-margin-top:96px;scroll-margin-bottom:128px}
}

/* Keep extrapolated SVG paths inside the plot viewport; otherwise steep curves can paint over lab tabs. */
.lab-plot{overflow:hidden!important;isolation:isolate;position:relative;cursor:crosshair;touch-action:none;user-select:none;-webkit-user-select:none;outline-offset:5px}.lab-plot:focus-visible{outline:2px solid var(--gold);border-radius:12px}.lab-plot .point{cursor:grab;pointer-events:visiblePainted}.lab-plot .point:active{cursor:grabbing}.lab-mobile-hint{cursor:default}

/* V2.1 interaction additions: accessible challenge feedback and copy-phone affordance. */
.lab-challenge-status{margin:8px 0 12px!important;padding:8px 10px;border:1px solid rgba(104,200,187,.16);border-radius:10px;background:rgba(104,200,187,.045);font-size:.76rem!important;color:#bec8c4!important}
.lab-challenge-status.is-success{border-color:rgba(104,200,187,.55);background:rgba(104,200,187,.12);color:#9ce6d9!important}
.lab-challenge-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.lab-reset{min-height:34px}
.contact-phone-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:23px 0}
.contact-phone-row .contact-phone{margin:0}
.copy-phone{border:1px solid rgba(202,161,90,.32);border-radius:999px;padding:8px 12px;background:rgba(202,161,90,.06);color:var(--gold-2);font-size:.74rem;font-weight:700;line-height:1.2;font-family:inherit;cursor:pointer;min-height:36px}
.copy-phone:hover,.copy-phone:focus-visible{border-color:var(--teal);outline:2px solid rgba(104,200,187,.42);outline-offset:2px}
@media(max-width:520px){.contact-phone-row{gap:9px}.contact-phone-row .contact-phone{font-size:clamp(1.55rem,8vw,2rem)}.lab-challenge-actions{gap:12px}}
