:root{
  --sky:#34b9f5;
  --cyan:#32d7d5;
  --blue:#247de5;
  --pink:#ef4f9e;
  --pink-deep:#bb327d;
  --gold:#f2c34d;
  --gold-light:#fff0a0;
  --ink:#27334f;
  --ink-soft:#59647c;
  --white:#fff;
  --shadow:0 18px 48px rgba(68,94,181,.17);
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; background:#edf8ff; }
body{
  margin:0;
  min-width:320px;
  overflow-x:hidden;
  color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
  background:
    radial-gradient(circle at 2px 2px,rgba(73,158,239,.16) 2px,transparent 2.5px) 0 0/22px 22px,
    radial-gradient(circle at 90% 7%,rgba(239,79,158,.14) 0 5%,transparent 17%),
    radial-gradient(circle at 8% 28%,rgba(50,215,213,.17) 0 4%,transparent 16%),
    linear-gradient(180deg,#fafdff 0%,#eef9ff 38%,#fff3f8 70%,#fffaf1 100%);
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; }
a{ color:inherit; }
.sp-only{ display:none; }
.visually-hidden{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

.upgrade{
  position:relative;
  width:min(100%,1040px);
  margin:0 auto;
  padding:20px 18px 60px;
}
.upgrade::before,
.upgrade::after{
  content:"✦";
  position:fixed;
  z-index:-1;
  color:rgba(54,178,243,.28);
  font-size:7rem;
  line-height:1;
  pointer-events:none;
}
.upgrade::before{ top:8%; left:2%; transform:rotate(15deg); }
.upgrade::after{ right:2%; bottom:8%; color:rgba(239,79,158,.22); transform:rotate(-12deg); }

.upgrade-hero{
  position:relative;
  overflow:hidden;
  padding:14px 14px 30px;
  text-align:center;
  border:2px solid transparent;
  border-radius:30px;
  background:
    linear-gradient(rgba(255,255,255,.96),rgba(247,253,255,.96)) padding-box,
    linear-gradient(120deg,#62d8f7,#2b8de7,#f3cf64,#ef79ba,#f3cf64) border-box;
  box-shadow:var(--shadow),inset 0 0 0 5px rgba(255,255,255,.54);
}
.upgrade-hero::before,
.upgrade-hero::after{
  content:"";
  position:absolute;
  z-index:0;
  width:150px;
  height:150px;
  border-radius:50%;
  filter:blur(8px);
  opacity:.2;
  pointer-events:none;
}
.upgrade-hero::before{ left:-50px; bottom:-60px; background:#30d6d5; }
.upgrade-hero::after{ right:-50px; bottom:-60px; background:#e64fab; }
.upgrade-hero__banner{
  position:relative;
  z-index:1;
  display:block;
  overflow:hidden;
  border:1px solid rgba(98,189,242,.44);
  border-radius:23px;
  background:#fff;
  box-shadow:0 16px 36px rgba(52,103,194,.22);
  transition:transform .22s ease,box-shadow .22s ease;
}
.upgrade-hero__banner:hover,
.upgrade-hero__banner:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 20px 42px rgba(52,103,194,.27);
  outline:3px solid rgba(48,201,222,.34);
  outline-offset:3px;
}
.upgrade-hero__banner img{ display:block; width:100%; height:auto; }
.upgrade-hero__lead{
  position:relative;
  z-index:1;
  max-width:38em;
  margin:22px auto 0;
  color:#53627e;
  font-size:1.02rem;
  font-weight:800;
  line-height:1.85;
}
.upgrade-nav{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin:22px auto 0;
}
.upgrade-nav a{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:54px;
  padding:10px 12px;
  border:2px solid #f2c34d;
  border-radius:17px;
  color:var(--gold-light);
  background:
    linear-gradient(180deg,rgba(255,255,255,.34),transparent 42%),
    linear-gradient(100deg,#da2c78,#ff5da8 52%,#d52571);
  box-shadow:0 10px 22px rgba(183,43,110,.24),inset 0 2px 0 rgba(255,255,255,.5),inset 0 -3px 0 rgba(139,22,81,.18);
  font-family:"Hiragino Mincho ProN","Yu Mincho","YuMincho","Noto Serif JP",serif;
  font-size:.9rem;
  font-weight:900;
  line-height:1.35;
  text-decoration:none;
  text-shadow:0 1px 0 #fffbe0,0 2px 0 #a86408,0 4px 8px rgba(85,30,50,.38);
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;
}
.upgrade-nav a:nth-child(2){ background:linear-gradient(180deg,rgba(255,255,255,.34),transparent 42%),linear-gradient(100deg,#cf276f,#f752a0 52%,#d92275); }
.upgrade-nav a:nth-child(3){ background:linear-gradient(180deg,rgba(255,255,255,.34),transparent 42%),linear-gradient(100deg,#df337e,#ff62ab 52%,#ce226c); }
.upgrade-nav a:nth-child(4){ background:linear-gradient(180deg,rgba(255,255,255,.34),transparent 42%),linear-gradient(100deg,#d22773,#ff66ad 52%,#d72070); }
.upgrade-nav a:hover,
.upgrade-nav a:focus-visible{
  transform:translateY(-2px);
  filter:saturate(1.12) brightness(1.04);
  box-shadow:0 15px 28px rgba(55,112,209,.3);
  outline:none;
}
.upgrade-nav a span{
  display:grid;
  flex:0 0 30px;
  place-items:center;
  width:30px;
  height:30px;
  border:2px solid #fff1a0;
  border-radius:50%;
  color:#fff9cd;
  background:linear-gradient(145deg,#36cce6 0 35%,#247de5 62%,#1263b2 100%);
  box-shadow:0 0 0 2px #e4ae2a,inset 0 2px 0 rgba(255,255,255,.5);
  font-family:Georgia,"Times New Roman",serif;
  font-size:.62rem;
  letter-spacing:.03em;
  text-shadow:0 2px 0 #74500a;
}

.upgrade-content{ display:grid; gap:34px; margin-top:34px; }
.feature-section{
  scroll-margin-top:24px;
  overflow:hidden;
  border:2px solid transparent;
  border-radius:30px;
  background:
    linear-gradient(rgba(255,255,255,.98),rgba(251,253,255,.98)) padding-box,
    linear-gradient(145deg,#5ed7f5,#318ee8 34%,#f1ce62 54%,#ef72b7 72%,#f1ce62) border-box;
  box-shadow:var(--shadow);
}
.feature-section__heading{
  position:relative;
  padding:30px 34px 0;
  background:
    radial-gradient(circle at 8% 18%,rgba(49,208,219,.12),transparent 22%),
    radial-gradient(circle at 91% 22%,rgba(239,79,158,.11),transparent 24%),
    linear-gradient(180deg,#fff,#f9fdff);
}
.feature-banner{
  position:relative;
  margin:0;
  padding:16px 16px 0;
  background:
    radial-gradient(circle at 12% 8%,rgba(49,208,219,.14),transparent 28%),
    radial-gradient(circle at 90% 12%,rgba(239,79,158,.12),transparent 26%),
    linear-gradient(180deg,#f2fbff,#fff);
}
.feature-banner img{
  display:block;
  width:100%;
  height:auto;
  border:1px solid rgba(129,180,236,.38);
  border-radius:22px;
  background:#fff;
  box-shadow:0 14px 34px rgba(58,96,181,.18);
}
.feature-banner__crop{
  overflow:hidden;
  aspect-ratio:864/1500;
  border:1px solid rgba(129,180,236,.38);
  border-radius:22px;
  background:#fff;
  box-shadow:0 14px 34px rgba(58,96,181,.18);
}
.feature-banner__crop img{
  border:0;
  border-radius:0;
  box-shadow:none;
}
.feature-section__body{ padding:34px 34px 38px; }
.feature-kicker{
  display:flex;
  align-items:center;
  justify-content:center;
  width:min(100%,520px);
  min-height:40px;
  margin:0 auto 18px!important;
  padding:8px 20px;
  border:1.5px solid rgba(51,150,229,.38);
  border-radius:999px;
  color:#bd347a!important;
  background:
    radial-gradient(circle at 12% 50%,rgba(255,255,255,.95) 0 2px,transparent 3px),
    radial-gradient(circle at 88% 42%,rgba(242,195,77,.65) 0 2px,transparent 3px),
    linear-gradient(135deg,#e8f9ff,#fff2f8 58%,#fff9dc);
  font-size:.82rem!important;
  font-weight:900!important;
  letter-spacing:.04em;
  line-height:1.55;
  text-align:center;
  box-shadow:0 7px 18px rgba(70,113,199,.13),inset 0 1px 0 #fff;
}
.feature-title-ribbon{
  position:relative;
  z-index:1;
  isolation:isolate;
  display:grid;
  grid-template-columns:58px minmax(0,1fr) 58px;
  align-items:center;
  width:calc(100% - 22px);
  min-height:94px;
  margin:4px auto 32px;
  padding:18px 12px;
  border:3px solid #f3c64f;
  border-radius:22px 22px 16px 16px;
  background:
    radial-gradient(circle at 8% 22%,rgba(255,255,255,.55) 0 2px,transparent 3px),
    radial-gradient(circle at 92% 76%,rgba(255,241,154,.55) 0 2px,transparent 3px),
    linear-gradient(180deg,rgba(255,255,255,.4),transparent 34%),
    linear-gradient(100deg,#cf226e,#ff5fa8 48%,#cf216d);
  box-shadow:
    0 13px 25px rgba(183,43,110,.28),
    inset 0 2px 0 rgba(255,255,255,.55),
    inset 0 -5px 0 rgba(139,22,81,.2),
    0 0 0 3px rgba(255,245,185,.42);
}
.feature-title-ribbon::before,
.feature-title-ribbon::after{
  content:"";
  position:absolute;
  z-index:-1;
  bottom:-15px;
  width:72px;
  height:54px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.24),transparent 38%),
    linear-gradient(135deg,#a51655,#d92974 72%);
  filter:drop-shadow(0 3px 0 #e5ad31) drop-shadow(0 7px 7px rgba(126,26,71,.24));
}
.feature-title-ribbon::before{
  left:-13px;
  clip-path:polygon(0 18%,72% 0,100% 28%,78% 55%,100% 100%,0 79%,20% 50%);
}
.feature-title-ribbon::after{
  right:-13px;
  clip-path:polygon(28% 0,100% 18%,80% 50%,100% 79%,0 100%,22% 55%,0 28%);
}
.feature-title-ribbon h2{
  position:relative;
  z-index:2;
  grid-column:2;
  margin:0;
  color:var(--gold-light);
  font-family:"Hiragino Mincho ProN","Yu Mincho","YuMincho","Noto Serif JP",serif;
  font-size:clamp(1.42rem,3.2vw,2rem);
  font-weight:900;
  line-height:1.42;
  letter-spacing:.035em;
  text-align:center;
  text-shadow:
    0 1px 0 #fffbe0,
    0 2px 0 #ad6a0c,
    0 4px 0 #8b3e18,
    0 7px 13px rgba(85,30,50,.42);
}
.feature-title-ribbon h2::before,
.feature-title-ribbon h2::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  height:2px;
  border-top:2px dotted rgba(255,241,157,.72);
}
.feature-title-ribbon h2::before{ top:-11px; }
.feature-title-ribbon h2::after{ bottom:-11px; }
.feature-title-ribbon__number{
  position:relative;
  z-index:3;
  grid-column:1;
  grid-row:1;
  justify-self:center;
  display:grid;
  place-items:center;
  width:50px;
  height:50px;
  border:3px solid #fff1a0;
  border-radius:50%;
  color:#fff9cd;
  background:linear-gradient(145deg,#36cce6 0 35%,#247de5 62%,#1263b2 100%);
  box-shadow:0 0 0 3px #e4ae2a,0 7px 15px rgba(30,81,151,.32),inset 0 2px 0 rgba(255,255,255,.55);
  font-family:Georgia,"Times New Roman",serif;
  font-size:.86rem;
  font-weight:900;
  letter-spacing:.04em;
  text-shadow:0 2px 0 #74500a,0 3px 7px rgba(15,56,105,.38);
  transform:none;
}
.feature-section__body>p{
  margin:0 0 14px;
  color:var(--ink-soft);
  font-size:1rem;
  font-weight:650;
  line-height:2;
}
.feature-section strong{ color:#c1398a; font-weight:900; }
.feature-section .emphasis-red{ color:#ef2454; }

.info-grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:24px; }
.info-card,
.tip-card{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  margin-top:24px;
  padding:22px;
  border:1.5px solid rgba(95,177,235,.48);
  border-radius:22px;
  background:
    radial-gradient(circle at 10% 16%,rgba(255,255,255,.98) 0 3px,transparent 4px),
    radial-gradient(circle at 90% 20%,rgba(242,195,77,.48) 0 2px,transparent 3px),
    radial-gradient(circle at 82% 84%,rgba(239,79,158,.2) 0 3px,transparent 4px),
    linear-gradient(145deg,#fff,#eaf8ff 58%,#fff0f7);
  box-shadow:0 11px 28px rgba(65,104,185,.11);
}
.info-card::before,
.tip-card::before{
  content:"✦";
  position:absolute;
  z-index:0;
  top:9px;
  right:13px;
  color:rgba(242,179,44,.7);
  font-size:1.15rem;
  line-height:1;
  text-shadow:-28px 31px 0 rgba(46,190,229,.38),-114px 11px 0 rgba(239,79,158,.28);
  pointer-events:none;
}
.info-card>*,
.tip-card>*{ position:relative; z-index:1; }
.info-grid .info-card{ margin-top:0; }
.info-card--soft{
  border-color:rgba(239,96,161,.4);
  background:
    radial-gradient(circle at 12% 15%,rgba(255,255,255,.98) 0 3px,transparent 4px),
    radial-gradient(circle at 88% 20%,rgba(242,195,77,.46) 0 2px,transparent 3px),
    linear-gradient(145deg,#fff,#fff0f7 54%,#eaf8ff);
}
.info-card h3,
.tip-card h3,
.notice-card h3{
  display:flex;
  align-items:center;
  gap:9px;
  margin:0 0 15px;
  color:#385bb2;
  font-size:1.07rem;
  font-weight:900;
  line-height:1.45;
}
.info-card--soft h3{ color:#c43d7e; }
.feature-list{ display:grid; gap:10px; margin:0; padding:0; list-style:none; }
.feature-list li{
  position:relative;
  min-width:0;
  padding:12px 13px 12px 42px;
  border:1px solid rgba(111,178,233,.32);
  border-radius:15px;
  color:#46516c;
  background:rgba(255,255,255,.9);
  font-size:.91rem;
  font-weight:750;
  line-height:1.65;
  overflow-wrap:anywhere;
}
.feature-list li::before{
  content:"✦";
  position:absolute;
  top:11px;
  left:13px;
  display:grid;
  place-items:center;
  width:21px;
  height:21px;
  border-radius:7px;
  color:#fff9bd;
  background:linear-gradient(135deg,#32cee0,#247de5 58%,#df50ac);
  box-shadow:0 4px 10px rgba(67,88,190,.22);
  font-size:.68rem;
  font-weight:900;
}
.step-list{
  display:grid;
  gap:12px;
  margin:0;
  padding:0;
  list-style:none;
  counter-reset:feature-step;
}
.step-list li{
  position:relative;
  min-width:0;
  padding:15px 16px 15px 58px;
  border:1px solid rgba(111,178,233,.34);
  border-radius:17px;
  color:#536079;
  background:rgba(255,255,255,.92);
  counter-increment:feature-step;
}
.step-list li::before{
  content:counter(feature-step);
  position:absolute;
  top:15px;
  left:15px;
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border:2px solid #ffe779;
  border-radius:50%;
  color:#fff;
  background:linear-gradient(145deg,#35cde4,#247de5 55%,#df4da5);
  box-shadow:0 5px 12px rgba(63,100,188,.22);
  font-family:Georgia,"Times New Roman",serif;
  font-size:.82rem;
  font-weight:900;
}
.step-list strong{
  display:block;
  margin-bottom:4px;
  font-size:.95rem;
  line-height:1.55;
}
.step-list span{
  display:block;
  font-size:.87rem;
  font-weight:700;
  line-height:1.75;
}
.info-card__note{
  margin:16px 0 0;
  padding:16px;
  border:1.5px solid rgba(92,145,209,.42);
  border-radius:14px;
  color:#34465f;
  background:linear-gradient(135deg,#fff 0%,#f5f9ff 62%,#fff8fb 100%);
  box-shadow:0 7px 18px rgba(57,107,190,.11);
  font-size:.9rem;
  font-weight:800;
  line-height:1.85;
}
.notice-card{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:16px;
  margin-top:24px;
  padding:30px 22px 22px;
  border:2px solid #e6aa1d;
  border-radius:22px;
  background:linear-gradient(145deg,#fff 0%,#fff 54%,#fff1bd 100%);
  box-shadow:0 12px 28px rgba(80,67,38,.18),inset 0 0 0 3px rgba(255,255,255,.7);
}
.notice-card::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:10px;
  background:repeating-linear-gradient(135deg,#242424 0 13px,#f4bf2b 13px 26px);
}
.notice-card__icon{
  display:grid;
  place-items:center;
  width:48px;
  height:43px;
  clip-path:polygon(50% 0,100% 100%,0 100%);
  padding-top:11px;
  color:#fff;
  background:linear-gradient(180deg,#ffd445,#ea951c);
  font-size:1.15rem;
  font-weight:900;
  filter:drop-shadow(0 5px 6px rgba(180,116,20,.2));
}
.notice-card h3{ color:#95601a; }
.notice-card p{
  margin:0 0 8px;
  color:#62513e;
  font-size:.9rem;
  font-weight:700;
  line-height:1.8;
}
.notice-card p:last-child{ margin-bottom:0; }
.notice-list{
  display:grid;
  gap:10px;
  margin:0;
  padding:0;
  list-style:none;
}
.notice-list li{
  position:relative;
  padding:11px 12px 11px 36px;
  border:1px solid rgba(36,36,36,.18);
  border-radius:12px;
  color:#3d3b37;
  background:rgba(255,255,255,.88);
  font-size:.88rem;
  font-weight:750;
  line-height:1.75;
}
.notice-list li::before{
  content:"!";
  position:absolute;
  top:11px;
  left:11px;
  display:grid;
  place-items:center;
  width:18px;
  height:18px;
  border-radius:50%;
  color:#fff;
  background:#202020;
  font-size:.72rem;
  font-weight:900;
}
.feature-closing{
  margin-top:24px!important;
  padding:18px 20px;
  border:1.5px solid rgba(96,145,202,.42);
  border-radius:19px;
  color:#37465f!important;
  background:linear-gradient(135deg,#fff 0%,#f7fbff 68%,#fff8fb 100%);
  box-shadow:0 9px 22px rgba(70,111,192,.12);
  font-weight:750!important;
  line-height:1.9!important;
}
.feature-closing--accent{
  border-color:rgba(226,103,157,.5);
  background:linear-gradient(135deg,#fff 0%,#fff6fa 66%,#fffbea 100%);
  box-shadow:0 10px 24px rgba(198,55,120,.13);
}
.metric-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:22px;
}
.metric-row div{
  display:grid;
  grid-template-columns:auto 1fr;
  column-gap:10px;
  align-items:center;
  padding:17px;
  border:1.5px solid rgba(83,169,235,.46);
  border-radius:19px;
  background:linear-gradient(145deg,#fff,#edfaff 62%,#fff1f7);
}
.metric-row span{ grid-row:1 / 3; font-size:1.65rem; }
.metric-row strong{ color:#3269be; font-size:1rem; }
.metric-row div:nth-child(2){ border-color:rgba(235,136,56,.58); background:linear-gradient(145deg,#fff,#fff6e9 62%,#fff1f7); }
.metric-row div:nth-child(2) strong{ color:#e56f1d; }
.metric-row small{ color:#66728b; font-size:.76rem; font-weight:700; }
.tip-card{
  border-color:rgba(218,169,58,.58);
  background:
    radial-gradient(circle at 10% 14%,rgba(255,255,255,.96) 0 3px,transparent 4px),
    radial-gradient(circle at 91% 22%,rgba(239,79,158,.28) 0 3px,transparent 4px),
    radial-gradient(circle at 80% 84%,rgba(51,176,233,.25) 0 2px,transparent 3px),
    linear-gradient(145deg,#fff,#fff3c9 70%,#fff0f7);
}
.tip-card h3{ color:#986218; }
.tip-card p{
  margin:0 0 10px;
  color:#5f543f;
  font-size:.92rem;
  font-weight:700;
  line-height:1.85;
}
.tip-card p:last-child{ margin-bottom:0; }

.upgrade-finale{
  position:relative;
  overflow:hidden;
  padding:42px 28px 40px;
  border:2px solid rgba(255,233,132,.75);
  border-radius:30px;
  text-align:center;
  color:#fff;
  background:
    radial-gradient(circle at 12% 18%,rgba(255,255,255,.38) 0 2px,transparent 3px),
    radial-gradient(circle at 89% 72%,rgba(255,255,255,.38) 0 3px,transparent 4px),
    linear-gradient(135deg,#ff7db5 0%,#ed4b95 45%,#bd2d78 100%);
  box-shadow:0 18px 42px rgba(170,42,111,.28),inset 0 2px 0 rgba(255,255,255,.3);
}
.upgrade-finale::before,
.upgrade-finale::after{
  content:"✦";
  position:absolute;
  color:#fff0a0;
  font-size:2rem;
  opacity:.95;
}
.upgrade-finale::before{ top:24px; left:6%; }
.upgrade-finale::after{ right:7%; bottom:28px; }
.upgrade-finale__ribbon{
  display:inline-flex;
  margin-bottom:17px;
  padding:7px 18px;
  border:1px solid rgba(255,246,192,.9);
  border-radius:999px;
  color:#79541a;
  background:linear-gradient(135deg,#fff9d6,#f5c54d);
  font-size:.75rem;
  font-weight:900;
  letter-spacing:.09em;
}
.upgrade-finale h2{
  margin:0;
  color:#fff2a2;
  font-size:clamp(1.38rem,3.6vw,2.15rem);
  font-weight:900;
  line-height:1.55;
  text-shadow:0 2px 0 rgba(110,69,14,.75),0 5px 14px rgba(39,35,121,.32);
}
.upgrade-finale p{
  margin:16px 0 0;
  color:#fff;
  font-size:.94rem;
  font-weight:750;
  line-height:1.8;
}

@media (max-width:700px){
  .sp-only{ display:block; }
  .upgrade{ padding:10px 8px 38px; }
  .upgrade-hero{ padding:7px 7px 24px; border-radius:22px; }
  .upgrade-hero__banner{ border-radius:15px; }
  .upgrade-hero__lead{ margin-top:18px; padding-inline:10px; font-size:.88rem; line-height:1.75; }
  .upgrade-nav{ grid-template-columns:1fr; gap:8px; margin:18px 10px 0; }
  .upgrade-nav a{ min-height:52px; justify-content:flex-start; padding:8px 14px; font-size:.94rem; }
  .upgrade-nav a span{ flex-basis:32px; width:32px; height:32px; }
  .upgrade-content{ gap:24px; margin-top:24px; }
  .feature-section{ border-radius:23px; }
  .feature-section__heading{ padding:24px 16px 0; }
  .feature-banner{ padding:8px 8px 0; }
  .feature-banner img{ border-radius:16px; }
  .feature-section__body{ padding:25px 16px 27px; }
  .feature-kicker{ width:100%; margin:0 auto 16px!important; padding:8px 13px; font-size:.78rem!important; }
  .feature-title-ribbon{
    grid-template-columns:42px minmax(0,1fr) 42px;
    width:calc(100% - 8px);
    min-height:88px;
    margin:4px auto 30px;
    padding:16px 6px;
    border-width:2px;
    border-radius:18px 18px 13px 13px;
  }
  .feature-title-ribbon::before,
  .feature-title-ribbon::after{ bottom:-11px; width:45px; height:42px; }
  .feature-title-ribbon::before{ left:-7px; }
  .feature-title-ribbon::after{ right:-7px; }
  .feature-title-ribbon h2{ font-size:1.06rem; line-height:1.48; letter-spacing:.015em; }
  .feature-title-ribbon h2::before{ top:-9px; }
  .feature-title-ribbon h2::after{ bottom:-9px; }
  .feature-title-ribbon__number{ width:34px; height:34px; border-width:2px; font-size:.64rem; }
  .feature-section__body>p{ font-size:.9rem; line-height:1.9; }
  .info-grid{ grid-template-columns:1fr; }
  .info-card,.tip-card{ padding:17px 14px; border-radius:18px; }
  .info-card h3,.tip-card h3,.notice-card h3{ font-size:.98rem; }
  .feature-list li{ padding:11px 11px 11px 38px; font-size:.84rem; }
  .feature-list li::before{ left:10px; }
  .step-list li{ padding:13px 12px 13px 50px; }
  .step-list li::before{ top:13px; left:11px; width:28px; height:28px; }
  .step-list strong{ font-size:.9rem; }
  .step-list span{ font-size:.82rem; }
  .notice-card{ grid-template-columns:1fr; gap:10px; padding:27px 15px 18px; }
  .notice-card__icon{ justify-self:center; width:48px; height:43px; }
  .notice-card h3{ justify-content:center; text-align:center; }
  .notice-card p{ font-size:.84rem; }
  .notice-list li{ padding:10px 10px 10px 34px; font-size:.82rem; }
  .notice-list li::before{ top:10px; left:10px; }
  .metric-row{ grid-template-columns:1fr; }
  .metric-row strong{ font-size:.9rem; line-height:1.5; }
  .feature-closing{ padding:15px!important; }
  .upgrade-finale{ padding:34px 18px 32px; border-radius:23px; }
  .upgrade-finale h2{ font-size:1.1rem; line-height:1.68; }
  .upgrade-finale p{ font-size:.84rem; }
}

@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ scroll-behavior:auto!important; transition:none!important; }
}
