.page-view{display:none}
.page-view.is-active{display:block}
.subpage-hero{position:relative;overflow:hidden;background:linear-gradient(150deg,var(--navy-deep),var(--navy) 65%,var(--navy-2));color:#fff}
.subpage-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(800px 380px at 86% 16%,rgba(198,164,92,.14),transparent 62%)}
.subpage-hero .wrap{position:relative;padding-top:78px;padding-bottom:76px}
.subpage-hero h1{font-family:'Playfair Display',serif;font-size:48px;font-weight:600;line-height:1.18;margin:12px 0 18px}
.subpage-hero h1 em{color:var(--gold-light);font-style:italic}
.subpage-hero p{max-width:720px;margin:0;color:#C4CCDE;font-size:16px;line-height:1.9}
.subpage-nav{background:#fff;border-bottom:1px solid rgba(10,29,63,.1);position:sticky;top:109px;z-index:40}
.subpage-nav .wrap{display:flex;align-items:center;gap:28px;padding-top:16px;padding-bottom:16px;overflow-x:auto;scrollbar-width:none}
.subpage-nav .wrap::-webkit-scrollbar{display:none}
.subpage-nav a{color:#3A4560;font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.subpage-nav a:hover{color:var(--red)}
.page-band{padding:88px 0;background:#fff}
.page-band.alt{background:var(--ivory)}
.page-head{display:grid;grid-template-columns:.72fr 1.28fr;gap:54px;align-items:end;margin-bottom:44px}
.page-head h2{font-family:'Noto Serif Thai',serif;font-size:36px;line-height:1.35;color:var(--navy);margin:10px 0 0}
.page-head h2 em{color:var(--red);font-style:normal}
.page-head p{font-size:15px;line-height:1.9;color:#4A5470;margin:0}
.media-list{border-top:1px solid rgba(10,29,63,.12)}
.media-row{display:grid;grid-template-columns:310px 1fr;gap:38px;padding:34px 0;border-bottom:1px solid rgba(10,29,63,.12);align-items:start}
.media-row.reverse{grid-template-columns:1fr 310px}
.media-row.reverse .media-image{order:2}
.media-image{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;background:var(--navy)}
.media-image img{width:100%;height:100%;object-fit:cover;display:block}
.media-copy h3{font-family:'Noto Serif Thai',serif;font-size:23px;line-height:1.45;color:var(--navy);margin:0 0 10px}
.media-copy .role{font-size:12.5px;font-weight:700;letter-spacing:.06em;color:var(--red);margin:-3px 0 12px}
.media-copy p{font-size:14.5px;line-height:1.9;color:#4A5470;margin:0;white-space:pre-line}
.media-copy .detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 24px;margin-top:18px;padding-top:18px;border-top:1px solid rgba(198,164,92,.45)}
.media-copy .detail-list span{font-size:13.5px;line-height:1.65;color:#3A4560;padding-left:16px;position:relative}
.media-copy .detail-list span::before{content:"◆";position:absolute;left:0;top:2px;color:var(--gold);font-size:8px}
.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
.service-item{background:#fff;border-top:3px solid var(--red);box-shadow:0 12px 36px rgba(7,22,48,.08)}
.service-item img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;background:var(--navy)}
.service-item .body{padding:28px 30px 32px}
.service-item h3{font-family:'Playfair Display','Noto Serif Thai',serif;font-size:22px;line-height:1.4;color:var(--navy);margin:0 0 12px}
.service-item p{font-size:14px;line-height:1.85;color:#4A5470;margin:0;white-space:pre-line}
.people-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.person{border-top:2px solid var(--gold);background:#fff}
.person img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center top;display:block;background:var(--navy)}
.person .body{padding:22px 0 10px}
.person h3{font-family:'Noto Serif Thai',serif;font-size:19px;line-height:1.5;color:var(--navy);margin:0 0 6px}
.person .role{font-size:12.5px;line-height:1.65;color:var(--red);font-weight:700;margin-bottom:10px}
.person p{font-size:13.5px;line-height:1.8;color:#4A5470;margin:0}
.category-strip{background:var(--navy-deep);border-top:1px solid rgba(198,164,92,.45);border-bottom:1px solid rgba(198,164,92,.45)}
.category-strip .wrap{display:grid;grid-template-columns:repeat(4,1fr);padding-top:25px;padding-bottom:25px}
.category-link{display:block;padding:4px 22px;border-left:1px solid rgba(255,255,255,.14)}
.category-link:first-child{border-left:none}
.category-link strong{display:block;color:var(--gold-light);font-family:'Playfair Display',serif;font-size:16px;line-height:1.4}
.category-link span{display:block;color:#9AA6C2;font-size:11.5px;line-height:1.55;margin-top:4px}
.faq-list{max-width:900px;margin:0 auto;border-top:1px solid rgba(10,29,63,.14)}
.faq-list details{border-bottom:1px solid rgba(10,29,63,.14);padding:0}
.faq-list summary{cursor:pointer;list-style:none;padding:24px 46px 24px 0;font-family:'Noto Serif Thai',serif;font-size:18px;font-weight:700;color:var(--navy);position:relative}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";position:absolute;right:4px;top:20px;color:var(--red);font-family:'Noto Sans Thai',sans-serif;font-size:24px;font-weight:400}
.faq-list details[open] summary::after{content:"−"}
.faq-list p{font-size:14.5px;line-height:1.9;color:#4A5470;margin:0;padding:0 46px 24px 0}
.route-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.menu-toggle{display:none;width:42px;height:42px;background:#fff;border:1px solid rgba(10,29,63,.18);padding:10px;cursor:pointer;margin-left:auto}
.menu-toggle span{display:block;height:2px;background:var(--navy);margin:4px 0}
.menu-toggle{flex-shrink:0}
.nav nav.is-open{max-height:calc(100dvh - var(--nav-height,109px));overflow-y:auto;overscroll-behavior:contain}
.subpage-nav{top:var(--nav-height,109px)}
.service-item,.person,.media-image{overflow:hidden}
.hero .wrap>div{min-width:0}
.hero-badge,.hero-stats{max-width:100%;overflow-wrap:anywhere}
.hero-stats>div{min-width:0}
.hero-card>div{min-width:0;overflow-wrap:anywhere}
.trusted h2{overflow-wrap:anywhere}
.service-item,.person,.media-copy,.page-head>*{min-width:0;overflow-wrap:anywhere}
.service-item[id]{scroll-margin-top:calc(var(--nav-height,109px) + 100px)}
.form input:focus-visible,.form select:focus-visible,a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.nav nav a.is-active{color:var(--red)}
body.route-view>section:not(.is-route-visible){display:none}
body.route-view>.page-view.is-active{display:block}
@media(min-width:1025px){
  .nav .wrap{position:relative}
  .nav nav a:nth-child(n+5){display:none}
  .menu-toggle{display:block;margin-left:0}
  .nav nav.is-open{position:absolute;left:32px;right:32px;top:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;background:#fff;border-top:1px solid rgba(10,29,63,.08);box-shadow:0 12px 26px rgba(7,22,48,.12);padding:16px 24px}
  .nav nav.is-open a{display:block!important;padding:12px 8px;border-bottom:1px solid rgba(10,29,63,.08)}
}
@media(max-width:1120px){
  .nav nav{gap:16px;font-size:12px}
}
@media(max-width:1024px){
  .menu-toggle{display:block}
  .nav{position:sticky}
  .nav .wrap{position:relative}
  .nav nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-top:1px solid rgba(10,29,63,.08);box-shadow:0 12px 26px rgba(7,22,48,.12);padding:20px 32px;flex-direction:column;gap:0}
  .nav nav.is-open{display:flex}
  .nav nav a{padding:12px 0;border-bottom:1px solid rgba(10,29,63,.08)}
  .page-head{grid-template-columns:1fr;gap:20px}
  .people-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .category-strip .wrap{grid-template-columns:repeat(2,1fr);gap:22px 0}
  .category-link:nth-child(3){border-left:none}
}
@media(max-width:720px){
  .subpage-hero .wrap{padding-top:58px;padding-bottom:58px}
  .subpage-hero h1{font-size:38px}
  .page-band{padding:68px 0}
  .page-head h2{font-size:30px}
  .media-row,.media-row.reverse{grid-template-columns:1fr;gap:22px}
  .media-row.reverse .media-image{order:0}
  .media-copy .detail-list{grid-template-columns:1fr}
  .service-grid,.people-grid{grid-template-columns:1fr}
  .category-strip .wrap{grid-template-columns:1fr;gap:0}
  .category-link,.category-link:nth-child(3){border-left:none;border-top:1px solid rgba(255,255,255,.12);padding:15px 0}
  .category-link:first-child{border-top:none}
}
@media(max-width:640px){
  .nav .btn-red{margin-left:0}
  .menu-toggle{width:38px;height:38px}
}
@media(max-width:360px){
  .nav .wrap{gap:10px}
  .nav .btn-red{font-size:10px;padding:11px 10px;letter-spacing:0}
  .hero-badge{overflow-wrap:normal;letter-spacing:.12em}
  .hero .btn-gold{padding-left:20px;padding-right:20px;letter-spacing:.04em}
  .hero-stats{gap:12px}
  .hero-stats .v{font-size:22px}
  .trusted h2 .big{font-size:46px}
}
