:root{--ink-900: #1c1b1a;--ink-700: #3a3531;--ink-500: #6a625c;--paper-50: #fdf8f2;--paper-100: #f6f0e7;--paper-200: #ece2d4;--brand-red: #c8102e;--brand-blue: #177cb0;--brand-gold: #bfa46f;--brand-emerald: #1e6f5c;--shadow-soft: 0 18px 40px rgba(27, 20, 16, .1);--shadow-strong: 0 25px 60px rgba(27, 20, 16, .18);--radius-xl: 28px;--radius-lg: 20px;--radius-md: 14px;--radius-sm: 999px;--font-display: "Fraunces", "Noto Sans JP", "Noto Sans SC", serif;--font-body: "IBM Plex Sans", "Noto Sans SC", "Noto Sans JP", sans-serif}*{box-sizing:border-box;margin:0;padding:0}.hidden{display:none!important}body{font-family:var(--font-body);color:var(--ink-900);background:radial-gradient(circle at top left,#fffaf2,#f8f1e6 45%,#efe5d6);line-height:1.6}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}.site{min-height:100vh;position:relative;overflow-x:hidden}.site:before{content:"";position:absolute;inset:0;background-image:linear-gradient(135deg,rgba(23,124,176,.08),transparent 55%),repeating-linear-gradient(90deg,rgba(28,27,26,.04) 0 1px,transparent 1px 28px);pointer-events:none;z-index:0}.container{width:min(1200px,100% - 2rem);margin:0 auto}.section{padding:96px 0;position:relative;z-index:1}.section-tight{padding:64px 0;position:relative;z-index:1}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:.75rem;color:var(--brand-red);font-weight:700}.section-title{font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);margin-top:12px}.section-lead{max-width:560px;color:var(--ink-700);margin-top:12px}.section-header{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:32px}.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:var(--radius-sm);font-weight:600;border:1px solid transparent;transition:transform .2s ease,box-shadow .2s ease}.btn-primary{background:var(--brand-red);color:#fff;box-shadow:0 14px 30px #c8102e40}.btn-primary:hover{transform:translateY(-2px)}.btn-outline{background:#ffffffb3;border-color:#1c1b1a1f;color:var(--ink-900)}.btn-outline:hover{box-shadow:0 10px 24px #1c1b1a1f}.site-nav{position:sticky;top:0;z-index:40;background:#ffffffd1;backdrop-filter:blur(14px);border-bottom:1px solid rgba(28,27,26,.08)}.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;height:76px}.brand{display:inline-flex;align-items:center;gap:12px}.brand-mark{width:38px;height:38px;border-radius:10px;background:var(--brand-red);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-family:var(--font-display)}.brand-name{font-size:1.1rem;font-weight:700}.brand-name span{color:var(--brand-red)}.nav-links{display:flex;align-items:center;gap:22px;font-weight:600;color:var(--ink-700)}.nav-links a{transition:color .2s ease}.nav-links a:hover{color:var(--brand-red)}.nav-cta{padding:8px 16px;border-radius:var(--radius-sm);border:1px solid rgba(200,16,46,.2);color:var(--brand-red)}.nav-actions{display:flex;align-items:center;gap:12px}.nav-icon{width:36px;height:36px;border-radius:50%;border:1px solid rgba(28,27,26,.12);background:#fff;display:inline-flex;align-items:center;justify-content:center}.lang-switch{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:var(--radius-sm);border:1px solid rgba(28,27,26,.12);background:#ffffffb3;font-size:.85rem;font-weight:600;color:var(--ink-700)}.lang-switch a{padding:2px 6px;border-radius:10px;background:#177cb01f;color:var(--brand-blue)}.lang-switch .lang-current{padding:2px 6px;border-radius:10px;background:#c8102e2e;color:var(--brand-red)}.nav-mobile{display:none}.nav-mobile details{position:relative}.nav-mobile summary{list-style:none;cursor:pointer;padding:8px 12px;border-radius:var(--radius-sm);border:1px solid rgba(28,27,26,.12);background:#fff;font-weight:600}.nav-mobile summary::-webkit-details-marker{display:none}.nav-mobile .mobile-panel{position:absolute;right:0;top:44px;background:#fff;border-radius:16px;padding:16px;box-shadow:var(--shadow-soft);border:1px solid rgba(28,27,26,.12);display:grid;gap:10px;min-width:200px;z-index:50}.nav-mobile .mobile-panel a{font-weight:600;color:var(--ink-700)}.hero{position:relative;min-height:90vh;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;overflow:hidden}.hero-media{position:absolute;inset:0}.hero-media img{width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,#0006,#000000ad)}.hero-inner{position:relative;z-index:2;display:grid;gap:24px;justify-items:center;padding:120px 0 80px;opacity:0;animation:heroIn 1s ease forwards}.hero-tag{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:var(--radius-sm);background:#ffffff26;border:1px solid rgba(255,255,255,.3);font-size:.7rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase}.hero-title{font-family:var(--font-display);font-size:clamp(2.6rem,5vw,4.6rem);max-width:840px;line-height:1.05;text-shadow:0 12px 30px rgba(0,0,0,.35)}.hero-search{width:min(860px,100%);display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;gap:12px;background:#fffffff2;padding:12px;border-radius:var(--radius-xl);box-shadow:var(--shadow-strong);color:var(--ink-900)}.hero-select{display:flex;align-items:center;gap:12px;padding:10px 16px;border-radius:var(--radius-lg);background:#f6f0e7e6}.hero-select label{display:block;font-size:.7rem;letter-spacing:1px;text-transform:uppercase;color:var(--ink-500);font-weight:700}.hero-select select{border:none;background:transparent;font-weight:600;width:100%}.hero-search .btn{padding-inline:28px;white-space:nowrap}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;margin-top:-120px}.info-card{background:#fff;border-radius:var(--radius-lg);padding:28px;box-shadow:var(--shadow-soft);border-bottom:4px solid var(--brand-blue);display:grid;gap:12px;animation:rise .8s ease forwards;opacity:0}.info-card--red{border-bottom-color:var(--brand-red)}.info-card--gold{border-bottom-color:var(--brand-gold)}.info-icon{width:44px;height:44px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;color:var(--brand-blue);background:#177cb01a}.info-card--red .info-icon{background:#c8102e1a;color:var(--brand-red)}.info-card--gold .info-icon{background:#bfa46f33;color:var(--brand-gold)}.info-card h3{font-family:var(--font-display);font-size:1.3rem}.info-card p{color:var(--ink-700);font-size:.95rem}.info-link{font-weight:700;color:var(--brand-blue)}.info-card--red .info-link{color:var(--brand-red)}.info-card--gold .info-link{color:var(--brand-gold)}.bento-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:220px;gap:16px}.bento-card{position:relative;border-radius:var(--radius-xl);overflow:hidden;cursor:pointer;box-shadow:var(--shadow-soft)}.bento-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.bento-card:hover img{transform:scale(1.08)}.bento-overlay{position:absolute;inset:0;background:linear-gradient(180deg,#0000001a,#000000bf)}.bento-content{position:absolute;bottom:0;left:0;padding:24px;color:#fff;display:grid;gap:6px}.bento-tags{display:flex;gap:8px;flex-wrap:wrap}.bento-tag{padding:4px 10px;border-radius:999px;font-size:.7rem;background:#fff3}.bento-card--large{grid-column:span 2;grid-row:span 2}.bento-card--wide{grid-column:span 2}.tool-section{background:#f3f3f4;border-top:1px solid rgba(28,27,26,.08);border-bottom:1px solid rgba(28,27,26,.08)}.tool-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}.widget-card{background:#fff;border-radius:var(--radius-xl);padding:28px;border:1px solid rgba(28,27,26,.08);box-shadow:var(--shadow-soft);position:relative}.widget-title{font-family:var(--font-display);font-size:1.3rem;margin-bottom:18px;display:flex;align-items:center;gap:8px}.widget-row{display:flex;align-items:center;gap:16px}.widget-pill{padding:6px 12px;background:var(--paper-100);border-radius:var(--radius-sm);font-size:.8rem;font-weight:600}.widget-divider{border-left:1px solid rgba(28,27,26,.08);padding-left:16px}.widget-highlight{font-size:2.2rem;font-weight:700}.widget-meta{font-size:.85rem;color:var(--ink-500)}.widget-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.widget-tag{padding:6px 10px;border-radius:12px;background:#177cb01a;color:var(--brand-blue);font-size:.75rem;border:1px solid rgba(23,124,176,.16)}.snapshot-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.snapshot-title{font-family:var(--font-display);font-size:1.35rem;display:flex;align-items:center;gap:8px}.snapshot-subtle{font-size:.85rem;color:var(--ink-500)}.snapshot-select{border-radius:10px;border:1px solid rgba(28,27,26,.12);background:#f8f9fae6;padding:6px 10px;font-size:.85rem}.exchange-base{background:var(--paper-100);border-radius:var(--radius-lg);padding:18px 20px;display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.exchange-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.exchange-item{background:#fff;border-radius:var(--radius-lg);padding:16px;border:1px solid rgba(28,27,26,.08);box-shadow:var(--shadow-soft);display:flex;align-items:center;justify-content:space-between;gap:12px}.exchange-meta{display:grid;gap:4px}.exchange-code{font-size:.75rem;text-transform:uppercase;letter-spacing:1px;color:var(--ink-500);font-weight:700}.exchange-amount{font-size:1.4rem;font-weight:700;color:var(--brand-red)}.power-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;margin-top:16px}.power-pill{border-radius:12px;padding:8px 10px;font-size:.75rem;font-weight:600;text-align:center;display:grid;gap:4px;line-height:1.2}.power-pill span{display:block}.power-pill strong{font-weight:700}.weather-highlight{font-size:2.4rem;font-weight:700}.weather-meta{font-size:.85rem;color:var(--ink-500)}.weather-stack{display:grid;gap:14px}.climate-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(64px,1fr));gap:8px;margin-top:16px}.climate-cell{background:var(--paper-100);border-radius:12px;padding:8px;text-align:center;font-size:.75rem;color:var(--ink-700);display:grid;gap:4px}.climate-cell span{display:block;font-weight:700;color:var(--ink-900)}.climate-value{font-size:.85rem;font-weight:700}.climate-precip{font-style:normal;color:var(--ink-500);font-size:.7rem}.page-hero{padding:120px 0 56px;position:relative;z-index:1}.page-hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right,rgba(200,16,46,.08),transparent 55%);z-index:-1}.page-hero-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:32px;align-items:center}.page-title{font-family:var(--font-display);font-size:clamp(2.1rem,4vw,3.4rem);margin:12px 0}.page-lead{max-width:520px;color:var(--ink-700)}.meta-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.meta-pill{padding:6px 12px;border-radius:var(--radius-sm);background:#177cb01a;color:var(--brand-blue);font-size:.8rem;font-weight:600}.tag-list{display:flex;flex-wrap:wrap;gap:8px}.tag{padding:6px 12px;border-radius:var(--radius-sm);background:#bfa46f2e;color:#7a6236;font-size:.8rem;font-weight:600}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}.list-card{background:#fff;border-radius:var(--radius-lg);padding:22px;box-shadow:var(--shadow-soft);border:1px solid rgba(28,27,26,.08);display:grid;gap:12px;animation:rise .8s ease forwards;opacity:0}.list-card h3{font-family:var(--font-display);font-size:1.2rem}.list-card p{color:var(--ink-700);font-size:.95rem}.list-meta{display:flex;justify-content:space-between;gap:12px;font-size:.75rem;text-transform:uppercase;letter-spacing:1px;color:var(--ink-500)}.list-link{font-weight:700;color:var(--brand-emerald)}.feature-card{grid-column:1 / -1;background:linear-gradient(120deg,#177cb029,#bfa46f1f);border:1px solid rgba(23,124,176,.18)}.content-shell{padding:48px 0 96px;position:relative;z-index:1}.content-panel{background:#fff;border-radius:var(--radius-xl);padding:32px;box-shadow:var(--shadow-soft);max-width:860px;margin:0 auto}.article-body{display:grid;gap:16px}.article-body h2,.article-body h3{font-family:var(--font-display);margin-top:12px}.article-body ul{padding-left:20px;display:grid;gap:8px}.tool-form{display:grid;gap:16px}.tool-field{display:grid;gap:6px}.tool-field input,.tool-field select{padding:12px 14px;border-radius:var(--radius-md);border:1px solid rgba(28,27,26,.14);background:#fff}.tool-result{padding:14px 16px;border-radius:var(--radius-md);background:#177cb014;font-size:.95rem}.site-footer{background:#1a1715;color:#f3efe8;padding:72px 0 36px;position:relative;z-index:1}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:28px;margin-bottom:32px}.footer-title{font-weight:700;margin-bottom:12px}.footer-text{color:#f3efe8b3;font-size:.9rem}.footer-links{list-style:none;display:grid;gap:8px;font-size:.9rem;color:#f3efe8b3}.footer-links a:hover{color:#fff}.footer-bottom{border-top:1px solid rgba(243,239,232,.15);padding-top:20px;text-align:center;font-size:.85rem;color:#f3efe899}.fab{position:fixed;right:24px;bottom:24px;width:54px;height:54px;border-radius:50%;background:var(--brand-red);color:#fff;display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--shadow-strong);z-index:60;font-weight:700}@keyframes rise{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes heroIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.list-card,.info-card,.hero-inner{opacity:1;transform:none}}@media(max-width:980px){.nav-links,.nav-actions{display:none}.nav-mobile{display:block}.hero-search{grid-template-columns:1fr}.info-grid{margin-top:-60px}.bento-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:200px}.bento-card--large,.bento-card--wide{grid-column:span 2;grid-row:span 1}}@media(max-width:640px){.hero{min-height:80vh}.hero-inner{padding-top:110px}.section{padding:72px 0}.info-grid{margin-top:-40px}}
