/* TREYA VTC — Fidelity corrections for public/auth references, 2026-10-12.
   This separate stylesheet intentionally does not change connected MVP screens. */
.public-body,.auth-body{background:#03283c;color:#fff}
.public-header{min-height:78px;position:relative;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:clamp(12px,1.5vw,25px);padding:3px clamp(24px,3.4vw,64px);background:#02273a;border-bottom:1px solid #0c8890}
.public-logo{flex:none;display:flex;align-items:center;max-width:260px}
.public-logo img{width:clamp(206px,18vw,258px);height:auto;max-height:72px;object-fit:contain;mix-blend-mode:normal;display:block}
.public-nav{display:flex;flex:1;align-items:center;justify-content:center;gap:clamp(14px,1.8vw,27px);min-width:0}
.public-nav a,.auth-mini-nav a{font-size:clamp(.77rem,.89vw,.89rem);white-space:nowrap;font-weight:650;line-height:1.2;color:#f5fcff}
.public-nav a.on{color:#39dbcc}.public-nav a:focus-visible,.public-header button:focus-visible,.public-header summary:focus-visible{outline:3px solid #f4cf67;outline-offset:3px}
.public-head-actions{display:flex;align-items:center;gap:15px;flex:none;margin-left:0}
.public-head-actions .btn{min-height:44px;padding:11px 19px;font-size:.86rem;white-space:nowrap;border-radius:10px}
.public-header .btn-primary,.hero-buttons .btn-primary,.auth-form .btn-primary{background:linear-gradient(110deg,#00918f,#08b1a5);border-color:transparent;color:#fff}
.public-header .btn-outline-light{border:1px solid #5eabb3;background:#03283c;color:#fff}
.language-picker{position:relative;font-size:.86rem;z-index:70}
.language-picker summary{list-style:none;display:flex;align-items:center;gap:7px;padding:11px;min-height:44px;cursor:pointer;color:#fff;white-space:nowrap;font-weight:650}
.language-picker summary::-webkit-details-marker{display:none}
.language-picker .language-flag{font-size:1.15rem}
.language-picker svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2}
.language-menu{position:absolute;right:0;top:100%;padding:6px;background:#fff;border-radius:10px;border:1px solid #bed8e4;box-shadow:0 14px 35px rgba(0,0,0,.22);min-width:155px;color:#173856}
.language-menu a{display:block;padding:10px;border-radius:6px;font-weight:550;font-size:.88rem}
.language-menu a:hover,.language-menu a.chosen{background:#e6f7f6;color:#007c81}
.mobile-public-toggle{display:none;flex:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;background:transparent;border:0;width:38px;height:44px;padding:4px;cursor:pointer}
.mobile-public-toggle span{background:#fff;width:28px;height:3px;border-radius:4px}
.public-footer{background:#02293d;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px clamp(24px,3.4vw,60px);border-top:1px solid #158996;flex-wrap:wrap}
.public-footer img{width:210px;height:auto;object-fit:contain;mix-blend-mode:normal;display:block}
.public-footer nav{display:flex;align-items:center;gap:clamp(13px,1.45vw,22px);flex-wrap:wrap}
.public-footer nav a,.footer-right a{font-size:.82rem;white-space:nowrap}
.footer-right{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.public-dev-hint{width:100%;opacity:.76;text-align:center;font-size:.68rem}
/* Authentication: left image as a true integrated hero, not an image rectangle below copy. */
.auth-stage{display:grid;grid-template-columns:minmax(0,45%) minmax(0,55%);min-height:750px;gap:0;padding:20px max(20px,3.4vw) 22px;align-items:stretch;background:linear-gradient(120deg,#03263a,#002a43 56%,#042c40)}
.auth-story{position:relative;min-height:750px;overflow:hidden;padding:0 24px 0 0;isolation:isolate}
.auth-story:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to bottom,#042e45 0%,rgba(2,39,58,.93) 31%,rgba(2,43,61,.18) 63%,rgba(2,37,55,.06) 100%),url('/static/img/hero.jpg') center bottom / 100% auto no-repeat}
.auth-story:after{content:"";pointer-events:none;position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#03273b 0%,transparent 18%,transparent 85%,rgba(2,37,55,.2))}
.auth-story-copy{max-width:600px;padding:24px 20px 0 10px;position:relative;z-index:1}
.auth-story h1{font-size:clamp(2.5rem,3.1vw,3.9rem);line-height:1.07;margin:0;color:#fff;letter-spacing:-.035em}
.auth-story h1 span{display:block;font-size:1.37em;line-height:1.08;white-space:nowrap}
.auth-story h2{font-size:clamp(1.4rem,2vw,2.15rem);line-height:1.27;max-width:590px;margin:18px 0 0;font-weight:730}
.auth-story p:not(.trial-note){font-size:clamp(.96rem,1.13vw,1.12rem);line-height:1.55;max-width:540px;margin:18px 0 0;color:#e8f7ff}
.auth-story .gold-line{width:66px;height:5px;margin:26px 0 0}
.auth-story .trial-note{font-size:1.04rem;margin:18px 0 0;font-weight:650;position:relative;color:#ffd15f}
.auth-card{padding:clamp(22px,2.2vw,35px);border-radius:15px;width:100%;align-self:center;background:#fff;color:#09305a;box-shadow:0 14px 48px rgba(0,22,42,.20)}
.auth-card h2{font-size:clamp(1.8rem,2.1vw,2.45rem);line-height:1.13;letter-spacing:-.035em;color:#092c54}
.auth-card em{color:#02a99e;font-style:normal}
.auth-card-subtitle{font-size:clamp(.93rem,1.1vw,1.1rem);font-weight:480;color:#6b88aa;margin:10px 0 22px!important}
.auth-form{display:grid;gap:17px}
.auth-form .two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:15px}
.auth-form .auth-field{font-size:.92rem;font-weight:660;display:flex;flex-direction:column;gap:7px;min-width:0;color:#082c55}
.control-wrap{position:relative;display:flex;min-width:0;width:100%;align-items:center}
.auth-form .control-wrap input,.auth-form .control-wrap select{font-family:inherit;width:100%;min-width:0;height:58px;border:1px solid #bed8f1;border-radius:10px;background:#fff;color:#143e65;padding:12px 43px 12px 47px;font-size:.91rem;font-weight:500;outline-offset:2px;box-shadow:inset 0 0 0 1px rgba(236,245,250,.34)}
.auth-form .control-wrap input::placeholder{color:#8aabc8;opacity:1;font-weight:450}
.auth-form .control-wrap input:focus,.auth-form .control-wrap select:focus{border-color:#00a6a2;box-shadow:0 0 0 3px rgba(3,163,160,.13)}
.auth-form .control-wrap select{appearance:auto;cursor:pointer;padding-right:16px}
.auth-form .field-icon{width:22px;height:22px;position:absolute;left:15px;top:50%;transform:translateY(-50%);fill:none;stroke:#49789f;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.auth-form .dial-select{width:112px!important;max-width:112px;flex:none;padding:8px 5px!important;margin-left:46px;height:42px!important;border:0!important;border-right:1px solid #c4d7ec!important;border-radius:0!important;font-size:.85rem!important;box-shadow:none!important}
.auth-form .dial-select+input{padding-left:12px!important;flex:1}
.password-toggle{position:absolute;right:7px;top:50%;transform:translateY(-50%);background:none;border:0;color:#567b9d;display:flex;align-items:center;justify-content:center;width:40px;height:40px}
.password-toggle svg,.submit-icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.auth-form .password-toggle:focus-visible{outline:2px solid #009c9a}
.auth-form h3{display:flex;align-items:center;gap:10px;font-size:.96rem;font-weight:750;margin:7px 0 -7px;color:#092f57}
.section-number{display:inline-flex;flex:none;align-items:center;justify-content:center;width:27px;height:27px;border-radius:50%;background:linear-gradient(135deg,#01c4ad,#008f8d);color:#fff;font-size:.87rem}
.auth-form .password-hint{font-size:.79rem;color:#174977;margin-top:-8px}
.auth-form .forgot-link{font-size:.95rem;color:#009a98;justify-self:end;margin-top:-6px;text-align:right}
.auth-form .inline-check{display:flex;flex-direction:row;align-items:flex-start;gap:10px;font-size:.84rem;line-height:1.5;font-weight:500}
.auth-form .inline-check input{height:19px;width:19px;flex:none;margin:1px 0 0;accent-color:#029e98}
.auth-form .inline-check span{min-width:0}
.auth-form .inline-check a{color:#008f8a;text-decoration:underline;font-weight:700}
.auth-form .legal-dev-note{font-size:.71rem;color:#667f95;margin-top:-10px}
.auth-form .btn-wide{min-height:55px;width:100%;font-size:1rem;font-weight:760;border-radius:9px;gap:12px}
.auth-bottom{text-align:center;border-top:1px solid #dfebf5;margin-top:20px;padding-top:18px;color:#10375c;font-size:.91rem}
.auth-bottom a{color:#008e8a;font-weight:750}
.auth-warning{margin:20px 0;color:#ba761a!important;font-size:.8rem}
/* Reference login page is shorter; signup is taller without excessively shrinking fields. */
.auth-login .auth-story,.auth-forgot .auth-story{min-height:620px}
.auth-login .auth-stage,.auth-forgot .auth-stage{min-height:620px}
.auth-login .auth-story-copy,.auth-forgot .auth-story-copy{padding-top:36px}
.auth-login .auth-card{max-width:760px}
.auth-signup .auth-form{gap:12px}
.auth-signup .auth-story{min-height:735px}
.auth-signup .auth-form .control-wrap input,.auth-signup .auth-form .control-wrap select{height:53px}
.auth-signup .auth-form h3{margin:7px 0 -3px}
.auth-signup .auth-card-subtitle{margin-bottom:16px!important}
/* Public hero uses background gradient so entire vehicle is visible instead of severe right cropping. */
.hero-public{min-height:575px;position:relative;isolation:isolate;grid-template-columns: minmax(0,50%) minmax(0,50%);background:linear-gradient(90deg,#03293d 0%,#03293d 25%,rgba(3,41,61,.89) 43%,rgba(3,41,61,.28) 74%,rgba(3,41,61,.05) 100%),url('/static/img/hero.jpg') center center / cover no-repeat}
.hero-public .hero-copy{padding:clamp(35px,5vw,90px);max-width:820px}
.hero-public .hero-visual{display:none}
.hero-copy h1{font-size:clamp(2.8rem,4.9vw,5.1rem);line-height:1.2}
.hero-copy p{max-width:560px}
.hero-buttons .btn{min-height:52px}
/* Legal review pages have honest draft status and do not impersonate legal approval. */
.legal-stage{min-height:63vh;padding:65px 25px;background:#eaf7fc;color:#123454}
.legal-article{max-width:840px;margin:auto;padding:45px 48px;border-radius:16px;background:#fff;box-shadow:0 10px 35px rgba(0,30,51,.08)}
.legal-article h1{margin:18px 0;font-size:2.4rem}.legal-article p{margin:18px 0;line-height:1.8}.legal-article .btn{margin-top:15px}
@media(max-width:1350px){
  .public-header{padding:4px 25px;gap:11px}
  .public-logo img{width:220px}
  .public-nav{gap:14px}
  .public-nav a{font-size:.79rem}
  .public-head-actions{gap:7px}
  .public-head-actions .btn{padding:10px 13px;font-size:.8rem}
  .auth-stage{padding:16px 25px;grid-template-columns:minmax(0,43%) minmax(0,57%)}
  .auth-story-copy{padding:25px 12px 0 5px}
  .auth-story h1{font-size:3rem}.auth-story h2{font-size:1.6rem}
  .auth-card{padding:25px}
}
@media(max-width:1100px){
  .public-header{min-height:78px;flex-wrap:nowrap}
  .public-logo img{width:205px}
  .mobile-public-toggle{display:flex;order:0;margin:0}
  .public-logo{order:1;margin-right:auto}
  .public-head-actions{order:2;margin-left:0}
  .public-nav{display:none;position:absolute;z-index:44;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:8px 25px 18px;background:#032b40;border-bottom:1px solid #157e8a;box-shadow:0 16px 25px rgba(0,0,0,.23)}
  .public-nav.open{display:flex;top:100%}
  .public-nav a{font-size:.93rem;padding:12px;border-radius:6px}
  .public-nav a:hover{background:#0b4557}
  .auth-stage{grid-template-columns:1fr;gap:0;min-height:0;padding:0 26px 24px}
  .auth-story,.auth-login .auth-story,.auth-forgot .auth-story,.auth-signup .auth-story{min-height:360px;padding:0}
  .auth-story:before{background:linear-gradient(to right,#022941 0%,rgba(2,41,61,.89) 25%,rgba(2,41,61,.12) 75%),url('/static/img/hero.jpg') right bottom / auto 100% no-repeat}
  .auth-story-copy{padding:28px 20px;max-width:580px}
  .auth-story h1{font-size:2.8rem}.auth-story h1 span{font-size:1.25em}
  .auth-story h2{max-width:420px;font-size:1.4rem}
  .auth-story p:not(.trial-note){max-width:410px;font-size:.98rem}
  .auth-card{max-width:850px;margin:0 auto}
  .auth-login .auth-stage,.auth-forgot .auth-stage{min-height:0}
  .public-footer nav{justify-content:center}
}
@media(max-width:650px){
  .public-header{min-height:70px;padding:5px 12px;gap:5px}
  .public-logo img{width:clamp(125px,39vw,182px)}
  .mobile-public-toggle{width:32px;height:38px}
  .mobile-public-toggle span{width:24px}
  .public-head-actions{gap:5px}
  .public-head-actions .btn{font-size:.77rem;padding:8px 10px;min-height:39px}
  .public-login-cta{display:none}
  .language-picker summary{min-height:40px;padding:5px 3px;font-size:.75rem;gap:3px}
  .language-picker .language-flag{font-size:.99rem}
  .language-picker .lang-chevron{width:13px}
  .hero-public{min-height:650px;display:flex;align-items:flex-start;background:linear-gradient(to bottom,#032a40 0%,#032a40 29%,rgba(3,42,64,.93) 38%,rgba(3,42,64,.38) 73%,rgba(3,42,64,.1)),url('/static/img/hero.jpg') center bottom / auto 57% no-repeat}
  .hero-public .hero-copy{padding:35px 25px;z-index:1}
  .hero-copy h1{font-size:2.75rem;margin:16px 0}
  .hero-copy p{font-size:1rem}
  .hero-buttons{gap:8px}
  .hero-buttons .btn{padding:12px 15px;min-height:44px;font-size:.88rem}
  .auth-stage{padding:0 14px 18px}
  .auth-story,.auth-login .auth-story,.auth-forgot .auth-story,.auth-signup .auth-story{min-height:330px}
  .auth-story:before{background:linear-gradient(to bottom,#032a40 0%,rgba(3,42,64,.95) 27%,rgba(3,42,64,.3) 73%,rgba(3,42,64,.12)),url('/static/img/hero.jpg') center bottom / auto 63% no-repeat}
  .auth-story-copy{padding:20px 8px}
  .auth-story h1{font-size:2.2rem}.auth-story h1 span{font-size:1.23em}
  .auth-story h2{font-size:1.15rem;margin:12px 0 0;max-width:360px}
  .auth-story p:not(.trial-note){font-size:.86rem;line-height:1.45;max-width:340px;margin-top:12px}
  .auth-story .gold-line{margin:12px 0 0;width:50px;height:4px}
  .auth-story .trial-note{font-size:.78rem;margin-top:12px}
  .auth-card{padding:24px 18px;border-radius:14px;max-width:100%}
  .auth-card h2{font-size:clamp(1.5rem,6vw,2rem)}
  .auth-card-subtitle{font-size:.88rem!important;margin:8px 0 16px!important}
  .auth-form{gap:13px}
  .auth-form .two-col{grid-template-columns:minmax(0,1fr)}
  .auth-form .auth-field{font-size:.86rem}
  .auth-form .control-wrap input,.auth-form .control-wrap select{height:52px;font-size:.87rem}
  .auth-form h3{font-size:.87rem;gap:7px}
  .section-number{width:25px;height:25px;font-size:.8rem}
  .auth-signup .auth-form{gap:12px}
  .auth-signup .auth-form .control-wrap input,.auth-signup .auth-form .control-wrap select{height:53px}
  .auth-form .inline-check{font-size:.82rem}
  .auth-form .legal-dev-note{font-size:.69rem}
  .public-footer{padding:20px 18px;justify-content:center;gap:14px}
  .public-footer img{width:170px}
  .public-footer nav{gap:12px}
  .footer-right{justify-content:center}
  .footer-right a,.public-footer nav a{font-size:.77rem}
  .legal-stage{padding:25px 14px}
  .legal-article{padding:25px 20px}
  .legal-article h1{font-size:1.8rem}
}
@media(max-width:370px){
  .public-logo img{width:120px}.public-head-actions .btn{padding:8px 9px;font-size:.7rem}
  .language-picker summary{font-size:.72rem}.auth-story h1{font-size:2rem}
}
/* Align international dial code and phone field as one continuous control. */
.auth-form .auth-field:has(.dial-select) .control-wrap{height:58px;border:1px solid #bed8f1;background:#fff;border-radius:10px;overflow:hidden}
.auth-form .auth-field:has(.dial-select) .control-wrap:focus-within{border-color:#00a6a2;box-shadow:0 0 0 3px rgba(3,163,160,.13)}
.auth-form .auth-field:has(.dial-select) .control-wrap input{border:0!important;border-radius:0!important;box-shadow:none!important;height:54px!important;padding:10px 12px!important}
.auth-form .auth-field:has(.dial-select) .dial-select{margin-left:45px;background:#fff}
@media(max-width:650px){
 .auth-story,.auth-login .auth-story,.auth-forgot .auth-story,.auth-signup .auth-story{min-height:400px}
 .auth-story:before{background:linear-gradient(to bottom,#032a40 0%,rgba(3,42,64,.99) 47%,rgba(3,42,64,.75) 64%,rgba(3,42,64,.13) 98%),url('/static/img/hero.jpg') center bottom / auto 51% no-repeat}
 .auth-signup .auth-field:has(.dial-select) .control-wrap{height:54px}
}
img.flag{display:inline-block;width:18px;height:12px;border-radius:2px;vertical-align:-1px;box-shadow:0 0 0 1px rgba(0,0,0,.12)}.language-menu a{display:flex;align-items:center;gap:8px}
/* V0.3.2 — pages publiques alignées sur les maquettes */
.ic{width:20px;height:20px;flex:none;display:inline-block;vertical-align:-4px;fill:none;stroke:currentColor}
.btn .ic{width:17px;height:17px;vertical-align:-3px}
.feature-dot{display:grid!important;place-items:center;width:52px;height:52px;border-radius:12px;background:linear-gradient(140deg,#0b8f8b,#05676a);color:#fff!important;box-shadow:0 6px 14px rgba(0,110,110,.22);font-size:0!important}
.feature-dot .ic{width:26px;height:26px;color:#fff}
.feature-more{display:inline-flex;align-items:center;gap:6px;margin-top:14px;color:#008b86;font-weight:700;font-size:.86rem}
.feature-more .ic{width:15px;height:15px}
.hero-points{list-style:none;display:flex;flex-wrap:wrap;gap:12px 26px;padding:0;margin:22px 0 0;font-weight:650;font-size:.95rem}
.hero-points li{display:flex;align-items:center;gap:9px}
.hero-points .ic{width:22px;height:22px;color:#22d3b4}
.trial-note .ic{width:15px;height:15px;vertical-align:-2px}
@media(min-width:1101px){
 .hero-public{background:linear-gradient(90deg,#03293d 0%,#03293d 36%,rgba(3,41,61,.75) 48%,rgba(3,41,61,0) 66%),linear-gradient(180deg,#03293d 0%,rgba(3,41,61,0) 22%,rgba(3,41,61,0) 78%,#03293d 100%),url('/static/img/hero.jpg') right center / auto 100% no-repeat,#03293d}
 .hero-public{min-height:min(620px,calc(100vh - 80px))}
}
