html,
body.contact-page{
  margin:0;
  width:100%;
  min-height:100%;
  background:#F7F0E7;
}

body.contact-page{
  position:relative;
  overflow-x:hidden;
  color:#4B1724;
}

body.contact-page .topbar{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:96px;
  z-index:100;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

body.contact-page .topbar::before,
body.contact-page .topbar::after{
  content:none !important;
  display:none !important;
}

body.contact-page .brand-fixed,
body.contact-page .nav{
  z-index:110;
}

body.contact-page .brand-fixed img{
  filter:
    saturate(1.35)
    contrast(1.22)
    drop-shadow(0 0 .45px rgba(233,81,124,.95))
    drop-shadow(0 1px 2px rgba(93,20,38,.10));
}

body.contact-page .contact-counter-spacer{
  visibility:hidden;
  pointer-events:none;
}

body.contact-page .contact-main{
  position:relative;
  width:100%;
  min-height:100vh;
  min-height:100svh;
  margin:0;
  padding:0;
  overflow:hidden;
  background:#F7F0E7;
}

body.contact-page .contact-master{
  position:absolute;
  inset:0;
  z-index:1;
  width:100%;
  height:100%;
  overflow:hidden;
}

body.contact-page .contact-master img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  user-select:none;
  -webkit-user-drag:none;
}

body.contact-page .contact-copy{
  position:absolute;
  left:5.4vw;
  top:112px;
  bottom:34px;
  z-index:20;
  width:min(43vw,760px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  color:#4B1724;
}

body.contact-page .contact-eyebrow{
  margin:0 0 9px;
  color:#E9517C;
  font-size:10px;
  font-weight:700;
  letter-spacing:.30em;
  text-transform:uppercase;
}

body.contact-page .contact-divider{
  display:block;
  width:50px;
  height:2px;
  margin:0 0 16px;
  background:#C59B36;
}

body.contact-page .contact-title{
  margin:0;
  color:#4B1724;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(58px,5.6vw,100px);
  font-weight:400;
  line-height:.86;
  letter-spacing:-.045em;
}

body.contact-page .contact-title span{
  color:#E9517C;
}

body.contact-page .contact-lead{
  width:min(540px,100%);
  margin:24px 0 0;
  color:#4B1724;
  font-size:14px;
  line-height:1.55;
}

body.contact-page .contact-actions{
  width:min(720px,100%);
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-top:28px;
}

body.contact-page .contact-action{
  min-height:104px;
  padding:18px 20px;
  box-sizing:border-box;
  display:grid;
  grid-template-columns:46px 1fr 20px;
  gap:14px;
  align-items:center;
  text-decoration:none;
  color:#4B1724;
  background:rgba(255,255,255,.90);
  border:1px solid rgba(75,23,36,.08);
  border-radius:20px;
  box-shadow:0 14px 34px rgba(68,45,36,.07);
  transition:transform .18s ease, box-shadow .18s ease;
}

body.contact-page .contact-action-primary{
  background:rgba(255,238,243,.92);
}

body.contact-page .contact-action:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 42px rgba(68,45,36,.11);
}

body.contact-page .contact-action-icon{
  width:44px;
  height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  color:#E9517C;
  background:rgba(233,81,124,.09);
  font-size:22px;
}

body.contact-page .contact-action strong{
  display:block;
  margin-bottom:6px;
  color:#E9517C;
  font-size:15px;
  letter-spacing:.04em;
}

body.contact-page .contact-action small{
  display:block;
  color:rgba(75,23,36,.78);
  font-size:11px;
  line-height:1.4;
}

body.contact-page .contact-action b{
  color:#E9517C;
  font-size:22px;
  font-weight:400;
}

body.contact-page .contact-meta{
  width:min(720px,100%);
  margin-top:26px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}

body.contact-page .contact-meta > div{
  padding-right:14px;
  border-right:1px solid rgba(75,23,36,.12);
}

body.contact-page .contact-meta > div:last-child{
  border-right:0;
}

body.contact-page .contact-meta-label{
  display:block;
  margin-bottom:5px;
  color:#E9517C;
  font-size:9px;
  font-weight:700;
  letter-spacing:.08em;
}

body.contact-page .contact-meta strong{
  display:block;
  color:#4B1724;
  font-size:11px;
  font-weight:500;
  overflow-wrap:anywhere;
}

body.contact-page .contact-signature{
  width:min(720px,100%);
  margin:25px 0 0;
  padding-top:18px;
  border-top:1px solid rgba(197,155,54,.48);
  color:#E9517C;
  font-family:Georgia,"Times New Roman",serif;
  font-size:18px;
  font-style:italic;
}

@media(max-width:960px){
  body.contact-page .topbar{
    position:absolute !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    height:78px !important;
    background:transparent !important;
    z-index:1000 !important;
  }

  body.contact-page .brand-fixed{
    position:absolute !important;
    top:8px !important;
    left:10px !important;
    z-index:1010 !important;
  }

  body.contact-page .brand-fixed img{
    width:50px !important;
    height:auto !important;
  }

  body.contact-page .nav{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    position:absolute !important;
    top:46px !important;
    left:10px !important;
    right:10px !important;
    width:calc(100% - 20px) !important;
    transform:none !important;
    justify-content:space-between !important;
    align-items:center !important;
    gap:4px !important;
    margin:0 !important;
    padding:0 !important;
    z-index:1010 !important;
  }

  body.contact-page .nav a{
    display:block !important;
    flex:0 0 auto !important;
    padding:3px 0 !important;
    font-size:6.8px !important;
    line-height:1 !important;
    letter-spacing:.01em !important;
    white-space:nowrap !important;
  }

  body.contact-page .contact-master img{
    object-position:64% center;
  }

  body.contact-page .contact-copy{
    left:5vw;
    top:90px;
    bottom:26px;
    width:50vw;
  }

  body.contact-page .contact-title{
    font-size:clamp(46px,8vw,72px);
  }

  body.contact-page .contact-actions{
    grid-template-columns:1fr;
    width:380px;
    gap:10px;
  }

  body.contact-page .contact-action{
    min-height:82px;
    padding:13px 14px;
  }

  body.contact-page .contact-meta{
    width:380px;
    grid-template-columns:1fr;
    gap:8px;
  }

  body.contact-page .contact-meta > div{
    border-right:0;
    padding-right:0;
  }
}

@media(max-width:520px) and (orientation:portrait){
  body.contact-page{
    overflow-x:hidden !important;
    overflow-y:auto !important;
  }

  body.contact-page .contact-main{
    min-height:100svh;
    overflow:hidden;
  }

  body.contact-page .contact-master img{
    object-position:72% center;
    opacity:.45;
  }

  body.contact-page .contact-copy{
    left:18px;
    right:18px;
    top:88px;
    bottom:20px;
    width:auto;
    justify-content:flex-end;
  }

  body.contact-page .contact-eyebrow{
    font-size:8px;
  }

  body.contact-page .contact-title{
    font-size:clamp(42px,14vw,58px);
  }

  body.contact-page .contact-lead{
    width:90%;
    margin-top:14px;
    font-size:10px;
  }

  body.contact-page .contact-actions{
    width:100%;
    margin-top:15px;
    grid-template-columns:1fr;
    gap:8px;
  }

  body.contact-page .contact-action{
    min-height:72px;
    padding:10px 12px;
    border-radius:14px;
    grid-template-columns:34px 1fr 16px;
    gap:10px;
  }

  body.contact-page .contact-action-icon{
    width:32px;
    height:32px;
    font-size:16px;
  }

  body.contact-page .contact-action strong{
    margin-bottom:3px;
    font-size:11px;
  }

  body.contact-page .contact-action small{
    font-size:9px;
  }

  body.contact-page .contact-meta{
    width:100%;
    margin-top:12px;
    grid-template-columns:1fr;
    gap:5px;
  }

  body.contact-page .contact-meta-label{
    font-size:7px;
  }

  body.contact-page .contact-meta strong{
    font-size:9px;
  }

  body.contact-page .contact-signature{
    margin-top:12px;
    padding-top:10px;
    font-size:14px;
  }
}

@media(max-width:960px) and (orientation:landscape){
  body.contact-page{
    overflow-x:hidden !important;
    overflow-y:auto !important;
  }

  body.contact-page .topbar{
    height:64px !important;
  }

  body.contact-page .brand-fixed{
    top:8px !important;
    left:12px !important;
  }

  body.contact-page .brand-fixed img{
    width:52px !important;
  }

  body.contact-page .nav{
    top:16px !important;
    left:80px !important;
    right:16px !important;
    width:auto !important;
    justify-content:center !important;
    gap:clamp(12px,3vw,28px) !important;
  }

  body.contact-page .nav a{
    font-size:clamp(6.5px,1vw,8px) !important;
  }

  body.contact-page .contact-main{
    min-height:100svh !important;
    height:auto !important;
    overflow:visible !important;
    padding-bottom:24px !important;
  }

  body.contact-page .contact-master{
    position:absolute !important;
    inset:0 0 auto 0 !important;
    width:100% !important;
    height:100svh !important;
    pointer-events:none !important;
  }

  body.contact-page .contact-master img{
    object-position:64% center !important;
  }

  body.contact-page .contact-copy{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;

    width:min(48vw,540px) !important;

    margin-left:5vw !important;
    padding-top:68px !important;
    padding-bottom:20px !important;

    display:block !important;
  }

  body.contact-page .contact-eyebrow{
    font-size:7px !important;
    margin-bottom:5px !important;
  }

  body.contact-page .contact-divider{
    width:42px !important;
    margin-bottom:9px !important;
  }

  body.contact-page .contact-title{
    font-size:clamp(32px,5.2vw,56px) !important;
    line-height:.88 !important;
  }

  body.contact-page .contact-lead{
    width:100% !important;
    margin-top:10px !important;
    font-size:9px !important;
    line-height:1.35 !important;
  }

  body.contact-page .contact-actions{
    width:min(460px,100%) !important;
    margin-top:14px !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
  }

  body.contact-page .contact-action{
    min-height:0 !important;
    padding:11px 12px !important;
    border-radius:14px !important;
    grid-template-columns:30px 1fr 16px !important;
    gap:9px !important;
  }

  body.contact-page .contact-action-icon{
    width:30px !important;
    height:30px !important;
    font-size:15px !important;
  }

  body.contact-page .contact-action strong{
    margin-bottom:3px !important;
    font-size:10px !important;
  }

  body.contact-page .contact-action small{
    font-size:8px !important;
    line-height:1.3 !important;
  }

  body.contact-page .contact-meta{
    width:min(460px,100%) !important;
    margin-top:12px !important;
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
  }

  body.contact-page .contact-meta-label{
    font-size:6.8px !important;
  }

  body.contact-page .contact-meta strong{
    font-size:8.5px !important;
  }

  body.contact-page .contact-signature{
    width:min(460px,100%) !important;
    margin-top:12px !important;
    padding-top:9px !important;
    font-size:12px !important;
  }
}


/* =========================================================
   CONTACT — FINAL TABLET RESPONSIVE
   One clean override only. Desktop is untouched.
   ========================================================= */

@media (min-width:961px)
       and (max-width:1366px)
       and (pointer:coarse){

  body.contact-page .topbar{
    position:absolute !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    height:96px !important;
    background:transparent !important;
    z-index:9999 !important;
  }

  body.contact-page .brand-fixed{
    position:absolute !important;
    top:16px !important;
    left:24px !important;
    transform:none !important;
  }

  body.contact-page .brand-fixed img{
    width:100px !important;
    height:auto !important;
  }

  body.contact-page .nav{
    display:flex !important;
    position:absolute !important;
    left:50% !important;
    top:50% !important;
    right:auto !important;
    width:max-content !important;
    transform:translate(-50%,-50%) !important;
    justify-content:center !important;
    align-items:center !important;
    gap:44px !important;
    margin:0 !important;
    padding:0 !important;
  }

  body.contact-page .nav a{
    font-size:11px !important;
    letter-spacing:.15em !important;
    white-space:nowrap !important;
  }
}

@media (orientation:landscape)
       and (min-width:961px)
       and (max-width:1366px)
       and (max-height:900px)
       and (pointer:coarse){

  body.contact-page{
    overflow-x:hidden !important;
    overflow-y:auto !important;
  }

  body.contact-page .contact-main{
    min-height:100svh !important;
    height:auto !important;
    overflow:visible !important;
    padding-bottom:28px !important;
  }

  body.contact-page .contact-master{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100svh !important;
    pointer-events:none !important;
  }

  body.contact-page .contact-copy{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;
    width:min(48vw,540px) !important;
    margin-left:5.4vw !important;
    padding-top:112px !important;
    padding-bottom:28px !important;
    display:block !important;
  }

  body.contact-page .contact-title{
    font-size:clamp(44px,6.2vw,72px) !important;
  }

  body.contact-page .contact-lead{
    width:100% !important;
    margin-top:14px !important;
    font-size:10px !important;
  }

  body.contact-page .contact-actions{
    width:min(500px,100%) !important;
    margin-top:18px !important;
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
  }

  body.contact-page .contact-action{
    min-height:78px !important;
    padding:12px !important;
  }

  body.contact-page .contact-meta{
    width:min(500px,100%) !important;
    margin-top:14px !important;
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
  }

  body.contact-page .contact-signature{
    width:min(500px,100%) !important;
    margin-top:14px !important;
    padding-top:10px !important;
  }
}

/* =========================================================
   CONTACT — PORTRAIT HEADER
   EXACT GEOMETRY FROM APPROVED OUR STORY TABLET HEADER
   ========================================================= */
@media (orientation:portrait)
       and (min-width:521px)
       and (max-width:1366px)
       and (pointer:coarse){

  body.contact-page .topbar{
    position:absolute !important;
    top:0 !important;
    left:0 !important;
    width:100% !important;
    height:78px !important;
    min-height:0 !important;
    background:transparent !important;
    border:0 !important;
    overflow:visible !important;
  }

  body.contact-page .brand-fixed{
    position:absolute !important;
    top:8px !important;
    left:12px !important;
    transform:none !important;
  }

  body.contact-page .brand-fixed img{
    width:64px !important;
    height:auto !important;
  }

  body.contact-page .nav{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    position:absolute !important;
    left:92px !important;
    right:18px !important;
    top:22px !important;
    width:auto !important;
    height:auto !important;
    transform:none !important;
    align-items:center !important;
    justify-content:center !important;
    gap:clamp(12px,3vw,30px) !important;
    margin:0 !important;
    padding:0 !important;
    white-space:nowrap !important;
    z-index:120 !important;
  }

  body.contact-page .nav a{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    flex:0 0 auto !important;
    padding:7px 0 !important;
    font-size:clamp(7px,1.3vw,9px) !important;
    font-weight:700 !important;
    letter-spacing:.04em !important;
    white-space:nowrap !important;
  }
}

