/* GRANDTHAI branch page prototype v1 — page-specific styles only. */
.branch-hero{position:relative;min-height:100svh;padding:92px 0 24px;display:flex;align-items:center;overflow:hidden;background:var(--green)}
.branch-hero__bg{position:absolute;inset:0;background:linear-gradient(120deg,rgba(20,55,36,.88),rgba(20,55,36,.78)),url('../images/hero-bg.webp') center/cover no-repeat;filter:saturate(.82)}
.branch-hero__grid{position:relative;display:grid;grid-template-columns:minmax(0,1.14fr) minmax(420px,.86fr);gap:20px;min-height:clamp(530px,calc(100svh - 116px),640px)}
.branch-hero__card,.branch-hero__gallery{border-radius:var(--radius-large);overflow:hidden;box-shadow:var(--shadow-strong)}
.branch-hero__card{position:relative;padding:31px 40px;background:var(--cream);display:flex;flex-direction:column;justify-content:center}
.branch-breadcrumbs{margin:0 0 20px;color:rgba(40,78,55,.55);font-size:12px;font-weight:750}
.branch-breadcrumbs ol{display:flex;flex-wrap:wrap;gap:7px;list-style:none;margin:0;padding:0}
.branch-breadcrumbs li{display:flex;gap:7px;align-items:center}.branch-breadcrumbs li:not(:last-child)::after{content:"-";opacity:.5}
.branch-hero__kicker{margin:0 0 7px;color:var(--burgundy);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.09em}
.branch-hero h1{max-width:820px;margin:0 0 12px;color:var(--green);font-size:clamp(35px,4.2vw,58px);line-height:1.03;letter-spacing:-.045em;font-weight:900}
.branch-hero__lead{max-width:760px;margin:0 0 14px;color:#45624e;font-size:clamp(14px,1.2vw,17px);font-weight:650}
.branch-hero__rating{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-bottom:15px}
.branch-hero__rating a{display:inline-flex;align-items:center;gap:8px;padding:8px 11px;border-radius:999px;background:var(--cream-light);color:var(--green);font-size:11px;font-weight:900}
.branch-hero__rating .stars{color:var(--burgundy);letter-spacing:.08em}.branch-hero__rating small{color:var(--muted);font-weight:800}
.branch-hero__facts{display:grid;grid-template-columns:1.35fr .85fr;gap:9px;margin-bottom:15px}
.branch-hero__fact{display:flex;align-items:flex-start;gap:10px;padding:11px 12px;border:1px solid rgba(40,78,55,.12);border-radius:16px;background:rgba(248,233,196,.48)}
.branch-hero__fact svg{width:21px;height:21px;flex:0 0 auto;color:var(--burgundy)}
.branch-hero__fact small,.branch-hero__fact strong{display:block}.branch-hero__fact small{color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.06em;font-weight:900}.branch-hero__fact strong{font-size:12px;line-height:1.35}
.branch-hero__offer{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 16px;padding:13px 15px;border-radius:18px;background:var(--green);color:var(--cream)}
.branch-hero__offer span,.branch-hero__offer strong{display:block}.branch-hero__offer span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;opacity:.76}.branch-hero__offer strong{font-size:20px;line-height:1.1}.branch-hero__offer b{font-size:28px;color:var(--cream);white-space:nowrap}
.branch-hero__gallery{position:relative;display:grid;grid-template-rows:1fr 160px;gap:8px;padding:8px;background:var(--green-dark)}
.branch-hero__main,.branch-hero__thumb{position:relative;margin:0;border-radius:24px;overflow:hidden}
.branch-hero__main img,.branch-hero__thumb img{width:100%;height:100%;object-fit:cover}.branch-hero__main img{object-position:center}
.branch-hero__thumbs{display:grid;grid-template-columns:1fr 1fr;gap:8px}.branch-hero__thumb{border-radius:18px}
.branch-hero__badge{position:absolute;left:18px;bottom:178px;padding:11px 13px;border-radius:16px;background:rgba(40,78,55,.94);color:var(--cream);box-shadow:0 15px 40px rgba(0,0,0,.25)}
.branch-hero__badge strong,.branch-hero__badge span{display:block}.branch-hero__badge strong{font-size:13px}.branch-hero__badge span{font-size:9px;opacity:.74}
.branch-hero__gallery-button{position:absolute;right:18px;bottom:178px;min-height:38px;padding:0 13px;border:0;border-radius:999px;background:var(--cream);color:var(--green);font-size:10px;font-weight:900;cursor:pointer}
.branch-proof{background:var(--green-dark);color:var(--cream)}
.branch-proof__grid{display:grid;grid-template-columns:repeat(4,1fr)}.branch-proof__item{min-height:104px;padding:20px 24px;display:flex;align-items:center;gap:13px;border-right:1px solid rgba(243,220,172,.13)}.branch-proof__item:last-child{border-right:0}.branch-proof__item img{width:38px;height:38px;object-fit:contain}.branch-proof__item strong,.branch-proof__item small{display:block}.branch-proof__item strong{font-size:13px}.branch-proof__item small{font-size:11px;opacity:.72}
.branch-anchor-wrap{position:sticky;top:84px;z-index:50;padding:10px 0;background:rgba(248,233,196,.94);backdrop-filter:blur(10px);border-bottom:1px solid rgba(40,78,55,.1)}
.branch-anchors{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none}.branch-anchors::-webkit-scrollbar{display:none}.branch-anchors a{flex:0 0 auto;padding:9px 12px;border:1px solid var(--line);border-radius:999px;background:var(--cream-light);color:var(--green);font-size:11px;font-weight:900}.branch-anchors a:hover{background:var(--burgundy);border-color:var(--burgundy);color:var(--cream)}
.branch-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:31px}.branch-head>div{max-width:820px}.branch-head h2{margin-bottom:11px}.branch-head p{margin:0;color:var(--muted)}
.branch-service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.branch-service-grid .program-card__content{padding:17px}.branch-service-grid .program-card__price{display:block;margin:10px 0 8px;color:var(--burgundy)}
.branch-picker{position:relative;overflow:hidden;background:var(--green-dark);color:var(--cream)}.branch-picker::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,rgba(24,60,40,.9),rgba(40,78,55,.8)),url('../images/first-visit-pattern.webp') center/cover no-repeat;opacity:.95}.branch-picker__box{position:relative;display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:center}.branch-picker h2{margin:0 0 12px;color:var(--cream);font-size:clamp(34px,4.1vw,54px);line-height:1.04}.branch-picker p{margin:0;color:rgba(243,220,172,.78)}.branch-picker__choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}.branch-picker__choices button{min-height:74px;padding:14px 16px;border:1px solid rgba(243,220,172,.2);border-radius:18px;background:rgba(248,233,196,.08);color:var(--cream);text-align:left;font-weight:900;cursor:pointer;transition:.2s ease}.branch-picker__choices button span{display:block;margin-top:2px;font-size:10px;opacity:.7;font-weight:700}.branch-picker__choices button:hover{transform:translateY(-3px);background:var(--cream);color:var(--green)}
.branch-master-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.branch-master-grid .master-card{background:var(--cream-pale)}
.branch-gallery{display:grid;grid-template-columns:1.35fr .65fr .65fr;grid-template-rows:270px 230px;gap:10px}.branch-gallery button{position:relative;padding:0;border:0;border-radius:22px;overflow:hidden;background:var(--cream-light);cursor:pointer}.branch-gallery button:first-child{grid-row:1/3}.branch-gallery button:nth-child(4){grid-column:2/4}.branch-gallery img{width:100%;height:100%;object-fit:cover;transition:.35s ease}.branch-gallery button:hover img{transform:scale(1.035)}.branch-gallery span{position:absolute;left:12px;bottom:12px;padding:7px 10px;border-radius:999px;background:rgba(40,78,55,.9);color:var(--cream);font-size:9px;font-weight:900}
.branch-visit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.branch-visit-step{position:relative;padding:22px;border:1px solid var(--line);border-radius:21px;background:var(--cream-pale)}.branch-visit-step b{display:block;margin-bottom:26px;color:rgba(127,42,33,.38);font-size:30px}.branch-visit-step h3{margin:0 0 6px;font-size:17px}.branch-visit-step p{margin:0;color:var(--muted);font-size:12px}.branch-visit-step:not(:last-child)::after{content:"";position:absolute;right:-8px;top:50%;width:16px;height:1px;background:rgba(127,42,33,.35)}
.branch-promo{padding:76px 0;background:var(--cream)}.branch-promo__box{display:grid;grid-template-columns:1fr .72fr;overflow:hidden;border-radius:30px;background:var(--green);color:var(--cream)}.branch-promo__content{padding:45px}.branch-promo h2{margin:0 0 13px;color:var(--cream);font-size:clamp(36px,4.4vw,58px);line-height:1.02}.branch-promo p{max-width:650px;color:rgba(243,220,172,.8)}.branch-promo ul{display:grid;gap:7px;margin:18px 0 23px;padding:0;list-style:none}.branch-promo li{position:relative;padding-left:19px;font-size:13px}.branch-promo li::before{content:"";position:absolute;left:0;top:.58em;width:7px;height:7px;border-radius:50%;background:var(--cream)}.branch-promo figure{margin:0;min-height:400px}.branch-promo img{width:100%;height:100%;object-fit:cover}
.branch-reviews__summary{display:grid;grid-template-columns:230px 1fr;gap:20px;margin-bottom:24px}.branch-rating-card{padding:26px;border-radius:24px;background:var(--green);color:var(--cream);text-align:center}.branch-rating-card strong{display:block;font-size:58px;line-height:1}.branch-rating-card span{display:block;margin:8px 0 2px;color:var(--cream);letter-spacing:.12em}.branch-rating-card small{opacity:.75;font-size:11px}.branch-review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.branch-review{display:flex;flex-direction:column;padding:21px;border:1px solid var(--line);border-radius:21px;background:var(--cream-pale)}.branch-review__top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px}.branch-review__top span{color:var(--burgundy);letter-spacing:.08em}.branch-review__top b{font-size:10px;color:var(--muted)}.branch-review p{margin:0 0 18px;color:var(--muted);font-size:13px}.branch-review footer{margin-top:auto;display:flex;align-items:center;gap:10px}.branch-review footer i{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--green);color:var(--cream);font-style:normal;font-weight:900}.branch-review footer strong,.branch-review footer small{display:block}.branch-review footer small{font-size:9px;color:var(--muted)}
.branch-route__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}.branch-map-card{position:relative;margin:0;border:1px solid var(--line);border-radius:26px;overflow:hidden;background:var(--cream-pale)}.branch-map-card img{width:100%;height:100%;min-height:500px;object-fit:cover}.branch-map-card figcaption{position:absolute;left:16px;right:16px;bottom:16px;padding:13px 15px;border-radius:16px;background:rgba(40,78,55,.94);color:var(--cream);font-size:11px}.branch-route__info{display:grid;gap:10px}.branch-route__card{padding:20px;border:1px solid var(--line);border-radius:20px;background:var(--cream-pale)}.branch-route__card h3{margin:0 0 8px;font-size:18px}.branch-route__card p{margin:0;color:var(--muted);font-size:13px}.branch-route__facts{display:grid;grid-template-columns:1fr 1fr;gap:8px}.branch-route__fact{padding:15px;border-radius:17px;background:var(--cream-light)}.branch-route__fact small,.branch-route__fact strong{display:block}.branch-route__fact small{font-size:9px;color:var(--muted);text-transform:uppercase;font-weight:900}.branch-route__fact strong{font-size:12px}
.branch-route__cta{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.branch-route__cta .btn{min-height:56px;padding:0 24px;font-size:15px}.branch-route__cta .btn-primary{min-width:230px}.branch-route__cta .btn-outline{min-width:158px}
.branch-shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.branch-shop-grid .shop-card{background:var(--cream-pale)}.branch-shop-grid .shop-card>img{aspect-ratio:1.45/1;object-fit:contain;object-position:center;padding:16px 14px 6px;background:#d8c58f}.branch-shop-grid .shop-card__body{padding-top:16px}
.branch-faq{display:grid;gap:9px;max-width:920px;margin:0 auto}.branch-faq details{border:1px solid var(--line);border-radius:18px;background:var(--cream-pale);overflow:hidden}.branch-faq summary{padding:18px 21px;cursor:pointer;list-style:none;font-weight:900}.branch-faq summary::after{content:"+";float:right;color:var(--burgundy);font-size:20px}.branch-faq details[open] summary::after{content:"−"}.branch-faq p{margin:0;padding:0 21px 18px;color:var(--muted)}
.branch-seo__grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:30px}.branch-seo article h2{margin:0 0 15px;font-size:clamp(32px,3.7vw,48px);line-height:1.08}.branch-seo article h3{margin:25px 0 7px;font-size:21px}.branch-seo article p{color:var(--muted)}.branch-seo aside{align-self:start;position:sticky;top:146px;padding:24px;border:1px solid var(--line);border-radius:22px;background:var(--cream-light)}.branch-seo aside h3{margin:0 0 10px}.branch-seo aside a{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);font-size:12px;font-weight:900}.branch-seo aside a span{color:var(--burgundy)}
.branch-final{padding:72px 0;background:var(--cream)}.branch-final__box{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:40px 44px;border-radius:30px;background:var(--green-dark);color:var(--cream)}.branch-final h2{max-width:720px;margin:0 0 8px;color:var(--cream);font-size:clamp(34px,4.1vw,52px);line-height:1.04}.branch-final p{margin:0;color:rgba(243,220,172,.74)}
.branch-mobile-sticky{display:none}.branch-gallery-dialog{width:min(1000px,calc(100% - 30px));padding:0;border:0;border-radius:26px;background:var(--green-dark);color:var(--cream);box-shadow:0 30px 90px rgba(0,0,0,.4)}.branch-gallery-dialog::backdrop{background:rgba(10,28,18,.76);backdrop-filter:blur(6px)}.branch-gallery-dialog__inner{position:relative;padding:9px}.branch-gallery-dialog img{width:100%;max-height:78vh;object-fit:contain;border-radius:20px}.branch-gallery-dialog figcaption{padding:10px 12px 5px;text-align:center;font-size:12px}.branch-gallery-dialog__close{position:absolute;right:18px;top:18px;z-index:2;width:40px;height:40px;border:0;border-radius:50%;background:var(--cream);color:var(--green);font-size:24px;cursor:pointer}
@media(max-width:1050px){.branch-hero__grid{grid-template-columns:1fr 1fr}.branch-hero__card{padding:28px}.branch-service-grid{grid-template-columns:repeat(2,1fr)}.branch-visit-grid{grid-template-columns:repeat(3,1fr)}.branch-visit-step::after{display:none}.branch-gallery{grid-template-columns:1.2fr .8fr;grid-template-rows:240px 210px}.branch-gallery button:nth-child(3){display:none}.branch-gallery button:nth-child(4){grid-column:2}.branch-route__grid{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.branch-hero{min-height:auto;padding:91px 0 18px}.branch-hero__grid{grid-template-columns:1fr;min-height:0}.branch-hero__card{padding:25px 20px;border-radius:25px}.branch-hero h1{font-size:35px}.branch-hero__lead{font-size:14px}.branch-hero__facts{grid-template-columns:1fr}.branch-hero__gallery{grid-template-rows:250px 95px;border-radius:25px}.branch-hero__badge,.branch-hero__gallery-button{bottom:112px}.branch-proof__grid{grid-template-columns:1fr 1fr}.branch-proof__item{min-height:92px;padding:16px;border-bottom:1px solid rgba(243,220,172,.12)}.branch-proof__item:nth-child(2){border-right:0}.branch-anchor-wrap{top:77px}.branch-head{align-items:flex-start;flex-direction:column}.branch-service-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:7px}.branch-service-grid .program-card{flex:0 0 82%;scroll-snap-align:start}.branch-picker__box{grid-template-columns:1fr}.branch-master-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.branch-master-grid .master-card{flex:0 0 84%;scroll-snap-align:start}.branch-gallery{grid-template-columns:1fr 1fr;grid-template-rows:260px 160px}.branch-gallery button:first-child{grid-column:1/3;grid-row:auto}.branch-gallery button:nth-child(3){display:block}.branch-gallery button:nth-child(4){display:none}.branch-visit-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.branch-visit-step{flex:0 0 80%;scroll-snap-align:start}.branch-promo__box{grid-template-columns:1fr}.branch-promo__content{padding:30px 20px}.branch-promo figure{min-height:260px}.branch-reviews__summary{grid-template-columns:1fr}.branch-review-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.branch-review{flex:0 0 84%;scroll-snap-align:start}.branch-route__grid{grid-template-columns:1fr}.branch-map-card img{min-height:310px}.branch-route__cta{display:grid;grid-template-columns:1fr 1fr;gap:8px}.branch-route__cta .btn{width:100%;min-width:0;min-height:48px;padding:0 12px;font-size:12px}.branch-shop-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.branch-shop-grid .shop-card{flex:0 0 84%;scroll-snap-align:start}.branch-seo__grid{grid-template-columns:1fr}.branch-seo aside{position:static}.branch-final__box{align-items:flex-start;flex-direction:column;padding:30px 20px}.branch-mobile-sticky{position:fixed;left:7px;right:7px;bottom:7px;z-index:95;display:grid;grid-template-columns:1.25fr .82fr .82fr;gap:6px;padding:7px;border-radius:19px;background:rgba(40,78,55,.97);box-shadow:0 16px 45px rgba(0,0,0,.26);padding-bottom:calc(7px + env(safe-area-inset-bottom))}.branch-mobile-sticky a,.branch-mobile-sticky button{min-height:48px;border:0;border-radius:999px;display:grid;place-items:center;text-align:center;font-size:10px;font-weight:900}.branch-mobile-sticky button{background:var(--burgundy);color:var(--cream)}.branch-mobile-sticky a{background:var(--cream);color:var(--green)}.site-footer{padding-bottom:118px}}
@media(max-width:520px){.container{width:min(var(--container),calc(100% - 22px))}.branch-hero__card .button-row{display:grid}.branch-hero__card .btn{width:100%}.branch-hero__offer{align-items:flex-start;flex-direction:column;gap:5px}.branch-hero__offer b{font-size:25px}.branch-hero__gallery{grid-template-rows:210px 82px;padding:6px}.branch-hero__main{border-radius:20px}.branch-hero__thumb{border-radius:14px}.branch-hero__badge{left:12px;bottom:96px}.branch-hero__gallery-button{right:12px;bottom:96px}.branch-proof__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.branch-proof__item{min-width:0;min-height:88px;padding:12px 10px;gap:8px}.branch-proof__item:nth-child(2n){border-right:0}.branch-proof__item img{width:32px;height:32px;flex:0 0 auto}.branch-proof__item strong{font-size:11px;line-height:1.2}.branch-proof__item small{font-size:9px;line-height:1.25}.branch-service-grid .program-card,.branch-master-grid .master-card,.branch-review,.branch-shop-grid .shop-card{flex-basis:88%}.branch-picker__choices{grid-template-columns:1fr}.branch-gallery{grid-template-rows:230px 135px}.branch-route__facts{grid-template-columns:1fr}.branch-final .button-row{display:grid;width:100%}.branch-final .btn{width:100%}}
/* Keep master portraits compact and consistent regardless of intrinsic image ratio. */
.branch-master-grid .master-card>img{width:100%;height:360px;aspect-ratio:auto;object-fit:cover;object-position:center 18%}
@media(max-width:820px){.branch-master-grid .master-card>img{height:330px}}
@media(max-width:520px){.branch-master-grid .master-card>img{height:300px}}

/* GRANDTHAI BRANCH PAGE v1.1 — compact mobile hero with photo in first screen */
.branch-hero__mobile-photo{display:none}

@media(max-width:820px){
  .branch-hero{padding:86px 0 12px}
  .branch-hero__grid{display:block}
  .branch-hero__card{padding:20px 18px 18px;border-radius:24px}
  .branch-breadcrumbs{margin-bottom:12px}
  .branch-breadcrumbs ol{gap:7px;font-size:10px}
  .branch-hero__kicker{margin-bottom:6px;font-size:9px;letter-spacing:.08em}
  .branch-hero h1{margin-bottom:9px;font-size:clamp(29px,8.2vw,34px);line-height:1.01;letter-spacing:-.04em}
  .branch-hero__lead{margin-bottom:11px;font-size:12.5px;line-height:1.42}
  .branch-hero__mobile-photo{position:relative;display:block;height:158px;margin:0 0 10px;border-radius:19px;overflow:hidden;background:var(--green-dark)}
  .branch-hero__mobile-photo img{width:100%;height:100%;object-fit:cover;object-position:center 50%}
  .branch-hero__mobile-photo figcaption{position:absolute;left:9px;right:9px;bottom:9px;display:flex;align-items:flex-end;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:13px;background:rgba(40,78,55,.91);color:var(--cream);backdrop-filter:blur(5px)}
  .branch-hero__mobile-photo figcaption strong,.branch-hero__mobile-photo figcaption span{display:block}
  .branch-hero__mobile-photo figcaption strong{font-size:10px;line-height:1.15}
  .branch-hero__mobile-photo figcaption span{font-size:8px;line-height:1.2;opacity:.78;text-align:right}
  .branch-hero__rating{margin-bottom:9px}
  .branch-hero__rating a{width:100%;min-height:34px;justify-content:center;gap:7px;padding:6px 9px;font-size:10px}
  .branch-hero__rating .stars{font-size:10px;letter-spacing:.04em}
  .branch-hero__rating small{font-size:9px}
  .branch-hero__facts{grid-template-columns:minmax(0,1.22fr) minmax(0,.78fr);gap:7px;margin-bottom:9px}
  .branch-hero__fact{min-height:56px;gap:7px;padding:8px 9px;border-radius:14px;align-items:center}
  .branch-hero__fact svg{width:17px;height:17px}
  .branch-hero__fact small{font-size:7.5px;line-height:1.1}
  .branch-hero__fact strong{font-size:10px;line-height:1.25}
  .branch-hero__offer{min-height:58px;margin-bottom:10px;padding:9px 11px;border-radius:15px;gap:10px}
  .branch-hero__offer>span>span{font-size:7.5px;line-height:1.1}
  .branch-hero__offer strong{font-size:14px;line-height:1.08}
  .branch-hero__offer b{font-size:22px;line-height:1;align-self:center}
  .branch-hero__card .button-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .branch-hero__card .btn{width:100%;min-height:43px;padding:0 12px;font-size:11px}
  .branch-hero__card .card-text-link{display:none}
  .branch-hero__gallery{display:none}
}

@media(max-width:420px){
  .branch-hero{padding-top:82px}
  .branch-hero__card{padding:18px 15px 16px}
  .branch-breadcrumbs{margin-bottom:10px}
  .branch-hero h1{font-size:29px}
  .branch-hero__lead{font-size:12px}
  .branch-hero__mobile-photo{height:148px}
  .branch-hero__facts{grid-template-columns:1.18fr .82fr}
  .branch-hero__fact{padding:7px 8px}
  .branch-hero__fact strong{font-size:9.3px}
  .branch-hero__offer strong{font-size:13px}
  .branch-hero__offer b{font-size:20px}
}


/* GRANDTHAI BRANCH PAGE v1.4 — mobile UX and client-facing cleanup */
@media(max-width:820px){
  /* Keep horizontal card rails swipeable without letting their off-screen slides
     increase the width of the whole branch document. */
  .canonical-page-okskaya{overflow-x:clip}
  .branch-hero__mobile-photo figcaption{display:none}
  .branch-service-grid .program-card{flex-basis:74%}
  .branch-master-grid .master-card{flex-basis:78%}
  .branch-mobile-sticky{opacity:0;visibility:hidden;transform:translateY(calc(100% + 18px));pointer-events:none;transition:opacity .22s ease,transform .22s ease,visibility .22s ease}
  .branch-mobile-sticky.is-visible{opacity:1;visibility:visible;transform:none;pointer-events:auto}
}
@media(max-width:520px){
  .branch-service-grid .program-card{flex-basis:78%}
  .branch-master-grid .master-card{flex-basis:80%}
  .branch-master-grid .master-card>img{height:250px}
}


/* GRANDTHAI BRANCH PAGE v1.5 — conversion, layout and component consistency */
@media(min-width:821px){
  .branch-hero{min-height:100svh;padding:82px 0 18px}
  .branch-hero__grid{min-height:0;height:clamp(520px,calc(100svh - 100px),620px)}
  .branch-hero__card{padding:23px 32px}
  .branch-breadcrumbs{margin-bottom:13px}
  .branch-hero h1{margin-bottom:9px;font-size:clamp(38px,3.35vw,50px);line-height:1.01;letter-spacing:-.042em}
  .branch-hero__lead{margin-bottom:10px;font-size:clamp(13px,1vw,15px);line-height:1.42}
  .branch-hero__rating{margin-bottom:10px}
  .branch-hero__facts{margin-bottom:10px}
  .branch-hero__fact{padding:9px 11px}
  .branch-hero__offer{margin-bottom:11px;padding:10px 13px}
  .branch-hero__offer strong{font-size:17px}
  .branch-hero__offer b{font-size:25px}
  .branch-hero__cta{gap:12px}
  .branch-hero__cta .btn{min-height:50px;padding:0 24px;font-size:14px}
  .branch-hero__cta .btn-burgundy{min-width:230px}
  .branch-hero__cta .btn-outline{min-width:214px}
  .branch-hero__gallery{grid-template-rows:1fr 142px}
  .branch-hero__badge,.branch-hero__gallery-button{bottom:160px}
}

.branch-shop-grid .shop-card>img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:auto;
  object-fit:cover;
  object-position:center;
  padding:0;
  background:transparent;
}
.branch-shop-grid .shop-card__body{padding-top:18px}

.branch-service-grid .program-card__content{display:flex;flex-direction:column;height:100%}
.branch-service-grid .program-card__price{margin-top:auto;margin-bottom:12px}
.branch-service-grid .program-card__actions{display:grid;grid-template-columns:minmax(88px,.72fr) minmax(126px,1.05fr);gap:10px;align-items:center}
.branch-service-grid .program-card__actions .card-text-link{min-width:0;min-height:42px;justify-content:flex-start;white-space:nowrap}
.branch-service-grid .program-card__actions .btn{width:100%;min-width:0}


.branch-seo .useful-sections{
  align-self:start;
  position:sticky;
  top:146px;
  height:max-content;
  padding:30px;
  border:1px solid rgba(40,78,55,.13);
  border-radius:30px;
  background:rgba(248,233,196,.76);
  box-shadow:0 18px 42px rgba(40,78,55,.08);
}
.branch-seo .useful-sections h3{
  margin:0 0 24px;
  color:var(--green);
  font-size:clamp(28px,2.2vw,38px);
  line-height:1.08;
}
.useful-sections__list{display:grid;gap:12px}
.branch-seo .useful-sections__list a{
  position:relative;
  display:grid;
  grid-template-columns:22px minmax(0,1fr) 48px;
  align-items:center;
  gap:14px;
  min-height:72px;
  padding:11px 12px 11px 18px;
  border:1px solid rgba(40,78,55,.14);
  border-radius:22px;
  background:rgba(248,233,196,.56);
  color:var(--green);
  font-size:16px;
  font-weight:900;
  transition:.2s ease;
}
.branch-seo .useful-sections__list a::before{
  content:"";
  width:12px;
  height:12px;
  border-radius:50%;
  background:var(--burgundy);
  box-shadow:0 0 0 9px rgba(127,42,33,.07);
}
.branch-seo .useful-sections__list a:hover{
  border-color:rgba(127,42,33,.34);
  background:var(--cream-pale);
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(40,78,55,.08);
}
.branch-seo .useful-sections__list i{
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  border-radius:50%;
  background:rgba(40,78,55,.07);
  color:var(--burgundy);
  font-style:normal;
  font-size:23px;
  transition:.2s ease;
}
.branch-seo .useful-sections__list a:hover i{
  background:var(--burgundy);
  color:var(--cream);
}
.branch-seo .useful-sections__list a span{color:inherit}

@media(max-width:820px){
  .branch-seo .useful-sections{position:static;padding:24px;border-radius:26px}
  .branch-seo .useful-sections h3{margin-bottom:18px;font-size:30px}
  .branch-seo .useful-sections__list a{min-height:64px;padding:9px 10px 9px 16px;font-size:14px;grid-template-columns:20px minmax(0,1fr) 42px}
  .branch-seo .useful-sections__list i{width:42px;height:42px;font-size:20px}
}

.branch-mobile-sticky[aria-hidden="true"]{pointer-events:none}

/* Approved v1.7 correction: one clear branch phone replaces both gallery badges. */
.branch-hero__phone{
  position:absolute;
  left:18px;
  right:18px;
  bottom:178px;
  z-index:3;
  min-height:58px;
  padding:10px 22px;
  border:1px solid rgba(243,220,172,.42);
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  background:rgba(40,78,55,.94);
  color:var(--cream);
  box-shadow:0 15px 40px rgba(0,0,0,.25);
  backdrop-filter:blur(7px);
  text-decoration:none;
}
.branch-hero__phone span{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;opacity:.82}
.branch-hero__phone strong{font-size:24px;line-height:1;letter-spacing:.02em}
.branch-hero__mobile-phone{display:none}
@media(max-width:1200px) and (min-width:821px){.branch-hero__phone{bottom:160px}}
@media(max-width:820px){
  .branch-hero__mobile-phone{
    min-height:52px;
    margin:0 0 12px;
    padding:8px 16px;
    border:1px solid rgba(40,78,55,.26);
    border-radius:999px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    background:rgba(40,78,55,.09);
    color:var(--green);
    text-decoration:none;
  }
  .branch-hero__mobile-phone span{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
  .branch-hero__mobile-phone strong{font-size:18px}
}
@media(max-width:420px){
  .branch-hero__mobile-phone{align-items:flex-start;flex-direction:column;gap:2px;border-radius:18px}
  .branch-hero__mobile-phone strong{font-size:20px}
}

@media(max-width:820px){
  .branch-hero__bg{background-image:linear-gradient(120deg,rgba(20,55,36,.88),rgba(20,55,36,.78)),url('../images/hero-bg-mobile.webp')}
}
