/* TARAMAA MASTER — Contact + FAQ page. Scoped so it cannot alter other pages. */
:root{--cf-purple:#5b18d6;--cf-purple2:#7a32ef;--cf-orange:#ff8a00;--cf-gold:#ffb21a;--cf-ink:#151126;--cf-muted:#514a63}
*{box-sizing:border-box}
.tm-contact-faq-page{margin:0;background:#fff;color:var(--cf-ink);font-family:Inter,Arial,sans-serif;overflow-x:hidden}

/* Keep the exact master/footer content width used by the existing site. */
.tm-contact-shell{width:calc(100% - 32px);max-width:1280px;margin:0 auto;padding:20px 0 14px}
.tm-contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:stretch}
.tm-gold-card{border:1px solid var(--cf-orange);border-radius:13px;background:linear-gradient(180deg,#fff 0%,#fffefd 100%);box-shadow:0 9px 24px rgba(255,138,0,.07),0 2px 11px rgba(91,24,214,.035)}

/* =========================
   TOP CONTACT / FAQ CARDS
   ========================= */
.tm-contact-panel,.tm-faq-panel{height:575px;min-width:0;overflow:hidden}
.tm-contact-panel{position:relative;isolation:isolate;contain:paint;z-index:0}

/* Contact heading + artwork occupy the same 202px band as the reference. */
.tm-contact-top{height:202px;display:grid;grid-template-columns:43% 57%;position:relative;overflow:hidden}
.tm-contact-copy{position:static;z-index:4;padding:20px 0 0 38px;min-width:0}
.tm-breadcrumb{height:22px;display:flex;align-items:center;gap:9px;font-size:11px;color:#5d566e}
.tm-breadcrumb a{color:#3c3650;text-decoration:none}.tm-breadcrumb b{font-weight:700;color:#171126}.tm-breadcrumb span{font-size:15px;color:var(--cf-orange)}
.tm-contact-copy h1,.tm-faq-head h1{margin:11px 0 9px;font:400 34px/1.02 "DM Serif Display",Georgia,serif;letter-spacing:-.3px}
.tm-contact-copy h1 span,.tm-faq-head h1 span{color:var(--cf-purple)}
.tm-contact-copy h1 em,.tm-faq-head h1 em{font-style:normal;color:var(--cf-orange)}
.tm-contact-copy>p,.tm-faq-head>p{margin:0;font-size:11px;line-height:1.7;color:#28233a;font-weight:500}
.tm-contact-art{height:202px;position:relative;overflow:hidden}
.tm-contact-art:before{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.72) 13%,rgba(255,255,255,.08) 45%,transparent 100%)}
.tm-contact-art img{width:100%;height:100%;object-fit:cover;object-position:center 46%;display:block;filter:saturate(1.04)}

/* The information column stays inside the LEFT card only. */
.tm-contact-list{position:absolute;left:38px;top:157px;width:calc(43% - 52px);height:409px;border:1px solid rgba(255,138,0,.18);border-radius:12px;background:rgba(255,255,255,.98);box-shadow:0 7px 18px rgba(255,138,0,.045),0 3px 13px rgba(91,24,214,.035);z-index:5;overflow:hidden}
.tm-contact-item{min-height:81px;height:81px;display:flex;align-items:center;gap:13px;padding:10px 12px;border-bottom:1px solid rgba(255,138,0,.16)}
.tm-contact-item:last-child{border-bottom:0}
.tm-contact-icon{width:46px;height:46px;flex:0 0 46px;display:grid;place-items:center;border:1px solid #bd8cff;border-radius:50%;color:var(--cf-purple);font-size:23px;background:#fff;box-shadow:0 4px 11px rgba(91,24,214,.07)}
.tm-contact-item h2{margin:0 0 4px;font-size:12px;color:var(--cf-orange);font-weight:700}.tm-contact-item p{margin:0;font-size:9.5px;line-height:1.62;color:#262139;font-weight:500}

/* IMPORTANT: this card is clipped to the LEFT panel and can never overlap FAQ. */
.tm-message-card{position:absolute;left:43%;right:14px;width:auto;top:202px;height:359px;border:1px solid rgba(91,24,214,.15);border-radius:12px;background:#fff;z-index:8;padding:13px 18px;overflow:hidden}
.tm-card-heading{display:flex;align-items:center;gap:10px;justify-content:center;margin-bottom:12px}
.tm-card-heading span{height:1px;background:linear-gradient(90deg,transparent,var(--cf-orange));flex:1}.tm-card-heading span:last-child{background:linear-gradient(90deg,var(--cf-orange),transparent)}
.tm-card-heading h2{margin:0;color:var(--cf-orange);font:400 17px/1 "DM Serif Display",Georgia,serif;white-space:nowrap}
.tm-contact-form{display:grid;gap:7px}
.tm-contact-form label{height:34px;border:1px solid rgba(91,24,214,.13);border-radius:7px;display:flex;align-items:center;background:#fff;position:relative;overflow:hidden}
.tm-contact-form label i{width:34px;text-align:center;color:#68617a;font-style:normal;font-size:14px}
.tm-contact-form input,.tm-contact-form select,.tm-contact-form textarea{border:0;outline:0;flex:1;min-width:0;height:100%;font:500 10px Inter,Arial;color:var(--cf-ink);background:transparent;padding:0 9px}
.tm-contact-form input::placeholder,.tm-contact-form textarea::placeholder{color:#6d677a}.tm-contact-form select{appearance:none;color:#6d677a}.tm-contact-form label>b{position:absolute;right:11px;color:#6c6478;font-size:15px;font-weight:400}
.tm-contact-form .tm-message-field{height:70px;align-items:flex-start}.tm-contact-form textarea{height:69px;padding-top:10px;resize:none}
.tm-gold-button{height:40px;width:198px;justify-self:center;border:1px solid #ffad19;border-radius:7px;background:linear-gradient(135deg,#ffd05d,#ff9b09);box-shadow:0 8px 18px rgba(255,177,27,.22);color:#18121d;font:700 12px Inter,Arial;cursor:pointer}.tm-gold-button span{margin-left:18px;font-size:15px}

/* =========================
   FAQ — fully contained in RIGHT card
   ========================= */
.tm-faq-panel{position:relative;padding:20px 19px 12px;isolation:isolate;z-index:1}
.tm-faq-head{position:relative;height:118px;z-index:3;min-width:0}
.tm-faq-head h1{font-size:30px;margin-top:10px;white-space:nowrap;position:relative;z-index:3}.tm-faq-head>p{font-size:10.5px;line-height:1.75;position:relative;z-index:3}
.tm-faq-art{position:absolute;right:-19px;top:-20px;width:61%;height:118px;z-index:-1;overflow:hidden;opacity:.96}
.tm-faq-art:before{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.9) 18%,rgba(255,255,255,.18) 64%,rgba(255,255,255,.08) 100%)}
.tm-faq-art img{width:100%;height:100%;object-fit:cover;object-position:58% 45%;display:block;filter:saturate(.95)}
.tm-faq-search{height:36px;border:1px solid rgba(91,24,214,.28);border-radius:8px;display:flex;overflow:hidden;background:#fff;box-shadow:0 4px 12px rgba(91,24,214,.035);position:relative;z-index:4}
.tm-faq-search input{flex:1;border:0;outline:0;padding:0 13px;font:500 10px Inter;color:var(--cf-ink)}.tm-faq-search input::placeholder{color:#696274}.tm-faq-search button{width:46px;border:0;background:#fff;color:var(--cf-purple);font-size:23px;cursor:pointer}
.tm-faq-tabs{display:flex;gap:8px;margin:11px 0 12px;position:relative;z-index:4;white-space:nowrap}
.tm-faq-tabs button{height:31px;padding:0 19px;border:1px solid rgba(91,24,214,.12);border-radius:7px;background:#fff;color:#272139;font:600 10px Inter;box-shadow:0 3px 9px rgba(91,24,214,.025);cursor:pointer;white-space:nowrap}
.tm-faq-tabs button.is-active{border-color:#a66cf1;background:linear-gradient(135deg,#8e44e8,#6e20d2);color:#fff;box-shadow:0 7px 16px rgba(91,24,214,.18)}
.tm-faq-list{display:grid;gap:7px;max-height:335px;overflow:auto;padding-right:1px;position:relative;z-index:4}
.tm-faq-list details{border:1px solid rgba(255,138,0,.25);border-radius:8px;background:#fff;overflow:hidden}.tm-faq-list details[open]{border-color:rgba(164,105,238,.42);background:linear-gradient(90deg,rgba(246,238,255,.72),#fff)}
.tm-faq-list summary{min-height:38px;display:grid;grid-template-columns:31px minmax(0,1fr) 20px;align-items:center;gap:8px;padding:0 10px;cursor:pointer;list-style:none}.tm-faq-list summary::-webkit-details-marker{display:none}
.tm-faq-list summary b{font-size:11.5px;font-weight:600;color:#171327}.tm-qno{width:28px;height:28px;border:1px solid #ad72ef;border-radius:50%;display:grid;place-items:center;color:var(--cf-purple);font-size:10px;font-weight:700;background:#fff}.tm-faq-list summary i{font-style:normal;text-align:center;color:#171327;font-size:14px}.tm-faq-list details p{margin:0;padding:0 37px 10px 49px;font-size:10px;line-height:1.65;color:#28233a}.tm-faq-list details[hidden]{display:none}

/* =========================
   HELP STRIP
   ========================= */
.tm-help-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:13px}
.tm-help-card{height:103px;position:relative;overflow:hidden;display:flex;align-items:center;padding:0 27px}
.tm-help-art{position:relative;height:103px;width:180px;flex:0 0 180px;overflow:hidden;margin-left:-28px}.tm-help-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.7) 75%,#fff 100%)}
.tm-help-art img{width:100%;height:100%;object-fit:cover;object-position:center 60%;display:block}.tm-help-copy{position:relative;z-index:2;min-width:0}.tm-help-copy h2{margin:0 0 7px;font:400 21px/1 "DM Serif Display",Georgia,serif}.tm-help-copy h2 span{color:var(--cf-purple)}.tm-help-copy h2 em{font-style:normal;color:var(--cf-orange)}.tm-help-copy p{margin:0;font-size:10px;line-height:1.55;color:#2a253b}
.tm-outline-button{margin-left:auto;position:relative;z-index:3;height:39px;padding:0 19px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,138,0,.48);border-radius:7px;background:#fff;color:var(--cf-orange);text-decoration:none;font:600 10.5px Inter;white-space:nowrap}.tm-help-icon{width:57px;height:57px;border:1px solid #d3b0ff;border-radius:50%;display:grid;place-items:center;color:var(--cf-purple);font-size:25px;flex:0 0 57px;margin-right:20px}.tm-help-card:nth-child(2) .tm-help-copy{margin-left:0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Desktop reference geometry: contact details and message form sit side-by-side with a clean gap. */
@media(min-width:1051px){
 .tm-contact-list{left:38px;top:157px;width:calc(43% - 52px);height:409px}
 .tm-message-card{left:43%;right:14px;top:202px;width:auto;height:359px}
 .tm-contact-item{padding-left:12px;padding-right:10px}
 .tm-contact-item>div{min-width:0}
 .tm-contact-item p{overflow-wrap:anywhere}
}

@media(max-width:1050px){
 .tm-contact-shell{width:calc(100% - 28px)}.tm-contact-grid{gap:10px}.tm-contact-copy{padding-left:25px}.tm-contact-list{left:25px;width:calc(43% - 35px)}.tm-message-card{left:43%;right:10px;width:auto}.tm-faq-tabs{gap:5px}.tm-faq-tabs button{padding-inline:11px}.tm-help-copy h2{font-size:19px}
}
@media(max-width:820px){
 .tm-contact-shell{width:calc(100% - 20px);padding-top:10px}.tm-contact-grid{grid-template-columns:1fr}.tm-contact-panel,.tm-faq-panel{height:auto;min-height:575px}.tm-contact-top{height:235px;grid-template-columns:1fr}.tm-contact-art{position:absolute;inset:0 0 0 40%;height:235px}.tm-contact-copy{padding-left:22px}.tm-contact-copy h1{font-size:31px}.tm-contact-list{top:158px;left:22px;width:230px}.tm-message-card{position:relative;left:auto;right:auto;top:auto;width:auto;height:auto;margin:10px 10px 10px 22px;padding:12px}.tm-faq-panel{padding:18px 15px 14px}.tm-faq-head h1{font-size:27px;white-space:normal}.tm-faq-art{width:57%;height:105px}.tm-help-grid{grid-template-columns:1fr}.tm-help-card{height:105px}.tm-outline-button{padding-inline:14px}
}
@media(max-width:560px){
 .tm-contact-copy>p br,.tm-faq-head>p br{display:none}.tm-contact-list{width:calc(100% - 44px)}.tm-contact-item{min-height:77px;height:77px}.tm-contact-icon{width:40px;height:40px;flex-basis:40px;font-size:20px}.tm-message-card{margin-left:10px;margin-right:10px}.tm-faq-tabs{overflow:auto;padding-bottom:2px}.tm-faq-tabs button{padding-inline:13px}.tm-help-card{padding:0 14px}.tm-help-art{width:120px;flex-basis:120px;margin-left:-14px}.tm-help-copy h2{font-size:18px}.tm-help-copy p{font-size:9px}.tm-outline-button{font-size:9px;padding-inline:10px}
}

/* FINAL LOCKED GEOMETRY — desktop reference:
   Contact details occupy the complete left column; the artwork sits above the
   message form in the right column. The message card is attached to the
   contact panel and cannot cover Visit Us. */
@media (min-width:1051px){
  /* FINAL CONTACT GEOMETRY: both lower cards start at the same baseline.
     Nothing overlaps the Contact Us copy/artwork, and Visit Us remains fully visible. */
  .tm-contact-panel{position:relative;overflow:hidden}
  .tm-contact-top{position:static;height:202px}
  .tm-contact-copy{position:static}
  .tm-contact-art{position:absolute;left:43%;right:0;top:0;width:auto;height:202px}

  /* Contact information column: directly below the hero band. */
  .tm-contact-list{
    position:absolute;
    left:38px;
    top:202px;
    width:calc(43% - 70px);
    height:359px;
    z-index:5;
  }
  .tm-contact-item{
    min-height:71.8px;
    height:71.8px;
    padding-top:8px;
    padding-bottom:8px;
  }

  /* Message form: attached to the Contact Us panel's right half,
     aligned exactly with the contact-information card instead of floating over it. */
  .tm-message-card{
    position:absolute;
    left:44%;
    right:14px;
    top:202px;
    width:auto;
    height:359px;
    z-index:8;
  }
}
