/* =========================================================
   The House of Shann Christen — Responsive Master 5.0
   Shared production-safe geometry only. Room art direction,
   photography, typography and interactions remain room-owned.
   ========================================================= */
:root{
  --house-rail-width:72px;
  --house-header-height:62px;
  --house-editorial-safe-left:96px;
  --house-editorial-safe-top:48px;
  --house-editorial-safe-right:40px;
}

html,body{max-width:100%;}

/* Shared protection for fixed House architecture. */
.house-responsive-editorial,
.room-live-copy{
  box-sizing:border-box;
}

@media (max-width:1100px) and (min-width:821px){
  :root{
    --house-editorial-safe-left:88px;
    --house-editorial-safe-top:44px;
  }
}

@media (max-height:820px) and (min-width:821px){
  :root{
    --house-editorial-safe-left:92px;
    --house-editorial-safe-top:40px;
  }
}

@media (max-width:820px){
  :root{
    --house-editorial-safe-left:24px;
    --house-editorial-safe-top:24px;
    --house-editorial-safe-right:24px;
  }
}


/* Production 11.0 — Universal operational House rail */
.house-rail{
  position:fixed!important;
  z-index:900!important;
  top:0!important;left:0!important;bottom:0!important;
  width:var(--house-rail-width,72px)!important;
  background:#050504!important;
  border-right:1px solid rgba(201,149,43,.68)!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  overflow:hidden!important;
}
.house-rail .rail-mark{
  width:100%;height:88px;display:flex;align-items:center;justify-content:center;
  flex:0 0 auto;text-decoration:none;
}
.house-rail .rail-mark img{
  display:block!important;width:28px!important;height:56px!important;object-fit:contain!important;
}
.house-rail .rail-title{
  flex:1;min-height:0;display:flex;align-items:center;justify-content:center;
  writing-mode:vertical-rl;text-orientation:mixed;color:#c9952b;
  letter-spacing:.13em;font:14px/1 Georgia,"Times New Roman",serif;
  white-space:nowrap;
}
.house-rail .rail-tools{
  width:100%;flex:0 0 auto;display:flex!important;flex-direction:column!important;
  align-items:stretch!important;padding:0 0 10px!important;margin:0!important;
}
.house-rail .rail-tools button,
.house-rail .rail-tools a{
  min-height:58px!important;width:100%!important;border:0!important;
  border-top:1px solid rgba(201,149,43,.16)!important;background:transparent!important;
  color:#c9952b!important;text-decoration:none!important;cursor:pointer!important;
  display:flex!important;flex-direction:column!important;align-items:center!important;
  justify-content:center!important;gap:4px!important;padding:7px 2px!important;
  font:21px/1 Georgia,"Times New Roman",serif!important;
}
.house-rail .rail-tools span{
  display:block!important;font:8px/1.1 Arial,sans-serif!important;text-transform:uppercase!important;
  letter-spacing:.07em!important;color:#d8bc7a!important;text-align:center!important;
}
.house-rail .rail-tools button:hover,
.house-rail .rail-tools a:hover,
.house-rail .rail-tools button:focus-visible,
.house-rail .rail-tools a:focus-visible{
  background:rgba(201,149,43,.08)!important;outline:none!important;color:#f0cf83!important;
}
body.has-universal-house-rail{
  padding-left:var(--house-rail-width,72px)!important;
}
@media(max-width:820px){
  .house-rail{display:none!important}
  body.has-universal-house-rail{padding-left:0!important}
}


/* =========================================================
   Production 11.0 — Canonical locked House header
   One geometry across every room. Logo fixed between Studio and Treatment.
   ========================================================= */
.house-header.house-header-canonical{
  position:fixed!important;
  z-index:850!important;
  top:0!important;
  left:var(--house-rail-width,72px)!important;
  right:0!important;
  height:62px!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  gap:24px!important;
  padding:0 22px!important;
  margin:0!important;
  background:rgba(5,5,4,.96)!important;
  border-bottom:1px solid rgba(201,149,43,.40)!important;
  backdrop-filter:blur(12px)!important;
  font-family:Georgia,"Times New Roman",serif!important;
}
.house-header.house-header-canonical .consultation-button{
  flex:0 0 auto!important;
  height:36px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 16px!important;
  margin:0!important;
  border:1px solid rgba(201,149,43,.72)!important;
  background:transparent!important;
  color:#eee7d8!important;
  text-decoration:none!important;
  text-transform:uppercase!important;
  font:10px/1 Arial,sans-serif!important;
  letter-spacing:.08em!important;
  white-space:nowrap!important;
}
.house-header.house-header-canonical .primary-nav{
  flex:1!important;
  min-width:0!important;
  display:grid!important;
  grid-template-columns:
    max-content max-content max-content max-content
    52px
    max-content max-content max-content max-content max-content!important;
  align-items:center!important;
  justify-content:space-between!important;
  column-gap:14px!important;
  width:auto!important;
  height:62px!important;
  margin:0!important;
  padding:0!important;
}
.house-header.house-header-canonical .primary-nav>a{
  display:flex!important;
  align-items:center!important;
  height:62px!important;
  padding:0 3px!important;
  margin:0!important;
  color:#eee7d8!important;
  text-decoration:none!important;
  text-transform:uppercase!important;
  font:10px/1 Arial,sans-serif!important;
  letter-spacing:.035em!important;
  white-space:nowrap!important;
  border-bottom:2px solid transparent!important;
  box-sizing:border-box!important;
}
.house-header.house-header-canonical .primary-nav>a.current{
  color:#d4a747!important;
  border-bottom-color:#d4a747!important;
}
.house-header.house-header-canonical .header-mark{
  width:52px!important;
  height:62px!important;
  display:grid!important;
  place-items:center!important;
  margin:0!important;
  padding:0!important;
}
.house-header.house-header-canonical .header-mark img{
  display:block!important;
  width:28px!important;
  height:46px!important;
  object-fit:contain!important;
}
@media(max-width:1120px) and (min-width:821px){
  .house-header.house-header-canonical{gap:14px!important;padding:0 14px!important}
  .house-header.house-header-canonical .primary-nav{column-gap:9px!important}
  .house-header.house-header-canonical .primary-nav>a{font-size:9px!important}
  .house-header.house-header-canonical .consultation-button{padding:0 12px!important;font-size:9px!important}
}
@media(max-width:820px){
  .house-header.house-header-canonical{
    left:0!important;
    padding:0 10px!important;
    gap:10px!important;
  }
  .house-header.house-header-canonical .consultation-button{display:none!important}
  .house-header.house-header-canonical .primary-nav{
    display:flex!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    justify-content:flex-start!important;
    gap:16px!important;
    scrollbar-width:none!important;
  }
  .house-header.house-header-canonical .primary-nav::-webkit-scrollbar{display:none!important}
  .house-header.house-header-canonical .header-mark{
    flex:0 0 44px!important;
    order:4!important;
  }
  .house-header.house-header-canonical .primary-nav>a{
    flex:0 0 auto!important;
    height:62px!important;
  }
}


/* Production 11.0 — House-wide Conservatory Search overlay */
.house-search-overlay{
  position:fixed;z-index:1200;inset:0;display:block;
  opacity:0;pointer-events:none;transition:opacity .28s ease;
}
.house-search-overlay.open{opacity:1;pointer-events:auto}
.house-search-backdrop{
  position:absolute;inset:0;border:0;background:rgba(0,0,0,.52);cursor:pointer;
  backdrop-filter:blur(3px);
}
.house-search-panel{
  position:absolute;top:62px;left:var(--house-rail-width,72px);bottom:0;
  width:min(520px,calc(100vw - var(--house-rail-width,72px)));
  box-sizing:border-box;padding:44px 34px 34px;
  background:rgba(8,7,6,.985);border-right:1px solid rgba(201,149,43,.55);
  box-shadow:24px 0 70px rgba(0,0,0,.45);overflow:auto;
  color:#eee7d8;font-family:Georgia,"Times New Roman",serif;
}
.house-search-close{
  position:absolute;top:14px;right:18px;border:0;background:transparent;color:#d4a747;
  font:300 34px/1 Arial,sans-serif;cursor:pointer;
}
.house-search-kicker{
  margin:0 0 8px;color:#c9952b;font:9px/1 Arial,sans-serif;
  letter-spacing:.18em;text-transform:uppercase;
}
.house-search-panel h2{
  margin:0 0 10px;font:400 34px/1.1 Georgia,"Times New Roman",serif;color:#eee7d8;
}
.house-search-intro{margin:0 0 28px;color:#bdb3a5;font-size:14px;line-height:1.5}
.house-search-field{display:block}
.house-search-field>span{
  display:block;margin-bottom:8px;color:#d1a04a;font:9px/1 Arial,sans-serif;
  letter-spacing:.14em;text-transform:uppercase;
}
.house-search-field input{
  width:100%;box-sizing:border-box;border:1px solid rgba(201,149,43,.45);
  background:#0d0b09;color:#f1eadf;padding:14px 15px;font:16px/1.3 Georgia,"Times New Roman",serif;
  outline:none;
}
.house-search-field input:focus{border-color:#c9952b}
.house-search-status{margin:14px 0 12px;color:#8f8577;font:10px/1.3 Arial,sans-serif;letter-spacing:.04em}
.house-search-results{display:grid;gap:8px}
.house-search-result{
  display:block;padding:14px 12px;border-top:1px solid rgba(201,149,43,.18);
  color:#eee7d8;text-decoration:none;background:transparent;
}
.house-search-result:hover{background:rgba(201,149,43,.055)}
.house-search-result small{
  display:block;color:#b98a2f;font:9px/1.2 Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;
}
.house-search-result strong{display:block;margin:6px 0;font-size:17px;font-weight:400}
.house-search-result span{color:#a99f91;font:9px/1 Arial,sans-serif;text-transform:uppercase;letter-spacing:.06em}
body.house-search-open{overflow:hidden}
@media(max-width:820px){
  .house-search-panel{top:62px;left:0;width:100vw}
}
