/* branch pages */
.phead{position:relative;background:var(--deep);color:#fff;overflow:hidden}
.phead .wrap{position:relative;z-index:1;padding-top:190px;padding-bottom:110px;display:flex;flex-direction:column;gap:26px}
.phead .ghost-word{position:absolute;right:-30px;bottom:-40px;font-family:'Kanit',sans-serif;font-weight:200;font-size:240px;line-height:1;color:rgba(169,184,245,.06);white-space:nowrap}
.phead h1,.bhero h1{font-weight:200;font-size:clamp(42px,5vw,72px);line-height:1.18;max-width:860px}
.bhero h1{font-size:clamp(32px,3.9vw,56px);max-width:900px}
.phead h1 b,.bhero h1 b{font-weight:400;color:var(--sky)}
.phead p,.bhero p{margin:0;font-size:18px;color:var(--pale);max-width:620px}
.jump{display:flex;flex-wrap:wrap;gap:12px}
.jump a{display:inline-flex;align-items:center;gap:10px;padding:12px 22px;border-radius:999px;border:1px solid rgba(255,255,255,.35);color:#fff;text-decoration:none;font-family:'Kanit',sans-serif;font-size:15px;transition:background .4s,transform .35s}
.jump a:hover{background:rgba(255,255,255,.12);transform:translateY(-2px)}
.jump a i{width:8px;height:8px;border-radius:50%;background:var(--sky)}
/* overview cards */
.ovs .wrap{padding-top:120px;padding-bottom:40px;display:flex;flex-direction:column;gap:40px}
.ov{display:flex;flex-wrap:wrap;gap:0;background:#fff;border-radius:32px;overflow:hidden;text-decoration:none;color:var(--ink);box-shadow:0 30px 60px -40px rgba(11,22,64,.35);transition:transform .6s cubic-bezier(.2,.7,.1,1),box-shadow .6s;scroll-margin-top:110px}
.ov:hover{transform:translateY(-6px);box-shadow:0 50px 80px -40px rgba(11,22,64,.45);color:var(--ink)}
.ov:nth-child(even){flex-direction:row-reverse}
.ov-im{display:block;flex:1.1 1 460px;min-width:0;min-height:420px;position:relative;overflow:hidden}
.ov-im img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transform:translateZ(0);backface-visibility:hidden;transition:transform 1.6s cubic-bezier(.2,.7,.1,1)}
.ov:hover .ov-im img{transform:scale(1.04) translateZ(0)}
.ov-tx{flex:1 1 400px;min-width:0;padding:56px 56px;display:flex;flex-direction:column;gap:18px;justify-content:center}
.ov-tx small{font-family:'Kanit',sans-serif;font-size:13px;color:var(--grey)}
.ov-tx h2{font-weight:300;font-size:clamp(32px,3.4vw,46px);color:var(--navy);line-height:1.2}
.ov-tx p{margin:0;color:var(--muted);font-size:16px}
.ov-tx ul{margin:6px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px;font-size:15px;color:var(--ink)}
.ov-tx li{padding-left:18px;position:relative}
.ov-tx li::before{content:'';position:absolute;left:0;top:.75em;width:8px;height:1px;background:var(--blue)}
.ov-tx li b{font-weight:500;color:var(--navy)}
.ov-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px}
.ov-actions .pill{padding:13px 24px;min-height:48px;font-size:15px}
.pill.navy{background:var(--navy);color:#fff}
.pill.outline{border:1px solid var(--navy);color:var(--navy)}
/* branch hero */
.bhero{position:relative;min-height:88vh;background:var(--deep);color:#fff;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end}
.bhero-media{position:absolute;inset:0}
.bhero-media img{width:100%;height:100%;object-fit:cover;display:block;animation:kenburns 16s ease-out both}
.bhero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,22,64,.45) 0%,rgba(11,22,64,.25) 30%,rgba(11,22,64,.95) 100%)}
@media (max-width:860px){.bhero-shade{background:linear-gradient(180deg,rgba(11,22,64,.55) 0%,rgba(11,22,64,.75) 30%,rgba(11,22,64,.97) 100%)}}
.bhero-body{position:relative;z-index:1;padding-top:200px;padding-bottom:80px;display:flex;flex-direction:column;gap:22px}
.crumb{color:var(--pale);text-decoration:none;font-family:'Kanit',sans-serif;font-size:14px}
.crumb:hover{color:#fff}
.facts-band{background:#fff;border-bottom:1px solid var(--line)}
.facts-band .wrap{padding-top:40px;padding-bottom:40px}
.fgrid4{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:28px 40px}
.fgrid4 div{display:flex;flex-direction:column;gap:4px}
.fgrid4 small{font-size:13px;color:var(--grey)}
.fgrid4 span{font-size:15px;color:var(--ink)}
.sec-head{display:flex;flex-direction:column;gap:18px;max-width:760px}
.sec-head p{margin:0;color:var(--muted)}
.rooms-sec .wrap,.common-sec .wrap,.others .wrap{padding-top:120px;padding-bottom:120px;display:flex;flex-direction:column;gap:48px}
.common-sec{background:#fff}
.rooms{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:32px 28px}
.room{margin:0;display:flex;flex-direction:column;gap:14px}
.room .im,.cm .im{position:relative;display:block;aspect-ratio:4/3;border-radius:24px;overflow:hidden;background:#E9E5E4;cursor:zoom-in}
.room .im img,.cm .im img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transform:translateZ(0);backface-visibility:hidden;transition:transform 1.2s cubic-bezier(.2,.7,.1,1),opacity .8s}
.room .im img.alt{opacity:0}
.room:hover .im img{transform:scale(1.05) translateZ(0)}
.room:hover .im img.alt{opacity:1}
.room .zoom{position:absolute;right:14px;bottom:14px;background:rgba(255,255,255,.9);color:var(--navy);font-family:'Kanit',sans-serif;font-size:13px;padding:7px 14px;border-radius:999px;opacity:0;transform:translateY(6px);transition:opacity .4s,transform .4s}
.room:hover .zoom{opacity:1;transform:none}
.room figcaption{display:flex;flex-direction:column;gap:4px}
.room figcaption b{font-family:'Kanit',sans-serif;font-weight:300;font-size:22px;color:var(--navy)}
.room figcaption span{font-size:15px;color:var(--muted)}
.room figcaption a{font-family:'Kanit',sans-serif;font-size:15px;color:var(--blue);align-self:flex-start;margin-top:4px}
.common-strip{display:flex;gap:18px;overflow-x:auto;padding-bottom:12px;scroll-snap-type:x mandatory;scrollbar-width:thin}
.cm{margin:0;flex:0 0 300px;scroll-snap-align:start;display:flex;flex-direction:column;gap:10px}
.cm .im{aspect-ratio:1/1;border-radius:20px}
.cm:hover .im img{transform:scale(1.05) translateZ(0)}
.cm figcaption{font-size:14px;color:var(--muted)}
/* pricing */
.pricing{background:var(--navy);color:#fff}
.pricing .wrap{padding-top:130px;padding-bottom:130px;display:flex;flex-direction:column;gap:56px}
.phd{display:flex;flex-direction:column;gap:22px}
.pricing h2{font-weight:200;font-size:clamp(34px,4vw,56px);line-height:1.22;max-width:800px}
.pricing h2 b{font-weight:400;color:var(--sky)}
.pricing .lead{margin:0;color:var(--pale);max-width:640px}
.pcols{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:32px;align-items:start}
.pcol{background:rgba(255,255,255,.05);border:1px solid rgba(169,184,245,.22);border-radius:28px;padding:36px 36px 40px;display:flex;flex-direction:column;gap:24px}
.pcol.ex{background:#fff;color:var(--ink);border-color:#fff}
.pc-h{display:flex;flex-direction:column;gap:10px}
.pc-badge{align-self:flex-start;font-family:'Kanit',sans-serif;font-size:13px;padding:6px 14px;border-radius:999px;letter-spacing:0}
.pc-badge.in{background:rgba(169,184,245,.18);color:var(--sky)}
.pc-badge.ex{background:#FFF1D6;color:#9A5B00}
.pcol h3{font-weight:300;font-size:26px;line-height:1.25}
.pcol.ex h3{color:var(--navy)}
.pc-h p{margin:0;font-size:15px;color:var(--pale)}
.pcol.ex .pc-h p{color:var(--muted)}
.pcol ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column}
.pcol li{display:flex;gap:14px;align-items:flex-start;padding:12px 0;border-bottom:1px solid rgba(169,184,245,.14);font-size:16px;color:var(--pale)}
.pcol.ex li{border-color:var(--line);color:var(--ink)}
.pcol li:last-child{border-bottom:0}
.pcol li i.ok{flex:0 0 18px;width:18px;height:18px;margin-top:5px;border-radius:50%;background:var(--sky);position:relative}
.pcol li i.ok::after{content:'';position:absolute;left:6px;top:3px;width:4px;height:8px;border:solid var(--navy);border-width:0 2px 2px 0;transform:rotate(45deg)}
.pcol li i.plus{flex:0 0 22px;width:22px;height:22px;margin-top:3px;border-radius:50%;background:#FFF1D6;color:#9A5B00;font-style:normal;font-family:'Kanit',sans-serif;font-weight:500;font-size:15px;display:flex;align-items:center;justify-content:center}
.pcol.ex li b{font-weight:400;color:var(--navy)}
.pcol.ex li small{display:block;font-size:13px;color:var(--muted)}
.note{font-size:14px;color:var(--muted)}
.pcol:not(.ex) .note{color:var(--sky)}
.pricing + .cta{padding-top:96px}
@media (max-width:860px){.pricing + .cta{padding-top:56px}}
/* other branches */
.ogrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:28px}
.ob{position:relative;display:block;aspect-ratio:16/10;border-radius:28px;overflow:hidden;text-decoration:none;color:#fff;background:var(--navy)}
.ob img{width:100%;height:100%;object-fit:cover;display:block;transform:translateZ(0);transition:transform 1.4s cubic-bezier(.2,.7,.1,1)}
.ob:hover img{transform:scale(1.05) translateZ(0)}
.ob span{position:absolute;left:0;right:0;bottom:0;padding:70px 28px 28px;background:linear-gradient(180deg,rgba(11,22,64,0),rgba(11,22,64,.9));display:flex;flex-direction:column;gap:4px}
.ob small{font-family:'Kanit',sans-serif;font-size:12px;color:var(--sky)}
.ob b{font-family:'Kanit',sans-serif;font-weight:300;font-size:28px}
.ob em{font-style:normal;font-size:14px;color:var(--pale)}
/* lightbox */
.lb{position:fixed;inset:0;z-index:50;background:rgba(11,22,64,.94);display:flex;align-items:center;justify-content:center;padding:24px;animation:fade .3s ease both}
.lb[hidden]{display:none}
.lb figure{margin:0;max-width:min(1400px,100%);max-height:100%;display:flex;flex-direction:column;align-items:center;gap:14px}
.lb img{max-width:100%;max-height:82vh;border-radius:16px;box-shadow:0 40px 80px -30px rgba(0,0,0,.8)}
.lb figcaption{color:var(--pale);font-family:'Kanit',sans-serif;font-size:15px;text-align:center}
.lb button{position:absolute;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.3);color:#fff;width:48px;height:48px;border-radius:50%;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .3s}
.lb button:hover{background:rgba(255,255,255,.25)}
.lb-x{top:20px;right:20px;font-size:26px}.lb-p{left:20px;top:50%;transform:translateY(-50%)}.lb-n{right:20px;top:50%;transform:translateY(-50%)}
@media (max-width:860px){
.phead .wrap{padding-top:150px;padding-bottom:80px}.phead .ghost-word{display:none}
.ovs .wrap{padding-top:80px}.ov,.ov:nth-child(even){flex-direction:column}.ov-im{min-height:260px;flex-basis:auto}.ov-tx{padding:32px 24px 36px}
.bhero{min-height:auto}.bhero-body{padding-top:150px;padding-bottom:56px}
.rooms-sec .wrap,.common-sec .wrap,.others .wrap{padding-top:80px;padding-bottom:80px}
.pricing .wrap{padding-top:90px;padding-bottom:90px}.pcol{padding:28px 22px 32px}
.lb button{width:40px;height:40px}.lb-p{left:8px}.lb-n{right:8px}
}
