@import url('./typography.css');
:root { --gp-radius:20px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:90px; }
body {
  margin:0;
  font-family:var(--gp-font-family);
  color:var(--gp-ink);
  background:var(--gp-canvas);
  font-size:16px;
  line-height:1.65;
  word-break:keep-all;
  overflow-wrap:break-word;
}
button,input,select,textarea { font:inherit; }
button,a,input,summary { -webkit-tap-highlight-color:transparent; }
button,a { touch-action:manipulation; }
a { color:inherit; text-decoration:none; }
button { cursor:pointer; }
button:disabled { cursor:not-allowed; }
img,svg { max-width:100%; }
h1,h2,h3,h4,p { margin-top:0; }
h1,h2,h3 { line-height:1.4; letter-spacing:-.035em; }
h1,h2 { font-weight:750; }
p { margin-bottom:0; }
ul,ol { padding-left:1.3em; }
::selection { background:#cfeeff; color:var(--gp-ink); }
:focus-visible { outline:3px solid var(--gp-blue-strong); outline-offset:4px; }
main:focus { outline:none; }
[hidden] { display:none!important; }
.gp-site { width:100%; max-width:600px; min-height:100vh; margin-inline:auto; background:#fff; }
.gp-shell { width:calc(100% - 64px); margin-inline:auto; }
.gp-skip { position:fixed; top:-80px; left:20px; padding:10px 20px; background:var(--gp-sky-light); z-index:100; }
.gp-skip:focus { top:8px; }
.gp-preview-note { padding:8px 16px; background:#f0f6fb; color:#677482; text-align:center; font-size:12px; line-height:1.6; }
.gp-header { position:sticky; top:0; background:#fff; border-bottom:1px solid var(--gp-line); z-index:20; }
.gp-header-inner { padding-top:20px; display:block; }
.gp-brand { display:inline-flex; align-items:center; white-space:nowrap; }
.gp-icon { display:block; width:28px; height:28px; flex:none; }
.gp-heading-icon { display:inline-block; width:28px; height:28px; margin-right:10px; vertical-align:-3px; color:var(--gp-blue); }
.gp-nav { display:flex; align-items:center; gap:28px; margin-top:14px; font-size:13px; font-weight:570; letter-spacing:-.025em; }
.gp-nav a { padding:12px 0; white-space:nowrap; border-bottom:2px solid transparent; color:var(--gp-muted); transition:color .16s; }
.gp-nav a:hover,.gp-nav a[aria-current] { color:var(--gp-ink); }
.gp-nav a[aria-current] { font-weight:700; border-bottom-color:var(--gp-orange); }
.gp-button { display:inline-flex; align-items:center; justify-content:center; gap:16px; min-height:54px; padding:15px 22px; background:var(--gp-blue-strong); border:1px solid transparent; color:#fff; font-size:16px; font-weight:700; border-radius:14px; line-height:1.4; transition:background .2s,transform .2s,box-shadow .2s; text-align:center; }
.gp-button:hover { background:#005e96; }
.gp-button span[aria-hidden] { font-size:20px; font-weight:400; }
.gp-button--outline { background:#fff; color:var(--gp-blue-strong); border-color:#c8deeb; }
.gp-button--outline:hover { background:var(--gp-sky-light); }
.gp-muted { color:var(--gp-muted); }
.gp-text-link { display:inline-block; padding:8px 0; font-size:14px; font-weight:500; color:var(--gp-blue-strong); text-underline-offset:4px; }
.gp-text-link:hover { text-decoration:underline; }
.gp-hero { padding:64px 0 56px; background:var(--gp-sky-light); color:var(--gp-ink); text-align:center; border-bottom:1px solid #dfedf6; }
.gp-hero h1 { font-size:clamp(42px,10vw,56px); font-weight:760; line-height:1.08; letter-spacing:-.06em; margin-bottom:26px; }
.gp-hero h1 span { color:var(--gp-blue-strong); }
.gp-hero-description { color:#617180; font-size:18px; font-weight:500; letter-spacing:-.025em; line-height:24px; }
.gp-hero-button { background:#c7500d; color:#fff; width:100%; max-width:340px; min-height:58px; margin-top:34px; font-size:17px; font-weight:700; line-height:1.2; }
.gp-hero-button:hover { background:#ae4409; }
.gp-service-intro { display:flex; align-items:center; gap:18px; padding-block:28px; }
.gp-service-mark { display:grid; place-items:center; flex:none; width:64px; height:64px; background:#fff1f3; border-radius:16px; }
.gp-service-mark .gp-icon { width:40px; height:40px; }
.gp-service-intro>div { flex:1; min-width:0; }
.gp-service-intro h2 { font-size:20px; margin-bottom:8px; }
.gp-service-intro p { font-size:14px; line-height:1.7; color:var(--gp-muted); }
.gp-service-intro .gp-text-link { margin-top:5px; font-size:13px; }
.gp-section { padding-block:52px; border-top:1px solid var(--gp-line); }
.gp-section-heading { margin-bottom:28px; }
.gp-section h2 { font-size:34px; margin:0; line-height:1.18; letter-spacing:-.05em; }
.gp-section-heading>p { font-size:17px; font-weight:450; letter-spacing:-.025em; color:var(--gp-muted); margin-top:8px; line-height:1.65; }
.gp-heading-with-link { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.gp-home-plans { display:grid; grid-template-columns:1fr; gap:16px; }
.gp-home-plan { padding:28px; background:#fff; border:1px solid var(--gp-line); border-radius:22px; transition:border-color .2s,box-shadow .2s,transform .2s; }
.gp-home-plan--featured { border-color:#f0b487; box-shadow:0 0 0 1px #f0b487; }
.gp-plan-service { display:flex; align-items:center; gap:9px; min-width:0; }
.gp-plan-icon { width:34px; height:34px; flex:none; }
.gp-plan-top { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:24px; margin-bottom:9px; }
.gp-plan-overline { font-size:13px; color:var(--gp-muted); }
.gp-plan-badge { background:var(--gp-orange-light); color:#a5470d; font-size:12px; font-weight:600; border-radius:6px; padding:4px 9px; }
.gp-home-plan h3 { font-size:25px; font-weight:750; margin-bottom:6px; }
.gp-plan-caption { font-size:14px; color:var(--gp-muted); }
.gp-plan-price { display:flex; align-items:baseline; gap:3px; margin-top:18px; font-size:18px; line-height:1.25; }
.gp-plan-price strong { font-size:40px; font-weight:750; letter-spacing:-.055em; }
.gp-plan-total { font-size:14px; color:var(--gp-muted); margin-top:5px; }
.gp-home-plan .gp-button { width:100%; margin-top:20px; }
.gp-pricing-note { font-size:13px; color:var(--gp-muted); margin-top:18px; line-height:1.7; }
.gp-plan-loading { text-align:center; padding:36px 16px; color:var(--gp-muted); font-size:15px; display:grid; gap:16px; justify-items:center; background:var(--gp-canvas); border-radius:8px; }
.gp-plan-loading .gp-button { font-size:14px; min-height:44px; }
.gp-steps { list-style:none; padding:0 22px; margin:0; border:1px solid var(--gp-line); border-radius:22px; background:#fff; }
.gp-steps li { display:flex; gap:16px; align-items:flex-start; padding:25px 0; }
.gp-steps li+li { border-top:1px solid var(--gp-line); }
.gp-step-icon { display:grid; place-items:center; width:48px; height:48px; flex:none; border-radius:14px; background:var(--gp-sky-light); color:var(--gp-blue-strong); }
.gp-steps li:nth-child(2) .gp-step-icon { background:var(--gp-orange-light); color:#ba510f; }
.gp-steps h3 { font-size:17px; margin:0 0 6px; }
.gp-steps h3>span { font-size:12px; font-weight:600; color:#81909d; margin-right:5px; }
.gp-steps p { font-size:15px; color:var(--gp-muted); line-height:1.7; }
.gp-eligibility-note { padding:16px; background:var(--gp-canvas); border-radius:8px; margin-top:26px; font-size:13px; color:var(--gp-muted); line-height:1.7; }
.gp-eligibility-note a { text-decoration:underline; text-underline-offset:3px; }
.gp-faq-list { border-top:1px solid var(--gp-line); }
.gp-faq-item { border-bottom:1px solid var(--gp-line); }
.gp-faq-item summary { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:19px 0; font-size:15px; font-weight:500; line-height:1.6; list-style:none; cursor:pointer; }
.gp-faq-item summary::-webkit-details-marker { display:none; }
.gp-faq-item summary:after { content:'+'; font-size:22px; font-weight:400; line-height:1; color:#8b8e95; flex-shrink:0; }
.gp-faq-item[open] summary:after { content:'−'; }
.gp-faq-item>div { padding:0 18px 20px 0; font-size:15px; color:var(--gp-muted); line-height:1.8; }
.gp-faq-item>div p+p { margin-top:10px; }
.gp-faq-item>div a { text-decoration:underline; text-underline-offset:3px; }
.gp-footer { padding:30px 0; background:#f7f7f9; border-top:1px solid var(--gp-line); }
.gp-footer-top { margin-bottom:18px; }
.gp-footer .gp-wordmark { --gp-logo-width:180px; }
.gp-footer nav { display:flex; flex-wrap:wrap; gap:8px 16px; font-size:12px; margin-top:16px; color:#565b65; }
.gp-footer nav a:hover { text-decoration:underline; }
.gp-company { font-size:12px; line-height:1.9; color:#777c84; }
.gp-company a { text-decoration:underline; text-underline-offset:2px; }
.gp-footer-bottom { margin-top:18px; font-size:11px; line-height:1.9; color:#777c84; }
.gp-footer-bottom span { display:block; }
.gp-page-heading { padding:36px 0 24px; }
.gp-page-heading h1 { font-size:30px; margin-bottom:12px; }
.gp-page-heading p { color:var(--gp-muted); font-size:15px; }
.gp-comparison-section { background:#f4faff; border-top:1px solid #e4f0f8; }
.gp-comparison-card { border:1px solid #dbeaf4; border-radius:24px; background:white; padding:28px; box-shadow:0 12px 30px #1c6ea608; }
.gp-comparison-control { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-bottom:24px; border-bottom:1px solid var(--gp-line); }
.gp-comparison-control label { font-size:14px; font-weight:600; }
.gp-comparison-control select { width:55%; max-width:240px; min-width:0; padding:10px 30px 10px 12px; border:1px solid #cbdfe9; border-radius:10px; background:#fff; color:var(--gp-blue-strong); font-size:14px; text-overflow:ellipsis; }
.gp-comparison-control select:disabled { color:#8b9390; background:#f7f8f7; }
.gp-comparison-status { padding:24px 0; color:var(--gp-muted); font-size:14px; }
.gp-chart { display:grid; gap:28px; padding:26px 0; }
.gp-chart-label { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.gp-chart-label>div>strong { display:block; font-size:16px; font-weight:600; }
.gp-chart-label>div>span { display:block; margin-top:3px; color:var(--gp-muted); font-size:12px; }
.gp-chart-label>p { font-size:24px; font-weight:700; letter-spacing:-.035em; white-space:nowrap; }
.gp-chart-label>p>span { font-size:12px; margin-left:4px; font-weight:400; letter-spacing:0; }
.gp-chart-item--pro .gp-chart-label>p { color:#ba510f; }
.gp-chart-track { width:100%; height:22px; background:#f0f2f3; border-radius:5px; overflow:hidden; }
.gp-chart-bar { height:100%; width:0; border-radius:5px; transition:width .55s cubic-bezier(.2,.7,.3,1); transform-origin:left; }
.gp-chart-bar--retail { background:#94ccee; }
.gp-chart-bar--pro { background:var(--gp-orange); }
.gp-comparison-saving { display:flex; align-items:center; justify-content:space-between; gap:14px; background:var(--gp-orange-light); padding:20px; border-radius:14px; }
.gp-comparison-saving>div>span { display:block; color:#926647; font-size:13px; margin-bottom:5px; }
.gp-comparison-saving strong { display:block; color:#ac480e; font-size:32px; font-weight:750; letter-spacing:-.04em; line-height:1.35; }
.gp-comparison-percent { flex:none; color:#a1420a; background:#fff; padding:7px 10px; border:1px solid #f5d8c1; border-radius:8px; font-size:13px; font-weight:600; }
.gp-comparison-saving[data-state="higher"] { background:#f2f3f6; }
.gp-comparison-saving[data-state="higher"] strong,.gp-comparison-saving[data-state="higher"]>div>span { color:#565e6a; }
.gp-comparison-saving[data-state="higher"] .gp-comparison-percent { border-color:#d9dde3; color:#565e6a; }
.gp-comparison-payment { display:flex; justify-content:space-between; gap:12px; font-size:13px; color:var(--gp-muted); margin:20px 0 12px; }
.gp-comparison-payment strong { font-size:15px; color:var(--gp-ink); }
.gp-comparison-card .gp-button { width:100%; }
.gp-comparison-note { font-size:12px; color:var(--gp-muted); line-height:1.75; margin-top:16px; }
.gp-comparison-source { font-size:12px; color:var(--gp-muted); margin-top:8px; line-height:1.75; }
.gp-comparison-source summary { cursor:pointer; width:fit-content; padding:5px 0; }
.gp-comparison-source p { margin:8px 0; }
.gp-comparison-source a { text-decoration:underline; text-underline-offset:3px; }
.gp-home-faq h2 { font-size:26px; }
@media(hover:hover) and (pointer:fine) {
  .gp-button:hover { transform:translateY(-2px); box-shadow:0 6px 14px #076da518; }
  .gp-home-plan:hover { transform:translateY(-3px); box-shadow:0 10px 26px #1b557b12; }
}
@media(max-width:480px) {
  .gp-shell { width:calc(100% - 40px); }
  .gp-header-inner { display:block; min-height:0; padding-top:16px; }
  .gp-nav { gap:24px; margin-top:8px; }
  .gp-nav a { padding:10px 0 12px; }
  html { scroll-padding-top:110px; }
  .gp-hero { padding:52px 0 46px; }
  .gp-service-intro h2 { font-size:18px; }
  .gp-service-intro p { font-size:13px; }
  .gp-service-intro p br { display:none; }
  .gp-service-mark { width:52px; height:52px; border-radius:13px; }
  .gp-service-mark .gp-icon { width:34px; height:34px; }
  .gp-section { padding-block:42px; }
  .gp-section h2 { font-size:30px; }
  .gp-home-faq h2 { font-size:24px; }
  .gp-section-heading>p { font-size:16px; }
  .gp-home-plan { padding:24px; }
  .gp-preview-note span { display:block; }
  .gp-comparison-card { padding:20px; }
  .gp-chart-label>p { font-size:22px; }
  .gp-chart-label>div>strong { font-size:15px; }
  .gp-comparison-saving { padding:16px; gap:8px; }
  .gp-comparison-saving strong { font-size:28px; }
  .gp-comparison-percent { padding-inline:7px; font-size:12px; }
}
@media(max-width:359px) {
  .gp-shell { width:calc(100% - 32px); }
  .gp-service-intro { gap:12px; }
  .gp-service-mark { width:44px; height:44px; }
  .gp-home-plan { padding:18px; }
  .gp-plan-badge { padding-inline:6px; font-size:11px; }
  .gp-comparison-card { padding:16px; }
  .gp-chart-label { gap:8px; }
  .gp-chart-label>p { font-size:20px; }
  .gp-chart-label>p>span { display:block; text-align:right; margin:0; }
  .gp-comparison-saving { flex-wrap:wrap; }
  .gp-plan-service { gap:6px; }
  .gp-plan-overline { font-size:12px; }
  .gp-heading-icon { width:23px; height:23px; margin-right:6px; }
  .gp-section h2 { font-size:27px; }
  .gp-home-faq h2 { font-size:22px; }
  .gp-steps { padding-inline:16px; }
  .gp-steps li { gap:12px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*:before,*:after { animation:none!important; transition:none!important; }
}
