@font-face{font-family:'Noto Sans Thai';src:url('fonts/NotoSansThai.woff2') format('woff2');font-weight:100 900;font-display:swap;}
@font-face{font-family:'Noto Sans JP';src:url('fonts/NotoSansJP.woff2') format('woff2');font-weight:100 900;font-display:swap;}
:root{
  --fEN:"Inter","Helvetica Neue",Arial,sans-serif;
  --fTH:"Noto Sans Thai","Sarabun","Tahoma","TH Sarabun New",sans-serif;
  --fJA:"Noto Sans JP","Hiragino Sans","Yu Gothic","Meiryo",sans-serif;
  --bd:#123A5A;--bm:#F3A533;--teal:#12B8B2;--coral:#FF6F4E;--wh:#fff;--gb:#FFF8EC;--ink:#18324A;
}
*{box-sizing:border-box;margin:0;padding:0;}
html,body{width:100%;overflow-x:hidden;}
body{min-height:100vh;background:#060912;}

.deck{width:100%;background:#0a0e1a;border-radius:12px;overflow:hidden;}
.deck.lang-en,.deck.lang-en *{font-family:var(--fEN);}
.deck.lang-th,.deck.lang-th *{font-family:var(--fTH);word-break:break-word;}
.deck.lang-ja,.deck.lang-ja *{font-family:var(--fJA);word-break:break-all;}
.lang-btn{font-family:"Noto Sans Thai","Noto Sans JP","Inter","Tahoma","Meiryo",sans-serif!important;}

/* ── LANG BAR ── */
.lang-bar{background:#060912;padding:8px 14px;display:flex;align-items:center;gap:6px;border-bottom:1px solid rgba(45,185,232,0.15);flex-wrap:wrap;}
.lang-label{font-size:10px;color:rgba(255,255,255,0.3);letter-spacing:0.15em;font-family:var(--fEN);margin-right:2px;}
.lang-btn{padding:4px 12px;border-radius:20px;border:1px solid rgba(255,255,255,0.15);background:transparent;color:rgba(255,255,255,0.4);font-size:12px;cursor:pointer;transition:all 0.25s;}
.lang-btn.active{background:#2DB9E8;border-color:#2DB9E8;color:#fff;font-weight:600;}
.lang-btn:hover:not(.active){border-color:rgba(45,185,232,0.4);color:rgba(255,255,255,0.7);}
.lang-btn:focus-visible,.ctrl-btn:focus-visible,.auto-btn:focus-visible,.dot:focus-visible,.map-btn:focus-visible{outline:2px solid #fff;outline-offset:2px;}

/* ── STAGE — responsive aspect ratio ── */
.stage{width:100%;position:relative;overflow:hidden;}
/* Desktop & tablet landscape: 16:9 */
.stage{aspect-ratio:16/9;}
/* Mobile portrait: taller ratio */
@media(max-width:600px) and (orientation:portrait){
  .stage{aspect-ratio:9/14;}
}

.slide{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;opacity:0;transition:opacity 0.9s ease;pointer-events:none;}
.slide.active{opacity:1;pointer-events:all;}
.slide-media{position:absolute;z-index:1;pointer-events:none;user-select:none;}
.slide-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--media-position,center);}
.slide-media.bg{inset:0;opacity:var(--media-opacity,0.22);}
.slide-media.inline{right:6%;top:50%;width:min(30%,260px);height:min(58%,320px);border-radius:8px;overflow:hidden;opacity:var(--media-opacity,1);transform:translateY(-50%);box-shadow:0 18px 45px rgba(0,0,0,0.22);}
.slide-media.contain img{object-fit:contain;}
@media(max-width:600px) and (orientation:portrait){
  .slide-media.inline{right:6%;top:12%;width:34%;height:22%;transform:none;}
}

/* ── ANIMATIONS ── */
@keyframes gridShift{0%{background-position:0 0}100%{background-position:60px 60px}}
@keyframes barGlow{0%{opacity:0.4}100%{opacity:1}}
@keyframes floatRect{0%,100%{transform:translateY(0) rotate(0deg);opacity:0.3}50%{transform:translateY(-12px) rotate(2deg);opacity:0.6}}
@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}100%{opacity:1;transform:translateY(0)}}
@keyframes fadeLeft{0%{opacity:0;transform:translateX(14px)}100%{opacity:1;transform:translateX(0)}}
@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}
@keyframes sweep{0%{background-position:200% 0}100%{background-position:-200% 0}}
@keyframes barExpand{0%{transform:scaleX(0)}100%{transform:scaleX(1)}}
@keyframes scaleIn{0%{transform:scaleY(0)}100%{transform:scaleY(1)}}
@keyframes pulse{0%,100%{opacity:0.5}50%{opacity:1}}

/* ══════════════════════════════
   SLIDE 1
══════════════════════════════ */
.s1{background:linear-gradient(135deg,#001a3a 0%,#003A78 50%,#0a1628 100%);}
.bg-lines{position:absolute;inset:0;background-image:linear-gradient(rgba(45,185,232,0.06) 1px,transparent 1px),linear-gradient(90deg,rgba(45,185,232,0.06) 1px,transparent 1px);background-size:60px 60px;animation:gridShift 20s linear infinite;}
.accent-bar{position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(to bottom,transparent,#2DB9E8,transparent);animation:barGlow 3s ease-in-out infinite alternate;}
.fr{position:absolute;border:1px solid rgba(45,185,232,0.15);border-radius:3px;animation:floatRect 6s ease-in-out infinite;}
.fr1{width:80px;height:50px;top:12%;left:8%;}
.fr2{width:50px;height:30px;top:60%;left:5%;animation-delay:-2s;}
.fr3{width:60px;height:40px;top:20%;right:7%;animation-delay:-4s;}
.s1 .cnt{position:relative;z-index:2;text-align:center;padding:8% 10%;}
.eyebrow{font-size:clamp(8px,2.5vw,12px);letter-spacing:0.25em;color:#2DB9E8;font-weight:600;text-transform:uppercase;opacity:0;animation:fadeUp 0.8s 0.3s forwards;}
.s1 h1{font-size:clamp(18px,5vw,36px);font-weight:700;color:#fff;line-height:1.25;margin:0.8em 0 0.7em;opacity:0;animation:fadeUp 0.8s 0.6s forwards;}
.s1 h1 .hl{color:#2DB9E8;}
.s1 .tagline{font-size:clamp(10px,2.5vw,13px);color:rgba(255,255,255,0.5);letter-spacing:0.1em;font-weight:300;opacity:0;animation:fadeUp 0.8s 0.9s forwards;}
.logo-badge{position:absolute;bottom:5%;right:5%;font-size:clamp(7px,1.8vw,11px);color:rgba(255,255,255,0.3);letter-spacing:0.15em;font-weight:600;text-transform:uppercase;opacity:0;animation:fadeIn 1s 1.2s forwards;}

/* ══════════════════════════════
   SLIDE 2
══════════════════════════════ */
.s2{background:var(--gb);}
.top-bar{position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#003A78,#2DB9E8,#003A78);background-size:200% 100%;animation:sweep 3s linear infinite;z-index:3;}
.slabel{font-size:clamp(7px,2vw,10px);color:#2DB9E8;letter-spacing:0.25em;font-weight:700;text-transform:uppercase;margin-bottom:0.5em;opacity:0;animation:fadeLeft 0.7s 0.2s forwards;}
.s2 .cnt{padding:6% 7%;width:100%;position:relative;}
.s2 h2{font-size:clamp(15px,4.5vw,28px);font-weight:700;color:#003A78;margin-bottom:1em;line-height:1.3;opacity:0;animation:fadeLeft 0.7s 0.4s forwards;}
.items{display:flex;flex-direction:column;gap:0.5em;}
.item{display:flex;align-items:center;gap:0.7em;opacity:0;background:#fff;padding:0.5em 0.9em;border-radius:6px;border-left:3px solid #2DB9E8;box-shadow:0 1px 6px rgba(0,58,120,0.07);}
.item:nth-child(1){animation:fadeLeft 0.6s 0.6s forwards}
.item:nth-child(2){animation:fadeLeft 0.6s 0.8s forwards}
.item:nth-child(3){animation:fadeLeft 0.6s 1.0s forwards}
.item:nth-child(4){animation:fadeLeft 0.6s 1.2s forwards}
.idot{width:7px;height:7px;border-radius:50%;background:#2DB9E8;flex-shrink:0;}
.item span{font-size:clamp(10px,2.8vw,15px);color:#003A78;font-weight:500;}
.deco{position:absolute;right:5%;top:50%;transform:translateY(-50%);width:22%;display:flex;flex-direction:column;gap:0.5em;opacity:0;animation:fadeIn 1s 0.8s forwards;}
@media(max-width:600px){.deco{display:none;}}
.dbar{height:clamp(5px,1.5vw,11px);border-radius:4px;animation:barExpand 1.2s ease-out forwards;transform-origin:left;}
.db1{background:#003A78;animation-delay:0.8s!important;}
.db2{background:#2DB9E8;width:80%;animation-delay:1.0s!important;}
.db3{background:#003A78;width:60%;animation-delay:1.2s!important;opacity:0.5;}
.db4{background:#2DB9E8;width:90%;animation-delay:1.4s!important;opacity:0.7;}

/* ══════════════════════════════
   SLIDE 3
══════════════════════════════ */
.s3{background:#0d1f3c;}
.halves{position:absolute;inset:0;display:flex;}
/* Mobile portrait: stack vertically */
@media(max-width:600px) and (orientation:portrait){
  .halves{flex-direction:column;}
  .hl-p{border-right:none!important;border-bottom:2px solid rgba(45,185,232,0.4)!important;}
}
.hl-p{flex:1;background:linear-gradient(135deg,#1a2a4a,#0d1f3c);display:flex;align-items:center;justify-content:center;border-right:2px solid rgba(45,185,232,0.4);position:relative;overflow:hidden;}
.hr-p{flex:1;background:linear-gradient(135deg,#003A78,#005eb8);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}
.rl,.fl{font-size:clamp(7px,1.8vw,10px);letter-spacing:0.2em;text-transform:uppercase;position:absolute;top:8%;opacity:0;}
.rl{color:rgba(255,255,255,0.3);left:5%;animation:fadeIn 0.7s 0.4s forwards;}
.fl{color:#2DB9E8;right:5%;animation:fadeIn 0.7s 0.4s forwards;}
.wlines{width:65%;display:flex;flex-direction:column;gap:5px;opacity:0;animation:fadeIn 0.8s 0.6s forwards;}
.wl{height:3px;border-radius:2px;background:rgba(180,140,90,0.4);}
.wl:nth-child(odd){width:90%}.wl:nth-child(even){width:70%;margin-left:10%}
.eshowcase{width:65%;display:flex;flex-direction:column;gap:4px;opacity:0;animation:fadeIn 0.8s 0.8s forwards;}
.es{height:4px;border-radius:2px;}
.es1{background:#2DB9E8;width:100%}.es2{background:#fff;width:85%;margin-left:10%}
.es3{background:rgba(45,185,232,0.5);width:95%}.es4{background:#fff;width:75%;margin-left:15%;opacity:0.7}
.ctxt{position:absolute;bottom:8%;left:0;right:0;text-align:center;z-index:5;opacity:0;animation:fadeUp 0.8s 1.0s forwards;}
.ctxt h2{font-size:clamp(12px,3.5vw,24px);font-weight:700;color:#fff;line-height:1.35;}
.ctxt p{font-size:clamp(8px,2vw,11px);color:#2DB9E8;margin-top:0.3em;letter-spacing:0.12em;text-transform:uppercase;font-weight:300;}

/* ══════════════════════════════
   SLIDE 4
══════════════════════════════ */
.s4{background:#fff;}
.s4 .cnt{position:relative;z-index:2;width:100%;padding:5% 7%;}
.s4 h2{font-size:clamp(15px,4vw,26px);font-weight:700;color:#003A78;margin-bottom:0.8em;opacity:0;animation:fadeUp 0.7s 0.4s forwards;}
.textures{display:grid;grid-template-columns:repeat(5,1fr);gap:0.4em;}
@media(max-width:600px) and (orientation:portrait){
  .textures{grid-template-columns:repeat(5,1fr);gap:0.3em;}
}
.tex{aspect-ratio:2/3;border-radius:6px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;position:relative;opacity:0;transform:translateY(20px);background-size:cover;background-position:center;background-repeat:no-repeat;box-shadow:0 12px 28px rgba(0,58,120,0.12);}
.tex::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,0.08),rgba(0,0,0,0.1));z-index:1;}
.tex:nth-child(1){animation:fadeUp 0.6s 0.5s forwards;background-image:url("./assets/images/material-oak.png");}
.tex:nth-child(2){animation:fadeUp 0.6s 0.7s forwards;background-image:url("./assets/images/material-walnut.png");}
.tex:nth-child(3){animation:fadeUp 0.6s 0.9s forwards;background-image:url("./assets/images/material-marble.png");}
.tex:nth-child(4){animation:fadeUp 0.6s 1.1s forwards;background-image:url("./assets/images/material-concrete.png");}
.tex:nth-child(5){animation:fadeUp 0.6s 1.3s forwards;background-image:url("./assets/images/material-matte.png");}
.tex-lbl{position:relative;z-index:2;font-size:clamp(6px,1.5vw,9px);font-weight:600;color:rgba(255,255,255,0.9);letter-spacing:0.08em;padding:0.35em 0.4em;background:rgba(0,0,0,0.3);text-transform:uppercase;}

/* ══════════════════════════════
   SLIDE 5
══════════════════════════════ */
.s5{background:linear-gradient(135deg,#003A78 0%,#001a40 100%);}
.grid-ov{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(45,185,232,0.08) 1px,transparent 1px);background-size:30px 30px;animation:pulse 4s ease-in-out infinite;}
.s5 .cnt{position:relative;z-index:2;text-align:center;padding:6% 7%;}
.s5 h2{font-size:clamp(14px,4vw,28px);font-weight:700;color:#fff;margin-bottom:1em;line-height:1.3;opacity:0;animation:fadeUp 0.7s 0.4s forwards;}
.pillars{display:flex;gap:0.7em;justify-content:center;}
/* Mobile portrait: stack pillars */
@media(max-width:600px) and (orientation:portrait){
  .pillars{flex-direction:column;gap:0.5em;}
}
.pillar{background:rgba(255,255,255,0.06);border:1px solid rgba(45,185,232,0.25);border-radius:8px;padding:0.8em 0.9em;flex:1;min-width:0;text-align:center;opacity:0;}
.pillar:nth-child(1){animation:fadeUp 0.7s 0.6s forwards}
.pillar:nth-child(2){animation:fadeUp 0.7s 0.85s forwards}
.pillar:nth-child(3){animation:fadeUp 0.7s 1.1s forwards}
.pico{font-size:clamp(14px,3vw,20px);color:#2DB9E8;margin-bottom:0.3em;}
.ptitle{font-size:clamp(9px,2.2vw,13px);font-weight:600;color:#fff;line-height:1.35;}
.psub{font-size:clamp(7px,1.5vw,10px);color:rgba(255,255,255,0.4);margin-top:0.25em;font-weight:300;}

/* ══════════════════════════════
   SLIDE 6
══════════════════════════════ */
.s6{background:#fff;}
.blue-sweep{position:absolute;inset:0;background:linear-gradient(135deg,#003A78 0%,#2DB9E8 100%);}
/* Mobile: full-width sweep top half */
@media(min-width:601px){
  .blue-sweep{clip-path:polygon(0 0,45% 0,30% 100%,0 100%);}
}
@media(max-width:600px) and (orientation:portrait){
  .blue-sweep{clip-path:polygon(0 0,100% 0,100% 45%,0 55%);}
}
.s6 .cnt{position:relative;z-index:2;width:100%;padding:5% 7%;display:flex;align-items:center;gap:5%;}
@media(max-width:600px) and (orientation:portrait){
  .s6 .cnt{flex-direction:column;justify-content:flex-end;padding:55% 7% 5%;gap:4%;}
}
.s6 .lc{flex:1.1;}
.s6 .rc{flex:1;}
@media(max-width:600px) and (orientation:portrait){
  .s6 .lc,.s6 .rc{width:100%;}
}
.logo-txt{font-size:clamp(7px,1.8vw,10px);letter-spacing:0.25em;font-weight:700;color:rgba(255,255,255,0.65);text-transform:uppercase;opacity:0;animation:fadeUp 0.7s 0.2s forwards;}
.s6 h1{font-size:clamp(18px,5vw,33px);font-weight:900;color:#fff;line-height:1.15;margin:0.3em 0 0.4em;opacity:0;animation:fadeUp 0.8s 0.4s forwards;}
.h1sub{font-size:0.52em;font-weight:300;display:block;letter-spacing:0.05em;}
.badges{display:flex;gap:0.35em;flex-wrap:wrap;margin-top:0.5em;opacity:0;animation:fadeUp 0.7s 0.7s forwards;}
.badge{font-size:clamp(6px,1.5vw,9px);padding:0.2em 0.55em;border:1px solid rgba(255,255,255,0.3);border-radius:20px;color:rgba(255,255,255,0.65);letter-spacing:0.06em;text-transform:uppercase;}
.stag{font-size:clamp(10px,2.5vw,14px);color:#003A78;font-weight:600;line-height:1.55;opacity:0;animation:fadeLeft 0.8s 0.5s forwards;}
.line-deco{width:3px;height:30px;background:#2DB9E8;margin-bottom:0.6em;opacity:0;animation:scaleIn 0.6s 0.3s forwards;transform-origin:top;}
@media(max-width:600px) and (orientation:portrait){
  .stag{color:var(--bd);}
  .line-deco{display:none;}
}

/* ══════════════════════════════
   SLIDE 7 — Contact
══════════════════════════════ */
.s7{background:var(--gb);}
.s7 .cnt{position:relative;z-index:2;width:100%;padding:5% 6%;display:flex;gap:4%;align-items:flex-start;}
@media(max-width:600px) and (orientation:portrait){
  .s7 .cnt{flex-direction:column;gap:3%;padding:7% 6%;}
}
.s7 .lc{flex:1.2;}
.s7 .rc{flex:0.8;display:flex;flex-direction:column;align-items:flex-end;}
@media(max-width:600px) and (orientation:portrait){
  .s7 .lc,.s7 .rc{width:100%;}
  .s7 .rc{align-items:stretch;}
}
.s7 h2{font-size:clamp(14px,4vw,25px);font-weight:700;color:#003A78;margin-bottom:0.8em;line-height:1.3;opacity:0;animation:fadeUp 0.7s 0.4s forwards;}
.crows{display:flex;flex-direction:column;gap:0.45em;}
.crow{display:flex;align-items:flex-start;gap:0.6em;opacity:0;background:#fff;padding:0.5em 0.75em;border-radius:6px;border-left:3px solid #2DB9E8;box-shadow:0 1px 5px rgba(0,58,120,0.07);}
.crow:nth-child(1){animation:fadeLeft 0.6s 0.55s forwards}
.crow:nth-child(2){animation:fadeLeft 0.6s 0.75s forwards}
.crow:nth-child(3){animation:fadeLeft 0.6s 0.95s forwards}
.crow:nth-child(4){animation:fadeLeft 0.6s 1.15s forwards}
.ci{color:#2DB9E8;font-size:clamp(12px,2.5vw,16px);flex-shrink:0;margin-top:1px;}
.clabel{display:block;font-size:clamp(6px,1.5vw,9px);color:#2DB9E8;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;}
.cval{display:block;font-size:clamp(9px,2.2vw,13px);color:#003A78;font-weight:500;line-height:1.4;}
.map-frame{width:100%;aspect-ratio:4/3;min-height:clamp(120px,24vw,210px);border-radius:10px;border:2px solid rgba(0,58,120,0.14);opacity:0;animation:fadeIn 0.8s 0.8s forwards;background:#e8eef5;overflow:hidden;box-shadow:0 14px 34px rgba(0,58,120,0.14);}
.map-frame iframe{display:block;width:100%;height:100%;border:0;filter:saturate(0.96) contrast(1.02);}
@media(max-width:600px) and (orientation:portrait){
  .map-frame{aspect-ratio:16/9;min-height:0;max-height:28vh;border-radius:8px;}
}
.map-btn{display:flex;align-items:center;gap:0.45em;padding:0.55em 1em;background:#003A78;color:#fff;border-radius:8px;font-size:clamp(9px,2vw,12px);font-weight:600;text-decoration:none;letter-spacing:0.06em;border:none;cursor:pointer;opacity:0;animation:fadeUp 0.7s 1.3s forwards;transition:background 0.2s;margin-top:0.5em;width:100%;justify-content:center;}
.map-btn:hover{background:#2DB9E8;}

/* ── CONTROLS ── */
.controls{background:#0d1120;padding:9px 12px;display:flex;align-items:center;gap:8px;}
.ctrl-btn{background:rgba(45,185,232,0.12);border:1px solid rgba(45,185,232,0.25);color:#2DB9E8;border-radius:6px;padding:5px 10px;cursor:pointer;font-size:11px;font-family:var(--fEN);transition:background 0.2s;white-space:nowrap;}
.ctrl-btn:hover{background:rgba(45,185,232,0.28);}
.ctrl-btn:disabled{opacity:0.3;cursor:default;}
.dots{display:flex;gap:4px;flex:1;justify-content:center;flex-wrap:wrap;}
.dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,0.18);cursor:pointer;transition:background 0.3s,transform 0.2s;border:none;}
.dot.on{background:#2DB9E8;transform:scale(1.25);}
.auto-btn{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.12);color:rgba(255,255,255,0.4);border-radius:6px;padding:5px 8px;cursor:pointer;font-size:10px;font-family:var(--fEN);transition:all 0.2s;white-space:nowrap;}
.auto-btn.playing{color:#2DB9E8;border-color:rgba(45,185,232,0.3);background:rgba(45,185,232,0.08);}
.sctr{font-size:10px;color:rgba(255,255,255,0.28);font-family:var(--fEN);min-width:28px;text-align:right;}

/* ── BRAND REFRESH: stronger type and warmer palette ── */
.deck{background:#091521;}
.lang-bar{background:#08131e;border-bottom-color:rgba(243,165,51,0.28);}
.lang-label{font-size:12px;color:rgba(255,255,255,0.54);}
.lang-btn{font-size:14px;padding:6px 15px;border-color:rgba(255,255,255,0.24);color:rgba(255,255,255,0.68);}
.lang-btn.active{background:linear-gradient(135deg,var(--bm),var(--coral));border-color:rgba(255,255,255,0.18);color:#1b2430;}
.lang-btn:hover:not(.active){border-color:rgba(243,165,51,0.65);color:#fff;}

.s1{background:linear-gradient(135deg,#10263a 0%,#15486a 48%,#2b2116 100%);}
.s1::after,.s5::after,.s6::after,.s7::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(135deg,rgba(7,18,30,0.66),rgba(18,58,90,0.34) 52%,rgba(243,165,51,0.16));}
.s2::after,.s4::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(circle at top right,rgba(243,165,51,0.18),transparent 34%),linear-gradient(180deg,rgba(255,255,255,0),rgba(255,248,236,0.64));}
.s2 .cnt,.s4 .cnt,.s5 .cnt,.s6 .cnt,.s7 .cnt,.halves,.ctxt{z-index:2;}
.bg-lines{background-image:linear-gradient(rgba(243,165,51,0.09) 1px,transparent 1px),linear-gradient(90deg,rgba(18,184,178,0.08) 1px,transparent 1px);}
.accent-bar{width:6px;background:linear-gradient(to bottom,transparent,var(--bm),var(--coral),transparent);}
.fr{border-color:rgba(243,165,51,0.28);}

.eyebrow,.slabel{font-size:clamp(12px,2.2vw,18px);letter-spacing:0.2em;color:var(--bm);font-weight:800;}
.s1 h1{font-size:clamp(34px,6.8vw,66px);font-weight:900;line-height:1.04;margin:0.45em 0 0.36em;text-shadow:0 6px 30px rgba(0,0,0,0.34);}
.s1 h1 .hl{color:var(--bm);}
.s1 .tagline{font-size:clamp(15px,2.8vw,24px);color:rgba(255,255,255,0.86);font-weight:700;letter-spacing:0.06em;text-shadow:0 4px 18px rgba(0,0,0,0.3);}
.logo-badge{font-size:clamp(11px,1.9vw,16px);color:rgba(255,255,255,0.78);font-weight:800;}

.top-bar{height:6px;background:linear-gradient(90deg,var(--bd),var(--bm),var(--coral),var(--teal));}
.s2,.s4,.s7{background:linear-gradient(135deg,#fffaf1 0%,#f4fbf8 55%,#fff3e3 100%);}
.s2 h2,.s4 h2,.s7 h2{font-size:clamp(26px,5.3vw,50px);font-weight:900;color:var(--ink);line-height:1.08;letter-spacing:0;}
.items{gap:0.75em;max-width:72%;}
.item{padding:0.78em 1.05em;border-left:5px solid var(--bm);box-shadow:0 10px 26px rgba(24,50,74,0.12);}
.idot{width:11px;height:11px;background:linear-gradient(135deg,var(--bm),var(--coral));}
.item span{font-size:clamp(15px,2.6vw,24px);color:var(--ink);font-weight:800;line-height:1.24;}
.db1,.db3{background:var(--bd);}
.db2,.db4{background:var(--bm);}

.s3{background:#10283a;}
.s3 .slide-media.bg{opacity:var(--media-opacity,0.82);filter:saturate(1.06) contrast(1.04);}
.s3 .halves{background:linear-gradient(90deg,rgba(9,21,33,0.34),rgba(9,21,33,0.1) 50%,rgba(18,58,90,0.22));}
.hl-p{background:linear-gradient(135deg,rgba(39,51,73,0.42),rgba(17,40,59,0.2));border-right-color:rgba(243,165,51,0.72);backdrop-filter:saturate(1.08);}
.hr-p{background:linear-gradient(135deg,rgba(18,58,90,0.28),rgba(18,184,178,0.14));backdrop-filter:saturate(1.08);}
.rl,.fl{font-size:clamp(12px,2vw,17px);font-weight:800;letter-spacing:0.18em;}
.fl{color:var(--bm);}
.es1{background:var(--bm);}
.es3{background:rgba(255,111,78,0.7);}
.ctxt h2{font-size:clamp(26px,5.4vw,52px);font-weight:900;line-height:1.08;text-shadow:0 5px 22px rgba(0,0,0,0.34);}
.ctxt p{font-size:clamp(13px,2.2vw,20px);color:var(--bm);font-weight:800;}

.textures{gap:0.65em;}
.tex{border-radius:10px;box-shadow:0 18px 40px rgba(24,50,74,0.16);}
.tex-lbl{font-size:clamp(10px,1.8vw,16px);font-weight:900;letter-spacing:0.05em;padding:0.52em 0.58em;background:linear-gradient(90deg,rgba(24,50,74,0.76),rgba(24,50,74,0.38));color:#fff!important;text-shadow:0 2px 10px rgba(0,0,0,0.45);}

.s5{background:linear-gradient(135deg,#123A5A 0%,#193049 48%,#4d3014 100%);}
.grid-ov{background-image:radial-gradient(circle,rgba(243,165,51,0.16) 1px,transparent 1px);}
.s5 h2{font-size:clamp(28px,5.6vw,54px);font-weight:900;line-height:1.06;text-shadow:0 5px 24px rgba(0,0,0,0.32);}
.pillars{gap:1em;}
.pillar{padding:1.1em 1.05em;background:rgba(255,255,255,0.12);border:1px solid rgba(243,165,51,0.42);box-shadow:0 16px 34px rgba(0,0,0,0.18);}
.pico{font-size:clamp(22px,3.8vw,34px);color:var(--bm);}
.ptitle{font-size:clamp(15px,2.5vw,23px);font-weight:900;}
.psub{font-size:clamp(11px,1.7vw,16px);color:rgba(255,255,255,0.72);font-weight:600;}

.blue-sweep{background:linear-gradient(135deg,#123A5A 0%,#12B8B2 58%,#F3A533 100%);}
.logo-txt{font-size:clamp(12px,2vw,18px);color:rgba(255,255,255,0.88);font-weight:900;}
.s6 h1{font-size:clamp(36px,6.8vw,66px);font-weight:900;line-height:1.02;text-shadow:0 6px 28px rgba(0,0,0,0.3);}
.h1sub{font-size:0.6em;font-weight:700;}
.badge{font-size:clamp(10px,1.7vw,15px);padding:0.42em 0.78em;color:#fff;background:rgba(18,58,90,0.32);border-color:rgba(255,255,255,0.46);font-weight:800;}
.stag{font-size:clamp(18px,3.2vw,30px);color:var(--ink);font-weight:900;line-height:1.28;}
.line-deco{width:5px;height:48px;background:linear-gradient(var(--bm),var(--coral));}

.crows{gap:0.65em;}
.crow{padding:0.72em 0.88em;border-left:5px solid var(--bm);box-shadow:0 12px 30px rgba(24,50,74,0.11);}
.ci{font-size:clamp(18px,2.8vw,26px);color:var(--coral);}
.clabel{font-size:clamp(10px,1.6vw,15px);color:var(--bm);font-weight:900;}
.cval{font-size:clamp(14px,2.15vw,21px);color:var(--ink);font-weight:800;line-height:1.3;}
.social-links{display:flex;gap:0.55em;flex-wrap:wrap;margin-top:0.7em;opacity:0;animation:fadeUp 0.7s 1.28s forwards;}
.social-link{display:inline-flex;align-items:center;gap:0.48em;min-height:40px;padding:0.56em 0.86em;border-radius:999px;color:#fff;text-decoration:none;font-size:clamp(12px,1.7vw,16px);font-weight:900;letter-spacing:0.02em;box-shadow:0 12px 26px rgba(24,50,74,0.16);transition:transform 0.2s,box-shadow 0.2s,filter 0.2s;}
.social-link:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(24,50,74,0.22);filter:saturate(1.08);}
.social-link:focus-visible{outline:2px solid var(--bm);outline-offset:3px;}
.social-icon{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,0.22);font-size:15px;font-weight:900;line-height:1;}
.social-link.facebook{background:linear-gradient(135deg,#1877F2,#0B4EA2);}
.social-link.instagram{background:linear-gradient(135deg,#F58529,#DD2A7B 52%,#8134AF);}
.social-link.line{background:linear-gradient(135deg,#06C755,#039D43);}
.social-link.whatsapp{background:linear-gradient(135deg,#25D366,#128C7E);}
.social-link.is-hidden{display:none;}
.map-frame{border-color:rgba(243,165,51,0.45);box-shadow:0 18px 44px rgba(24,50,74,0.18);}
.map-btn{background:linear-gradient(135deg,var(--bd),var(--teal));font-size:clamp(12px,1.9vw,17px);font-weight:900;padding:0.76em 1.1em;}
.map-btn:hover{background:linear-gradient(135deg,var(--bm),var(--coral));color:#1b2430;}

.controls{background:#08131e;}
.ctrl-btn{font-size:15px;color:var(--bm);border-color:rgba(243,165,51,0.35);background:rgba(243,165,51,0.12);}
.ctrl-btn:hover{background:rgba(243,165,51,0.24);}
.dot.on{background:var(--bm);}
.auto-btn.playing{color:var(--bm);border-color:rgba(243,165,51,0.45);background:rgba(243,165,51,0.12);}

@media(max-width:600px) and (orientation:portrait){
  .eyebrow,.slabel{font-size:clamp(10px,3vw,14px);}
  .s1 h1,.s6 h1{font-size:clamp(30px,8vw,46px);}
  .s2 h2,.s4 h2,.s5 h2,.s7 h2,.ctxt h2{font-size:clamp(24px,6.6vw,38px);}
  .items{max-width:100%;gap:0.58em;}
  .item span{font-size:clamp(14px,4vw,19px);}
  .textures{gap:0.35em;}
  .tex-lbl{font-size:clamp(8px,2.2vw,12px);}
  .ptitle{font-size:clamp(14px,3.6vw,19px);}
  .psub{font-size:clamp(10px,2.8vw,14px);}
  .stag{font-size:clamp(17px,4.8vw,26px);}
  .cval{font-size:clamp(12px,3.3vw,17px);}
  .clabel{font-size:clamp(9px,2.6vw,13px);}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:0.01ms!important;}
}
