@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Thai:wght@400;500;600;700&family=Outfit:wght@400;500;600;700;800&display=swap');
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fbf9f4;color:#173c49;font-family:'Outfit','Noto Sans Thai',Tahoma,sans-serif}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid #df9b47;outline-offset:4px}header,main,footer{max-width:1440px;margin:auto}header{display:flex;align-items:center;justify-content:space-between;padding:24px 48px;border-bottom:1px solid #173c4915}.logo{font-size:26px;font-weight:700;letter-spacing:-1px}.logo small{font-size:10px;letter-spacing:2px;font-weight:400;text-transform:uppercase;margin-left:10px}.clock{text-align:right}#thai-time{font-size:24px;font-variant-numeric:tabular-nums;letter-spacing:1px}.clock small{display:block;font-size:10px;color:#69818a}.clock em{font-size:8px;font-style:normal;color:#91a09f;letter-spacing:1px}main{padding:0 48px}.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:60px 15px 50px;gap:30px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2px;color:#64838a;margin:0 0 18px}h1{font-size:clamp(60px,6.5vw,92px);line-height:1.03;letter-spacing:-4px;margin:0;font-weight:800}h1 span{color:#4da8c7}.script{font:italic 49px Georgia,serif;color:#db8f83;margin:16px 0 25px}.intro{font-size:14px;color:#68818a}.meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.meta span{font-size:10px;border:1px solid #cdd8d7;border-radius:30px;padding:8px 13px;letter-spacing:.4px}.hero-art{position:relative;text-align:center;isolation:isolate}.hero-art:before{content:'';position:absolute;inset:5% 4% 8%;border-radius:50%;background:#e1eeea;z-index:-1}.hero-art img{width:100%;max-width:580px;filter:drop-shadow(0 20px 15px #23505c15);transform:rotate(-3deg)}.hero-art p{font:italic 23px Georgia,serif;transform:rotate(-7deg);color:#567e79;margin:0}.hero-art b{position:absolute;right:3%;top:0;font-size:65px;color:#dfac61}.now-panel{border:1px solid #d7e6e1;background:#edf4ee;border-radius:22px;padding:22px 28px;margin-bottom:60px}.now-label{font-size:11px;color:#568272;display:flex;gap:10px;align-items:center}.live-dot{width:7px;height:7px;background:#4e9f87;border-radius:50%;box-shadow:0 0 0 4px #4e9f8715}#status-badge{margin-left:auto;background:#ffffffb3;border-radius:15px;padding:5px 11px;font-size:10px}.now-main{display:flex;gap:24px;align-items:center}.now-main>img{width:110px;height:105px;object-fit:contain}.now-main h2{font-size:22px;line-height:1.6;margin:4px 0}.now-main p{margin:4px 0;font-size:12px;color:#5d7c75}#now-day{font-size:10px;color:#447862;margin-top:14px}#now-next{font-size:11px;margin-top:10px}#now-button{margin-left:auto;border:1px solid #a5c4b8;border-radius:25px;color:#3e6f5d;padding:12px 20px;background:transparent;white-space:nowrap}#now-button:hover{background:#fff}.caption{font-size:9px;color:#7d9288;margin-bottom:0}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.section-heading h2{font-size:30px;font-weight:600;margin:0}.section-heading p:not(.eyebrow){font-size:11px;color:#839399;line-height:1.9}nav{display:flex;gap:8px;border-bottom:1px solid #173c491a;padding-bottom:20px;margin-bottom:32px}nav button{background:transparent;border:1px solid #d8dfdb;border-radius:30px;padding:10px 18px;color:#5d7a82;font-size:12px}nav small{font-size:10px;margin-left:8px;opacity:.7}nav button[aria-pressed=true]{background:#173c49;border-color:#173c49;color:white}.day-section{background:var(--tint);border-radius:24px;padding:26px 24px 20px;margin-bottom:20px}.day-section.today{box-shadow:0 0 0 2px #54a38b}.day-heading{display:flex;gap:18px;align-items:center;margin-bottom:20px}.day-number{font-size:45px;line-height:1;color:var(--accent);font-weight:700;letter-spacing:-3px}.day-heading h3{font-size:16px;margin:0 0 4px}.day-heading p{font-size:10px;margin:0;color:#70818a}.today-label{margin-left:auto;background:#fff;border-radius:20px;padding:7px 12px;font-size:10px;color:#418e73}.cards{display:grid;grid-template-columns:repeat(var(--count),minmax(0,1fr));gap:6px;position:relative}.cards:before{content:'';position:absolute;top:143px;left:5%;right:5%;height:1px;background:var(--accent);opacity:.3}.card{background:transparent;border:1px solid transparent;color:#173c49;border-radius:16px;position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding:9px 5px 17px;transition:background .2s,transform .2s,box-shadow .2s;min-width:0}.card:hover{background:#ffffffb0;transform:translateY(-5px);box-shadow:0 10px 20px #173c490a}.card time{font-size:12px;border-radius:20px;background:#ffffffbd;padding:5px 14px;color:var(--accent);font-weight:600}.card img{width:100%;max-width:160px;height:100px;object-fit:contain;margin:7px 0 8px;transition:transform .25s}.card:hover img{transform:scale(1.1)}.timeline-dot{height:7px;width:7px;background:#fff;border:1.5px solid var(--accent);border-radius:50%;margin:0 0 16px;box-shadow:0 0 0 4px var(--tint)}.card strong{font-size:11px;line-height:1.8;font-weight:500}.card small{font-size:10px;color:#6b828a;line-height:1.7;margin-top:4px}.card.current{background:#fff;border-color:#53a287;box-shadow:0 7px 20px #367e7611}.card.current .timeline-dot{background:#53a287}.activity-state{font-size:8px;color:#458d73;min-height:15px;margin-top:10px}.card.finished{opacity:.62}.packing{display:flex;align-items:center;gap:25px;border-top:1px solid #173c491a;margin-top:50px;padding:30px 10px}.packing>img{width:100px;height:120px;object-fit:contain;transform:rotate(-7deg)}.packing .eyebrow{margin-bottom:10px}.packing h2{font-size:20px;margin:0}.packing p:not(.eyebrow){font-size:12px;line-height:2;color:#799097}.packing>span{margin-left:auto;font-size:20px;color:#b58c68;transform:rotate(-6deg)}.packing i{font:italic 27px Georgia,serif}footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #173c491a;padding:25px 48px 35px}footer .logo{font-size:20px}footer p{font-size:10px;color:#839399}dialog{padding:0;border:0;border-radius:28px;width:calc(100% - 32px);max-width:450px;max-height:90dvh;overflow:auto;color:#173c49;box-shadow:0 30px 100px #07387540;background:#fffcf7}dialog[open]{animation:popup .3s ease-out}dialog::backdrop{background:#163b4966;backdrop-filter:blur(8px)}.close{position:absolute;right:16px;top:16px;z-index:2;background:#ffffffb3;border:0;border-radius:50%;width:34px;height:34px;color:#173c49;font-size:25px}.modal-art{height:225px;background:var(--tint);display:flex;align-items:center;justify-content:center;position:relative}.modal-art:before{content:'';position:absolute;width:180px;height:180px;border-radius:50%;background:#ffffff65}.modal-art img{height:200px;width:270px;object-fit:contain;position:relative;animation:float 4s ease-in-out infinite}.modal-art>span{position:absolute;top:40px;left:45px;color:#d7aa69;font-size:30px}.modal-content{padding:25px 28px 30px}.modal-content .eyebrow{font-size:10px;letter-spacing:.3px}.modal-content h2{font-size:24px;margin:0 0 10px;line-height:1.6}#activity-location{font-size:13px;color:#549181}#activity-description{font-size:13px;line-height:1.9;color:#68818a}.reminder{display:flex;align-items:center;gap:12px;background:#f4eee3;border-radius:14px;padding:12px 16px;margin:20px 0}.reminder span{font-size:24px;color:#c79572}.reminder p{font-size:11px;line-height:1.9;margin:0;color:#938068}.done{width:100%;border:0;border-radius:13px;background:#173c49;padding:14px;color:#fff;font-size:13px}[hidden]{display:none!important}@keyframes popup{from{opacity:0;transform:translateY(18px) scale(.94)}to{opacity:1;transform:none}}@keyframes float{50%{transform:translateY(-6px)}}@media(max-width:1100px){main{padding:0 28px}header,footer{padding-left:28px;padding-right:28px}.hero{padding-top:45px}.cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.cards:before{display:none}.card{background:#ffffff6b;padding:12px}.timeline-dot{display:none}.card strong{font-size:12px}.card small{font-size:11px}.card img{height:110px}}@media(max-width:650px){main{padding:0 18px}header{padding:17px 18px}.logo{font-size:22px}.logo small{display:none}#thai-time{font-size:18px}.clock small{font-size:8px}.clock em{font-size:7px}.hero{grid-template-columns:1fr;padding:35px 4px 25px;gap:5px}h1{font-size:67px}.script{font-size:36px;margin-bottom:20px}.hero .eyebrow{font-size:8px}.intro{font-size:12px}.meta{gap:6px;margin-top:18px}.meta span{font-size:9px;padding:7px 10px}.hero-art{max-width:310px;justify-self:center;width:100%;margin-top:5px}.hero-art p{font-size:20px}.hero-art b{font-size:43px}.now-panel{padding:18px;margin:25px 0 40px}.now-label{font-size:10px;flex-wrap:wrap}.now-main{gap:10px;flex-wrap:wrap;padding-top:8px}.now-main>img{width:75px;height:80px}.now-main>div{flex:1}.now-main h2{font-size:17px}.now-main p{font-size:11px}#now-day{font-size:9px}#now-button{font-size:11px;padding:10px 18px;margin-top:8px}.caption{font-size:8px;line-height:1.8;margin-top:14px}.section-heading h2{font-size:24px}.section-heading p:not(.eyebrow){font-size:9px}.section-heading .eyebrow{font-size:8px;letter-spacing:1.5px}nav{gap:6px}nav button{flex:1;padding:9px 7px;font-size:10px}nav small{display:block;margin:3px 0 0;font-size:9px}.day-section{padding:20px 14px 14px;border-radius:20px}.day-heading{gap:13px}.day-number{font-size:37px}.day-heading h3{font-size:14px}.day-heading p{font-size:9px}.today-label{font-size:9px;padding:6px 8px}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.packing{gap:12px;margin-top:30px;padding:25px 0}.packing>img{width:62px;height:95px}.packing h2{font-size:16px}.packing p:not(.eyebrow){font-size:10px}.packing .eyebrow{font-size:8px}.packing>span{display:none}footer{padding:22px 18px;gap:15px;flex-direction:column}footer p{font-size:9px;margin:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Company identity */
.company-brand{display:flex;flex-direction:column;align-items:flex-start;gap:5px;max-width:65%;line-height:1}.company-brand img{display:block;width:285px;max-width:100%;height:auto;object-fit:contain}.company-brand small{display:block;margin:0 0 0 9px;font-size:8px;letter-spacing:1.8px;color:#70818a}footer .company-brand img{width:230px}footer .company-brand small{font-size:7px}@media(max-width:650px){.company-brand{max-width:58%;gap:5px}.company-brand img{width:220px}.company-brand small{display:block;font-size:6px;letter-spacing:.7px;margin-left:5px}footer .company-brand{max-width:100%;align-items:center}footer .company-brand img{width:225px}footer .company-brand small{font-size:7px;margin:0}}
/* Readability: larger Thai text throughout the itinerary */
body{font-size:16px}.intro{font-size:17px}.eyebrow{font-size:12px}.meta span{font-size:13px}.clock small{font-size:13px}.clock em{font-size:10px}#thai-time{font-size:28px}.now-label{font-size:14px}#status-badge{font-size:12px}.now-main h2{font-size:26px}.now-main p{font-size:15px}#now-day{font-size:13px}#now-next{font-size:14px}#now-button{font-size:15px}.caption{font-size:12px}.section-heading p:not(.eyebrow){font-size:14px}nav button{font-size:15px}nav small{font-size:13px}.day-heading h3{font-size:19px}.day-heading p{font-size:13px}.today-label{font-size:13px}.cards:before{top:148px}.card time{font-size:15px}.card strong{font-size:14px;line-height:1.85}.card small{font-size:13px;line-height:1.8}.activity-state{font-size:11px;min-height:20px}.packing h2{font-size:24px}.packing p:not(.eyebrow){font-size:15px}footer p{font-size:13px}.modal-content .eyebrow{font-size:13px}.modal-content h2{font-size:28px}#activity-location{font-size:16px}#activity-description{font-size:16px}.reminder p{font-size:14px}.done{font-size:16px}
@media(max-width:650px){#thai-time{font-size:22px}.clock small{font-size:10px}.clock em{font-size:9px}.hero .eyebrow{font-size:10px}.intro{font-size:15px}.meta span{font-size:12px}.now-label{font-size:12px}#status-badge{font-size:11px}.now-main h2{font-size:21px}.now-main p{font-size:14px}#now-day{font-size:12px}#now-next{font-size:13px}#now-button{font-size:14px}.caption{font-size:11px}.section-heading h2{font-size:27px}.section-heading p:not(.eyebrow){font-size:12px}.section-heading .eyebrow{font-size:10px}nav button{font-size:12px}nav small{font-size:12px}.day-heading h3{font-size:17px}.day-heading p{font-size:12px}.today-label{font-size:11px}.card strong{font-size:15px}.card small{font-size:13px}.card time{font-size:15px}.activity-state{font-size:11px}.packing h2{font-size:20px}.packing p:not(.eyebrow){font-size:13px}.packing .eyebrow{font-size:10px}footer p{font-size:12px}.modal-content{padding:23px}.modal-content h2{font-size:25px}}
.location-photo{margin:20px 0 0;background:#edf2f2;border-radius:16px;overflow:hidden}.location-photo img{display:block;width:100%;height:auto;max-height:430px;object-fit:contain;background:#e6edf0}.location-photo figcaption{padding:11px 14px;font-size:12px;line-height:1.8;color:#64808a;text-align:center}

.restaurant-photo img{max-height:none;width:100%;height:auto}.restaurant-photo a{display:block}

/* Google Maps link in activity details */
.map-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;margin:0 0 6px;border:1px solid #549181;border-radius:13px;background:#e9f8ee;color:#173c49;font:inherit;font-size:16px;font-weight:600;text-decoration:none}.map-button:hover{background:#d5efdf}.map-button:focus-visible{outline:3px solid #173c49;outline-offset:3px}

/* First-day company uniform reminder */
.uniform-notice{display:flex;align-items:center;gap:18px;margin:0 0 22px;padding:18px;background:#fff5d9;border:2px solid #d6a443;border-radius:16px}.uniform-notice img{width:90px;height:90px;object-fit:contain;border-radius:10px;background:#fff;flex-shrink:0}.uniform-notice strong{font-size:14px;color:#79551c}.uniform-notice p{margin:5px 0;font-size:24px;font-weight:700;color:#65420c;line-height:1.5}.uniform-notice span{font-size:14px;color:#79551c}@media(max-width:650px){.uniform-notice{gap:12px;padding:14px}.uniform-notice img{width:70px;height:70px}.uniform-notice strong,.uniform-notice span{font-size:12px}.uniform-notice p{font-size:20px}}
