/* FUBIT Global V2 — R43B-03 English core (isolated, production-shaped). Local only. */
:root{--navy:#0D1A2E;--cyan:#00C8C8;--ink:#17283F;--muted:#5B6B80;--rule:#D9DFE7;--mist:#EEF4F6;--teal:#006F7A;--err:#A32121;--serif:Georgia,"Times New Roman",serif;--sans:-apple-system,"Segoe UI","Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:17px/1.65 var(--sans);color:var(--ink);background:#fff;min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden}
img{max-width:100%;display:block}
[hidden]{display:none!important}
a{color:var(--teal)}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--teal);outline-offset:3px}
h1,h2,h3{font-family:var(--serif);font-weight:400;color:var(--navy);line-height:1.15;letter-spacing:-.01em;margin:0}
h1{font-size:44px;margin-bottom:16px}
p{margin:0 0 1em}
main{flex:1}
.wrap{max-width:1200px;width:100%;margin:0 auto;padding:0 40px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:12px;top:12px;background:var(--navy);color:#fff;padding:8px 14px;z-index:100}

/* Header */
.site-header{border-bottom:1px solid var(--rule);position:relative;z-index:20;background:#fff}
.bar{display:flex;align-items:center;justify-content:space-between;height:84px;gap:20px}
.brand{display:inline-flex;line-height:0}
.brand-logo{width:72px;height:72px;object-fit:contain}
.bar-right{display:flex;align-items:center;gap:24px}
.bar-right>a{font-size:13px;color:var(--ink);text-decoration:none}
.bar-right>a:hover{color:var(--teal)}
.lang-menu{position:relative}
.lang-btn{background:none;border:0;font-size:13px;color:var(--muted);padding:6px 0;letter-spacing:.04em}
.lang-btn::after{content:" \25BE";font-size:.7em}
.lang-list{list-style:none;margin:0;padding:8px 0;position:absolute;right:0;top:100%;min-width:220px;background:#fff;border:1px solid var(--rule);display:none;z-index:60}
.lang-menu.open .lang-list{display:block}
.lang-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 16px;font-size:14px}
.lang-item[aria-current="true"]{color:var(--teal);font-weight:600}
.lang-item.soon{color:#7C8898;cursor:not-allowed}
.lang-note{font-size:11px;border:1px solid var(--rule);padding:0 6px;border-radius:2px;white-space:nowrap}

/* Layout: editorial photo + focused task area */
.auth{padding:64px 0 80px}
.auth-layout{display:grid;grid-template-columns:minmax(0,1fr) 440px;column-gap:96px;align-items:start}
.auth-layout.wide{grid-template-columns:minmax(0,1fr) 580px;column-gap:72px}
.auth-story{border-top:1px solid var(--rule);padding-top:22px}
.auth-story h2{font-size:42px;line-height:1.16;margin-bottom:32px}
.auth-story figure{margin:0}
.auth-story img{width:100%;height:300px;object-fit:cover}
.auth-story figcaption{font-size:12px;letter-spacing:.09em;color:var(--muted);padding:14px 0;border-bottom:1px solid var(--rule)}
.story-note{color:var(--muted);font-size:15px;line-height:1.65;margin:18px 0 0;max-width:340px}
.approach{display:grid;font-size:14px;margin:28px 0 16px;max-width:340px}
.approach span{border-top:1px solid var(--rule);padding:12px 0}
.auth-col{min-width:0;width:100%;max-width:440px}
.auth-layout.wide .auth-col{max-width:620px}
.eyebrow{display:block;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--teal);font-weight:600;margin:0 0 18px}
.lead{color:var(--muted);font-size:17px;line-height:1.55;margin:0 0 32px}

/* Forms */
.field{margin-bottom:20px}
label{display:block;font-size:14px;font-weight:600;color:var(--navy);margin-bottom:6px}
label>span{font-weight:400;color:var(--muted)}
input:not([type=checkbox]),select,textarea{display:block;width:100%;min-width:0;font-size:16px;color:var(--ink);padding:11px 12px;border:1px solid #AAB5C3;border-radius:2px;background:#fff;line-height:1.5}
textarea{resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid var(--teal);outline-offset:0;border-color:var(--teal)}
[aria-invalid=true]{border-color:var(--err)!important}
.helper{font-size:14px;color:var(--muted);line-height:1.55;margin:6px 0 0}
.error{font-size:14px;color:var(--err);margin:6px 0 0}
.helper:empty,.error:empty{display:none}
.pw-wrap{position:relative}
.pw-wrap input{padding-right:72px}
.pw-toggle{position:absolute;right:4px;top:4px;bottom:4px;background:none;border:0;font-size:13px;font-weight:600;color:var(--teal);padding:0 10px}
.otp-input{letter-spacing:.5em;text-align:center;font-family:ui-monospace,Menlo,Consolas,monospace}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.phone-group{display:grid;grid-template-columns:190px minmax(0,1fr);gap:10px}
.check{display:flex;align-items:flex-start;gap:10px;font-size:15px;line-height:1.55;font-weight:400}
.check input{margin:5px 0 0;accent-color:var(--teal);width:18px;height:18px;flex-shrink:0}

.btn{display:inline-block;font-size:15px;font-weight:600;letter-spacing:.02em;text-decoration:none;text-align:center;padding:13px 24px;border:1px solid transparent;border-radius:2px;min-height:48px;line-height:1.5}
.btn-primary{background:var(--cyan);color:var(--navy);width:100%;margin-top:8px}
.btn-primary:hover{background:#00B3C2}
.btn-line{background:#fff;border-color:var(--navy);color:var(--navy)}
.btn-line:hover{background:var(--navy);color:#fff}
.actions{display:flex;gap:12px;margin-top:24px}
.actions .btn-primary{flex:1;margin-top:0}
.text-button{font-size:14px;background:none;color:var(--teal);border:0;text-decoration:underline;text-underline-offset:3px;padding:6px 0;min-height:36px;text-align:left}
.alt-line{margin:24px 0 0;font-size:15px;color:var(--muted)}
.alt-line a{font-weight:600;text-decoration:none;border-bottom:1px solid currentColor}

/* Honest state notes */
.state-note{margin:20px 0 0;border-left:2px solid var(--teal);background:var(--mist);padding:12px 16px;font-size:14px;color:var(--ink)}
.state-note:empty{display:none}
.state-note strong{display:block;font-weight:600;color:var(--navy);margin-bottom:2px}
.state-note.warn{border-left-color:var(--err)}
.req-preview{margin:14px 0 0;padding:12px 14px;border:1px solid var(--rule);background:#fff;font:13px/1.55 ui-monospace,Menlo,Consolas,monospace;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere}
.req-preview:empty{display:none}
.req-label{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:600;margin:18px 0 0}
.req-label:empty{display:none}

/* Specialized access */
.specialized{margin-top:52px;padding-top:28px;border-top:1px solid var(--rule)}
.specialized h2{font-family:var(--sans);font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--muted);margin-bottom:6px}
.access-list{list-style:none;margin:0;padding:0}
.access-list a{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:16px 0;border-bottom:1px solid var(--rule);text-decoration:none;color:var(--navy)}
.access-list .name{font-family:var(--serif);font-size:19px}
.access-list .desc{display:block;font-family:var(--sans);font-size:13px;color:var(--muted);margin-top:2px}
.access-list .arrow{color:var(--teal)}
.access-list a:hover .name{color:var(--teal)}

/* Steps */
.steps{list-style:none;display:flex;gap:16px;padding:0;margin:0 0 28px;color:var(--muted);font-size:14px}
.steps li{flex:1;border-top:1px solid var(--rule);padding-top:10px}
.steps [aria-current]{border-top:2px solid var(--teal);color:var(--teal);font-weight:600;padding-top:9px}
.steps.stacked{flex-direction:column;gap:0;margin:20px 0 0}
.steps.stacked li{padding:8px 0}
[data-step] h2,[data-panel] h2{font-size:28px;margin-bottom:8px}
h2:focus,h1:focus{outline:none}
.section-help{color:var(--muted);font-size:15px;margin-bottom:24px}
.done h2{font-size:28px;margin-bottom:12px}

/* Supplier intake */
details{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:14px 0;margin:4px 0 24px}
summary{font-size:15px;color:var(--teal);cursor:pointer}
summary span{font-weight:400}
details[open] summary{margin-bottom:18px}
.context-line{font-size:13px;color:var(--muted);border-top:1px solid var(--rule);padding-top:10px;margin:0 0 24px}
.review-title{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-top:1px solid var(--rule);padding-top:22px;margin-top:26px}
.review-title h3{font-family:var(--sans);font-size:17px;font-weight:600;margin:0}
.review-title>span{font-size:13px;color:var(--muted)}
.summary-group{padding:18px 0;border-bottom:1px solid var(--rule)}
.summary-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.summary-head h3{font-family:var(--sans);font-size:15px;font-weight:600;margin:0}
.summary-group dl{margin:0;display:grid;grid-template-columns:160px minmax(0,1fr);font-size:14px;gap:7px 18px}
.summary-group dt{color:var(--muted)}
.summary-group dd{margin:0;overflow-wrap:anywhere}
.receipt-line{padding:16px 0;border-top:1px solid var(--rule);font-size:15px}
.receipt-line span{display:block;color:var(--muted);font-size:14px}
.receipt-line strong{font-weight:500;overflow-wrap:anywhere}
#status{font-size:14px;color:var(--err);margin:12px 0}
#status:empty{display:none}

/* Consultation */
.consultation{min-width:0;max-width:620px}
.preview-banner{border-left:2px solid var(--teal);background:var(--mist);padding:14px 16px;margin-bottom:24px;font-size:14px;line-height:1.55}
.preview-banner strong{font-weight:600;color:var(--navy)}
.preview-banner p{margin:4px 0 0;color:var(--muted)}
.stage-line{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--muted);border-top:1px solid var(--rule);padding-top:12px;margin-bottom:24px}
.stage-line span:first-child{color:var(--teal);font-weight:600}
.hint{font-size:15px;line-height:1.6;color:var(--muted);margin-bottom:20px}
.small{font-size:13px;color:var(--muted);line-height:1.6}
.small:empty{display:none}
#demand{min-height:170px}
.excerpt{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:16px 0;margin:20px 0;overflow-wrap:anywhere}
.excerpt .eyebrow{margin-bottom:8px}
.excerpt p{font-size:15px;white-space:pre-wrap;margin-bottom:4px}
.simulated{border-left:2px solid var(--teal);padding:14px 16px;background:var(--mist);font-size:14px;margin:20px 0 24px}
.simulated strong{font-size:12px;letter-spacing:.03em;color:var(--teal)}
.simulated p{margin:8px 0 0}
.brief-list{margin:20px 0 24px}
.brief-row{display:grid;grid-template-columns:180px minmax(0,1fr);gap:20px;padding:12px 0;border-bottom:1px solid var(--rule);font-size:14px}
.brief-row dt{color:var(--muted)}
.brief-row dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.handoff-block{border-top:1px solid var(--rule);padding-top:24px;margin-top:26px}
.handoff-block h3{font-size:20px;margin-bottom:10px}
.result{font-size:14px;color:var(--teal);margin:14px 0}
.result:empty{display:none}
.preview-tools{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--rule);margin-top:32px;padding-top:12px}
.btn-secondary{background:#fff;border-color:var(--navy);color:var(--navy)}

/* Footer */
.site-footer{border-top:1px solid var(--rule);padding:22px 0;font-size:13px;color:var(--muted)}
.site-footer p{margin:0 0 4px}

@media(max-width:1050px){.auth-layout,.auth-layout.wide{grid-template-columns:minmax(0,1fr) minmax(420px,1.3fr);column-gap:40px}.auth-story h2{font-size:34px}.wrap{padding:0 30px}}
@media(max-width:900px){
  .wrap{padding:0 22px}
  .bar{height:80px}
  .brand-logo{width:68px;height:68px}
  .auth{padding:32px 0 64px}
  .auth-layout,.auth-layout.wide{display:block}
  .auth-story{display:none}
  .auth-col,.auth-layout.wide .auth-col{margin:0 auto}
  h1{font-size:35px}
  .lead{font-size:16px;margin-bottom:26px}
  .steps{gap:12px;font-size:13px}
  .phone-group{grid-template-columns:135px minmax(0,1fr)}
  .pair{grid-template-columns:1fr;gap:0}
  .review-title{display:block}
  .review-title>span{display:block;margin-top:4px}
  .summary-group dl{grid-template-columns:105px minmax(0,1fr);gap:8px 12px}
  .brief-row{grid-template-columns:112px minmax(0,1fr);gap:14px}
  .lang-list{right:-4px;min-width:200px}
  .specialized{margin-top:44px}
  .actions{gap:10px}
  .btn{padding:13px 16px}
}
