:root{
--upgrade-deep:#003249;
--upgrade-white:#F9FAFC;
--upgrade-mist:#BDD3E0;
--upgrade-sky:#80C7E3;
--upgrade-sand:#DFCBAE;
--upgrade-black:#111111;
--upgrade-light:#EEF5F8;
--upgrade-error:#A33A3A;
--deep-rgb:0,50,73;
--dark-line:#315C70;
--dark-muted:#B8CFDB;
--mist-muted:#2C4655;
--page-bg:var(--upgrade-light);
--page-fg:var(--upgrade-deep);
--page-muted:#3C5766;
--page-line:#B7CBD6;
--accent:var(--upgrade-deep);
--surface:var(--upgrade-white);
--surface-line:var(--upgrade-mist);
--btn-bg:var(--upgrade-deep);
--btn-fg:var(--upgrade-white);
--ghost-line:#8EAAB9;
--page-error:var(--upgrade-error);
--wrap:min(1180px,calc(100% - 48px));
--ease:cubic-bezier(0,0,.2,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
margin:0;
background:var(--page-bg);
color:var(--page-fg);
font-family:'DM Sans',Arial,sans-serif;
font-size:17px;
line-height:1.68;
-webkit-font-smoothing:antialiased;
text-rendering:optimizeLegibility;
}
body.nav-open{overflow:hidden}
a{color:inherit}
img{max-width:100%;display:block}
button,input,textarea,select{font:inherit}
button{color:inherit}
.skip-link{
position:fixed;left:16px;top:12px;z-index:1000;
padding:10px 14px;background:var(--upgrade-white);color:var(--upgrade-deep);
transform:translateY(-160%);transition:transform .2s var(--ease);
}
.skip-link:focus{transform:none}
:focus-visible{outline:2px solid var(--upgrade-sky);outline-offset:4px}
.wrap{width:var(--wrap);margin:0 auto}
.eyebrow{
margin:0 0 18px;
font-size:13px;font-weight:600;letter-spacing:.08em;
color:var(--page-muted);
}
h1,h2,.display{
font-family:'Newsreader',Georgia,serif;
font-weight:500;
letter-spacing:-.025em;
margin:0;
}
h1{font-size:clamp(52px,7.4vw,104px);line-height:.94}
h2{font-size:clamp(36px,4.7vw,62px);line-height:1.03}
h3{margin:0;font-size:18px;line-height:1.35}
p{margin:0}
.lead{font-size:clamp(18px,2.1vw,23px);line-height:1.55;max-width:720px}
.muted{color:var(--page-muted)}
.small{font-size:14px;line-height:1.55}
.rule{border-top:1px solid var(--page-line)}
.site-header{
position:sticky;top:0;z-index:100;
height:78px;
color:var(--upgrade-white);
background:var(--upgrade-deep);
}
.header-inner{
width:var(--wrap);height:100%;margin:0 auto;
display:flex;align-items:center;justify-content:space-between;gap:24px;
}
.logo{display:inline-flex;align-items:center;color:var(--upgrade-white);text-decoration:none}
.logo-mark{display:block;width:150px;height:auto;color:currentColor}
.logo-mark path{fill:currentColor}
.logo-ghost{opacity:.28}
.nav{display:flex;align-items:center;gap:28px;font-size:15px}
.nav a{text-decoration:none}
.nav a:not(.btn):hover{text-decoration:underline;text-underline-offset:5px}
.nav-toggle{
display:none;border:1px solid rgba(var(--deep-rgb),0);
background:transparent;color:var(--upgrade-white);padding:10px 0;
font-size:14px;font-weight:600;
}
.btn{
position:relative;display:inline-flex;align-items:center;justify-content:center;
min-height:54px;padding:0 25px;
border:1px solid var(--btn-bg);
background:var(--btn-bg);color:var(--btn-fg);
text-decoration:none;text-transform:uppercase;
font-size:13px;font-weight:600;letter-spacing:.13em;
cursor:pointer;border-radius:0;
transition:outline-color .3s var(--ease),background-color .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease);
}
.btn:hover{outline:2px solid var(--accent);outline-offset:3px}
.btn--light{
--btn-bg:var(--upgrade-white);--btn-fg:var(--upgrade-deep);--accent:var(--upgrade-sky);
}
.btn--ghost{
background:transparent;color:inherit;border-color:currentColor;
}
.btn--ghost:hover{outline-color:var(--upgrade-sky)}
.actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.section{padding:112px 0}
.section--tight{padding:78px 0}
.theme-dark{
--page-bg:var(--upgrade-deep);
--page-fg:var(--upgrade-white);
--page-muted:var(--dark-muted);
--page-line:var(--dark-line);
--accent:var(--upgrade-sky);
--surface:#0C3C52;
--surface-line:var(--dark-line);
--btn-bg:var(--upgrade-white);
--btn-fg:var(--upgrade-deep);
--ghost-line:#66899A;
background:var(--page-bg);color:var(--page-fg);
}
.theme-light{
--page-bg:var(--upgrade-light);
--page-fg:var(--upgrade-deep);
--page-muted:#3C5766;
--page-line:#B7CBD6;
--accent:var(--upgrade-deep);
--surface:var(--upgrade-white);
--surface-line:var(--upgrade-mist);
--btn-bg:var(--upgrade-deep);
--btn-fg:var(--upgrade-white);
background:var(--page-bg);color:var(--page-fg);
}
.theme-mist{
--page-bg:var(--upgrade-mist);
--page-fg:var(--upgrade-deep);
--page-muted:var(--mist-muted);
--page-line:#91AFBF;
--accent:var(--upgrade-deep);
--surface:var(--upgrade-white);
--surface-line:#91AFBF;
--btn-bg:var(--upgrade-deep);
--btn-fg:var(--upgrade-white);
background:var(--page-bg);color:var(--page-fg);
}
.hero{
position:relative;min-height:calc(100svh - 78px);
display:flex;align-items:center;overflow-x:clip;
padding:76px 0 82px;
}
.hero-grid{
width:100%;
display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);
align-items:center;gap:70px;
}
.hero-copy{position:relative;z-index:2}
.hero h1{max-width:850px}
.hero-word{display:block;color:var(--upgrade-sand);min-height:1.05em}
.hero .lead{margin:30px 0 34px;max-width:650px}
.hero-meta{margin-top:20px;font-size:14px;color:var(--page-muted)}
.planes{
position:relative;height:min(62vw,650px);min-height:430px;
border-left:1px solid var(--page-line);
}
.plane{
position:absolute;width:68%;height:17%;
border:1px solid var(--upgrade-sky);background:transparent;
}
.plane:nth-child(1){top:13%;left:13%;opacity:.18}
.plane:nth-child(2){top:27%;left:20%;opacity:.28}
.plane:nth-child(3){top:41%;left:27%;opacity:.40}
.plane:nth-child(4){top:55%;left:34%;opacity:.56}
.plane:nth-child(5){top:69%;left:41%;opacity:.72}
.planes-label{
position:absolute;right:0;bottom:0;
width:59%;padding:22px 0 0;border-top:1px solid var(--page-line);
color:var(--page-muted);font-size:14px;
}
.section-head{
display:grid;grid-template-columns:.65fr 1.35fr;gap:60px;
align-items:start;margin-bottom:64px;
}
.section-head .lead{max-width:680px}
.two-up{
display:grid;grid-template-columns:1fr 1fr;
border-top:1px solid var(--page-line);border-bottom:1px solid var(--page-line);
}
.two-up article{padding:48px 44px 52px 0}
.two-up article+article{padding-left:44px;border-left:1px solid var(--page-line)}
.kicker{font-size:13px;font-weight:600;margin-bottom:18px;color:var(--page-muted)}
.big-copy{
font-family:'Newsreader',Georgia,serif;font-weight:500;
font-size:clamp(32px,3.2vw,48px);line-height:1.06;letter-spacing:-.02em;
margin-bottom:22px;
}
.range-lines{border-top:1px solid var(--page-line)}
.range-line{
display:grid;grid-template-columns:180px 1fr 220px;
gap:30px;padding:26px 0;border-bottom:1px solid var(--page-line);align-items:baseline;
}
.range-line strong{font-size:15px}
.range-line span:nth-child(2){font-family:'Newsreader',Georgia,serif;font-size:clamp(28px,3vw,42px);line-height:1.1}
.range-line span:last-child{font-size:14px;color:var(--page-muted)}
.product-frame{
display:grid;grid-template-columns:260px minmax(0,1fr);
border:1px solid var(--page-line);min-height:610px;background:var(--surface);
}
.product-tabs{
background:var(--upgrade-deep);color:var(--upgrade-white);padding:26px 0;
}
.product-tabs .tab-label{padding:0 26px 24px;font-size:13px;color:var(--dark-muted)}
.product-tab{
display:block;width:100%;text-align:left;border:0;border-top:1px solid var(--dark-line);
background:transparent;color:inherit;padding:20px 26px;cursor:pointer;
}
.product-tab:last-child{border-bottom:1px solid var(--dark-line)}
.product-tab strong{display:block;font-size:15px;margin-bottom:4px}
.product-tab span{display:block;font-size:12px;color:var(--dark-muted)}
.product-tab[aria-selected="true"]{background:var(--upgrade-mist);color:var(--upgrade-deep)}
.product-tab[aria-selected="true"] span{color:var(--mist-muted)}
.product-panel{display:grid;grid-template-rows:minmax(0,1fr) auto;min-width:0}
.product-shot{
display:flex;align-items:center;justify-content:center;
padding:34px;background:var(--upgrade-light);min-height:430px;
}
.product-shot img{max-height:430px;width:auto;object-fit:contain;border:1px solid var(--surface-line)}
.product-copy{padding:30px 34px;border-top:1px solid var(--page-line)}
.product-copy h3{
font-family:'Newsreader',Georgia,serif;font-size:30px;font-weight:500;margin-bottom:8px;
}
.product-copy p{max-width:720px;color:var(--page-muted)}
.product-panel[hidden]{display:none}
.trust-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:start}
.trust-list{border-top:1px solid var(--page-line)}
.trust-item{padding:26px 0;border-bottom:1px solid var(--page-line)}
.trust-item strong{display:block;margin-bottom:5px}
.statement{
font-family:'Newsreader',Georgia,serif;font-size:clamp(36px,4.4vw,60px);
line-height:1.03;letter-spacing:-.025em;
}
.price-preview{display:grid;grid-template-columns:1fr 1fr 1fr;border-top:1px solid var(--page-line)}
.price-preview article{padding:32px 28px 36px 0;border-bottom:1px solid var(--page-line)}
.price-preview article+article{padding-left:28px;border-left:1px solid var(--page-line)}
.price{font-family:'Newsreader',Georgia,serif;font-size:48px;line-height:1;margin:18px 0 9px}
.price small{font-family:'DM Sans',Arial,sans-serif;font-size:14px}
.price-preview p{color:var(--page-muted);font-size:15px}
.calc{
display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--page-line);background:var(--surface);
}
.calc-inputs{padding:38px}
.calc-result{
padding:38px;background:var(--upgrade-deep);color:var(--upgrade-white);
display:flex;flex-direction:column;justify-content:space-between;min-height:380px;
}
.field{margin-bottom:26px}
.field label{display:block;font-weight:600;font-size:14px;margin-bottom:9px}
.field input,.field select,.field textarea{
width:100%;border:1px solid var(--surface-line);border-radius:0;
background:transparent;color:var(--page-fg);padding:14px 15px;
}
.field textarea{min-height:150px;resize:vertical}
.range-row{display:grid;grid-template-columns:1fr 64px;gap:16px;align-items:center}
input[type="range"]{padding:0;border:0;accent-color:var(--upgrade-deep)}
.calc-number{
font-family:'Newsreader',Georgia,serif;font-size:clamp(72px,9vw,120px);
line-height:.9;color:var(--upgrade-sand);letter-spacing:-.05em;
}
.calc-result .small{color:var(--dark-muted)}
.calc-note{border-top:1px solid var(--dark-line);padding-top:20px}
.faq-list{max-width:920px;border-top:1px solid var(--page-line)}
.faq-list details{border-bottom:1px solid var(--page-line)}
.faq-list summary{
list-style:none;cursor:pointer;padding:25px 0;
display:flex;justify-content:space-between;gap:24px;font-weight:600;
}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";font-size:22px;font-weight:400}
.faq-list details[open] summary::after{content:"–"}
.faq-list details p{padding:0 54px 26px 0;color:var(--page-muted);max-width:800px}
.final-cta{
display:grid;grid-template-columns:1.25fr .75fr;gap:60px;align-items:end;
}
.final-cta p{max-width:560px;color:var(--page-muted);margin-top:22px}
.page-hero{padding:100px 0 76px;border-bottom:1px solid var(--page-line)}
.page-hero-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:70px;align-items:end}
.page-hero h1{font-size:clamp(52px,6.2vw,86px);line-height:.98}
.page-hero .lead{margin-top:24px}
.page-hero-aside{font-size:14px;color:var(--page-muted);border-top:1px solid var(--page-line);padding-top:18px}
.pricing-grid{
display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--page-line);
}
.plan{padding:38px 32px 42px 0;border-bottom:1px solid var(--page-line)}
.plan+.plan{padding-left:32px;border-left:1px solid var(--page-line)}
.plan .price{font-size:64px}
.plan ul{padding:0;margin:26px 0 30px;list-style:none}
.plan li{padding:9px 0;border-top:1px solid var(--page-line);font-size:15px}
.plan li:last-child{border-bottom:1px solid var(--page-line)}
.plan-note{font-size:14px;color:var(--page-muted);min-height:48px}
.topic-list{border-top:1px solid var(--page-line)}
.topic{
display:grid;grid-template-columns:180px 1fr 140px;gap:32px;
padding:28px 0;border-bottom:1px solid var(--page-line);align-items:center;
}
.topic h2{font-size:clamp(34px,4vw,52px)}
.topic p{color:var(--page-muted);max-width:560px}
.topic span:last-child{text-align:right;font-size:13px;color:var(--page-muted)}
.form-shell{display:grid;grid-template-columns:.72fr 1.28fr;border-top:1px solid var(--page-line)}
.form-aside{padding:42px 40px 0 0}
.form-main{padding:42px 0 0 50px;border-left:1px solid var(--page-line)}
.form-main form{max-width:680px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.form-hint{font-size:13px;color:var(--page-muted);margin-top:8px}
.login-shell{
min-height:calc(100svh - 78px);display:grid;grid-template-columns:1.05fr .95fr;
}
.login-brand{
position:relative;background:var(--upgrade-deep);color:var(--upgrade-white);
padding:72px max(48px,7vw);display:flex;flex-direction:column;justify-content:space-between;
overflow:hidden;
}
.login-brand .statement{max-width:640px}
.login-brand .planes{position:absolute;inset:auto -140px -170px auto;width:520px;height:520px;border:0}
.login-form{
background:var(--upgrade-light);color:var(--upgrade-deep);
padding:72px max(48px,7vw);display:flex;align-items:center;
}
.login-card{width:min(520px,100%)}
.login-card h1{font-size:clamp(52px,6vw,76px);margin-bottom:12px}
.login-card .lead{font-size:18px;margin-bottom:36px}
.password-line{display:flex;justify-content:space-between;align-items:center;gap:20px}
.password-line a{font-size:13px}
.legal-shell{
display:grid;grid-template-columns:250px minmax(0,760px);gap:80px;
align-items:start;
}
.legal-toc{position:sticky;top:110px;border-top:1px solid var(--page-line);font-size:13px}
.legal-toc a{display:block;text-decoration:none;padding:10px 0;border-bottom:1px solid var(--page-line);color:var(--page-muted)}
.legal-toc a:hover{color:var(--page-fg)}
.legal-content h1{font-size:clamp(52px,6vw,78px);margin-bottom:18px}
.legal-content h2{
font-family:'DM Sans',Arial,sans-serif;font-size:24px;font-weight:600;letter-spacing:-.01em;
margin:58px 0 16px;padding-top:18px;border-top:1px solid var(--page-line);
}
.legal-content h3{font-size:17px;margin:26px 0 8px}
.legal-content p{margin:0 0 16px}
.legal-content ul{margin:0 0 20px;padding-left:22px}
.legal-content li{margin:8px 0}
.legal-content .nr{display:inline-block;min-width:32px;color:var(--page-muted)}
.legal__eyebrow{font-size:13px;font-weight:600;color:var(--page-muted);margin-bottom:14px}
.legal__meta{font-size:14px;color:var(--page-muted);margin-bottom:28px}
.concept{
padding:22px 24px;border:1px solid var(--page-error);
margin:28px 0 36px;background:var(--surface);
}
.scope{padding:20px 22px;border-left:3px solid var(--accent);background:var(--surface);margin:18px 0}
.fill{background:var(--upgrade-mist);color:var(--upgrade-deep);padding:1px 3px}
.site-footer{padding:72px 0 28px;background:var(--upgrade-deep);color:var(--upgrade-white)}
.footer-grid{
display:grid;grid-template-columns:1.2fr repeat(3,.6fr);gap:50px;
padding-bottom:52px;border-bottom:1px solid var(--dark-line);
}
.footer-brand p{margin-top:18px;max-width:420px;color:var(--dark-muted);font-size:15px}
.footer-col h3{font-size:13px;margin-bottom:16px}
.footer-col a{display:block;text-decoration:none;color:var(--dark-muted);font-size:14px;margin:9px 0}
.footer-col a:hover{color:var(--upgrade-white)}
.footer-bottom{
display:flex;justify-content:space-between;gap:30px;padding-top:24px;
font-size:13px;color:var(--dark-muted);
}
@media (max-width:900px){
:root{--wrap:min(100% - 32px,1180px)}
.nav-toggle{display:block}
.nav{
position:fixed;inset:78px 0 auto 0;background:var(--upgrade-deep);
padding:24px 16px 30px;display:none;flex-direction:column;align-items:flex-start;
border-top:1px solid var(--dark-line);
}
body.nav-open .nav{display:flex}
.header-inner>.btn{display:none}
.hero{min-height:auto;padding:70px 0 90px}
.hero-grid,.section-head,.trust-grid,.page-hero-grid,.final-cta,.form-shell,.login-shell,.legal-shell{
grid-template-columns:1fr;
}
.hero-grid{gap:40px}
.planes{height:420px;min-height:0;border-left:0;border-top:1px solid var(--page-line)}
.two-up,.pricing-grid,.price-preview{grid-template-columns:1fr}
.two-up article,.two-up article+article,.plan,.plan+.plan,.price-preview article,.price-preview article+article{
padding:32px 0;border-left:0;border-bottom:1px solid var(--page-line);
}
.range-line{grid-template-columns:120px 1fr}
.range-line span:last-child{grid-column:2}
.product-frame{grid-template-columns:1fr}
.product-tabs{display:grid;grid-template-columns:repeat(2,1fr);padding:0}
.product-tabs .tab-label{display:none}
.product-tab{border-top:0;border-right:1px solid var(--dark-line);border-bottom:1px solid var(--dark-line)}
.product-shot{padding:20px;min-height:340px}
.calc{grid-template-columns:1fr}
.topic{grid-template-columns:1fr;gap:8px}
.topic span:last-child{text-align:left}
.form-aside{padding:32px 0}
.form-main{padding:34px 0;border-left:0;border-top:1px solid var(--page-line)}
.login-brand{min-height:360px;padding:56px 24px}
.login-form{padding:60px 24px}
.legal-toc{position:static}
.footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:620px){
body{font-size:16px}
.section{padding:78px 0}
.section--tight{padding:58px 0}
.hero h1{font-size:clamp(48px,15vw,70px)}
.hero-grid{gap:20px}
.planes{height:330px}
.two-up article,.two-up article+article{padding:28px 0}
.range-line{grid-template-columns:1fr;gap:6px}
.range-line span:last-child{grid-column:auto}
.product-tabs{grid-template-columns:1fr}
.product-tab{border-right:0}
.product-shot{min-height:260px}
.product-copy{padding:24px}
.calc-inputs,.calc-result{padding:28px 22px}
.form-row{grid-template-columns:1fr;gap:0}
.footer-grid{grid-template-columns:1fr}
.footer-bottom{flex-direction:column}
}
@media (prefers-reduced-motion:reduce){
html{scroll-behavior:auto}
*,*::before,*::after{animation:none!important;transition:none!important}
}
