:root{color-scheme:light;--paper:#f8f5ec;--ink:#22211e;--muted:#6d695e;--gold:#c99b16;--line:#e6dfcb;--white:#fffefa}
*{box-sizing:border-box}html{min-width:320px;scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;min-height:100vh;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(ellipse at 15% 25%,#f9e49b33,transparent 38rem),var(--paper)}button,input{font:inherit}a{color:inherit}button,a,input{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #9a740c;outline-offset:4px}svg{display:block;flex-shrink:0}.page{width:min(1180px,calc(100% - 64px));margin-inline:auto}
.topline{height:34px;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:.11em;color:#77632a;background:#fffdf766}.topline .page,header .page{height:100%;display:flex;align-items:center;justify-content:space-between;gap:20px}.topline strong{text-transform:uppercase;font-weight:700}.topline a{text-decoration:none;letter-spacing:0;color:#665c42}header{height:82px;border-bottom:1px solid var(--line)}.brand{text-decoration:none;display:flex;align-items:center}.brand img{display:block;width:170px;height:64px;object-fit:contain;object-position:left center}.brand-fallback{display:none;font-weight:900;font-style:italic;font-size:28px;letter-spacing:-.06em}.brand-fallback small{display:block;font-size:8px;text-align:right;letter-spacing:.04em}.secure-top{display:flex;align-items:center;gap:8px;font-size:12px;color:#665b37}.secure-top svg{width:17px;height:17px;color:#92700a}
main.page{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(360px,.92fr);gap:48px;align-items:stretch;padding-block:40px}.intro{min-width:0}.eyebrow{display:flex;align-items:center;gap:9px;margin:0 0 16px;color:#866712;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;line-height:1.5}.eyebrow:before{content:"";width:20px;height:2px;background:var(--gold);flex-shrink:0}h1{margin:0;font-size:clamp(40px,4vw,52px);line-height:1.07;letter-spacing:-.055em;font-weight:800}h1 span{display:block;color:#b68a0e}.intro-copy{max-width:510px;margin:18px 0 0;color:var(--muted);font-size:14px;line-height:1.7}.benefits-title{font-size:13px;letter-spacing:0;line-height:1.5;margin:24px 0 15px}.portal-benefits{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px;padding:0;margin:0}.portal-benefits li{display:flex;align-items:flex-start;gap:10px;min-width:0}.benefit-icon{flex:0 0 32px;height:32px;display:grid;place-items:center;background:#f5eac5;border:1px solid #e8dba9;border-radius:9px;color:#87650a}.benefit-icon svg{width:17px;height:17px}.portal-benefits h3{font-size:12px;line-height:1.4;margin:0 0 4px}.portal-benefits p{font-size:11px;line-height:1.55;margin:0;color:var(--muted)}
.app-section{margin-top:26px;scroll-margin-top:24px}.app-banner{display:grid;grid-template-columns:minmax(0,1fr) 110px;grid-template-areas:"copy art" "stores art";gap:18px 22px;padding:24px;border:1px solid #d9bd5d;border-radius:18px;background:linear-gradient(115deg,#fffdf6,#f8edc4);align-items:center}.app-copy{grid-area:copy;min-width:0}.app-banner .eyebrow{font-size:9px;letter-spacing:.1em;margin-bottom:10px}.app-banner h2{font-size:27px;line-height:1.1;letter-spacing:-.04em;margin:0}.app-copy>p:not(.eyebrow){margin:12px 0 0;color:#665e47;font-size:12px;line-height:1.65}.store-links{grid-area:stores;display:flex;gap:10px;flex-wrap:wrap}.store-button{min-width:136px;height:48px;padding:8px 11px;display:inline-flex;align-items:center;gap:8px;text-decoration:none;border:1px solid #44443c;border-radius:8px;background:#22221e;color:white;transition:transform .2s,background .2s}.store-button:hover{background:#38372f;transform:translateY(-2px)}.store-button svg{width:22px;height:25px}.store-button small{display:block;font-size:8px;line-height:1.3;letter-spacing:.02em}.store-button b{display:block;font-size:17px;line-height:1.2;letter-spacing:-.03em;white-space:nowrap}
.app-art{grid-area:art;position:relative;display:grid;place-items:center;min-height:210px;width:110px;pointer-events:none}.phone{position:relative;width:100px;height:190px;padding:23px 8px 13px;border:6px solid #282922;border-radius:23px;background:#fffbeb;box-shadow:0 14px 22px #77602433;animation:phone-float 5s ease-in-out infinite}.phone-notch{position:absolute;width:38px;height:5px;top:4px;left:50%;transform:translateX(-50%);background:#282922;border-radius:8px}.phone-brand{display:block;font-size:7px;letter-spacing:.1em;font-weight:850}.phone-logo{display:grid;place-items:center;width:33px;height:33px;margin:11px auto 8px;border-radius:10px;background:#f5cc48;font-size:23px;font-weight:900;font-style:italic}.phone strong{display:block;text-align:center;font-size:7px;margin-bottom:8px}.phone-item{font-size:5.5px;padding:4px 0;border-bottom:1px solid #ece4ca;color:#625b42;white-space:nowrap}.phone-item span{color:#aa8211;margin-right:3px}.phone-home{position:absolute;bottom:6px;left:50%;transform:translateX(-50%);width:30px;height:3px;border-radius:4px;background:#b9b296}.spark{position:absolute;color:#ad7e00;font-size:18px}.spark-one{right:-5px;top:3px}.spark-two{left:-7px;bottom:5px}@keyframes phone-float{0%,100%{transform:translateY(2px) rotate(5deg)}50%{transform:translateY(-5px) rotate(3deg)}}
.login-wrap{min-width:0;display:flex}.login-card{position:relative;width:100%;padding:34px;display:flex;flex-direction:column;justify-content:center;border:1px solid #e7dfc6;border-radius:20px;background:var(--white);box-shadow:0 20px 60px #45391112;overflow:hidden}.login-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#ecd885,#c99b16,#e8cb68)}.card-kicker{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:26px}.card-kicker .eyebrow{margin:0;font-size:9px;letter-spacing:.1em}.secure-badge{display:inline-flex;align-items:center;gap:5px;padding:6px 8px;border:1px solid #e8e2d3;border-radius:999px;color:#6d6754;font-size:10px;white-space:nowrap}.secure-badge svg{width:12px;height:12px;color:#8b751f}h2{margin:0;font-size:32px;line-height:1.12;letter-spacing:-.04em}.card-copy{margin:12px 0 26px;color:var(--muted);font-size:13px;line-height:1.65}.field{margin-bottom:18px}label{display:block;margin-bottom:8px;font-size:12px;line-height:1.5;font-weight:700}.input-wrap{position:relative}input[type=text],input[type=password]{width:100%;height:52px;padding:0 48px 0 14px;border:1px solid #dcd7c7;border-radius:10px;background:#fffefa;color:var(--ink);font-size:16px;transition:border-color .2s,box-shadow .2s}input::placeholder{color:#8a8578;font-size:13px}input:focus{outline:none;border-color:#b58c18;box-shadow:0 0 0 3px #c99b1626}.field-icon{position:absolute;right:16px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:#8c826b;pointer-events:none}.password-toggle{position:absolute;top:50%;right:4px;transform:translateY(-50%);width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:7px;background:transparent;color:#766d58;cursor:pointer}.password-toggle:hover{background:#f7f1df}.password-toggle svg{width:18px;height:18px}.form-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 18px}.remember{display:flex;align-items:center;gap:7px;min-height:44px;margin:0;font-size:11px;font-weight:500;color:#645f53;cursor:pointer}.remember input{accent-color:#a77f10;width:16px;height:16px;margin:0}.text-button{min-height:44px;border:0;background:none;color:#80600a;font-size:11px;font-weight:700;cursor:pointer;padding:4px 0}.text-button:hover{text-decoration:underline}.submit{width:100%;min-height:52px;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid #c8a02b;border-radius:10px;background:linear-gradient(100deg,#ecd47b,#d8ae30 58%,#c59612);color:#282319;font-size:14px;font-weight:800;cursor:pointer;box-shadow:0 7px 18px #ae840d24;transition:transform .2s,box-shadow .2s}.submit:hover{transform:translateY(-2px);box-shadow:0 10px 22px #ae840d35}.submit svg{width:17px;height:17px}.divider{display:flex;align-items:center;gap:12px;margin:23px 0 18px;font-size:9px;letter-spacing:.08em;color:#797362}.divider:before,.divider:after{content:"";height:1px;flex:1;background:var(--line)}.help-box{display:flex;align-items:center;gap:10px;padding:13px;border:1px solid #eee8d9;border-radius:11px;background:#fcfaf4}.help-icon{flex:0 0 32px;height:32px;display:grid;place-items:center;border-radius:9px;background:#f6edcf;color:#8c6d0d}.help-icon svg{width:17px;height:17px}.help-box p{margin:0;font-size:11px;line-height:1.6;color:#6c6556}.help-box b{display:block;color:#3c392f;font-size:12px}.help-box a{font-weight:700;color:#80600a;text-decoration:none}.app-shortcut{display:flex;align-items:center;justify-content:center;text-align:center;gap:5px;min-height:44px;margin-top:12px;color:#80600a;font-size:11px;font-weight:650;text-decoration:none;line-height:1.5}.app-shortcut:hover{text-decoration:underline}.demo-note{margin:8px 0 0;text-align:center;font-size:10px;line-height:1.5;color:#817a6a}.toast{position:fixed;z-index:10;left:50%;bottom:20px;width:min(440px,calc(100% - 32px));display:flex;align-items:flex-start;gap:10px;padding:16px;border:1px solid #ecd8858c;border-radius:12px;background:#26251f;color:#fffdf6;box-shadow:0 16px 42px #1917113d;font-size:12px;line-height:1.6;opacity:0;transform:translate(-50%,18px);pointer-events:none;transition:opacity .2s,transform .2s}.toast.show{opacity:1;transform:translate(-50%,0)}.toast svg{width:17px;height:17px;margin-top:2px;color:#efcf60}footer{border-top:1px solid var(--line);font-size:11px;color:#756f60}footer .page{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:16px}.footer-links{display:flex;gap:18px}footer a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}footer a:hover{text-decoration:underline}
@media(max-width:1100px){main.page{gap:28px;grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr)}.login-card{padding:28px}.app-banner{grid-template-columns:minmax(0,1fr) 90px;grid-template-areas:"copy art" "stores stores";gap:16px;padding:20px}.app-art{width:90px}.store-links{grid-column:1/-1}.portal-benefits{gap:16px}.app-banner h2{font-size:25px}}
@media(max-width:860px){.page{width:min(680px,calc(100% - 40px))}main.page{grid-template-columns:minmax(0,1fr);gap:28px;padding-block:30px}.login-wrap{width:100%}.login-card{padding:32px}.app-banner{grid-template-columns:minmax(0,1fr) 110px;grid-template-areas:"copy art" "stores art";gap:18px 24px;padding:24px}.store-links{grid-column:auto}.app-art{width:110px}h1{font-size:48px}.intro-copy{max-width:100%}}
@media(max-width:560px){.page{width:calc(100% - 32px)}.topline{height:30px;font-size:8px}.support-top{display:none}header{height:70px}.brand img{width:138px;height:54px}.secure-top{font-size:10px;gap:6px}.secure-top svg{width:14px;height:14px}main.page{padding-block:26px;gap:24px}.eyebrow{font-size:9px;letter-spacing:.1em;margin-bottom:14px}h1{font-size:clamp(34px,9.6vw,46px);line-height:1.1;letter-spacing:-.05em}.intro-copy{font-size:13px;margin-top:14px}.portal-benefits{gap:17px 14px}.portal-benefits li{gap:8px}.benefit-icon{flex-basis:28px;height:28px}.benefit-icon svg{width:15px;height:15px}.portal-benefits h3{font-size:11px}.portal-benefits p{font-size:11px}.app-section{margin-top:24px}.app-banner{grid-template-columns:minmax(0,1fr) 76px;grid-template-areas:"copy art" "stores stores";gap:18px 14px;padding:20px 16px}.app-banner .eyebrow{font-size:8px;gap:6px;letter-spacing:.07em}.app-banner .eyebrow:before{width:12px}.app-banner h2{font-size:23px}.app-copy>p:not(.eyebrow){font-size:11px;line-height:1.65}.app-art{width:76px;min-height:190px;transform:scale(.75);transform-origin:center}.store-links{grid-area:stores;grid-column:1/-1;gap:8px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.store-button{min-width:0;justify-content:center;padding:8px;gap:6px}.store-button b{font-size:15px}.store-button small{font-size:7px}.store-button svg{width:19px;height:23px}.login-card{padding:26px 20px;border-radius:18px}.card-kicker{gap:10px;margin-bottom:22px}.card-kicker .eyebrow{font-size:8px}.secure-badge{font-size:9px;padding:5px 7px}h2{font-size:30px}.card-copy{font-size:12px;margin-bottom:23px}.help-box p{font-size:10px}.app-shortcut{font-size:10px}footer .page{flex-wrap:wrap;justify-content:center;gap:0;padding-block:10px;text-align:center}footer .page>span{width:100%;font-size:10px}.footer-links{gap:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}


/* Brand motion: decorative layers never intercept controls or affect layout. */
body{background:#faf7ef;isolation:isolate}
.ambient{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 8% 18%,#f8e6a24d,transparent 52%),radial-gradient(ellipse at 90% 76%,#e9d7a142,transparent 45%)}
.ambient:before{content:"";position:absolute;width:55vw;height:55vw;right:-22vw;top:8vh;border-radius:50%;background:radial-gradient(circle,#eacb6538,transparent 68%);animation:ambient-drift 18s ease-in-out infinite alternate}
.ambient svg{position:absolute;right:-5%;top:0;width:68%;height:100%;opacity:.42}
.ambient path{fill:none;stroke:#b8953440;stroke-width:1}
.ambient .signal{stroke:#c49b28;stroke-width:2;stroke-dasharray:12 950;animation:signal-flow 14s linear infinite}
header{background:#fffdf4ad;backdrop-filter:blur(14px);border-bottom-color:#d9c58d66}
.secure-top{border:1px solid #dac99699;background:#fffdf8;padding:9px 12px;border-radius:999px;box-shadow:0 3px 12px #7b641309}
.secure-top:after{content:"";width:6px;height:6px;border-radius:50%;background:#b79229;box-shadow:0 0 0 4px #d9b34215}
main.page{position:relative;padding-block:38px}
h1 span{background:linear-gradient(110deg,#a9800c 15%,#d4af36 40%,#92700a 65%,#c6a02b 90%);background-size:220% 100%;color:#b68a0e;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:gold-shift 10s ease-in-out infinite alternate}
.intro>.eyebrow,.intro>h1,.intro>.intro-copy,.benefits-title,.portal-benefits,.app-section,.login-wrap{animation:entrance .75s ease-out both}
.intro>h1{animation-delay:.07s}.intro>.intro-copy{animation-delay:.12s}.benefits-title,.portal-benefits{animation-delay:.18s}.app-section{animation-delay:.24s}.login-wrap{animation-delay:.12s}
.portal-benefits{gap:12px}
.portal-benefits li{padding:12px 11px;border:1px solid #e5d9b780;border-radius:12px;background:linear-gradient(135deg,#fffefad9,#fffdf590);box-shadow:0 3px 8px #69511704;transition:transform .25s,border-color .25s,box-shadow .25s}
.portal-benefits li:hover{transform:translateY(-3px);border-color:#c4a34599;box-shadow:0 8px 20px #6951170d}
.benefit-icon{background:linear-gradient(145deg,#fff5cd,#eddb9e);box-shadow:inset 0 1px 0 #fff9e8,0 3px 8px #80620a0a;transition:transform .25s}
.portal-benefits li:hover .benefit-icon{transform:rotate(-6deg)}
.app-banner{position:relative;isolation:isolate;background:linear-gradient(130deg,#282a24,#24251f 60%,#383527);border-color:#a28a45;border-radius:19px;box-shadow:0 14px 28px #332d171a;color:#fff8e4;overflow:hidden}
.app-banner:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 100% 40%,#d9b84926,transparent 55%),linear-gradient(115deg,transparent 15%,#eacb5a08 45%,transparent 65%);background-size:100% 100%,230% 100%;animation:gold-shift 14s ease-in-out infinite alternate}
.app-banner .eyebrow{color:#e7c76f}.app-banner h2{color:#fff9e9}.app-copy>p:not(.eyebrow){color:#d3cdbb}
.store-button{background:#11130f;border-color:#b29a5b66;box-shadow:0 5px 12px #0002}.store-button:hover{background:#39372c;border-color:#d7b656;box-shadow:0 7px 18px #0003}
.app-art{isolation:isolate}.app-art:before,.app-art:after{content:"";position:absolute;inset:15px -20px;border:1px solid #e5c66f2b;border-radius:50%;transform:rotate(-17deg);z-index:-1}
.app-art:after{inset:35px -37px;transform:rotate(20deg);border-style:dashed;animation:orbit-breathe 8s ease-in-out infinite alternate}
.phone{box-shadow:0 17px 22px #0005,0 0 28px #dfb94d15;color:#22211e;transform-origin:50% 60%}
.phone-logo{box-shadow:0 4px 10px #bd8c1029;background:linear-gradient(145deg,#ffe888,#efbd26)}
.spark{color:#e2bd53;animation:sparkle 4s ease-in-out infinite}.spark-two{animation-delay:-2s}
.login-card{background:linear-gradient(145deg,#ffffff,#fffdf7);border-color:#d9c68b9c;box-shadow:0 24px 65px #5e4c1114,0 2px 6px #5e4c1108}
.login-card:before{height:3px;background:linear-gradient(90deg,#e9dca7,#c19a26,#fff5c0,#c19a26,#e9dca7);background-size:220% 100%;animation:gold-shift 7s linear infinite alternate}
.input-wrap{transition:transform .2s}.input-wrap:focus-within{transform:translateY(-1px)}
input[type=text]:focus,input[type=password]:focus{background:#fffdf6;box-shadow:0 0 0 3px #c99b1620,0 5px 15px #92700a0a}
.submit{position:relative;overflow:hidden;isolation:isolate}
.submit:before{content:"";position:absolute;inset:-100% -40%;background:linear-gradient(110deg,transparent 40%,#fff7ce66 49%,transparent 58%);transform:translateX(-100%);animation:button-sheen 7s ease-in-out infinite;pointer-events:none}
.submit svg{transition:transform .2s}.submit:hover svg{transform:translateX(3px)}
footer{background:#fffdf366}
@keyframes entrance{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes ambient-drift{from{transform:translate3d(0,-3%,0)}to{transform:translate3d(-8%,6%,0)}}
@keyframes signal-flow{to{stroke-dashoffset:-962}}
@keyframes gold-shift{from{background-position:0% 50%}to{background-position:100% 50%}}
@keyframes button-sheen{0%,60%{transform:translateX(-100%)}90%,100%{transform:translateX(100%)}}
@keyframes orbit-breathe{from{transform:rotate(20deg) scale(.96);opacity:.5}to{transform:rotate(30deg) scale(1.03);opacity:1}}
@keyframes sparkle{0%,100%{opacity:.45;transform:scale(.85)}50%{opacity:1;transform:scale(1.1)}}
@media(max-width:560px){main.page{padding-block:26px}.secure-top{padding:7px 9px}.secure-top:after{display:none}.portal-benefits{gap:10px}.portal-benefits li{padding:10px 8px;gap:7px}.portal-benefits h3{font-size:11px}.benefit-icon{flex-basis:25px;height:25px}.app-banner{padding:22px 16px}.ambient svg{width:100%;opacity:.2}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}


/* Compact desktop composition: full content fits typical laptop viewports. */
@media(min-width:861px){
 body{min-height:100svh;display:flex;flex-direction:column}
 header{height:62px;flex-shrink:0}.brand img{width:146px;height:54px}
 main.page{flex:1;align-content:center;align-items:stretch;padding-block:14px;gap:36px}
 .intro>.eyebrow{margin-bottom:10px;font-size:9px}
 h1{font-size:clamp(38px,3.5vw,47px)}
 .intro-copy{font-size:13px;line-height:1.6;margin-top:12px}
 .benefits-title{margin:14px 0 9px;font-size:12px}
 .portal-benefits{gap:8px}.portal-benefits li{padding:11px;gap:9px}
 .portal-benefits h3{font-size:12px;margin-bottom:3px}.portal-benefits p{font-size:11px;line-height:1.45}
 .benefit-icon{flex-basis:28px;height:28px}
 .app-section{margin-top:18px}.app-banner{padding:16px 20px;grid-template-columns:minmax(0,1fr) 90px;grid-template-areas:"copy art" "stores art";gap:10px 16px}
 .app-banner .eyebrow{font-size:8px;margin-bottom:6px}.app-banner h2{font-size:25px}.app-copy>p:not(.eyebrow){font-size:11px;line-height:1.5;margin-top:7px}
 .app-art{width:90px;height:160px;min-height:160px}.app-art .phone{position:absolute;scale:.8}.spark-one{top:0}.spark-two{bottom:0}
 .store-links{grid-column:auto;gap:8px}.store-button{height:42px;min-width:120px;padding:6px 9px}.store-button b{font-size:15px}.store-button svg{width:19px;height:22px}
 .login-card{padding:28px 30px}.card-kicker{margin-bottom:16px}h2{font-size:29px}.card-copy{margin:9px 0 17px;font-size:12px;line-height:1.5}
 .field{margin-bottom:12px}label{margin-bottom:6px;font-size:11px}input[type=text],input[type=password]{height:50px}
 .form-row{margin-bottom:10px}.remember,.text-button{min-height:32px}.submit{min-height:46px}
 .divider{margin:15px 0 11px}.help-box{padding:10px}.help-box p{font-size:10px}.help-box b{font-size:11px}
 .app-shortcut{min-height:30px;margin-top:8px;font-size:10px}.demo-note{margin-top:4px;font-size:9px}
 footer{flex-shrink:0}footer .page{min-height:38px;font-size:10px}footer a{min-height:36px}
}
@media(min-width:861px) and (max-height:720px){
 header{height:54px}.brand img{height:46px;width:132px}main.page{padding-block:12px;gap:28px}
 h1{font-size:36px}.intro>.eyebrow{margin-bottom:6px}.intro-copy{margin-top:8px;font-size:12px}
 .benefits-title{margin-top:10px}.portal-benefits h3{font-size:11px}.portal-benefits p{font-size:10px}.portal-benefits li{padding:8px 9px}.portal-benefits{gap:6px}
 .app-section{margin-top:10px}.app-banner{padding:12px 16px;gap:8px 14px}.app-art{height:145px;min-height:145px}.app-art .phone{scale:.72}
 .app-banner h2{font-size:20px}.app-banner .eyebrow{margin-bottom:5px}.app-copy>p:not(.eyebrow){margin-top:5px;font-size:10px}
 .login-card{padding:14px 24px}.card-kicker{margin-bottom:8px}.card-copy{margin-bottom:12px}
 input[type=text],input[type=password]{height:46px}.field{margin-bottom:8px}.divider{margin:9px 0 7px}.help-box{padding:8px}
}


/* Slim glass sign-in panel with restrained motion. */
@media(min-width:861px){
 main.page{grid-template-columns:minmax(0,1fr) minmax(340px,420px);gap:46px}
 .login-card{padding-inline:26px}
}
.login-card{background:linear-gradient(140deg,#ffffffa8,#fffaf16b);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid #ffffffd9;box-shadow:0 18px 50px #6b53151a,inset 0 0 0 1px #d8bd6833;animation:glass-glow 7s ease-in-out infinite}
.login-card:before{height:3px;background-size:300% 100%;animation:gold-shift 4s ease-in-out infinite alternate}
.login-card:after{content:"";position:absolute;width:170px;height:170px;right:-115px;top:20%;border-radius:50%;background:radial-gradient(circle,#e7c76642,transparent 70%);pointer-events:none;z-index:-1;animation:glass-light 10s ease-in-out infinite alternate}
.login-card input[type=text],.login-card input[type=password]{background:#fffef9b8;border-color:#cfc4a18c}
.help-box{background:#fffdf68c;border-color:#dacfaa66}
.secure-badge{background:#fffdf582}
.secure-top:after{animation:status-halo 3.5s ease-out infinite}
.portal-benefits li{transition:transform .35s,border-color .35s,box-shadow .35s,background .35s}
.portal-benefits li:hover{transform:translateY(-4px);background:#fffdf5;box-shadow:0 10px 24px #9e7d161a}
.app-art:before{animation:orbit-ring 12s ease-in-out infinite alternate}
.app-art:after{animation:orbit-ring 15s ease-in-out infinite alternate-reverse}
.store-button:hover{transform:translateY(-3px) scale(1.025)}
.submit:before{animation:button-sheen 5s ease-in-out infinite}
@keyframes glass-glow{0%,100%{box-shadow:0 18px 50px #6b531514,inset 0 0 0 1px #d8bd6833}50%{box-shadow:0 20px 55px #b28b2128,inset 0 0 0 1px #d8bd6866}}
@keyframes glass-light{from{transform:translateY(-55px);opacity:.35}to{transform:translateY(180px);opacity:.8}}
@keyframes status-halo{0%{box-shadow:0 0 0 0 #c49a3040}80%,100%{box-shadow:0 0 0 7px #c49a3000}}
@keyframes orbit-ring{from{transform:rotate(-17deg) scale(.96);opacity:.45}to{transform:rotate(25deg) scale(1.04);opacity:.9}}
@media(max-width:1100px) and (min-width:861px){main.page{grid-template-columns:minmax(0,1fr) 350px;gap:28px}.login-card{padding-inline:22px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}


/* More breathing room between content groups. */
@media(min-width:861px){
 .intro-copy{margin-top:16px}
 .benefits-title{margin-top:20px;margin-bottom:12px}
 .portal-benefits{gap:12px}
 .app-section{margin-top:24px}
 .app-banner{padding-block:14px}
 .card-kicker{margin-bottom:20px}
 .card-copy{margin-bottom:22px}
 .field{margin-bottom:16px}
 .form-row{margin-bottom:14px}
 .divider{margin-top:20px;margin-bottom:14px}
 .app-shortcut{margin-top:12px}
 .login-card{padding-block:20px}
}
@media(min-width:861px) and (max-height:800px){
 h1{font-size:42px}
 .portal-benefits li{padding-block:9px}
 .app-banner{padding-block:12px}
 .app-art{height:145px;min-height:145px}
 .card-kicker{margin-bottom:17px}.card-copy{margin-bottom:18px}
}
@media(min-width:861px) and (max-height:720px){
 h1{font-size:36px}.intro-copy{margin-top:10px}
 .benefits-title{margin-top:14px;margin-bottom:10px}
 .portal-benefits{gap:9px}.portal-benefits li{padding-block:7px}
 .app-section{margin-top:16px}
 .login-card{padding-block:14px}.card-kicker{margin-bottom:12px}
 .card-copy{margin-bottom:14px}.field{margin-bottom:10px}
 .form-row{margin-bottom:10px}.divider{margin:12px 0 10px}
 .app-shortcut{margin-top:10px}
}
@media(max-width:860px){
 main.page{gap:34px}.benefits-title{margin-top:28px;margin-bottom:18px}
 .portal-benefits{gap:14px}.app-section{margin-top:30px}
 .card-copy{margin-bottom:28px}.field{margin-bottom:22px}
}


/* Frosted glass sign-in surface. */
.login-wrap{position:relative;isolation:isolate}
.login-wrap:before{content:"";position:absolute;inset:6% -12px;z-index:-1;border-radius:45%;pointer-events:none;background:radial-gradient(ellipse at 12% 30%,#d6e3e54d,transparent 52%),radial-gradient(ellipse at 90% 75%,#ffffffcc,transparent 55%);filter:blur(18px)}
.login-card{background:linear-gradient(130deg,#ffffff75,#ffffff30 55%,#ffffff60);backdrop-filter:blur(26px) saturate(115%);-webkit-backdrop-filter:blur(26px) saturate(115%);border:1px solid #ffffffdf;box-shadow:0 18px 48px #363b4114,inset 1px 1px 0 #ffffffef,inset -1px -1px 0 #ffffff80;animation:none}
.login-card:after{inset:0;width:auto;height:auto;z-index:-1;border-radius:inherit;background:linear-gradient(125deg,#ffffff40,transparent 32%,transparent 70%,#ffffff30);animation:none;pointer-events:none}
.login-card input[type=text],.login-card input[type=password]{background:#ffffff70;border:1px solid #ffffffdd;box-shadow:inset 0 1px 3px #22222208}
.login-card input:focus{background:#ffffffad;border-color:#b58c18}
.login-card .help-box{background:#ffffff3d;border-color:#ffffffa6}
.login-card .secure-badge{background:#ffffff59;border-color:#ffffffb3}
.ambient{background:radial-gradient(ellipse at 8% 18%,#f8e6a24d,transparent 52%)}.ambient:before{display:none}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.login-card{background:#fffdf1ed}}


/* Gold perimeter highlight and coordinated champagne app panel. */
@property --border-angle{syntax:"<angle>";initial-value:0deg;inherits:false}
.login-card:before{inset:0;height:auto;width:auto;border-radius:inherit;padding:1.5px;background:conic-gradient(from var(--border-angle),#c4a44c55 0%,#c4a44c55 20%,#fff8d7 28%,#ba8b14 36%,#c4a44c55 46%,#c4a44c55 70%,#fff8d7 78%,#ba8b14 86%,#c4a44c55 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:2;animation:border-travel 9s linear infinite}
.login-card{border-color:#d2b86b77;transition:box-shadow .3s}
.login-card:hover{box-shadow:0 20px 48px #6b55151c,inset 1px 1px 0 #ffffffef}
.app-banner{background:linear-gradient(125deg,#fffdf3 0%,#f5edcf 55%,#eadba8 100%);border-color:#d8bf72;color:#302c20;box-shadow:0 12px 28px #78602212,inset 0 1px 0 #fffdf5}
.app-banner:before{background:radial-gradient(ellipse at 100% 40%,#d9b84922,transparent 55%),linear-gradient(115deg,transparent 15%,#ffffff55 45%,transparent 65%);background-size:100% 100%,230% 100%}
.app-banner .eyebrow{color:#82630d}.app-banner h2{color:#29271f}.app-copy>p:not(.eyebrow){color:#68604a}
.app-art:before,.app-art:after{border-color:#a6893740}.spark{color:#a58124}
.phone{box-shadow:0 12px 22px #77602430,0 0 20px #fff8df88}
@keyframes border-travel{to{--border-angle:360deg}}
@media(prefers-reduced-motion:reduce){.login-card:before{animation:none}}


.phone{padding:0;overflow:hidden;background:#fff}
.phone-screen{display:block;width:100%;height:100%;object-fit:contain;object-position:center;background:#fff}
.phone-notch{z-index:1;top:3px;width:28px;height:3px}


/* Synnefo client portal integration: validation messages, visitor IP. */
.errorMessage{margin:7px 0 0;font-size:11px;line-height:1.5;font-weight:600;color:#b3261e}
.login-card input.error,.login-card input[type=text].error,.login-card input[type=password].error{border-color:#d3302f;box-shadow:0 0 0 3px #d3302f1f}
.errorSummary{margin:0 0 16px;padding:11px 13px;border:1px solid #f0c3c0;border-radius:10px;background:#fdf1f0;color:#8c1d18;font-size:11px;line-height:1.6}
.errorSummary p{margin:0 0 4px;font-weight:700}
.errorSummary ul{margin:0;padding-left:16px}
.visitor-ip{font-size:11px;line-height:1.5;color:#645f53}
.visitor-ip strong{color:#b3261e}

