/* ============================================================
   CONTACT US — editorial redesign (page-scoped, additive only)
   Reuses tokens/components from style.css. One clean implementation.
   ============================================================ */
#contact-form,#location{scroll-margin-top:100px;}

.c2{
  --c2-cream:#F7F3EA;
  --c2-ivory:#FBF8F1;
  --c2-forest:var(--forest-900);
  --c2-ink:var(--forest-950);
  --c2-gold:var(--timber-600);
  --c2-gold-soft:var(--timber-300);
}

.c2-eyebrow{color:var(--c2-gold);}
.c2-eyebrow::before{background:var(--c2-gold);}

/* ---------------------------------------------------------
   HERO
   --------------------------------------------------------- */
.c2-hero{min-height:clamp(430px,36vw,520px);display:flex;align-items:center;}
.c2-hero::before{
  background:
    linear-gradient(100deg,rgba(8,31,26,.95) 0%,rgba(8,31,26,.88) 22%,rgba(8,31,26,.68) 42%,rgba(8,31,26,.5) 62%,rgba(8,31,26,.38) 80%,rgba(8,31,26,.42) 100%),
    linear-gradient(0deg,rgba(8,31,26,.6) 0%,rgba(8,31,26,.2) 45%);
}
.c2-hero-inner{padding-block:clamp(6.5rem,5.8rem + 2vw,8rem) clamp(2rem,1.6rem + 1.6vw,2.75rem);width:100%;position:relative;}
.c2-hero .eyebrow{color:var(--c2-gold-soft);}
.c2-hero .eyebrow::before{background:var(--c2-gold-soft);}
.c2-hero h1{max-width:14ch;font-size:clamp(2.1rem,1.6rem + 2.4vw,3.3rem);line-height:1.1;}
.c2-hero h1 em{font-style:normal;color:var(--c2-gold-soft);}
.c2-hero .lead{max-width:32em;margin-top:1rem;color:rgba(255,255,255,.9);}

.c2-hero-words{
  display:none;position:absolute;right:var(--container-pad);top:28%;text-align:right;
}
.c2-hero-words{padding:1rem 1.2rem;border-radius:10px;background:rgba(8,31,26,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(250,190,167,.22);}
.c2-hero-words span{
  display:block;font-size:.74rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--white);line-height:2.1;
}
@media (min-width:860px){.c2-hero-words{display:block;}}

/* ---------------------------------------------------------
   CONTACT INFO STRIP
   --------------------------------------------------------- */
.c2-strip{background:var(--c2-ivory);border-bottom:1px solid var(--line-soft);padding-block:clamp(2.25rem,1.9rem + 1.4vw,2.9rem);}
.c2-strip-inner{display:grid;gap:clamp(1.8rem,1.4rem + 1.6vw,2.4rem);}
.c2-strip-items{display:grid;gap:clamp(1.8rem,1.4rem + 1.6vw,2.4rem);}
.c2-strip-item{display:flex;align-items:center;gap:1.1rem;padding-block:.15rem;transition:transform .35s var(--ease-out);}
.c2-strip-icon{
  flex-shrink:0;width:50px;height:50px;border-radius:50%;background:var(--sand-100);
  display:flex;align-items:center;justify-content:center;border:1px solid rgba(237,28,36,.45);color:var(--c2-gold);
  box-shadow:0 1px 2px rgba(8,31,26,.05);transition:transform .35s var(--ease-out),background .35s var(--ease-out),box-shadow .35s var(--ease-out);
}
.c2-strip-icon svg{width:21px;height:21px;}
.c2-strip-item:hover{transform:translateY(-2px);}
.c2-strip-item:hover .c2-strip-icon{background:var(--c2-gold);color:var(--white);box-shadow:0 8px 18px -8px rgba(237,28,36,.55);}
.c2-strip-item h3{font-size:1rem;margin-bottom:.35rem;}
.c2-strip-item p,.c2-strip-item a{font-size:.9rem;color:var(--charcoal-60);line-height:1.55;}
.c2-strip-item a:hover{color:var(--timber-700);}

.c2-strip-script{display:flex;align-items:center;gap:1.1rem;padding-top:clamp(1.4rem,1.1rem + 1vw,1.8rem);margin-top:clamp(1.4rem,1.1rem + 1vw,1.8rem);border-top:1px solid var(--line);}
.c2-strip-script-icon{
  flex-shrink:0;width:50px;height:50px;border-radius:50%;background:var(--sand-100);
  display:flex;align-items:center;justify-content:center;border:1px solid rgba(237,28,36,.45);color:var(--c2-gold);
  box-shadow:0 1px 2px rgba(8,31,26,.05);
}
.c2-strip-script-icon svg{width:20px;height:20px;}
.c2-strip-script span{display:block;font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--charcoal-60);line-height:1.75;}

@media (min-width:640px){
  .c2-strip-items{grid-template-columns:repeat(3,1fr);}
  .c2-strip-item{padding-left:1.25rem;border-left:1px solid var(--line);}
  .c2-strip-item:first-child{padding-left:0;border-left:none;}
}
@media (min-width:1100px){
  .c2-strip-inner{grid-template-columns:1fr auto;align-items:center;}
  .c2-strip-script{padding-top:0;margin-top:0;border-top:none;padding-left:clamp(1.8rem,1.4rem + 1.4vw,2.6rem);border-left:1px solid var(--line);}
}

/* ---------------------------------------------------------
   MAIN ENQUIRY FORM + ASSISTANCE PANEL
   --------------------------------------------------------- */
.c2-form-wrap{
  position:relative;overflow:hidden;isolation:isolate;
  background:var(--c2-cream);padding-block:clamp(2.5rem,2rem + 2vw,3.75rem);
}
.c2-form-decor{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;color:var(--c2-forest);}
.c2-form-contour{position:absolute;width:260px;height:220px;opacity:.05;}
.c2-form-contour--tr{top:-25px;right:-35px;}
.c2-form-contour--bl{bottom:-35px;left:-35px;transform:rotate(6deg);}

.c2-form-grid{position:relative;z-index:1;display:grid;gap:clamp(2rem,1.5rem + 2vw,3rem);}

.c2-form-panel{
  position:relative;overflow:hidden;isolation:isolate;
  background:var(--c2-ivory) url('../img/product-bg.webp') center top / cover no-repeat;
  border:1px solid var(--line-soft);border-radius:14px;box-shadow:var(--shadow-card);
  padding:clamp(1.25rem,1rem + 2vw,3rem);
}
.c2-form-panel::before{content:'';position:absolute;inset:0;z-index:-1;background:rgba(251,248,241,.94);}
.c2-form-panel .c2-eyebrow{margin-bottom:.9rem;}
.c2-form-panel h2{font-size:clamp(1.9rem,1.55rem + 1.6vw,2.75rem);line-height:1.14;margin-bottom:1rem;}
.c2-form-panel .divider{width:52px;height:2px;background:var(--c2-gold);margin:0 0 1.5rem;}
.c2-form-panel > p.lead{margin-bottom:2.1rem;color:var(--charcoal-60);font-size:.98rem;max-width:34em;}

.c2-form-panel .form-grid{gap:1.5rem;}
.c2-form-panel .field label{color:var(--c2-forest);}
.c2-form-panel .field .req{color:var(--c2-gold);}
.c2-form-panel .field input,
.c2-form-panel .field select,
.c2-form-panel .field textarea{
  background:var(--white);border-color:rgba(28,36,32,.16);border-radius:6px;
  padding:.95rem 1.05rem;min-height:52px;font-size:.96rem;
}
.c2-form-panel .field select{min-height:52px;}
.c2-form-panel .field textarea{min-height:136px;}
.c2-form-panel .field input:hover,
.c2-form-panel .field select:hover,
.c2-form-panel .field textarea:hover{border-color:rgba(28,36,32,.32);}
.c2-form-panel .field input:focus,
.c2-form-panel .field select:focus,
.c2-form-panel .field textarea:focus{
  border-color:var(--c2-gold);box-shadow:0 0 0 4px rgba(237,28,36,.16);
}
.c2-form-panel .form-submit{margin-top:.9rem;gap:1.2rem;}
.c2-form-panel .btn--primary{padding:.95rem 2.1rem;min-height:52px;font-size:.92rem;letter-spacing:.03em;}
.c2-form-panel .field-hint{opacity:.72;}

.c2-assist{position:relative;isolation:isolate;}
.c2-assist-frame{
  position:relative;overflow:hidden;border-radius:18px;box-shadow:var(--shadow-card);
  min-height:440px;max-height:600px;display:flex;flex-direction:column;justify-content:space-between;
  padding:clamp(1.9rem,1.5rem + 1.8vw,2.5rem);color:var(--sand-100);isolation:isolate;
}
.c2-assist-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:44% 50%;z-index:-2;}
.c2-assist-frame::before{
  content:'';position:absolute;inset:0;z-index:-1;
  background:
    linear-gradient(180deg,rgba(8,31,26,.88) 0%,rgba(8,31,26,.6) 42%,rgba(8,31,26,.3) 100%),
    linear-gradient(115deg,rgba(8,31,26,.55) 0%,rgba(8,31,26,.25) 45%,rgba(8,31,26,.05) 80%);
}
.c2-assist-items{display:grid;gap:1.8rem;}
.c2-assist-item{display:flex;align-items:flex-start;gap:1rem;}
.c2-assist-icon{
  flex-shrink:0;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  border:1px solid var(--c2-gold-soft);color:var(--c2-gold-soft);
}
.c2-assist-icon svg{width:19px;height:19px;}
.c2-assist-item h3{font-family:var(--font-display);font-weight:600;font-size:1.05rem;color:var(--white);margin-bottom:.3rem;}
.c2-assist-item p{font-size:.86rem;color:rgba(250,248,242,.78);line-height:1.5;}

.c2-assist-foot{margin-top:1.8rem;}
.c2-assist-rule{display:block;width:44px;height:1px;background:var(--c2-gold-soft);margin-bottom:1rem;opacity:.85;}
.c2-assist-script{
  margin:0;font-family:var(--font-display);font-style:italic;font-weight:500;color:var(--c2-gold-soft);
  font-size:clamp(1.15rem,1rem + .5vw,1.5rem);line-height:1.32;
}
.c2-assist-since{margin:.7rem 0 0;font-size:.66rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(250,248,242,.72);}

.c2-assist-badge{
  display:none;position:absolute;left:-14px;top:58%;transform:translateY(-50%);z-index:2;
  width:clamp(84px,9vw,104px);height:clamp(84px,9vw,104px);border-radius:50%;
  background:var(--c2-ivory);border:1px solid var(--c2-gold);box-shadow:var(--shadow-card);
  align-items:center;justify-content:center;flex-direction:column;text-align:center;
  color:var(--c2-forest);padding:.4rem;
}
.c2-assist-badge-line{display:block;font-family:var(--font-display);font-weight:700;font-size:.72rem;letter-spacing:.03em;text-transform:uppercase;line-height:1.25;}
.c2-assist-badge-line--small{font-family:var(--font-body);font-weight:600;font-size:.5rem;letter-spacing:.06em;color:var(--charcoal-60);margin-top:.35rem;}
.c2-assist-badge-sep{display:block;width:22px;height:1px;background:var(--c2-gold);margin:.35rem auto;}

@media (min-width:768px) and (max-width:1079px){
  .c2-assist-frame{min-height:480px;max-height:560px;}
}

@media (min-width:1080px){
  .c2-form-grid{grid-template-columns:1.4fr 1fr;align-items:center;}
  .c2-assist-frame{min-height:560px;max-height:660px;}
  .c2-assist-badge{display:flex;}
}

@media (max-width:767px){
  .c2-assist-frame{min-height:0;max-height:none;height:clamp(450px,60vw,520px);}
}

/* ---------------------------------------------------------
   SINGAPORE LOCATION
   --------------------------------------------------------- */
.c2-location{background:var(--c2-ivory);padding-block:var(--space-2xl);}
.c2-location-grid{display:grid;gap:clamp(2rem,1.6rem + 1.6vw,2.5rem);}
.c2-location-body{display:grid;gap:1.1rem;max-width:32em;}
.c2-location-body p{color:var(--charcoal-60);}
.c2-location-cta{margin-top:.3rem;}

.c2-map{position:relative;width:100%;aspect-ratio:16/10;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--line);background:var(--sand-100);}
.c2-map iframe{position:absolute;inset:0;display:block;width:100%;height:100%;border:0;}

@media (min-width:960px){
  .c2-location-grid{grid-template-columns:.55fr 1fr;align-items:center;}
  .c2-map{aspect-ratio:auto;height:420px;}
}

/* ---------------------------------------------------------
   FREQUENT ENQUIRIES
   --------------------------------------------------------- */
.c2-faq{background:var(--c2-cream);border-top:1px solid var(--line-soft);padding-block:clamp(2.25rem,1.8rem + 1.8vw,3.25rem);}
.c2-faq-grid{display:grid;gap:clamp(2rem,1.6rem + 1.6vw,2.5rem);}
.c2-faq-head p{margin-top:.8rem;color:var(--charcoal-60);max-width:26em;}

.c2-faq-items{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(1.6rem,1.3rem + 1.4vw,2.2rem);}
.c2-faq-item{padding-left:clamp(1rem,.8rem + .6vw,1.4rem);border-left:1px solid var(--line);}
.c2-faq-item:nth-child(odd){border-left:none;}
.c2-faq-icon{
  width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  border:1px solid var(--c2-gold);color:var(--c2-gold);margin-bottom:.9rem;
}
.c2-faq-icon svg{width:19px;height:19px;}
.c2-faq-item h3{font-size:.98rem;margin-bottom:.3rem;}
.c2-faq-item p{font-size:.85rem;color:var(--charcoal-60);line-height:1.5;}

@media (min-width:960px){
  .c2-faq-grid{grid-template-columns:.7fr 1.3fr;align-items:start;}
  .c2-faq-items{grid-template-columns:repeat(4,1fr);}
  .c2-faq-item{border-left:1px solid var(--line);padding-left:clamp(1.2rem,1rem + 1vw,1.8rem);}
  .c2-faq-item:first-child{border-left:none;padding-left:0;}
  .c2-faq-item:nth-child(odd){border-left:1px solid var(--line);padding-left:clamp(1.2rem,1rem + 1vw,1.8rem);}
  .c2-faq-item:first-child{border-left:none;padding-left:0;}
}

/* ---------------------------------------------------------
   Mobile safety
   --------------------------------------------------------- */
@media (max-width:639px){
  .c2-hero h1{max-width:none;}
}

/* Responsive fixes */
.c2-strip-script .c2-strip-script-icon{display:flex;line-height:1;}
@media (max-width:639px){
  .c2-strip-item{gap:.9rem;}
  .c2-form-panel .form-grid{gap:1.1rem;}
  .c2-form-panel > p.lead{margin-bottom:1.5rem;}
  .c2-form-panel .field input,.c2-form-panel .field select{min-height:48px;padding:.8rem .95rem;}
  .c2-form-panel .field textarea{min-height:120px;}
}
