/* The screen stays a real AVIF image; the lightweight hardware is CSS. */
#content > main { padding-top: 0; }
.landing-hero { position:relative; isolation:isolate; overflow:hidden; display:grid; grid-template-columns: minmax(0,1.48fr) minmax(0,1fr); align-items:center; gap:20px; min-height:650px; width:calc(100vw - 264px); margin:0 0 96px calc(-32px - max(0px, (100vw - 1964px)/2)); padding:65px 35px 80px 24px; color:#070b17; }
.landing-hero::before { content:""; position:absolute; inset:-10px; z-index:-1; background-image:linear-gradient(rgba(255,255,255,.48), rgba(255,255,255,.48)), url('/static/images/hero-study-desk.avif'); background-position:center bottom; background-size:cover; background-repeat:no-repeat; filter:blur(8px); transform:scale(1.025); }
.landing-hero-copy { order:2; min-width:0; padding-bottom:25px; }
.landing-eyebrow { display:inline-block; border:2px solid #555b65; border-radius:12px; padding:7px 14px; background:#f1f6ff; font-size:clamp(10px,1vw,16px); font-weight:800; text-transform:uppercase; line-height:1.2; }
.landing-hero-title { margin:20px 0 27px; font-size:clamp(35px,4.15vw,76px); line-height:.99; letter-spacing:-.055em; font-weight:900; }
.landing-hero-title > span { display:block; white-space:nowrap; }
.landing-stress { position:relative; width:max-content; color:#0A2342; }
.landing-stress::after { content:""; position:absolute; left:0; right:4%; bottom:-10px; height:8px; border-radius:80% 40% 50% 30%; background:var(--brand-accent); transform:rotate(-.6deg); }
.landing-description { font-size:clamp(16px,1.4vw,24px); line-height:1.42; letter-spacing:-.025em; }
.landing-actions { display:grid; grid-template-columns:1fr 1.1fr; gap:18px; margin-top:30px; }
.landing-cta { display:flex; align-items:center; justify-content:center; gap:8px; padding:18px 9px; border:3px solid #111; background:#fff; box-shadow:5px 6px 0 #111; color:#080808; text-align:center; font-size:clamp(12px,1.3vw,21px); font-weight:800; line-height:1.2; letter-spacing:-.035em; transition:transform .15s,box-shadow .15s; }
.landing-cta-primary { background:var(--brand-accent); }
.landing-cta svg { width:23px; height:23px; flex-shrink:0; }
.landing-cta:hover { transform:translate(-2px,-2px); box-shadow:7px 8px 0 #111; }
.landing-cta:focus-visible { outline:3px solid #0750ff; outline-offset:8px; }
.landing-benefits { display:flex; justify-content:space-between; gap:14px; padding:0; margin:43px 0 0; list-style:none; }
.landing-benefits li { display:flex; align-items:center; gap:10px; font-size:clamp(10px,.82vw,14px); font-weight:800; line-height:1.4; letter-spacing:-.02em; text-shadow:0 1px 10px rgba(255,255,255,.85); }
.landing-benefit-icon { display:grid; place-items:center; width:44px; height:44px; flex-shrink:0; background:#dce6ff; border-radius:50%; color:#0A2342; }
.landing-benefit-icon svg { width:23px; height:23px; }
.landing-benefits li:nth-child(2) .landing-benefit-icon { background:#ffc928; color:#0A2342; }
.landing-benefits li:nth-child(3) .landing-benefit-icon { background:#0A2342; color:#ffc928; }
.landing-laptop { --laptop-rotate-x:0deg; --laptop-rotate-y:0deg; --laptop-scale:1; order:1; position:relative; width:100%; align-self:end; margin-bottom:0; transform:perspective(1400px) rotateX(var(--laptop-rotate-x)) rotateY(var(--laptop-rotate-y)) scale(var(--laptop-scale)); transform-origin:center bottom; transform-style:preserve-3d; transition:transform 180ms ease-out; filter:drop-shadow(0 14px 8px #0004); }
.laptop-lid { position:relative; margin:0 5%; padding:3.2% 2.1% 3.6%; border:2px solid #68696b; border-radius:25px 25px 7px 7px; background:linear-gradient(120deg,#060707,#15181b 55%,#060707); box-shadow:inset 0 0 3px 1px #a3a3a3,0 2px 1px #000; }
.laptop-camera { position:absolute; width:5px; height:5px; border-radius:50%; background:#172333; top:2.1%; left:50%; box-shadow:inset 0 0 2px #000; }
.laptop-screen { overflow:hidden; border-radius:4px; background:#fff; }
.laptop-screen img { display:block; width:100%; height:auto; }
.laptop-deck { position:relative; height:75px; margin-top:-1px; background:linear-gradient(100deg,#969698,#4c4c52 20%,#7d7d85 50%,#a6a6ab 95%); clip-path:polygon(5% 0,95% 0,100% 92%,99% 100%,1% 100%,0 92%); border-radius:0 0 8px 8px; border-top:2px solid #353538; }
.laptop-keyboard { position:absolute; left:11%; right:11%; top:6%; height:48%; transform:perspective(200px) rotateX(28deg); border:3px solid #535359; border-radius:3px; background:repeating-linear-gradient(0deg,transparent 0 8px,#77777d 8px 10px),repeating-linear-gradient(90deg,#191b20 0 20px,#77777d 20px 23px); box-shadow:0 0 3px #111; }
.laptop-trackpad { position:absolute; bottom:5%; left:38%; width:24%; height:30%; border:1px solid #55555d; border-radius:3px; background:linear-gradient(120deg,#77777e,#98989e); }
.laptop-edge { height:12px; border-radius:0 0 45% 45%; background:linear-gradient(#c2c2c5,#717176 40%,#29292c 85%,#111); position:relative; }
.laptop-edge::before { content:""; position:absolute; top:0; left:40%; width:20%; height:5px; border-radius:0 0 10px 10px; background:linear-gradient(90deg,#ddd,#6e6e73 15%,#6e6e73 85%,#ddd); }
@media(min-width:1024px) { #content > main { max-width:1700px; } .landing-hero { min-height: min(690px,55vw); } .landing-laptop { --laptop-scale:.78; } }
@media(min-width:1600px) { .landing-hero { padding-top:75px; padding-bottom:65px; } }
@media(max-width:1199px) and (min-width:1024px) { .landing-hero { gap:14px; padding-left:12px; padding-right:20px; } .landing-hero-title { font-size:3.5vw; } .landing-benefits { flex-wrap:wrap; margin-top:25px; } .landing-benefit-icon { width:30px; height:30px; } .landing-cta { padding:14px 5px; } }
@media(max-width:1023px) { .landing-hero { width:auto; grid-template-columns:1fr; margin:0 -24px 64px; padding:40px 24px 55px; gap:40px; } .landing-hero-copy { order:1; max-width:620px; margin:auto; padding:0; } .landing-laptop { order:2; max-width:720px; margin:auto; } .landing-hero-title { font-size:clamp(38px,8.5vw,68px); } .landing-description { font-size:20px; } .landing-eyebrow { font-size:13px; } .landing-cta { font-size:17px; } .landing-benefits li { font-size:12px; } .landing-hero::before { background-size:auto 100%; } }
@media(max-width:639px) { .landing-hero { margin-left:-16px; margin-right:-16px; padding:32px 20px 35px; } .landing-description { font-size:17px; } .landing-actions { grid-template-columns:1fr; gap:15px; margin-top:24px; } .landing-cta { padding:17px 12px; } .landing-benefits { gap:10px; margin-top:29px; } .landing-benefits li { flex-direction:column; align-items:flex-start; font-size:10px; gap:7px; } .landing-benefit-icon { width:36px; height:36px; } .laptop-lid { border-radius:14px 14px 4px 4px; } .laptop-deck { height:42px; } .laptop-edge { height:7px; } .laptop-keyboard { background-size:auto; } }
@media(prefers-reduced-motion:reduce) { .landing-laptop,.landing-cta { transition:none; } }
/* Size the heading to its column, including beside the persistent navigation. */
.landing-hero-copy { container-type:inline-size; }
.landing-hero-title { font-size:clamp(32px,12cqw,76px); }
@media(max-width:1023px) { .landing-hero-copy { width:100%; } }
@media(max-width:359px) { .landing-hero-title { font-size:11.8cqw; } }

/* Responsive pricing cards and period switcher. */
.home-pricing { --pricing-gap:clamp(1rem,2.2vw,1.75rem); margin-bottom:clamp(3rem,6vw,5rem) !important; }
.home-pricing-header { margin-inline:auto; max-width:min(100%,56rem); padding-inline:clamp(.25rem,2vw,1.5rem); }
.home-pricing-period { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)); width:min(100%,27rem); }
.home-pricing-period button { min-width:0; padding:clamp(.7rem,1.4vw,1rem) clamp(.65rem,2vw,1.25rem); color:var(--brand-color); font-size:clamp(.72rem,1.45vw,.9rem); line-height:1.15; transition:background-color .16s ease,color .16s ease; }
.home-pricing-period button:hover { background:#f1f5f9; }
.home-pricing-period button[aria-pressed="true"] { background:var(--brand-color); color:#fff; }
.home-pricing-period button[aria-pressed="true"]:hover { background:var(--brand-color); }
.home-pricing-grid { display:grid !important; grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr)); gap:var(--pricing-gap); align-items:stretch; }
.home-pricing-card { display:grid !important; grid-template-rows:auto auto minmax(4.875rem,auto) auto auto 1fr auto; min-width:0; padding:clamp(1.35rem,2.4vw,2rem) !important; padding-bottom:clamp(1.15rem,2vw,1.5rem) !important; text-align:center; }
.home-pricing-card > ul { justify-self:center; width:min(100%,max-content); text-align:left; }
.home-pricing-card > div[class*="border-t"] { margin-top:clamp(1.25rem,2.2vw,1.5rem); }
.home-pricing-card [data-home-price] { font-size:clamp(3.5rem,7vw,4.5rem); }
.home-pricing-card [data-home-points] { font-size:clamp(2.25rem,4vw,2.75rem); }
.home-pricing-card > a { position:relative; display:flex; align-items:center; justify-content:center; min-height:clamp(3.5rem,6vw,4.25rem); margin-top:clamp(1.25rem,2.4vw,1.75rem) !important; padding-top:0 !important; }
.home-pricing-cta-arrow { position:absolute; right:clamp(1rem,2.5vw,1.5rem); top:50%; transform:translateY(-50%); }
@media (max-width:639px) { .home-pricing-card { border-radius:.75rem; } .home-pricing-card > p:nth-of-type(2) { min-height:auto; } .home-pricing-card ul { font-size:clamp(.95rem,4vw,1.1rem); } }
