:root{
  --bg:#f4f1eb;
  --paper:#fffdf8;
  --ink:#161616;
  --muted:#6c665e;
  --soft:#e8e0d4;
  --line:#d8d0c4;
  --dark:#111111;
  --dark-2:#24201d;
  --accent:#6f4e37;
  --accent-2:#b8875a;
  --success:#587a58;
  --shadow:0 28px 70px rgba(44,35,25,.12);
  --radius:18px;
}
.dark{
  --bg:#10100f;
  --paper:#181715;
  --ink:#f4f1eb;
  --muted:#b5aea4;
  --soft:#25231f;
  --line:#363229;
  --dark:#f4f1eb;
  --dark-2:#e8e0d4;
  --accent:#d2a679;
  --accent-2:#8f6a4b;
  --success:#a3bf9c;
  --shadow:0 28px 80px rgba(0,0,0,.35);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:28px}
body{font-family:Georgia,"Times New Roman",serif;background:var(--bg);color:var(--ink);line-height:1.6;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(22,22,22,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(22,22,22,.035) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,black,transparent 75%);z-index:-2}.dark body::before{background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px)}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,textarea,select{font:inherit}button{border:0;background:none;cursor:pointer}input,textarea,select{width:100%;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:14px;padding:14px 15px;outline:none}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(111,78,55,.12)}label span{display:block;font-family:Inter,Arial,sans-serif;font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.cursor-glow{position:fixed;width:330px;height:330px;border-radius:50%;background:radial-gradient(circle,rgba(184,135,90,.22),transparent 65%);filter:blur(10px);pointer-events:none;z-index:-1;transform:translate(-50%,-50%)}
.side-rail{position:fixed;left:22px;top:22px;bottom:22px;width:86px;background:rgba(255,253,248,.72);border:1px solid var(--line);backdrop-filter:blur(18px);border-radius:26px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:16px 10px;z-index:50;box-shadow:var(--shadow)}.dark .side-rail{background:rgba(24,23,21,.74)}.rail-logo{width:54px;height:54px;display:grid;place-items:center;border-radius:18px;background:var(--dark);color:var(--bg);font-family:Inter,Arial,sans-serif;font-weight:900;letter-spacing:-.05em}.side-rail nav{display:flex;flex-direction:column;gap:10px;width:100%}.side-rail nav a,.rail-theme{height:54px;border-radius:17px;display:grid;place-items:center;color:var(--muted);position:relative;font-family:Inter,Arial,sans-serif}.side-rail nav a span{position:absolute;left:70px;top:50%;transform:translateY(-50%) translateX(-8px);opacity:0;pointer-events:none;background:var(--dark);color:var(--bg);border-radius:12px;padding:8px 12px;white-space:nowrap;font-size:.82rem;font-weight:800;transition:.2s}.side-rail nav a:hover span{opacity:1;transform:translateY(-50%) translateX(0)}.side-rail nav a:hover,.side-rail nav a.active,.rail-theme:hover{background:var(--soft);color:var(--ink)}.side-rail i{font-size:1rem}.mobile-header,.mobile-panel{display:none}.page{width:min(1220px,calc(100% - 150px));margin-left:126px;margin-right:auto;padding:30px 0 24px}.hero{min-height:92vh;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:54px;padding:38px 0 76px}.kicker,.section-head p{font-family:Inter,Arial,sans-serif;color:var(--accent);font-size:.78rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.hero h1,.section-head h2,.booking-copy h2,.company-card h2,.review-main h2,.contact-panel h2{font-size:clamp(2.75rem,6vw,6.7rem);line-height:.92;letter-spacing:-.075em;font-weight:500;max-width:950px;margin:18px 0}.hero .lead{font-size:clamp(1.05rem,1.8vw,1.35rem);color:var(--muted);max-width:720px}.hero-actions,.company-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.btn{min-height:50px;border-radius:14px;padding:0 20px;display:inline-flex;align-items:center;justify-content:center;font-family:Inter,Arial,sans-serif;font-weight:900}.btn-dark{background:var(--dark);color:var(--bg)}.btn-dark:hover{background:var(--accent)}.btn-light{background:var(--paper);border:1px solid var(--line);color:var(--ink)}.btn-light:hover{background:var(--soft)}.hero-dashboard{background:var(--paper);border:1px solid var(--line);border-radius:34px;padding:18px;box-shadow:var(--shadow);transform:rotate(1deg)}.dash-top{display:flex;align-items:center;justify-content:space-between;font-family:Inter,Arial,sans-serif;color:var(--muted);padding:8px 8px 18px}.dash-top strong{color:var(--success)}.money-card{background:var(--dark);color:var(--bg);border-radius:26px;padding:26px;display:flex;justify-content:space-between;align-items:flex-end;min-height:210px}.money-card span{font-family:Inter,Arial,sans-serif;opacity:.72;font-weight:800;text-transform:uppercase;font-size:.76rem;letter-spacing:.12em}.money-card h2{font-size:clamp(2.1rem,4vw,4rem);line-height:.95;font-weight:500;margin-top:12px}.money-card i{font-size:2.8rem;color:var(--accent-2)}.dash-list{display:grid;gap:10px;margin:16px 0}.dash-list div{display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:10px;padding:14px;background:var(--soft);border-radius:18px;font-family:Inter,Arial,sans-serif}.dash-list i{color:var(--success)}.dash-list span{font-weight:800}.dash-list b{color:var(--muted);font-size:.8rem}.dash-bottom{display:grid;grid-template-columns:110px 1fr;gap:14px;align-items:center}.dash-bottom img{height:96px;width:110px;object-fit:cover;border-radius:20px}.dash-bottom p{color:var(--muted)}.quick-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:26px;overflow:hidden;margin-bottom:96px}.quick-strip div{background:var(--paper);padding:30px}.quick-strip span{font-family:Inter,Arial,sans-serif;font-size:.82rem;color:var(--accent);font-weight:900}.quick-strip strong{display:block;font-size:1.25rem;margin:12px 0 6px}.quick-strip p{color:var(--muted)}section{padding:42px 0 82px}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:26px}.section-head h2{font-size:clamp(2.2rem,4vw,4.5rem);max-width:760px;margin:0}.service-board{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:16px}.service-tile{background:var(--paper);border:1px solid var(--line);border-radius:28px;padding:26px;min-height:280px;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:0 18px 55px rgba(44,35,25,.07)}.service-tile.large{grid-row:span 2;min-height:576px;padding:0;overflow:hidden}.service-tile.large img{height:56%;width:100%;object-fit:cover}.service-tile.large div{padding:26px}.service-tile i{width:54px;height:54px;display:grid;place-items:center;background:var(--soft);border-radius:18px;color:var(--accent);margin-bottom:auto}.service-tile span{font-family:Inter,Arial,sans-serif;color:var(--accent);font-weight:900;text-transform:uppercase;font-size:.76rem;letter-spacing:.12em}.service-tile h3{font-size:1.55rem;line-height:1.1;margin:8px 0}.service-tile p{color:var(--muted)}.booking-layout,.reviews,.contact-panel{display:grid;grid-template-columns:.85fr 1.15fr;gap:24px;align-items:start}.booking-copy,.review-main{position:sticky;top:28px}.booking-copy h2,.review-main h2,.contact-panel h2{font-size:clamp(2.2rem,4vw,4.7rem)}.booking-copy p,.company-card p,.contact-panel p{color:var(--muted);font-size:1.08rem}.booking-copy ul{list-style:none;display:grid;gap:12px;margin-top:24px;font-family:Inter,Arial,sans-serif;font-weight:800}.booking-copy li{display:flex;gap:10px;align-items:center}.booking-copy i{color:var(--success)}.booking-card{background:var(--paper);border:1px solid var(--line);border-radius:30px;padding:24px;display:grid;grid-template-columns:1fr 1fr;gap:16px;box-shadow:var(--shadow)}.booking-card .full{grid-column:1/-1}.company-card{background:var(--dark);color:var(--bg);border-radius:34px;padding:28px;display:grid;grid-template-columns:1fr .85fr;gap:28px;align-items:center}.company-card .kicker{color:var(--accent-2)}.company-card p{color:color-mix(in srgb,var(--bg) 72%,transparent)}.company-card .btn-light{background:transparent;color:var(--bg);border-color:color-mix(in srgb,var(--bg) 24%,transparent)}.company-card .btn-dark{background:var(--bg);color:var(--dark)}.company-image img{height:460px;width:100%;object-fit:cover;border-radius:26px;filter:grayscale(.1)}.timeline-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.step{background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:24px}.step span{width:42px;height:42px;display:grid;place-items:center;background:var(--dark);color:var(--bg);border-radius:14px;font-family:Inter,Arial,sans-serif;font-weight:900}.step h3{font-size:1.35rem;margin:36px 0 8px}.step p{color:var(--muted)}.people-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.person{background:var(--paper);border:1px solid var(--line);border-radius:28px;overflow:hidden}.person img{width:100%;height:280px;object-fit:cover;filter:saturate(.95)}.person div{padding:18px}.person h3{font-size:1.2rem;line-height:1.1}.person p{font-family:Inter,Arial,sans-serif;color:var(--muted);font-size:.88rem;margin-top:7px}.review-stack{display:grid;gap:14px}.review-stack blockquote{background:var(--paper);border:1px solid var(--line);border-radius:26px;padding:26px;font-size:1.22rem}.review-stack footer{margin-top:24px;display:flex;align-items:center;gap:12px;font-family:Inter,Arial,sans-serif;font-weight:900;font-size:.92rem}.review-stack img{width:46px;height:46px;border-radius:50%;object-fit:cover}.accordion{background:var(--paper);border:1px solid var(--line);border-radius:30px;overflow:hidden}.faq-item{width:100%;display:grid;grid-template-columns:1fr 32px;text-align:left;padding:23px 24px;border-bottom:1px solid var(--line);color:var(--ink)}.faq-item:last-child{border-bottom:0}.faq-item span{font-size:1.18rem;font-weight:700}.faq-item p{display:none;grid-column:1/-1;color:var(--muted);padding-top:12px;max-width:760px}.faq-item.open p{display:block}.faq-item.open i{transform:rotate(45deg)}.contact-panel{background:var(--paper);border:1px solid var(--line);border-radius:34px;padding:30px;box-shadow:var(--shadow)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.contact-grid a{background:var(--soft);border-radius:20px;padding:20px;display:flex;gap:12px;align-items:center;font-family:Inter,Arial,sans-serif;font-weight:900}.contact-grid a:hover{background:var(--dark);color:var(--bg)}.footer{border-top:1px solid var(--line);padding:28px 0;display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--muted);font-family:Inter,Arial,sans-serif}.footer strong{display:block;color:var(--ink)}.footer span{font-size:.86rem}.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}.reveal.show{opacity:1;transform:translateY(0)}.delay-1{transition-delay:.08s}.delay-2{transition-delay:.16s}.delay-3{transition-delay:.24s}
@media(max-width:1050px){.side-rail{display:none}.mobile-header{position:sticky;top:12px;z-index:80;display:flex;align-items:center;justify-content:space-between;margin:12px;padding:10px 10px 10px 14px;background:rgba(255,253,248,.86);border:1px solid var(--line);border-radius:18px;backdrop-filter:blur(16px)}.dark .mobile-header{background:rgba(24,23,21,.86)}.mobile-brand{display:flex;align-items:center;gap:10px;font-family:Inter,Arial,sans-serif}.mobile-brand span{width:40px;height:40px;border-radius:14px;background:var(--dark);color:var(--bg);display:grid;place-items:center;font-weight:900}.mobile-menu-btn{width:44px;height:44px;border-radius:14px;background:var(--soft);color:var(--ink)}.mobile-panel{position:fixed;top:78px;left:12px;right:12px;z-index:70;background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:10px;box-shadow:var(--shadow)}.mobile-panel.open{display:grid}.mobile-panel a,.mobile-panel button{text-align:left;padding:14px;border-radius:14px;color:var(--ink);font-family:Inter,Arial,sans-serif;font-weight:900}.mobile-panel a:hover,.mobile-panel button:hover{background:var(--soft)}.page{width:calc(100% - 24px);margin:0 auto;padding-top:0}.hero,.booking-layout,.reviews,.contact-panel,.company-card{grid-template-columns:1fr}.hero{min-height:auto;padding-top:50px}.hero-dashboard{transform:none}.quick-strip,.timeline-grid,.people-grid{grid-template-columns:1fr 1fr}.service-board{grid-template-columns:1fr 1fr}.service-tile.large{grid-column:1/-1;min-height:auto}.booking-copy,.review-main{position:static}.company-image img{height:340px}.footer{flex-direction:column;text-align:center}}
@media(max-width:680px){body::before{background-size:34px 34px}.hero h1{font-size:3.15rem}.hero-dashboard{border-radius:24px;padding:12px}.money-card{min-height:180px;border-radius:20px}.dash-bottom{grid-template-columns:1fr}.dash-bottom img{width:100%;height:160px}.quick-strip,.timeline-grid,.people-grid,.service-board,.booking-card,.contact-grid{grid-template-columns:1fr}.quick-strip{margin-bottom:55px}.section-head{display:block}.section-head h2,.booking-copy h2,.company-card h2,.review-main h2,.contact-panel h2{font-size:2.65rem}.service-tile,.booking-card,.company-card,.contact-panel{border-radius:22px;padding:18px}.person img{height:240px}.footer{padding-bottom:36px}}

/* Clean polish update: smaller font, pill controls, rounded navigation/footer, richer scroll motion */
:root{--pill:999px;--shadow-soft:0 18px 48px rgba(44,35,25,.10)}
body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:15px;line-height:1.55;letter-spacing:-.01em}
p,li,a,button,input,textarea,select,label span{font-size:.92rem}.kicker,.section-head p,.service-tile span{font-size:.7rem;letter-spacing:.13em}.hero h1{font-size:clamp(2.35rem,5.2vw,5.65rem);line-height:.96;letter-spacing:-.065em;font-weight:800}.section-head h2,.booking-copy h2,.company-card h2,.review-main h2,.contact-panel h2{font-size:clamp(1.9rem,3.35vw,3.85rem);line-height:1.02;letter-spacing:-.055em;font-weight:800}.hero .lead,.booking-copy p,.company-card p,.contact-panel p{font-size:.98rem}.service-tile h3{font-size:1.28rem}.step h3{font-size:1.15rem}.person h3{font-size:1.05rem}.review-stack blockquote{font-size:1.02rem}.faq-item span{font-size:1rem}
.btn,input,textarea,select,.mobile-menu-btn,.rail-logo,.rail-theme,.side-rail nav a,.contact-grid a,.dash-list div,.step span,.service-tile i,.mobile-brand span{border-radius:var(--pill)}
.btn{min-height:44px;padding:0 18px;font-size:.86rem;box-shadow:0 10px 26px rgba(17,17,17,.08);transition:transform .22s ease,background .22s ease,box-shadow .22s ease}.btn:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(17,17,17,.12)}.btn-soft{background:var(--soft);color:var(--ink);border:1px solid var(--line)}.btn-soft:hover{background:var(--paper)}
input,textarea,select{border-radius:24px;padding:12px 16px;background:color-mix(in srgb,var(--paper) 92%,white 8%);font-size:.9rem}.booking-card label span{margin-bottom:6px}.booking-card{border-radius:34px;padding:20px;gap:14px}.booking-card button{border-radius:999px}
.side-rail{width:92px;border-radius:999px;padding:14px 10px;background:rgba(255,253,248,.78)}.side-rail nav{gap:8px}.side-rail nav a,.rail-theme{height:47px}.rail-logo{width:50px;height:50px}.rail-auth{display:grid;gap:8px;width:100%;border-top:1px solid var(--line);padding-top:8px}.rail-auth a{height:44px;border-radius:999px;display:grid;place-items:center;color:var(--muted);position:relative}.rail-auth a:hover{background:var(--soft);color:var(--ink)}.rail-auth a span{position:absolute;left:70px;top:50%;transform:translateY(-50%) translateX(-8px);opacity:0;pointer-events:none;background:var(--dark);color:var(--bg);border-radius:999px;padding:8px 12px;white-space:nowrap;font-size:.78rem;font-weight:800;transition:.2s}.rail-auth a:hover span{opacity:1;transform:translateY(-50%) translateX(0)}
.mobile-header{border-radius:999px}.mobile-auth-actions{display:flex;align-items:center;gap:7px;margin-left:auto;margin-right:7px}.mobile-auth-actions a{border-radius:999px;padding:9px 12px;background:var(--soft);font-size:.78rem;font-weight:800}.mobile-auth-actions a:last-child{background:var(--dark);color:var(--bg)}.mobile-panel{border-radius:28px}.mobile-panel a,.mobile-panel button{border-radius:999px}
.quick-strip,.service-tile,.service-tile.large,.hero-dashboard,.money-card,.company-card,.company-image img,.step,.person,.review-stack blockquote,.accordion,.contact-panel{border-radius:34px}.dash-bottom img{border-radius:26px}.quick-strip div:first-child{border-radius:34px 0 0 34px}.quick-strip div:last-child{border-radius:0 34px 34px 0}
.footer{margin-top:28px;margin-bottom:18px;background:var(--paper);border:1px solid var(--line);border-radius:36px;padding:24px 26px;box-shadow:var(--shadow-soft);display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.footer-brand p{max-width:330px;margin-top:8px;font-size:.86rem}.footer-links{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.footer-links a,.footer-note a{border:1px solid var(--line);background:var(--soft);border-radius:999px;padding:9px 13px;font-size:.82rem;font-weight:800;color:var(--ink)}.footer-note{text-align:right}.footer-note p{font-size:.82rem;margin-bottom:10px}
.reveal{opacity:0;transform:translateY(34px) scale(.985);filter:blur(10px);transition:opacity .78s cubic-bezier(.2,.8,.2,1),transform .78s cubic-bezier(.2,.8,.2,1),filter .78s ease}.reveal.show{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}.service-tile,.step,.person,.review-stack blockquote,.contact-grid a{transition:transform .28s ease,box-shadow .28s ease,background .28s ease}.service-tile:hover,.step:hover,.person:hover,.review-stack blockquote:hover{transform:translateY(-5px);box-shadow:var(--shadow-soft)}
.scroll-progress{position:fixed;left:0;top:0;height:3px;width:0;background:var(--accent);z-index:1000;transition:width .08s linear}.float-in{animation:floatIn .9s cubic-bezier(.2,.8,.2,1) both}@keyframes floatIn{from{opacity:0;transform:translateY(18px) scale(.98);filter:blur(10px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}
.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top left,color-mix(in srgb,var(--accent) 14%,transparent),transparent 36%),var(--bg)}.auth-shell{width:min(980px,100%);display:grid;grid-template-columns:.9fr 1.1fr;gap:18px;align-items:stretch}.auth-panel,.auth-card{background:var(--paper);border:1px solid var(--line);border-radius:38px;padding:28px;box-shadow:var(--shadow-soft)}.auth-panel{display:flex;flex-direction:column;justify-content:space-between;background:var(--dark);color:var(--bg);min-height:560px}.auth-panel .rail-logo{background:var(--bg);color:var(--dark)}.auth-panel h1{font-size:clamp(2rem,4vw,4rem);line-height:1;letter-spacing:-.06em;margin:26px 0 14px}.auth-panel p{color:color-mix(in srgb,var(--bg) 75%,transparent)}.auth-points{display:grid;gap:12px;margin-top:28px}.auth-points div{display:flex;align-items:center;gap:10px;font-weight:800;font-size:.9rem}.auth-card{display:flex;flex-direction:column;justify-content:center}.auth-card h2{font-size:2rem;letter-spacing:-.05em}.auth-card form{display:grid;gap:14px;margin:24px 0}.auth-card .auth-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.auth-switch{color:var(--muted);font-size:.88rem}.auth-switch a{font-weight:900;color:var(--accent)}.auth-back{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;padding:10px 14px;font-weight:800;font-size:.86rem;background:var(--soft);width:max-content}.auth-mini{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.auth-mini label{display:flex;align-items:center;gap:8px;color:var(--muted);font-weight:700}.auth-mini input{width:auto}
@media(max-width:1050px){body{font-size:14.5px}.mobile-header{padding:8px 8px 8px 12px}.mobile-brand span{width:36px;height:36px}.mobile-menu-btn{width:40px;height:40px}.footer{grid-template-columns:1fr;text-align:center}.footer-brand p{margin-left:auto;margin-right:auto}.footer-note{text-align:center}.quick-strip div:first-child,.quick-strip div:last-child{border-radius:0}.auth-shell{grid-template-columns:1fr}.auth-panel{min-height:auto}.auth-panel h1{font-size:2.4rem}}
@media(max-width:680px){.hero h1{font-size:2.35rem}.section-head h2,.booking-copy h2,.company-card h2,.review-main h2,.contact-panel h2{font-size:2rem}.mobile-auth-actions{display:none}.service-tile,.booking-card,.company-card,.contact-panel,.footer{border-radius:28px}.auth-card .auth-row{grid-template-columns:1fr}.auth-page{padding:12px}.auth-panel,.auth-card{border-radius:28px;padding:20px}}


/* Focused UI update: slimmer rail, clearer icons, circular active states, smaller titles, flush images */
.side-rail{
  left:18px;
  top:20px;
  bottom:20px;
  width:68px;
  padding:12px 8px;
  border-radius:999px;
}
.rail-logo{
  width:44px;
  height:44px;
  border-radius:50%;
  font-size:.82rem;
}
.side-rail nav{
  gap:8px;
  align-items:center;
}
.side-rail nav a,
.rail-theme,
.rail-auth a{
  width:44px;
  height:44px;
  border-radius:50%;
  display:grid;
  place-items:center;
}
.side-rail nav a:hover,
.side-rail nav a.active,
.rail-theme:hover,
.rail-theme.active,
.rail-auth a:hover,
.rail-auth a.active{
  background:var(--dark);
  color:var(--bg);
  border-radius:50%;
  box-shadow:0 10px 24px rgba(44,35,25,.16);
}
.dark .side-rail nav a:hover,
.dark .side-rail nav a.active,
.dark .rail-theme:hover,
.dark .rail-theme.active,
.dark .rail-auth a:hover,
.dark .rail-auth a.active{
  background:var(--bg);
  color:var(--dark);
}
.side-rail i{
  font-size:1.02rem;
  line-height:1;
}
.side-rail nav a span,
.rail-auth a span{
  left:58px;
  border-radius:999px;
}
.rail-auth{
  justify-items:center;
}
.page{
  width:min(1240px,calc(100% - 116px));
  margin-left:104px;
}
.hero h1{
  font-size:clamp(2.15rem,4.75vw,5.05rem);
  line-height:.98;
}
.section-head h2,
.booking-copy h2,
.company-card h2,
.review-main h2,
.contact-panel h2{
  font-size:clamp(1.72rem,3vw,3.35rem);
  line-height:1.04;
}
.money-card h2{
  font-size:clamp(1.75rem,3.2vw,3.25rem);
}
.service-tile h3{
  font-size:1.16rem;
}
.quick-strip strong{
  font-size:1.08rem;
}
.service-tile i{
  background:var(--dark);
  color:var(--bg);
  width:48px;
  height:48px;
  border-radius:50%;
  font-size:1.05rem;
  box-shadow:0 12px 26px rgba(44,35,25,.14);
}
.dark .service-tile i{
  background:var(--bg);
  color:var(--dark);
}
.service-tile.large,
.person,
.hero-dashboard,
.company-image,
.dash-bottom,
.review-stack blockquote{
  overflow:hidden;
}
.service-tile.large img{
  height:58%;
  min-height:320px;
  width:100%;
  object-fit:cover;
  border-radius:0;
  margin:0;
}
.service-tile.large div{
  padding:24px;
}
.person img,
.company-image img,
.dash-bottom img,
.review-stack img{
  display:block;
  width:100%;
  object-fit:cover;
  margin:0;
}
.company-image{
  border-radius:28px;
  line-height:0;
}
.company-image img{
  border-radius:0;
}
.person div{
  margin-top:0;
}
.mobile-header{
  border-radius:999px;
}
.mobile-panel a:hover,
.mobile-panel a.active,
.mobile-panel button:hover{
  background:var(--dark);
  color:var(--bg);
  border-radius:999px;
}
.footer{
  border-radius:34px;
}
@media(max-width:1050px){
  .page{width:calc(100% - 24px);margin:0 auto;}
}
@media(max-width:680px){
  .hero h1{font-size:2.08rem;}
  .section-head h2,.booking-copy h2,.company-card h2,.review-main h2,.contact-panel h2{font-size:1.82rem;}
  .service-tile.large img{min-height:240px;height:240px;}
}

/* Final polish: smaller main titles, stronger left brand, rebuilt reviews */
.rail-logo{
  width:50px;
  height:50px;
  font-size:.98rem;
  letter-spacing:-.04em;
  box-shadow:0 12px 28px rgba(44,35,25,.16);
}
.side-rail{
  width:72px;
}
.page{
  width:min(1240px,calc(100% - 124px));
  margin-left:110px;
}
.hero h1{
  font-size:clamp(2rem,4.35vw,4.65rem);
  line-height:1;
}
.section-head h2,
.booking-copy h2,
.company-card h2,
.review-main h2,
.contact-panel h2{
  font-size:clamp(1.48rem,2.45vw,2.75rem);
  line-height:1.08;
  letter-spacing:-.045em;
}
.money-card h2{
  font-size:clamp(1.55rem,2.65vw,2.7rem);
}
.quick-strip strong,
.service-tile h3,
.step h3,
.person h3{
  letter-spacing:-.02em;
}

.reviews{
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:22px;
  align-items:stretch;
  padding-top:46px;
}
.review-main{
  position:sticky;
  top:34px;
  align-self:start;
  background:var(--dark);
  color:var(--bg);
  border-radius:34px;
  padding:28px;
  min-height:100%;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  overflow:hidden;
}
.review-main::after{
  content:"“";
  position:absolute;
  right:18px;
  bottom:-54px;
  font-size:14rem;
  line-height:1;
  color:color-mix(in srgb,var(--bg) 12%,transparent);
  font-family:Georgia,"Times New Roman",serif;
  pointer-events:none;
}
.review-main .kicker{
  color:color-mix(in srgb,var(--bg) 72%,transparent);
}
.review-main h2{
  color:var(--bg);
  max-width:420px;
  margin-top:14px;
}
.review-stack{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}
.review-stack blockquote{
  position:relative;
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:30px;
  padding:22px;
  overflow:hidden;
  box-shadow:none;
}
.review-stack blockquote::before{
  content:"★★★★★";
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:7px 12px;
  margin-bottom:18px;
  background:var(--soft);
  color:var(--accent);
  font-size:.72rem;
  letter-spacing:.12em;
  font-family:Inter,Arial,sans-serif;
  font-weight:900;
}
.review-stack blockquote p{
  font-size:.96rem;
  line-height:1.65;
  color:var(--ink);
  max-width:760px;
}
.review-stack footer{
  margin-top:18px;
  display:flex;
  align-items:center;
  gap:11px;
  font-family:Inter,Arial,sans-serif;
  font-weight:800;
  font-size:.86rem;
  color:var(--ink);
}
.review-stack img{
  width:44px !important;
  height:44px !important;
  min-width:44px;
  border-radius:50%;
  object-fit:cover;
  border:3px solid var(--soft);
  display:block;
}
.review-stack blockquote:nth-child(2){
  margin-left:22px;
}
.review-stack blockquote:nth-child(3){
  margin-left:44px;
}
.service-tile.large img,
.person img,
.company-image img,
.dash-bottom img{
  display:block;
  object-fit:cover;
  object-position:center;
  line-height:0;
}
.service-tile.large,
.person,
.company-image,
.hero-dashboard,
.dash-bottom{
  line-height:0;
}
.service-tile.large div,
.person div,
.hero-dashboard .dash-top,
.hero-dashboard .money-card,
.hero-dashboard .dash-list,
.hero-dashboard .dash-bottom p{
  line-height:1.6;
}
@media(max-width:1050px){
  .reviews{grid-template-columns:1fr;}
  .review-main{position:relative;top:auto;min-height:auto;}
  .review-stack blockquote:nth-child(2),
  .review-stack blockquote:nth-child(3){margin-left:0;}
  .page{width:calc(100% - 24px);margin:0 auto;}
}
@media(max-width:680px){
  .hero h1{font-size:1.96rem;}
  .section-head h2,.booking-copy h2,.company-card h2,.review-main h2,.contact-panel h2{font-size:1.58rem;}
  .review-main,.review-stack blockquote{border-radius:24px;padding:18px;}
}


/* TAC Investments brand/content polish */
:root{
  --tac-navy:#082c52;
  --tac-gold:#b88628;
}
body{scroll-padding-top:14px;}
.page{padding-top:12px;}
section{padding:28px 0 52px;}
.hero{min-height:86vh;padding:14px 0 42px;gap:38px;}
.hero h1{font-size:clamp(2rem,4.1vw,4.35rem);max-width:860px;}
.hero .lead{max-width:780px;}
.section-head{margin-bottom:18px;}
.quick-strip{background:transparent;border:0;gap:12px;margin-bottom:42px;overflow:visible;}
.quick-strip div{border:1px solid var(--line);border-radius:28px !important;background:color-mix(in srgb,var(--paper) 86%,transparent);box-shadow:0 16px 46px rgba(44,35,25,.055);}
.logo-mark{background:#fff !important;overflow:hidden;border:1px solid var(--line);padding:3px;}
.logo-mark img{width:100%;height:100%;object-fit:contain;border-radius:50%;display:block;}
.mobile-logo{background:#fff !important;overflow:hidden;border:1px solid var(--line);padding:2px;}
.mobile-logo img{width:100%;height:100%;object-fit:contain;display:block;border-radius:50%;}
.mobile-brand strong{font-size:.9rem;}
.rail-logo{width:52px;height:52px;}
.side-rail nav a:hover,.side-rail nav a.active,.rail-theme:hover,.rail-theme.active,.rail-auth a:hover,.rail-auth a.active{background:var(--tac-navy);color:#fff;}
.btn-dark,.money-card,.step span{background:var(--tac-navy);}
.btn-dark:hover{background:var(--tac-gold);}
.kicker,.section-head p,.service-tile span,.quick-strip span{color:var(--tac-gold);}
.money-card i{color:var(--tac-gold);}
.service-tile i{background:var(--tac-navy);color:#fff;}
.company-card,.review-main{background:linear-gradient(135deg,var(--tac-navy),#061c34);}
.company-card .kicker{color:#d7ad57;}
.company-card p + p{margin-top:12px;}
.service-tile.large img,.company-image img,.dash-bottom img,.person img,.review-stack img{display:block;margin:0;line-height:0;object-fit:cover;}
.service-tile.large img{height:54%;min-height:300px;object-position:center;}
.company-image{line-height:0;overflow:hidden;background:transparent;}
.company-image img{height:430px;border-radius:0;width:100%;}
.dash-bottom{line-height:0;overflow:hidden;}
.dash-bottom img{border-radius:22px;width:110px;height:96px;}
.dash-bottom p{line-height:1.55;}
.service-board{gap:12px;}
.booking-layout,.reviews,.contact-panel{gap:18px;}
.reviews{padding-top:24px;}
.review-main{min-height:auto;position:relative;top:auto;}
.review-stack blockquote{border-radius:28px;padding:20px 22px;}
.footer{margin-top:12px;border-radius:30px;}
@media(max-width:1050px){
  .page{padding-top:0;}
  .hero{padding-top:30px;min-height:auto;}
  section{padding:24px 0 42px;}
  .quick-strip{grid-template-columns:1fr 1fr;margin-bottom:30px;}
}
@media(max-width:680px){
  .hero{padding-top:18px;padding-bottom:28px;}
  .hero h1{font-size:1.88rem;}
  .section-head h2,.booking-copy h2,.company-card h2,.review-main h2,.contact-panel h2{font-size:1.45rem;}
  section{padding:20px 0 34px;}
  .quick-strip{grid-template-columns:1fr;gap:10px;}
  .service-tile.large img{height:220px;min-height:220px;}
  .company-image img{height:260px;}
}


/* Blue / black / white only palette update */
:root{
  --bg:#f7f9fc;
  --paper:#ffffff;
  --ink:#05070a;
  --muted:#566170;
  --soft:#eef4fb;
  --line:#d9e3ef;
  --dark:#061a33;
  --dark-2:#0b2f5b;
  --accent:#082c52;
  --accent-2:#0d4f91;
  --success:#082c52;
  --tac-navy:#082c52;
  --tac-gold:#0d4f91;
  --shadow:0 22px 58px rgba(6,26,51,.10);
  --shadow-soft:0 16px 42px rgba(6,26,51,.10);
}
.dark{
  --bg:#03060a;
  --paper:#07111d;
  --ink:#ffffff;
  --muted:#b7c3d1;
  --soft:#0c1b2d;
  --line:#193452;
  --dark:#ffffff;
  --dark-2:#dcecff;
  --accent:#73a9df;
  --accent-2:#a8cff5;
  --success:#a8cff5;
  --tac-navy:#0b3768;
  --tac-gold:#a8cff5;
  --shadow:0 28px 80px rgba(0,0,0,.45);
  --shadow-soft:0 18px 48px rgba(0,0,0,.42);
}
body{background:var(--bg);color:var(--ink);}
body::before{background-image:linear-gradient(rgba(8,44,82,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(8,44,82,.045) 1px,transparent 1px);}
.dark body::before{background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);}
.cursor-glow{background:radial-gradient(circle,rgba(8,44,82,.16),transparent 65%);}
.dark .cursor-glow{background:radial-gradient(circle,rgba(115,169,223,.14),transparent 65%);}
.kicker,.section-head p,.service-tile span,.quick-strip span,.auth-switch a,.contact-grid i{color:var(--accent)!important;}
.dark .kicker,.dark .section-head p,.dark .service-tile span,.dark .quick-strip span,.dark .auth-switch a,.dark .contact-grid i{color:var(--accent-2)!important;}
.btn-dark,.money-card,.step span,.service-tile i,.side-rail nav a:hover,.side-rail nav a.active,.rail-theme:hover,.rail-theme.active,.rail-auth a:hover,.rail-auth a.active{background:var(--tac-navy)!important;color:#fff!important;}
.dark .btn-dark,.dark .money-card,.dark .step span,.dark .service-tile i,.dark .side-rail nav a:hover,.dark .side-rail nav a.active,.dark .rail-theme:hover,.dark .rail-theme.active,.dark .rail-auth a:hover,.dark .rail-auth a.active{background:#123f72!important;color:#fff!important;box-shadow:0 0 0 1px rgba(255,255,255,.08) inset;}
.btn-dark:hover{background:#041428!important;color:#fff!important;}
.dark .btn-dark:hover{background:#1b5a9b!important;}
.btn-light,.btn-soft,.auth-back,.mobile-panel a,.mobile-panel button{background:var(--paper);border-color:var(--line);color:var(--ink);}
.btn-light:hover,.btn-soft:hover,.auth-back:hover,.mobile-panel a:hover,.mobile-panel button:hover{background:var(--soft);}
.money-card i,.dash-list i,.booking-copy i{color:var(--accent-2)!important;}
.company-card,.review-main{background:linear-gradient(135deg,#061a33,#020913)!important;color:#fff;}
.dark .company-card,.dark .review-main{background:linear-gradient(135deg,#07111d,#020509)!important;border:1px solid var(--line);}
.company-card .kicker{color:#a8cff5!important;}
.quick-strip div,.service-tile,.booking-card,.person,.review-stack blockquote,.accordion,.contact-grid a,.auth-card,.auth-panel{box-shadow:var(--shadow-soft);}
.scroll-progress{background:var(--accent)!important;}
.logo-mark,.mobile-logo{background:#fff!important;}
input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(8,44,82,.12);}
.dark input:focus,.dark textarea:focus,.dark select:focus{box-shadow:0 0 0 4px rgba(115,169,223,.16);}
.hero{padding-top:8px;}
section{padding-top:24px;padding-bottom:44px;}
.quick-strip{margin-bottom:28px;}
.service-tile.large img,.company-image img,.dash-bottom img,.person img{margin:0;display:block;}
.footer{background:#061a33;color:#fff;border:1px solid rgba(255,255,255,.12);}
.footer a,.footer span,.footer p{color:rgba(255,255,255,.78);}
.footer strong{color:#fff;}
.footer a:hover{color:#fff;}
/* Legal / extra pages */
.legal-body{min-height:100vh;background:var(--bg);color:var(--ink);}
.legal-shell{width:min(1040px,calc(100% - 28px));margin:0 auto;padding:22px 0 30px;}
.legal-nav{display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:10px 12px;box-shadow:var(--shadow-soft);position:sticky;top:14px;z-index:20;}
.legal-brand{display:flex;align-items:center;gap:10px;font-weight:900;}
.legal-brand img{width:44px;height:44px;object-fit:contain;border-radius:50%;background:#fff;border:1px solid var(--line);}
.legal-nav-links{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.legal-nav-links a{height:40px;display:inline-flex;align-items:center;border-radius:999px;padding:0 14px;font-weight:800;font-size:.84rem;color:var(--muted);}
.legal-nav-links a:hover,.legal-nav-links a.active{background:var(--tac-navy);color:#fff;}
.legal-hero{padding:58px 0 22px;}
.legal-hero h1{font-size:clamp(2rem,5vw,4.4rem);line-height:.96;letter-spacing:-.065em;max-width:840px;margin:12px 0;}
.legal-hero p{color:var(--muted);font-size:1.06rem;max-width:760px;}
.legal-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:18px;align-items:start;}
.legal-aside,.legal-content{background:var(--paper);border:1px solid var(--line);border-radius:30px;padding:22px;box-shadow:var(--shadow-soft);}
.legal-aside{position:sticky;top:96px;display:grid;gap:10px;}
.legal-aside a{padding:12px 14px;border-radius:999px;background:var(--soft);font-weight:800;color:var(--ink);}
.legal-aside a:hover{background:var(--tac-navy);color:#fff;}
.legal-content h2{font-size:1.35rem;margin:22px 0 8px;letter-spacing:-.03em;}
.legal-content h2:first-child{margin-top:0;}
.legal-content p,.legal-content li{color:var(--muted);line-height:1.75;}
.legal-content ul{padding-left:18px;margin:10px 0 0;}
.legal-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px;}
.legal-card{background:var(--paper);border:1px solid var(--line);border-radius:28px;padding:20px;box-shadow:var(--shadow-soft);}
.legal-card i{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--tac-navy);color:#fff;margin-bottom:18px;}
.legal-card h3{font-size:1.08rem;margin-bottom:8px;}
.legal-card p{color:var(--muted);line-height:1.65;}
.legal-footer{margin-top:22px;border-radius:28px;background:#061a33;color:#fff;padding:22px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;}
.legal-footer a,.legal-footer p{color:rgba(255,255,255,.8);}
@media(max-width:780px){
  .legal-nav{border-radius:26px;align-items:flex-start;flex-direction:column;}
  .legal-nav-links{justify-content:flex-start;}
  .legal-grid{grid-template-columns:1fr;}
  .legal-aside{position:static;}
  .legal-card-grid{grid-template-columns:1fr;}
}
@media(max-width:680px){
  .hero{padding-top:10px;}
  section{padding-top:18px;padding-bottom:32px;}
}

/* Final visibility + layout audit requested */
/* Keep the existing footer background color; only improve contrast inside it. */
.footer,
.legal-footer{
  background:#061a33 !important;
  color:#ffffff !important;
  border-color:rgba(255,255,255,.14) !important;
}
.footer strong,
.footer span,
.footer p,
.footer a,
.legal-footer p,
.legal-footer a{
  color:#ffffff !important;
}
.footer-brand p,
.footer-note p,
.legal-footer p{
  color:rgba(255,255,255,.78) !important;
}
.footer-links a,
.footer-note a,
.legal-footer a{
  background:rgba(255,255,255,.08) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  color:#ffffff !important;
}
.footer-links a:hover,
.footer-note a:hover,
.legal-footer a:hover{
  background:rgba(255,255,255,.15) !important;
  color:#ffffff !important;
}

/* Fix the Capital & Forex image on desktop so it fills the card without empty PC gaps. */
@media(min-width:1051px){
  .service-tile.large{
    padding:0 !important;
    display:grid !important;
    grid-template-rows:360px 1fr !important;
    gap:0 !important;
    align-content:stretch !important;
    overflow:hidden !important;
  }
  .service-tile.large img{
    width:100% !important;
    height:360px !important;
    min-height:360px !important;
    max-height:360px !important;
    display:block !important;
    object-fit:cover !important;
    object-position:center !important;
    margin:0 !important;
    border-radius:0 !important;
    line-height:0 !important;
  }
  .service-tile.large div{
    padding:24px !important;
  }
}

/* Stop blue text from sitting on blue/dark panels. */
.company-card,
.review-main,
.money-card,
.auth-panel{
  color:#ffffff !important;
}
.company-card h2,
.company-card h3,
.company-card strong,
.company-card li,
.review-main h2,
.review-main h3,
.review-main strong,
.review-main p,
.money-card h2,
.money-card span,
.auth-panel h1,
.auth-panel h2,
.auth-panel strong{
  color:#ffffff !important;
}
.company-card p,
.auth-panel p{
  color:rgba(255,255,255,.78) !important;
}
.company-card .kicker,
.review-main .kicker,
.company-card .section-head p,
.review-main .section-head p{
  color:#cfe6ff !important;
}
.company-card .btn-dark{
  background:#ffffff !important;
  color:#061a33 !important;
}
.company-card .btn-light{
  background:rgba(255,255,255,.08) !important;
  color:#ffffff !important;
  border-color:rgba(255,255,255,.24) !important;
}
.company-card .btn-dark:hover,
.company-card .btn-light:hover{
  background:#cfe6ff !important;
  color:#061a33 !important;
}

/* Clean separate design for inner pages: top navigation, no left rail, same polished footer tone. */
.legal-body{
  background:var(--bg) !important;
  color:var(--ink) !important;
}
.legal-shell{
  padding-bottom:24px;
}
.legal-nav{
  background:color-mix(in srgb,var(--paper) 94%,transparent) !important;
  border-color:var(--line) !important;
  backdrop-filter:blur(18px);
}
.legal-nav-links a{
  color:var(--muted) !important;
}
.legal-nav-links a:hover,
.legal-nav-links a.active{
  background:#082c52 !important;
  color:#ffffff !important;
}
.dark .legal-nav-links a:hover,
.dark .legal-nav-links a.active{
  background:#1b5a9b !important;
  color:#ffffff !important;
}
.legal-aside,
.legal-content,
.legal-card,
.auth-card{
  background:var(--paper) !important;
  border-color:var(--line) !important;
  color:var(--ink) !important;
}
.legal-content h1,
.legal-content h2,
.legal-content h3,
.legal-card h3,
.auth-card h2,
.auth-card h3,
.auth-card strong,
.legal-brand span{
  color:var(--ink) !important;
}
.legal-content p,
.legal-content li,
.legal-card p,
.auth-card p,
.auth-switch,
.auth-mini label{
  color:var(--muted) !important;
}
.legal-aside a{
  background:var(--soft) !important;
  color:var(--ink) !important;
}
.legal-aside a:hover{
  background:#082c52 !important;
  color:#ffffff !important;
}
.dark .legal-aside a:hover{
  background:#1b5a9b !important;
}

/* Form contrast audit for both modes. */
input,
textarea,
select{
  color:var(--ink) !important;
  background:var(--paper) !important;
  border:1px solid var(--line) !important;
}
input::placeholder,
textarea::placeholder{
  color:color-mix(in srgb,var(--muted) 76%,transparent) !important;
}
select option{
  color:#05070a;
  background:#ffffff;
}
.dark select option{
  color:#ffffff;
  background:#07111d;
}

/* Mobile image sizing after the desktop no-gap fix. */
@media(max-width:1050px){
  .service-tile.large{
    display:block !important;
  }
  .service-tile.large img{
    width:100% !important;
    height:300px !important;
    min-height:300px !important;
    max-height:none !important;
    object-fit:cover !important;
    border-radius:0 !important;
  }
}
@media(max-width:680px){
  .service-tile.large img{
    height:220px !important;
    min-height:220px !important;
  }
  .legal-footer{
    border-radius:24px;
  }
}


/* Final page unification: inner pages now use the same left navigation and footer system as the main page. */
.legal-body .page{
  width:min(1240px,calc(100% - 116px));
  margin-left:104px;
  margin-right:auto;
  padding:30px 0 24px;
}
.legal-shell{
  padding-bottom:24px;
}
.legal-shell .legal-hero{
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:36px;
  padding:34px;
  margin-bottom:18px;
  box-shadow:var(--shadow-soft);
}
.legal-shell .legal-hero h1{
  font-size:clamp(2rem,4vw,4.6rem);
  line-height:.98;
  letter-spacing:-.06em;
  margin:12px 0;
  color:var(--ink) !important;
}
.legal-shell .legal-hero p:not(.kicker){
  max-width:760px;
  color:var(--muted) !important;
  font-size:.98rem;
}
.legal-grid{
  display:grid;
  grid-template-columns:.32fr 1fr;
  gap:18px;
  align-items:start;
}
.legal-aside{
  position:sticky;
  top:28px;
  display:grid;
  gap:10px;
  border-radius:32px !important;
  padding:16px !important;
  box-shadow:var(--shadow-soft);
}
.legal-content,
.legal-card,
.auth-card{
  border-radius:32px !important;
  box-shadow:var(--shadow-soft);
}
.legal-content{
  padding:30px !important;
}
.legal-content h2{
  font-size:1.35rem;
  letter-spacing:-.03em;
  margin:0 0 8px;
}
.legal-content p,
.legal-content li{
  font-size:.94rem;
  line-height:1.75;
}
.legal-content h2:not(:first-child){
  margin-top:28px;
}
.legal-footer{display:none !important;}
.auth-body{
  min-height:100vh;
  display:block !important;
  padding:0 !important;
  background:var(--bg) !important;
}
.auth-main{
  min-height:auto;
}
.auth-main .auth-shell{
  width:100%;
  margin-top:10px;
}
.auth-main .footer{
  margin-top:22px;
}
.mobile-panel a:hover,
.mobile-panel a:focus-visible,
.mobile-panel button:hover,
.mobile-panel button:focus-visible{
  background:#082c52 !important;
  color:#ffffff !important;
}
.dark .mobile-panel a:hover,
.dark .mobile-panel a:focus-visible,
.dark .mobile-panel button:hover,
.dark .mobile-panel button:focus-visible{
  background:#ffffff !important;
  color:#061a33 !important;
}
.mobile-panel a:hover *,
.mobile-panel button:hover *{
  color:inherit !important;
}
@media(max-width:1050px){
  .legal-body .page{
    width:calc(100% - 24px);
    margin:0 auto;
    padding-top:8px;
  }
  .legal-grid{
    grid-template-columns:1fr;
  }
  .legal-aside{
    position:static;
    grid-template-columns:repeat(2,1fr);
  }
}
@media(max-width:680px){
  .legal-shell .legal-hero{
    border-radius:28px;
    padding:22px;
  }
  .legal-grid{gap:12px;}
  .legal-aside{
    grid-template-columns:1fr;
    border-radius:26px !important;
  }
  .legal-content{
    padding:22px !important;
    border-radius:26px !important;
  }
  .auth-main .auth-shell{
    gap:12px;
  }
}

/* Last auth correction: keep the left side of Sign in / Sign up dark, never white. */
.auth-body .auth-panel{
  background:linear-gradient(135deg,#061a33,#020913) !important;
  border-color:rgba(255,255,255,.14) !important;
  color:#ffffff !important;
  box-shadow:var(--shadow-soft) !important;
}
.dark .auth-body .auth-panel{
  background:linear-gradient(135deg,#07111d,#020509) !important;
  border-color:#193452 !important;
  color:#ffffff !important;
}
.auth-body .auth-panel h1,
.auth-body .auth-panel h2,
.auth-body .auth-panel h3,
.auth-body .auth-panel strong,
.auth-body .auth-panel .auth-points div,
.auth-body .auth-panel .auth-points i{
  color:#ffffff !important;
}
.auth-body .auth-panel p{
  color:rgba(255,255,255,.78) !important;
}
.auth-body .auth-panel .kicker,
.auth-body .auth-panel .section-head p{
  color:#cfe6ff !important;
}
.auth-body .auth-panel .logo-mark,
.auth-body .auth-panel .rail-logo{
  background:#ffffff !important;
  border-color:rgba(255,255,255,.22) !important;
}
@media(max-width:1050px){
  .auth-body .auth-panel{
    min-height:auto !important;
  }
}


/* Auth extras: forgot/reset pages and Google access buttons */
.auth-helper{
  margin-top:10px;
  color:var(--muted) !important;
  font-size:.92rem;
  line-height:1.65;
}
.auth-divider{
  display:flex;
  align-items:center;
  gap:12px;
  margin:18px 0;
  color:var(--muted);
  font-size:.8rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.12em;
}
.auth-divider::before,
.auth-divider::after{
  content:"";
  height:1px;
  flex:1;
  background:var(--line);
}
.google-auth-btn{
  min-height:50px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  background:var(--paper);
  color:var(--ink) !important;
  border:1px solid var(--line);
  font-weight:900;
  box-shadow:0 12px 30px rgba(0,0,0,.05);
  margin-bottom:18px;
}
.google-auth-btn:hover{
  background:#082c52;
  border-color:#082c52;
  color:#ffffff !important;
}
.dark .google-auth-btn:hover{
  background:#ffffff;
  border-color:#ffffff;
  color:#061a33 !important;
}
.google-auth-btn i,
.google-auth-btn span{
  color:inherit !important;
}
.auth-mini a{
  color:var(--accent) !important;
  font-weight:900;
}
.dark .auth-mini a{
  color:var(--accent-2) !important;
}
