.subscription-page{
min-height:100vh;
}

.nav a.nav-subscribe{
background:rgba(249,230,168,.14);
border:1px solid rgba(249,230,168,.32);
color:#F9E6A8;
font-weight:800;
}

.subscription-hero{
position:relative;
overflow:hidden;
padding:118px 40px 92px;
background:
linear-gradient(90deg, rgba(244,241,234,.93) 0%, rgba(244,241,234,.80) 46%, rgba(244,241,234,.42) 100%),
url("/assets/illustrations/pnw-hero.png");
background-size:cover;
background-position:center center;
}

.subscription-hero::before{
content:"";
position:absolute;
inset:0;
background:
radial-gradient(circle at 74% 42%, rgba(249,230,168,.42), transparent 19rem),
linear-gradient(to bottom, rgba(31,77,58,.52), rgba(31,77,58,0) 96px);
pointer-events:none;
}

.subscription-hero-inner{
position:relative;
max-width:1120px;
margin:0 auto;
display:grid;
grid-template-columns:minmax(0, 1.05fr) minmax(320px, .72fr);
align-items:center;
gap:44px;
}

.subscription-copy{
max-width:720px;
animation:subscriptionRise .65s ease both;
}

.subscription-kicker{
display:inline-flex;
align-items:center;
padding:8px 13px;
border-radius:999px;
background:rgba(31,77,58,.11);
border:1px solid rgba(31,77,58,.16);
color:var(--pnw-evergreen);
font-size:11px;
font-weight:900;
letter-spacing:.12em;
text-transform:uppercase;
}

.subscription-copy h1{
margin:18px 0;
max-width:11ch;
font-size:64px;
line-height:.98;
letter-spacing:-.04em;
color:var(--pnw-evergreen);
}

.subscription-copy p{
margin:0;
max-width:62ch;
font-size:18px;
line-height:1.7;
color:rgba(30,47,68,.86);
}

.subscription-actions{
display:flex;
flex-wrap:wrap;
gap:14px;
align-items:center;
margin-top:28px;
}

.subscription-primary,
.subscription-secondary{
display:inline-flex;
align-items:center;
justify-content:center;
min-height:48px;
padding:14px 24px;
border-radius:12px;
text-decoration:none;
font-weight:800;
transition:transform .16s ease, box-shadow .16s ease, background .16s ease;
}

.subscription-primary{
background:var(--pnw-evergreen);
color:white;
box-shadow:0 16px 28px rgba(31,77,58,.22);
}

.subscription-primary:hover,
.subscription-secondary:hover{
transform:translateY(-2px);
text-decoration:none;
}

.subscription-primary:hover{
box-shadow:0 20px 34px rgba(31,77,58,.28);
}

.subscription-secondary{
background:rgba(255,255,255,.42);
border:2px solid var(--pnw-river);
color:var(--pnw-evergreen);
}

.subscription-link-note{
margin-top:14px !important;
font-size:13px !important;
line-height:1.55 !important;
color:rgba(30,47,68,.68) !important;
}

.subscription-visual{
position:relative;
min-height:430px;
display:grid;
place-items:center;
animation:subscriptionFade .85s ease .18s both;
}

.subscription-visual img{
position:relative;
width:min(330px, 82vw);
filter:drop-shadow(0 24px 26px rgba(30,47,68,.24));
transform:rotate(-8deg);
animation:subscriptionFloat 6s ease-in-out infinite;
}

.subscription-orbit{
position:absolute;
border-radius:999px;
border:1px solid rgba(31,77,58,.20);
background:rgba(255,255,255,.12);
backdrop-filter:blur(6px);
}

.subscription-orbit-one{
width:390px;
height:390px;
}

.subscription-orbit-two{
width:270px;
height:270px;
border-color:rgba(63,124,133,.24);
animation:subscriptionPulse 4.8s ease-in-out infinite;
}

.subscription-price-mark{
position:absolute;
right:4%;
bottom:16%;
display:grid;
place-items:center;
width:148px;
height:148px;
border-radius:999px;
background:
linear-gradient(145deg, rgba(31,77,58,.98), rgba(30,47,68,.94));
color:white;
box-shadow:0 18px 36px rgba(30,47,68,.22), inset 0 1px 0 rgba(255,255,255,.24);
}

.subscription-price-mark span{
display:block;
font-size:46px;
line-height:1;
font-weight:900;
letter-spacing:-.05em;
}

.subscription-price-mark small{
display:block;
margin-top:6px;
color:#F9E6A8;
font-size:12px;
font-weight:800;
letter-spacing:.08em;
text-transform:uppercase;
}

.subscription-free-promise,
.subscription-benefits,
.subscription-final-cta{
max-width:1120px;
margin:0 auto;
padding:58px 40px;
}

.subscription-free-promise{
display:grid;
grid-template-columns:minmax(0, .88fr) minmax(0, 1fr);
gap:34px;
align-items:end;
border-bottom:1px solid rgba(31,77,58,.14);
}

.subscription-free-promise h2,
.subscription-section-head h2,
.subscription-final-cta h2{
margin:14px 0 0;
font-size:40px;
line-height:1.05;
color:var(--pnw-evergreen);
}

.subscription-free-promise p,
.subscription-final-cta p{
margin:0;
font-size:17px;
line-height:1.75;
color:rgba(42,42,42,.78);
}

.subscription-section-head{
max-width:820px;
margin-bottom:28px;
}

.subscription-benefit-layout{
display:grid;
grid-template-columns:minmax(280px, .78fr) minmax(0, 1.22fr);
gap:24px;
align-items:stretch;
}

.subscription-benefit-primary{
position:sticky;
top:24px;
align-self:start;
min-height:390px;
padding:30px;
border-radius:24px;
background:
linear-gradient(150deg, rgba(31,77,58,.96), rgba(30,47,68,.90)),
url("/assets/illustrations/paper-texture.png");
background-size:cover;
color:white;
box-shadow:0 22px 44px rgba(30,47,68,.16);
overflow:hidden;
}

.subscription-benefit-primary::after{
content:"";
position:absolute;
right:-84px;
bottom:-84px;
width:240px;
height:240px;
border-radius:999px;
border:34px solid rgba(249,230,168,.14);
}

.subscription-benefit-primary span{
display:inline-flex;
padding:8px 12px;
border-radius:999px;
background:rgba(255,255,255,.12);
border:1px solid rgba(255,255,255,.20);
color:#F9E6A8;
font-size:12px;
font-weight:900;
letter-spacing:.08em;
text-transform:uppercase;
}

.subscription-benefit-primary h3{
position:relative;
margin:54px 0 16px;
max-width:11ch;
font-size:42px;
line-height:1.02;
letter-spacing:-.03em;
}

.subscription-benefit-primary p{
position:relative;
margin:0;
line-height:1.72;
color:rgba(255,255,255,.82);
}

.subscription-benefit-list{
display:grid;
grid-template-columns:repeat(2, minmax(0, 1fr));
gap:16px;
}

.subscription-benefit-list article{
padding:22px;
border-radius:18px;
background:
linear-gradient(180deg, rgba(255,255,255,.34), rgba(255,255,255,.18)),
radial-gradient(circle at top left, rgba(203,223,189,.28), transparent 48%);
border:1px solid rgba(255,255,255,.52);
box-shadow:0 16px 30px rgba(30,47,68,.08), inset 0 1px 0 rgba(255,255,255,.52);
backdrop-filter:blur(9px);
animation:subscriptionRise .55s ease both;
}

.subscription-benefit-list article:nth-child(2){animation-delay:.04s;}
.subscription-benefit-list article:nth-child(3){animation-delay:.08s;}
.subscription-benefit-list article:nth-child(4){animation-delay:.12s;}
.subscription-benefit-list article:nth-child(5){animation-delay:.16s;}
.subscription-benefit-list article:nth-child(6){animation-delay:.20s;}

.subscription-benefit-list h3{
margin:0 0 10px;
font-size:22px;
line-height:1.18;
color:var(--pnw-navy);
}

.subscription-benefit-list p{
margin:0;
line-height:1.65;
color:rgba(42,42,42,.74);
}

.subscription-final-cta{
display:flex;
justify-content:space-between;
align-items:center;
gap:26px;
padding-top:36px;
padding-bottom:72px;
}

.subscription-final-cta div{
max-width:720px;
}

.subscription-final-cta p{
margin-top:14px;
}

@keyframes subscriptionRise{
from{
opacity:0;
transform:translateY(18px);
}
to{
opacity:1;
transform:translateY(0);
}
}

@keyframes subscriptionFade{
from{
opacity:0;
transform:scale(.96);
}
to{
opacity:1;
transform:scale(1);
}
}

@keyframes subscriptionFloat{
0%,100%{
transform:translateY(0) rotate(-8deg);
}
50%{
transform:translateY(-12px) rotate(-5deg);
}
}

@keyframes subscriptionPulse{
0%,100%{
transform:scale(1);
opacity:.78;
}
50%{
transform:scale(1.06);
opacity:1;
}
}

@media(max-width:980px){
.subscription-hero{
padding:88px 20px 64px;
}

.subscription-hero-inner,
.subscription-free-promise,
.subscription-benefit-layout,
.subscription-final-cta{
grid-template-columns:1fr;
}

.subscription-copy h1{
font-size:48px;
max-width:12ch;
}

.subscription-visual{
min-height:340px;
}

.subscription-free-promise,
.subscription-benefits,
.subscription-final-cta{
padding-left:20px;
padding-right:20px;
}

.subscription-benefit-primary{
position:relative;
top:auto;
min-height:300px;
}

.subscription-final-cta{
display:grid;
align-items:start;
}
}

@media(max-width:640px){
.subscription-hero{
padding:72px 12px 48px;
}

.subscription-copy h1{
font-size:38px;
}

.subscription-copy p{
font-size:16px;
line-height:1.62;
}

.subscription-actions{
display:grid;
grid-template-columns:1fr;
}

.subscription-primary,
.subscription-secondary{
width:100%;
box-sizing:border-box;
}

.subscription-visual{
min-height:280px;
}

.subscription-visual img{
width:min(240px, 76vw);
}

.subscription-orbit-one{
width:280px;
height:280px;
}

.subscription-orbit-two{
width:194px;
height:194px;
}

.subscription-price-mark{
right:8px;
bottom:22px;
width:112px;
height:112px;
}

.subscription-price-mark span{
font-size:36px;
}

.subscription-free-promise,
.subscription-benefits,
.subscription-final-cta{
padding:34px 16px;
}

.subscription-free-promise h2,
.subscription-section-head h2,
.subscription-final-cta h2{
font-size:31px;
}

.subscription-benefit-list{
grid-template-columns:1fr;
}

.subscription-benefit-primary,
.subscription-benefit-list article{
padding:20px 18px;
border-radius:16px;
}

.subscription-benefit-primary h3{
margin-top:38px;
font-size:32px;
}
}

@media(prefers-reduced-motion:reduce){
*,
*::before,
*::after{
animation-duration:.01ms !important;
animation-iteration-count:1 !important;
scroll-behavior:auto !important;
transition-duration:.01ms !important;
}
}
