/* SpaceBridge v44 — one-page condition sheet
   The existing blue/white brand system is preserved. This layer adds a real
   product interaction without turning the page into another coloured card wall. */
.condition-lab{background:#f7fafc!important;border-top:1px solid #e3ebf1;border-bottom:1px solid #e3ebf1}
.condition-lab .section-head{margin-bottom:36px}
.condition-lab .section-head h2{max-width:720px}
.condition-lab .section-head>p{max-width:490px}
.condition-builder{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:32px;align-items:stretch}
.condition-controls,.condition-sheet{min-width:0;background:#fff;border:1px solid #dce6ef;border-radius:14px;box-shadow:0 16px 44px rgba(27,64,96,.08)}
.condition-controls{padding:32px}
.condition-step+ .condition-step{margin-top:28px}
.condition-step-head{display:flex;align-items:baseline;gap:12px;margin-bottom:12px}
.condition-step-head span{display:grid;width:28px;height:28px;flex:0 0 28px;place-items:center;border-radius:50%;background:#eaf4f9;color:#075b94;font-size:12px;font-weight:750}
.condition-step-head b{font-size:16px;font-weight:650}
.condition-step-head small{margin-left:auto;color:#50637c;font-size:12px;font-weight:600}
.condition-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.condition-options.categories{grid-template-columns:repeat(2,minmax(0,1fr))}
.condition-option{min-height:48px;padding:9px 12px;background:#fff;border:1px solid #d9e4ec;border-radius:9px;color:#31455d;font-size:14px;font-weight:600;line-height:1.3;text-align:left;cursor:pointer;transition:border-color .18s,background .18s,color .18s,transform .18s}
.condition-option:hover{border-color:#8dbbd5;transform:translateY(-1px)}
.condition-option[aria-pressed=true]{background:#075b94;border-color:#075b94;color:#fff;box-shadow:0 8px 18px rgba(7,91,148,.14)}
.condition-inline{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.condition-field{display:grid;gap:7px;color:#475b72;font-size:12px;font-weight:650}
.condition-field input,.condition-field select{width:100%;min-height:48px;padding:0 13px;background:#fff;border:1px solid #d9e4ec;border-radius:9px;outline:0;font-size:14px;font-weight:500}
.condition-field input:focus,.condition-field select:focus{border-color:#0873b8;box-shadow:0 0 0 3px rgba(8,115,184,.12)}
.condition-privacy{margin-top:14px;color:#4f6278;font-size:12px;line-height:1.6}
.condition-sheet{position:relative;overflow:hidden;padding:32px}
.condition-sheet:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#0873b8}
.condition-sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:22px;border-bottom:1px solid #dce6ef}
.condition-sheet-kicker{display:block;color:#0873b8;font-size:12px;font-weight:750}
.condition-sheet-head h3{margin-top:6px;font-size:26px;font-weight:650;line-height:1.25;letter-spacing:-.035em}
.condition-sheet-state{display:inline-flex;min-height:32px;align-items:center;padding:0 11px;background:#edf7f4;border-radius:999px;color:#087f6c;font-size:12px;font-weight:700;white-space:nowrap}
.condition-rows{display:grid;margin-top:4px}
.condition-row{display:grid;grid-template-columns:42px 92px 1fr;gap:14px;align-items:start;padding:19px 0;border-bottom:1px solid #e6edf2}
.condition-row>span{display:grid;width:36px;height:36px;place-items:center;border-radius:9px;background:#eaf4f9;color:#075b94;font-size:12px;font-weight:750}
.condition-row b{padding-top:7px;font-size:14px;font-weight:650}
.condition-row p{padding-top:6px;color:#4f6278;font-size:14px;line-height:1.6}
.condition-questions{margin-top:22px;padding:19px 20px;background:#f7fafc;border-radius:10px}
.condition-questions summary{min-height:28px;font-size:14px;font-weight:650;cursor:pointer;list-style:none}
.condition-questions summary::-webkit-details-marker{display:none}
.condition-questions summary:after{content:'＋';float:right;color:#075b94}
.condition-questions[open] summary:after{content:'－'}
.condition-questions ol{display:grid;gap:8px;margin-top:12px;counter-reset:question}
.condition-questions li{counter-increment:question;display:grid;grid-template-columns:22px 1fr;gap:8px;color:#4f6278;font-size:13px;line-height:1.55}
.condition-questions li:before{content:counter(question);display:grid;width:20px;height:20px;place-items:center;border-radius:50%;background:#fff;border:1px solid #ccdbe5;color:#075b94;font-size:11px;font-weight:700}
.condition-actions{display:grid;grid-template-columns:1.25fr .9fr .9fr;gap:9px;margin-top:22px}
.condition-actions .button{min-height:48px;padding:0 12px;font-size:13px}
.condition-actions .condition-sms{background:#fff;border:1px solid #b8ccd9;color:#075b94;box-shadow:none}
.condition-actions .condition-kakao{background:#fee500;color:#191919;box-shadow:none}
.condition-copy{width:100%;min-height:42px;margin-top:8px;background:transparent;border:0;color:#52667e;font-size:12px;font-weight:650;cursor:pointer}
.condition-disclaimer{margin-top:15px;color:#4f6278;font-size:12px;line-height:1.6}
.condition-feedback{min-height:20px;margin-top:8px;color:#087f6c;font-size:12px;font-weight:650}
.faq-list summary>span{display:none}
.quote .form-actions{grid-template-columns:repeat(3,minmax(0,1fr))}
.quote .form-actions .button{width:100%;padding-inline:10px}
.quote #lf-submit{order:-1}
.intent-pulse{animation:condition-intent-pulse .8s ease both}
.condition-sheet.is-updating .condition-row,.condition-sheet.is-updating .condition-questions{animation:condition-row-in .34s cubic-bezier(.22,1,.36,1) both}
.condition-sheet.is-updating .condition-row:nth-child(2){animation-delay:45ms}
.condition-sheet.is-updating .condition-row:nth-child(3){animation-delay:90ms}
.condition-sheet.is-updating .condition-row:nth-child(4){animation-delay:135ms}
.condition-sheet.is-updating .condition-questions{animation-delay:180ms}
@keyframes condition-row-in{from{opacity:.35;transform:translateY(7px)}to{opacity:1;transform:none}}
@keyframes condition-intent-pulse{0%,100%{box-shadow:0 0 0 0 rgba(8,115,184,0)}45%{box-shadow:0 0 0 7px rgba(8,115,184,.18)}}

/* v44 tightens the hierarchy without replacing the preferred existing tone. */
body.sb-v43-home .hero{padding-bottom:40px}
body.sb-v43-home .hero-grid{min-height:590px}
body.sb-v43-home .hero-copy{min-height:590px}
body.sb-v43-home .hero-visual{animation:none}
body.sb-v43-home .hero h1{font-size:clamp(44px,3.8vw,52px);font-weight:620}
body.sb-v43-home .section{padding-block:88px}
body.sb-v43-home .section-head h2{font-size:clamp(34px,3.6vw,42px);font-weight:620}
body.sb-v43-home .service-card h3,body.sb-v43-home .process-grid h3,body.sb-v43-home .tool-card>b{font-weight:620}
/* Category sources are 3:2. Keep that native frame so faces, documents and
   equipment remain inside the card without stretch or incidental crop. */
body.sb-v43-home .service-card figure{aspect-ratio:3/2}

@media(max-width:900px){
  .condition-builder{grid-template-columns:1fr}
  .condition-sheet{order:2}
}
@media(max-width:640px){
  body.sb-v43-home .section{padding-block:56px}
  .condition-lab .shell{width:min(100% - 28px,1200px)}
  .condition-lab .section-head{margin-bottom:24px}
  .condition-controls,.condition-sheet{padding:20px 16px;border-radius:12px}
  .condition-builder{gap:14px}
  .condition-step+ .condition-step{margin-top:22px}
  .condition-options,.condition-options.categories{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .condition-option{min-height:46px;padding:8px 9px;font-size:12.5px}
  .condition-inline{grid-template-columns:1fr}
  .condition-sheet-head h3{font-size:22px}
  .condition-sheet-state{display:none}
  .condition-row{grid-template-columns:36px 72px 1fr;gap:9px;padding:16px 0}
  .condition-row>span{width:32px;height:32px}
  .condition-row b,.condition-row p{font-size:12.5px}
  .condition-questions{padding:16px}
  .condition-actions{grid-template-columns:1fr 1fr}
  .condition-actions .button:first-child{grid-column:1/-1}
  .quote .form-actions{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .condition-option,.condition-sheet.is-updating .condition-row,.condition-sheet.is-updating .condition-questions,.intent-pulse{animation:none!important;transition:none!important;transform:none!important}
}
