:root{--ink:#15313a;--teal:#1d7183;--teal-dark:#155767;--paper:#fbfaf7;--muted:#7c898d;--line:#dfe5e3;--serif:'Italiana',serif;--sans:'DM Sans',sans-serif}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:var(--sans);color:var(--ink)}button,input{font:inherit}.login-page{background:#e8efed}.auth-shell{width:100%;min-height:100vh;display:grid;grid-template-columns:minmax(480px,1.08fr) minmax(520px,.92fr);background:var(--paper)}.visual-panel{min-height:100vh;position:relative;overflow:hidden;color:#fff;padding:48px 54px;display:flex;flex-direction:column;justify-content:space-between}.visual-video,.visual-overlay{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.visual-video{background:#173c46}.visual-overlay{background:linear-gradient(180deg,rgba(6,30,37,.3),rgba(7,33,40,.12) 38%,rgba(4,25,31,.86));z-index:1}.visual-top,.visual-copy,.visual-footer{position:relative;z-index:2}.visual-top{display:flex;justify-content:space-between;align-items:center}.eyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--teal)}.eyebrow.light{color:#d9eeec}.sound-pill{border:1px solid rgba(255,255,255,.35);color:#fff;background:rgba(9,30,36,.26);border-radius:40px;padding:9px 13px;font-size:11px;letter-spacing:.05em}.sound-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#d8b792;margin-right:5px}.visual-copy{max-width:650px;margin-top:auto;margin-bottom:60px}.script-line{font-family:var(--serif);font-style:italic;font-size:21px;margin:0 0 12px;color:#e9d5c0}.visual-copy h1{font:400 clamp(45px,5vw,76px)/.98 var(--serif);letter-spacing:-.03em;margin:0 0 25px}.visual-copy>p:last-child{max-width:510px;font-size:15px;line-height:1.7;color:rgba(255,255,255,.78)}.visual-footer{border-top:1px solid rgba(255,255,255,.25);padding-top:24px;display:flex;align-items:center;gap:14px}.visual-footer p{font-size:12px;color:rgba(255,255,255,.7);margin:0}.visual-footer strong{color:#fff}.faces{display:flex}.faces span{width:30px;height:30px;margin-left:-7px;border:2px solid rgba(255,255,255,.8);border-radius:50%;background:#b58976;display:grid;place-items:center;font-size:10px}.faces span:first-child{margin-left:0;background:#799ca1}.faces span:last-child{background:#bd9c73}.form-panel{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:55px clamp(40px,7vw,110px);position:relative}.form-panel:before{content:'';position:absolute;right:7%;top:8%;width:90px;height:90px;border:1px solid rgba(29,113,131,.12);border-radius:50%}.form-wrap{width:100%;max-width:480px}.brand-logo{width:190px;height:auto;display:block;margin:0 0 68px;object-fit:contain}.welcome h2{font:400 43px/1.1 var(--serif);letter-spacing:-.02em;margin:10px 0 12px}.welcome p{color:var(--muted);font-size:14px;line-height:1.6;margin:0 0 32px}.login-form label{display:block;font-size:12px;font-weight:700;margin-bottom:9px}.label-row{display:flex;align-items:center;justify-content:space-between;margin-top:21px}.label-row label{margin:0}.label-row a{font-size:11px;color:var(--teal);text-decoration:none;font-weight:600}.input-wrap{height:54px;border:1px solid var(--line);background:#fff;border-radius:8px;display:flex;align-items:center;padding:0 15px;transition:.2s}.input-wrap:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px rgba(29,113,131,.09)}.input-wrap>svg{width:18px;fill:none;stroke:#94a1a3;stroke-width:1.5}.input-wrap input{border:0;outline:0;width:100%;height:100%;background:transparent;padding:0 12px;color:var(--ink);font-size:13px}.input-wrap input::placeholder{color:#a8b1b1}.toggle-password{border:0;background:transparent;padding:7px;cursor:pointer;display:grid}.toggle-password svg{width:18px;fill:none;stroke:#94a1a3;stroke-width:1.5}.toggle-password.visible svg{stroke:var(--teal)}.remember{display:flex!important;align-items:center;gap:9px;margin:18px 0 25px;font-weight:500!important;color:#69777a}.remember input{position:absolute;opacity:0}.remember span{width:17px;height:17px;border:1px solid #ccd5d4;border-radius:4px;background:#fff}.remember input:checked+span{background:var(--teal);box-shadow:inset 0 0 0 4px #fff}.primary-button{width:100%;height:55px;border:0;border-radius:8px;color:#fff;background:linear-gradient(135deg,var(--teal),var(--teal-dark));font-weight:700;font-size:13px;cursor:pointer;box-shadow:0 12px 25px rgba(19,88,102,.18);transition:.2s}.primary-button:hover{transform:translateY(-2px);box-shadow:0 15px 30px rgba(19,88,102,.25)}.primary-button span{float:right;font-size:20px;margin-right:8px;line-height:15px}.alert{padding:12px 14px;margin:-16px 0 22px;border-radius:7px;background:#fff1ee;color:#a34e3e;font-size:12px;border:1px solid #f0d1ca}.demo-access{text-align:center;font-size:11px;color:#98a3a4;margin:22px 0}.form-wrap footer{text-align:center;font-size:10px;color:#a2acad;margin-top:43px}.dashboard-page{margin:0;background:#f3f5f3;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:245px;background:#fff;border-right:1px solid #e5e9e7;padding:35px 24px;display:flex;flex-direction:column}.sidebar-logo{width:130px;margin:0 8px 50px}.sidebar nav,.sidebar-bottom{display:grid;gap:6px}.sidebar a{padding:12px 13px;border-radius:8px;text-decoration:none;color:#738084;font-size:13px;font-weight:600}.sidebar a span{display:inline-block;width:28px;color:#91a0a2}.sidebar a:hover,.sidebar a.active{background:#eaf2f1;color:var(--teal)}.sidebar-bottom{margin-top:auto}.dashboard-main{margin-left:245px;padding:35px 48px 60px;max-width:1600px}.dash-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.dash-header h1{font:400 35px var(--serif);margin:7px 0}.dash-header h1 em{font-size:22px;color:#bd806f}.profile{display:flex;align-items:center;gap:10px}.profile button{border:1px solid #dfe6e4;background:#fff;border-radius:50%;width:40px;height:40px;color:#67777a;position:relative}.profile button i{position:absolute;width:6px;height:6px;background:#c47d68;border-radius:50%;right:5px;top:4px}.profile>span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#1a6675;color:#fff;font-size:12px;font-weight:700}.hero-card{min-height:270px;border-radius:16px;padding:42px 50px;color:#fff;background:linear-gradient(120deg,#123d48,#246e7b);position:relative;overflow:hidden;display:flex;justify-content:space-between}.hero-card:after{content:'';position:absolute;width:300px;height:300px;border-radius:50%;border:1px solid rgba(255,255,255,.12);right:12%;top:-100px}.hero-card h2{font:400 39px/1.05 var(--serif);margin:12px 0}.hero-card p{font-size:13px;color:#bfd2d2}.hero-card button{margin-top:18px;border:0;background:#fff;color:#175967;border-radius:7px;padding:12px 18px;font-size:12px;font-weight:700}.hero-orb{align-self:center;width:170px;height:170px;border-radius:50%;margin-right:50px;background:radial-gradient(circle at 35% 30%,#ead1bd,#b97a68 60%,#6d4942);display:grid;place-items:center;box-shadow:0 25px 55px rgba(0,0,0,.22);position:relative;z-index:1}.hero-orb span{font:italic 40px var(--serif);color:#fff}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:22px 0}.stats article{background:#fff;border:1px solid #e5e9e7;border-radius:12px;padding:24px;display:flex;gap:18px}.stat-icon{width:45px;height:45px;border-radius:10px;display:grid;place-items:center}.stat-icon.blue{background:#e5f0f1;color:#287082}.stat-icon.blush{background:#f5e8e4;color:#b36e5e}.stat-icon.gold{background:#f4eddf;color:#a68042}.stats p{font-size:11px;color:#7c888a;margin:0}.stats strong{font:400 29px var(--serif);display:inline-block;margin:5px 10px 3px 0}.stats small{font-size:9px;color:#588f74}.recent{background:#fff;border:1px solid #e5e9e7;border-radius:13px;padding:27px}.section-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:18px}.section-title h2{font:400 27px var(--serif);margin:6px 0}.section-title a{color:var(--teal);text-decoration:none;font-size:11px;font-weight:700}.event-list article{display:flex;align-items:center;padding:17px 0;border-top:1px solid #edf0ef;gap:18px}.event-date{width:52px;height:55px;border-radius:8px;background:#e7f0f1;display:grid;place-items:center;padding:6px;color:var(--teal)}.event-date.rose{background:#f4e7e3;color:#ac6959}.event-date strong{font:400 21px var(--serif);line-height:1}.event-date span{font-size:8px;font-weight:700}.event-info{flex:1}.event-type{font-size:8px;letter-spacing:.12em;color:#9aa5a6;font-weight:700}.event-info h3{font:400 18px var(--serif);margin:3px 0}.event-info p{font-size:10px;color:#909b9c;margin:0}.progress{width:150px}.progress>span{display:block;height:5px;border-radius:5px;background:#edf1f0}.progress i{display:block;height:100%;border-radius:5px;background:var(--teal)}.progress small{font-size:9px;color:#899697}.event-list article>button{border:0;background:transparent;color:#95a0a1}.dashboard-page:before{content:'';display:none}
@media(max-width:980px){.auth-shell{grid-template-columns:1fr}.visual-panel{min-height:42vh;padding:30px}.visual-copy{margin:70px 0 10px}.visual-copy h1{font-size:46px}.visual-footer{display:none}.form-panel{min-height:58vh;padding:45px 28px}.brand-logo{margin-bottom:35px}.sidebar{width:76px;padding:30px 11px}.sidebar-logo{width:52px;object-fit:cover;object-position:left;margin:0 0 45px}.sidebar a{font-size:0;text-align:center}.sidebar a span{font-size:17px;width:auto}.dashboard-main{margin-left:76px;padding:30px}.hero-orb{margin-right:10px}.stats{grid-template-columns:1fr}}
@media(max-width:600px){.visual-panel{min-height:38vh}.visual-top .eyebrow,.sound-pill,.script-line{display:none}.visual-copy{margin-top:auto}.visual-copy h1{font-size:39px}.visual-copy>p:last-child{font-size:12px}.form-panel{align-items:flex-start}.brand-logo{width:155px}.welcome h2{font-size:34px}.sidebar{position:static;width:100%;height:66px;padding:12px 20px;display:flex;flex-direction:row}.sidebar-logo{width:75px;margin:0}.sidebar nav{display:flex;margin-left:auto}.sidebar nav a:not(.active),.sidebar-bottom{display:none}.dashboard-main{margin:0;padding:22px 16px}.dash-header{margin-top:15px}.hero-card{padding:30px 25px}.hero-card h2{font-size:31px}.hero-orb{display:none}.stats{grid-template-columns:1fr}.progress{display:none}}

/* Public website */
.landing-page{background:#faf8f4;color:var(--ink)}.public-header{height:88px;padding:0 clamp(24px,5vw,78px);display:flex;align-items:center;gap:45px;background:rgba(250,248,244,.96);position:absolute;top:0;left:0;right:0;z-index:20;border-bottom:1px solid rgba(255,255,255,.15)}.public-brand img{display:block;width:126px}.public-nav{display:flex;gap:30px;margin-left:auto}.public-nav a,.login-link{color:#fff;text-decoration:none;font-size:11px;font-weight:600;letter-spacing:.02em}.header-actions{display:flex;align-items:center;gap:22px}.small-cta,.light-button,.dark-button{display:inline-flex;align-items:center;gap:28px;text-decoration:none;border-radius:7px;padding:13px 18px;font-size:11px;font-weight:700;transition:.2s}.small-cta{color:var(--teal)!important;background:#fff}.small-cta:hover,.light-button:hover,.dark-button:hover{transform:translateY(-2px)}.mobile-menu{display:none}.landing-hero{min-height:850px;position:relative;overflow:hidden;padding:180px clamp(30px,7vw,110px) 90px;color:#fff;display:flex;align-items:center;background:radial-gradient(circle at 82% 18%,rgba(219,176,151,.42),transparent 27%),linear-gradient(118deg,#082f3a 0%,#185b68 58%,#6e8f8d 100%)}.landing-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,30,37,.35),transparent 60%);pointer-events:none}.hero-grain{position:absolute;inset:0;opacity:.18;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.25'/%3E%3C/svg%3E")}.landing-hero-copy{max-width:700px;position:relative;z-index:2}.landing-hero h1{font:400 clamp(54px,6.2vw,92px)/.94 var(--serif);letter-spacing:-.045em;margin:22px 0 30px}.landing-hero h1 em,.intro-section h2 em,.section-heading h2 em,.closing-cta h2 em,.register-brand h1 em{font-weight:400;color:#e2b99d}.landing-hero-copy>p{max-width:550px;color:rgba(255,255,255,.75);font-size:15px;line-height:1.75}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:35px}.light-button{background:#fff;color:var(--teal)}.text-button{font-size:11px;font-weight:700;color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.4);padding:10px 0}.hero-proof{display:flex;align-items:center;gap:14px;margin-top:70px}.hero-proof p{margin:0;font-size:10px;line-height:1.6;color:rgba(255,255,255,.65)}.hero-proof strong{color:#fff}.hero-showcase{position:absolute;z-index:2;right:clamp(20px,7vw,100px);top:145px;width:37%;height:620px}.phone-card{position:absolute;width:255px;height:510px;border:7px solid rgba(255,255,255,.8);border-radius:25px;box-shadow:0 35px 70px rgba(0,0,0,.35);text-align:center;overflow:hidden}.phone-card:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 25%,rgba(255,245,225,.9),transparent 35%),linear-gradient(180deg,#b29078,#674a42);z-index:-1}.phone-card.front{right:8%;top:28px;padding:105px 20px 30px;display:flex;flex-direction:column;align-items:center}.phone-card.front small{font-size:7px;letter-spacing:.25em}.phone-card.front strong{font:400 41px/1 var(--serif);margin:18px 0}.phone-card.front strong i{font-size:23px;color:#e8c7ae}.phone-card.front>span{font-size:9px;letter-spacing:.2em}.phone-card.front button{margin-top:auto;border:1px solid rgba(255,255,255,.5);background:rgba(255,255,255,.12);color:#fff;padding:10px;font-size:6px;letter-spacing:.15em}.phone-card.back{left:0;top:72px;transform:rotate(-8deg);opacity:.65;padding-top:160px}.phone-card.back span{font:italic 27px var(--serif)}.phone-card.back strong{font:400 46px var(--serif);display:block;margin-top:35px}.floating-note{position:absolute;background:rgba(255,255,255,.92);color:#28535a;padding:11px 14px;border-radius:20px;font-size:9px;font-weight:700;box-shadow:0 12px 30px rgba(0,0,0,.15)}.note-one{right:-10px;top:105px}.note-two{left:5px;bottom:70px}.scroll-cue{position:absolute;z-index:3;bottom:40px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.6);font-size:8px;letter-spacing:.2em;text-decoration:none;display:grid;gap:8px;text-align:center}.scroll-cue span{font-size:16px}.intro-section{padding:125px clamp(30px,8vw,125px) 70px;display:grid;grid-template-columns:1.25fr .75fr;gap:70px;align-items:end}.intro-section h2,.section-heading h2,.closing-cta h2{font:400 clamp(41px,5vw,67px)/1.04 var(--serif);margin:17px 0 0}.intro-section>p{font-size:14px;line-height:1.8;color:#788587;max-width:460px}.occasion-grid{padding:0 clamp(30px,5vw,78px) 125px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.occasion{height:480px;border-radius:12px;padding:27px;position:relative;overflow:hidden;color:#fff;text-decoration:none;display:flex;flex-direction:column;justify-content:space-between;background-position:center;background-size:cover;transition:.3s}.occasion:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,25,30,.1),rgba(8,29,35,.85))}.occasion>*{position:relative}.occasion:hover{transform:translateY(-5px)}.occasion>span{font-size:9px;letter-spacing:.18em}.occasion small{font-size:8px;letter-spacing:.18em;color:#d8c1a9}.occasion h3{font:400 46px var(--serif);margin:7px 0}.occasion p{font-size:11px;color:rgba(255,255,255,.7)}.occasion b{position:absolute;right:25px;bottom:29px;border:1px solid rgba(255,255,255,.4);border-radius:50%;width:38px;height:38px;display:grid;place-items:center}.wedding{background-image:radial-gradient(circle at 60% 25%,rgba(233,205,185,.8),transparent 35%),linear-gradient(140deg,#718f8a,#254f58)}.fifteen{background-image:radial-gradient(circle at 50% 30%,rgba(255,221,215,.9),transparent 30%),linear-gradient(145deg,#aa7a82,#5f4656)}.celebrations{background-image:radial-gradient(circle at 55% 25%,rgba(229,194,126,.75),transparent 30%),linear-gradient(145deg,#77664d,#273e3b)}.steps-section{background:#eeeae3;padding:120px clamp(30px,8vw,125px)}.section-heading{text-align:center}.section-heading h2{font-size:57px}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:75px}.steps-grid article{text-align:center;position:relative}.steps-grid article>span{font:400 60px var(--serif);color:#d8d2c8;position:absolute;left:18%;top:-23px}.step-icon{position:relative;margin:auto;width:65px;height:65px;border:1px solid #bfcac7;border-radius:50%;display:grid;place-items:center;color:var(--teal);background:#eeeae3}.steps-grid h3{font:400 25px var(--serif);margin:23px 0 10px}.steps-grid p{font-size:11px;line-height:1.7;color:#7b8788;max-width:300px;margin:auto}.features-section{display:grid;grid-template-columns:1fr 1fr;min-height:700px;background:#164d59;color:#fff}.feature-visual{display:grid;place-items:center;background:radial-gradient(circle at 50% 45%,#d9b9a2 0%,#92766c 23%,#1a4b54 65%)}.mini-dashboard{width:310px;height:390px;border-radius:14px;background:rgba(255,255,255,.95);color:var(--ink);padding:38px;box-shadow:0 40px 80px rgba(0,0,0,.25);display:flex;flex-direction:column}.mini-dashboard span{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:#748183}.mini-dashboard strong{font:400 90px var(--serif);margin-top:60px}.mini-dashboard small{font-size:10px;color:#7a898a}.mini-dashboard i{display:block;height:7px;background:linear-gradient(90deg,var(--teal) 82%,#e6e9e7 82%);border-radius:5px;margin-top:18px}.feature-copy{padding:100px clamp(45px,8vw,120px)}.feature-copy h2{font:400 55px/1.05 var(--serif);margin:15px 0}.feature-copy>p{font-size:13px;color:#b7cbcc;line-height:1.7}.feature-copy ul{padding:0;margin:40px 0;list-style:none}.feature-copy li{display:flex;gap:15px;margin:20px 0}.feature-copy li>span{width:27px;height:27px;border-radius:50%;border:1px solid #72a3a8;display:grid;place-items:center;font-size:9px}.feature-copy li strong,.feature-copy li small{display:block}.feature-copy li strong{font-size:12px}.feature-copy li small{font-size:10px;color:#abc0c1;margin-top:5px}.closing-cta{text-align:center;padding:130px 25px}.closing-cta p{color:#899596;font-size:13px}.dark-button{background:var(--teal);color:#fff;margin-top:18px}.public-footer{padding:55px clamp(30px,6vw,90px);border-top:1px solid #e1e4df;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:30px}.public-footer img{width:125px}.public-footer p{font:400 17px/1.4 var(--serif);color:#788587}.public-footer>div{display:flex;justify-content:flex-end;gap:22px}.public-footer a{font-size:10px;color:var(--ink);text-decoration:none}.public-footer small{grid-column:1/-1;text-align:center;color:#a1aaa9;font-size:8px}.register-shell{min-height:100vh;display:grid;grid-template-columns:.8fr 1.2fr}.register-brand{background:linear-gradient(145deg,#0d3d48,#26707a);padding:55px;color:#fff;display:flex;flex-direction:column;justify-content:space-between}.register-brand img{width:150px;filter:brightness(0) invert(1)}.register-brand h1{font:400 54px/1.03 var(--serif);margin:18px 0}.register-brand p{max-width:430px;font-size:13px;line-height:1.8;color:#bad0d1}.register-brand small{font-size:9px;color:#a9c5c6}.register-form-panel{display:grid;place-items:center;padding:55px;background:#faf9f6}.register-wrap{width:100%;max-width:450px}.back-link{display:block;color:#7c8a8c;text-decoration:none;font-size:11px;margin-bottom:70px}.register-wrap h2{font:400 45px var(--serif);margin:10px 0}.register-intro{font-size:13px;color:#849092;margin-bottom:28px}.register-wrap .label-row{margin-top:18px}.register-wrap .input-wrap input{padding-left:3px}.terms{font-size:10px!important}.account-link{text-align:center;font-size:11px;color:#889496;margin-top:25px}.account-link a{color:var(--teal);font-weight:700}
@media(max-width:1050px){.public-header{gap:20px}.public-nav{display:none}.hero-showcase{opacity:.55;right:-80px}.landing-hero-copy{max-width:620px}.occasion-grid{grid-template-columns:1fr 1fr}.occasion:last-child{grid-column:1/-1;height:350px}.features-section{grid-template-columns:1fr}.feature-visual{min-height:520px}.register-shell{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.public-header{height:72px;padding:0 20px}.public-brand img{width:95px;filter:brightness(0) invert(1)}.mobile-menu{display:block;margin-left:auto;border:0;background:transparent;color:#fff;font-size:19px}.public-nav.open{display:grid;position:absolute;top:72px;left:15px;right:15px;background:#fff;padding:22px;border-radius:10px;box-shadow:0 15px 40px rgba(0,0,0,.15)}.public-nav.open a{color:var(--ink)}.header-actions .small-cta{display:none}.login-link{font-size:10px}.landing-hero{min-height:760px;padding:145px 23px 70px}.landing-hero h1{font-size:52px}.landing-hero-copy>p{font-size:13px}.hero-showcase{display:none}.hero-proof{margin-top:55px}.scroll-cue{display:none}.intro-section{padding:85px 23px 45px;grid-template-columns:1fr;gap:20px}.intro-section h2,.section-heading h2,.closing-cta h2{font-size:40px}.occasion-grid{padding:0 18px 80px;grid-template-columns:1fr}.occasion,.occasion:last-child{grid-column:auto;height:390px}.steps-section{padding:85px 23px}.steps-grid{grid-template-columns:1fr;gap:65px}.features-section{display:block}.feature-visual{min-height:430px}.mini-dashboard{width:270px;height:330px}.feature-copy{padding:75px 25px}.feature-copy h2{font-size:43px}.closing-cta{padding:90px 22px}.public-footer{grid-template-columns:1fr;text-align:center}.public-footer img{margin:auto}.public-footer>div{justify-content:center}.register-shell{grid-template-columns:1fr}.register-brand{min-height:340px;padding:35px 25px}.register-brand h1{font-size:41px}.register-brand small{display:none}.register-form-panel{padding:45px 25px}.back-link{margin-bottom:40px}}

/* Premium client access */
.login-page .auth-shell{grid-template-columns:minmax(540px,1.12fr) minmax(500px,.88fr)}.login-page .visual-panel{padding:42px 50px;background:#123f49}.login-page .visual-overlay{background:linear-gradient(180deg,rgba(5,27,33,.24),rgba(6,35,42,.08) 34%,rgba(5,27,33,.88)),linear-gradient(90deg,rgba(7,38,45,.32),transparent)}.login-home{color:rgba(255,255,255,.75);font-size:10px;text-transform:uppercase;letter-spacing:.12em;text-decoration:none}.visual-mark{font-size:8px;letter-spacing:.22em;color:rgba(255,255,255,.55)}.login-page .visual-copy{margin-bottom:54px;max-width:720px}.login-page .script-line{font-size:18px;letter-spacing:.04em;color:#e2bba3}.login-page .visual-copy h1{font-size:clamp(58px,6vw,88px);letter-spacing:-.045em}.login-page .visual-copy h1 em{font-weight:400;color:#e5bca2}.login-page .visual-copy>p:last-child{max-width:540px;font-size:14px}.login-page .visual-footer{gap:18px}.quote-mark{font:400 48px/1 var(--serif);color:#deb499}.login-page .visual-footer p{font-size:10px;line-height:1.7}.login-page .form-panel{background:#fbfaf7;padding-top:40px;padding-bottom:40px}.login-page .form-panel:after{content:'✦';position:absolute;right:9%;bottom:8%;color:rgba(29,113,131,.12);font-size:24px}.login-brand-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:75px}.login-brand-row .brand-logo{width:158px;margin:0}.login-brand-row>span{font-size:7px;letter-spacing:.2em;color:#9aa5a5;border:1px solid #dfe5e3;border-radius:20px;padding:8px 10px}.login-page .welcome h2{font-size:48px;max-width:420px}.login-page .welcome p{margin-bottom:34px}.login-page .input-wrap{height:57px;border-radius:10px;background:#fff;border-color:#e2e7e5}.login-page .input-wrap:focus-within{transform:translateY(-1px)}.login-page .primary-button{height:58px;border-radius:10px;background:linear-gradient(120deg,#1c7181,#14515f);letter-spacing:.02em}.login-page .demo-access{margin:26px 0 0;color:#859193}.login-page .demo-access a{color:var(--teal);font-weight:700;text-decoration:none}.login-page .form-wrap footer{display:flex;justify-content:center;gap:8px;margin-top:56px}.login-page .form-wrap footer a{color:#98a3a4;text-decoration:none}.login-page .form-wrap footer span{color:#c9cfcd}
@media(max-width:980px){.login-page .auth-shell{grid-template-columns:1fr}.login-page .visual-panel{min-height:45vh}.login-page .visual-copy h1{font-size:55px}.login-page .form-panel{min-height:55vh}.login-brand-row{margin-bottom:45px}}
@media(max-width:600px){.login-page .visual-panel{min-height:34vh;padding:26px 24px}.visual-mark{display:none}.login-page .visual-copy{margin:50px 0 5px}.login-page .visual-copy h1{font-size:43px;margin-bottom:12px}.login-page .visual-copy>p:last-child{display:none}.login-page .form-panel{padding:35px 23px}.login-brand-row{margin-bottom:35px}.login-brand-row .brand-logo{width:135px}.login-brand-row>span{display:none}.login-page .welcome h2{font-size:37px}.login-page .form-wrap footer{margin-top:38px}}

/* Viewport-locked auth, motion and social access */
html:has(.login-page),html:has(.register-page){height:100%;overflow:hidden}.login-page,.register-page{height:100%;overflow:hidden}.login-page .auth-shell,.register-shell{height:100svh;min-height:0;overflow:hidden}.login-page .visual-panel,.login-page .form-panel{min-height:0;height:100svh}.login-page .form-panel{overflow:hidden}.login-page .form-wrap{transform-origin:center;animation:authReveal .7s cubic-bezier(.2,.75,.2,1) both}.login-page .visual-copy{animation:copyReveal .9s .12s cubic-bezier(.2,.75,.2,1) both}.login-page .visual-video{animation:slowZoom 18s ease-in-out infinite alternate}.login-page .brand-logo{animation:softFloat 5s ease-in-out infinite}.google-button{height:50px;border:1px solid #dfe5e3;border-radius:10px;background:#fff;color:#364a4f;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:11px;font-size:12px;font-weight:700;transition:.2s}.google-button:hover{border-color:#aebfbd;transform:translateY(-1px);box-shadow:0 8px 20px rgba(21,49,58,.07)}.google-button svg{width:18px}.form-divider{display:flex;align-items:center;gap:12px;margin:15px 0;color:#a0aaaa;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.form-divider:before,.form-divider:after{content:'';height:1px;background:#e6e9e7;flex:1}.login-page .login-brand-row{margin-bottom:clamp(22px,5vh,60px)}.login-page .welcome h2{font-size:clamp(34px,4.2vh,47px)}.login-page .welcome p{margin-bottom:clamp(14px,2.4vh,28px)}.login-page .input-wrap{height:clamp(48px,5.7vh,56px)}.login-page .label-row{margin-top:clamp(12px,1.9vh,19px)}.login-page .remember{margin:clamp(12px,1.8vh,17px) 0 clamp(15px,2vh,22px)}.login-page .primary-button{height:clamp(50px,5.8vh,57px)}.login-page .demo-access{margin-top:clamp(13px,2vh,22px)}.login-page .form-wrap footer{margin-top:clamp(18px,3.5vh,44px)}.register-brand,.register-form-panel{height:100svh;overflow:hidden}.register-form-panel{padding-top:clamp(24px,4vh,45px);padding-bottom:clamp(24px,4vh,45px)}.register-wrap{animation:authReveal .7s cubic-bezier(.2,.75,.2,1) both}.register-wrap .back-link{margin-bottom:clamp(18px,3vh,40px)}.register-wrap h2{font-size:clamp(35px,4.5vh,44px);margin:6px 0}.register-intro{margin-bottom:clamp(12px,2vh,20px)}.register-wrap .google-button{height:46px}.register-wrap .form-divider{margin:11px 0}.register-wrap .input-wrap{height:clamp(44px,5.2vh,52px)}.register-wrap .label-row{margin-top:clamp(9px,1.4vh,15px)}.register-wrap .remember{margin:clamp(9px,1.4vh,14px) 0}.register-wrap .primary-button{height:50px}.register-wrap .account-link{margin-top:14px}.register-brand>div{animation:copyReveal .9s .1s both}
@keyframes authReveal{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes copyReveal{from{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:none}}@keyframes slowZoom{from{transform:scale(1)}to{transform:scale(1.07)}}@keyframes softFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@media(max-height:760px) and (min-width:701px){.login-page .form-panel{padding-top:24px;padding-bottom:24px}.login-page .login-brand-row{margin-bottom:20px}.login-page .welcome p{margin-bottom:14px}.login-page .form-wrap footer{display:none}.register-brand h1{font-size:42px}.register-brand p{display:none}.register-form-panel{padding:20px 45px}.register-wrap .back-link{margin-bottom:15px}.register-intro{display:none}}
@media(max-width:700px){.login-page .auth-shell{display:grid;grid-template-rows:27svh 73svh}.login-page .visual-panel{height:27svh;min-height:0}.login-page .form-panel{height:73svh;min-height:0;padding-top:20px;padding-bottom:18px}.login-page .visual-copy{margin:25px 0 0}.login-page .visual-copy h1{font-size:36px}.login-page .visual-footer{display:none}.login-page .welcome p{display:none}.login-page .login-brand-row{margin-bottom:16px}.login-page .welcome h2{font-size:31px;margin-top:5px}.login-page .google-button{height:43px}.login-page .form-divider{margin:9px 0}.login-page .input-wrap{height:43px}.login-page .label-row{margin-top:9px}.login-page .remember{margin:9px 0 11px}.login-page .primary-button{height:45px}.login-page .demo-access{margin-top:10px}.login-page .form-wrap footer{display:none}.register-shell{display:block;position:relative}.register-brand{display:none}.register-form-panel{height:100svh;padding:18px 22px}.register-wrap .back-link{margin-bottom:12px}.register-wrap h2{font-size:32px}.register-intro{display:none}.register-wrap .google-button{height:42px}.register-wrap .input-wrap{height:43px}.register-wrap .terms{margin:8px 0}.register-wrap .primary-button{height:45px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}

/* Error system */
.error-page{margin:0;height:100svh;overflow:hidden;background:#f8f6f1}.error-shell{height:100%;display:grid;place-items:center;text-align:center;padding:35px;position:relative;background:radial-gradient(circle at 50% 45%,rgba(211,231,228,.8),transparent 32%)}.error-shell>a{position:absolute;top:35px;left:45px}.error-shell>a img{width:130px}.error-art{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);font:400 clamp(180px,30vw,440px)/1 var(--serif);color:rgba(29,113,131,.055);letter-spacing:-.08em;white-space:nowrap}.error-art i{position:absolute;font:normal 16px var(--sans);color:#c89b7d;animation:softFloat 3s ease-in-out infinite}.error-art i:nth-child(2){left:16%;top:22%}.error-art i:nth-child(3){right:12%;bottom:23%;animation-delay:.8s}.error-art i:nth-child(4){left:48%;bottom:7%;animation-delay:1.4s}.error-copy{position:relative;z-index:2;max-width:610px}.error-copy h1{font:400 clamp(40px,5vw,67px)/1.04 var(--serif);margin:14px 0}.error-copy p{color:#7c898b;font-size:13px}.error-copy>div{display:flex;align-items:center;justify-content:center;gap:25px;margin-top:25px}.error-copy>div>a:last-child{color:var(--teal);font-size:11px;font-weight:700}.error-shell>small{position:absolute;bottom:30px;color:#9ca6a5;font-size:8px;letter-spacing:.14em}

/* Admin */
.admin-page{margin:0;background:#f2f4f2;min-height:100vh}.admin-main{margin-left:245px;padding:42px 50px}.admin-header{display:flex;justify-content:space-between;align-items:center}.admin-header h1{font:400 43px var(--serif);margin:7px 0}.admin-header p{font-size:12px;color:#849092}.admin-badge{font-size:9px;letter-spacing:.16em;color:#fff;background:var(--teal);padding:9px 13px;border-radius:20px}.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:35px 0}.admin-stats article{background:#fff;border:1px solid #e2e7e4;border-radius:12px;padding:25px;display:flex;flex-direction:column}.admin-stats small{font-size:8px;letter-spacing:.13em;color:#899496}.admin-stats strong{font:400 47px var(--serif);margin:12px 0}.admin-stats span{font-size:10px;color:#899496}.users-panel{background:#fff;border:1px solid #e2e7e4;border-radius:13px;padding:28px}.users-panel h2{font:400 28px var(--serif);margin:7px 0 22px}.user-row{display:grid;grid-template-columns:2fr .7fr .7fr .8fr;gap:18px;align-items:center;padding:15px 8px;border-top:1px solid #edf0ee;font-size:11px;color:#738083}.user-row.head{font-size:8px;letter-spacing:.12em;font-weight:700;color:#9ba5a5}.user-row b,.user-row small{display:block}.user-row b{font-size:12px;color:var(--ink);margin-bottom:3px}.user-row small{font-size:9px}.role-pill{font-style:normal;text-transform:uppercase;font-size:7px;letter-spacing:.1em;border-radius:12px;padding:6px 8px;background:#e8f1ef;color:var(--teal)}.role-pill.admin{background:#f0e4df;color:#a15e4f}@media(max-width:750px){.admin-page .sidebar{display:none}.admin-main{margin:0;padding:25px 16px}.admin-stats{grid-template-columns:1fr}.user-row{grid-template-columns:1.5fr .6fr .6fr}.user-row span:last-child{display:none}.error-shell>a{top:25px;left:25px}.error-copy h1{font-size:42px}}
