:root{--green:#06372d;--gold:#dfae27;--paper:#f3f0e7;--card:#fbfaf6;--ink:#092d25;--muted:#7b8982;--line:#d6ddd8;--tab:#edf0eb;--danger:#a93434}
*{box-sizing:border-box}
html{min-height:100%;overflow-x:hidden;-webkit-text-size-adjust:100%}
html,body{margin:0;font-family:Inter,Avenir,"Helvetica Neue",Arial,sans-serif;color:var(--ink);font-synthesis:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{min-height:100vh;min-height:100dvh;background:var(--paper);overflow-x:hidden}
button,input{font:inherit}
button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.auth-shell{min-height:100vh;display:grid;grid-template-columns:43% 57%}
.brand-panel{position:relative;overflow:hidden;min-height:100vh;padding:58px clamp(44px,5vw,104px);background:linear-gradient(145deg,#002a22,#063b30);color:#fff;display:flex;flex-direction:column}
.brand-mark{position:relative;z-index:2;display:flex;align-items:center;gap:18px;color:#fff;text-decoration:none;font-size:27px}
.brand-mark span{width:55px;height:55px;border-radius:17px;background:var(--gold);display:grid;place-items:center;color:#062d25;font-weight:900}
.brand-mark strong{font-weight:800}
.brand-copy{position:relative;z-index:2;margin:auto 0;max-width:640px}
.eyebrow{margin:0 0 26px;color:var(--gold);font-size:12px;font-weight:900;letter-spacing:.22em}
.brand-copy h1{font-size:clamp(54px,4.6vw,92px);font-weight:400;line-height:1.12;letter-spacing:-.055em;margin:0}
.brand-copy h1 em{color:var(--gold);font-style:normal}
.brand-description{margin:34px 0 38px;max-width:620px;color:#c4d1cc;font-size:16px;line-height:1.7}
.trust-list{list-style:none;margin:0;padding:0;display:grid;gap:23px;color:#d5dfdb;font-size:14px;font-weight:650}
.trust-list span{display:inline-grid;place-items:center;width:22px;margin-right:10px;color:var(--gold);font-size:20px}
.brand-footer{position:relative;z-index:2;margin:0;color:#75978c;font-size:11px}
.brand-ring{position:absolute;width:610px;height:610px;border:95px solid rgba(70,115,85,.18);border-radius:50%;right:-315px;bottom:-245px}
.form-panel{position:relative;padding:80px clamp(40px,10vw,210px) 52px;display:flex;align-items:center;justify-content:center}
.back-link{position:absolute;top:58px;left:clamp(40px,7vw,145px);color:#64766f;text-decoration:none;font-size:14px;font-weight:750}
.auth-card{width:min(740px,100%);background:var(--card);border:1px solid var(--line);border-radius:34px;padding:58px 56px 36px;box-shadow:0 28px 58px rgba(32,47,40,.08)}
.view-heading h2,.success h2{margin:0;color:#082f27;font-size:39px;line-height:1.1;letter-spacing:-.045em;font-weight:500}
.view-heading>p:last-child,.success>p:last-child{margin:17px 0 34px;color:var(--muted);font-size:14px}
.auth-tabs{display:grid;grid-template-columns:repeat(3,1fr);background:var(--tab);border-radius:17px;padding:5px;margin-bottom:33px}
.auth-tabs button{min-height:49px;border:0;border-radius:14px;background:transparent;color:#75837c;font-size:12px;font-weight:850;cursor:pointer}
.auth-tabs button.active{background:#fff;color:#164a3c;box-shadow:0 5px 12px rgba(20,56,45,.08)}
.auth-tabs button:focus-visible{outline:3px solid #0a6bdc}
.auth-form{display:grid;gap:22px}
.auth-form label{display:grid;gap:9px;font-size:12px;font-weight:850;color:#40544c}
.auth-form small{font-size:9px;font-weight:500;color:#87948e;margin-top:-3px}
.field{height:63px;border:1px solid #cad5cf;border-radius:15px;background:#fff;display:flex;align-items:center;padding:0 17px;gap:13px;transition:.15s}
.field:focus-within{border-color:#0a6bdc;box-shadow:0 0 0 2px rgba(10,107,220,.18)}
.field-icon{width:21px;color:#81938a;font-size:22px;text-align:center}
.field input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:#243d35;font-size:15px}
.field input::placeholder{color:#8d9a95}
.field strong{font-size:14px;color:#40554c}
.phone-field i{height:25px;width:1px;background:#dce2de}
.reveal{border:0;background:none;color:#778b81;font-size:17px;cursor:pointer;padding:7px}
.consent{display:flex!important;align-items:center;justify-content:flex-end;gap:13px!important;font-size:11px!important;font-weight:550!important}
.consent input{width:19px;height:19px;accent-color:#165d49}
.consent b,.forgot-link{color:#8f6d08}
.primary{height:66px;border:0;border-radius:15px;background:#165d49;color:#fff;font-weight:850;cursor:pointer;box-shadow:0 13px 27px rgba(14,80,62,.1)}
.primary span{font-size:24px;margin-left:16px;vertical-align:-2px}
.primary:hover{background:#0e503e}
.forgot-link,.text-button{justify-self:start;border:0;background:none;padding:0;font-size:11px;font-weight:800;cursor:pointer}
.text-button{justify-self:center;color:#165d49}
#status{min-height:18px;margin:5px 0 0;text-align:center;color:var(--danger);font-size:12px;font-weight:700}
.security-note{text-align:center;margin:20px 0 0;color:#9aa59f;font-size:10px}
.success{text-align:center;padding:30px 0}
.success .eyebrow{margin-bottom:18px}
@media(max-width:1100px){.auth-shell{grid-template-columns:42% 58%}
.brand-panel{padding:45px}
.form-panel{padding:80px 45px 45px}
.auth-card{padding:45px 38px 32px}
.brand-copy h1{font-size:55px}
}
@media(max-width:760px){.auth-shell{display:block}
.brand-panel{min-height:auto;padding:28px 24px 38px}
.brand-mark{font-size:21px}
.brand-mark span{width:44px;height:44px;border-radius:13px}
.brand-copy{margin:48px 0 0}
.brand-copy h1{font-size:46px}
.brand-description,.trust-list,.brand-footer{display:none}
.brand-ring{width:320px;height:320px;border-width:55px;right:-190px;bottom:-200px}
.form-panel{padding:56px 15px 28px}
.back-link{top:20px;left:22px}
.auth-card{padding:35px 20px 28px;border-radius:25px}
.view-heading h2{font-size:33px}
.auth-tabs button{font-size:10px}
.field{height:58px}
.consent{align-items:flex-start!important;justify-content:flex-start}
.security-note{line-height:1.5}
}

/* Preserve the supplied composition while making the account flow native to small screens. */
@media(max-width:820px){
  .auth-shell{display:block;min-height:100dvh}
  .brand-panel{min-height:0;height:clamp(96px,16vw,144px);padding:clamp(22px,5vw,38px) max(24px,env(safe-area-inset-left));justify-content:center}
  .brand-mark{gap:14px;font-size:clamp(21px,4.4vw,27px)}
  .brand-mark span{width:clamp(48px,9vw,60px);height:clamp(48px,9vw,60px);border-radius:16px;font-size:24px}
  .brand-copy,.brand-footer{display:none}
  .brand-ring{display:block;width:330px;height:330px;border-width:58px;right:-175px;bottom:-250px;opacity:.85}
  .form-panel{display:block;min-height:calc(100dvh - clamp(96px,16vw,144px));padding:86px max(16px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom))}
  .back-link{top:34px;left:max(25px,env(safe-area-inset-left));font-size:14px}
  .auth-card{width:100%;max-width:720px;margin:0 auto;padding:clamp(34px,7vw,54px) clamp(20px,6vw,50px) 30px;border-radius:clamp(24px,4vw,34px);box-shadow:0 18px 44px rgba(32,47,40,.07)}
  .view-heading h2,.success h2{font-size:clamp(31px,6vw,42px);line-height:1.08}
  .view-heading>p:last-child,.success>p:last-child{margin:14px 0 28px;font-size:14px;line-height:1.5}
  .eyebrow{margin-bottom:20px;font-size:11px}
  .auth-tabs{margin-bottom:29px;border-radius:16px;padding:5px}
  .auth-tabs button{min-height:52px;padding:0 8px;font-size:clamp(10px,2.5vw,12px);line-height:1.15}
  .auth-form{gap:20px}
  .auth-form label{font-size:12px;gap:8px}
  .auth-form small{font-size:10px;line-height:1.35}
  .field{height:62px;padding:0 16px;border-radius:15px;gap:12px}
  .field input{font-size:16px}
  .primary{height:64px;border-radius:15px;min-width:44px}
  .forgot-link,.text-button{min-height:24px;font-size:11px}
  .consent{align-items:flex-start!important;justify-content:flex-start;line-height:1.45}
  #status{line-height:1.4}
  .security-note{margin-top:18px;line-height:1.45}
}

@media(max-width:480px){
  .brand-panel{height:102px;padding:22px max(20px,env(safe-area-inset-left))}
  .brand-mark{font-size:21px;gap:12px}
  .brand-mark span{width:48px;height:48px;border-radius:14px;font-size:21px}
  .brand-ring{width:235px;height:235px;border-width:43px;right:-128px;bottom:-178px}
  .form-panel{min-height:calc(100dvh - 102px);padding:70px max(10px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom))}
  .back-link{top:25px;left:max(18px,env(safe-area-inset-left));font-size:13px}
  .auth-card{padding:30px 18px 24px;border-radius:24px}
  .view-heading h2,.success h2{font-size:30px}
  .view-heading>p:last-child,.success>p:last-child{font-size:13px;margin-bottom:24px}
  .eyebrow{font-size:10px;margin-bottom:17px}
  .auth-tabs{margin-bottom:25px}
  .auth-tabs button{min-height:48px;font-size:10px;padding:0 5px}
  .auth-form{gap:18px}
  .field{height:58px;padding:0 13px;gap:10px}
  .field-icon{width:19px;font-size:20px}
  .field strong{font-size:13px}
  .primary{height:60px}
  .primary span{margin-left:10px}
  .consent{font-size:10px!important}
  .security-note{font-size:9px}
  .auth-card:has(#signup-form:not([hidden])){padding-top:20px;padding-bottom:17px}
  .auth-card:has(#signup-form:not([hidden])) .view-heading .eyebrow{margin-bottom:8px}
  .auth-card:has(#signup-form:not([hidden])) .view-heading h2{font-size:25px}
  .auth-card:has(#signup-form:not([hidden])) .view-heading>p:last-child{margin:7px 0 12px;font-size:11px;line-height:1.3}
  .auth-card:has(#signup-form:not([hidden])) .auth-tabs{margin-bottom:12px}
  .auth-card:has(#signup-form:not([hidden])) .auth-tabs button{min-height:38px}
  .auth-card:has(#signup-form:not([hidden])) .auth-form{gap:8px}
  .auth-card:has(#signup-form:not([hidden])) .auth-form label{gap:3px;font-size:10px}
  .auth-card:has(#signup-form:not([hidden])) .field{height:45px}
  .auth-card:has(#signup-form:not([hidden])) .auth-form small{font-size:8px;line-height:1.15;margin-top:0}
  .auth-card:has(#signup-form:not([hidden])) .consent{min-height:25px;align-items:center!important;line-height:1.2}
  .auth-card:has(#signup-form:not([hidden])) .consent input{width:16px;height:16px;flex:0 0 16px}
  .auth-card:has(#signup-form:not([hidden])) .primary{height:50px}
  .auth-card:has(#signup-form:not([hidden])) #status{min-height:14px;margin-top:2px;font-size:10px}
  .auth-card:has(#signup-form:not([hidden])) .security-note{margin-top:8px}
}

@media(max-width:360px){
  .auth-card{padding-inline:14px}
  .auth-tabs button{font-size:9px}
  .field{padding-inline:11px}
  .field input{font-size:15px}
  .phone-field{gap:8px}
}

@media(max-width:480px) and (max-height:700px){
  .brand-panel{height:78px;padding-block:15px}
  .brand-mark span{width:44px;height:44px}
  .form-panel{min-height:calc(100dvh - 78px);padding-top:48px}
  .back-link{top:17px}
  .auth-card:has(#signup-form:not([hidden])){padding-top:13px;padding-bottom:10px}
  .auth-card:has(#signup-form:not([hidden])) .view-heading .eyebrow{display:none}
  .auth-card:has(#signup-form:not([hidden])) .view-heading>p:last-child{margin-block:4px 8px}
  .auth-card:has(#signup-form:not([hidden])) .auth-tabs{margin-bottom:7px}
  .auth-card:has(#signup-form:not([hidden])) .auth-tabs button{min-height:34px}
  .auth-card:has(#signup-form:not([hidden])) .auth-form{gap:5px}
  .auth-card:has(#signup-form:not([hidden])) .field{height:40px}
  .auth-card:has(#signup-form:not([hidden])) .auth-form small{font-size:7.5px}
  .auth-card:has(#signup-form:not([hidden])) .consent{min-height:21px}
  .auth-card:has(#signup-form:not([hidden])) .primary{height:44px}
  .auth-card:has(#signup-form:not([hidden])) .security-note{margin-top:4px}
}

@media(max-height:820px) and (min-width:821px){
  .form-panel{padding-block:58px 28px}
  .back-link{top:26px}
  .auth-card{padding-block:38px 26px}
  .auth-form{gap:16px}
  .field{height:56px}
  .primary{height:58px}
  .view-heading>p:last-child{margin-bottom:24px}
  .auth-tabs{margin-bottom:24px}
}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
