:root{
 --navy:#071f2b;--navy2:#0b3545;--teal:#0aa6a6;--teal2:#19c5c0;--cyan:#5be0dc;--yellow:#f5c84c;--yellow2:#ffe27a;--cream:#f7fbfa;--surface:#ffffff;--text:#12323b;--muted:#6b8188;--line:#d8eceb;--danger:#d65c5c;--shadow:0 24px 70px rgba(5,43,54,.12);--radius:26px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',sans-serif;color:var(--text);background:linear-gradient(180deg,#f8fdfc,#eff9f8);line-height:1.6}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.container{width:min(1180px,calc(100% - 40px));margin:auto}.topline{background:linear-gradient(90deg,var(--navy),#0d3f4d);color:#d9fbf9;font-size:.78rem;letter-spacing:.12em}.topbar-inner{height:36px;display:flex;justify-content:space-between;align-items:center}.site-header{position:sticky;top:0;z-index:60;background:rgba(250,255,254,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(10,166,166,.16);box-shadow:0 10px 35px rgba(4,46,57,.05)}.nav-wrap{height:88px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:14px;min-width:275px}.logo-stack{display:flex;align-items:center;position:relative;width:74px}.logo-stack img{width:48px;height:48px;border-radius:14px;object-fit:contain;background:white;border:1px solid #d9e9e9;padding:3px;box-shadow:0 8px 20px rgba(0,0,0,.06)}.logo-stack img+img{margin-left:-20px;transform:translateY(5px)}.brand strong{display:block;font:800 1.05rem/1.1 'Manrope';letter-spacing:.02em;color:var(--navy)}.brand small{display:block;color:var(--teal);font-size:.75rem;margin-top:4px}.main-nav{display:flex;align-items:center;gap:8px}.main-nav>a,.nav-drop>button{border:0;background:transparent;padding:11px 12px;border-radius:12px;color:#37545c;font:700 .87rem 'DM Sans';cursor:pointer}.main-nav>a:hover,.nav-drop>button:hover,.main-nav>a.active{background:#eaf8f7;color:var(--teal)}.nav-login{background:linear-gradient(135deg,var(--yellow),#ffdc6b)!important;color:#3b2a00!important;padding:12px 18px!important;box-shadow:0 12px 26px rgba(245,200,76,.22)}.nav-drop{position:relative}.dropdown-menu{display:none;position:absolute;top:44px;left:0;min-width:220px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:8px;box-shadow:var(--shadow)}.nav-drop:hover .dropdown-menu{display:grid}.dropdown-menu a{padding:10px 12px;border-radius:10px;font-size:.86rem;color:#3f5a61}.dropdown-menu a:hover{background:#ecfaf8;color:var(--teal)}.nav-toggle{display:none;border:0;background:var(--navy);color:white;border-radius:12px;padding:10px 13px;font-size:1.2rem}
.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 76% 18%,rgba(91,224,220,.28),transparent 26%),radial-gradient(circle at 8% 70%,rgba(245,200,76,.20),transparent 22%),linear-gradient(135deg,#061d29,#0a3b49 65%,#0b6570);color:white;padding:88px 0 72px}.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:38px 38px;mask-image:linear-gradient(to right,black,transparent 88%)}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.08fr .92fr;gap:54px;align-items:center}.eyebrow{display:inline-flex;align-items:center;gap:9px;padding:8px 12px;border-radius:999px;background:rgba(245,200,76,.14);border:1px solid rgba(245,200,76,.35);color:#ffe694;font-weight:800;font-size:.76rem;letter-spacing:.12em;text-transform:uppercase}.hero h1{font:800 clamp(2.7rem,6vw,5.6rem)/.98 'Manrope';letter-spacing:-.055em;margin:24px 0 22px;max-width:760px}.hero h1 span{color:var(--cyan)}.hero p{font-size:1.1rem;color:#d6eeee;max-width:680px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:14px;padding:13px 18px;font-weight:800;font-family:'DM Sans';cursor:pointer;transition:.2s}.btn:hover{transform:translateY(-2px)}.btn-yellow{background:linear-gradient(135deg,var(--yellow),#ffe17b);color:#342600;box-shadow:0 14px 28px rgba(245,200,76,.19)}.btn-teal{background:linear-gradient(135deg,var(--teal),var(--teal2));color:white;box-shadow:0 14px 28px rgba(10,166,166,.18)}.btn-dark{background:var(--navy);color:white}.btn-outline{border:1px solid rgba(255,255,255,.26);color:white;background:rgba(255,255,255,.05)}.hero-visual{position:relative}.hero-card{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.15);padding:12px;border-radius:30px;box-shadow:0 30px 80px rgba(0,0,0,.22);backdrop-filter:blur(12px);transform:rotate(1.5deg)}.hero-card img{width:100%;height:430px;object-fit:cover;border-radius:22px}.hero-float{position:absolute;left:-35px;bottom:28px;background:white;color:var(--navy);padding:16px 18px;border-radius:18px;box-shadow:var(--shadow);min-width:230px}.hero-float strong{display:block;color:var(--teal);font-size:1.25rem}.hero-float span{font-size:.78rem;color:var(--muted)}
.stats{margin-top:-34px;position:relative;z-index:3}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);background:white;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);overflow:hidden}.stat{padding:22px 24px;border-right:1px solid var(--line)}.stat:last-child{border:0}.stat strong{display:block;font:800 1.65rem 'Manrope';color:var(--navy)}.stat span{font-size:.8rem;color:var(--muted)}
.section{padding:86px 0}.section-soft{background:linear-gradient(180deg,#eef9f8,#f7fbfa)}.section-dark{background:linear-gradient(135deg,#071f2b,#0c3e4d);color:white}.section-head{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:34px}.section-head>div{max-width:720px}.kicker{color:var(--teal);font-weight:800;letter-spacing:.11em;text-transform:uppercase;font-size:.75rem}.section-dark .kicker{color:var(--yellow)}.section h2{font:800 clamp(2rem,4vw,3.45rem)/1.06 'Manrope';letter-spacing:-.04em;margin:8px 0 12px;color:var(--navy)}.section-dark h2{color:white}.section-head p{color:var(--muted);margin:0}.section-dark p{color:#c6e2e2}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:white;border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:0 16px 45px rgba(5,55,65,.07);transition:.2s}.card:hover{transform:translateY(-4px);box-shadow:0 24px 55px rgba(5,55,65,.12)}.iconbox{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#e5fbf9,#fff3c2);font-size:1.4rem;margin-bottom:18px}.card h3{font:800 1.1rem 'Manrope';margin:0 0 8px;color:var(--navy)}.card p{color:var(--muted);font-size:.9rem;margin:0}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.service-card{background:linear-gradient(180deg,#ffffff,#f6fcfb);border:1px solid var(--line);border-radius:20px;padding:20px;position:relative;overflow:hidden}.service-card:after{content:"";position:absolute;right:-22px;bottom:-22px;width:74px;height:74px;border-radius:50%;background:rgba(10,166,166,.08)}.service-card strong{display:block;font:800 1rem 'Manrope';color:var(--navy);margin:8px 0 4px}.service-card small{color:var(--muted)}.service-card .price{margin-top:12px;color:var(--teal);font-weight:800}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 14px 40px rgba(6,42,52,.08)}.gallery-card img{width:100%;height:250px;object-fit:cover}.gallery-card .body{padding:18px}.gallery-card h3{font:800 1rem 'Manrope';margin:0 0 5px}.gallery-card p{font-size:.86rem;color:var(--muted);margin:0}.teacher-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.teacher{background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px}.avatar{width:56px;height:56px;border-radius:16px;background:linear-gradient(135deg,var(--navy2),var(--teal));color:white;display:grid;place-items:center;font:800 1.1rem 'Manrope';box-shadow:0 12px 24px rgba(10,166,166,.16)}.teacher h3{margin:14px 0 3px;font-size:1rem}.teacher .meta{font-size:.78rem;color:var(--teal);font-weight:700}.teacher p{font-size:.84rem;color:var(--muted)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}.media-panel{border-radius:26px;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line);background:#fff}.media-panel img{width:100%;height:440px;object-fit:cover}.content-panel{padding:10px}.feature-list{display:grid;gap:14px;margin-top:24px}.feature{display:flex;gap:13px;align-items:flex-start}.feature i{font-style:normal;width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:#e2f8f6;color:var(--teal);font-weight:900;flex:0 0 auto}.feature strong{display:block;color:var(--navy)}.feature span{font-size:.86rem;color:var(--muted)}
.page-hero{padding:70px 0 58px;background:linear-gradient(135deg,#071f2b,#0b4f59);color:white;position:relative;overflow:hidden}.page-hero:after{content:"";position:absolute;width:320px;height:320px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-80px;top:-130px;box-shadow:0 0 0 60px rgba(255,255,255,.02),0 0 0 120px rgba(255,255,255,.02)}.page-hero h1{font:800 clamp(2.2rem,5vw,4.5rem)/1 'Manrope';margin:12px 0}.page-hero p{max-width:720px;color:#d2e9e8}.bread{font-size:.8rem;color:#8ee7e1}
.calc-shell{display:grid;grid-template-columns:1.15fr .85fr;gap:22px;align-items:start}.calc-card,.summary-card{background:white;border:1px solid var(--line);border-radius:24px;padding:26px;box-shadow:var(--shadow)}.summary-card{position:sticky;top:116px;background:linear-gradient(180deg,#072a37,#0a4b56);color:white}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:.78rem;font-weight:800;color:#436069}.input,.select,.textarea{width:100%;border:1px solid #cfe4e4;border-radius:13px;padding:12px 13px;background:#fbfefd;color:#173944;font:500 .92rem 'DM Sans';outline:none}.input:focus,.select:focus,.textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(10,166,166,.10)}.textarea{min-height:110px;resize:vertical}.mapbox{height:300px;border-radius:18px;border:1px solid var(--line);overflow:hidden;background:#e9f7f6}.calc-separator{height:1px;background:var(--line);margin:24px 0}.summary-row{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.10);font-size:.9rem}.summary-row span{color:#b9d8d8}.summary-total{padding:18px 0 4px}.summary-total small{color:#b9d8d8}.summary-total strong{display:block;font:800 2rem 'Manrope';color:var(--yellow)}.notice{border-radius:14px;padding:12px 14px;background:#fff7d8;color:#6a5500;font-size:.83rem}.notice.danger{background:#fff0f0;color:#9b3e3e}.track-box{max-width:820px;margin:auto;background:white;border:1px solid var(--line);border-radius:24px;padding:26px;box-shadow:var(--shadow)}.timeline{margin-top:28px;display:grid;gap:0}.timeline-item{display:grid;grid-template-columns:42px 1fr;min-height:82px}.timeline-rail{position:relative;display:flex;justify-content:center}.timeline-rail:after{content:"";position:absolute;top:25px;bottom:-25px;width:2px;background:#d8e8e7}.timeline-item:last-child .timeline-rail:after{display:none}.timeline-dot{position:relative;z-index:2;width:22px;height:22px;border-radius:50%;background:#dbe9e8;border:5px solid white;box-shadow:0 0 0 2px #dbe9e8}.timeline-item.done .timeline-dot{background:var(--teal);box-shadow:0 0 0 2px var(--teal)}.timeline-item.current .timeline-dot{background:var(--yellow);box-shadow:0 0 0 4px rgba(245,200,76,.25)}.timeline-copy h4{margin:0 0 4px;font-size:.96rem}.timeline-copy p{margin:0;color:var(--muted);font-size:.82rem}.timeline-copy time{font-size:.76rem;color:var(--teal)}
.footer{background:#061c27;color:#d5e9e8;padding-top:56px}.footer-grid{display:grid;grid-template-columns:1.4fr .7fr .9fr;gap:44px;padding-bottom:46px}.footer-brand{display:flex;align-items:center;gap:12px;margin-bottom:14px}.footer-brand img{width:52px;height:52px;border-radius:14px;object-fit:contain;background:white;padding:4px}.footer-brand strong{display:block;color:white}.footer-brand span{font-size:.78rem;color:#9fc0c0}.footer p{color:#9fc0c0;max-width:520px}.footer h4{color:var(--yellow);margin-top:0}.footer a,.footer span{display:block;color:#b9d5d4;margin:8px 0;font-size:.87rem}.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:18px 0;color:#89aeae;font-size:.78rem}
/* Chatbot */
.geo-chat-fab{position:fixed;right:24px;bottom:24px;z-index:100;width:64px;height:64px;border:0;border-radius:21px;background:linear-gradient(135deg,var(--teal),#0e6e78);color:white;box-shadow:0 20px 45px rgba(5,66,76,.30);font-size:1.6rem;cursor:pointer}.geo-chat-fab:after{content:"AI";position:absolute;right:-4px;top:-5px;background:var(--yellow);color:#423200;border-radius:999px;font:800 .62rem 'DM Sans';padding:4px 6px}.geo-chat-panel{position:fixed;right:24px;bottom:100px;z-index:101;width:min(390px,calc(100vw - 30px));height:580px;background:white;border-radius:26px;box-shadow:0 30px 90px rgba(4,37,46,.27);border:1px solid var(--line);display:none;overflow:hidden}.geo-chat-panel.open{display:flex;flex-direction:column}.chat-head{padding:16px 18px;background:linear-gradient(135deg,#062532,#0a6870);color:white;display:flex;align-items:center;justify-content:space-between}.chat-head strong{display:block}.chat-head small{color:#a8dddd}.chat-head button{border:0;background:rgba(255,255,255,.1);color:white;width:32px;height:32px;border-radius:10px;cursor:pointer}.chat-body{padding:16px;overflow:auto;flex:1;background:linear-gradient(180deg,#f4fbfa,#fff)}.msg{max-width:88%;padding:11px 13px;border-radius:15px;margin-bottom:10px;font-size:.86rem;white-space:pre-wrap}.msg.bot{background:#e8f7f5;color:#173e45;border-bottom-left-radius:5px}.msg.user{background:var(--navy);color:white;margin-left:auto;border-bottom-right-radius:5px}.chat-quick{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0}.chat-quick button{border:1px solid #bfe2df;background:white;color:var(--teal);border-radius:999px;padding:7px 10px;font:700 .75rem 'DM Sans';cursor:pointer}.chat-human{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.chat-human a{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px;text-align:center;font-size:.78rem;font-weight:800}.chat-foot{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line);background:#fff}.chat-foot input{flex:1;border:1px solid var(--line);border-radius:12px;padding:11px;outline:0}.chat-foot button{border:0;border-radius:12px;background:var(--yellow);font-weight:900;padding:0 14px;cursor:pointer}
.table-wrap{overflow:auto;background:white;border:1px solid var(--line);border-radius:20px}.price-table{width:100%;border-collapse:collapse;min-width:760px}.price-table th,.price-table td{padding:13px 14px;border-bottom:1px solid #e7f1f0;text-align:left;font-size:.84rem}.price-table th{background:#edf9f7;color:#2d5b61;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:#e4f8f6;color:var(--teal);font-size:.72rem;font-weight:800}.badge.yellow{background:#fff4ca;color:#775d00}.badge.dark{background:#e8edef;color:#28404a}.empty{padding:28px;text-align:center;color:var(--muted)}
@media(max-width:1050px){.main-nav{display:none;position:absolute;top:88px;left:20px;right:20px;background:white;border:1px solid var(--line);border-radius:18px;padding:12px;box-shadow:var(--shadow);align-items:stretch}.main-nav.open{display:grid}.nav-drop>button{width:100%;text-align:left}.dropdown-menu{position:static;box-shadow:none;margin-top:4px}.nav-drop:hover .dropdown-menu{display:grid}.nav-toggle{display:block}.hero-grid,.split,.calc-shell{grid-template-columns:1fr}.hero-visual{max-width:720px}.summary-card{position:static}.service-grid{grid-template-columns:repeat(2,1fr)}.cards,.teacher-grid,.gallery-grid{grid-template-columns:repeat(2,1fr)}.stats-grid{grid-template-columns:repeat(2,1fr)}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:680px){.container{width:min(100% - 26px,1180px)}.topbar-inner span:last-child{display:none}.brand{min-width:0}.brand small{display:none}.nav-wrap{height:78px}.hero{padding:60px 0}.hero-card img{height:300px}.hero-float{left:12px;bottom:12px}.stats{margin-top:-22px}.stats-grid,.cards,.teacher-grid,.gallery-grid,.service-grid,.footer-grid,.form-grid{grid-template-columns:1fr}.stat{border-right:0!important;border-bottom:1px solid var(--line)}.stat:last-child{border-bottom:0}.section{padding:64px 0}.section-head{display:block}.section-head .btn{margin-top:16px}.gallery-card img{height:220px}.footer-grid{gap:24px}.geo-chat-panel{right:15px;bottom:92px;height:70vh}.geo-chat-fab{right:15px;bottom:16px}.hero h1{font-size:3rem}}


/* Guest public ordering V1.1 */
.nav-guest{background:linear-gradient(135deg,#19c7bd,#0e9ca0);color:#032f38!important;padding:10px 15px!important;border-radius:999px;font-weight:800!important;box-shadow:0 10px 28px rgba(15,165,166,.18)}
.nav-guest:hover,.nav-guest.active{background:linear-gradient(135deg,#ffd95f,#f5c84c)!important;color:#24312f!important;transform:translateY(-1px)}
.guest-badge{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#f8d85d,#f5c84c);color:#24312f;font-weight:900;font-size:.72rem;letter-spacing:.08em;padding:9px 14px;border-radius:999px;margin-bottom:18px;box-shadow:0 12px 30px rgba(245,200,76,.16)}
.guest-trust-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.guest-trust-row span{background:rgba(255,255,255,.08);border:1px solid rgba(111,231,218,.20);color:#dffcf9;padding:9px 12px;border-radius:999px;font-size:.78rem;font-weight:700}
@media(max-width:980px){.nav-guest{margin-top:6px}.guest-trust-row{gap:7px}.guest-trust-row span{font-size:.72rem}}

/* CMS V1.2 public blocks */
.cms-page-hero{position:relative;overflow:hidden}.cms-page-hero[style*="--cms-hero"]:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,36,47,.96),rgba(5,62,69,.78),rgba(5,36,47,.40)),var(--cms-hero) center/cover no-repeat;z-index:0}.cms-page-hero .container{position:relative;z-index:1}.cms-block .cms-copy{color:#667f86;line-height:1.8}.section-dark.cms-block .cms-copy{color:#b8d5d5}.cms-text{max-width:980px}.cms-wide-img{width:100%;max-height:520px;object-fit:cover;border-radius:22px;margin-top:22px;box-shadow:0 22px 55px rgba(5,55,63,.12)}.cms-card-img{width:100%;height:180px;object-fit:cover;border-radius:16px;margin-bottom:14px}.mini-public-link{display:inline-flex;margin-top:10px;color:#0c9b98;font-weight:800;font-size:.82rem}.cms-cta{display:flex;align-items:center;justify-content:space-between;gap:28px}.cms-html{background:#fff;border:1px solid #d8e9e8;border-radius:22px;padding:24px;box-shadow:0 18px 50px rgba(5,48,58,.06)}.main-nav>a.nav-guest{background:linear-gradient(135deg,#f5c84c,#ffe17b);color:#382b00!important;border-radius:999px;padding:10px 14px;font-weight:800}.dropdown-menu{min-width:230px}@media(max-width:800px){.cms-cta{align-items:flex-start;flex-direction:column}}
