/* Existing palette and typography are retained. */
[hidden]{display:none!important}html{scroll-padding-top:110px}.skip-link{position:fixed;top:-80px;left:20px;z-index:30;background:var(--bg);padding:10px 20px}.skip-link:focus{top:12px}.container.nav{padding:18px 24px;max-width:1120px}nav ul{gap:23px}nav a{letter-spacing:.04em}.eyebrow{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.16em;font-weight:500;color:var(--muted);margin-bottom:20px}.home-hero{border:0;padding:0;height:79svh;min-height:620px;max-height:940px}.home-hero .hero-placeholder{animation:none}.home-hero .hero-word{position:absolute;top:6%;font-size:clamp(5rem,17vw,18rem);opacity:.2}.home-hero video{position:absolute;inset:0}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,18,15,.64),rgba(8,18,15,.15)),linear-gradient(0deg,rgba(8,18,15,.45),transparent)}.hero-content{position:relative;z-index:1;color:var(--bg);height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-top:60px;width:100%}.hero-content h1{font-size:clamp(2.15rem,4.8vw,4rem);font-weight:500;line-height:1.55;letter-spacing:.07em;margin:0 0 22px}.hero-content p{font-size:.9rem;line-height:2.1}.hero-content .eyebrow{color:#d3dcd6;font-size:.66rem;margin-bottom:26px}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin-top:28px}.btn{font-family:var(--font-ui)}.btn-light{background:var(--bg);color:var(--text);border:1px solid var(--bg)}.btn-outline{border:1px solid #c4ccc5;color:var(--bg);background:transparent}.hero-note{left:auto;right:32px;font-size:.6rem;color:#bac5bb;letter-spacing:.16em}.video-toggle{position:absolute;right:28px;top:24px;z-index:2;border:1px solid #b2bcb5;padding:8px 14px;background:#15201dcc;color:#fff;cursor:pointer;font-family:var(--font-ui)}.intro-split{display:grid;grid-template-columns:1fr 2fr;gap:48px}.intro-split h2,.section-heading h2,.learn-teaser h2,.cta-block h2{font-size:1.65rem;font-weight:500;line-height:1.8;letter-spacing:.04em;text-transform:none}.intro-split p{margin-bottom:22px}.text-link{font-family:var(--font-ui);font-size:.83rem;color:var(--link);border-bottom:1px solid #a7b5a8;padding-bottom:4px;display:inline-block}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:36px}.section-heading .eyebrow{margin-bottom:12px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}.service-card{display:block;background:var(--bg);padding:32px;transition:background .2s}.service-card:hover{background:#eaece2}.service-card h3{font-size:1.15rem;font-weight:500;margin-bottom:14px}.service-card p:not(.eyebrow){font-size:.9rem;color:var(--muted);margin-bottom:24px}.work-empty{padding:38px;border:1px solid var(--line)}.work-empty h3{font-size:1.2rem;font-weight:500;margin-bottom:14px}.work-empty p{color:var(--muted);margin-bottom:22px}.learn-teaser{padding:48px;background:#e9eade;margin:0 0 80px}.learn-teaser p{margin:14px 0 24px}.cta-block{text-align:center;padding-top:70px;padding-bottom:70px}.cta-block .actions{justify-content:center}.page-intro{padding:76px 0 58px;max-width:740px}.page-intro h1{font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.65;font-weight:500;margin-bottom:24px}.page-intro>p:last-child{color:var(--muted);max-width:660px}.no-top{border:0;padding-top:0}.breadcrumb{display:inline-block;font-family:var(--font-ui);font-size:.78rem;margin-top:30px;color:var(--muted)}.breadcrumb+.page-intro{padding-top:40px}.steps{padding-left:22px;display:grid;grid-template-columns:1fr 1fr;gap:30px}.steps p{color:var(--muted)}details{border-bottom:1px solid var(--line);padding:18px 0}summary{cursor:pointer;font-family:var(--font-ui)}details p{padding:16px 0}.reading-list{padding-left:24px}.reading{max-width:760px}.reading h2{font-size:1.25rem;font-weight:500;margin:25px 0 15px}.reading p a,.notice a{text-decoration:underline}.guide-list{list-style:decimal-leading-zero;padding-left:38px}.guide-list li{padding:10px 0 28px;border-bottom:1px solid var(--line)}.guide-list li::marker{font-family:var(--font-mono);color:var(--link);font-size:.8rem}.memo{margin-top:24px;border-bottom:1px solid var(--line);height:40px;font-family:var(--font-mono);font-size:.55rem;color:var(--muted)}.byline{font-family:var(--font-ui);font-size:.8rem}.feature-guide{background:var(--sage);padding:42px}.feature-guide h2{font-size:1.8rem;line-height:1.8;font-weight:500}.feature-guide p{margin-bottom:24px}.check-label{display:flex!important;align-items:flex-start;gap:12px;font-size:.82rem!important;font-weight:400!important;line-height:1.8}.check-label input{width:18px!important;height:18px;margin:5px 0 0!important;flex-shrink:0}.form-card select{width:100%;padding:14px;border:1px solid #bac0b4;background:transparent;font:inherit;color:var(--text);margin-top:8px}.honeypot{position:absolute;left:-9999px;width:0;height:0}.footer-copy{font-size:.78rem;color:#b8c0b5;margin-top:8px}.footer-nav{flex-wrap:wrap}.q-card h2{font-family:var(--font-ui);font-size:1.25rem;line-height:1.65}.q-progress{width:100%;height:3px;accent-color:var(--link);margin:8px 0 24px}.choices button[aria-pressed=true]{background:var(--sage);border-color:var(--link)}.q-controls{display:flex;justify-content:space-between;margin-top:28px}.q-controls button{background:none;border:0;text-decoration:underline;color:var(--link);cursor:pointer;font-family:var(--font-ui);padding:10px 0}.answer-list{margin:24px 0;font-family:var(--font-ui);font-size:.8rem}.answer-list div{display:grid;grid-template-columns:85px 1fr;gap:16px;padding:9px 0;border-bottom:1px solid var(--line)}.answer-list dt{color:var(--muted)}.result-plan h3{font-size:1.25rem}.result-plan p{margin-top:14px}.lead-link{display:block;border-top:1px solid var(--line);padding-top:22px;margin-top:30px}.notice{line-height:1.8}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #527860;outline-offset:5px}
@media(max-width:680px){.container.nav{padding:14px 20px;gap:13px}.nav nav{width:100%}nav ul{justify-content:space-between;gap:8px;flex-wrap:wrap}nav a{font-size:.6rem;letter-spacing:0}.home-hero{height:70svh;min-height:560px}.hero-content{padding-top:12px}.hero-content p{font-size:.8rem}.hero-content h1{font-size:2.2rem}.hero-content .actions{width:100%;gap:12px}.hero-content .btn{width:auto;min-width:145px;flex:1;padding:13px 14px;font-size:.8rem;text-align:center}.hero-note{right:24px;bottom:22px}.intro-split{grid-template-columns:1fr;gap:10px}.service-grid{grid-template-columns:1fr}.service-card{padding:28px}.section-heading{display:block}.section-heading>a{margin-top:16px}.learn-teaser,.feature-guide,.work-empty{padding:26px}.steps{grid-template-columns:1fr}.page-intro{padding:48px 0 38px}.footer-nav{gap:16px}.actions{gap:16px}.cta-block{padding-top:48px;padding-bottom:48px}.guide-list{padding-left:30px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{header,footer,.no-print,.skip-link{display:none!important}body{background:white;color:black;font-size:11pt}.container{max-width:none;padding:0}.page-intro{padding:0 0 16px}.page-intro h1{font-size:22pt}.guide-list li{break-inside:avoid}.memo{height:30px}.guide-list h2{font-size:13pt;margin:12px 0 5px}.guide-list li{padding-bottom:10px}}
.btn-light,.btn-outline{display:inline-flex;align-items:center;justify-content:center;padding:14px 24px;min-height:50px;font-size:.83rem;line-height:1.5}.intro-split h2,.section-heading h2,.learn-teaser h2,.cta-block h2{color:var(--text)}
.brand-hero .hero-content{padding-top:35px}.brand-hero .hero-content h1{font-size:clamp(2rem,4.4vw,3.65rem)}.hero-explore{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.14em;margin-top:34px;border-bottom:1px solid #75857a;padding-bottom:8px}.business-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);gap:1px;background:var(--line)}.business-card{background:var(--bg);display:block;padding:42px}.business-card:hover{background:#e9eddf}.business-card h3{font-family:var(--font-ui);font-size:2.5rem;font-weight:400;line-height:1.4;margin-bottom:22px;letter-spacing:-.04em}.business-card p:not(.eyebrow){font-size:.88rem;color:var(--muted);margin-bottom:24px}.business-work{background:#e6eadf}.status-label{display:inline-block;font-family:var(--font-ui);font-size:.6rem;letter-spacing:0;margin-left:8px;color:var(--muted)}.home-contact{padding-top:60px;padding-bottom:80px}.home-contact h2{font-size:1.7rem;font-weight:500;line-height:1.8;color:var(--text)}.home-contact p{margin:18px 0}.coming-soon{padding-bottom:100px;min-height:300px}.coming-soon h2{font-size:1.6rem;line-height:1.8;font-weight:500;color:var(--text)}.coming-soon p{max-width:580px;margin-bottom:28px}.service-card h2{font-weight:500;font-size:1.5rem;color:var(--text)}
@media(max-width:680px){.business-grid{grid-template-columns:1fr}.business-card{padding:30px}.business-card h3{font-size:2rem}.brand-hero .hero-content h1{font-size:2rem}.brand-hero .hero-content{padding-top:10px}nav ul{gap:9px}nav a{font-size:.59rem}.service-card .btn-primary{font-size:.78rem;padding:14px 16px}}

/* Japanese follows the reference article's generic serif fallback. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
input,select,textarea,button{font-family:var(--font-ui)}

.hero-logo{font-family:"Special Elite","Courier New",monospace;font-size:clamp(1.6rem,4vw,3rem);font-weight:400;letter-spacing:.16em;color:var(--bg);line-height:1.4}

.case-media{position:relative;display:block;aspect-ratio:16/9;background:#202a25}.case-media .thumb{width:100%;height:100%;object-fit:cover}.case-action{position:absolute;bottom:16px;right:16px;background:var(--bg);color:var(--text);padding:5px 12px;font-size:.75rem}.case-player{display:block;width:100%;aspect-ratio:16/9;border:0;background:#141c19}.home-cases>.eyebrow,.home-services>.eyebrow{margin-bottom:30px}.case-card .meta h3{font-weight:400}

.coming-work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.coming-work-thumb{aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;background:#e8e8df;color:#777e73;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.18em}.coming-work-thumb:nth-child(2),.coming-work-thumb:nth-child(3){background:#e1e6de}@media(max-width:640px){.coming-work-grid{grid-template-columns:1fr;gap:20px}}

.home-hero.has-showreel{height:auto;min-height:0;max-height:none;aspect-ratio:1920/804}.has-showreel video{object-fit:contain}.has-showreel .video-toggle{font-size:.65rem;top:12px;right:12px;padding:6px 10px}
