/* Premium shared footer — independent from legacy .footer styles. */
.pfooter{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(155deg,#06152c 0%,#061b38 51%,#07182e 100%);color:#d8e4f3;border-top:1px solid rgba(103,160,220,.15);font-size:.9rem;line-height:1.7}
.pfooter::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,transparent 4%,#0dbce9 28%,#257cff 53%,#f5b83a 84%,transparent);opacity:.92}
.pfooter-glow{z-index:-1;pointer-events:none;position:absolute;right:-16vw;top:4rem;width:55vw;height:42vw;background:radial-gradient(ellipse,rgba(23,106,216,.17),transparent 70%);filter:blur(24px)}
.pfooter-container{position:relative;padding-top:38px}
.pfooter a{color:inherit;text-decoration:none;transition:color .2s ease,background-color .2s ease,border-color .2s ease,transform .2s ease}
.pfooter a:focus-visible{outline:3px solid #37d7ff;outline-offset:4px}
.pfooter-cta{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.64fr);align-items:center;gap:28px;padding:30px clamp(22px,3vw,42px);border:1px solid rgba(109,170,236,.28);border-radius:24px;background:radial-gradient(ellipse at 90% 20%,rgba(43,126,255,.23),transparent 47%),linear-gradient(112deg,#0b315e 0%,#102b53 58%,#081e3b 100%);box-shadow:0 18px 50px rgba(1,8,24,.27),inset 0 1px 0 rgba(255,255,255,.08)}
.pfooter-eyebrow{display:inline-flex;align-items:center;gap:8px;color:#abd8ff;font:700 .67rem/1.5 Prompt,sans-serif;letter-spacing:.11em}
.pfooter-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#eac051;box-shadow:0 0 0 4px rgba(234,192,81,.12)}
.pfooter-cta h2{color:white;font-size:clamp(1.4rem,2.7vw,2.3rem);font-weight:800;margin:10px 0 7px;letter-spacing:-.035em}
.pfooter-cta h2>span:first-child{color:#ffcd58}.pfooter-cta-mark{color:#5bddf5;font-size:.8em}
.pfooter-cta p{color:#bcd1e8;max-width:560px;font-size:.83rem;line-height:1.8;margin:0}
.pfooter-cta-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:stretch}
.pfooter-action{display:flex;align-items:center;gap:10px;min-width:0;min-height:79px;padding:12px 13px;border-radius:14px;border:1px solid transparent}
.pfooter-action:hover{transform:translateY(-3px)}
.pfooter-action-icon{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:9px;background:rgba(255,255,255,.18)}
.pfooter-action-icon svg{width:20px;height:20px}
.pfooter-action-copy{display:grid;gap:0;min-width:0}.pfooter-action strong{font-family:Prompt,sans-serif;font-size:.82rem;line-height:1.45;white-space:nowrap}.pfooter-action small{display:block;font-size:.7rem;font-weight:500;line-height:1.5;overflow-wrap:anywhere;opacity:.87}
.pfooter-action-arrow{margin-left:auto;align-self:flex-start;font-size:1rem;opacity:.75}
.pfooter-action-line{color:#fff;background:linear-gradient(120deg,#078c61,#09a874);border-color:rgba(119,250,193,.3);box-shadow:0 8px 25px rgba(0,92,64,.2)}
.pfooter-action-line:hover{color:#fff;background:linear-gradient(120deg,#089e6c,#0ab680)}
.pfooter-action-call{color:#082349;background:linear-gradient(120deg,#ffe292,#ffd05c);border-color:rgba(255,237,182,.4);box-shadow:0 8px 25px rgba(255,191,52,.12)}
.pfooter-action-call:hover{color:#082349;background:linear-gradient(120deg,#ffebaa,#ffdb79)}
.pfooter-action-call .pfooter-action-icon{background:rgba(13,46,82,.09)}
.pfooter-body{display:grid;grid-template-columns:minmax(230px,1.33fr) minmax(160px,.92fr) minmax(170px,.94fr) minmax(205px,1.08fr);gap:clamp(20px,3vw,40px);padding:43px 0 34px}
.pfooter-brand{display:flex;gap:12px;align-items:center;margin:0 0 15px}.pfooter-logo{width:78px;height:72px;border-radius:15px;flex:0 0 78px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(54,113,205,.2),rgba(9,27,56,.4));border:1px solid rgba(102,174,240,.16)}
.pfooter-logo img{display:block;width:73px;height:65px;object-fit:contain;filter:drop-shadow(0 5px 9px rgba(0,0,0,.25))}
.pfooter-brand-label{min-width:0;display:grid;gap:2px}.pfooter-brand-label strong{font:800 clamp(.93rem,1.25vw,1.09rem)/1.4 Prompt,sans-serif;color:#fff;letter-spacing:-.03em;overflow-wrap:anywhere}.pfooter-brand-label small{color:#67a9f6;font-size:.58rem;font-weight:700;letter-spacing:.09em}
.pfooter-brand-col>p{font-size:.81rem;color:#aebfd5;max-width:330px;margin:0 0 14px}.pfooter-brand-col>p strong{color:#e7f0ff}
.pfooter-brand-tag{display:inline-flex;align-items:center;gap:7px;max-width:100%;font-size:.72rem;color:#f0d38b;background:rgba(239,185,72,.08);border:1px solid rgba(239,185,72,.2);border-radius:100px;padding:6px 10px}
.pfooter-brand-tag span{font-size:1rem}
.pfooter h3{display:flex;align-items:center;gap:9px;margin:4px 0 15px;color:#fff;font:700 .91rem/1.4 Prompt,sans-serif;letter-spacing:-.015em}
.pfooter-head-rule{width:4px;height:17px;background:linear-gradient(#67cafd,#2e78fa);border-radius:5px;display:inline-block}
.pfooter-nav ul{list-style:none;padding:0;margin:0;display:grid;gap:9px}.pfooter-nav a{display:inline-flex;align-items:center;gap:6px;color:#aec3db;font-size:.79rem;line-height:1.55}.pfooter-nav a span{color:#3773af;transition:transform .2s ease}.pfooter-nav a:hover{color:#ffdd86}.pfooter-nav a:hover span{transform:translate(2px,-2px);color:#ffdd86}
.pfooter-contact-box{padding:17px 17px 14px;background:linear-gradient(145deg,rgba(40,86,149,.23),rgba(14,45,91,.29));border:1px solid rgba(106,165,228,.23);border-radius:18px;box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
.pfooter-contact-row{display:flex;gap:10px;align-items:center;padding-bottom:13px;margin-bottom:13px;border-bottom:1px solid rgba(173,210,249,.11)}
.pfooter-contact-symbol{display:grid;place-items:center;width:33px;height:33px;flex:0 0 33px;border-radius:10px;background:rgba(79,146,255,.18);color:#91c8ff;font-size:1.05rem}
.pfooter-contact-symbol-line{background:rgba(25,175,131,.14);color:#6bdfae}.pfooter-contact-row div{min-width:0;display:grid;gap:0}.pfooter-contact-row small{color:#76a4cf;letter-spacing:.08em;font-size:.62rem;font-weight:700}.pfooter-contact-row a{font:700 .88rem Prompt,sans-serif;color:#f3f8ff;overflow-wrap:anywhere}.pfooter-contact-row a:hover{color:#ffdc75}
.pfooter-estimate-link{display:flex;justify-content:space-between;gap:10px;align-items:center;background:rgba(45,128,240,.18);border:1px solid rgba(86,161,255,.24);border-radius:9px;color:#b9e0ff!important;font-weight:700;font-size:.75rem;padding:9px 10px}.pfooter-estimate-link:hover{background:rgba(45,128,240,.3)}
.pfooter-contact-box p{margin:10px 0 0;font-size:.7rem;line-height:1.7;color:#9fb4ce}.pfooter-contact-box p strong{font-weight:700;color:#dbeaff}
.pfooter-coverage{display:grid;grid-template-columns:240px minmax(0,1fr);column-gap:24px;row-gap:10px;align-items:center;padding:22px 24px;border:1px solid rgba(119,157,209,.19);border-radius:16px;background:linear-gradient(110deg,rgba(12,42,82,.67),rgba(9,32,61,.35))}
.pfooter-coverage-title{display:flex;align-items:center;gap:11px}.pfooter-pin{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:12px;background:rgba(63,127,218,.17);color:#ffd66d;font-size:1.8rem}
.pfooter-coverage-title strong{display:block;color:#edf5ff;font:700 .87rem Prompt,sans-serif;line-height:1.45}.pfooter-coverage-title small{display:block;color:#86a2c2;font-size:.7rem;line-height:1.5}
.pfooter-districts{display:flex;flex-wrap:wrap;gap:7px}.pfooter-districts span{color:#bcd3ec;background:rgba(95,151,226,.1);border:1px solid rgba(120,175,244,.16);border-radius:99px;padding:4px 10px;font-size:.71rem;line-height:1.7;white-space:nowrap}
.pfooter-coverage-note{grid-column:2;color:#83a0c2;font-size:.67rem;line-height:1.4}
.pfooter-utilities{display:flex;gap:14px 20px;flex-wrap:wrap;align-items:center;padding:20px 0;border-bottom:1px solid rgba(166,199,232,.13);font-size:.72rem;color:#9cb5d0}.pfooter-utilities>span{display:inline-flex;align-items:center;gap:6px}.pfooter-mini-icon{display:grid;place-items:center;flex:0 0 20px;height:20px;background:rgba(34,191,135,.14);border:1px solid rgba(34,191,135,.24);border-radius:50%;color:#57dcaf;font-weight:900}
.pfooter-utility-links{display:flex;gap:14px;margin-left:auto}.pfooter-utility-links a{color:#99c9ff;font-size:.72rem;font-weight:700}.pfooter-utility-links a:hover{color:#ffe187}
.pfooter-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0 26px}.pfooter-copyright{display:grid;gap:2px}.pfooter-copyright>span{color:#d9e7f5;font-size:.75rem;font-weight:700}.pfooter-copyright small{color:#7894b0;font-size:.68rem}
.pfooter-credits{display:flex;align-items:center;flex-wrap:wrap;gap:7px 16px;color:#7f9cb9;font-size:.72rem}.pfooter-credits>span{white-space:nowrap}.pfooter-credits a{color:#ffd56c;font-weight:750}.pfooter-credits a:hover{color:#fff}
@media(max-width:1130px){.pfooter-cta{grid-template-columns:1fr}.pfooter-cta-buttons{max-width:590px}.pfooter-body{grid-template-columns:minmax(0,1.3fr) repeat(2,minmax(0,.9fr));gap:25px 30px}.pfooter-contact{grid-column:1/-1}.pfooter-contact-box{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.pfooter-contact-box .pfooter-estimate-link,.pfooter-contact-box p{grid-column:1/-1}.pfooter-coverage{grid-template-columns:1fr}.pfooter-coverage-note{grid-column:1}}
@media(max-width:760px){.pfooter-container{padding-top:22px}.pfooter-cta{padding:26px 22px;border-radius:19px;gap:21px}.pfooter-cta-buttons{max-width:none}.pfooter-body{grid-template-columns:repeat(2,minmax(0,1fr));padding:32px 0 24px}.pfooter-brand-col{grid-column:1/-1}.pfooter-brand-col>p{max-width:610px}.pfooter-contact{grid-column:1/-1}.pfooter-contact-box{display:block}.pfooter-coverage{padding:19px}.pfooter-bottom{align-items:flex-start;flex-direction:column;gap:10px}.pfooter-utility-links{margin-left:0}}
@media(max-width:480px){.pfooter-eyebrow{font-size:.59rem;letter-spacing:.055em}.pfooter-cta h2{font-size:1.55rem}.pfooter-cta p{font-size:.77rem}.pfooter-cta-buttons{grid-template-columns:1fr}.pfooter-action{min-height:65px}.pfooter-action-copy strong{font-size:.88rem}.pfooter-body{gap:26px 15px}.pfooter-nav a{font-size:.76rem}.pfooter h3{font-size:.84rem}.pfooter-logo{width:67px;height:67px;flex-basis:67px}.pfooter-logo img{width:60px;height:60px}.pfooter-coverage-title strong{font-size:.81rem}.pfooter-districts{gap:6px}.pfooter-districts span{font-size:.69rem}.pfooter-utilities{gap:10px 14px}.pfooter-credits{gap:5px 11px;font-size:.67rem}.pfooter-bottom{padding-bottom:28px}}
@media(prefers-reduced-motion:reduce){.pfooter a{transition:none}.pfooter-action:hover{transform:none}}
/* Keep the gold telephone CTA legible: this selector outranks the generic footer anchor rule. */
.pfooter a.pfooter-action-call,.pfooter a.pfooter-action-call:hover{color:#082349}
/* A persistent LINE pill is unnecessary once the full-width footer contact actions are visible. */
.float-cta.is-footer-visible{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px)}

/* Partner keyword links — premium, compact and responsive. Display only validated/active destinations. */
.pfooter-partners{margin-top:23px;padding:25px clamp(18px,3vw,28px) 29px;border:1px solid rgba(107,159,221,.23);border-radius:19px;background:radial-gradient(ellipse at 95% 0%,rgba(31,104,217,.13),transparent 48%),linear-gradient(130deg,rgba(9,38,80,.84),rgba(5,22,46,.88));box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.pfooter-partners-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:19px}.pfooter-partners-heading>div{min-width:0}
.pfooter-partners .pfooter-eyebrow{font-size:.6rem;letter-spacing:.095em;color:#7ccaf7}
.pfooter-partners h2{font:800 clamp(1.03rem,1.65vw,1.42rem)/1.45 Prompt,sans-serif;margin:7px 0 5px;color:#f4f9ff;letter-spacing:-.03em}.pfooter-partners h2 span{color:#f3cc68}
.pfooter-partners p{font-size:.74rem;color:#a6c0d9;margin:0;line-height:1.85;max-width:790px}
.pfooter-partners-count{display:grid;justify-items:end;align-content:center;flex:0 0 auto;color:#ffdb83;font:800 1.22rem/1.25 Prompt,sans-serif;padding:9px 14px;border-radius:12px;border:1px solid rgba(238,198,109,.23);background:rgba(239,184,67,.06);white-space:nowrap}.pfooter-partners-count small{font:.63rem/1.5 'Noto Sans Thai',sans-serif;color:#9eb8d2}
.pfooter-partners-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}
.pfooter a.pfooter-partner-chip{min-height:44px;min-width:0;display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:11px;border:1px solid rgba(94,150,213,.2);background:rgba(42,92,153,.15);color:#c6dcf2;text-decoration:none;line-height:1.45;font-size:.74rem}
.pfooter-partner-chip strong{font-weight:650;min-width:0;overflow-wrap:anywhere}.pfooter-partner-dot{flex:0 0 5px;width:5px;height:5px;background:#5ed3f0;border-radius:50%;opacity:.9}.pfooter-partner-arrow{margin-left:auto;color:#f4ce77;font-size:.87rem;flex:0 0 auto}
.pfooter a.pfooter-partner-chip:hover{color:#fff;background:rgba(35,112,210,.28);border-color:rgba(122,201,249,.5);transform:translateY(-2px)}
@media(max-width:1100px){.pfooter-partners-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:790px){.pfooter-partners-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pfooter-partners-heading{align-items:flex-start}}
@media(max-width:560px){.pfooter-partners{padding:21px 15px 23px}.pfooter-partners-heading{gap:10px}.pfooter-partners-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.pfooter a.pfooter-partner-chip{font-size:.7rem;min-height:42px;padding:8px 9px}.pfooter-partners-count{font-size:.88rem;padding:6px 9px}.pfooter-partners-count small{font-size:.55rem}}
@media(max-width:340px){.pfooter-partners-heading{flex-direction:column}.pfooter-partners-count{justify-items:start}}
