/* Shared front-end and block-editor styles. */
:root{--gush-blue:var(--wp--preset--color--brand,#101a8f);--gush-ink:var(--wp--preset--color--ink,#132438);--gush-muted:var(--wp--preset--color--muted,#526174);--gush-paper:var(--wp--preset--color--paper,#fff);--gush-mist:var(--wp--preset--color--mist,#f0f4fc);--gush-line:var(--wp--preset--color--line,#dce3ee)}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;-webkit-font-smoothing:antialiased}
*,*::before,*::after{box-sizing:border-box}
img{max-width:100%;height:auto}
a{transition:color .18s,background-color .18s,opacity .18s;text-underline-offset:5px}
a:focus-visible,button:focus-visible{outline:3px solid #517be9;outline-offset:5px}
.wp-site-blocks>*{margin-block-start:0}
.gush-shell{width:calc(100% - 112px);max-width:1200px;margin-left:auto!important;margin-right:auto!important}
.gush-main{margin-top:0!important}
.gush-main .wp-block-group>*{margin-block-start:0}
.gush-main p{margin:0 0 1.2rem}
.gush-main h1,.gush-main h2,.gush-main h3{margin:0}
.gush-main h2{font-size:clamp(2rem,3.1vw,2.75rem);line-height:1.55;letter-spacing:.015em}
.gush-main h3{font-size:1.125rem;line-height:1.65}
.gush-header{position:sticky;top:0;z-index:50;background:var(--gush-paper);border-bottom:1px solid var(--gush-line)}
.admin-bar .gush-header{top:32px}
.gush-header-row{display:flex;align-items:center;justify-content:space-between;gap:32px;min-height:88px}
.gush-logo{margin:0;flex-shrink:0;width:123px;line-height:0}
.gush-logo img{width:123px;height:auto;aspect-ratio:638/227}
.gush-header-controls{display:flex;align-items:center;gap:32px;margin:0}
.gush-nav{font-size:.875rem;font-weight:600;line-height:1.5}
.gush-nav .wp-block-navigation__container{gap:28px}
.gush-nav .wp-block-navigation-item__content{text-decoration:none}
.gush-nav .wp-block-navigation-item__content:hover{color:var(--gush-blue);text-decoration:underline}
.gush-languages{margin:0;font-family:Arial,sans-serif;font-size:.8125rem;font-weight:600;letter-spacing:.04em;white-space:nowrap}
.gush-languages a{display:inline-block;padding:10px 3px;color:var(--gush-muted);text-decoration:none}
.gush-languages a[aria-current=page]{color:var(--gush-blue);text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px}
.gush-languages span{color:#b3bdcc;padding:0 3px}
.gush-hero{padding:54px 0 52px}
.gush-hero-grid{display:grid;grid-template-columns:1.11fr 1fr;gap:52px;align-items:center}
.gush-eyebrow{font-family:Arial,sans-serif;font-size:.8125rem;font-weight:700;letter-spacing:.14em;color:var(--gush-blue);line-height:1.5;margin-bottom:24px!important}
.gush-hero-title{font-size:clamp(2.4rem,3.5vw,3.2rem);font-weight:700;line-height:1.55;letter-spacing:.01em;color:var(--gush-blue);margin:0 0 28px!important;word-break:keep-all;overflow-wrap:normal}
.gush-hero-lead{font-size:1.0625rem;line-height:2.1;color:var(--gush-muted);margin-bottom:30px!important}
.gush-actions{gap:12px;margin:0}
.gush-actions .wp-block-button{margin:0}
.gush-actions .wp-block-button__link{border:1px solid var(--gush-blue);border-radius:4px;font-size:.9375rem;font-weight:600;padding:15px 25px;text-decoration:none;line-height:1.6;transition:transform .18s,background-color .18s,color .18s}
.gush-actions .is-style-fill .wp-block-button__link{background:var(--gush-blue);color:var(--gush-paper)}
.gush-actions .is-style-outline .wp-block-button__link{color:var(--gush-blue);background:transparent}
.gush-actions .wp-block-button__link:hover{background:#2638b5;color:#fff;transform:translateY(-2px)}
.gush-hero-signature{font-family:Arial,sans-serif;font-size:.75rem;letter-spacing:.16em;color:var(--gush-muted);margin:40px 0 0!important}
.gush-hero-visual{position:relative;background:#111d34;border-radius:6px;overflow:hidden;color:#fff;line-height:1}
.gush-photo-label{position:absolute;top:25px;left:28px;z-index:1;color:#fff;font-family:Arial,sans-serif;font-size:.75rem;letter-spacing:.16em;margin:0!important;text-shadow:0 1px 8px #000}
.gush-prototype-image{margin:0!important;line-height:0}
.gush-prototype-image img{width:100%;aspect-ratio:1.04;object-fit:cover;display:block}
.gush-photo-footer{padding:24px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--gush-blue)}
.gush-photo-count{font-family:Arial,sans-serif;font-size:2.125rem;letter-spacing:-.02em;margin:0!important;line-height:1.2}
.gush-photo-count span{font-size:.6875rem;letter-spacing:.09em;margin-left:5px}
.gush-photo-caption{font-size:.8125rem;line-height:1.5;margin:0!important}
.gush-feature-strip{background:var(--gush-mist);border-top:1px solid var(--gush-line);border-bottom:1px solid var(--gush-line);padding:32px 0}
.gush-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.gush-feature{padding:0 32px;border-left:1px solid #cdd6e5}
.gush-feature:first-child{border:0;padding-left:0}
.gush-feature:last-child{padding-right:0}
.gush-feature-kicker{font-family:Arial,sans-serif;font-size:.6875rem;letter-spacing:.1em;font-weight:600;color:var(--gush-blue);margin-bottom:9px!important}
.gush-feature h3{font-size:1.0625rem;letter-spacing:.01em;margin-bottom:6px!important}
.gush-feature p:last-child{color:var(--gush-muted);font-size:.875rem;line-height:1.85;margin-bottom:0}
.gush-section{padding:100px 0}
.gush-section-heading{margin-bottom:44px}
.gush-section-subtitle{margin:17px 0 0!important;color:var(--gush-muted);font-size:.9375rem}
.gush-tech-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:80px;align-items:center}
.gush-intro{font-size:1rem;line-height:2;color:var(--gush-muted);margin-bottom:28px!important}
.gush-step{display:grid;grid-template-columns:32px 1fr;gap:20px;border-top:1px solid var(--gush-line);padding:22px 0}
.gush-step:last-child{border-bottom:1px solid var(--gush-line)}
.gush-step-number{font-family:Arial,sans-serif;font-size:.875rem;color:var(--gush-blue);margin:2px 0 0!important}
.gush-step-copy h3{margin-bottom:5px!important}
.gush-step-copy p{font-size:.9375rem;line-height:1.85;color:var(--gush-muted);margin:0}
.gush-diagram-panel{background:var(--gush-mist);padding:36px 34px 28px;border:1px solid var(--gush-line);border-radius:6px}
.gush-diagram{max-width:390px;margin:0 auto 24px!important}
.gush-diagram img{display:block;width:100%;aspect-ratio:508/427;mix-blend-mode:multiply}
.gush-figure-note{font-size:.8125rem;text-align:center;line-height:1.8;color:var(--gush-muted);margin:0!important}
.gush-prototype-section{background:#111e38;color:#fff}
.gush-prototype-section .gush-eyebrow{color:#a5bdff}
.gush-prototype-section .gush-section-heading{margin-bottom:52px}
.gush-prototype-grid{display:grid;grid-template-columns:.95fr 1.2fr;gap:100px;align-items:center}
.gush-stat{border-left:2px solid #718cde;padding-left:40px}
.gush-big-number{font-family:Arial,sans-serif;font-size:clamp(7.5rem,13vw,11rem);font-weight:400;line-height:.96;letter-spacing:-.08em;margin:0 0 20px!important;color:#fff}
.gush-stat-label{font-family:Arial,sans-serif;font-size:.875rem;letter-spacing:.2em;margin-bottom:20px!important;color:#adc4ff}
.gush-stat-description{font-size:.9375rem;margin:0!important;color:#d4dced}
.gush-prototype-copy h3{font-size:1.75rem;line-height:1.7;margin-bottom:24px!important}
.gush-prototype-copy p{font-size:.9375rem;line-height:2;color:#d4dced}
.gush-prototype-copy .gush-development-note{font-size:.8125rem;color:#aebbd3;margin:24px 0 0;padding-top:20px;border-top:1px solid #354057}
.gush-company-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:76px;align-items:start}
.gush-company-table{border-top:1px solid var(--gush-line)}
.gush-company-row{display:grid;grid-template-columns:100px 1fr;gap:26px;padding:25px 0;border-bottom:1px solid var(--gush-line)}
.gush-company-row p{margin:0;font-size:.9375rem;line-height:1.9}
.gush-company-key{color:var(--gush-muted)}
.gush-company-value{overflow-wrap:anywhere}
.gush-company-value a{color:var(--gush-ink)}
.gush-contact{background:var(--gush-blue);color:#fff;padding:68px 0}
.gush-contact-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:50px;align-items:center}
.gush-contact .gush-eyebrow{color:#cbd7ff;margin-bottom:16px!important}
.gush-contact h2{font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.6;margin-bottom:15px!important}
.gush-contact-copy p:last-child{color:#dbe3ff;font-size:.9375rem;max-width:560px;margin:0}
.gush-contact-action{text-align:center;justify-self:end}
.gush-contact-action .gush-actions{justify-content:center}
.gush-contact-action .wp-block-button__link{background:#fff!important;color:var(--gush-blue)!important;border-color:#fff;min-width:255px}
.gush-contact-action .wp-block-button__link:hover{background:#dfe6ff!important}
.gush-contact-email{font-family:Arial,sans-serif;font-size:.875rem;letter-spacing:.025em;margin:16px 0 0!important}
.gush-contact-email a{color:#e0e7ff;text-decoration:none}
.gush-contact-email a:hover{text-decoration:underline}
.gush-footer{margin-top:0!important;background:var(--gush-paper)}
.gush-footer-row{display:flex;align-items:center;gap:30px;min-height:114px}
.gush-footer-logo{width:96px;margin:0;line-height:0}
.gush-footer-logo img{width:96px}
.gush-copyright{font-family:Arial,sans-serif;font-size:.75rem;color:var(--gush-muted);margin:0}
.gush-back-top{margin:0 0 0 auto;font-size:.8125rem}
.gush-back-top a{text-decoration:none;color:var(--gush-muted)}
.gush-document{padding:72px 0 100px;min-height:60vh}
.gush-document h1{font-size:clamp(2rem,4vw,3rem);margin-bottom:36px;line-height:1.5}
.gush-document .wp-block-query .wp-block-post{padding:30px 0;border-bottom:1px solid var(--gush-line)}
.gush-document .wp-block-query-pagination{margin-top:40px;display:flex;gap:20px}
.gush-english .gush-hero-title{font-size:clamp(2.5rem,3.9vw,3.6rem);line-height:1.18;letter-spacing:-.045em;word-break:normal}
.gush-english .gush-main h2,.gush-english h2{line-height:1.28;letter-spacing:-.02em}
.gush-english .gush-hero-lead{line-height:1.9}
.editor-styles-wrapper .gush-header{position:static}
.editor-styles-wrapper .gush-main{max-width:none}
@media(min-width:1500px){.gush-hero{padding:72px 0}.gush-hero-title{font-size:3.25rem}}
@media(max-width:1100px){.gush-shell{width:calc(100% - 64px)}.gush-hero-grid{gap:28px}.gush-hero-title{font-size:clamp(2rem,3.8vw,3rem)}.gush-header-controls{gap:18px}.gush-nav .wp-block-navigation__container{gap:18px}.gush-tech-grid{gap:44px}.gush-prototype-grid{gap:50px}.gush-company-grid{gap:44px}.gush-contact-grid{gap:25px}.gush-hero-lead{font-size:1rem}.gush-actions .wp-block-button__link{padding:14px 20px}.gush-photo-footer{padding:20px}.gush-photo-caption{font-size:.75rem}}
@media(max-width:860px){.gush-shell{width:calc(100% - 48px)}.gush-header-row{min-height:76px}.gush-logo,.gush-logo img{width:106px}.gush-nav .wp-block-navigation__responsive-container:not(.is-menu-open){display:none!important}.gush-nav .wp-block-navigation__responsive-container-open{display:flex!important;padding:10px;min-width:44px;min-height:44px}.gush-nav .wp-block-navigation__responsive-container.is-menu-open{display:flex!important;padding:32px;background:#fff;color:var(--gush-ink)}.gush-nav .is-menu-open .wp-block-navigation__container{align-items:flex-start;gap:28px;font-size:1.125rem}.gush-header-controls{flex-direction:row-reverse;gap:14px}.gush-hero{padding:40px 0}.gush-hero-grid{grid-template-columns:1fr;gap:34px}.gush-hero-title{font-size:clamp(2.2rem,5.5vw,3.35rem);line-height:1.5}.gush-hero-visual{max-width:640px;width:100%;margin:auto}.gush-prototype-image img{aspect-ratio:1.45;object-position:center 43%}.gush-hero-signature{margin-top:26px!important}.gush-feature{padding:0 20px}.gush-feature h3{font-size:1rem}.gush-section{padding:72px 0}.gush-tech-grid{grid-template-columns:1fr 1fr;gap:32px}.gush-diagram-panel{padding:24px 18px}.gush-prototype-grid{gap:32px}.gush-stat{padding-left:24px}.gush-prototype-copy h3{font-size:1.4rem}.gush-company-grid{grid-template-columns:1fr;gap:36px}.gush-contact-grid{grid-template-columns:1fr;gap:30px}.gush-contact-action{justify-self:start;text-align:left}.gush-contact-action .gush-actions{justify-content:flex-start}.gush-english .gush-hero-title{font-size:clamp(2.5rem,6.4vw,3.8rem)}}
@media(max-width:600px){html{scroll-padding-top:78px}.gush-shell{width:calc(100% - 40px)}.gush-header-row{min-height:70px;gap:12px}.gush-logo,.gush-logo img{width:95px}.gush-languages{font-size:.75rem}.gush-header-controls{gap:8px}.gush-hero{padding:32px 0}.gush-hero-title{font-size:clamp(1.85rem,7.1vw,2.7rem);line-height:1.6;margin-bottom:20px!important}.gush-hero .gush-eyebrow{font-size:.6875rem;letter-spacing:.1em;margin-bottom:20px!important}.gush-hero-lead{font-size:.9375rem;line-height:2}.gush-desktop-break{display:none}.gush-hero-grid{gap:28px}.gush-actions{gap:10px}.gush-actions .wp-block-button__link{padding:13px 17px;font-size:.875rem}.gush-hero-signature{font-size:.625rem}.gush-photo-label{top:18px;left:20px;font-size:.625rem}.gush-prototype-image img{aspect-ratio:1.14}.gush-photo-footer{padding:18px 20px}.gush-photo-count{font-size:1.8rem}.gush-photo-caption{font-size:.6875rem}.gush-feature-strip{padding:8px 0}.gush-feature-grid{grid-template-columns:1fr}.gush-feature,.gush-feature:first-child,.gush-feature:last-child{padding:22px 0;border-left:0;border-top:1px solid var(--gush-line)}.gush-feature:first-child{border-top:0}.gush-feature h3{font-size:1.0625rem}.gush-feature-kicker{font-size:.6875rem}.gush-section{padding:58px 0}.gush-main h2{font-size:clamp(1.6rem,6.2vw,2rem);line-height:1.55}.gush-eyebrow{font-size:.75rem;margin-bottom:20px!important}.gush-section-heading{margin-bottom:30px}.gush-tech-grid{grid-template-columns:1fr;gap:32px}.gush-diagram-panel{padding:28px}.gush-diagram{max-width:330px}.gush-intro,.gush-step-copy p{font-size:.9375rem}.gush-step{gap:14px}.gush-prototype-grid{grid-template-columns:1fr;gap:34px}.gush-prototype-section .gush-section-heading{margin-bottom:34px}.gush-big-number{font-size:8rem;margin-bottom:15px!important}.gush-stat{padding-left:26px}.gush-stat-label{margin-bottom:14px!important}.gush-prototype-copy h3{font-size:1.3rem}.gush-prototype-copy p{font-size:.9375rem}.gush-company-row{grid-template-columns:85px 1fr;gap:14px;padding:20px 0}.gush-company-row p{font-size:.875rem}.gush-contact{padding:45px 0}.gush-contact h2{font-size:1.8rem}.gush-contact-copy p:last-child{font-size:.875rem}.gush-contact-email{font-size:.8125rem}.gush-footer-row{padding:28px 0;min-height:0;flex-wrap:wrap;gap:16px 20px}.gush-footer-logo,.gush-footer-logo img{width:80px}.gush-copyright{font-size:.6875rem}.gush-back-top{width:100%;margin:0;font-size:.75rem}.gush-document{padding:45px 0 65px}.gush-english .gush-hero-title{font-size:clamp(2.1rem,8.2vw,3rem)}.admin-bar .gush-header{top:46px}}
@media(max-width:360px){.gush-shell{width:calc(100% - 32px)}.gush-hero-title{font-size:1.8rem}.gush-actions .wp-block-button__link{padding:12px 13px;font-size:.8125rem}.gush-photo-footer{padding:16px;gap:12px}.gush-photo-count span{font-size:.5625rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}a,.gush-actions .wp-block-button__link{transition:none}.gush-actions .wp-block-button__link:hover{transform:none}}
@media print{.gush-header{position:static}.gush-nav,.gush-actions,.gush-languages,.gush-back-top{display:none!important}.gush-shell{width:100%}.gush-section{padding:35px 0}.gush-hero{padding-top:20px}.gush-contact{padding:25px 0}.gush-prototype-section,.gush-contact{background:#fff!important;color:#111!important}.gush-prototype-section p,.gush-prototype-section .gush-eyebrow,.gush-contact p,.gush-contact a{color:#222!important}.gush-stat{border-color:#222}.gush-hero-visual{max-width:400px}.gush-photo-footer{background:#fff;color:#111}section{break-inside:avoid}}

/* 1.0.1: Keep top-level sections full width even when the main group
   has been changed to a left-aligned Stack in the Site Editor.
   Inner .gush-shell containers retain their responsive reading width. */
.gush-main > .wp-block-group:not(.gush-shell),
.gush-main > .wp-block-columns {
    width: 100% !important;
    max-width: none !important;
    min-width: 0;
    box-sizing: border-box;
}

/* English copy of the current Japanese homepage. */
.gush-english-hero { padding-bottom: 12px; }
.gush-english .gush-english-hero .gush-hero-title { max-width: 1100px; font-size: clamp(2rem, 3.4vw, 3.25rem); line-height: 1.25; }
.gush-english .gush-english-hero .gush-hero-lead { max-width: 1000px; }
.gush-english-hero .gush-actions { margin-top: 32px; }
.gush-english .gush-prototype-photo { min-width: 0; }
.gush-english .gush-prototype-caption { font-size: .875rem; color: #d4dced; margin-top: 16px; }
.gush-english .gush-company-row { grid-template-columns: minmax(110px, .4fr) minmax(0, 1fr); }
.gush-english .gush-company-value { overflow-wrap: anywhere; }
@media(max-width:600px) { .gush-english .gush-company-row { grid-template-columns: 1fr; gap: 6px; } }
