/* YuanFeng Lighting contact / inquiry page V52.104 */
.yf-contact-v52-105{box-sizing:border-box;width:100%;padding:clamp(42px,6.4vw,92px) clamp(18px,5.4vw,7.2vw) clamp(64px,8vw,116px);color:#20211e;background:#fff}
.yf-contact-v52-105 *{box-sizing:border-box}
.yf-contact-shell{width:100%;max-width:1380px;margin:0 auto}
.yf-contact-hero{max-width:1000px;margin:0 0 clamp(32px,4vw,58px)}
.yf-contact-kicker{margin:0 0 18px;color:#74756d;font-size:11px;line-height:1.4;letter-spacing:.16em;text-transform:uppercase}
.yf-contact-hero h1{max-width:940px;margin:0;color:#1b1c19;font-size:clamp(38px,6.3vw,82px);font-weight:450;letter-spacing:-.055em;line-height:1.04}
.yf-contact-hero-copy{max-width:680px;margin:24px 0 0;color:#64655e;font-size:clamp(15px,1.35vw,18px);line-height:1.8}
.yf-contact-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);gap:clamp(18px,2.5vw,34px);align-items:start}
.yf-contact-form-card,.yf-contact-info-card{min-width:0;border:1px solid #e1e0d9;border-radius:18px;background:#fff;padding:clamp(22px,3.2vw,44px);box-shadow:0 12px 42px rgba(31,32,27,.035)}
.yf-contact-form-head{margin-bottom:30px}
.yf-contact-eyebrow{margin:0 0 12px;color:#7d7e75;font-size:10px;letter-spacing:.17em;text-transform:uppercase}
.yf-contact-form-head h2,.yf-contact-info-card h2{margin:0;color:#1e1f1b;font-size:clamp(25px,3vw,38px);font-weight:450;letter-spacing:-.04em;line-height:1.18}
.yf-contact-form-head p{margin:12px 0 0;color:#73746c;font-size:14px;line-height:1.7}
.yf-contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 18px}
.yf-contact-field{display:flex;min-width:0;flex-direction:column;gap:9px}
.yf-contact-field-wide{grid-column:1/-1}
.yf-contact-field label,.yf-contact-direction legend{color:#34352f;font-size:13px;font-weight:550;line-height:1.5}
.yf-contact-required{margin-left:4px;color:#8d4e35}
.yf-contact-field input,.yf-contact-field select,.yf-contact-field textarea{display:block;width:100%;min-width:0;border:1px solid #d9d9d2;border-radius:9px;background:#fcfcfa;padding:13px 14px;color:#20211e;font:inherit;font-size:14px;line-height:1.45;outline:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.yf-contact-field textarea{min-height:130px;resize:vertical}
.yf-contact-field input:focus,.yf-contact-field select:focus,.yf-contact-field textarea:focus{border-color:#65665d;background:#fff;box-shadow:0 0 0 3px rgba(68,70,61,.09)}
.yf-contact-field input::placeholder,.yf-contact-field textarea::placeholder{color:#a2a39b}
.yf-contact-help{margin:-2px 0 0;color:#87887f;font-size:11px;line-height:1.6}
.yf-contact-direction{grid-column:1/-1;min-width:0;margin:0;padding:0;border:0}
.yf-contact-direction legend{margin-bottom:13px}
.yf-contact-check-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.yf-contact-check{display:flex;min-width:0;align-items:center;gap:9px;border:1px solid #e0e0d9;border-radius:9px;padding:11px 10px;background:#fcfcfa;color:#4b4c45;font-size:12px;line-height:1.35;cursor:pointer;transition:border-color .18s ease,background .18s ease}
.yf-contact-check:has(input:checked){border-color:#55564e;background:#f0f0e9;color:#20211e}
.yf-contact-check input{width:15px;height:15px;flex:0 0 15px;margin:0;accent-color:#252620}
.yf-contact-privacy{display:flex;align-items:flex-start;gap:10px;margin:24px 0 0;color:#77786f;font-size:12px;line-height:1.65}
.yf-contact-privacy input{flex:0 0 16px;width:16px;height:16px;margin:2px 0 0;accent-color:#242520}
.yf-contact-privacy a{color:inherit;text-underline-offset:3px}
.yf-contact-submit-row{display:flex;align-items:center;gap:16px;margin-top:22px}
.yf-contact-submit{display:inline-flex;min-height:52px;align-items:center;justify-content:center;gap:18px;border:1px solid #20211e;border-radius:999px;background:#20211e;padding:0 24px;color:#fff;font-size:13px;font-weight:550;cursor:pointer;transition:background .2s ease,color .2s ease,transform .2s ease}
.yf-contact-submit:hover{background:#41423b;transform:translateY(-1px)}
.yf-contact-submit:disabled{opacity:.58;cursor:wait;transform:none}
.yf-contact-submit svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.6}
.yf-contact-status{min-height:1.5em;margin:16px 0 0;color:#4e6550;font-size:13px;line-height:1.6}
.yf-contact-status[data-state="error"]{color:#a03e32}
.yf-contact-info-card{position:sticky;top:24px;background:#20211e;color:#f5f4ee;border-color:#20211e}
.yf-contact-info-card .yf-contact-eyebrow{color:#b5b5a9}
.yf-contact-info-card h2{color:#f7f6ef}
.yf-contact-info-copy{margin:18px 0 30px;color:#c4c4ba;font-size:14px;line-height:1.8}
.yf-contact-info-list{display:grid;gap:0}
.yf-contact-info-item{display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;padding:17px 0;border-top:1px solid rgba(255,255,255,.16);font-size:13px;line-height:1.65}
.yf-contact-info-item span{color:#b8b8ad}
.yf-contact-info-item strong{font-weight:450;overflow-wrap:anywhere}
.yf-contact-info-item a{color:#fff;text-underline-offset:4px}
.yf-contact-info-note{margin-top:28px;border-radius:12px;background:rgba(255,255,255,.07);padding:17px;color:#d0d0c7;font-size:12px;line-height:1.75}
.yf-contact-info-note p{margin:0}
.yf-contact-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:900px){.yf-contact-layout{grid-template-columns:minmax(0,1fr)}.yf-contact-info-card{position:static}.yf-contact-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.yf-contact-v52-105{padding:34px 16px 58px}.yf-contact-hero{margin-bottom:28px}.yf-contact-hero h1{font-size:clamp(36px,11vw,54px)}.yf-contact-hero-copy{margin-top:16px;font-size:14px}.yf-contact-form-card,.yf-contact-info-card{padding:22px 17px;border-radius:14px}.yf-contact-fields{grid-template-columns:minmax(0,1fr);gap:17px}.yf-contact-field-wide,.yf-contact-direction{grid-column:auto}.yf-contact-check-grid{gap:7px}.yf-contact-check{padding:10px 8px;font-size:11px}.yf-contact-submit-row{align-items:stretch;flex-direction:column}.yf-contact-submit{width:100%}.yf-contact-info-item{grid-template-columns:80px minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.yf-contact-field input,.yf-contact-field select,.yf-contact-field textarea,.yf-contact-check,.yf-contact-submit{transition:none}}


/* V52.105: use the site's shared clipped-rise heading animation after page transition completion. */
.yf-contact-primary-title{
  max-width:1000px;
  margin:0 0 clamp(32px,4vw,58px)!important;
  padding:0!important;
  background:transparent!important;
}
.yf-contact-primary-title :is(h1,h2.yf-h1-demoted,h3.yf-h1-demoted){
  max-width:980px!important;
  margin:0!important;
  font-size:clamp(36px,4.4vw,62px)!important;
  line-height:1.1!important;
  font-weight:650!important;
  letter-spacing:-.045em!important;
}
html[lang="en"] .yf-contact-primary-title :is(h1,h2.yf-h1-demoted,h3.yf-h1-demoted){
  font-size:clamp(34px,4.1vw,58px)!important;
  letter-spacing:-.035em!important;
}
.yf-contact-primary-title .yf-section-heading-line{
  padding-top:.07em;
  padding-bottom:.07em;
  margin-top:-.07em;
}
.yf-contact-primary-title .yf-contact-kicker{margin-bottom:14px}
.yf-contact-breadcrumb{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:9px;
  margin:0 0 24px;
  color:#85867e;
  font-size:12px;
  line-height:1.5;
}
.yf-contact-breadcrumb a{
  color:inherit;
  text-decoration:none;
  text-underline-offset:3px;
  transition:color .18s ease;
}
.yf-contact-breadcrumb a:hover{color:#20211e;text-decoration:underline}
.yf-contact-breadcrumb [aria-current="page"]{color:#20211e}
@media(max-width:750px){
  .yf-contact-primary-title{margin-bottom:28px!important}
  .yf-contact-primary-title :is(h1,h2.yf-h1-demoted,h3.yf-h1-demoted){
    font-size:clamp(30px,8vw,44px)!important;
    line-height:1.12!important;
  }
  html[lang="en"] .yf-contact-primary-title :is(h1,h2.yf-h1-demoted,h3.yf-h1-demoted){
    font-size:clamp(29px,7.6vw,42px)!important;
  }
  .yf-contact-breadcrumb{gap:7px;margin-bottom:20px;font-size:11px}
}
@media(prefers-reduced-motion:reduce){
  .yf-contact-breadcrumb a{transition:none}
}

/* V52.109: use Downloads heading clipping/character reveal without changing form layout. */
.yf-contact-primary-title .yf-section-heading-line{display:block;overflow:hidden;padding-top:.1em;padding-bottom:.1em;margin-top:-.1em}
.yf-contact-primary-title .yf-section-heading-inner{display:block}
html.yf-v526-title-motion .yf-contact-primary-title .yf-section-heading-inner{will-change:opacity,transform}
@media(prefers-reduced-motion:reduce){html.yf-v526-title-motion .yf-contact-primary-title .yf-section-heading-inner{visibility:visible!important}}
