/* assets/css/pages/forms.css — floating-label forms, multi-step */
.form-hero{padding-top:9rem;padding-bottom:1rem}
.form-hero__title{font-size:var(--fs-800);line-height:.98}
.form-hero__sub{margin-top:.8rem;color:var(--color-ivory-soft);font-size:var(--fs-500);max-width:46ch}
.form-wrap{max-width:46rem;margin-top:2rem}
.field{position:relative;margin-bottom:1.6rem}
.field__input,.field__textarea,.field__select{width:100%;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-sm);padding:1.4rem 1rem .6rem;color:var(--color-ivory);transition:border-color var(--dur-fast)}
.field__textarea{min-height:120px;resize:vertical}
.field__input:focus,.field__textarea:focus,.field__select:focus{outline:none;border-color:var(--color-rust)}
.field__label{position:absolute;left:1rem;top:1rem;color:var(--color-ivory-soft);pointer-events:none;transition:transform var(--dur-fast),font-size var(--dur-fast),color var(--dur-fast);transform-origin:left}
.field__input:focus+.field__label,.field__input:not(:placeholder-shown)+.field__label,
.field__textarea:focus+.field__label,.field__textarea:not(:placeholder-shown)+.field__label{transform:translateY(-9px) scale(.8);color:var(--color-rust-glow)}
.field__select+.field__label{transform:translateY(-9px) scale(.8);color:var(--color-rust-glow)}
.field__error{display:block;margin-top:.3rem;font-size:var(--fs-200);color:#e8836b;min-height:1em}
.field--invalid .field__input,.field--invalid .field__textarea,.field--invalid .field__select{border-color:#c0392b}
.field--hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.field__file{display:block;padding:1rem;border:1px dashed var(--color-line);border-radius:var(--radius-sm);color:var(--color-ivory-soft);cursor:pointer}
.field__file:hover{border-color:var(--color-rust)}
.consent{display:flex;gap:.7rem;align-items:flex-start;margin-bottom:1.4rem;font-size:var(--fs-300);color:var(--color-ivory-soft)}
.consent input{margin-top:.25rem;accent-color:var(--color-rust)}
.consent a{color:var(--color-rust-glow);border-bottom:1px solid var(--color-rust)}
.form-actions{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
.form-note{font-size:var(--fs-300);min-height:1.2em}
.form-note.is-ok{color:var(--color-rust-glow)}
.form-note.is-err{color:#e8836b}
/* multi-step */
.steps{display:flex;gap:.5rem;margin-bottom:2rem}
.steps__dot{flex:1;height:4px;border-radius:2px;background:var(--color-line)}
.steps__dot.is-active{background:var(--color-rust)}
.step{display:none}
.step.is-current{display:block;animation:fadeUp .4s var(--ease-out-expo)}
@keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem;margin-bottom:1.6rem}
.choice{padding:1rem;border:1px solid var(--color-line);border-radius:var(--radius-sm);cursor:pointer;text-align:center;transition:border-color var(--dur-fast),background-color var(--dur-fast)}
.choice input{position:absolute;opacity:0}
.choice:hover{border-color:var(--color-rust)}
.choice.is-selected{border-color:var(--color-rust);background:rgba(192,74,32,.12);color:var(--color-ivory)}
@media (max-width:560px){.choice-grid{grid-template-columns:1fr}}

/* contact two-column */
.contact__grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
.contact__details{margin-top:2rem;display:grid;gap:1rem}
.contact__details li{display:grid;grid-template-columns:80px 1fr;gap:1rem;padding-bottom:1rem;border-bottom:1px solid var(--color-line);color:var(--color-ivory)}
.contact__details span{color:var(--color-rust-glow);font-size:var(--fs-200);letter-spacing:.12em;text-transform:uppercase}
.contact__maps{margin-top:1.6rem;display:grid;gap:.8rem}
.contact__maplink{display:flex;align-items:center;gap:.9rem;padding:.9rem 1.1rem;border:1px solid var(--color-line);border-radius:var(--radius-md);color:var(--color-ivory);transition:border-color var(--dur-fast) var(--ease-out-expo),transform var(--dur-fast) var(--ease-out-expo),background-color var(--dur-fast)}
.contact__maplink:hover{border-color:var(--color-rust);transform:translateY(-2px);background:rgba(192,74,32,.06)}
.contact__maplink svg{width:24px;height:24px;color:var(--color-rust-glow);flex:0 0 auto}
.contact__maplink span{display:flex;flex-direction:column;line-height:1.25;font-size:var(--fs-400)}
.contact__maplink small{color:var(--color-ivory-soft);font-size:var(--fs-200);letter-spacing:.04em}
.contact__social{margin-top:1.6rem;display:flex;gap:.7rem}

/* book step title */
.book__steptitle{font-family:var(--font-display);font-size:var(--fs-600);color:var(--color-ivory);margin-bottom:1.4rem}

/* career roles */
.role-list{display:grid;gap:0}
.role{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:center;padding:1.8rem 0;border-top:1px solid var(--color-line)}
.role:last-child{border-bottom:1px solid var(--color-line)}
.role--closed{opacity:.5}
.role__title{font-size:var(--fs-600)}
.role__summary{color:var(--color-ivory-soft);margin-top:.3rem;max-width:60ch}
.role__meta{display:flex;align-items:center;gap:1rem;white-space:nowrap}
.role__loc,.role__type{font-size:var(--fs-200);color:var(--color-ivory-soft);padding:.3rem .8rem;border:1px solid var(--color-line);border-radius:var(--radius-pill)}
.role__apply{color:var(--color-rust-glow);font-weight:600}
.role__closed{color:var(--color-ivory-soft);font-size:var(--fs-300)}
.career-apply{background:var(--color-bg-deep);border-top:1px solid var(--color-line)}
@media (max-width:768px){.contact__grid{grid-template-columns:1fr}.role{grid-template-columns:1fr;gap:.8rem}.role__meta{flex-wrap:wrap}}

/* ===== contact v2 (under the standardized hero) ===== */
.contact2__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:3rem;align-items:start}
.contact2__info .kicker{margin-bottom:.6rem}
.cinfo{display:grid;gap:0;margin:1.2rem 0 0;list-style:none;padding:0}
.cinfo li{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:center;padding:1.05rem 0;border-bottom:1px solid var(--color-line)}
.cinfo li:first-child{border-top:1px solid var(--color-line)}
.cinfo__icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:1px solid var(--color-line);border-radius:var(--radius-sm);color:var(--color-rust-glow);flex:0 0 auto}
.cinfo__icon svg{width:20px;height:20px}
.cinfo__c{display:flex;flex-direction:column;gap:.15rem;min-width:0}
.cinfo__label{font-size:var(--fs-200);letter-spacing:.12em;text-transform:uppercase;color:var(--color-rust-glow)}
.cinfo__c a{color:var(--color-ivory);transition:color var(--dur-fast);word-break:break-word}
.cinfo__c a:hover{color:var(--color-rust-glow)}
.cinfo__val{color:var(--color-ivory)}
.contact2__badge{display:inline-flex;align-items:center;gap:.55rem;margin-top:1.4rem;padding:.5rem .9rem;border:1px solid var(--color-line);border-radius:var(--radius-pill);font-size:var(--fs-200);letter-spacing:.04em;color:var(--color-ivory-soft)}
.contact2__badge i{width:7px;height:7px;border-radius:50%;background:var(--color-rust-glow);box-shadow:0 0 0 0 rgba(227,106,58,.5);animation:cPulse 2.2s infinite}
@keyframes cPulse{0%{box-shadow:0 0 0 0 rgba(227,106,58,.5)}70%{box-shadow:0 0 0 9px rgba(227,106,58,0)}100%{box-shadow:0 0 0 0 rgba(227,106,58,0)}}
.contact2__maps{margin-top:1.6rem;display:grid;gap:.8rem}
.contact2__social{margin-top:1.4rem;display:flex;gap:.7rem}
.contact2__form{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:clamp(1.5rem,3vw,2.2rem)}
.contact2__row{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.contact2__form .field{margin-bottom:1.4rem}
@media (max-width:900px){
  .contact2__grid{grid-template-columns:1fr;gap:2rem}
}
@media (max-width:560px){
  .contact2__row{grid-template-columns:1fr;gap:0}
}
@media (prefers-reduced-motion:reduce){
  .contact2__badge i{animation:none!important}
}

/* ===== connect: dedicated maps + socials section ===== */
.connect__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;align-items:stretch}
.connect__card{position:relative;display:flex;flex-direction:column;gap:.9rem;padding:1.8rem;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);overflow:hidden;transition:border-color var(--dur-fast),transform .3s var(--ease-out-expo)}
.connect__card::before{content:"";position:absolute;inset:0;background:radial-gradient(440px circle at 50% 0,rgba(192,74,32,.14),transparent 60%);opacity:0;transition:opacity var(--dur-mid)}
.connect__card:hover{border-color:var(--color-rust);transform:translateY(-4px)}
.connect__card:hover::before{opacity:1}
.connect__pin{position:relative;width:46px;height:46px;display:flex;align-items:center;justify-content:center;border:1px solid var(--color-line);border-radius:var(--radius-sm);color:var(--color-rust-glow)}
.connect__pin svg{width:24px;height:24px}
.connect__card--live .connect__pin::after{content:"";position:absolute;top:-3px;right:-3px;width:9px;height:9px;border-radius:50%;background:var(--color-rust-glow);box-shadow:0 0 0 0 rgba(227,106,58,.5);animation:cPulse 2.2s infinite}
.connect__meta{display:flex;flex-direction:column;gap:.2rem}
.connect__t{font-family:var(--font-display);font-size:var(--fs-500);color:var(--color-ivory)}
.connect__d{color:var(--color-ivory-soft);font-size:var(--fs-300)}
.connect__go{margin-top:auto;color:var(--color-rust-glow);font-size:var(--fs-300);font-weight:600}
.connect__go span{display:inline-block;transition:transform var(--dur-fast)}
.connect__card:hover .connect__go span{transform:translateX(5px)}
.connect__follow{display:flex;flex-direction:column;gap:1rem;padding:1.8rem;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md)}
.connect__socials{display:grid;gap:.7rem}
.connect__social{display:flex;align-items:center;gap:.8rem;padding:.7rem 1rem;border:1px solid var(--color-line);border-radius:var(--radius-pill);color:var(--color-ivory-soft);transition:border-color var(--dur-fast),color var(--dur-fast),background-color var(--dur-fast)}
.connect__social:hover{border-color:var(--color-rust);color:var(--color-ivory);background:rgba(192,74,32,.08)}
.connect__social svg{width:20px;height:20px;flex:0 0 auto}
.connect__social-go{margin-left:auto;transition:transform var(--dur-fast)}
.connect__social:hover .connect__social-go{transform:translateX(4px)}
@media (prefers-reduced-motion:reduce){
  .connect__card--live .connect__pin::after{animation:none!important}
}

/* ===== Careers v2 (under the standardized hero) ===== */
/* open roles as cards */
.jobs{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem}
.job{display:flex;flex-direction:column;padding:1.7rem;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);transition:border-color var(--dur-fast),transform .3s var(--ease-out-expo)}
.job:hover{border-color:var(--color-rust);transform:translateY(-4px)}
.job__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:.9rem}
.job__type{font-size:var(--fs-200);letter-spacing:.12em;text-transform:uppercase;color:var(--color-rust-glow);border:1px solid rgba(192,74,32,.4);border-radius:var(--radius-pill);padding:.25rem .7rem}
.job__badge{font-size:var(--fs-200);color:var(--color-ivory-soft)}
.job__title{font-family:var(--font-display);font-size:var(--fs-600);line-height:1.05}
.job__summary{color:var(--color-ivory-soft);margin-top:.5rem;font-size:var(--fs-300);flex:1}
.job__foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.3rem;padding-top:1rem;border-top:1px solid var(--color-line)}
.job__loc{display:inline-flex;align-items:center;gap:.4rem;color:var(--color-ivory-soft);font-size:var(--fs-300)}
.job__loc svg{width:16px;height:16px;color:var(--color-rust-glow)}
.job__apply{display:inline-flex;align-items:center;gap:.4rem;color:var(--color-rust-glow);font-weight:600}
.job__apply span{transition:transform var(--dur-fast) var(--ease-out-expo)}
.job:hover .job__apply span{transform:translateX(5px)}
.job__closed{color:var(--color-ivory-soft);font-size:var(--fs-300)}
.job--closed{opacity:.55}
.job--closed:hover{transform:none;border-color:var(--color-line)}

/* why-here value grid */
.cwhy-sec{background:var(--color-bg-deep);border-block:1px solid var(--color-line)}
.cwhy{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem 2rem}
.cval{position:relative;padding-top:1.2rem;border-top:2px solid var(--color-line);transition:border-color var(--dur-fast)}
.cval:hover{border-top-color:var(--color-rust)}
.cval__n{font-family:var(--font-mono);font-size:var(--fs-200);color:var(--color-rust-glow)}
.cval__t{font-family:var(--font-display);font-size:var(--fs-500);margin-top:.4rem}
.cval__d{color:var(--color-ivory-soft);font-size:var(--fs-300);margin-top:.5rem;line-height:1.55}

/* apply: aside + form */
.career-apply{background:var(--color-bg-deep);border-top:1px solid var(--color-line)}
.capply__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,4vw,3.6rem);align-items:start}
.capply__lead{color:var(--color-ivory);font-size:var(--fs-400);margin-bottom:1.6rem;max-width:34ch}
.cstep{list-style:none;margin:0;padding:0;display:grid;gap:1.4rem}
.cstep__item{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:start}
.cstep__n{width:30px;height:30px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;border:1px solid var(--color-rust);color:var(--color-rust-glow);font-family:var(--font-mono);font-size:var(--fs-300)}
.cstep__item h4{font-size:var(--fs-400);color:var(--color-ivory)}
.cstep__item p{color:var(--color-ivory-soft);font-size:var(--fs-300);margin-top:.2rem;line-height:1.5}
.form-wrap--flush{max-width:none;margin-top:0}

@media (max-width:900px){
  .jobs{grid-template-columns:1fr}
  .cwhy{grid-template-columns:1fr 1fr}
  .capply__grid{grid-template-columns:1fr;gap:2rem}
}
@media (max-width:560px){.cwhy{grid-template-columns:1fr}}

/* ===== Book consultation: live brief station ===== */
.book__grid{display:grid;grid-template-columns:1.04fr .96fr;gap:clamp(2rem,4vw,3.6rem);align-items:start;padding-top:clamp(1rem,2vh,2rem)}
.book__form .form-wrap{max-width:none;margin-top:0}

.bp{position:sticky;top:96px}
.bp__screen{position:relative;aspect-ratio:4/3;border:1px solid var(--color-line);border-radius:var(--radius-lg);overflow:hidden;background:linear-gradient(160deg,var(--color-surface),var(--color-bg-deep));transition:border-color var(--dur-mid)}
.bp.is-cooking .bp__screen{border-color:rgba(192,74,32,.45)}
.bp__gridbg{position:absolute;inset:0;background-image:linear-gradient(rgba(206,191,170,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(206,191,170,.05) 1px,transparent 1px);background-size:28px 28px;pointer-events:none}
.bp__glow{position:absolute;inset:0;background:radial-gradient(ellipse 70% 70% at 50% 120%,rgba(192,74,32,.2),transparent 60%);opacity:0;transition:opacity var(--dur-mid);pointer-events:none}
.bp.is-cooking .bp__glow{opacity:1}
.bp-scene{position:absolute;inset:0;display:grid;place-items:center;opacity:0;transform:scale(.97);transition:opacity .45s var(--ease-out-expo),transform .45s var(--ease-out-expo);pointer-events:none}
.bp-scene svg{width:74%;height:auto}
.bp-scene.is-on{opacity:1;transform:none}
.bp__status{position:absolute;left:1.1rem;right:1.1rem;bottom:1rem;font-size:var(--fs-300);color:var(--color-ivory-soft);text-align:center;z-index:2}

.bp__brief{margin-top:1.2rem;padding:1.4rem;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md)}
.bp__briefhead{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}
.bp__brieftitle{font-size:var(--fs-200);letter-spacing:.14em;text-transform:uppercase;color:var(--color-rust-glow)}
.bp__pct{font-size:var(--fs-300);color:var(--color-ivory)}
.bp__bar{height:4px;border-radius:2px;background:var(--color-line);margin:.7rem 0 1.1rem;overflow:hidden}
.bp__bar span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--color-rust),var(--color-rust-glow));border-radius:2px;transition:width .5s var(--ease-out-expo)}
.bp__list{list-style:none;margin:0;padding:0;display:grid;gap:0}
.bp__list li{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 0;border-top:1px solid var(--color-line)}
.bp__list li span{font-size:var(--fs-200);letter-spacing:.1em;text-transform:uppercase;color:var(--color-ivory-soft)}
.bp__list li b{font-family:var(--font-display);font-size:var(--fs-400);font-weight:500;color:var(--color-ivory-soft);opacity:.5;transition:opacity var(--dur-fast),color var(--dur-fast),transform var(--dur-fast) var(--ease-out-expo)}
.bp__list li.is-set b{opacity:1;color:var(--color-ivory)}
.bp__list li.is-set{animation:bpset .4s var(--ease-out-expo)}
@keyframes bpset{0%{transform:translateX(6px);opacity:.4}100%{transform:none;opacity:1}}

@media (max-width:960px){
  .book__grid{grid-template-columns:1fr}
  .bp{position:static;margin-top:1.5rem;order:-1}
  .bp__screen{max-width:420px;margin-inline:auto}
  .bp__brief{max-width:420px;margin-inline:auto}
}
@media (prefers-reduced-motion:reduce){.bp__list li.is-set{animation:none}}

/* ===== Book: flattened form groups ===== */
.bform__group{padding:1.5rem 0;border-top:1px solid var(--color-line)}
.bform__group:first-of-type{border-top:0;padding-top:.5rem}
.book__steptitle{display:flex;align-items:center;gap:.7rem}
.bform__n{width:26px;height:26px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;border:1px solid var(--color-rust);color:var(--color-rust-glow);font-family:var(--font-mono);font-size:var(--fs-200)}
.bform__row{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.bform__row .field{margin-bottom:1.6rem}
@media (max-width:560px){.bform__row{grid-template-columns:1fr;gap:0}}

/* ===== Book: floating field chips on the scene ===== */
.bp__tags{position:absolute;inset:0;pointer-events:none}
.bp__tag{position:absolute;display:inline-flex;align-items:center;gap:.4rem;max-width:46%;padding:.3rem .6rem;background:rgba(20,20,20,.72);border:1px solid rgba(192,74,32,.5);border-radius:var(--radius-pill);color:var(--color-ivory);font-size:var(--fs-200);line-height:1.1;backdrop-filter:blur(5px);opacity:0;transform:translateY(8px) scale(.85);transition:opacity .35s var(--ease-out-expo),transform .35s var(--ease-out-expo)}
.bp__tag.is-on{opacity:1;transform:none}
.bp__tag svg{width:14px;height:14px;flex:0 0 auto;color:var(--color-rust-glow)}
.bp__tag i{font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bp__tag--tl{top:.7rem;left:.7rem}
.bp__tag--tr{top:.7rem;right:.7rem}
.bp__tag--ml{top:3rem;left:.7rem}
.bp__tag--mr{top:3rem;right:.7rem}
.bp__tag--bl{bottom:3rem;left:.7rem}
.bp__tag--br{bottom:3rem;right:.7rem}

/* ===== Select dropdown styling ===== */
.field__select{appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;padding-right:2.6rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E36A3A' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:15px}
.field__select::-ms-expand{display:none}
.field__select option{background:var(--color-bg-deep);color:var(--color-ivory)}
.field__select option:checked{background:var(--color-rust);color:var(--color-ivory)}

/* ===== Book: livelier scene change ===== */
.bp-scene.is-on svg{animation:bpPop .5s var(--ease-out-expo)}
@keyframes bpPop{0%{opacity:0;transform:scale(.85) translateY(10px)}60%{transform:scale(1.03)}100%{opacity:1;transform:none}}
.bp.is-flash .bp__screen{box-shadow:inset 0 0 0 1px rgba(227,106,58,.6),0 0 30px rgba(192,74,32,.25)}
@media (prefers-reduced-motion:reduce){.bp-scene.is-on svg{animation:none}}
