/* Shared frame and navigation. */
:root{color-scheme:dark;--yellow:#dec328;--red:#ff5057;--muted:#bfbfbf;--blue:#55c7ed}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#000;color:#fff;font-family:Arial,"Malgun Gothic",sans-serif;font-size:16px;line-height:1.5}
a{color:inherit;text-underline-offset:4px}
a:focus-visible{outline:2px solid var(--yellow);outline-offset:5px}
img{max-width:100%;height:auto}
.skip-link{position:absolute;left:16px;top:-70px;z-index:2;background:#fff;color:#000;padding:12px}
.skip-link:focus{top:12px}
.site-header{text-align:center;padding-top:18px}
.site-nav{display:flex;justify-content:center;align-items:center;gap:30px;min-height:50px;padding:0 20px}
.site-nav a{font-size:15px;text-decoration:none;white-space:nowrap}
.site-nav a[aria-current],.site-nav a:hover{color:var(--yellow)}
.brand{display:block;width:350px;margin:32px auto 0;line-height:0}
.brand img{display:block;width:100%}
.site-footer{text-align:center;padding:50px 20px 32px;color:#aaa}
.site-footer p{font-size:20px;margin:0 0 12px}
.site-footer small{font-size:13px}
/* Visible navigation mirrors the BreadcrumbList hierarchy. */
.breadcrumbs{font-size:14px;line-height:1.6;color:var(--muted);margin-bottom:26px;text-align:left}
.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:6px 0;list-style:none;margin:0;padding:0}
.breadcrumbs li{display:flex;align-items:baseline;min-width:0;overflow-wrap:anywhere}
.breadcrumbs li+li::before{content:"›";color:#888;margin:0 10px}
.breadcrumbs a{text-decoration:none}
.breadcrumbs a:hover{text-decoration:underline;color:var(--yellow)}
.breadcrumbs [aria-current=page]{color:#ddd}
.guide-layout>.breadcrumbs{grid-column:1/-1;order:-1;margin-bottom:-8px}
/* Homepage follows the reference's centered address layout. */
.home-main{max-width:1020px;margin:58px auto 0;padding:0 20px 32px;text-align:center}
.home-main h1{font-size:61px;line-height:1.15;letter-spacing:-.055em;color:var(--red);margin:0;font-weight:700;word-break:keep-all}
.home-intro{margin:48px 0 0;font-size:25px;line-height:1.32;font-weight:700;word-break:keep-all}
.primary-button{display:flex;align-items:center;justify-content:center;width:445px;min-height:90px;max-width:100%;margin:38px auto 0;padding:12px 20px;border-radius:50px;background:var(--yellow);color:#f33332;box-shadow:5px 5px 0 rgb(255 255 255 / 35%);font-size:34px;font-weight:700;letter-spacing:-.055em;text-decoration:none;line-height:1.3}
.primary-button:hover{background:#f0d847}
.address-list{display:grid;justify-items:center;gap:32px;margin-top:38px}
.address-frame{width:355px;max-width:100%;margin:0;padding:9px 10px;border:3px solid transparent;border-image:linear-gradient(90deg,#ff5057,#dec328 85%,#ededff) 1;color:var(--red);font-size:26px;font-weight:700;line-height:34px;white-space:nowrap}
.next-address{color:#999;font-weight:400}
.contact-note{margin:44px auto 0;font-size:20px;line-height:2.25;word-break:keep-all}
.contact-note strong{color:var(--yellow)}
.contact-note span{font-size:18px;color:var(--muted)}
/* Static guide pages use the reference's two-column composition. */
.guide-layout{display:grid;grid-template-columns:360px minmax(0,1fr);align-items:start;gap:38px;max-width:980px;margin:38px auto 0;padding:0 0 35px}
.guide-reverse .guide-poster{order:2}
.guide-copy{text-align:center;padding-top:30px;word-break:keep-all;overflow-wrap:break-word}
.guide-copy h1{margin:0 0 26px;color:var(--blue);font-size:29px;line-height:1.4}
.guide-copy h2{font-size:23px;line-height:1.4;color:var(--yellow);margin:30px 0 18px}
.guide-copy h2:nth-of-type(2n){color:#e78c6c}
.guide-copy p{margin:18px 0;color:#ddd;line-height:1.65}
.guide-copy a,.article-main a{color:var(--blue)}
.guide-copy .highlight-address{font-size:21px;font-weight:700;color:#90cc92;overflow-wrap:anywhere}
.guide-poster{min-height:490px;padding:50px 24px;background:linear-gradient(#25282a,#181b1e);text-align:center;display:flex;flex-direction:column;justify-content:center;gap:24px;word-break:keep-all}
.guide-poster strong{font-size:50px;line-height:1.2}
.guide-poster span{font-size:30px;line-height:1.4;font-weight:700}
.guide-poster b{font-size:67px;color:#7c858a;letter-spacing:3px}
.guide-poster p{margin:0;color:var(--yellow);font-size:20px;font-weight:700;white-space:pre-line;overflow-wrap:anywhere}
/* Blog listing and article content. */
.blog-main{max-width:940px;margin:54px auto 0;padding:0 20px 50px;min-height:460px}
.blog-main>h1{font-size:40px;font-weight:500;text-align:center;margin:0 0 45px}
.post-preview{display:grid;grid-template-columns:280px minmax(0,1fr);border:1px solid #383838}
.post-thumbnail{min-height:270px;background:#25282a;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-decoration:none;padding:24px}
.post-thumbnail span{font-size:36px;font-weight:700;color:var(--yellow)}
.post-thumbnail strong{font-size:30px}
.post-summary{padding:26px 30px}
.post-meta{margin:0 0 20px;font-size:14px;color:#aaa}
.post-summary h2{font-size:25px;line-height:1.5;margin:0 0 18px;word-break:keep-all}
.post-summary h2 a{text-decoration:none}
.post-summary>p:not(.post-meta){color:#ccc;line-height:1.7}
.read-more{display:inline-block;margin-top:14px;color:var(--yellow)}
.article-main{max-width:820px;margin:55px auto 0;padding:0 24px 45px;word-break:keep-all}
.article-main h1{font-size:37px;line-height:1.45;margin:0 0 34px;color:var(--yellow)}
.article-main h2{font-size:25px;line-height:1.5;margin:38px 0 16px}
.article-main article>p{font-size:18px;line-height:1.9;color:#ddd;margin:18px 0}
.article-main table{width:100%;border-collapse:collapse;margin:24px 0;line-height:1.7}
.article-main caption{text-align:left;margin-bottom:12px;color:var(--muted);font-size:14px}
.article-main th,.article-main td{border-bottom:1px solid #383838;padding:14px 12px;text-align:left;vertical-align:top;overflow-wrap:anywhere}
.article-main thead th{color:var(--yellow)}
.article-main tbody th{width:43%;font-weight:400}
.error-main{text-align:center;padding:75px 20px;min-height:380px;word-break:keep-all}
.error-main a{color:var(--yellow)}
/* Keep the same order on smaller screens without horizontal overflow. */
@media(max-width:1020px){.guide-layout{margin-left:24px;margin-right:24px;grid-template-columns:34% minmax(0,1fr);gap:28px}.guide-poster{padding:30px 15px}.guide-poster strong{font-size:42px}.guide-poster span{font-size:26px}.home-main h1{font-size:clamp(36px,5.5vw,61px)}}
@media(max-width:640px){.site-header{padding-top:12px}.site-nav{display:grid;grid-template-columns:repeat(3,max-content);gap:12px 24px;min-height:60px;padding:0 12px}.site-nav a{font-size:13px}.brand{width:265px;margin-top:28px}.home-main{margin-top:38px;padding:0 18px 18px}.home-main h1{max-width:370px;margin:auto;font-size:36px;line-height:1.35}.home-intro{font-size:18px;line-height:1.65;margin-top:27px}.primary-button{min-height:68px;font-size:26px;margin-top:28px;padding:14px 16px}.address-list{margin-top:31px;gap:22px}.address-frame{font-size:21px;line-height:31px;padding:7px 8px;width:320px}.contact-note{font-size:16px;line-height:1.9;margin-top:32px}.contact-note span{font-size:14px}.site-footer{padding:34px 18px 25px}.site-footer p{font-size:15px}.guide-layout{display:flex;flex-direction:column;margin:36px 20px 0;padding:0;gap:24px}.guide-copy{padding:0}.guide-reverse .guide-poster,.guide-poster{order:1;width:100%;min-height:270px;gap:15px}.guide-poster strong{font-size:37px}.guide-poster span{font-size:25px}.guide-poster b{font-size:52px}.guide-copy h1{font-size:26px}.guide-copy h2{font-size:21px}.blog-main{margin-top:38px;padding:0 18px 25px}.blog-main>h1{font-size:30px;margin-bottom:28px}.post-preview{grid-template-columns:1fr}.post-thumbnail{min-height:190px}.post-summary{padding:24px}.post-summary h2{font-size:23px}.article-main{margin-top:36px;padding:0 20px 25px}.article-main h1{font-size:29px}.article-main h2{font-size:23px}.article-main article>p{font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
