:root{--color-brand:#2d3565;--color-brand-dark:#20284d;--color-bg:#f3f4f7;--color-surface:#ffffff;--color-text:#2f3441;--color-text-muted:#667085;--color-border:#d9dde6;--color-accent:#c79a2b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f3f4f7;color:var(--color-text);font-family:Hiragino Sans,Noto Sans JP,Yu Gothic,sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.shell{width:min(100% - 32px,1200px);margin:0 auto}.hero .shell,.section .shell{width:min(100% - 32px,880px)}.campaign-page{padding-bottom:96px}.floating-action-bar{position:fixed;right:0;bottom:0;left:0;z-index:30;padding:12px 16px;border-top:1px solid rgba(45,53,101,.12);background:rgba(212,217,226,.6);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;transform:translateY(16px);pointer-events:none;transition:opacity .18s ease,transform .18s ease}.floating-action-bar.is-visible{opacity:1;transform:translateY(0);pointer-events:auto}.floating-action-bar__inner{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;width:min(100%,560px);margin:0 auto}.floating-action-bar__button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 18px;border:1px solid #cfd5e1;border-radius:4px;font-size:.96rem;font-weight:700}.floating-action-bar__button--primary{color:#fff;background:var(--color-brand);border-color:var(--color-brand)}.floating-action-bar__button--secondary{color:var(--color-brand);background:#fff}.site-header{z-index:20;background:var(--color-brand);border-bottom:1px solid #20284d}.site-header__inner{display:flex;align-items:center;justify-content:flex-start;gap:24px;min-height:64px}.brand-mark{display:inline-flex}.brand-mark__logo{width:168px;height:auto}.page-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-top:14px;color:#6b7280;font-size:.82rem}.page-breadcrumb a{color:var(--color-brand)}.page-breadcrumb__sep{color:#8b93a3}.hero{padding:20px 0 32px}.hero__grid{display:grid;grid-gap:28px;gap:28px;align-items:stretch}.campaign-summary,.entry-panel,.feature-card,.footer-cta,.hero-panel,.hero__copy,.related-card,.rule-card,.status-card,.story-panel,.timeline-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;box-shadow:none}.hero__copy{padding:32px;position:relative;overflow:hidden}.hero__creative{width:100%;border:1px solid var(--color-border);background:#fff;margin-bottom:22px}.hero__copy:after{content:none}.eyebrow{margin:0 0 12px;color:var(--color-accent);font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.footer-cta h2,.hero h1,.hero-panel h2,.section-heading h2{margin:0;color:var(--color-brand-dark);line-height:1.15}.hero h1{font-size:clamp(2.25rem,5vw,4.25rem)}.campaign-summary p,.feature-card p,.footer-cta p,.hero-panel p,.hero__lead,.note-list li,.related-card p,.rule-card p,.section-heading p,.status-card p,.story-panel p,.timeline-card p{color:var(--color-text-muted);line-height:1.8}.hero__lead{margin:18px 0 0;max-width:60ch;font-size:1.02rem}.footer-cta__actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:4px;font-weight:700;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease,border-color .18s ease}.button:hover{transform:translateY(-1px)}.button--primary{color:#fff;background:var(--color-brand);box-shadow:none}.button--ghost,.button--secondary{color:var(--color-brand);background:#fff;border:1px solid #cfd5e1}.button--gold{color:var(--color-brand-dark);background:#e8edf7;border:1px solid #cfd5e1}.button--full{width:100%}.hero-panel{display:flex;flex-direction:column;overflow:hidden}.hero-panel__visual{min-height:260px;display:grid;place-items:center;padding:28px 24px 20px;background:linear-gradient(180deg,#eef1f6,#f8f9fb);border-bottom:1px solid rgba(45,53,101,.08)}.hero-panel__product-image{width:min(100%,320px);height:auto;object-fit:contain}.hero-panel__body{padding:24px}.hero-panel__section{margin-top:26px;padding-top:22px;border-top:1px solid rgba(45,53,101,.12)}.hero-panel__section h3{margin:0;color:var(--color-brand-dark);font-size:1.1rem}.hero-panel__features,.hero-panel__links{display:grid;grid-gap:14px;gap:14px;margin-top:14px}.hero-panel__feature-card,.hero-panel__link-card{display:block;padding:16px;border:1px solid rgba(45,53,101,.1);border-radius:2px;background:#fff}.hero-panel__feature-card{display:grid;grid-template-columns:1fr;align-items:start;grid-gap:16px;gap:16px}.hero-panel__link-card{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:start;grid-gap:16px;gap:16px}.hero-panel__feature-image{aspect-ratio:4/3}.hero-panel__feature-image,.hero-panel__link-image{width:100%;object-fit:cover;border:1px solid rgba(45,53,101,.1);background:#f4f6fb}.hero-panel__link-image{aspect-ratio:1/1}.hero-panel__feature-copy,.hero-panel__link-copy{min-width:0}.hero-panel__feature-card h4,.hero-panel__link-card h4{margin:0;color:var(--color-brand-dark);font-size:1rem}.hero-panel__feature-card p,.hero-panel__link-card p{margin:8px 0 0}.hero-panel__link-label{margin:0 0 6px;color:var(--color-brand);font-size:.78rem;font-weight:700;letter-spacing:.08em}.hero-panel__link-meta{color:var(--color-text-muted)}.hero-panel__link-rating{color:var(--color-brand-dark);font-weight:700}.hero-panel__detail-grid{display:grid;grid-gap:18px;gap:18px}.hero-panel__specs{margin:14px 0 0}.hero-panel__spec-row{display:grid;grid-gap:4px;gap:4px;padding:10px 0;border-bottom:1px solid rgba(45,53,101,.08)}.hero-panel__spec-row dt{color:var(--color-brand);font-size:.82rem;font-weight:700}.hero-panel__spec-row dd{margin:0;color:var(--color-text)}.hero-panel__brewery{margin-top:14px}.hero-panel__brewery p{margin:0}.hero-panel__brewery p+p{margin-top:10px}.campaign-summary__eyebrow,.feature-card__eyebrow,.hero-panel__overline,.related-card__eyebrow,.rule-card__eyebrow,.status-card__label{margin:0 0 10px;color:var(--color-accent);font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.campaign-summary h2,.campaign-summary h3,.feature-card h3,.hero-panel__body h2,.related-card h3,.rule-card h3,.status-card h3,.timeline-card h3{margin:0;color:var(--color-brand-dark)}.campaign-summary p,.feature-card p,.hero-panel__body p,.related-card p,.rule-card p,.status-card p,.timeline-card p{margin:12px 0 0}.hero-highlights,.overview-grid,.related-grid,.rules-panels,.status-grid{display:grid;grid-gap:18px;gap:18px}.hero-highlights{margin-top:18px}.campaign-summary,.feature-card,.related-card,.rule-card,.status-card,.timeline-card{padding:22px}.campaign-summary{display:grid;grid-gap:20px;gap:20px}.campaign-summary--compact{margin-top:28px}.campaign-summary__head{display:grid;grid-gap:0;gap:0}.campaign-summary__head h2{font-size:clamp(1.45rem,2.4vw,2rem)}.campaign-summary__grid{display:grid;grid-gap:14px;gap:14px}.campaign-summary__item{padding:18px;border-radius:2px;border:1px solid rgba(45,53,101,.1);background:#fff}.campaign-summary__label{margin:0;color:var(--color-brand);font-size:.82rem;font-weight:700;letter-spacing:.12em}.campaign-summary__item h3{margin-top:6px;font-size:1.18rem}.campaign-summary__item p:last-child{margin-top:8px}.section{padding:32px 0}.section--soft{background:transparent}.section--brand{padding-top:48px}.section-heading{max-width:60ch}.section-heading h2{font-size:clamp(1.8rem,3vw,2.8rem)}.section-heading p{margin:16px 0 0}.entry-layout,.rules-layout,.two-column{display:grid;grid-gap:24px;gap:24px}.related-card{display:block;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.related-card:hover{transform:translateY(-1px);border-color:rgba(45,53,101,.2)}.related-card span{display:inline-block;margin-top:14px;color:var(--color-brand);font-weight:700}.entry-panel{padding:28px;align-self:start;position:relative}.entry-panel:before{content:none}.dummy-form,.entry-panel__head{position:relative}.dummy-form{display:grid;grid-gap:14px;gap:14px;margin-top:20px}.dummy-form label{display:grid;grid-gap:8px;gap:8px;color:var(--color-brand-dark);font-size:.94rem;font-weight:700}.dummy-form input,.dummy-form textarea{width:100%;border:1px solid var(--color-border);border-radius:2px;background:#fff;color:var(--color-text);padding:14px 16px;font:inherit}.dummy-form__check{grid-template-columns:auto 1fr;align-items:start;gap:10px;font-weight:500;color:var(--color-text-muted)}.dummy-form__check input{width:18px;height:18px;margin-top:2px}.timeline{display:grid;grid-gap:18px;gap:18px}.timeline-card{position:relative;padding-top:56px}.timeline-card__index{position:absolute;top:20px;left:20px;display:grid;place-items:center;width:28px;height:28px;border-radius:999px;background:var(--color-brand);color:#fff;font-weight:700}.note-list{margin:24px 0 0;padding:0;list-style:none;display:grid;grid-gap:10px;gap:10px}.note-list li{position:relative;padding-left:20px}.note-list li:before{content:"";position:absolute;top:.8em;left:0;width:8px;height:8px;border-radius:999px;background:var(--color-accent);transform:translateY(-50%)}.footer-cta{display:grid;grid-gap:24px;gap:24px;padding:30px;background:var(--color-brand);color:#fff}.footer-cta .eyebrow,.footer-cta h2,.footer-cta p{color:#fff}@media (min-width:768px){.hero{padding:64px 0 40px}.campaign-summary__grid,.hero-panel__detail-grid,.hero-panel__features,.hero-panel__links,.overview-grid,.related-grid,.rules-panels,.status-grid,.timeline{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-panel__features{grid-template-columns:1fr}.footer-cta{grid-template-columns:minmax(0,1fr) auto;align-items:end}}@media (min-width:1024px){.hero-panel__feature-card{grid-template-columns:320px minmax(0,1fr);gap:20px}}@media (max-width:639px){.hero-panel__feature-card,.hero-panel__link-card{grid-template-columns:1fr}.hero-panel__feature-image{max-width:none}.floating-action-bar{padding:10px 12px}.floating-action-bar__inner{width:100%}}@media (min-width:1024px){.hero__copy{padding:42px}.entry-panel,.footer-cta,.hero-panel__body,.story-panel{padding:32px}}@media (max-width:767px){.site-header__inner{align-items:center;flex-direction:row;justify-content:flex-start;padding:14px 0}.brand-mark__logo{width:152px}.hero-panel__visual{min-height:220px;padding-top:24px}.hero h1{max-width:none}}