
.gk-b{--col:46rem;--wide:58rem;--atlas:76rem;--pad:20px;}
.gk h2.lr2 .ln{overflow:visible;}
.gk h2.lr2 .ln > span{transform:none;transition:none;}
.gk sup{font-size:.62em;line-height:0;margin-left:1px;}
.gk sup a{color:var(--blue-ink);font-weight:600;}
.gk .on-navy sup a,.gk-hero sup a,.gk-close sup a{color:var(--lime);}

.gk-ck{width:20px;height:20px;flex:none;margin-top:4px;}
.gk-ck circle{fill:var(--blue);}
.gk-ck path{stroke:#fff;}
.gk .on-navy .gk-ck circle{fill:var(--lime);}
.gk .on-navy .gk-ck path{stroke:var(--navy);}
.gk-ticks{display:grid;gap:12px;margin:0;padding:0;list-style:none;}
.gk-ticks li{display:grid;grid-template-columns:20px minmax(0,1fr);gap:12px;align-items:start;
  font-size:var(--t-body);line-height:var(--lh-support);font-weight:500;color:var(--ink);}
.gk-ticks b{font-weight:600;color:var(--navy);}

.gk-ground{background:var(--cream);color:var(--ink);}
.gk-col{max-width:var(--col);margin-inline:auto;padding-inline:var(--pad);box-sizing:content-box;}
.gk-vis{max-width:var(--wide);margin:clamp(28px,3.5vw,40px) auto;padding-inline:var(--pad);box-sizing:content-box;min-width:0;}
.gk-wide{max-width:var(--atlas);margin:clamp(40px,5vw,64px) auto 0;padding-inline:var(--pad);box-sizing:content-box;}

.gk-hero{padding-block:clamp(40px,5vw,72px);min-height:0;}
.gk-hero-in{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(24px,4vw,64px);align-items:center;max-width:var(--wide);margin-inline:auto;}
.gk-hero .hero-copy{display:block;min-width:0;}
.gk-hero h1{margin:0;font-size:clamp(2.1rem,4.4vw,3.6rem);line-height:1.04;text-wrap:balance;}
.gk-hero h1 .lime{display:block;}
.gk-meta{margin-top:var(--s5);display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:12px;font-size:var(--t-small);line-height:1.4;color:var(--cream);}
.gk-meta img{width:40px;height:40px;border-radius:50%;object-fit:cover;object-position:50% 18%;}
.gk-meta a{color:var(--cream);text-decoration:underline;text-underline-offset:3px;}
.gk-mascot{margin:0;justify-self:end;}
.gk-mascot img{height:clamp(180px,16vw,240px);width:auto;max-width:100%;object-fit:contain;}

.gk-top{padding-block:clamp(36px,4.5vw,56px) 0;}
.gk-label{font-family:var(--display);font-weight:600;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--blue-ink);margin:0 0 var(--s3);}
.gk-short{background:#fff;border:2px solid var(--navy);border-radius:16px;padding:clamp(22px,3vw,32px);}
.gk-short .gk-lede{margin:0 0 var(--s4);font-size:clamp(1.15rem,1.5vw,1.3rem);line-height:1.5;font-weight:500;color:var(--navy);max-width:none;text-wrap:pretty;}
.gk-method{margin:var(--s4) 0 0;font-size:var(--t-small);line-height:1.5;color:var(--grey);}
.gk-contents{margin-top:clamp(32px,4vw,48px);}
.gk-contents ol{list-style:none;margin:0;padding:0;columns:2;column-gap:32px;}
.gk-contents li{break-inside:avoid;border-top:1px solid var(--rule-l);}
.gk-contents a{display:block;padding:10px 0;min-height:44px;box-sizing:border-box;
  font-size:var(--t-small);line-height:1.35;font-weight:500;color:var(--navy);text-decoration:none;}
.gk-contents a:hover{color:var(--blue-ink);text-decoration:underline;text-underline-offset:3px;}
.gk-tn{font-family:var(--display);font-weight:600;color:var(--blue-ink);}

.gk-num{font-family:var(--display);font-weight:600;font-size:var(--t-small);line-height:1;letter-spacing:.02em;color:var(--blue-ink);margin:0 0 var(--s3);}

.gk-q{padding-top:clamp(28px,3.5vw,44px);scroll-margin-top:72px;}
.gk-q > .gk-col:first-child{border-top:1px solid var(--rule-l);padding-top:clamp(40px,5vw,64px);}
.gk .gk-q .h2{font-size:clamp(1.65rem,2.7vw,2.3rem);line-height:var(--lh-h2);color:var(--navy);text-wrap:balance;margin:0;}
.gk .h2 > span:not(.ln),.gk .h2 > .ln > span > span{color:var(--blue-ink);}
.gk .on-navy .h2 > span:not(.ln),.gk .on-navy .h2 > .ln > span > span{color:var(--lime);}
.gk-answer{margin:var(--s4) 0 var(--s5);font-size:clamp(1.12rem,1.4vw,1.25rem);line-height:1.5;font-weight:500;color:var(--navy);text-wrap:pretty;}
.gk-prose{display:grid;gap:var(--s4);}
.gk-col + .gk-prose{margin-top:var(--s5);}
.gk-prose p{margin:0;font-size:var(--t-body);line-height:var(--lh-prose);color:var(--ink);text-wrap:pretty;}
.gk-prose ul,.gk-prose ol{margin:0;padding-left:1.3em;display:grid;gap:8px;font-size:var(--t-body);line-height:var(--lh-body);}
.gk-prose a{color:var(--blue-ink);text-decoration:underline;text-underline-offset:3px;}
.gk-prose strong,.gk-prose b{color:var(--navy);font-weight:600;}
.gk-prose .gk-up{font-size:var(--t-small);}
.gk-prose .gk-up a{color:var(--grey);}
.gk-full summary{cursor:pointer;font-weight:600;color:var(--blue-ink);padding:8px 0;font-size:var(--t-small);}
.gk-full .gk-tbl{margin-top:var(--s3);}

.gk-tbl,.gk-compare{margin:0;}
.gk-tbl table{width:100%;border-collapse:collapse;background:var(--tbl-bg,#fff);border-radius:14px;overflow:hidden;
  box-shadow:0 0 0 1px var(--rule-l);font-size:16px;line-height:1.45;font-variant-numeric:tabular-nums;}
.gk-tbl caption,.gk-compare figcaption{caption-side:top;text-align:left;font-family:var(--display);font-weight:600;
  font-size:var(--d-s);line-height:var(--lh-display);color:var(--navy);padding-bottom:var(--s2);}
.gk .on-navy .gk-tbl caption{color:var(--cream);}
.gk .on-navy .gk-tbl table{--tbl-bg:#fff;}
.gk-tbl thead th{background:transparent;color:var(--navy);font-weight:600;text-align:left;padding:14px 18px 10px;font-size:var(--t-small);border-bottom:2px solid var(--navy);}
.gk-tbl tbody th{text-align:left;font-weight:600;color:var(--navy);padding:13px 18px;}
.gk-tbl td{padding:13px 18px;color:var(--ink);font-weight:500;}
.gk-tbl tbody tr + tr > *{border-top:1px solid var(--rule-l);}

.gk-compare dl{margin:0;background:var(--tbl-bg,#fff);border-radius:14px;box-shadow:0 0 0 1px var(--rule-l);overflow:hidden;}
.gk-compare dl > div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:baseline;padding:16px 20px;}
.gk-compare dl > div + div{border-top:1px solid var(--rule-l);}
.gk-compare dt{font-family:var(--display);font-weight:600;font-size:var(--d-s);color:var(--navy);}
.gk-compare dd{margin:0;font-weight:600;font-size:var(--t-body);color:var(--blue-ink);text-align:right;}

.gk-jp-card{display:grid;grid-template-columns:150px minmax(0,1fr);gap:clamp(20px,3vw,36px);align-items:start;
  background:var(--navy);color:var(--cream);border-radius:20px;padding:clamp(24px,3.5vw,40px);}
.gk-jp-pic{width:100%;height:auto;border-radius:14px;}
.gk-jp .gk-num{color:var(--lime);}
.gk .gk-jp .h2{color:var(--cream);font-size:clamp(1.5rem,2.3vw,2rem);}
.gk-quote{margin:var(--s4) 0 0;padding:0;list-style:none;display:grid;border-top:1px solid var(--rule-d);}
.gk-quote li{font-weight:500;font-size:var(--t-body);line-height:1.5;color:var(--cream);padding-block:12px;border-bottom:1px solid var(--rule-d);text-wrap:pretty;}
.gk-quote-p{margin-top:var(--s4);font-size:var(--t-body);line-height:var(--lh-body);color:var(--cream);}
.gk-sign{margin-top:var(--s4);font-size:var(--t-small);font-weight:600;color:var(--lime);}
.gk-jp > .gk-col:first-child{border-top:0;padding-top:0;}

.gk-faqlist{margin-top:var(--s4);}
.gk-faq .faq details p a{color:var(--blue-ink);}
.gk .gk-sources{margin-top:var(--gap-m);}
.gk-srcbody{padding-bottom:var(--s4);}
.gk-srcbody h3{font-size:var(--t-small);text-transform:none;color:var(--navy);margin:var(--s4) 0 var(--s2);}
.gk-srcbody ol{margin:0;padding-left:2.2em;display:grid;gap:8px;}
.gk-srcbody li{font-size:var(--t-small);line-height:var(--lh-support);overflow-wrap:anywhere;scroll-margin-top:90px;}
.gk-srcbody a{color:var(--blue-ink);font-weight:600;text-decoration:underline;text-underline-offset:3px;}
.gk-read{color:var(--grey);}

.gk-vis:has(> .gk-compare){max-width:var(--col);}

.gk-close{background:var(--navy);padding-block:clamp(40px,6vw,80px);overflow:hidden;}
.gk-close-in{display:flex;align-items:center;gap:clamp(20px,4vw,48px);max-width:var(--col);margin-inline:auto;}
.gk-close-hago{width:clamp(150px,18vw,240px);height:auto;flex:none;}
.gk-close-copy{max-width:58ch;}
.gk-about{font-size:var(--t-body);line-height:var(--lh-body);font-weight:500;color:var(--cream);}
.gk-about a{color:var(--lime);text-decoration:underline;text-underline-offset:3px;}
.gk-close .btn{margin-top:var(--s4);}

.gk-vis:has(> .gk-compare){max-width:var(--col);}

.gk-ground > .gk-faq{padding-bottom:clamp(56px,7vw,96px);}
.gk-close{background:var(--navy);padding-block:clamp(40px,6vw,80px);overflow:hidden;}
.gk-close-in{display:flex;align-items:center;gap:clamp(20px,4vw,48px);max-width:var(--col);margin-inline:auto;}
.gk-close-hago{width:clamp(150px,18vw,240px);height:auto;flex:none;}
.gk-close-copy{max-width:58ch;}
.gk-about{font-size:var(--t-body);line-height:var(--lh-body);font-weight:500;color:var(--cream);}
.gk-about a{color:var(--lime);text-decoration:underline;text-underline-offset:3px;}
.gk-close .btn{margin-top:var(--s4);}

@media(max-width:760px){
  .gk-hero-in{grid-template-columns:minmax(0,1fr);gap:20px;}
  .gk-mascot{justify-self:start;order:-1;}
  .gk-mascot img{height:clamp(150px,42vw,190px);}
  .gk-hero{padding-block:28px 40px;}
  .gk-contents ol{columns:1;}
  .gk-jp-card{grid-template-columns:minmax(0,1fr);}
  .gk-jp-pic{max-width:120px;}
  .gk-close-hago{display:none;}
}
@media(max-width:620px){
  .gk-compare dl > div{grid-template-columns:minmax(0,1fr);gap:2px;padding:14px 16px;}
  .gk-compare dd{text-align:left;}

  .gk-tbl table,.gk-tbl tbody,.gk-tbl tr,.gk-tbl th,.gk-tbl td{display:block;}
  .gk-tbl thead{display:none;}
  .gk-tbl table{background:none;box-shadow:none;border-radius:0;overflow:visible;}
  .gk-tbl caption{display:block;padding-bottom:var(--s2);}
  .gk-tbl tbody{background:var(--tbl-bg,#fff);border-radius:14px;box-shadow:0 0 0 1px var(--rule-l);overflow:hidden;}
  .gk-tbl tbody tr{padding:12px 16px;}
  .gk-tbl tbody tr + tr{border-top:1px solid var(--rule-l);}
  .gk-tbl tbody tr + tr > *{border-top:0;}
  .gk-tbl tbody th{padding:0 0 6px;font-size:var(--t-body);}
  .gk-tbl td{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:12px;padding:4px 0;}
  .gk-tbl td::before{content:attr(data-col);color:var(--grey);font-weight:500;}
}

.gk-close .gk-label{color:var(--lime);}

@media(min-width:1200px){
  .gk-hero-in{--side:18rem;max-width:calc(var(--col) + 2 * var(--side));padding-left:var(--side);
    grid-template-columns:var(--col) minmax(0,1fr);gap:32px;box-sizing:border-box;}
  .gk-mascot{justify-self:start;}
  .gk-mascot img{max-width:100%;height:auto;max-height:240px;}
}

.gk-wide .gk-num,.gk-wide sup a{color:var(--lime);}

.gk-prose ol,.gk-vis ol:not(.gk-quote){list-style:disc;}
