.master-brand{min-width:310px;height:78px;overflow:hidden}.master-brand img{width:310px;height:78px;object-fit:cover;object-position:center}.footer-grid .master-brand{height:70px}.footer-grid .master-brand img{width:278px;height:70px}.khmer-relief{background-position:center center}

/* Approved MASTER composition. Live elements exactly cover their static counterparts. */
.khmer-hero{height:auto;aspect-ratio:1536/263;background:#5b2412 url('../images/master-hero-clean-approved.webp') center/100% 100% no-repeat}
.khmer-hero::before,.khmer-hero::after,.khmer-relief{display:none}
.khmer-hero-grid{z-index:2}

@media(min-width:901px){
  .khmer-hero-grid{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;display:block}
  .latest-box{position:absolute;inset:0;width:100%;height:100%;padding:0;transform:none}
  .latest-box h1{display:none}
  .latest-digits{position:absolute;inset:0;display:block}
  .latest-digits span{position:absolute;top:33.08%;width:5.859%;min-width:0;max-width:none;height:40.684%;border:0;background:transparent;box-shadow:none;font-size:clamp(38px,4.5vw,69px);transform:none;display:grid;place-items:center}
  .latest-digits span:nth-child(1){left:21.484%}
  .latest-digits span:nth-child(2){left:28.190%}
  .latest-digits span:nth-child(3){left:34.831%}
  .latest-digits span:nth-child(4){left:41.536%}
  .latest-box p{position:absolute;left:22.33%;top:77.2%;width:24.1%;margin:0;padding:5px 8px;background:#54220f;font-size:clamp(11px,.92vw,14px);white-space:nowrap}
  .next-medallion{position:absolute;left:59.505%;top:50.76%;width:14.258%;height:82.129%;margin:0;transform:translate(-50%,-50%);justify-self:auto;border:0;box-shadow:none;background:transparent}
  .next-medallion::before{display:none}
}
@media(max-width:900px){.master-brand{min-width:0;width:230px;height:58px}.master-brand img{width:230px;height:58px}.footer-grid .master-brand{width:278px}}

/* City artwork follows the illustrated market-card treatment in MASTER. */
.khmer-markets article{padding:9px 7px 10px}
.market-top{min-height:61px;display:flex;align-items:center;justify-content:center;gap:7px}
.market-art{width:64px;height:58px;flex:0 0 64px;display:grid;place-items:center;font-size:0}
.market-art img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 2px 2px rgba(31,10,4,.5))}
.market-title{min-width:0;text-align:left}
.market-title h3{min-height:0;margin:0 0 3px;display:block;overflow-wrap:anywhere;font-size:14px;line-height:1.08}
.market-title span{display:block;font-size:11px}
.market-latest-result{height:20px;margin:1px auto 2px;display:grid;place-items:center;color:#ffd36f;font:700 15px/20px Georgia,"Times New Roman",serif;letter-spacing:4px;text-indent:4px;text-shadow:0 1px 3px rgba(31,8,3,.88)}
.market-latest-result.is-empty{color:rgba(246,215,158,.46);font-size:13px;letter-spacing:2px;text-indent:2px}
.khmer-markets article>p{margin:2px 0 6px}

@media(max-width:1180px){.market-top{gap:10px}.market-art{width:76px;height:62px;flex-basis:76px}.market-title h3{font-size:15px}}
@media(max-width:520px){.market-top{justify-content:flex-start;max-width:280px;margin-inline:auto}.market-art{width:82px;height:66px;flex-basis:82px}.market-title h3{font-size:15px;white-space:nowrap;overflow-wrap:normal}}

/* Pixel-matched lower ornaments and footer artwork from MASTER. */
.master-lower{
  --side-gutter:calc((100% - var(--master-width))/2);
  position:relative;
  background:
    url('../images/master-lower-side-left.png') left top/calc(var(--side-gutter) + 2px) 100% no-repeat,
    url('../images/master-lower-side-right.png') right top/calc(var(--side-gutter) + 2px) 100% no-repeat,
    #a66a32;
}
.master-lower>.khmer-data,.master-lower>.trust-strip{position:relative;z-index:1}
.master-lower>.trust-strip{border:0;background:transparent}
.master-lower>.trust-strip>.container{border-top:2px solid #975f26;border-bottom:2px solid #975f26;background:linear-gradient(#f0deb5,#dfc087)}
.site-footer{background:#37140f}
.site-footer::after{
  content:"";
  position:absolute;
  z-index:0;
  top:0;
  right:0;
  width:24.21875%;
  height:100%;
  background:url('../images/master-footer-right-full-exact.png') right bottom/100% 100% no-repeat;
  pointer-events:none;
}
.site-footer .footer-grid,.site-footer .footer-bottom{position:relative;z-index:1}

@media(min-width:1181px){
  .master-lower>.khmer-data{height:268px;grid-template-columns:1.29fr 1.04fr 1fr 1.28fr}
  .master-lower .khmer-panel th,.master-lower .khmer-panel td{padding:3.5px 5px}
  .master-lower>.trust-strip::before,.master-lower>.trust-strip::after{content:"";position:absolute;z-index:3;top:0;height:100%;background-size:100% 100%;background-repeat:no-repeat;pointer-events:none}
  .master-lower>.trust-strip::before{width:9.765625%}
  .master-lower>.trust-strip::after{width:12.890625%}
  .master-lower>.trust-strip::before{left:0;background-image:url('../images/master-trust-corner-left.png')}
  .master-lower>.trust-strip::after{right:0;background-image:url('../images/master-trust-corner-right-full.png')}
  .master-lower>.trust-strip>.container{z-index:2;width:81.25%}
  .master-lower .trust-strip div div{min-height:68px;padding:9px 15px}
  .site-footer{height:171px}
  .site-footer .footer-grid{width:67.1875%;height:135px;margin-right:0;margin-left:9.375%;grid-template-columns:278px repeat(4,1fr);gap:22px;padding:16px 0 8px}
  .site-footer .footer-bottom{height:36px}
}
@media(max-width:1180px){
  .master-lower{background:#a66a32}
  .master-lower>.trust-strip{border-top:2px solid #975f26;border-bottom:2px solid #975f26;background:linear-gradient(#f0deb5,#dfc087)}
  .master-lower>.trust-strip>.container{border:0;background:transparent}
  .site-footer::after{display:none}
}

/* CONTACT page — isolated MASTER theme and defensive SVG sizing. */
svg.icon{
  width:19px;
  height:19px;
  max-width:19px;
  max-height:19px;
  display:inline-block;
  flex:0 0 19px;
  vertical-align:middle;
}
.contact-hero{
  position:relative;
  overflow:hidden;
  padding:43px 0 41px;
  border-bottom:2px solid #a66a2f;
  background:
    radial-gradient(circle at 78% 35%,rgba(213,163,78,.18),transparent 29%),
    linear-gradient(105deg,#3b130e 0%,#6b2818 48%,#91491f 100%);
  color:#ffe5b1;
}
.contact-hero::after{
  content:"✦";
  position:absolute;
  right:8%;
  top:50%;
  color:rgba(231,184,91,.18);
  font-size:156px;
  line-height:1;
  transform:translateY(-50%) rotate(12deg);
  pointer-events:none;
}
.contact-hero>.container{position:relative;z-index:1}
.contact-eyebrow{
  display:block;
  margin-bottom:9px;
  color:#e8b95c;
  font:700 10px/1.2 Arial,sans-serif;
  letter-spacing:.18em;
}
.contact-hero h1{
  margin:0 0 10px;
  color:#ffe3aa;
  font-size:clamp(31px,3.1vw,46px);
  line-height:1.08;
  font-weight:normal;
}
.contact-hero p{
  max-width:680px;
  margin:0;
  color:#efd2a0;
  font:14px/1.55 Arial,sans-serif;
}
.contact-section{
  min-height:560px;
  padding:42px 0 48px;
  background:
    radial-gradient(circle at 12% 12%,rgba(193,128,52,.09),transparent 23%),
    radial-gradient(circle at 88% 84%,rgba(147,74,30,.08),transparent 26%),
    #f0dbab;
}
.contact-page{
  display:grid;
  grid-template-columns:minmax(300px,.78fr) minmax(0,1.42fr);
  gap:24px;
  align-items:stretch;
}
.contact-page>*{min-width:0}
.contact-info{
  position:relative;
  overflow:hidden;
  padding:29px;
  border:1px solid #d5a34e;
  border-radius:7px;
  background:linear-gradient(145deg,#682519 0%,#3a130e 78%);
  box-shadow:0 16px 35px rgba(67,27,15,.18),inset 0 0 0 3px rgba(255,221,157,.04);
  color:#f4dfb4;
}
.contact-info::after{
  content:"✦";
  position:absolute;
  right:-30px;
  bottom:-39px;
  color:rgba(223,172,76,.1);
  font-size:138px;
  line-height:1;
  pointer-events:none;
}
.contact-info>*{position:relative;z-index:1}
.contact-info h2{
  margin:0 0 10px;
  color:#ffd889;
  font-size:27px;
  font-weight:normal;
  line-height:1.15;
}
.contact-intro{
  margin:0;
  color:#dec69c;
  font:13px/1.65 Arial,sans-serif;
}
.contact-methods{margin-top:23px;border-top:1px solid rgba(213,163,78,.27)}
.contact-method{
  min-width:0;
  padding:15px 0;
  border-bottom:1px solid rgba(213,163,78,.27);
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:12px;
  align-items:center;
  color:#f5deb0;
}
a.contact-method{transition:color .18s ease,transform .18s ease}
a.contact-method:hover{color:#fff0c7;transform:translateX(2px)}
.contact-method-icon{
  width:44px;
  height:44px;
  border:1px solid #c88e39;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(34,10,7,.28);
  color:#edbc59;
}
.contact-method-icon .icon{width:20px;height:20px;max-width:20px;max-height:20px;flex-basis:20px}
.contact-method>span:last-child{min-width:0}
.contact-method small,.contact-method strong{display:block}
.contact-method small{
  margin-bottom:4px;
  color:#cdaa71;
  font:700 9px/1.2 Arial,sans-serif;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.contact-method strong{
  color:inherit;
  font:600 13px/1.45 Arial,sans-serif;
  overflow-wrap:anywhere;
}
.contact-tip{
  margin-top:22px;
  padding:14px 15px;
  border-left:3px solid #dfa749;
  background:rgba(22,7,5,.27);
}
.contact-tip strong,.contact-tip span{display:block}
.contact-tip strong{margin-bottom:5px;color:#f2c76f;font-size:13px}
.contact-tip span{color:#dac39b;font:11px/1.55 Arial,sans-serif}
.contact-form-card{
  padding:29px 31px 30px;
  border:1px solid #b57830;
  border-radius:7px;
  background:linear-gradient(145deg,#fff8e4,#f4dfb5);
  box-shadow:0 16px 35px rgba(91,43,21,.12),inset 0 0 24px rgba(155,93,37,.05);
  color:#542517;
}
.contact-form-heading{
  margin-bottom:23px;
  padding-bottom:18px;
  border-bottom:1px solid #d2aa70;
}
.contact-form-heading h2{
  margin:0 0 7px;
  color:#622918;
  font-size:27px;
  font-weight:normal;
}
.contact-form-heading p{margin:0;color:#80583d;font:12px/1.55 Arial,sans-serif}
.contact-alert{
  margin:0 0 14px;
  padding:12px 14px;
  border:1px solid;
  border-radius:4px;
  display:flex;
  align-items:flex-start;
  gap:10px;
  font:12px/1.5 Arial,sans-serif;
}
.contact-alert .icon{margin-top:1px}
.contact-alert-success{border-color:#7c9d5f;background:#e7f0d7;color:#335f2a}
.contact-alert-error{border-color:#bd7257;background:#f7dfd0;color:#812c20}
.contact-form{display:grid;gap:16px}
.contact-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.contact-field{min-width:0;display:grid;gap:7px}
.contact-field>span{
  color:#6b351f;
  font:700 10px/1.2 Arial,sans-serif;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.contact-field>span b{color:#a73322}
.contact-field input,.contact-field textarea{
  width:100%;
  min-width:0;
  border:1px solid #bd8a4c;
  border-radius:4px;
  background:#fffaf0;
  color:#512516;
  font:14px/1.45 Arial,sans-serif;
  outline:0;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.contact-field input{height:46px;padding:0 13px}
.contact-field textarea{min-height:152px;padding:12px 13px;resize:vertical}
.contact-field input::placeholder,.contact-field textarea::placeholder{color:#a99179}
.contact-field input:focus,.contact-field textarea:focus{
  border-color:#8a521e;
  background:#fffdf8;
  box-shadow:0 0 0 3px rgba(194,128,49,.2);
}
.contact-form-actions{display:flex;align-items:center;gap:15px;justify-content:space-between;margin-top:1px}
.contact-form-actions>small{color:#8a684f;font:10px Arial,sans-serif}
.contact-submit{
  min-height:46px;
  padding:0 23px;
  border:1px solid #d6a54e;
  border-radius:4px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  background:linear-gradient(#8c351c,#4b170e);
  box-shadow:0 7px 15px rgba(75,23,14,.2);
  color:#ffe8b1;
  font:700 12px Arial,sans-serif;
  cursor:pointer;
  transition:filter .18s ease,transform .18s ease,box-shadow .18s ease;
}
.contact-submit:hover{filter:brightness(1.09);transform:translateY(-1px);box-shadow:0 10px 20px rgba(75,23,14,.24)}
.contact-submit:focus-visible{outline:3px solid rgba(187,118,41,.34);outline-offset:2px}
.contact-submit .icon{width:18px;height:18px;max-width:18px;max-height:18px;flex-basis:18px}
.contact-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}

@media(max-width:900px){
  .contact-page{grid-template-columns:1fr;gap:18px}
  .contact-info,.contact-form-card{padding:24px}
  .contact-section{min-height:0}
}
@media(max-width:520px){
  .contact-hero{padding:33px 0 31px}
  .contact-hero::after{right:-24px;font-size:112px}
  .contact-hero h1{font-size:29px}
  .contact-hero p{font-size:13px}
  .contact-section{padding:24px 0 29px}
  .contact-page{gap:14px}
  .contact-info,.contact-form-card{padding:19px}
  .contact-info h2,.contact-form-heading h2{font-size:23px}
  .contact-form-row{grid-template-columns:1fr;gap:15px}
  .contact-field textarea{min-height:136px}
  .contact-form-actions{align-items:stretch;flex-direction:column}
  .contact-submit{width:100%;min-height:48px}
  .contact-form-actions>small{text-align:center}
}

/* Homepage mobile hero v4.1 — use clean, responsive artwork instead of the
   desktop MASTER bitmap, whose baked labels cannot be reflowed on phones. */
@media(max-width:900px){
  .khmer-hero{
    height:auto;
    min-height:0;
    aspect-ratio:auto;
    overflow:hidden;
    border-bottom:2px solid #a76a2c;
    background:#3d140e;
  }
  .khmer-hero-grid{
    position:relative;
    width:100%;
    height:auto;
    min-height:300px;
    margin:0;
    padding:0;
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(250px,.85fr);
    align-items:stretch;
    gap:0;
  }
  .khmer-hero .latest-box{
    position:relative;
    min-width:0;
    min-height:300px;
    padding:22px 18px 20px;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    border-right:2px solid #ad762f;
    background:
      linear-gradient(105deg,rgba(49,14,9,.5),rgba(83,31,14,.82)),
      url('../images/khmer-relief-clean.webp') center 35%/cover no-repeat;
    color:#f8dfad;
    text-align:center;
  }
  .khmer-hero .latest-box::after{
    content:"";
    position:absolute;
    inset:8px;
    border:1px solid rgba(226,177,79,.42);
    pointer-events:none;
  }
  .khmer-hero .latest-box>*{position:relative;z-index:1}
  .khmer-hero .latest-box h1{
    display:block;
    margin:0 0 12px;
    color:#ffe0a3;
    font-size:clamp(24px,3.5vw,29px);
    font-weight:normal;
    line-height:1.15;
    text-shadow:0 2px 5px #281008;
  }
  .khmer-hero .latest-digits{
    width:100%;
    max-width:370px;
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:6px;
  }
  .khmer-hero .latest-digits span{
    position:static;
    width:auto;
    min-width:0;
    max-width:none;
    height:auto;
    aspect-ratio:.82;
    border:4px double #a86c2e;
    border-radius:3px;
    display:grid;
    place-items:center;
    background:linear-gradient(#fff9e8,#e9d0a0);
    box-shadow:inset 0 0 17px rgba(137,77,25,.23),0 4px 9px rgba(38,13,7,.7);
    color:#7d2116;
    font-size:clamp(42px,7vw,56px);
    line-height:1;
    transform:none;
  }
  .khmer-hero .latest-box>p{
    position:static;
    width:auto;
    max-width:100%;
    margin:13px 0 0;
    padding:7px 10px;
    border:1px solid rgba(213,163,78,.3);
    border-radius:3px;
    background:rgba(38,9,6,.58);
    color:#f5dca9;
    font:11px/1.45 Arial,sans-serif;
    white-space:normal;
    overflow-wrap:anywhere;
  }
  .khmer-hero .next-medallion{
    position:relative;
    width:100%;
    height:auto;
    min-height:300px;
    margin:0;
    transform:none;
    justify-self:stretch;
    overflow:hidden;
    border:0;
    border-radius:0;
    display:grid;
    place-content:center;
    background:
      linear-gradient(rgba(54,18,10,.38),rgba(38,12,8,.62)),
      url('../images/angkor-master-clean.webp') center 54%/cover no-repeat;
    box-shadow:none;
    color:#f7dcaa;
    text-align:center;
  }
  .khmer-hero .next-medallion::before{
    content:"";
    position:absolute;
    z-index:0;
    left:50%;
    top:50%;
    width:clamp(206px,25vw,224px);
    aspect-ratio:1;
    display:block;
    transform:translate(-50%,-50%);
    border:6px double #d5aa57;
    border-radius:50%;
    background:radial-gradient(circle,#8c3e1c,#50180f 73%);
    box-shadow:0 0 0 3px #47150e,0 7px 18px rgba(31,8,4,.55);
  }
  .khmer-hero .next-medallion>*{position:relative;z-index:1}
  .khmer-hero .next-medallion h2{
    margin:0 0 8px;
    font-size:18px;
    font-weight:normal;
  }
  .khmer-hero .next-time strong{font-size:36px}
  .khmer-hero .next-time i{margin:0 2px;font-size:23px}
  .khmer-hero .time-labels{
    width:164px;
    margin:0 auto;
    justify-content:space-around;
    font:8px/1.2 Arial,sans-serif;
  }
  .khmer-hero .next-medallion>p{
    max-width:180px;
    margin:11px auto 0;
    font:10px/1.35 Arial,sans-serif;
  }
}

@media(max-width:640px){
  .khmer-hero-grid{
    min-height:0;
    grid-template-columns:1fr;
  }
  .khmer-hero .latest-box{
    min-height:0;
    padding:20px 14px 19px;
    border-right:0;
    border-bottom:2px solid #ad762f;
  }
  .khmer-hero .latest-box h1{
    margin-bottom:11px;
    font-size:clamp(24px,7.4vw,29px);
  }
  .khmer-hero .latest-digits{
    max-width:390px;
    gap:5px;
  }
  .khmer-hero .latest-digits span{
    font-size:clamp(42px,14vw,56px);
  }
  .khmer-hero .next-medallion{
    min-height:238px;
  }
  .khmer-hero .next-medallion::before{
    width:clamp(198px,55vw,214px);
  }
  .khmer-hero .next-time strong{font-size:34px}
}

/* The full eight-link navigation needs 966px. Keep the compact menu active
   through the exact 901–965px tablet gap so the header never widens the page. */
@media(min-width:901px) and (max-width:965px){
  .mobile-menu{display:block;margin-left:auto}
  .main-nav{
    display:none;
    position:absolute;
    z-index:30;
    top:82px;
    left:12px;
    right:12px;
    height:auto;
    padding:9px;
    background:#3c160f;
    flex-direction:column;
    gap:0;
  }
  .main-nav a{padding:11px}
}
