@font-face {
  font-family:Inter;
  src:url('../fonts/inter-latin.woff2') format('woff2');
  font-style:normal;
  font-weight:400 700;
  font-display:swap
}
@font-face {
  font-family:'Noto Sans Thai';
  src:url('../fonts/noto-sans-thai.woff2') format('woff2');
  font-style:normal;
  font-weight:100 900;
  font-display:swap
}

:root {
  --forest:#35493e;
  --forest-deep:#2e4037;
  --clay:#9b503a;
  --ink:#303a32;
  --muted:#66695d;
  --soft:#eeeee4;
  --line:#dcded1;
  --radius:18px
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:24px
}
body {
  margin:0;
  color:var(--ink);
  font-family:Inter,Arial,sans-serif;
  font-size:16px;
  line-height:1.7
}
a {
  color:inherit;
  text-decoration:none
}
button,input,select,textarea {
  font:inherit
}
button,a,input,select,textarea,summary {
  -webkit-tap-highlight-color:transparent
}
a,button,summary {
  touch-action:manipulation
}
button,summary {
  cursor:pointer
}
img {
  max-width:100%;
  display:block
}
h1,h2,h3,h4,p {
  margin-top:0
}
h1,h2,h3,h4 {
  line-height:1.17
}
h1 {
  font-size:clamp(2rem,3.6vw,2.75rem);
  font-weight:600;
  margin-bottom:22px
}
h2 {
  font-size:clamp(22px,1.9vw,26px);
  font-weight:600;
  margin-bottom:20px
}
h3 {
  font-size:1.15rem;
  font-weight:600
}
h4 {
  font-size:.95rem;
  letter-spacing:-.01em
}
p {
  margin-bottom:20px
}
strong {
  font-weight:600
}
.container {
  width:min(1200px,calc(100% - 80px));
  margin-inline:auto
}
.eyebrow {
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.13em;
  line-height:1.6;
  color:#94513c;
  margin-bottom:17px
}
.section {
  padding:96px 0
}
.soft {
  background:var(--soft)
}
.grounded {
  background:var(--forest);
  color:#fff
}
.grounded .eyebrow,.hero .eyebrow,.closing .eyebrow,.page-hero .eyebrow {
  color:var(--clay)
}
.grounded p {
  color:#dde2d5
}
.grounded .eyebrow {
  color:var(--clay)
}
.accent,.brand-dot {
  color:var(--clay)
}
.site-header {
  background:var(--forest);
  color:white;
  position:relative;
  z-index:10;
  border-bottom:1px solid #ffffff1c
}
.header-inner {
  min-height:92px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px
}
.wordmark {
  font-size:2rem;
  font-weight:600;
  letter-spacing:-.075em;
  line-height:1.2;
  white-space:nowrap
}
.brand-dot {
  font-size:1.2em
}
.site-header nav {
  display:flex;
  align-items:center;
  gap:32px;
  font-size:.9rem;
  font-weight:500
}
.site-header nav>a:not(.button):hover,.site-header summary:hover {
  color:var(--clay)
}
.site-header [aria-current=page] {
  color:var(--clay)
}
.nav-item {
  position:relative
}
.nav-item>a {
  display:flex;
  align-items:center;
  gap:6px;
  padding:15px 0
}
.nav-item .caret {
  font-size:.65em;
  transition:transform .15s ease
}
.nav-item.submenu-open .caret {
  transform:rotate(180deg)
}
.dropdown {
  position:absolute;
  top:100%;
  left:-20px;
  width:290px;
  background:white;
  color:var(--forest);
  padding:10px;
  border:1px solid var(--line);
  border-radius:8px;
  box-shadow:0 12px 30px #0002;
  opacity:0;
  visibility:hidden;
  transform:translateY(-6px);
  transition:opacity .15s ease,transform .15s ease,visibility .15s ease;
  max-height:70vh;
  overflow-y:auto
}
.nav-item.submenu-open .dropdown {
  opacity:1;
  visibility:visible;
  transform:translateY(0)
}
.dropdown a {
  display:block;
  padding:12px;
  border-radius:5px
}
.dropdown a:hover {
  background:var(--soft)
}
.dropdown a[aria-current=page] {
  color:#805200;
  background:var(--soft)
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:24px;
  background:var(--clay);
  color:var(--forest);
  padding:16px 24px;
  border:1px solid transparent;
  border-radius:6px;
  font-size:.9rem;
  font-weight:650;
  line-height:1.4;
  transition:background .2s,transform .2s
}
.button:hover {
  background:#ffbc3f;
  transform:translateY(-2px)
}
.button.small {
  font-size:.85rem;
  padding:13px 19px;
  gap:16px
}
.button:disabled {
  cursor:wait;
  opacity:.65
}
.menu-toggle {
  display:none;
  background:none;
  border:1px solid #ffffff50;
  border-radius:5px;
  color:white;
  padding:9px 13px
}
.skip-link {
  position:absolute;
  left:20px;
  top:-70px;
  z-index:50;
  padding:12px;
  background:var(--clay);
  color:var(--forest)
}
.skip-link:focus {
  top:10px
}
:focus-visible {
  outline:3px solid #596b4c;
  outline-offset:5px
}
.site-header :focus-visible,.grounded :focus-visible,.hero :focus-visible {
  outline-color:var(--clay)
}
.hero {
  position:relative;
  min-height:640px;
  display:flex;
  align-items:center;
  background:var(--forest);
  color:white;
  overflow:hidden
}
.hero picture,.hero picture img,.hero-shade {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover
}
.hero picture img {
  object-position:center 48%
}
.hero-shade {
  background:linear-gradient(90deg,rgba(10,22,40,.97) 0%,rgba(10,22,40,.89) 30%,rgba(10,22,40,.60) 51%,rgba(10,22,40,.08) 78%)
}
.hero-content {
  position:relative;
  padding-block:85px
}
.hero-content>p:not(.eyebrow) {
  max-width:530px;
  color:#66695d;
  font-size:1.075rem;
  line-height:1.8;
  margin-bottom:32px
}
.hero h1 {
  max-width:660px
}
.hero-actions {
  display:flex;
  align-items:center;
  gap:26px;
  flex-wrap:wrap
}
.text-link {
  display:inline-flex;
  gap:18px;
  align-items:center;
  font-size:.9rem;
  font-weight:650;
  color:var(--forest);
  padding:5px 0;
  border-bottom:1px solid #afb6a5
}
.text-link:hover {
  color:#77432f;
  border-color:var(--clay)
}
.text-link.light {
  color:#fff;
  border-color:#ffffff70
}
.hero-caption {
  position:absolute;
  right:40px;
  bottom:24px;
  font-size:.75rem;
  color:white;
  text-shadow:0 1px 5px #000
}
.context-bar {
  border-bottom:1px solid var(--line);
  background:#fff
}
.context-bar .container {
  display:flex;
  justify-content:space-between;
  gap:24px;
  padding-block:24px;
  font-size:.85rem;
  color:var(--muted)
}
.context-bar span:before {
  content:'—';
  color:#94513c;
  margin-right:13px
}
.section-heading {
  display:flex;
  justify-content:space-between;
  gap:50px;
  align-items:flex-end;
  margin-bottom:36px
}
.section-heading h2 {
  margin-bottom:0
}
.section-heading>p {
  max-width:365px;
  color:var(--muted);
  margin-bottom:3px
}
.service-grid,.three-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px
}
.service-card {
  position:relative;
  display:flex;
  flex-direction:column;
  padding:32px 30px 27px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  transition:transform .2s,border-color .2s,box-shadow .2s
}
.service-card:hover {
  transform:translateY(-5px);
  border-color:#9aa88d;
  box-shadow:0 14px 32px #12223f0b
}
.card-number {
  display:block;
  color:#94513c;
  font-size:.95rem;
  letter-spacing:.04em;
  margin-bottom:30px
}
.service-card .eyebrow {
  font-size:.68rem;
  letter-spacing:.09em;
  margin-bottom:16px;
  color:var(--muted)
}
.service-card h3 {
  font-size:1.25rem;
  max-width:290px
}
.service-card p:not(.eyebrow) {
  color:var(--muted);
  font-size:.95rem
}
.card-link {
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-top:1px solid var(--line);
  padding-top:20px;
  margin-top:auto;
  font-size:.85rem;
  font-weight:650
}
.split {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:86px;
  align-items:start
}
.split>div>p {
  color:var(--muted)
}
.split>div>.eyebrow {
  color:#94513c
}
.situations>div {
  display:flex;
  gap:28px;
  border-bottom:1px solid var(--line);
  padding:0 0 22px;
  margin-bottom:22px
}
.situations>div:last-child {
  margin-bottom:0
}
.situations span {
  font-size:.8rem;
  color:#94513c;
  padding-top:5px
}
.situations p {
  margin:0;
  color:var(--muted)
}
.situations strong {
  color:var(--ink)
}
.four-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:36px;
  margin-top:48px
}
.four-grid article {
  border-top:1px solid #ffffff30;
  padding-top:26px
}
.four-grid h3 {
  font-size:1.2rem;
  letter-spacing:-.025em
}
.four-grid p,.three-grid p {
  font-size:.95rem;
  margin-bottom:0
}
.steps {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:35px;
  margin-top:42px
}
.steps span {
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  background:#eeeee3;
  border:1px solid #d6dacb;
  border-radius:50%;
  color:#94513c;
  font-size:.85rem;
  margin-bottom:25px
}
.steps h3 {
  font-size:1.2rem
}
.steps p {
  color:var(--muted);
  font-size:.95rem;
  margin-bottom:0
}
.report-section {
  grid-template-columns:.8fr 1.2fr;
  gap:65px;
  align-items:center
}
.report {
  background:white;
  border:1px solid var(--line);
  border-radius:10px;
  padding:28px;
  box-shadow:0 10px 40px #2e403707
}
.report-head {
  display:flex;
  justify-content:space-between;
  gap:15px
}
.report .eyebrow {
  font-size:.65rem;
  letter-spacing:.1em;
  color:var(--muted);
  display:block;
  margin-bottom:8px
}
.report h3 {
  font-size:1.2rem;
  letter-spacing:-.025em;
  margin-bottom:12px
}
.tag {
  font-size:.65rem;
  line-height:1.4;
  border:1px solid #d4c5aa;
  background:#f4eee3;
  color:#6d543b;
  border-radius:4px;
  padding:6px 9px;
  height:fit-content;
  max-width:170px
}
.report-meta {
  font-size:.75rem;
  color:var(--muted);
  padding-bottom:16px;
  border-bottom:1px solid var(--line)
}
.report-row {
  display:grid;
  grid-template-columns:24px 1fr;
  gap:10px 12px;
  padding:16px 0;
  border-bottom:1px solid var(--line)
}
.issue-number {
  font-size:.75rem;
  color:#8d692b
}
.report-row h4 {
  font-size:.85rem;
  margin-bottom:7px
}
.report-row p {
  font-size:.75rem;
  color:var(--muted);
  margin:0
}
.status {
  grid-column:2;
  font-size:.68rem;
  display:block;
  width:fit-content;
  padding:3px 8px;
  border-radius:4px;
  background:#f3e6d9;
  color:#79513d
}
.status.neutral {
  background:#e9eee3;
  color:#58634f
}
.report-next {
  background:var(--soft);
  padding:15px 17px;
  margin-top:20px;
  border-left:2px solid var(--clay)
}
.report-next strong {
  font-size:.8rem
}
.report-next p {
  font-size:.8rem;
  margin:6px 0 0;
  line-height:1.6;
  color:var(--muted)
}
.note {
  font-size:.82rem;
  color:var(--muted);
  line-height:1.7
}
.report>.note {
  font-size:.7rem;
  margin:14px 0 0
}
.faq-layout {
  display:grid;
  grid-template-columns:.7fr 1.3fr;
  gap:80px
}
.faq-list details {
  border-bottom:1px solid #d5dacd
}
.faq-list summary {
  list-style:none;
  display:flex;
  justify-content:space-between;
  gap:24px;
  padding:22px 0;
  line-height:1.5;
  font-weight:600;
  font-size:.95rem
}
.faq-list summary::-webkit-details-marker {
  display:none
}
.faq-list summary span {
  font-size:1.4rem;
  font-weight:400;
  color:#94513c
}
.faq-list details[open] summary span {
  transform:rotate(45deg)
}
.faq-list p {
  font-size:.95rem;
  color:var(--muted);
  padding-right:30px
}
.closing {
  background:var(--forest-deep);
  color:white;
  padding:72px 0
}
.closing-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:45px
}
.closing h2 {
  margin:0
}
.site-footer {
  background:var(--forest);
  color:#616b5c;
  padding:64px 0 22px
}
.site-footer .wordmark {
  color:white
}
.footer-grid {
  display:grid;
  grid-template-columns:1.5fr 1fr 1fr;
  gap:65px
}
.footer-grid>div>p {
  font-size:.8rem;
  margin:18px 0 8px
}
.footer-grid .muted {
  font-size:.75rem;
  color:#68745f;
  margin:0
}
.footer-grid h2 {
  display:inline-block;
  font-size:.85rem;
  color:white;
  letter-spacing:0;
  margin:4px 0 16px;
  padding-bottom:8px;
  border-bottom:2px solid var(--clay)
}
.footer-grid>div>a:not(.wordmark) {
  display:block;
  font-size:.8rem;
  margin-bottom:10px
}
.footer-grid a:hover {
  color:var(--clay)
}
.footer-bottom {
  display:flex;
  gap:24px;
  justify-content:space-between;
  border-top:1px solid #ffffff18;
  padding-top:22px;
  margin-top:8px;
  font-size:.7rem;
  color:#68745f
}
.page-hero {
  background:var(--forest-deep);
  color:white;
  padding:72px 0 80px;
  position:relative;
  overflow:hidden
}
.page-hero .container {
  position:relative
}
.page-hero h1 {
  font-size:clamp(1.8rem,3.4vw,2.4rem);
  max-width:920px
}
.lead {
  font-size:1rem;
  max-width:650px;
  color:#66695d;
  margin-bottom:0
}
.package-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));
  gap:25px
}
.package {
  border:1px solid var(--line);
  padding:32px;
  border-radius:var(--radius);
  display:flex;
  flex-direction:column
}
.package .card-number {
  margin-bottom:24px
}
.package h3 {
  font-size:1.3rem
}
.package-subtitle {
  font-weight:600;
  color:var(--ink)!important
}
.package p {
  color:var(--muted);
  font-size:.95rem
}
.package .text-link {
  margin-top:auto;
  align-self:start
}
.check-list {
  list-style:none;
  padding:0;
  margin:0 0 30px
}
.check-list li {
  padding:15px 0 15px 25px;
  position:relative;
  border-bottom:1px solid var(--line);
  font-size:.95rem;
  color:var(--muted)
}
.check-list li:before {
  content:'✓';
  position:absolute;
  left:0;
  top:15px;
  color:#94513c
}
.scope-note {
  padding:32px;
  background:white;
  border-left:3px solid var(--clay)
}
.scope-note p {
  margin:0;
  color:var(--muted)
}
.three-grid {
  gap:45px;
  margin-top:45px
}
.three-grid h3 {
  font-size:1.3rem
}
.contact-layout {
  display:grid;
  grid-template-columns:.75fr 1.25fr;
  gap:80px
}
.contact-layout aside>p {
  color:var(--muted);
  font-size:.95rem
}
.preview-notice {
  padding:24px;
  background:#f3eadb;
  border:1px solid #dcc4a9;
  border-radius:8px;
  margin-bottom:32px
}
.preview-notice h2 {
  font-size:1.2rem;
  letter-spacing:-.02em
}
.preview-notice p {
  font-size:.9rem;
  margin-bottom:0;
  color:#6e533f
}
.preview-notice .eyebrow {
  display:block
}
.form-intro,.field-help {
  font-size:.8rem;
  color:var(--muted)
}
.form-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px
}
.field {
  min-width:0
}
.field.full {
  grid-column:1/-1
}
.field label {
  display:block;
  font-size:.85rem;
  font-weight:600;
  line-height:1.5;
  margin-bottom:8px
}
.field label>span {
  color:#94513c
}
.field label .optional {
  font-weight:400;
  color:var(--muted)
}
input,select,textarea {
  display:block;
  width:100%;
  min-height:49px;
  border:1px solid #c2c7b8;
  background:white;
  border-radius:5px;
  padding:11px 12px;
  color:var(--ink);
  font-size:1rem
}
textarea {
  resize:vertical
}
input:focus,select:focus,textarea:focus {
  outline:2px solid #596b4c;
  outline-offset:2px
}
.field-help {
  display:block;
  margin-top:9px;
  line-height:1.6
}
[aria-invalid=true] {
  border-color:#b23731
}
.field-error {
  color:#a02d27;
  font-size:.8rem;
  display:block;
  margin-top:6px
}
.form-status:empty {
  display:none
}
.form-status {
  padding:15px 18px;
  border-radius:5px;
  margin-bottom:24px;
  background:#edf0e7;
  border-left:3px solid #596b4c;
  font-size:.9rem
}
.form-status.error {
  background:#fff2ef;
  border-color:#b23731
}
.form-status.success {
  background:#eef7f1;
  border-color:#356c48
}
.contact-layout form>.note {
  margin:24px 0
}
.prose {
  max-width:790px
}
.prose h2 {
  font-size:1.3rem;
  margin-top:40px
}
.prose h2:first-child {
  margin-top:0
}
.prose p {
  color:var(--muted)
}

@media(min-width:1500px) {
  .hero {
  min-height:720px
}
.hero picture img {
  object-position:center 43%
}

}

@media(max-width:1050px) {
  .container {
  width:calc(100% - 48px)
}
.site-header nav {
  gap:20px
}
.site-header .button.small {
  font-size:.75rem;
  padding:12px
}
.wordmark {
  font-size:1.8rem
}
.split,.faq-layout,.contact-layout {
  gap:45px
}
.service-card {
  padding:26px 23px
}
.service-card h3 {
  font-size:1.15rem
}
.four-grid {
  gap:24px
}
.hero {
  min-height:620px
}
.hero-content>p:not(.eyebrow) {
  max-width:470px
}
.hero h1 {
  font-size:2.4rem
}
.steps {
  gap:24px
}
.footer-grid {
  gap:30px
}

}

@media(max-width:800px) {
  .menu-toggle {
  display:flex;
  align-items:center;
  gap:14px
}
.header-inner {
  min-height:78px;
  flex-wrap:wrap;
  gap:0
}
.site-header nav {
  display:none;
  width:100%;
  align-items:stretch;
  padding:16px 0 24px;
  flex-direction:column;
  gap:12px
}
.site-header nav.open {
  display:flex
}
.site-header nav>a:not(.button) {
  padding:9px 0
}
.nav-item>a {
  padding:9px 0
}
.dropdown {
  position:static;
  width:100%;
  margin:7px 0;
  box-shadow:none;
  opacity:1;
  visibility:visible;
  transform:none;
  display:none
}
.nav-item.submenu-open .dropdown {
  display:block
}
.site-header .button.small {
  font-size:.9rem;
  align-self:start
}
.hero {
  min-height:600px
}
.hero h1 {
  font-size:2.1rem
}
.hero-shade {
  background:linear-gradient(90deg,#35493eed,#35493ebb 45%,#35493e50)
}
.hero-content>p:not(.eyebrow) {
  max-width:450px
}
.hero-caption {
  display:none
}
.hero-actions {
  gap:20px
}
.context-bar .container {
  font-size:.75rem;
  gap:15px
}
.context-bar span:before {
  display:none
}
.section {
  padding:68px 0
}
.section-heading {
  display:block
}
.section-heading>p {
  margin-top:24px;
  max-width:550px
}
.service-grid {
  gap:16px
}
.service-card {
  padding:24px 18px
}
.service-card .eyebrow {
  font-size:.65rem
}
.service-card h3 {
  font-size:1.05rem
}
.service-card p:not(.eyebrow) {
  font-size:.88rem
}
.card-link {
  font-size:.75rem;
  gap:10px
}
.split,.report-section,.faq-layout,.contact-layout {
  grid-template-columns:1fr;
  gap:36px
}
.four-grid,.steps {
  grid-template-columns:1fr 1fr;
  gap:32px
}
.report {
  max-width:660px
}
.closing-inner {
  align-items:start;
  flex-direction:column;
  gap:30px
}
.three-grid {
  gap:24px
}
.footer-grid {
  grid-template-columns:1.2fr 1fr 1fr
}
.footer-bottom {
  flex-wrap:wrap;
  justify-content:start;
  gap:10px 25px
}
.page-hero {
  padding:55px 0 65px
}
.contact-layout aside {
  max-width:660px
}

}

@media(max-width:580px) {
  .container {
  width:calc(100% - 40px)
}
.hero {
  min-height:720px;
  align-items:flex-start
}
.hero picture img {
  object-position:65% center
}
.hero-shade {
  background:linear-gradient(180deg,#35493ef5 0%,#35493ee6 36%,#35493e90 65%,#35493e29 100%)
}
.hero-content {
  padding:52px 0 260px
}
.hero h1 {
  font-size:clamp(1.9rem,7.8vw,2.5rem);
  margin-bottom:22px
}
.hero-content>p:not(.eyebrow) {
  font-size:.95rem;
  line-height:1.75;
  max-width:390px;
  margin-bottom:26px
}
.hero .eyebrow {
  font-size:.65rem
}
.hero-actions {
  align-items:start;
  flex-direction:column;
  gap:15px
}
.button {
  padding:15px 19px;
  font-size:.85rem
}
.context-bar .container {
  flex-direction:column;
  gap:4px;
  padding-block:20px
}
.context-bar span:before {
  display:inline
}
.context-bar {
  font-size:.8rem
}
.section {
  padding:56px 0
}
.section-heading {
  margin-bottom:28px
}
.service-grid,.three-grid {
  grid-template-columns:1fr
}
.service-card {
  padding:28px
}
.service-card h3 {
  font-size:1.25rem;
  max-width:290px
}
.service-card p:not(.eyebrow) {
  font-size:.95rem
}
.service-card .eyebrow {
  font-size:.7rem
}
.card-number {
  margin-bottom:24px
}
.card-link {
  font-size:.85rem
}
.four-grid,.steps {
  gap:28px 22px
}
.four-grid h3,.steps h3 {
  font-size:1.05rem
}
.four-grid p,.steps p {
  font-size:.85rem
}
.steps span {
  margin-bottom:20px
}
.report {
  padding:20px
}
.report-head {
  gap:10px
}
.report h3 {
  font-size:1.05rem
}
.report-meta {
  font-size:.67rem
}
.report .tag {
  font-size:.6rem
}
.closing {
  padding:55px 0
}
.site-footer {
  padding-top:48px
}
.footer-grid {
  grid-template-columns:1fr 1fr;
  gap:35px 24px
}
.footer-grid>div:first-child {
  grid-column:1/-1
}
.footer-bottom {
  flex-direction:column;
  font-size:.68rem
}
.form-grid {
  grid-template-columns:1fr
}
.field.full {
  grid-column:auto
}
.package {
  padding:27px
}
.page-hero h1 {
  font-size:1.9rem
}
.lead {
  font-size:.9rem
}
.scope-note {
  padding:25px
}
.eyebrow {
  font-size:.7rem
}
.prose h2 {
  font-size:1.15rem
}

}

@media(prefers-reduced-motion:reduce) {
  html {
  scroll-behavior:auto
}
*,*:before,*:after {
  transition:none!important
}

}

/* Allow text enlargement without forcing grid tracks beyond their container. */
h1,h2,h3,h4,p,a {
  overflow-wrap:break-word
}
.split>*,.three-grid>*,.four-grid>*,.steps>* {
  min-width:0
}

@media(max-width:580px) {
  .hero picture img {
  object-position:85% center
}
.four-grid,.steps {
  grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr))
}

}

/* Warm residential direction: linen, garden greens and fired-clay accents. */
body { background:#faf8f2; }
h1,h2 { font-family:Georgia,'Times New Roman',serif; font-weight:400; line-height:1.09; }
h3 { font-family:Georgia,'Times New Roman',serif; font-weight:400; }
.hero h1,.page-hero h1 { letter-spacing:-.01em; }
.eyebrow { letter-spacing:.11em; }
.site-header { background:#faf8f2; color:var(--ink); border-bottom:1px solid var(--line); }
.header-inner { min-height:98px; }
.wordmark { font-weight:500; letter-spacing:-.065em; }
.button { background:var(--forest); color:#fffdf7; border-radius:30px; padding:16px 25px; }
.button:hover { background:#253b2e; }
.button.small { border-radius:24px; }
.menu-toggle { color:var(--forest); border-color:#bdc6b5; border-radius:22px; }
.dropdown { border-radius:15px; background:#fffdf8; box-shadow:0 12px 35px #35493e12; }
.dropdown a { border-radius:8px; }
.site-header :focus-visible,.hero :focus-visible { outline-color:var(--forest); }
.hero { background:#faf8f2; color:var(--ink); min-height:660px; overflow:visible; }
.hero picture { inset:28px 3% 32px auto; width:46%; height:auto; overflow:hidden; border-radius:180px 180px 18px 18px; }
.hero picture img { object-position:81% center; }
.hero-shade { display:none; }
.hero-content { padding-block:80px; }
.hero h1 { font-size:clamp(2.2rem,3.8vw,2.75rem); max-width:54%; }
.hero .eyebrow { color:var(--clay); }
.hero-content>p:not(.eyebrow) { max-width:43%; font-size:1rem; line-height:1.85; }
.hero-actions { max-width:47%; gap:20px; }
.text-link.light { color:var(--forest); border-color:#b1baa7; }
.hero-caption { right:6%; bottom:51px; background:#faf8f2eb; color:var(--forest); padding:8px 15px; border-radius:20px; text-shadow:none; }
.context-bar { background:#eeeee4; border:0; }
.context-bar .container { padding-block:23px; }
.service-card,.package { background:#fffdf8; border-color:#e0e1d5; }
.service-card:hover { border-color:#9aa88d; box-shadow:0 12px 32px #35493e08; transform:translateY(-3px); }
.service-card h3 { font-size:1.35rem; }
.card-number { width:43px; height:43px; border-radius:50%; display:grid; place-items:center; background:#f0e9df; color:var(--clay); font-size:.8rem; }
.card-link { border-color:#e2e3d9; }
.grounded { background:#425443; }
.grounded .eyebrow { color:#e0bb94; }
.grounded h2 { color:#fffaf0; }
.grounded h3 { color:#f6f5e9; font-family:Inter,Arial,sans-serif; font-weight:500; }
.grounded p { color:#dce2d2; }
.four-grid article { border-color:#ffffff30; }
.steps span { border:0; color:var(--forest); background:#e8eddf; }
.steps h3 { font-family:Inter,Arial,sans-serif; font-weight:500; font-size:1.1rem; }
.report { background:#fffdf8; border-radius:18px; box-shadow:0 12px 40px #35493e08; }
.report h3 { font-family:Inter,Arial,sans-serif; font-weight:500; }
.report-next { border-color:var(--clay); border-radius:0 9px 9px 0; }
.scope-note { background:#fffdf8; border-radius:0 15px 15px 0; }
.closing { background:#e5e9db; color:var(--forest); }
.closing .eyebrow { color:var(--clay); }
.site-footer { background:#f3f1e8; color:#5c6758; }
.site-footer .wordmark,.footer-grid h2 { color:var(--forest); }
.footer-grid h2 { font-family:Inter,Arial,sans-serif; font-weight:600; }
.footer-bottom { border-color:#d7ddcd; }
.page-hero { background:#e9ecdf; color:var(--forest); }
.page-hero .eyebrow { color:var(--clay); }
.page-hero:after { content:''; position:absolute; width:140px; height:3px; background:#b77559; bottom:0; left:max(40px,calc((100% - 1200px)/2)); }
.preview-notice { border-radius:14px; }
input,select,textarea { background:#fffdf8; border-radius:9px; }
@media(min-width:1500px) { .hero { min-height:710px; } .hero picture img { object-position:81% center; } }
@media(max-width:1050px) { .hero h1 { font-size:2.4rem; } .hero picture { width:45%; border-radius:140px 140px 16px 16px; } .hero-content>p:not(.eyebrow) { max-width:47%; } }
@media(max-width:800px) { .header-inner { min-height:82px; } .hero { min-height:590px; } .hero h1 { font-size:2.1rem; } .hero-actions { flex-direction:column; align-items:start; } .hero picture { width:43%; border-radius:120px 120px 16px 16px; } .hero-content>p:not(.eyebrow) { max-width:49%; } .service-card h3 { font-size:1.2rem; } }
@media(max-width:580px) {
 .hero { min-height:0; display:flex; flex-direction:column; align-items:stretch; }
 .hero-content { order:0; padding:44px 0 34px; }
 .hero h1 { font-size:clamp(2rem,9vw,2.6rem); max-width:100%; }
 .hero-content>p:not(.eyebrow) { max-width:100%; font-size:1rem; }
 .hero-actions { max-width:100%; flex-direction:row; align-items:center; gap:15px 24px; }
 .hero picture { order:1; position:relative; inset:auto; width:calc(100% - 40px); height:330px; margin:0 20px 28px; border-radius:150px 150px 14px 14px; }
 .hero picture img { object-position:85% center; }
 .hero-caption { display:none; }
 .service-card h3 { font-size:1.35rem; }
 .page-hero h1 { font-size:2rem; }
 .page-hero:after { left:20px; }
}

/* Hero media stays out of document flow: existing hero heights are preserved. */
:root { --hero-gutter:max(40px, calc((100vw - 1200px) / 2)); }
.hero picture {
  right:var(--hero-gutter);
  width:calc((100% - 2 * var(--hero-gutter)) * .46);
}
.hero-caption { right:calc(var(--hero-gutter) + 20px); }
.page-hero-media {
  position:absolute;
  top:20px;
  bottom:20px;
  right:var(--hero-gutter);
  width:calc((100% - 2 * var(--hero-gutter)) * .55);
  overflow:hidden;
  border-radius:120px 120px 16px 16px;
  pointer-events:none;
}
.page-hero-media img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:75% center;
}
.page-hero-media::after {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, #e9ecdf 0%, rgba(233,236,223,.98) 18%, rgba(233,236,223,.88) 40%, rgba(233,236,223,.16) 76%, rgba(233,236,223,.03) 100%);
}
.page-hero .container { z-index:1; }
.page-hero:after { left:var(--hero-gutter); }
@media(max-width:1050px) {
  :root { --hero-gutter:24px; }
  .hero picture { width:calc((100% - 2 * var(--hero-gutter)) * .45); }
  .page-hero-media::after { background:linear-gradient(90deg,#e9ecdf 0%,rgba(233,236,223,.95) 40%,rgba(233,236,223,.55) 100%); }
}
@media(max-width:800px) {
  .hero picture { width:calc((100% - 2 * var(--hero-gutter)) * .43); }
  .page-hero-media { width:calc(100% - 2 * var(--hero-gutter)); border-radius:90px 90px 14px 14px; }
  .page-hero-media::after { background:linear-gradient(90deg,rgba(233,236,223,.98) 0%,rgba(233,236,223,.94) 45%,rgba(233,236,223,.76) 100%); }
}
@media(max-width:580px) {
  :root { --hero-gutter:20px; }
  .hero picture { right:auto; width:calc(100% - 2 * var(--hero-gutter)); }
  .page-hero-media { top:16px; bottom:16px; }
}

/* Contact details and shared floating actions. */
.contact-details { margin-bottom:36px; }
.contact-details h2 { font-size:1.3rem; }
.contact-details p { margin-bottom:12px; }
.contact-details .text-link { display:table; margin-bottom:14px; }
.footer-grid>div>a.footer-email { display:inline-block; margin-top:14px; }
.sticky-whatsapp,.sticky-line,.back-to-top {
  position:fixed;
  right:24px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  box-shadow:0 5px 18px #263d302b;
  z-index:30;
}
.sticky-whatsapp { bottom:calc(88px + env(safe-area-inset-bottom, 0px)); width:56px; height:56px; background:#167b42; color:#fff; }
.sticky-whatsapp svg { width:40px; height:40px; }
.sticky-whatsapp:hover { background:#116536; }
.back-to-top { bottom:calc(24px + env(safe-area-inset-bottom, 0px)); width:48px; height:48px; border:1px solid #fff8; background:var(--forest); color:#fff; }
.back-to-top[hidden] { display:none; }
.back-to-top svg { width:22px; height:22px; }
.back-to-top:hover { background:#253b2e; }
@media(max-width:580px) {
  .sticky-whatsapp,.sticky-line,.back-to-top { right:16px; }
  .footer-bottom { padding-inline:60px; align-items:center; text-align:center; }
}

/* A shorter homepage, with detail available through the main navigation. */
.process-link { color:#fffaf0; border-color:#dce2d280; margin-top:32px; }
.process-link:hover { color:#e0bb94; }
.faq-page { max-width:900px; }
.site-header nav { flex-wrap:wrap; }
@media(min-width:1101px) {
  .site-header nav { justify-content:flex-end; }
}
@media(min-width:801px) and (max-width:1100px) {
  .header-inner { flex-wrap:wrap; gap:0; }
  .menu-toggle { display:flex; align-items:center; gap:14px; }
  .site-header nav { display:none; width:100%; align-items:stretch; flex-direction:column; gap:12px; padding:16px 0 24px; }
  .site-header nav.open { display:flex; }
  .site-header nav>a:not(.button) { padding:9px 0; }
  .nav-item>a { padding:9px 0; }
  .dropdown { position:static; width:100%; margin:7px 0; box-shadow:none; opacity:1; visibility:visible; transform:none; display:none; }
  .nav-item.submenu-open .dropdown { display:block; }
  .site-header .button.small { align-self:start; }
}

/* Shared contact icons, inspired by the Walailaklaw contact treatment. */
.contact-channels { display:flex; align-items:center; gap:12px; }
.hero-channels { margin-top:16px; height:44px; }
.channel-link { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; flex:0 0 44px; border:1px solid #344b3630; border-radius:50%; background:#fffaf0; transition:transform .15s ease,background .15s ease; }
.channel-link:hover { transform:translateY(-2px); background:#fff; }
.channel-link:focus-visible { outline:3px solid var(--forest); outline-offset:4px; }
.channel-link svg,.channel-link img { width:24px; height:24px; }
.channel-phone { color:#94613f; }
.channel-email { color:#b34f40; }
.channel-whatsapp { color:#168348; }
.channel-line { color:#06c755; }
.channel-line img { border-radius:5px; }
.footer-channels { margin-top:18px; }
.footer-channels .channel-link { width:31px; height:31px; flex:0 0 31px; }
.footer-channels .channel-link svg,.footer-channels .channel-link img { width:17px; height:17px; }
.page-hero { padding-top:56px; padding-bottom:36px; }
.hero-content { padding-bottom:20px; }
@media(max-width:800px) { .page-hero { padding-top:39px; padding-bottom:21px; } }
@media(max-width:580px) { .hero-content { padding-top:18px; padding-bottom:0; } }
@media(prefers-reduced-motion:reduce) { .channel-link { transition:none; } }

/* Match the supporting-page sage background. */
.hero { background:#e9ecdf; }

/* Logo asset trial: original lettering reserves the existing logo dimensions. */
.wordmark { position:relative; }
.wordmark-original { visibility:hidden; }
.wordmark-image { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }

/* Slim contact bar trial; keep navigation and hero dimensions unchanged. */
.header-contact-bar { background:var(--forest); color:#fffaf0; }
.header-channels { height:36px; justify-content:flex-end; gap:8px; }
.header-channels .channel-link { width:44px; height:36px; flex-basis:44px; border:0; border-radius:0; background:transparent; color:#fffaf0; }
.header-channels .channel-link svg,.header-channels .channel-link img { width:20px; height:20px; }
.header-channels .channel-link:hover { background:#ffffff18; transform:none; }
.header-channels .channel-link:focus-visible { outline:2px solid #fffaf0; outline-offset:-3px; }
.page-hero { padding-top:86px; padding-bottom:66px; }
.hero-content { padding-bottom:80px; }
@media(max-width:800px) { .page-hero { padding-top:69px; padding-bottom:51px; } }
@media(max-width:580px) { .hero-content { padding-top:44px; padding-bottom:34px; } }

/* Optical sizing for the footer WhatsApp artwork. */
.footer-channels .channel-whatsapp svg { width:19px; height:19px; }

/* Optical sizing for WhatsApp in the slim contact bar. */
.header-channels .channel-whatsapp svg { width:22px; height:22px; }

/* Common property concerns: a calm ticker beside fixed contact links. */
.contact-bar-inner { display:flex; align-items:center; gap:16px; min-height:36px; }
.property-ticker { display:flex; flex:1; min-width:0; align-items:center; gap:4px; }
.ticker-window { flex:1; min-width:0; overflow-x:auto; scrollbar-width:none; }
.ticker-window::-webkit-scrollbar { display:none; }
.ticker-track { display:flex; width:max-content; }
.ticker-phrases { display:flex; align-items:center; width:max-content; margin:0; padding:0; list-style:none; }
.ticker-phrases li { flex:none; white-space:nowrap; font-size:12px; line-height:24px; padding-right:40px; }
.ticker-phrases li::after { content:'·'; margin-left:40px; color:#e0bb94; }
.ticker-toggle { display:flex; flex:none; align-items:center; justify-content:center; width:28px; height:28px; padding:0; border:0; border-radius:4px; background:transparent; color:#fffaf0; cursor:pointer; font-size:15px; }
.ticker-toggle[hidden] { display:none; }
.ticker-toggle:hover { background:#ffffff18; }
.header-contact-bar .ticker-toggle:focus-visible,.header-contact-bar .ticker-window:focus-visible { outline:2px solid #fffaf0; outline-offset:-2px; }
.header-channels { flex:none; }
.property-ticker.is-moving .ticker-window { overflow:hidden; }
.property-ticker.is-moving .ticker-track { animation:property-concerns-scroll var(--ticker-duration,160s) linear infinite; }
.property-ticker.is-paused .ticker-track,.property-ticker:hover .ticker-track,.property-ticker:focus-within .ticker-track { animation-play-state:paused; }
@keyframes property-concerns-scroll { to { transform:translateX(-50%); } }
@media(max-width:580px) {
  .contact-bar-inner { gap:6px; }
  .header-channels { gap:0; }
  .header-channels .channel-link { width:30px; flex-basis:30px; }
}
@media(prefers-reduced-motion:reduce) {
  .property-ticker.is-moving .ticker-track { animation:none; }
  .property-ticker.is-moving .ticker-window { overflow-x:auto; }
  .ticker-toggle,.ticker-copy { display:none; }
}


/* Sticky LINE action for Thai pages, sized to match the shared WhatsApp button. */
.sticky-line { bottom:calc(88px + env(safe-area-inset-bottom, 0px)); width:56px; height:56px; background:#fff; }
.sticky-line img { width:40px; height:40px; border-radius:10px; }
.sticky-line:hover { background:#f2f2ea; }

/* Thai typography: a self-hosted Thai-supporting face, with tracking and leading eased
   for stacked vowel/tone marks (the Latin site's tight negative tracking clips them). */
body.lang-th { font-family:'Noto Sans Thai',Inter,Arial,sans-serif; }
body.lang-th h1,body.lang-th h2,body.lang-th h3,body.lang-th h4,
body.lang-th .service-card h3,body.lang-th .package h3,
body.lang-th .steps h3,body.lang-th .report h3,body.lang-th .footer-grid h2 {
  font-family:'Noto Sans Thai',Inter,Arial,sans-serif;
  font-weight:600;
  letter-spacing:normal;
}
body.lang-th h1,body.lang-th h2,body.lang-th h3,body.lang-th h4 { line-height:1.35; }
body.lang-th .eyebrow { letter-spacing:.02em; }
/* The logo is an image; its hidden sizing text must match the Latin pages so the logo is the same size. */
body.lang-th .wordmark { font-family:Inter,Arial,sans-serif; }

/* Walailak-inspired hierarchy, adapted to Baanward's warm palette. */
:root {
  --accent-tint:#f3e7dc;
  --accent-border:#d8bba5;
  --surface:#fffdf8;
  --shadow-soft:0 10px 28px rgba(46,64,55,.08);
}
.eyebrow {
  display:table;
  width:fit-content;
  max-width:100%;
  letter-spacing:.065em;
  overflow-wrap:anywhere;
}
/* The rounded pill/badge treatment is a hero-only accent; other sections keep
   a plain tracked-caps label, matching the rest of the page's quieter type. */
.hero .eyebrow,.page-hero .eyebrow {
  padding:6px 13px;
  border:1px solid var(--accent-border);
  border-radius:999px;
  background:var(--accent-tint);
  color:#81432f;
}
.hero .eyebrow { max-width:50%; }
.section-heading h2::after,.split>div>h2::after,.faq-layout>div>h2::after {
  content:'';
  display:block;
  width:54px;
  height:3px;
  border-radius:999px;
  background:var(--clay);
  margin-top:20px;
}
.site-header { box-shadow:0 3px 18px #2e403709; }
.site-header nav>a:not(.button),.nav-item>a {
  border-radius:8px;
  transition:background .18s,color .18s;
}
.site-header nav>a:not(.button):hover,.nav-item>a:hover {
  background:#e9ecdf;
  color:#77432f;
}
.button {
  box-shadow:0 6px 20px -8px #9b503a66;
  transition:background .18s,transform .18s,box-shadow .18s;
}
.button:hover { box-shadow:0 10px 24px -8px #9b503a80; }
.service-card,.package,.report { box-shadow:0 5px 20px #2e403705; min-width:0; }
.service-card:hover,.service-card:focus-visible {
  border-color:var(--accent-border);
  box-shadow:var(--shadow-soft);
}
.card-number,.steps span { border:1px solid var(--accent-border); background:var(--accent-tint); color:#81432f; }
.situations>div { padding:22px; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
.situations span { flex:none; }
.three-grid>article { padding:24px; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
.grounded .three-grid>article { background:#ffffff08; border-color:#ffffff30; }
.faq-list { border:1px solid var(--line); border-radius:14px; background:var(--surface); }
.faq-list details { padding-inline:24px; }
.faq-list details:last-child { border-bottom:0; }
.faq-list details[open] { background:#f0f2e9; }
.faq-list details:first-child { border-radius:14px 14px 0 0; }
.faq-list details:last-child { border-radius:0 0 14px 14px; }
.faq-list summary:hover { color:var(--clay); }
.faq-list summary span { flex:none; }
.faq-list summary:focus-visible { outline-offset:-3px; border-radius:6px; }
.contact-layout form { padding:30px; border:1px solid var(--line); border-radius:18px; background:var(--surface); box-shadow:var(--shadow-soft); min-width:0; }
.contact-details { padding:24px; border:1px solid var(--line); border-radius:14px; background:var(--surface); }
.contact-details .text-link { overflow-wrap:anywhere; }
input,select,textarea { background:#fff; }
.scope-note { border:1px solid var(--line); border-left:3px solid var(--clay); border-radius:12px; }
.tag,.status { border-radius:999px; }
@media(max-width:580px) {
  .hero .eyebrow { max-width:100%; }
  .eyebrow { font-size:.68rem; letter-spacing:.045em; }
  .contact-layout form,.contact-details { padding:20px; }
  .faq-list details { padding-inline:18px; }
  .faq-list p { padding-right:0; }
  .situations>div { padding:18px; gap:18px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .button,.service-card,.site-header nav>a,.nav-item>a { transition:none; }
  .button:hover,.service-card:hover { transform:none; }
}

/* Locations hub and city pages. */
.breadcrumb { font-size:.8rem; color:var(--muted); margin-bottom:18px; }
.breadcrumb a { border-bottom:1px solid transparent; }
.breadcrumb a:hover { color:var(--clay); border-color:var(--clay); }
.breadcrumb span[aria-hidden] { margin:0 8px; color:#b7bcac; }
.location-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.location-card .eyebrow { margin-bottom:18px; }
.location-card p:not(.eyebrow) { min-height:0; }
.related-locations { display:flex; flex-wrap:wrap; gap:12px 22px; margin-top:28px; }
.related-locations a { font-size:.85rem; font-weight:650; color:var(--forest); border-bottom:1px solid #afb6a5; padding:5px 0; }
.related-locations a:hover { color:#77432f; border-color:var(--clay); }
.footer-locations { display:flex; flex-wrap:wrap; justify-content:center; align-items:baseline; row-gap:8px; column-gap:0; border-top:1px solid #ffffff18; margin-top:32px; padding-top:22px; padding-bottom:8px; font-size:.78rem; border-color:#d7ddcd; }
.footer-locations-label { color:#4f6049; font-weight:650; white-space:nowrap; margin-right:16px; }
.footer-locations a:hover { color:var(--clay); }
.footer-locations a:not(:last-child)::after { content:"|"; margin:0 12px; color:#afb6a5; }
@media(max-width:800px) {
  .location-grid { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:580px) {
  .location-grid { grid-template-columns:1fr; }
  .footer-locations a:not(:last-child)::after { margin:0 9px; }
}

/* Keep parent navigation links separate from keyboard-accessible submenu controls. */
.nav-item { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; }
.nav-toggle { display:grid; place-items:center; min-width:32px; min-height:44px; border:0; border-radius:8px; background:transparent; color:inherit; padding:0 6px; }
.nav-toggle:hover { background:#e9ecdf; }
.nav-toggle .caret { font-size:14px; }
@media(max-width:1100px) {
  .nav-toggle { min-width:44px; }
  .nav-item .dropdown { grid-column:1/-1; max-height:none; overflow:visible; }
}

.footer-grid > div { min-width:0; overflow-wrap:anywhere; }

/* Service and coverage imagery: full-width photographs beneath readable card copy. */
.visual-card.service-card,.visual-card.package { padding:0; overflow:hidden; background:#fffdf8; }
.visual-card .card-copy { display:flex; flex-direction:column; flex:1; padding:32px 30px 0; }
.visual-card.package .card-copy { padding:32px 32px 0; }
.visual-card .card-media { flex:none; margin-top:18px; aspect-ratio:3/2; overflow:hidden; mask-image:linear-gradient(to bottom,transparent 0%,#000 17%); }
.visual-card .card-media img { display:block; width:100%; height:100%; object-fit:cover; }
.visual-card.location-card .card-media { aspect-ratio:16/10; }
@media (min-width:761px) and (max-width:1100px) {
  .visual-card .card-copy { padding:24px 18px 0; }
}
@media (max-width:760px) {
  .visual-card .card-copy,.visual-card.package .card-copy { padding:27px 27px 0; }
}

/* Walailak-style navigation: CSS hover/focus opening and compact dropdown links.
   Keep desktop menus usable even before JavaScript has loaded. */
@media(min-width:1101px) {
  .nav-item { column-gap:4px; }
  .nav-toggle { min-width:24px; padding:0 4px; }
  .nav-toggle .caret { font-size:10px; }
  .nav-item .dropdown { display:block; left:-10px; width:max-content; min-width:210px; max-width:290px; padding:8px; z-index:20; border-radius:8px; box-shadow:0 16px 32px #35493e20; }
  .nav-item .dropdown a { padding:8px 12px; font-size:13px; line-height:1.5; }
  .nav-item:not(.submenu-dismissed):hover .dropdown,
  .nav-item:not(.submenu-dismissed):focus-within .dropdown,
  .nav-item.submenu-open .dropdown { opacity:1; visibility:visible; transform:translateY(0); }
  .nav-item:not(.submenu-dismissed):hover .caret,
  .nav-item:not(.submenu-dismissed):focus-within .caret { transform:rotate(180deg); }
  .nav-item .dropdown a:hover,.nav-item .dropdown a:focus-visible { color:var(--clay); background:var(--soft); }
}
@media(max-width:1100px) {
  .nav-item .dropdown { width:auto; margin:2px 0 2px 16px; padding:0 0 0 12px; border:0; border-left:1px solid var(--line); border-radius:0; background:transparent; box-shadow:none; }
  .nav-item .dropdown a { padding:8px 0; font-size:.85rem; }
}

/* Premium forest-and-champagne direction, following the approved homepage reference. */
:root { --forest:#1c3026; --forest-deep:#122219; --gold:#CFA559; --gold-light:#CFA559; --gold-button:linear-gradient(180deg,#DDB76C,#C79C4D); --ink:#233029; --soft:#f0eee7; --line:#deddd4; }
.site-header { background:#faf9f5; }
.site-header .header-inner { min-height:88px; }




.site-header nav { gap:24px; font-size:14px; }
.site-header nav>a[aria-current="page"] { color:var(--ink); text-decoration:underline; text-decoration-color:#bc955b; text-underline-offset:10px; text-decoration-thickness:1px; }
.site-header .button.small { background:var(--forest-deep); padding:13px 24px; }


.premium-home .hero { position:relative; display:flex; align-items:center; min-height:590px; overflow:hidden; background:#102018; color:#fffdf8; }
.premium-home .hero picture { position:absolute; inset:0; width:100%; height:100%; border-radius:0; }
.premium-home .hero picture img { width:100%; height:100%; object-fit:cover; object-position:center 58%; }
.premium-home .hero-shade { display:block; position:absolute; inset:0; background:linear-gradient(90deg,rgba(9,22,15,.97) 0%,rgba(9,22,15,.84) 30%,rgba(9,22,15,.36) 58%,rgba(9,22,15,.04) 82%); }
.premium-home .hero-content { position:relative; z-index:1; padding-block:60px 48px; }
.premium-home .hero .eyebrow { display:block; width:auto; max-width:730px; background:none; border:0; border-radius:0; padding:0; color:var(--gold-light); font-size:12px; letter-spacing:.2em; line-height:1.7; margin-bottom:20px; }
.premium-home .hero h1 { font-family:Georgia,'Times New Roman',serif; font-size:clamp(40px,4.05vw,62px); font-weight:400; line-height:1.06; letter-spacing:-.02em; max-width:730px; margin-bottom:24px; color:#fffdf8; }
.premium-home .hero h1 span { color:var(--gold-light); }
.premium-home .hero-content>p.hero-intro { max-width:590px; font-size:18px; line-height:1.7; color:#f4f3ed; margin-bottom:28px; }
.premium-home .hero-actions { display:flex; flex-direction:row; flex-wrap:wrap; align-items:center; max-width:750px; gap:16px; margin-top:0; }
.premium-home .hero-actions .button { background:linear-gradient(115deg,#CFA559,#CFA559); color:#19251c; border:1px solid #CFA559; font-size:14px; font-weight:650; padding:15px 26px; gap:20px; }
.premium-home .hero-actions .button:hover { background:#CFA559; transform:translateY(-2px); }
.premium-home .hero-actions .hero-secondary { background:transparent; color:#fffdf8; border-color:#d3d8cd; }
.premium-home .hero-actions .hero-secondary:hover { background:#ffffff15; }
.premium-home .hero :focus-visible { outline-color:var(--gold-light); }
.hero-assurances { display:flex; flex-wrap:wrap; gap:22px; list-style:none; padding:0; margin:25px 0 0; }
.hero-assurances li { display:flex; align-items:center; gap:8px; color:#fffdf8; font-size:12px; }
.hero-assurances svg { flex:none; width:30px; height:30px; color:var(--gold); border:1px solid #c6a66d90; border-radius:50%; padding:5px; }
.premium-home .hero-caption { position:absolute; right:4.8%; bottom:28px; z-index:1; max-width:240px; padding:0 0 12px; margin:0; background:none; color:#fff9ed; border-radius:0; font-family:Georgia,'Times New Roman',serif; font-style:italic; text-align:right; font-size:13px; line-height:1.45; text-shadow:0 2px 8px #000b; }
.premium-home .hero-caption::after { content:''; display:block; margin:10px 0 0 auto; width:56px; height:1px; background:var(--gold); }
.journey-band { background:linear-gradient(110deg,#17291f,#1c3026); color:#fffdf8; padding:28px 0 32px; }
.journey-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.journey-item { display:flex; flex-direction:column; align-items:center; text-align:center; padding:0 16px; position:relative; }
.journey-item + .journey-item { border-left:1px solid #b7c2af28; }
.journey-icon { display:grid; place-items:center; width:58px; height:58px; border:1px solid #c2a26a9c; color:var(--gold); border-radius:50%; margin-bottom:12px; }
.journey-icon svg { width:32px; height:32px; }
.journey-item h2 { font-size:18px; color:#fffdf8; margin-bottom:8px; line-height:1.2; }
.journey-item p { font-size:.8rem; line-height:1.55; margin:0; color:#eee; max-width:272px; }
.journey-item:hover h2 { color:var(--gold-light); }
.journey-item:focus-visible { outline:2px solid var(--gold); outline-offset:5px; }
.support-band { padding:24px 0 30px; background:#f5f3ed; border-bottom:1px solid var(--line); }
.support-label { text-align:center; font-size:10px; letter-spacing:.2em; margin-bottom:24px; }
.support-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.support-item { display:flex; gap:15px; align-items:center; padding:0 22px; }
.support-item + .support-item { border-left:1px solid #26382b25; }
.support-item svg { width:34px; height:34px; flex:none; }
.support-item h2 { font:500 14px/1.4 Inter,Arial,sans-serif; margin-bottom:5px; }
.support-item p { font-size:8px; line-height:1.6; letter-spacing:.12em; margin:0; }
.due-diligence-section { background:#f0eee6; }
.due-diligence-details { background:#fffdf8; padding:30px; border:1px solid var(--line); border-radius:16px; }
.specialist-note { font-size:.85rem; color:var(--muted); margin-bottom:0; }
.premium-home .grounded { background:var(--forest); }
.lang-th.premium-home .hero h1 { font-family:'Noto Sans Thai',sans-serif; font-size:clamp(34px,3.3vw,52px); line-height:1.35; }
.lang-th .journey-item h2 { font-family:'Noto Sans Thai',sans-serif; }
@media(max-width:1200px) and (min-width:1101px) {
  .site-header nav { gap:12px; font-size:12px; }
  .site-header .header-inner { gap:20px; }


  .site-header .button.small { padding:12px 16px; font-size:12px; }
}
@media(max-width:1100px) {

  .site-header nav { font-size:14px; gap:10px; }
  .site-header .header-inner { min-height:80px; }

  .premium-home .hero h1 { max-width:650px; }
  .premium-home .hero-content>p.hero-intro { max-width:560px; }
  .premium-home .hero-caption { display:none; }
  .premium-home .hero-shade { background:linear-gradient(90deg,#0c1a13ed,#0c1a13a8 70%,#0c1a1350); }
  .journey-item { padding:0 16px; }
  .support-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 0; }
  .support-item:nth-child(3) { border-left:0; }
}
@media(max-width:650px) {

  .premium-home .hero { min-height:0; }
  .premium-home .hero picture img { object-position:65% center; }
  .premium-home .hero-shade { background:linear-gradient(90deg,#0b1913f2,#0b1913b8),linear-gradient(0deg,#0b191388,transparent); }
  .premium-home .hero-content { padding:46px 0 38px; }
  .premium-home .hero .eyebrow { font-size:10px; letter-spacing:.15em; margin-bottom:22px; }
  .premium-home .hero h1 { font-size:clamp(35px,8.5vw,46px); line-height:1.1; max-width:100%; }
  .premium-home .hero-content>p.hero-intro { max-width:100%; font-size:15px; line-height:1.75; }
  .premium-home .hero-actions { align-items:stretch; flex-direction:column; max-width:100%; gap:12px; }
  .premium-home .hero-actions .button { justify-content:space-between; padding:14px 21px; }
  .hero-assurances { flex-direction:column; gap:12px; margin-top:24px; }
  .hero-assurances li { font-size:12px; }
  .journey-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 0; }
  .journey-item { padding:0 12px; }
  .journey-item:nth-child(3) { border-left:0; }
  .journey-item h2 { font-size:16px; }
  .journey-item p { font-size:12px; }
  .support-item { padding:0 12px; flex-direction:column; align-items:flex-start; gap:10px; }
  .support-item h2 { font-size:12px; }
  .support-item p { font-size:8px; letter-spacing:.07em; }
  .due-diligence-details { padding:22px; }
}


@media(max-width:580px) {



  .site-header .menu-toggle { font-size:13px; padding:10px 14px; }
}

/* Shared full-bleed hero theme. Content uses the site's existing container margins. */
.page-hero { display:flex; align-items:center; min-height:440px; padding:64px 0; background:#102018; color:#fffdf8; }
.page-hero-media { inset:0; width:100%; height:100%; border-radius:0; }
.page-hero-media img { object-fit:cover; object-position:center 35%; }
.page-hero-media::after { background:linear-gradient(90deg,rgba(9,22,15,.96) 0%,rgba(9,22,15,.84) 32%,rgba(9,22,15,.46) 66%,rgba(9,22,15,.15) 100%); }
.page-hero .container { z-index:1; }
.page-hero h1 { max-width:760px; font-size:clamp(36px,3.6vw,54px); line-height:1.1; color:#fffdf8; margin-bottom:24px; }
.page-hero .hero-emphasis { color:var(--gold-light); }
.page-hero .eyebrow { display:block; width:auto; max-width:760px; border:0; border-radius:0; padding:0; background:none; color:var(--gold-light); font-size:12px; letter-spacing:.18em; }
.page-hero .lead { color:#f4f3ed; max-width:650px; font-size:17px; line-height:1.75; }
.page-hero .breadcrumb { color:#ecebe4; margin-bottom:25px; }
.page-hero .breadcrumb a:hover { color:var(--gold-light); border-color:var(--gold-light); }
.page-hero .breadcrumb span[aria-hidden] { color:#c8c9bc; }
.page-hero::after { background:var(--gold); }
.page-hero .button { background:var(--gold); color:#17271c; }
.page-hero :focus-visible { outline-color:var(--gold-light); }
.lang-th .page-hero h1 { font-family:'Noto Sans Thai',sans-serif; line-height:1.35; }
@media(max-width:800px) {
  .page-hero { min-height:400px; padding:48px 0; }
  .page-hero h1 { font-size:clamp(32px,5vw,44px); }
  .page-hero-media::after { background:linear-gradient(90deg,#0c1a13ed,#0c1a13b8 75%,#0c1a1388); }
}
@media(max-width:580px) {
  .page-hero { min-height:360px; padding:38px 0 44px; }
  .page-hero h1 { font-size:32px; }
  .page-hero .eyebrow { font-size:10px; letter-spacing:.13em; }
  .page-hero .lead { font-size:15px; }
  .page-hero .breadcrumb { font-size:11px; margin-bottom:22px; }
  .page-hero-media::after { background:#0b1913ce; }
}

/* Hero images run edge to edge; only the text follows the standard page margins. */
.premium-home .hero picture,
.premium-home .hero-shade,
.page-hero-media {
  inset:0;
  width:100%;
  height:100%;
  margin:0;
  border-radius:0;
  overflow:hidden;
}
.premium-home .hero picture img { object-position:center 58%; }
.premium-home .hero-shade {
  background:linear-gradient(90deg,rgba(9,22,15,.97) 0%,rgba(9,22,15,.84) 30%,rgba(9,22,15,.36) 58%,rgba(9,22,15,.04) 82%);
}
.page-hero-media::after {
  background:linear-gradient(90deg,rgba(9,22,15,.96) 0%,rgba(9,22,15,.84) 32%,rgba(9,22,15,.46) 66%,rgba(9,22,15,.15) 100%);
}
.premium-home .hero-caption { right:var(--hero-gutter); bottom:36px; }
@media(max-width:800px) {
  .premium-home .hero-shade,.page-hero-media::after {
    background:linear-gradient(90deg,rgba(16,32,24,.96),rgba(16,32,24,.84) 65%,rgba(16,32,24,.6));
  }
}

/* Keep the existing logo and menu height; use the space beneath the wordmark. */
/* Sized in em of the wordmark so it spans exactly the drawn "baanward." lettering (2.1%-97.9% of the logo box). */
.site-header .brand-tagline {
  position:absolute;
  top:calc(100% - 2px);
  left:2.125%;
  width:auto;
  text-align:left;
  font-family:Inter,sans-serif;
  font-size:.2157em;
  font-weight:500;
  line-height:1.5;
  letter-spacing:.05em;
  color:var(--ink);
  white-space:nowrap;
}


/* Language dropdown: the label shows the current language, the list offers the other three. */
.lang-item { justify-self:start; }
.lang-item .lang-toggle { display:inline-flex; align-items:center; gap:7px; min-height:40px; padding:0 12px; border:1px solid var(--line); border-radius:22px; font:inherit; font-size:.85rem; font-weight:650; color:var(--forest); cursor:pointer; }
.lang-item .lang-toggle svg { width:16px; height:16px; flex:none; }
.lang-item .lang-toggle .caret { font-size:12px; }
.lang-item .lang-toggle:hover { background:#e9ecdf; }
.lang-item .lang-toggle:focus-visible { outline:2px solid var(--forest); outline-offset:2px; }
.lang-item .dropdown a { display:flex; align-items:baseline; justify-content:space-between; gap:20px; white-space:nowrap; }
.lang-item .lang-code { color:var(--muted); font-size:.72rem; font-weight:650; letter-spacing:.06em; }
@media(min-width:1101px) {
  .lang-item .dropdown { left:auto; right:0; min-width:170px; }
}
@media(max-width:1100px) {
  .lang-item { align-self:flex-start; }
  .lang-item .lang-toggle { justify-self:start; }
  .lang-item .dropdown { min-width:220px; }
}

/* Hero type scale, following the Walailaklaw hero: 44px headline (32px on phones), 16.5px sub-text
   capped at 520px; inner-page heroes use a 32px heading with 14.5px sub-text. */
.premium-home .hero h1 { font-size:44px; line-height:1.15; letter-spacing:-.01em; }
.premium-home .hero-content>p.hero-intro { font-size:16.5px; line-height:1.7; max-width:520px; color:#d3d6cc; }
.page-hero h1 { font-size:32px; line-height:1.2; }
.page-hero .lead { font-size:14.5px; line-height:1.7; max-width:520px; color:#d3d6cc; }
.lang-th.premium-home .hero h1 { font-size:40px; line-height:1.35; }
@media(max-width:560px) {
  .premium-home .hero h1 { font-size:32px; line-height:1.2; }
  .lang-th.premium-home .hero h1 { font-size:30px; line-height:1.35; }
}

/* Hero eyebrow as a pill badge, following the Walailaklaw location tag. */
.premium-home .hero .eyebrow,
.page-hero .eyebrow {
  display:inline-flex;
  align-items:center;
  width:auto;
  max-width:100%;
  padding:5px 12px;
  border:1px solid rgba(207,165,89,.42);
  border-radius:999px;
  background:rgba(207,165,89,.14);
  color:var(--gold-light);
  font-size:12px;
  font-weight:600;
  letter-spacing:.06em;
  line-height:1.5;
  text-transform:uppercase;
}
.premium-home .hero .eyebrow { margin-bottom:20px; }
.lang-th .hero .eyebrow,.lang-th .page-hero .eyebrow { letter-spacing:.02em; }
@media(max-width:560px) {
  .premium-home .hero .eyebrow,.page-hero .eyebrow { font-size:11px; letter-spacing:.04em; border-radius:16px; }
}

/* How we work: a connected four-step timeline and a dark "agreed up front" panel. */
.process-steps { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.process-steps>li { position:relative; padding-right:8px; }
.step-badge { position:relative; z-index:1; display:grid; place-items:center; width:54px; height:54px; margin-bottom:24px; border-radius:50%; background:var(--forest); color:var(--gold-light); font-family:Georgia,'Times New Roman',serif; font-size:1.05rem; letter-spacing:.02em; box-shadow:0 0 0 6px #faf8f2,0 0 0 7px rgba(155,80,58,.28),0 10px 22px -8px rgba(18,34,25,.55); transition:background .25s ease,color .25s ease,transform .25s ease; }
.process-steps>li:not(:last-child)::after { content:''; position:absolute; top:26px; left:66px; width:calc(100% - 60px + 24px - 12px); height:2px; background:repeating-linear-gradient(90deg,rgba(155,80,58,.55) 0 8px,transparent 8px 14px); }
.process-steps>li:hover .step-badge { background:var(--clay); color:#fffdf8; transform:translateY(-3px); }
.process-steps h3 { margin:0 0 10px; font-size:1.2rem; line-height:1.25; }
.process-steps p { margin:0; color:var(--muted); font-size:.95rem; line-height:1.7; }
.expectations { background:radial-gradient(60% 90% at 100% 0%,rgba(207,165,89,.13),transparent 62%),linear-gradient(135deg,#1f3529 0%,#122219 70%); color:#fffdf8; }
.expectations { padding:72px 0 76px; }
.expect-grid { display:block; }
.expect-intro { margin-bottom:36px; }
.expectations .eyebrow { color:var(--gold-light); }
.expectations h2 { color:#fffdf8; margin-bottom:0; }
.expectations h2::after { content:''; display:block; width:54px; height:3px; margin-top:20px; border-radius:999px; background:var(--gold); }
.agree-list { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px; }
.agree-list>li { display:flex; flex-direction:column; align-items:flex-start; gap:16px; padding:22px 20px; border:1px solid rgba(207,165,89,.2); border-radius:16px; background:rgba(255,255,255,.045); transition:transform .25s ease,border-color .25s ease,background .25s ease; }
.agree-list>li:hover { transform:translateY(-4px); border-color:rgba(207,165,89,.55); background:rgba(255,255,255,.08); }
.agree-icon { flex:none; display:grid; place-items:center; width:46px; height:46px; border-radius:14px; border:1px solid rgba(207,165,89,.35); background:rgba(207,165,89,.1); color:var(--gold-light); }
.agree-icon svg { width:22px; height:22px; }
.agree-text { color:#eef0e8; font-size:1rem; line-height:1.55; }
@media(max-width:1000px) {
  .process-steps { grid-template-columns:1fr; gap:0; max-width:680px; }
  .process-steps>li { padding:0 0 34px 78px; min-height:74px; }
  .process-steps>li:last-child { padding-bottom:0; }
  .step-badge { position:absolute; left:0; top:0; margin:0; }
  .process-steps>li:not(:last-child)::after { top:66px; left:26px; width:2px; height:calc(100% - 66px); background:repeating-linear-gradient(180deg,rgba(155,80,58,.55) 0 8px,transparent 8px 14px); }
  .process-steps h3 { padding-top:12px; }
  .agree-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:720px) { .agree-list { grid-template-columns:repeat(2,minmax(0,1fr)); } .expectations { padding:56px 0 60px; } }
@media(max-width:560px) {
  .agree-list { grid-template-columns:1fr; gap:10px; }
  .agree-list>li { flex-direction:row; align-items:center; padding:14px 16px 14px 14px; gap:14px; }
  .agree-list>li:hover { transform:none; }
}
@media(prefers-reduced-motion:reduce) { .step-badge,.agree-list>li { transition:none; } .process-steps>li:hover .step-badge,.agree-list>li:hover { transform:none; } }

/* The due-diligence band is light, so it needs dark-on-light text (it also carries the .grounded class). */
.grounded.due-diligence-section .eyebrow,.grounded.due-diligence-section .split>div>.eyebrow { color:var(--clay); }
.grounded.due-diligence-section h2 { color:var(--ink); }
.grounded.due-diligence-section .split>div>p,.grounded.due-diligence-section p { color:var(--muted); }

/* Homepage "questions that matter": four question-and-answer cards that fill with forest green on hover. */
.qa-intro { max-width:600px; }
.qa-intro p { color:var(--muted); margin-bottom:14px; }
.qa-grid { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.qa-card { position:relative; display:flex; flex-direction:column; padding:28px 24px 26px; background:#fffdf8; border:1px solid var(--line); border-radius:18px; overflow:hidden; transition:transform .3s ease,background .3s ease,border-color .3s ease,box-shadow .3s ease; }
.qa-card::before { content:'\201C'; position:absolute; right:16px; top:0; font:400 96px/1 Georgia,'Times New Roman',serif; color:rgba(155,80,58,.14); transition:color .3s ease; pointer-events:none; }
.qa-num { margin-bottom:18px; font-size:.75rem; font-weight:700; letter-spacing:.14em; color:var(--clay); transition:color .3s ease; }
.qa-q { position:relative; margin:0 0 20px; font:400 1.12rem/1.4 Georgia,'Times New Roman',serif; color:var(--ink); transition:color .3s ease; }
.qa-a { position:relative; margin:auto 0 0; padding-top:18px; border-top:1px solid var(--line); font-size:.9rem; line-height:1.65; color:var(--muted); transition:color .3s ease,border-color .3s ease; }
.qa-a::before { content:''; position:absolute; left:0; top:-1px; width:36px; height:2px; background:var(--clay); transition:width .3s ease,background .3s ease; }
.lang-th .qa-q { font-family:'Noto Sans Thai',sans-serif; line-height:1.55; }
@media(hover:hover) {
  .qa-card:hover,.qa-card:focus-within { transform:translateY(-6px); background:linear-gradient(160deg,#25392d 0%,#122219 100%); border-color:transparent; box-shadow:0 26px 40px -24px rgba(18,34,25,.6); }
  .qa-card:hover::before,.qa-card:focus-within::before { color:rgba(207,165,89,.18); }
  .qa-card:hover .qa-num,.qa-card:focus-within .qa-num { color:var(--gold-light); }
  .qa-card:hover .qa-q,.qa-card:focus-within .qa-q { color:#fffdf8; }
  .qa-card:hover .qa-a,.qa-card:focus-within .qa-a { color:#dfe5d8; border-color:rgba(207,165,89,.28); }
  .qa-card:hover .qa-a::before,.qa-card:focus-within .qa-a::before { width:64px; background:var(--gold); }
}
@media(max-width:1000px) { .qa-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:620px) { .qa-grid { grid-template-columns:1fr; } .qa-intro { max-width:none; margin-top:20px; } }
@media(prefers-reduced-motion:reduce) { .qa-card,.qa-card::before,.qa-num,.qa-q,.qa-a,.qa-a::before { transition:none; } .qa-card:hover { transform:none; } }

/* Section intro paragraphs share one width so they read as about three lines. */
.qa-intro { max-width:545px; }
.section-heading>.section-intro { max-width:500px; }
.section-heading>.section-intro { color:var(--muted); }

/* Service cards: full-bleed photo tiles with the copy set over a deep-green fade. */
.service-grid .visual-card.service-card { position:relative; display:flex; flex-direction:column; justify-content:flex-end; min-height:400px; padding:0; border:0; border-radius:22px; overflow:hidden; isolation:isolate; background:#122219; box-shadow:0 22px 44px -28px rgba(18,34,25,.7); transition:transform .4s ease,box-shadow .4s ease; }
.service-grid .visual-card.service-card::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(9,22,15,.08) 0%,rgba(9,22,15,.3) 38%,rgba(9,22,15,.93) 100%); transition:opacity .4s ease; }
.service-grid .visual-card.service-card .card-media { position:absolute; inset:0; z-index:-2; margin:0; aspect-ratio:auto; mask-image:none; -webkit-mask-image:none; overflow:hidden; }
.service-grid .visual-card.service-card .card-media img { width:100%; height:100%; object-fit:cover; transition:transform .9s cubic-bezier(.2,.7,.2,1); }
.service-grid .visual-card.service-card .card-copy { position:static; flex:none; padding:0 26px 26px; }
.service-grid .visual-card.service-card .card-number { position:absolute; top:20px; left:22px; width:auto; height:auto; padding:6px 13px; border:1px solid rgba(207,165,89,.5); border-radius:999px; background:rgba(16,32,24,.5); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); color:var(--gold-light); font-size:.75rem; font-weight:700; letter-spacing:.14em; }
.service-grid .visual-card.service-card h3 { margin:0 0 8px; color:#fffdf8; font-size:1.35rem; line-height:1.25; }
.service-grid .visual-card.service-card p { margin:0 0 16px; color:#e3e8dc; font-size:.9rem; line-height:1.6; }
.service-grid .visual-card.service-card .card-link { align-self:flex-start; padding-bottom:4px; border-bottom:1px solid rgba(207,165,89,.5); color:var(--gold-light); font-size:.85rem; font-weight:600; transition:border-color .3s ease,letter-spacing .3s ease; }
.service-grid .visual-card.service-card:hover,.service-grid .visual-card.service-card:focus-visible { transform:translateY(-6px); box-shadow:0 32px 50px -26px rgba(18,34,25,.85); }
.service-grid .visual-card.service-card:hover .card-media img { transform:scale(1.07); }
.service-grid .visual-card.service-card:hover .card-link { border-color:var(--gold); letter-spacing:.02em; }
/* Five services: one tall feature tile beside a 2 x 2 block. */
.service-grid.svc-bento { grid-template-columns:1.15fr 1fr 1fr; grid-auto-rows:minmax(300px,auto); gap:18px; }
.service-grid.svc-bento .visual-card.service-card { min-height:300px; }
.service-grid.svc-bento .visual-card.service-card:first-child { grid-row:span 2; min-height:620px; }
.service-grid.svc-bento .visual-card.service-card:first-child h3 { font-size:1.8rem; }
.service-grid.svc-bento .visual-card.service-card:first-child p { font-size:.98rem; max-width:34ch; }
@media(max-width:1000px) {
  .service-grid.svc-bento { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .service-grid.svc-bento .visual-card.service-card:first-child { grid-row:auto; grid-column:1/-1; min-height:400px; }
}
@media(max-width:620px) {
  .service-grid.svc-bento { grid-template-columns:1fr; }
  .service-grid .visual-card.service-card,.service-grid.svc-bento .visual-card.service-card { min-height:340px; }
  .service-grid.svc-bento .visual-card.service-card:first-child { min-height:380px; }
}
@media(prefers-reduced-motion:reduce) { .service-grid .visual-card.service-card,.service-grid .visual-card.service-card .card-media img,.service-grid .visual-card.service-card .card-link { transition:none; } .service-grid .visual-card.service-card:hover { transform:none; } .service-grid .visual-card.service-card:hover .card-media img { transform:none; } }

/* "Someone to speak to": four glass pillars beside the heading. */
.pillars-section { background:radial-gradient(55% 80% at 0% 100%,rgba(207,165,89,.11),transparent 62%),linear-gradient(135deg,#1e3428 0%,#122219 72%); color:#fffdf8; }
.pillars-grid { display:grid; grid-template-columns:minmax(0,4fr) minmax(0,8fr); gap:64px; align-items:center; }
.pillars-section .eyebrow { color:var(--gold-light); }
.pillars-section h2 { color:#fffdf8; margin-bottom:0; }
.pillars-section h2::after { content:''; display:block; width:54px; height:3px; margin:20px 0 26px; border-radius:999px; background:var(--gold); }
.pillars-list { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; counter-reset:pillar; }
.pillar { position:relative; overflow:hidden; counter-increment:pillar; padding:26px 26px 24px; border:1px solid rgba(207,165,89,.2); border-radius:20px; background:linear-gradient(160deg,rgba(255,255,255,.075),rgba(255,255,255,.02)); transition:transform .3s ease,border-color .3s ease,background .3s ease; }
.pillar::after { content:'0' counter(pillar); position:absolute; right:18px; top:6px; font:400 68px/1 Georgia,'Times New Roman',serif; color:rgba(207,165,89,.09); pointer-events:none; }
.pillar:hover { transform:translateY(-5px); border-color:rgba(207,165,89,.55); background:linear-gradient(160deg,rgba(255,255,255,.11),rgba(255,255,255,.03)); }
.pillar-icon { display:grid; place-items:center; width:46px; height:46px; margin-bottom:18px; border:1px solid rgba(207,165,89,.4); border-radius:14px; background:rgba(207,165,89,.1); color:var(--gold-light); }
.pillar-icon svg { width:22px; height:22px; }
.pillar h3 { margin:0 0 8px; color:#fffdf8; font-family:Georgia,'Times New Roman',serif; font-size:1.2rem; font-weight:400; line-height:1.3; }
.lang-th .pillar h3 { font-family:'Noto Sans Thai',sans-serif; font-weight:600; }
.pillar p { position:relative; margin:0; color:#dbe1d3; font-size:.92rem; line-height:1.65; }
@media(max-width:1000px) { .pillars-grid { grid-template-columns:1fr; gap:36px; } }
@media(max-width:560px) { .pillars-list { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { .pillar { transition:none; } .pillar:hover { transform:none; } }

/* "Someone to speak to": light, horizontal row of four pillars. */
.pillars-section { background:#fffdf8; color:var(--ink); }
.pillars-grid { display:block; }
.pillars-intro { display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:18px 40px; margin-bottom:38px; }
.pillars-intro .eyebrow { flex:0 0 100%; margin:0 0 6px; }
.pillars-section .eyebrow { color:var(--clay); }
.pillars-section h2 { color:var(--forest); margin:0; }
.pillars-section h2::after { margin:18px 0 0; background:var(--clay); }
.pillars-intro .process-link { margin:0 0 4px; color:var(--forest); border-color:#afb6a5; }
.pillars-intro .process-link:hover { color:#77432f; border-color:var(--clay); }
.pillars-list { grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.pillar { padding:26px 22px 24px; border:1px solid #dfe5d3; border-radius:20px; background:linear-gradient(170deg,#f1f4ea,#e8ede0); box-shadow:none; }
.pillar::after { color:rgba(155,80,58,.1); }
.pillar:hover { transform:translateY(-5px); border-color:#b9c4a8; background:linear-gradient(170deg,#f5f8ee,#e9eee1); box-shadow:0 18px 32px -22px rgba(28,48,38,.45); }
.pillar-icon { border:1px solid #c9d3b9; background:#fffdf8; color:var(--forest); }
.pillar h3 { color:var(--forest); font-size:1.12rem; }
.pillar p { color:#56635a; font-size:.88rem; }
@media(max-width:1000px) { .pillars-list { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:560px) { .pillars-list { grid-template-columns:1fr; } }

/* Footer: deep forest, with a lighter coverage bar. */
.site-footer { background:radial-gradient(60% 90% at 0% 100%,rgba(207,165,89,.09),transparent 62%),linear-gradient(135deg,#1e3428 0%,#122219 72%); color:#d3dccb; }
.site-footer .wordmark,.footer-grid h2 { color:#fffdf8; }
.footer-grid h2 { border-bottom-color:var(--gold); }
.footer-grid>div>p,.footer-grid .note { color:#c5cfbd; }
.footer-grid a:not(.channel-link) { color:#e3e9dc; }
.footer-grid a:not(.channel-link):hover { color:var(--gold-light); }
.footer-locations a:hover { color:var(--gold-light); }
.footer-bottom { border-color:rgba(207,165,89,.16); color:#a9b5a1; }
.footer-locations { border-top:0; margin-top:34px; padding-top:16px; padding-bottom:16px; background:#2b4436; box-shadow:0 0 0 100vmax #2b4436; clip-path:inset(0 -100vmax); color:#e3e9dc; }
.footer-locations-label { color:var(--gold-light); }
.footer-locations a { color:#e3e9dc; }
.footer-locations a:not(:last-child)::after { color:rgba(207,165,89,.45); }
.footer-channels .channel-link { border-color:transparent; }
.site-footer :focus-visible { outline-color:var(--gold-light); }

/* Closing band: clay-to-gold rule, house watermark and the four contact icons. */
.closing { position:relative; overflow:hidden; isolation:isolate; }
.closing::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--clay),var(--gold)); }
.closing::after { content:''; position:absolute; z-index:-1; right:max(-40px,calc((100% - 1200px)/2 - 60px)); top:50%; width:340px; height:340px; transform:translateY(-50%); opacity:.6; pointer-events:none; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' fill='none' stroke='%23c9d3b9' stroke-width='3' stroke-linejoin='round' stroke-linecap='round'%3E%3Cpath d='M20 100 100 30l80 70'/%3E%3Cpath d='M40 90v80h120V90'/%3E%3Cpath d='M85 170v-45h30v45'/%3E%3Ccircle cx='100' cy='92' r='3' fill='%23c9d3b9'/%3E%3C/svg%3E") center/contain no-repeat; }
.closing-actions { display:flex; flex-direction:column; align-items:flex-end; gap:22px; }
.closing-channels { display:flex; gap:12px; margin:0; }
.closing-channels .channel-link { width:52px; height:52px; flex:0 0 52px; border-color:#cdd6bf; background:#fffdf8; }
.closing-channels .channel-link svg,.closing-channels .channel-link img { width:26px; height:26px; }
.closing-channels .channel-whatsapp svg { width:30px; height:30px; }
@media(max-width:800px) { .closing-actions { align-items:flex-start; } .closing::after { opacity:.35; right:-90px; } }

/* Closing band: text, contact icons and inquiry button share one row. */
.closing-inner { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:32px; }
.closing-inner>.button { justify-self:end; }
.closing-channels { justify-self:center; }
.footer-bottom { align-items:center; }
.footer-legal a { color:inherit; border-bottom:1px solid rgba(207,165,89,.35); padding-bottom:1px; }
.footer-legal a:hover { color:var(--gold-light); border-color:var(--gold-light); }
@media(max-width:900px) { .closing-inner { grid-template-columns:1fr; justify-items:start; gap:26px; } .closing-inner>.button,.closing-channels { justify-self:start; } }

/* About page: the homepage design language (numbered cards, forest panel, coverage chips). */
.ab-head { display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:20px 56px; margin-bottom:38px; }
.ab-head h2 { margin:0; }
.ab-head h2::after { content:''; display:block; width:54px; height:3px; margin:20px 0 0; border-radius:999px; background:var(--clay); }
.ab-head .eyebrow { margin-bottom:10px; }
.ab-lead { margin:0; max-width:520px; color:var(--muted); line-height:1.7; }
.ab-duo { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.ab-card { position:relative; overflow:hidden; padding:34px 34px 32px; border:1px solid var(--line); border-radius:22px; background:#fffdf8; box-shadow:0 18px 40px -32px rgba(28,48,38,.45); transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease; }
.ab-card::before { content:''; position:absolute; left:34px; top:0; width:48px; height:3px; border-radius:0 0 3px 3px; background:var(--clay); }
.ab-card:hover { transform:translateY(-5px); border-color:#cfd5c2; box-shadow:0 28px 44px -30px rgba(28,48,38,.55); }
.ab-num { display:block; margin-bottom:16px; color:var(--clay); font-size:.75rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.ab-card h3 { margin:0 0 12px; font-family:Georgia,'Times New Roman',serif; font-size:1.45rem; font-weight:400; line-height:1.3; color:var(--forest); }
.lang-th .ab-card h3,.lang-th .ab-glass p { font-family:'Noto Sans Thai',sans-serif; }
.ab-card p { margin:0; color:var(--muted); line-height:1.7; font-size:.95rem; }
.ab-intro { background:#faf8f2; }
.ab-roles { background:#faf8f2; }
.ab-note { margin:22px 0 0; padding:20px 26px; border-left:3px solid var(--clay); border-radius:0 16px 16px 0; background:#f0eee7; color:var(--muted); font-size:.9rem; line-height:1.7; }

.ab-dark { background:radial-gradient(55% 80% at 0% 100%,rgba(207,165,89,.11),transparent 62%),linear-gradient(135deg,#1e3428 0%,#122219 72%); color:#fffdf8; }
.ab-dark-grid { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:64px; align-items:center; }
.ab-dark .eyebrow { color:var(--gold-light); }
.ab-dark h2 { color:#fffdf8; margin:0; }
.ab-dark h2::after { content:''; display:block; width:54px; height:3px; margin:20px 0 0; border-radius:999px; background:var(--gold); }
.ab-glass-list { display:grid; gap:16px; }
.ab-glass { display:grid; grid-template-columns:auto 1fr; gap:20px; align-items:start; padding:26px 28px; border:1px solid rgba(207,165,89,.2); border-radius:20px; background:linear-gradient(160deg,rgba(255,255,255,.075),rgba(255,255,255,.02)); transition:transform .3s ease,border-color .3s ease; }
.ab-glass:hover { transform:translateY(-4px); border-color:rgba(207,165,89,.55); }
.ab-glass .pillar-icon { margin:0; border:1px solid rgba(207,165,89,.4); background:rgba(207,165,89,.1); color:var(--gold-light); }
.ab-glass p { margin:0; color:#e3e8dc; font-size:1rem; line-height:1.7; }

.ab-cover-grid { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:64px; align-items:start; }
.ab-cover h2 { margin:0; }
.ab-cover h2::after { content:''; display:block; width:54px; height:3px; margin:20px 0 0; border-radius:999px; background:var(--clay); }
.ab-cover p:not(.eyebrow) { margin:0 0 24px; color:var(--muted); line-height:1.7; }
.ab-chips { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:10px; }
.ab-chips a { display:inline-block; padding:10px 20px; border:1px solid #cfd5c2; border-radius:999px; background:#fffdf8; color:var(--forest); font-size:.88rem; font-weight:600; transition:background .25s ease,color .25s ease,border-color .25s ease,transform .25s ease; }
.ab-chips a:hover { background:var(--forest); border-color:var(--forest); color:#fffdf8; transform:translateY(-2px); }
.ab-chips .ab-chip-all a { border-color:var(--clay); color:var(--clay); }
.ab-chips .ab-chip-all a:hover { background:var(--clay); border-color:var(--clay); color:#fffdf8; }
@media(max-width:900px) {
  .ab-duo { grid-template-columns:1fr; }
  .ab-dark-grid,.ab-cover-grid { grid-template-columns:1fr; gap:34px; }
  .ab-card { padding:30px 26px 28px; }
  .ab-card::before { left:26px; }
}
@media(prefers-reduced-motion:reduce) { .ab-card,.ab-glass,.ab-chips a { transition:none; } .ab-card:hover,.ab-glass:hover,.ab-chips a:hover { transform:none; } }

/* Closing band: equal space either side of the contact icons. */
.closing-inner { display:flex; align-items:center; justify-content:space-between; gap:32px; }
.closing-inner>.button,.closing-channels { flex:none; }
@media(max-width:900px) { .closing-inner { flex-direction:column; align-items:flex-start; gap:26px; } }

/* About coverage chips stay on one row on desktop. */
.ab-cover-grid { grid-template-columns:minmax(0,4fr) minmax(0,8fr); gap:48px; }
@media(min-width:901px) { .ab-chips { flex-wrap:nowrap; gap:8px; } .ab-chips a { padding:9px 15px; font-size:.85rem; white-space:nowrap; } }
@media(max-width:900px) { .ab-cover-grid { grid-template-columns:1fr; gap:34px; } }
@media(min-width:901px) and (max-width:1150px) { .ab-chips { gap:6px; } .ab-chips a { padding:8px 11px; font-size:.78rem; } .ab-cover-grid { gap:32px; } }

/* About coverage: paragraph and chips sit toward the right edge. */
.ab-cover-grid>div:last-child { justify-self:end; max-width:600px; }
.ab-cover-grid>div:last-child .ab-chips { justify-content:flex-end; }
@media(max-width:900px) { .ab-cover-grid>div:last-child { justify-self:stretch; max-width:none; } .ab-cover-grid>div:last-child .ab-chips { justify-content:flex-start; } }

/* Coverage and Services pages: three-up cards, photo tiles for locations, forest approach panel. */
.ab-trio { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.jr-track { display:flex; gap:6px; margin-top:24px; }
.jr-track i { width:34px; height:4px; border-radius:99px; background:#dcdfd0; }
.jr-track i.on { background:var(--clay); }
.jr-card .ab-num { display:inline-block; margin-bottom:18px; padding:6px 14px; border:1px solid #d9c3b8; border-radius:999px; background:#f7ede7; }
.cv-glass-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.cv-glass { grid-template-columns:1fr; gap:18px; padding:26px 24px 28px; }
.cv-glass h3 { margin:0 0 8px; color:#fffdf8; font-family:Georgia,'Times New Roman',serif; font-size:1.2rem; font-weight:400; line-height:1.3; }
.lang-th .cv-glass h3 { font-family:'Noto Sans Thai',sans-serif; font-weight:600; }
.cv-glass p { font-size:.9rem; color:#dbe1d3; }
.cv-approach .ab-head { align-items:flex-end; }
.cv-approach .process-link { margin:0 0 4px; }

.location-grid .visual-card.location-card { position:relative; display:flex; flex-direction:column; justify-content:flex-end; min-height:300px; padding:0; border:0; border-radius:22px; overflow:hidden; isolation:isolate; background:#122219; box-shadow:0 22px 44px -28px rgba(18,34,25,.7); transition:transform .4s ease,box-shadow .4s ease; }
.location-grid .visual-card.location-card::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(9,22,15,.08) 0%,rgba(9,22,15,.3) 38%,rgba(9,22,15,.93) 100%); }
.location-grid .visual-card.location-card .card-media { position:absolute; inset:0; z-index:-2; margin:0; aspect-ratio:auto; mask-image:none; -webkit-mask-image:none; overflow:hidden; }
.location-grid .visual-card.location-card .card-media img { width:100%; height:100%; object-fit:cover; transition:transform .9s cubic-bezier(.2,.7,.2,1); }
.location-grid .visual-card.location-card .card-copy { position:static; flex:none; padding:0 26px 26px; }
.location-grid .visual-card.location-card .eyebrow { position:absolute; top:20px; left:22px; margin:0; padding:6px 13px; border:1px solid rgba(207,165,89,.5); border-radius:999px; background:rgba(16,32,24,.5); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); color:var(--gold-light); font-size:.68rem; letter-spacing:.12em; }
.location-grid .visual-card.location-card h3 { margin:0 0 8px; color:#fffdf8; font-size:1.5rem; line-height:1.2; }
.location-grid .visual-card.location-card p:not(.eyebrow) { margin:0 0 16px; color:#e3e8dc; font-size:.9rem; line-height:1.6; }
.location-grid .visual-card.location-card .card-link { align-self:flex-start; padding-bottom:4px; border-bottom:1px solid rgba(207,165,89,.5); color:var(--gold-light); font-size:.85rem; font-weight:600; transition:border-color .3s ease,letter-spacing .3s ease; }
.location-grid .visual-card.location-card:hover { transform:translateY(-6px); box-shadow:0 32px 50px -26px rgba(18,34,25,.85); }
.location-grid .visual-card.location-card:hover .card-media img { transform:scale(1.07); }
.location-grid .visual-card.location-card:hover .card-link { border-color:var(--gold); letter-spacing:.02em; }
.location-grid.loc-core { grid-template-columns:1.15fr 1fr 1fr; grid-auto-rows:minmax(290px,auto); gap:18px; }
.location-grid.loc-core .visual-card.location-card:first-child { grid-row:span 2; min-height:600px; }
.location-grid.loc-core .visual-card.location-card:first-child h3 { font-size:1.9rem; }
.location-grid.loc-more { grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; margin-top:18px; }
.location-grid.loc-more .visual-card.location-card { min-height:290px; }
.location-grid.loc-more .visual-card.location-card p:not(.eyebrow) { display:none; }
@media(max-width:1000px) {
  .location-grid.loc-core { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .location-grid.loc-core .visual-card.location-card:first-child { grid-row:auto; grid-column:1/-1; min-height:400px; }
  .location-grid.loc-more { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cv-glass-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:900px) { .ab-trio { grid-template-columns:1fr; } }
@media(max-width:620px) {
  .location-grid.loc-core,.location-grid.loc-more,.cv-glass-grid { grid-template-columns:1fr; }
  .location-grid .visual-card.location-card,.location-grid.loc-core .visual-card.location-card:first-child { min-height:320px; }
}
@media(prefers-reduced-motion:reduce) { .location-grid .visual-card.location-card,.location-grid .visual-card.location-card .card-media img { transition:none; } .location-grid .visual-card.location-card:hover,.location-grid .visual-card.location-card:hover .card-media img { transform:none; } }
.service-grid .visual-card.service-card .card-link,.location-grid .visual-card.location-card .card-link { border-top:0; padding-top:0; }
.location-grid .visual-card.location-card .card-link,.service-grid .visual-card.service-card .card-link { display:inline-flex; width:auto; gap:8px; align-items:center; }
.cv-glass { align-content:start; }
.jr-card { display:flex; flex-direction:column; align-items:flex-start; }
.jr-card .jr-track { margin-top:auto; padding-top:24px; }

/* Location pages: numbered stage cards, five service tiles, checklist cards, nearby chips. */
.ab-quad { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.ab-quad .ab-card { padding:30px 26px 28px; }
.ab-quad .ab-card h3 { font-size:1.25rem; }
.ab-cover .ab-note { margin:22px 0 0; }
.ab-cover .ab-checks+.ab-note { margin-top:18px; }
.ab-checks { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.ab-checks li { display:grid; grid-template-columns:auto 1fr; gap:14px; align-items:start; padding:18px 20px; border:1px solid var(--line); border-radius:16px; background:#fffdf8; color:var(--ink); font-size:.92rem; line-height:1.55; transition:transform .25s ease,border-color .25s ease; }
.ab-checks li::before { content:'✓'; display:grid; place-items:center; width:26px; height:26px; border-radius:50%; background:#f7ede7; border:1px solid #d9c3b8; color:var(--clay); font-size:.8rem; font-weight:700; }
.ab-checks li:hover { transform:translateY(-3px); border-color:#cfd5c2; }
.ab-near h2::after { content:''; display:block; width:54px; height:3px; margin:20px 0 0; border-radius:999px; background:var(--clay); }
.ab-near .related-locations { margin-top:30px; gap:10px; }
.ab-near .related-locations a { padding:10px 20px; border:1px solid #cfd5c2; border-radius:999px; background:#fffdf8; color:var(--forest); font-size:.88rem; font-weight:600; transition:background .25s ease,color .25s ease,border-color .25s ease,transform .25s ease; }
.ab-near .related-locations a:hover { background:var(--forest); border-color:var(--forest); color:#fffdf8; transform:translateY(-2px); }
.ab-near .related-locations a:last-child { border-color:var(--clay); color:var(--clay); }
.ab-near .related-locations a:last-child:hover { background:var(--clay); border-color:var(--clay); color:#fffdf8; }
@media(max-width:1000px) { .ab-quad { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:620px) { .ab-quad,.ab-checks { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { .ab-checks li,.ab-near .related-locations a { transition:none; } .ab-checks li:hover,.ab-near .related-locations a:hover { transform:none; } }

/* Location pages, horizontal: checklist row and intro callout. */
.ct-intro .ab-note { margin-top:26px; max-width:none; }
.ab-checks.ab-checks-row { grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.ab-checks-row li { grid-template-columns:1fr; gap:14px; padding:22px 22px 24px; border-radius:20px; }
.ab-checks-row li::before { width:34px; height:34px; font-size:1rem; }
@media(max-width:1000px) { .ab-checks.ab-checks-row { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:620px) { .ab-checks.ab-checks-row { grid-template-columns:1fr; } }

/* Service pages: horizontal package bands, lead bands, due-diligence timeline. */
.package-grid { grid-template-columns:1fr; gap:22px; }
.visual-card.package { position:relative; display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); grid-template-areas:'media copy'; padding:0; border:1px solid var(--line); border-radius:24px; overflow:hidden; background:#fffdf8; box-shadow:0 22px 44px -34px rgba(28,48,38,.5); }
.visual-card.package:nth-child(even) { grid-template-columns:minmax(0,7fr) minmax(0,5fr); grid-template-areas:'copy media'; }
.visual-card.package .card-media { grid-area:media; position:relative; margin:0; aspect-ratio:auto; min-height:340px; mask-image:none; -webkit-mask-image:none; }
.visual-card.package .card-media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .9s cubic-bezier(.2,.7,.2,1); }
.visual-card.package:hover .card-media img { transform:scale(1.05); }
.visual-card.package .card-media::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(9,22,15,0) 55%,rgba(9,22,15,.45)); }
.visual-card.package .card-copy { grid-area:copy; padding:38px 40px 34px; }
.package .card-number { display:inline-grid; margin:0 12px 0 0; width:38px; height:38px; vertical-align:middle; }
.package .card-copy .eyebrow { display:inline-block; margin:0; vertical-align:middle; }
.package .card-copy h3 { margin:20px 0 10px; font-size:1.55rem; line-height:1.25; }
.package .card-copy>p:not(.eyebrow) { margin:0 0 12px; max-width:62ch; }
.package .check-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 16px; margin:18px 0 22px; }
.package .check-list li { margin:0; padding:14px 16px 14px 42px; border:0; border-radius:14px; background:#f3f2ea; font-size:.88rem; line-height:1.55; }
.package .check-list li::before { left:15px; top:14px; }
.package .text-link { margin-top:auto; }

.sv-band { background:#faf8f2; }
.sv-band.soft { background:#f0eee7; }
.sv-band .ab-note,.sv-dd .ab-note { margin-top:26px; }
.sv-dd .process-steps { margin-top:6px; }
.sv-dd .process-steps p { color:var(--ink); font-size:.95rem; }
.ct-clear .ab-glass p { font-size:1.02rem; }
@media(max-width:900px) {
  .visual-card.package,.visual-card.package:nth-child(even) { grid-template-columns:1fr; grid-template-areas:'media' 'copy'; }
  .visual-card.package .card-media { min-height:220px; }
  .visual-card.package .card-copy { padding:28px 24px 26px; }
  .package .check-list { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) { .visual-card.package .card-media img { transition:none; } .visual-card.package:hover .card-media img { transform:none; } }
.visual-card.package .card-copy { flex-direction:row; flex-wrap:wrap; align-items:center; align-content:flex-start; }
.visual-card.package .card-copy>*:not(.card-number):not(.eyebrow) { flex:0 0 100%; }
.visual-card.package .card-copy .text-link { flex:0 0 auto; margin-top:6px; }

/* About coverage: paragraph centred over the chip row. */
.ab-cover-grid>div:last-child { text-align:center; }
.ab-cover-grid>div:last-child .ab-chips { justify-content:center; }
@media(max-width:900px) { .ab-cover-grid>div:last-child { text-align:left; } .ab-cover-grid>div:last-child .ab-chips { justify-content:flex-start; } }

/* Closing band contact: labelled 2 x 2 tiles. */
.closing-channels { display:grid; grid-template-columns:repeat(2,auto); gap:10px; }
.closing-channels .channel-link { width:auto; height:48px; flex:none; justify-content:flex-start; gap:10px; padding:0 20px 0 14px; border-radius:999px; white-space:nowrap; }
.closing-channels .channel-link svg,.closing-channels .channel-link img { width:22px; height:22px; flex:none; }
.closing-channels .channel-whatsapp svg { width:24px; height:24px; }
.closing-channels .channel-text { color:var(--forest); font-size:.86rem; font-weight:600; }
.closing-channels .channel-link:hover { border-color:var(--forest); background:#fff; box-shadow:0 10px 20px -14px rgba(28,48,38,.6); }
@media(max-width:420px) { .closing-channels { grid-template-columns:1fr; } }

/* Keep the closing band the same height as its text block. */
.closing-channels { gap:8px 10px; }
.closing-channels .channel-link { height:38px; padding:0 18px 0 12px; gap:8px; }
.closing-channels .channel-link svg,.closing-channels .channel-link img { width:20px; height:20px; }
.closing-channels .channel-whatsapp svg { width:22px; height:22px; }
.closing-channels .channel-text { font-size:.82rem; }

/* Closing band: one row of four labelled tiles between the heading and the inquiry button. */
@media(min-width:1200px) {
  .closing-channels { grid-template-columns:repeat(4,auto); gap:8px; }
  .closing-channels .channel-link { height:40px; padding:0 15px 0 11px; gap:7px; }
  .closing-channels .channel-text { font-size:.8rem; }
  .closing .closing-inner h2 { font-size:clamp(1.1rem,1.5vw,1.35rem); line-height:1.3; text-wrap:balance; }
  .closing-inner { gap:24px; }
}

/* Centred section headers (Train Develop Empower style): bar + eyebrow, bold title, muted description, all centred. */
.section-heading,.ab-head,.pillars-intro { display:flex; flex-direction:column; flex-wrap:nowrap; align-items:center; justify-content:center; gap:0; margin:0 0 48px; text-align:center; }
.section-heading>div,.ab-head>div { width:100%; text-align:center; }
.expect-intro,.ab-dark-intro { margin:0 0 48px; text-align:center; }
.section-heading .eyebrow,
.ab-head .eyebrow,
.pillars-intro .eyebrow,
.expect-intro .eyebrow,
.ab-dark-intro .eyebrow,
.ab-cover-grid>div:first-child .eyebrow,
#services>.container>.eyebrow,
.ab-near>.container>.eyebrow { display:flex; width:100%; max-width:none; justify-content:center; align-items:center; gap:12px; margin:0 0 16px; font-family:Inter,Arial,sans-serif; font-size:.75rem; font-weight:700; letter-spacing:.13em; line-height:1.65; text-transform:uppercase; color:var(--clay); }
.section-heading .eyebrow::before,
.ab-head .eyebrow::before,
.pillars-intro .eyebrow::before,
.expect-intro .eyebrow::before,
.ab-dark-intro .eyebrow::before,
.ab-cover-grid>div:first-child .eyebrow::before,
#services>.container>.eyebrow::before,
.ab-near>.container>.eyebrow::before { content:''; display:block; flex:none; width:36px; height:3px; border-radius:2px; background:var(--clay); }
.section-heading h2,
.ab-head h2,
.pillars-intro h2,
.expect-intro h2,
.ab-dark-intro h2,
.ab-cover-grid>div:first-child h2,
#services>.container>h2,
.ab-near>.container>h2 { max-width:900px; margin:0 auto; font-family:Inter,Arial,sans-serif; font-size:clamp(1.6rem,3vw,2.2rem); font-weight:700; line-height:1.2; letter-spacing:normal; color:var(--forest); text-align:center; text-wrap:balance; }
.section-heading h2::after,
.ab-head h2::after,
.pillars-intro h2::after,
.expect-intro h2::after,
.ab-dark-intro h2::after,
.ab-cover-grid>div:first-child h2::after,
#services>.container>h2::after,
.ab-near>.container>h2::after { content:none; }
.lang-th .section-heading h2,
.lang-th .ab-head h2,
.lang-th .pillars-intro h2,
.lang-th .expect-intro h2,
.lang-th .ab-dark-intro h2,
.lang-th .ab-cover-grid>div:first-child h2,
.lang-th #services>.container>h2,
.lang-th .ab-near>.container>h2 { font-family:'Noto Sans Thai',Inter,sans-serif; line-height:1.35; }
.section-heading>p,.ab-head>.ab-lead,.section-heading .qa-intro,.section-heading>.section-intro { max-width:560px; margin:12px auto 0; color:var(--muted); font-size:1rem; line-height:1.65; text-align:center; }
.qa-intro p { margin:0 auto 14px; }
.qa-intro .text-link,.pillars-intro .process-link,.cv-approach .process-link { margin:16px 0 0; }
#services>.container>h2 { margin-bottom:48px; }
.ab-near>.container>h2 { margin-bottom:0; }
.ab-near .related-locations { justify-content:center; margin-top:32px; }
/* dark sections */
.ab-dark .eyebrow,
.expectations .eyebrow,
.cv-approach .eyebrow { color:var(--gold-light); }
.ab-dark .eyebrow::before,
.expectations .eyebrow::before,
.cv-approach .eyebrow::before { background:var(--gold); }
.ab-dark h2,
.expectations h2 { color:#fffdf8; }
.ab-dark .ab-lead { color:#dbe1d3; }
/* about "independent support" and "clear from the start": heading on top, glass cards below */
.ab-dark-grid { display:block; }
.ab-glass-list { grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr)); }
.ab-glass-list:has(.ab-glass:only-child) { max-width:780px; margin-inline:auto; }
/* about coverage: heading, paragraph and chips stacked and centred */
.ab-cover-grid { display:block; }
.ab-cover-grid>div:first-child { margin:0 0 28px; }
.ab-cover-grid>div:last-child { max-width:720px; margin:0 auto; justify-self:center; text-align:center; }
.ab-cover-grid>div:last-child>p { max-width:560px; margin:0 auto 24px; }
/* home pillars: intro on top */
.pillars-grid { display:block; }
@media(max-width:900px) { .section-heading,.ab-head,.pillars-intro,.expect-intro,.ab-dark-intro { margin-bottom:36px; } }

/* Section headers, take two: gold eyebrow, Georgia title with a gold second line, short gold rule, larger description. */
:root { --gold-ink:#a67c33; }
.section-heading .eyebrow,
.ab-head .eyebrow,
.pillars-intro .eyebrow,
.expect-intro .eyebrow,
.ab-dark-intro .eyebrow,
.ab-cover-grid>div:first-child .eyebrow,
#services>.container>.eyebrow,
.ab-near>.container>.eyebrow { color:var(--gold-ink); font-size:.8rem; font-weight:600; letter-spacing:.2em; margin:0 0 14px; }
.section-heading .eyebrow::before,
.ab-head .eyebrow::before,
.pillars-intro .eyebrow::before,
.expect-intro .eyebrow::before,
.ab-dark-intro .eyebrow::before,
.ab-cover-grid>div:first-child .eyebrow::before,
#services>.container>.eyebrow::before,
.ab-near>.container>.eyebrow::before { content:none; display:none; }
.section-heading h2,
.ab-head h2,
.pillars-intro h2,
.expect-intro h2,
.ab-dark-intro h2,
.ab-cover-grid>div:first-child h2,
#services>.container>h2,
.ab-near>.container>h2 { max-width:920px; font-family:Georgia,'Times New Roman',serif; font-size:clamp(1.9rem,3.6vw,2.7rem); font-weight:400; line-height:1.15; letter-spacing:-.005em; color:var(--forest); }
.section-heading h2::after,
.ab-head h2::after,
.pillars-intro h2::after,
.expect-intro h2::after,
.ab-dark-intro h2::after,
.ab-cover-grid>div:first-child h2::after,
#services>.container>h2::after,
.ab-near>.container>h2::after { content:''; display:block; width:96px; height:2px; margin:26px auto 0; background:var(--gold-ink); }
.lang-th .section-heading h2,
.lang-th .ab-head h2,
.lang-th .pillars-intro h2,
.lang-th .expect-intro h2,
.lang-th .ab-dark-intro h2,
.lang-th .ab-cover-grid>div:first-child h2,
.lang-th #services>.container>h2,
.lang-th .ab-near>.container>h2 { font-family:'Noto Sans Thai',Georgia,serif; font-weight:600; line-height:1.3; }
.t-accent { color:var(--gold-ink); }
.section-heading>p,.ab-head>.ab-lead,.section-heading .qa-intro,.section-heading>.section-intro { max-width:820px; margin:24px auto 0; color:#5d6660; font-size:1.1rem; line-height:1.6; }
.qa-intro p { margin:0 auto 14px; }
#services>.container>h2 { margin-bottom:56px; }
#services>.container>h2::after { margin-bottom:0; }
.ab-near>.container>h2 { margin-bottom:0; }
.ab-dark .eyebrow,
.expectations .eyebrow,
.cv-approach .eyebrow { color:var(--gold-light); }
.ab-dark h2,
.expectations h2 { color:#fffdf8; }
.ab-dark h2 .t-accent,
.expectations h2 .t-accent { color:var(--gold-light); }
.ab-dark h2::after,
.expectations h2::after { background:var(--gold); }
.ab-dark .ab-lead { color:#dbe1d3; }
@media(max-width:700px) { .section-heading>p,.ab-head>.ab-lead,.section-heading .qa-intro { font-size:1rem; } }
.lang-th .section-heading .eyebrow,
.lang-th .ab-head .eyebrow,
.lang-th .pillars-intro .eyebrow,
.lang-th .expect-intro .eyebrow,
.lang-th .ab-dark-intro .eyebrow,
.lang-th .ab-cover-grid>div:first-child .eyebrow,
.lang-th #services>.container>.eyebrow,
.lang-th .ab-near>.container>.eyebrow { font-size:.95rem; letter-spacing:.04em; font-weight:600; font-family:'Noto Sans Thai',Inter,sans-serif; }

/* "See more" links sit below the cards they follow, centred. */
.section-more { margin-top:44px; text-align:center; }
.section-more .text-link { margin:0; }
.pillars-section .section-more .process-link,.qa-section .section-more .text-link { color:var(--forest); border-color:#afb6a5; }
.pillars-section .section-more .process-link:hover { color:#77432f; border-color:var(--clay); }

/* ---- Step cards: centred cards with a ringed badge on the top edge, gold rule under the title. ---- */
:root { --card-line:rgba(207,165,89,.35); --ring:var(--gold); --ring-bg:#faf8f2; }
.soft,.sv-band.soft,.ct-stages,.ct-checks { --ring-bg:#f0eee7; }
.pillars-section { --ring-bg:#fffdf8; }
.process-steps>li,.qa-card,.pillar,.ab-card,.ab-checks-row li { position:relative; background:#fffdf8; border:1px solid var(--card-line); border-radius:20px; padding:46px 20px 24px; text-align:center; box-shadow:0 16px 32px -24px rgba(28,48,38,.35); overflow:visible; }
.pillar { background:#faf8f2; }
.process-steps { gap:16px; row-gap:46px; padding-top:6px; }
.qa-grid,.pillars-list,.ab-trio,.ab-duo,.ab-checks.ab-checks-row { row-gap:46px; }
.ab-trio,.ab-duo { padding-top:6px; }
/* badges */
.step-badge,.qa-num,.ab-card:not(.jr-card) .ab-num,.pillar-icon,.ab-checks-row li::before { position:absolute; top:-24px; left:50%; margin:0; transform:translateX(-50%); display:grid; place-items:center; width:46px; height:46px; border-radius:50%; background:var(--forest); color:var(--gold-light); font-family:Georgia,'Times New Roman',serif; font-size:.9rem; font-weight:400; letter-spacing:0; box-shadow:0 0 0 4px var(--ring-bg),0 0 0 5px var(--ring); }
.pillar-icon { width:50px; height:50px; border:0; }
.pillar-icon svg { width:22px; height:22px; color:var(--gold-light); }
.ab-checks-row li::before { content:'✓'; width:40px; height:40px; top:-20px; font-family:Inter,Arial,sans-serif; font-size:1rem; border:0; }
.process-steps>li:hover .step-badge { background:var(--forest); color:var(--gold-light); transform:translateX(-50%); }
.jr-card .ab-num { position:absolute; top:-16px; left:50%; transform:translateX(-50%); margin:0; padding:7px 16px; border:1px solid var(--ring); border-radius:999px; background:var(--forest); color:var(--gold-light); font-size:.7rem; white-space:nowrap; box-shadow:0 0 0 4px var(--ring-bg); }
/* titles with a short gold rule */
.process-steps h3,.qa-q,.ab-card h3,.pillar h3 { margin:0 0 12px; text-align:center; }
.process-steps h3::after,.ab-card h3::after,.pillar h3::after { content:''; display:block; width:34px; height:2px; margin:12px auto 0; background:var(--gold-ink); }
.qa-q { margin:0; }
.qa-q::after { content:''; display:block; width:34px; height:2px; margin:14px auto 14px; background:var(--gold-ink); }
.qa-card { align-items:center; }
.qa-card::before { content:none; }
.qa-a { margin:0; padding-top:0; border-top:0; }
.qa-a::before { content:none; }
.ab-card::before { content:none; }
.pillar::after { content:none; }
.ab-card p,.pillar p,.process-steps p,.qa-a { text-align:center; }
.ab-card:hover,.pillar:hover { transform:translateY(-4px); border-color:var(--ring); }
.jr-track { justify-content:center; }
.jr-card { align-items:center; }
/* connectors between sequential cards (desktop) */
.process-steps>li:not(:last-child)::after,.jr-card:not(:last-child)::after { content:'›'; position:absolute; top:-16px; right:-17px; left:auto; bottom:auto; width:18px; height:auto; background:none; text-align:center; color:var(--ring); font-size:24px; line-height:1; transform:none; z-index:2; }
/* scroll reveal */
.js-reveal { opacity:0; transform:translateY(20px); transition:opacity .6s ease,transform .6s ease; }
.js-reveal.in { opacity:1; transform:none; }
@media(max-width:1000px) {
  .process-steps { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:none; }
  .process-steps>li { padding:46px 20px 24px; min-height:0; }
  .process-steps>li:not(:last-child)::after,.jr-card:not(:last-child)::after { content:none; }
  .step-badge { position:absolute; left:50%; top:-24px; }
  .process-steps h3 { padding-top:0; }
}
@media(max-width:620px) {
  .process-steps { grid-template-columns:1fr; }
  .pillars-list,.ab-checks.ab-checks-row { grid-template-columns:repeat(2,minmax(0,1fr)); gap:46px 12px; }
  .pillar,.ab-checks-row li { padding:44px 12px 20px; }
  .pillar p,.ab-checks-row li { font-size:.84rem; }
  .ab-checks-row li { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) { .js-reveal { opacity:1; transform:none; transition:none; } }

/* ---- Mobile, in the Train Develop Empower manner: hamburger icon, centred call-to-action, stacked footer. ---- */
@media(max-width:1100px) {
  .site-header .menu-toggle { font-size:0; gap:0; padding:8px 10px; border:0; background:transparent; }
  .site-header .menu-toggle span { font-size:30px; line-height:1; color:var(--forest); }
}
@media(max-width:900px) {
  .closing-inner { align-items:center; text-align:center; gap:24px; }
  .closing-inner>div:first-child { padding:0; }
  .closing-channels { justify-self:center; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; max-width:340px; }
  .closing-channels .channel-link { justify-content:center; padding:0 10px; }
  .closing-inner>.button { justify-self:center; width:100%; max-width:340px; justify-content:center; }
  .closing::after { opacity:.25; right:50%; transform:translate(50%,-50%); }
}
@media(max-width:420px) { .closing-channels { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:560px) {
  .footer-grid { grid-template-columns:1fr; gap:34px; }
  .footer-grid>div:first-child { grid-column:auto; }
  .site-footer { padding-bottom:88px; }
  .footer-bottom { text-align:center; align-items:center; }
}

/* Mobile menu: submenus stay collapsed until their arrow is tapped. */
@media(max-width:1100px) {
  .nav-item:not(.lang-item)>.dropdown { display:none; }
  .nav-item.submenu-open:not(.lang-item)>.dropdown { display:block; }
}

/* Mobile refinements: centred coverage buttons, tighter footer bottom. */
@media(max-width:900px) {
  .ab-cover-grid>div:last-child { text-align:center; }
  .ab-cover-grid>div:last-child .ab-chips { justify-content:center; }
}
@media(max-width:560px) {
  .site-footer { padding-bottom:22px; }
  .footer-bottom { padding-top:18px; margin-top:0; gap:8px; }
}

/* Contact page on phones: the inquiry form comes first, contact details after it. */
@media(max-width:800px) { .contact-layout>form { order:-1; } }

/* ---- Eyebrows: 12px across all screen sizes, matching Walailak Law Firm. ---- */
.eyebrow { font-size:12px !important; font-weight:600 !important; letter-spacing:.06em !important; text-transform:uppercase !important; }
@media(min-width:901px) { .eyebrow { letter-spacing:.2em !important; } }
.lang-th .eyebrow { letter-spacing:.02em !important; }

/* ---- Footer: the coverage areas box sits inside the page margins; the copyright line is unchanged. ---- */
.site-footer { padding-bottom:22px; }
.footer-locations { position:relative; clip-path:none; box-shadow:none; background:#2b4436; border:1px solid rgba(207,165,89,.16); border-radius:14px; padding:14px 8px; }
.footer-locations::before { content:none; }
.footer-bottom { margin-top:8px; padding-top:22px; padding-bottom:0; border-top:1px solid rgba(207,165,89,.16); background:none; box-shadow:none; clip-path:none; }
@media(max-width:560px) { .site-footer { padding-bottom:22px; } .footer-bottom { padding-top:18px; margin-top:0; } }

/* ---- Bottom call-to-action band: same height as Train Develop Empower's (about 158px on desktop). ---- */
.closing { padding:34px 0; }
@media(max-width:900px) {
  .closing { padding:32px 0; }
  .closing-inner { gap:16px; }
  .closing-inner>div:first-child .eyebrow { margin-bottom:8px; }
  .closing-channels { gap:8px; }
  .closing-inner>.button { min-height:46px; }
}
@media(max-width:900px) { .closing .eyebrow { text-align:center; display:block; width:100%; } }
@media(max-width:900px) { .closing { padding:46px 0; } }

/* Question cards get their speech-mark back. */
.qa-card::before { content:'\201C'; position:absolute; right:16px; top:2px; font:400 96px/1 Georgia,'Times New Roman',serif; color:rgba(155,80,58,.16); pointer-events:none; transition:color .3s ease; }
.qa-card:hover::before,.qa-card:focus-within::before { color:rgba(207,165,89,.2); }

/* Due diligence: the four numbered step cards sit directly under the band. */
.dd-steps { margin:26px 0 12px; }
.dd-steps p { color:var(--ink); font-size:.95rem; }

/* Service pages: "your team" and "clear from the start" as two glass cards side by side. */
.sv-duo-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:20px; max-width:none; margin-inline:0; }
.sv-glass { grid-template-columns:1fr; justify-items:center; gap:18px; padding:38px 34px 40px; text-align:center; }
.sv-glass .pillar-icon { margin:0; width:52px; height:52px; }
.sv-glass .eyebrow { display:block; margin:0 0 12px; color:var(--gold-light); text-align:center; }
.sv-glass h3 { margin:0 0 16px; color:#fffdf8; font-family:Georgia,'Times New Roman',serif; font-size:clamp(1.4rem,2.4vw,1.85rem); font-weight:400; line-height:1.2; }
.sv-glass h3 .t-accent { color:var(--gold-light); }
.sv-glass p:not(.eyebrow) { margin:0 0 12px; color:#dbe1d3; font-size:1rem; line-height:1.7; text-align:center; }
.sv-glass p:last-child { margin-bottom:0; }
.lang-th .sv-glass h3 { font-family:'Noto Sans Thai',sans-serif; font-weight:600; line-height:1.35; }
@media(max-width:800px) { .sv-duo-grid { grid-template-columns:1fr !important; } .sv-glass { padding:32px 22px 34px; } }
.sv-glass .eyebrow { width:100%; max-width:none; }
.sv-duo-grid { row-gap:46px; }
.sv-glass { position:relative; padding-top:52px; }
.sv-glass .pillar-icon { position:absolute; top:-26px; left:50%; transform:translateX(-50%); width:52px; height:52px; border:0; background:var(--forest); color:var(--gold-light); box-shadow:0 0 0 4px #1b2e23,0 0 0 5px var(--ring); }

/* How We Work on phones: the "property verification" text block is centred. */
@media(max-width:800px) {
  #reports .split>div:first-child .eyebrow { display:block; width:100%; text-align:center; }
  #reports .split>div:first-child h2 { margin-left:auto; margin-right:auto; text-align:center; }
  #reports .split>div:first-child h2::after { margin-left:auto; margin-right:auto; }
}

/* Location pages: the construction note and the confirmation note as two stacked cards. */
.ct-notes { display:grid; gap:16px; max-width:860px; margin:44px auto 0; }
.ct-note-card { display:grid; grid-template-columns:auto 1fr; gap:22px; align-items:center; padding:26px 30px; background:#fffdf8; border:1px solid var(--card-line); border-radius:20px; box-shadow:0 16px 32px -24px rgba(28,48,38,.35); transition:transform .3s ease,border-color .3s ease; }
.ct-note-card:hover { transform:translateY(-3px); border-color:var(--ring); }
.ct-icon { display:grid; place-items:center; width:54px; height:54px; border-radius:50%; background:var(--forest); color:var(--gold-light); box-shadow:0 0 0 4px #faf8f2,0 0 0 5px var(--ring); }
.ct-icon svg { width:24px; height:24px; }
.ct-note-card h3 { margin:0 0 6px; font-family:Georgia,'Times New Roman',serif; font-size:1.3rem; font-weight:400; line-height:1.25; color:var(--forest); }
.ct-note-card h3::after { content:''; display:block; width:34px; height:2px; margin:10px 0 0; background:var(--gold-ink); }
.ct-note-card p { margin:10px 0 0; color:var(--muted); font-size:.98rem; line-height:1.65; }
.lang-th .ct-note-card h3 { font-family:'Noto Sans Thai',sans-serif; font-weight:600; line-height:1.4; }
@media(max-width:560px) { .ct-note-card { grid-template-columns:1fr; justify-items:center; text-align:center; gap:16px; padding:24px 20px; } .ct-note-card h3::after { margin-inline:auto; } }
@media(prefers-reduced-motion:reduce) { .ct-note-card { transition:none; } .ct-note-card:hover { transform:none; } }
.ct-notes { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:none; align-items:stretch; }
@media(max-width:800px) { .ct-notes { grid-template-columns:1fr; max-width:640px; } }

/* Keep mobile labels readable; longer translations wrap instead of shrinking. */
@media(max-width:900px) {
  body .eyebrow,
  body main section:not(.hero):not(.page-hero) .eyebrow {
    font-size:12px !important;
    white-space:normal;
    overflow-wrap:anywhere;
    max-width:100%;
    line-height:1.5;
  }
}

/* Focused local services: prominent, descriptive entry points into detailed support. */
.local-focus-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.local-focus-card { display:flex; flex-direction:column; align-items:flex-start; padding:32px; border:1px solid var(--line); border-radius:20px; background:#fffdf8; color:var(--ink); text-decoration:none; transition:transform .2s,border-color .2s; }
.local-focus-card:hover { transform:translateY(-3px); border-color:var(--gold-ink); }
.local-focus-card:focus-visible { outline:3px solid var(--gold-ink); outline-offset:5px; }
.local-focus-place { display:inline-flex; align-items:center; gap:10px; color:var(--gold-ink); font-size:.8rem; font-weight:600; }
.local-focus-need { margin:18px 0 8px; color:var(--muted); }
.local-focus-card h3 { margin:0 0 16px; font-family:Georgia,'Times New Roman',serif; font-size:1.35rem; line-height:1.25; }
.local-focus-card>p:not(.local-focus-need) { color:var(--muted); margin:0 0 24px; }
.local-focus-link { margin-top:auto; font-size:13px; font-weight:600; color:var(--forest); }
.local-focus-card:only-child { grid-column:1 / -1; max-width:900px; width:100%; justify-self:center; }
.page-hero a.text-link[href="#focused-services"] { color:var(--gold-light); margin-top:20px; }
@media(max-width:700px) { .local-focus-grid { grid-template-columns:1fr; } .local-focus-card { padding:26px; } }
@media(prefers-reduced-motion:reduce) { .local-focus-card { transition:none; } .local-focus-card:hover { transform:none; } }

.local-focus-icon { width:26px; height:26px; flex-shrink:0; }

/* Buyer Support: off-plan and handover lists as rows of numbered step cards. */
.card-group h3 { margin:64px 0 40px; text-align:center; font-size:1.5rem; line-height:1.25; }
.card-group h3::after { content:''; display:block; width:34px; height:2px; margin:14px auto 0; background:var(--gold-ink); }
.section-heading+.card-group h3 { margin-top:52px; }
.card-group .dd-steps { margin:0; }
.process-steps.cols-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.process-steps.cols-5 { grid-template-columns:repeat(5,minmax(0,1fr)); }
.process-steps.cols-5>li { padding-left:16px; padding-right:16px; }
.process-steps.cols-5 p { font-size:.9rem; line-height:1.65; }
.card-note { max-width:760px; margin:44px auto 0; text-align:center; }
.card-note p { margin:0; color:var(--muted); }
.card-note + .split { margin-top:48px; }
.card-links { display:flex; flex-wrap:wrap; justify-content:center; gap:10px 28px; margin-top:26px; }
@media(max-width:1180px) {
  .process-steps.cols-5 { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .process-steps.cols-5>li:not(:last-child)::after { content:none; }
}
@media(max-width:1000px) {
  .process-steps.cols-3,.process-steps.cols-5 { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:620px) {
  .process-steps.cols-3,.process-steps.cols-5 { grid-template-columns:1fr; }
  .card-group h3 { margin:52px 0 36px; }
}

/* location pages: compact all-services card (same look and hover as its siblings, individual links inside) */
.local-focus-list { list-style:none; margin:0 0 24px; padding:0; display:grid; grid-auto-flow:column; grid-template-rows:repeat(3,auto); grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 22px; width:100%; }
.local-focus-list a { color:var(--ink); text-decoration:none; border-bottom:1px solid transparent; }
.local-focus-list a:hover, .local-focus-list a:focus-visible { color:var(--forest); border-bottom-color:var(--gold-ink); }
.local-focus-all a.local-focus-link { text-decoration:none; }
.local-focus-list li { position:relative; padding-left:16px; color:var(--muted); font-size:.95rem; line-height:1.4; }
.local-focus-list li::before { content:""; position:absolute; left:0; top:.55em; width:6px; height:6px; border-radius:50%; background:var(--gold-ink); }
@media(max-width:480px) { .local-focus-list { grid-auto-flow:row; grid-template-rows:none; grid-template-columns:1fr; } }

/* buyer support: jump links and compact location lists */
.jump-links { background:#fffdf8; border-bottom:1px solid var(--line); }
.jump-links .container { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px 10px; padding-top:14px; padding-bottom:14px; }
.jump-label { font-size:.75rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--gold-ink); margin-right:6px; }
.jump-links a { padding:6px 14px; border:1px solid #cfd5c2; border-radius:999px; font-size:.85rem; font-weight:600; color:var(--forest); text-decoration:none; background:#fffdf8; transition:background .25s ease,color .25s ease,border-color .25s ease,transform .25s ease; }
.jump-links a:hover, .jump-links a:focus-visible { background:var(--forest); border-color:var(--forest); color:#fffdf8; transform:translateY(-2px); }
.package[id], section[id] { scroll-margin-top:96px; }
.loc-groups { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.loc-group { padding:28px; border:1px solid var(--line); border-radius:20px; background:#fffdf8; transition:transform .2s,border-color .2s; }
.loc-group:hover, .loc-group:focus-within { transform:translateY(-3px); border-color:var(--gold-ink); }
.loc-group h3 { margin:0 0 16px; font-family:Georgia,'Times New Roman',serif; font-size:1.15rem; line-height:1.3; }
.loc-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
.loc-list li { position:relative; padding-left:16px; font-size:.95rem; line-height:1.4; }
.loc-list li::before { content:""; position:absolute; left:0; top:.55em; width:6px; height:6px; border-radius:50%; background:var(--gold-ink); }
.loc-list a { color:var(--ink); font-weight:600; text-decoration:none; border-bottom:1px solid transparent; }
.loc-list a:hover, .loc-list a:focus-visible { color:var(--forest); border-bottom-color:var(--gold-ink); }
@media(max-width:900px) { .loc-groups { grid-template-columns:1fr; } }

@media(prefers-reduced-motion:reduce) { .loc-group, .jump-links a { transition:none; } .loc-group:hover, .loc-group:focus-within, .jump-links a:hover { transform:none; } }

/* Siam Oakmont gold for consultation CTAs across all languages and placements. */
a.button[href*="contact"],
.site-header a.button.small[href*="contact"],
.premium-home .hero-actions a.button[href*="contact"],
.page-hero a.button[href*="contact"] {
  background:var(--gold-button);
  color:#19251c;
  border-color:var(--gold);
}
a.button[href*="contact"]:hover,
.site-header a.button.small[href*="contact"]:hover,
.premium-home .hero-actions a.button[href*="contact"]:hover,
.page-hero a.button[href*="contact"]:hover {
  background:var(--gold-button);
  color:#19251c;
  filter:brightness(1.06);
}

/* Comparison table (who does what) */
.table-wrap { margin-top:34px; }
.compare-table { width:100%; border-collapse:separate; border-spacing:0; background:#fffdf8; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; font-size:.95rem; line-height:1.6; }
.compare-table caption { caption-side:bottom; padding:14px 4px 0; color:var(--muted); font-size:.85rem; text-align:center; }
.compare-table th,.compare-table td { padding:16px 18px; text-align:left; vertical-align:top; border-bottom:1px solid var(--line); }
.compare-table thead th { background:var(--forest); color:#fffdf8; font-weight:600; font-size:.9rem; letter-spacing:.02em; }
.compare-table tbody th { color:var(--forest); font-weight:700; width:20%; }
.compare-table td { color:var(--muted); }
.compare-table tbody tr:last-child>* { border-bottom:0; }
.compare-table tbody tr.is-us>* { background:rgba(155,80,58,.07); }
.compare-table tbody tr { transition:background-color .2s ease; }
.compare-table tbody tr:hover>* { background:rgba(53,73,62,.06); }
.compare-table tbody tr.is-us:hover>* { background:rgba(155,80,58,.11); }
@media(max-width:800px) {
  .compare-table,.compare-table tbody,.compare-table tr,.compare-table th,.compare-table td { display:block; }
  .compare-table thead { position:absolute; left:-9999px; }
  .compare-table tbody tr { border-bottom:1px solid var(--line); padding:6px 0; }
  .compare-table tbody tr:last-child { border-bottom:0; }
  .compare-table th,.compare-table td { border:0; padding:8px 18px; width:auto; }
  .compare-table { display:flex; flex-direction:column; }
  .compare-table caption { display:block; order:1; padding:12px 18px 16px; border-top:1px solid var(--line); }
  .compare-table tbody th { font-size:1.05rem; padding-top:14px; width:auto; }
  .compare-table td::before { content:attr(data-label); display:block; font-size:.74rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--clay); }
}

/* Breathing room between the lead text and the hero button on inner pages.
   The negative bottom margin cancels the top margin, so the hero keeps its height. */
.page-hero .lead + .button { display:flex; width:fit-content; margin-top:24px; margin-bottom:-24px; }

/* Personalised purchase checklist */
.checklist-form { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:18px 20px; background:#fffdf8; border:1px solid var(--line); border-radius:var(--radius); padding:26px; margin-top:32px; }
.checklist-form label { display:block; margin-bottom:6px; font-size:.9rem; font-weight:700; color:var(--forest); }
.checklist-form select { width:100%; padding:12px 14px; border:1px solid var(--line); border-radius:12px; background:#fff; color:var(--ink); font:inherit; }
.checklist-form select:focus-visible { outline:2px solid var(--forest); outline-offset:2px; }
.checklist-bar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px; margin:30px 0 8px; }
.checklist-count { margin:0; color:var(--muted); }
.checklist-count strong { color:var(--forest); font-size:1.15rem; }
.checklist-privacy { margin:0; color:var(--muted); font-size:.88rem; }
.checklist-group { margin-top:30px; }
.checklist-group h3 { margin:0 0 14px; font-size:1.25rem; }
.checklist { list-style:none; margin:0; padding:0; display:grid; gap:12px; }
.checklist li { background:#fffdf8; border:1px solid var(--line); border-radius:16px; transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.checklist li:hover { border-color:var(--clay); box-shadow:0 14px 28px -22px rgba(28,48,38,.45); transform:translateY(-2px); }
.checklist li[hidden],.checklist-group[hidden] { display:none; }
.checklist label { display:flex; gap:14px; align-items:flex-start; padding:16px 18px; cursor:pointer; }
.checklist input[type=checkbox] { flex:0 0 auto; width:22px; height:22px; margin:3px 0 0; accent-color:var(--forest); }
.checklist .step-body strong { display:block; color:var(--forest); }
.checklist .step-body span { display:block; color:var(--muted); font-size:.95rem; line-height:1.65; }
.checklist .step-link { display:inline-block; margin:0 18px 14px 54px; font-size:.9rem; }
.checklist input:checked + .step-body strong { text-decoration:line-through; text-decoration-thickness:1px; opacity:.7; }
@media print {
  .site-header,.page-hero,.page-hero-media,.site-footer,.closing,.checklist-form,.checklist-bar button,.whatsapp-float,.line-float,#back-to-top,.skip-link { display:none !important; }
  .checklist li { break-inside:avoid; box-shadow:none; transform:none; }
}
.lang-note { margin:0; padding:10px 16px; background:#f3efe4; border-bottom:1px solid var(--line); color:var(--forest); font-size:.85rem; line-height:1.5; text-align:center; }

/* Phones and tablets: language switch and Menu button as two outlined buttons in the header bar,
   matching siamoakmont.com and walailaklaw.com. main.js moves the language item next to the Menu button. */
@media(max-width:1100px) {
  .site-header .header-inner { column-gap:10px; }
  .site-header .header-inner>.lang-item { position:relative; display:flex; margin-left:auto; align-self:center; }
  .site-header .header-inner>.lang-item .lang-toggle { min-height:36px; padding:0 10px; gap:5px; border:1px solid #bdc6b5; border-radius:8px; background:transparent; font-size:12px; color:var(--forest); }
  .site-header .header-inner>.lang-item .lang-toggle svg { width:15px; height:15px; }
  .site-header .header-inner>.lang-item .lang-toggle .caret { font-size:11px; }
  .site-header .header-inner>.lang-item>.dropdown { position:absolute; top:calc(100% + 10px); right:0; left:auto; z-index:30; display:none; width:max-content; min-width:190px; margin:0; padding:8px; border:1px solid var(--line); border-radius:8px; background:#fffdf8; box-shadow:0 16px 32px #35493e20; opacity:1; visibility:visible; transform:none; }
  .site-header .header-inner>.lang-item.submenu-open>.dropdown { display:block; }
  .site-header .header-inner>.lang-item>.dropdown a { padding:10px 12px; }
  .site-header .menu-toggle { align-self:center; display:inline-flex; align-items:center; justify-content:center; width:40px; min-height:36px; padding:0; border:1px solid #bdc6b5; border-radius:8px; background:transparent; }
  .site-header .menu-toggle span { font-size:20px; line-height:1; }
}
@media(max-width:400px) { .site-header .header-inner>.lang-item .lang-toggle svg { display:none; } }
/* Simplified Chinese: system CJK fonts (Inter and Georgia have no Han glyphs) */
body.lang-zh { font-family:Inter,'PingFang SC','Hiragino Sans GB','Microsoft YaHei','Noto Sans SC','Noto Sans CJK SC',sans-serif; }
body.lang-zh h1,body.lang-zh h2,body.lang-zh h3,body.lang-zh h4,
body.lang-zh .service-card h3,body.lang-zh .package h3,body.lang-zh .steps h3,body.lang-zh .report h3,body.lang-zh .footer-grid h2,
body.lang-zh.premium-home .hero h1 {
  font-family:'PingFang SC','Hiragino Sans GB','Microsoft YaHei','Noto Sans SC','Noto Sans CJK SC',sans-serif;
  font-weight:500;
}
body.lang-zh h1,body.lang-zh h2,body.lang-zh h3,body.lang-zh h4 { line-height:1.3; letter-spacing:0; }
body.lang-zh .eyebrow { letter-spacing:.06em; }
body.lang-zh p,body.lang-zh li { line-height:1.75; }

/* Header stays visible while scrolling, on every device (as on the TDE site). */
.site-header { position:sticky; top:0; z-index:40; }
/* In-page links land below the sticky header (about 125px on desktop, 117px on phones). */
html { scroll-padding-top:140px; }
.package[id], section[id] { scroll-margin-top:0; }
/* The open phone/tablet menu scrolls on its own if its sub-lists are taller than the screen. */
@media(max-width:1100px) {
  .site-header nav.open { max-height:calc(100vh - 117px); max-height:calc(100dvh - 117px); overflow-y:auto; overscroll-behavior:contain; }
}

/* Phone/tablet menu sub-lists in the Siam Oakmont manner: no indent, 14px links in 43px rows, a brand-green (--forest) panel with white links. (The language list is a separate dropdown.) */
@media(max-width:1100px) {
  /* The open menu drops over the page (as on SO) instead of pushing the hero down: it is taken out of the
     header's flow and placed under the logo bar, links aligned with the logo, background bleeding to both edges. */
  .site-header .header-inner { position:relative; }
  .site-header nav.open { flex-wrap:nowrap; position:absolute; top:calc(100% + 1px); left:0; right:0; z-index:45; background:var(--forest); box-shadow:0 0 0 100vmax var(--forest), 0 14px 24px rgba(46,64,55,.22); clip-path:inset(0 -100vmax -40px); max-height:calc(100vh - 117px); max-height:calc(100dvh - 117px); overflow-y:auto; overscroll-behavior:contain; }
  /* Sub-menu arrow sits right after its title, as on SO; the empty last column takes the spare width. */
  .site-header nav .nav-item:not(.lang-item) { grid-template-columns:max-content max-content minmax(0,1fr); }
  .site-header nav .nav-item:not(.lang-item) .nav-toggle { min-width:36px; padding:0 4px; }
  /* Open menu panel in the brand green with every title in white (owner, 11 Nov). */
  .site-header nav.open>a:not(.button),.site-header nav.open .nav-item>a,.site-header nav.open .nav-toggle { color:#fffdf8; }
  .site-header nav.open>a:not(.button):hover,.site-header nav.open .nav-item>a:hover { color:#fffdf8; text-decoration:underline; text-decoration-color:rgba(255,253,248,.5); text-underline-offset:6px; }
  .site-header nav.open .nav-toggle:hover { background:rgba(255,255,255,.1); }
  .site-header nav.open>a[aria-current="page"] { color:#fffdf8; text-decoration-color:#cfa559; }
  .site-header nav.open :focus-visible { outline-color:#fffdf8; }
  /* Sub-lists: same green as the panel, marked by a gold rule on the left. */
  .site-header nav .nav-item:not(.lang-item) .dropdown { margin:4px 0 8px; padding:6px 0; border:0; border-left:2px solid #cfa559; border-radius:0; background:transparent; box-shadow:none; color:#fffdf8; }
  .site-header nav .nav-item:not(.lang-item) .dropdown a { padding:10px 16px; border-radius:0; font-size:14px; font-weight:400; line-height:1.6; color:#fffdf8; background:transparent; }
  .site-header nav .nav-item:not(.lang-item) .dropdown a:hover,
  .site-header nav .nav-item:not(.lang-item) .dropdown a:focus-visible { color:#fffdf8; background:rgba(255,255,255,.1); }
  .site-header nav .nav-item:not(.lang-item) .dropdown a:focus-visible { outline:2px solid #fffdf8; outline-offset:-2px; }
  .site-header nav .nav-item:not(.lang-item) .dropdown a[aria-current=page] { color:#e8cc8c; background:transparent; }
}

/* Phones/tablets: a larger logo that uses the free space in the bar, as on siamoakmont.com and walailaklaw.com.
   Scales with the screen so it stays about 22px clear of the language button (149px wide at 320px, capped at 165px
   from about 335px; owner chose 165px). The tagline is set smaller relative to the logo, with wider tracking, so it still
   spans exactly the drawn "baanward." lettering without looking oversized (about 7px at full size). */
@media(max-width:1100px) {
  .site-header .wordmark { font-size:clamp(1.8rem, calc((100vw - 164px) / 4.53), 2.3794rem); line-height:1; margin-bottom:.26em; }
  .site-header .brand-tagline { font-size:.183em; letter-spacing:.174em; }
}

/* Phones in landscape: contact button in the header bar (main.js moves it there and adds .header-cta). */
@media(max-width:1100px) and (orientation:landscape) and (max-height:600px) {
  .site-header .header-inner>.header-cta { margin-left:0; align-self:center; padding:9px 13px; font-size:11.5px; white-space:nowrap; }
}

/* Phones in landscape: the open menu runs horizontally (titles 14px, one consistent gap), and each sub-menu
   (13px) opens as a small green panel under its title instead of stretching the row. The full-width green
   background comes from ::before here, because the box-shadow/clip-path bleed would clip the hanging sub-menus. */
@media(max-width:1100px) and (orientation:landscape) and (max-height:600px) {
  .site-header nav.open { flex-direction:row; flex-wrap:wrap; align-items:center; gap:4px 28px; padding:10px 0 12px; max-height:none; overflow:visible; box-shadow:none; clip-path:none; }
  .site-header nav.open::before { content:""; position:absolute; top:0; bottom:0; left:calc(50% - 50vw); width:100vw; z-index:-1; background:var(--forest); box-shadow:0 14px 24px rgba(46,64,55,.22); }
  .site-header nav.open>a:not(.button),.site-header nav.open .nav-item>a { font-size:14px; padding:8px 0; }
  .site-header nav.open .nav-item:not(.lang-item) { position:relative; display:flex; align-items:center; }
  .site-header nav.open .nav-item:not(.lang-item) .nav-toggle { min-width:28px; min-height:36px; padding:0 2px; }
  .site-header nav.open .nav-item:not(.lang-item) .dropdown { position:absolute; top:100%; left:0; z-index:50; width:max-content; min-width:220px; margin:0; padding:6px 0; background:var(--forest); box-shadow:0 12px 24px rgba(0,0,0,.25); max-height:calc(100vh - 175px); max-height:calc(100dvh - 175px); overflow-y:auto; }
  .site-header nav.open .nav-item:not(.lang-item) .dropdown a { font-size:13px; padding:8px 16px; line-height:1.5; }
}

/* Current-page underline also for titles that have a sub-menu ("Services", "Coverage Areas"), and on the parent
   title while one of its sub-pages is open (e.g. Coverage Areas on /locations/pattaya). Desktop and mobile. */
.site-header nav .nav-item:not(.lang-item)>a[aria-current],
.site-header nav .nav-item:not(.lang-item):has(.dropdown a[aria-current="page"])>a { color:var(--ink); text-decoration:underline; text-decoration-color:#bc955b; text-underline-offset:10px; text-decoration-thickness:1px; }
@media(max-width:1100px) {
  .site-header nav.open .nav-item:not(.lang-item)>a[aria-current],
  .site-header nav.open .nav-item:not(.lang-item):has(.dropdown a[aria-current="page"])>a { color:#fffdf8; text-decoration-color:#cfa559; }
}
