@charset "UTF-8";
:root{--blue:#0077fc;--blue-hover:#0063d2;--ink:#182d45;--text:#475b71;--muted:#66778a;--line:#dbe5ef;--panel:#f0f6fc;--white:#fff;--max:1160px;--gutter:40px;--radius:8px;color-scheme:light;font-size:16px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--white);color:var(--ink);font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP",-apple-system,BlinkMacSystemFont,sans-serif;font-size:1rem;line-height:1.9;-webkit-text-size-adjust:100%;overflow-wrap:break-word}a{color:inherit;text-decoration:none}button,summary{font:inherit}a,summary,button{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible,button:focus-visible{outline:3px solid var(--blue);outline-offset:6px}img{display:block;max-width:100%;height:auto}p,h1,h2,h3{margin:0}h1,h2,h3{text-wrap:pretty}p{line-break:strict}ul,ol{margin:0;padding:0;list-style:none}.wrap{width:min(calc(100% - var(--gutter)*2),var(--max));margin-inline:auto}.section{padding-block:100px}.eyebrow{color:var(--blue);font-size:.8125rem;font-weight:750;letter-spacing:.16em;line-height:1.4}.section-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.section-index{color:var(--muted);font-size:.8125rem}h2{font-size:clamp(1.9rem,3.3vw,2.8rem);line-height:1.6;font-weight:750;letter-spacing:.015em}.mobile-break{display:none}.skip{position:fixed;top:8px;left:8px;z-index:1000;padding:8px 16px;background:#fff;transform:translateY(-150%)}.skip:focus{transform:none}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.site-header{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--line)}.header-inner{max-width:1320px;margin:auto;padding:0 var(--gutter);min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:28px}.logo{display:block;flex-shrink:0}.logo img{width:194px;height:45px;object-fit:contain}.desktop-nav{display:flex;align-items:center;gap:28px;font-size:.875rem;font-weight:600}.desktop-nav>a{padding-block:12px}.desktop-nav>a:hover{color:var(--blue)}.desktop-nav .nav-contact{padding:11px 22px;border:1px solid var(--ink);border-radius:4px;display:flex;gap:24px}.mobile-nav{display:none}
.hero{padding-top:76px;padding-bottom:60px;display:grid;grid-template-columns:1fr 1fr;gap:38px;align-items:center}.hero-copy{padding-block:12px}.hero .eyebrow{margin-bottom:22px}.hero h1{font-size:clamp(3.5rem,6.3vw,5.5rem);letter-spacing:.02em;font-weight:800;line-height:1.3}.hero h1 span{color:var(--blue)}.hero-tagline{font-size:1.1875rem;font-weight:650;margin-top:30px}.hero-description{font-size:1rem;color:var(--text);margin-top:15px;max-width:29em}.hero-actions{margin-top:30px;display:flex;align-items:center;gap:24px;flex-wrap:wrap}.button{min-height:54px;display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:14px 24px;border-radius:4px;font-size:.9375rem;font-weight:650;line-height:1.6;transition:background .18s,color .18s}.button-blue{background:var(--blue);color:#fff}.button-blue:hover{background:var(--blue-hover)}.button-outline{border:1px solid var(--ink);white-space:nowrap}.button-outline:hover{background:var(--ink);color:#fff}.text-link{font-size:.9375rem;font-weight:650;display:inline-flex;gap:20px;align-items:center;min-height:44px;border-bottom:1px solid var(--line)}.text-link:hover,.secondary-link:hover{color:var(--blue);border-color:var(--blue)}
.hero-showcase{position:relative;min-width:0;aspect-ratio:1.08;isolation:isolate}.showcase-field{position:absolute;inset:5% 1% 12% 5%;background:var(--panel);border-radius:50% 50% 12px 12px;z-index:-1}.showcase-book{position:absolute;left:4%;top:5%;width:37%;background:#fff;padding:14px 16px 18px;border:1px solid var(--line);border-radius:var(--radius);transform:rotate(-5deg)}.showcase-book img{width:100%}.object-label{font-size:.8125rem;display:block;font-weight:750;letter-spacing:.08em;margin-bottom:10px;color:var(--ink)}.showcase-course{position:absolute;top:12%;right:0;width:53%;background:var(--blue);padding:17px;border-radius:var(--radius);transform:rotate(3deg)}.showcase-course .object-label{color:#fff}.showcase-course img{border-radius:3px}.object-caption{font-size:.75rem;color:#fff;display:block;line-height:1.7;margin-top:10px}.showcase-app{position:absolute;right:10%;bottom:12%;width:34%;padding:12px 14px 14px;border:1px solid var(--line);background:#fff;border-radius:var(--radius);transform:rotate(4deg)}.showcase-app img{border-radius:4px}.showcase-app .object-label{margin-bottom:6px}.showcase-mascot{position:absolute;left:12%;bottom:15%;width:15%;height:auto}.showcase-note{position:absolute;left:0;right:0;bottom:0;text-align:center;font-size:.875rem;color:var(--text);letter-spacing:.045em}
.evidence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.evidence-grid>div{padding:25px 20px 26px;text-align:center;position:relative}.evidence-grid>div+div:before{content:"";position:absolute;left:0;top:25px;bottom:25px;border-left:1px solid var(--line)}.stat{display:flex;align-items:baseline;justify-content:center;gap:6px;line-height:1.35;white-space:nowrap}.stat strong{font-size:2.875rem;font-weight:750;color:var(--blue);font-variant-numeric:tabular-nums;letter-spacing:-.025em}.stat>span{font-size:1rem;font-weight:600}.stat-label{margin-top:7px;font-size:.875rem;line-height:1.7}.stat-label>span{font-size:.75rem}.evidence-note{text-align:right;color:var(--muted);font-size:.75rem;margin-top:12px}
.section-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:38px}.section-heading>p{font-size:1rem;color:var(--text);flex-shrink:0;padding-bottom:6px}.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 32px}.work-card{min-width:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;background:#fff}.work-image{position:relative;min-height:240px;aspect-ratio:1.95;display:flex;align-items:center;justify-content:center;overflow:hidden;border-bottom:1px solid var(--line)}.image-category{position:absolute;left:20px;top:18px;font-size:.8125rem;line-height:1.6;font-weight:650;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:3px;padding:5px 12px}.work-image img{transition:transform .22s ease}.work-image:hover img{transform:scale(1.025)}.course-image{background:#e4f4fa;padding:48px 40px 28px}.course-image img{width:min(90%,355px);border:1px solid #c9e3ee;border-radius:4px}.book-image{background:#edf3fa;padding:24px}.book-image img{width:auto;height:210px;max-height:100%;object-fit:contain}.media-image{background:#f2f6fb;padding:50px 40px 28px}.media-image img{width:92%;height:auto;border:1px solid var(--line);border-radius:4px}.apps-image{background:#eef6fc;padding:25px}.apps-image img{height:210px;width:auto;border-radius:12px}.work-body{padding:28px 30px 26px;display:flex;flex-direction:column;flex:1}.category{color:var(--blue);font-size:.75rem;font-weight:750;letter-spacing:.13em;line-height:1.5;margin-bottom:10px}.work-body h3{font-size:1.625rem;line-height:1.55;letter-spacing:.02em}.work-description{color:var(--text);font-size:1rem;margin-top:16px;flex:1}.card-link{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:16px;margin-top:24px;min-height:44px;font-size:.9375rem;font-weight:650}.card-link>span[aria-hidden]{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--line);border-radius:50%;font-size:1rem;color:var(--blue)}.card-link:hover{color:var(--blue)}.service-support{display:flex;align-items:center;gap:40px;justify-content:space-between;margin-top:40px;padding:28px 30px;background:var(--panel);border-radius:var(--radius)}.service-support h3{font-size:1.125rem;margin-bottom:8px}.service-support p{font-size:.9375rem;color:var(--text);max-width:43em}
.approach{background:var(--panel);padding-block:86px}.approach-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:90px}.approach .eyebrow{margin-bottom:24px}.approach-heading>p:not(.eyebrow){font-size:1.0625rem;color:var(--text);margin-top:22px}.approach-heading>img{margin-top:34px;width:90px}.approach-lead{font-size:1.5rem;font-weight:650;line-height:1.65;margin-bottom:18px}.approach-content>p:not(.approach-lead){color:var(--text);font-size:1rem}.approach-points{margin-top:30px}.approach-points>div{position:relative;padding:22px 0 22px 38px;border-top:1px solid #cbdceb}.approach-points>div>span{position:absolute;left:0;top:27px;color:var(--blue);font-size:.8125rem;font-weight:700}.approach-points h3{font-size:1.0625rem;font-weight:650}.approach-points p{margin-top:7px;color:var(--text);font-size:1rem}
.about-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:90px}.founder-label{font-size:.875rem;color:var(--muted);margin-top:32px}.founder-name{font-size:1.5rem;font-weight:700;margin-top:7px}.founder-name>span{font-size:.8125rem;font-weight:400;display:inline-block;color:var(--muted);margin-left:12px}.about-content>p{font-size:1rem;color:var(--text)}.about-content>p+p{margin-top:18px}.qualifications{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.qualifications li{font-size:.8125rem;padding:3px 12px;border:1px solid var(--line);border-radius:3px}.about-links{display:flex;gap:26px;align-items:center;flex-wrap:wrap;margin-top:24px}.secondary-link{font-size:.875rem;color:var(--muted)}
.news-section{border-top:1px solid var(--line);padding-block:76px}.news-grid,.company-grid{display:grid;grid-template-columns:1fr 2fr;gap:70px}.news-grid h2,.company-grid h2{font-size:2rem;margin-top:14px}.news-all{margin-top:22px}.news-list{border-top:1px solid var(--line)}.news-list>li{border-bottom:1px solid var(--line)}.news-list a{display:grid;grid-template-columns:105px 1fr 20px;align-items:baseline;gap:15px;padding:22px 2px;font-size:1rem}.news-list a:hover{color:var(--blue)}.news-list time{font-size:.8125rem;color:var(--muted);font-variant-numeric:tabular-nums}.news-list a>span:last-child{color:var(--blue)}
.company{border-top:1px solid var(--line);padding-top:76px}.company-details{margin:0}.company-details>div{display:grid;grid-template-columns:100px 1fr;gap:24px;border-bottom:1px solid var(--line);padding:18px 0}.company-details>div:first-child{border-top:1px solid var(--line)}.company-details dt{color:var(--text);font-size:.9375rem;font-weight:550}.company-details dd{margin:0;font-size:1rem}
.contact-band{background:var(--blue);color:#fff;padding-block:66px}.contact-inner{display:flex;justify-content:space-between;gap:48px;align-items:center}.contact-band .eyebrow{color:#fff;opacity:.85;margin-bottom:18px}.contact-band h2{font-size:clamp(2rem,3.5vw,3rem);line-height:1.5}.contact-band h2 br{display:none}.contact-band p:not(.eyebrow){font-size:1rem;margin-top:16px}.button-white{background:#fff;color:var(--blue);min-width:260px}.button-white:hover{background:#eaf3ff}.contact-band a:focus-visible{outline-color:#fff}
.site-footer{padding-block:36px 24px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:30px}.footer-top .logo img{width:170px}.footer-top nav{display:flex;gap:24px;flex-wrap:wrap;font-size:.8125rem;color:var(--text)}.footer-top nav a:hover{color:var(--blue)}.footer-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:24px;gap:16px}.footer-bottom small{font-size:.75rem;color:var(--muted)}.language{position:relative}.language summary{font-size:.8125rem;color:var(--text);cursor:pointer;min-height:40px;display:flex;align-items:center;gap:9px}.language summary:after{content:"⌄"}.language ul{position:absolute;right:0;bottom:100%;background:#fff;box-shadow:0 4px 20px #182d451a;border:1px solid var(--line);min-width:180px;padding:8px;max-height:350px;overflow:auto;border-radius:4px;z-index:4}.language li a{display:block;font-size:.875rem;padding:8px 12px;min-height:40px}.language li a:hover{background:var(--panel);color:var(--blue)}
@media(min-width:1450px){.hero{padding-top:88px;padding-bottom:74px}.hero-showcase{max-width:560px;width:100%;justify-self:end}}
@media(max-width:1050px){:root{--gutter:32px}.desktop-nav{gap:19px}.desktop-nav .nav-contact{padding-inline:15px;gap:14px}.logo img{width:172px}.hero{gap:20px;padding-top:54px}.hero h1{font-size:4.4rem}.hero-showcase{aspect-ratio:.96}.object-caption{font-size:.75rem}.showcase-book{width:40%;left:0;top:8%}.showcase-course{width:57%;right:-1%}.showcase-app{width:38%;bottom:13%}.showcase-note{font-size:.8125rem}.section-heading>p{font-size:.9375rem}.work-body{padding:25px}.approach-grid,.about-grid{gap:55px}.news-grid,.company-grid{gap:40px}.work-image{min-height:220px}.service-support{gap:24px}.contact-band h2 br{display:block}}
@media(max-width:820px){:root{--gutter:24px}.header-inner{min-height:68px;padding-inline:24px}.logo img{width:176px;height:40px}.desktop-nav{display:none}.mobile-nav{display:block}.mobile-nav summary{display:flex;gap:12px;align-items:center;list-style:none;min-height:44px;font-size:.8125rem;cursor:pointer}.mobile-nav summary::-webkit-details-marker{display:none}.menu-lines{width:19px;height:12px;border-top:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink)}.mobile-nav[open] .menu-lines{transform:rotate(90deg)}.mobile-nav nav{position:absolute;left:0;right:0;top:100%;padding:14px 24px 24px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 9px 20px #182d450d}.mobile-nav nav a{display:block;padding:12px 0;border-bottom:1px solid var(--line);font-size:1rem}.hero{grid-template-columns:1fr;padding-top:40px;padding-bottom:30px;gap:26px}.hero-copy{padding:0}.hero .eyebrow{margin-bottom:20px}.hero h1{font-size:clamp(3.2rem,9vw,4.4rem);line-height:1.3}.hero-tagline{margin-top:22px;font-size:1.125rem}.hero-description{font-size:1rem;max-width:31em;margin-top:12px}.hero-actions{margin-top:24px;gap:24px}.hero-showcase{width:min(100%,490px);justify-self:center;aspect-ratio:1.2}.showcase-field{inset:7% 2% 6% 4%}.showcase-book{left:5%;top:7%;width:31%;padding:10px 12px 12px}.showcase-course{right:1%;top:7%;width:50%;padding:13px}.showcase-app{width:28%;right:14%;bottom:3%;padding:10px}.showcase-mascot{left:14%;bottom:5%;width:13%}.showcase-note{display:none}.object-caption{font-size:.75rem}.object-label{font-size:.75rem;margin-bottom:6px}.evidence-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.evidence-grid>div{padding:20px 10px}.stat{gap:3px;flex-wrap:wrap}.stat strong{font-size:2.25rem}.stat>span{font-size:.8125rem}.stat-label{font-size:.8125rem}.evidence-note{font-size:.75rem;text-align:left;margin-top:12px}.section{padding-block:66px}.section-heading{display:block;margin-bottom:28px}.section-heading>p{margin-top:18px;font-size:1rem}h2{font-size:2rem;line-height:1.55}.work-grid{gap:26px 20px}.work-body{padding:22px}.work-body h3{font-size:1.375rem}.work-image{min-height:210px;aspect-ratio:1.55}.course-image{padding:45px 22px 24px}.book-image img,.apps-image img{height:165px}.media-image{padding:45px 22px 24px}.image-category{top:12px;left:12px;font-size:.75rem;padding:4px 10px}.service-support{display:block;padding:25px}.service-support p{font-size:1rem}.service-support .button{margin-top:20px}.approach{padding-block:58px}.approach-grid,.about-grid{grid-template-columns:1fr;gap:34px}.approach-heading{position:relative}.approach-heading>img{position:absolute;right:6px;bottom:4px;width:64px;margin:0}.approach-heading>p:not(.eyebrow){padding-right:76px;font-size:1rem}.approach-content{max-width:38em}.approach-lead{font-size:1.375rem}.approach-points{margin-top:25px}.founder-label{margin-top:24px}.about-grid{gap:26px}.news-grid,.company-grid{grid-template-columns:1fr;gap:24px}.news-grid>div{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px}.news-grid .eyebrow{grid-column:1/-1}.news-grid h2{margin:0}.news-all{margin:0;align-self:end}.news-list a{grid-template-columns:90px 1fr 15px;gap:12px;padding:20px 0}.company-details>div{grid-template-columns:85px 1fr;gap:20px}.company-grid h2{margin-top:10px}.contact-inner{align-items:start;gap:32px}.button-white{min-width:210px}.contact-band{padding-block:50px}.footer-top{align-items:start;flex-direction:column;gap:20px}.footer-top nav{gap:12px 24px;line-height:1.8}.footer-bottom{align-items:start;flex-wrap:wrap}}
@media(max-width:560px){:root{--gutter:22px}.header-inner{padding-inline:22px}.hero-actions{gap:18px}.button{padding:13px 19px;gap:25px;min-height:52px}.hero-actions .text-link{font-size:.875rem;gap:9px}.hero-showcase{aspect-ratio:1.13;margin-top:8px}.showcase-book{width:34%;left:3%;top:9%}.showcase-course{width:55%;right:0;top:9%;padding:12px}.showcase-app{width:32%;right:12%;bottom:3%}.showcase-mascot{left:13%;bottom:8%;width:14%}.object-caption{display:none}.evidence-grid{grid-template-columns:1fr}.evidence-grid>div{display:flex;justify-content:space-between;align-items:center;gap:16px;text-align:left;padding:14px 0}.evidence-grid>div+div{border-top:1px solid var(--line)}.evidence-grid>div+div:before{display:none}.stat{flex-wrap:nowrap;justify-content:start;gap:4px}.stat strong{font-size:2.375rem}.stat>span{font-size:.875rem}.stat-label{text-align:right;font-size:.8125rem;max-width:54%;margin:0}.evidence-note{font-size:.75rem;line-height:1.7}.mobile-break{display:inline}.work-grid{grid-template-columns:1fr;gap:26px}.work-card{width:100%;min-width:0}.work-image{aspect-ratio:1.55;min-height:200px}.work-body{padding:25px 24px 22px;min-width:0}.work-body h3{font-size:1.5rem}.work-description{font-size:1rem;line-height:1.9}.course-image img{width:90%;max-width:350px}.book-image img,.apps-image img{height:177px}.image-category{font-size:.8125rem}.section-top{margin-bottom:20px}.section-heading>p br{display:none}.service-support{padding:24px;margin-top:28px}.service-support h3{font-size:1.0625rem}.service-support .button{width:100%;justify-content:space-between}.approach-heading>img{width:60px}.approach-points>div{padding-left:32px}.about-links{gap:20px}.founder-name>span{display:block;margin:4px 0 0}.news-list a{grid-template-columns:1fr 20px;gap:4px 10px;padding:18px 0}.news-list time{grid-column:1/-1;font-size:.8125rem}.news-list a>span:last-child{align-self:center}.company-details>div{grid-template-columns:72px 1fr;gap:17px;padding:17px 0}.company-details dd{font-size:.9375rem}.company-details dt{font-size:.875rem}.contact-inner{display:block}.contact-band h2{font-size:2.125rem}.contact-band p:not(.eyebrow){font-size:1rem}.button-white{margin-top:28px;width:100%}.site-footer{padding-block:28px 22px}.footer-top nav{display:grid;gap:12px;font-size:.875rem}.footer-bottom{flex-direction:column-reverse;gap:10px;margin-top:20px}.language ul{left:0;right:auto}.footer-top .logo img{width:166px}}
@media(max-width:360px){:root{--gutter:18px}.header-inner{padding-inline:18px}.logo img{width:159px}.mobile-nav summary{gap:8px}.hero h1{font-size:3rem}.hero-actions{gap:12px}.hero-actions .button{padding-inline:16px;gap:17px;font-size:.875rem}.hero-actions .text-link{font-size:.8125rem;gap:6px}.work-body{padding:22px 20px}.work-image{min-height:188px}.stat strong{font-size:2.125rem}.stat-label{font-size:.75rem}.approach-heading>img{width:47px}h2{font-size:1.8rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{.site-header{position:static}.hero-showcase{break-inside:avoid}.work-card{break-inside:avoid}.mobile-nav,.hero-actions,.contact-band{display:none}.section{padding-block:35px}}

/* Review revision: original mascot, quiet navigation and full biography. */
.hero-art{display:grid;place-items:center;min-width:0;padding:30px 18px}
.hero-mark{display:block;width:min(100%,430px);height:auto;overflow:visible;animation:brand-float 6s 3s ease-in-out infinite alternate}
.hero-mark path{fill:var(--blue);fill-opacity:0;stroke:var(--blue);stroke-width:140;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:mark-draw 2s .2s cubic-bezier(.4,0,.2,1) both,mark-fill .9s 1.7s ease forwards}
@keyframes mark-draw{to{stroke-dashoffset:0}}
@keyframes mark-fill{to{fill-opacity:1;stroke-opacity:0}}
@keyframes brand-float{from{transform:translateY(0)}to{transform:translateY(-8px)}}
.button{justify-content:center}
.hero-actions{gap:12px}
.hero-actions .button{min-width:172px}
.hero-actions .button-outline{border-color:var(--line);color:var(--ink)}
.hero-actions .button-outline:hover{background:var(--panel);color:var(--blue);border-color:var(--blue)}
.card-link{justify-content:flex-start;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:6px}
.card-link:hover{text-decoration-color:var(--blue)}
.news-list a{grid-template-columns:105px 1fr}
.news-list a>span:last-child{color:inherit}
.stat strong{position:relative;min-width:1.35em;text-align:right}
.about{padding-bottom:0}
.about-grid{grid-template-columns:.85fr 1.4fr;gap:70px}
.founder-bio{max-width:42em;color:var(--text);font-size:1rem;line-height:2}
.founder-bio p+p{margin-top:22px}
.about-links .secondary-link{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--line)}
.about-peek-stage{height:120px;position:relative;overflow:hidden;margin-top:16px}
.about-peek{position:absolute;right:30px;bottom:8px;width:112px;height:auto;transform:rotate(-8deg);transform-origin:50% 100%}
.about-peek-stage.motion-ready:not(.is-revealed) .about-peek{transform:translateY(120px) rotate(-14deg)}
.about-peek-stage.is-revealed .about-peek{animation:about-peek-up 1s .25s cubic-bezier(.36,1.6,.4,1) both}
@keyframes about-peek-up{0%{transform:translateY(120px) rotate(-14deg)}55%{transform:translateY(-16px) rotate(-4deg)}75%{transform:translateY(10px) rotate(-9deg)}100%{transform:translateY(0) rotate(-8deg)}}
@media(max-width:1050px){
  .hero-art{padding:20px 4px}
  .about-grid{gap:44px}
}
@media(max-width:820px){
  .hero{gap:28px}
  .hero-art{width:100%;padding:6px 0 16px}
  .hero-mark{width:240px;max-width:65%}
  .approach-heading>p:not(.eyebrow){padding-right:0}
  .about-grid{grid-template-columns:1fr;gap:26px}
  .about-peek-stage{height:106px;margin-top:8px}
  .about-peek{right:20px;width:100px}
  .news-list a{grid-template-columns:90px 1fr}
}
@media(max-width:560px){
  .hero-art{padding-top:2px;padding-bottom:10px}
  .hero-mark{width:200px}
  .hero-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .hero-actions .button{min-width:0;padding:13px 8px;font-size:.875rem}
  .service-support .button{justify-content:center}
  .news-list a{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .hero-mark path{fill-opacity:1;stroke-opacity:0;stroke-dashoffset:0}
  .about-peek-stage .about-peek{transform:rotate(-8deg)!important}
  .count-value{display:none}
  .count-final{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal}
}
@media print{
  .hero-mark{animation:none}
  .hero-mark path{animation:none;fill-opacity:1;stroke-opacity:0}
  .about-peek-stage{display:none}
  .count-value{display:none}
  .count-final{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal}
}

/* R3: one motion language — draw, arrive, settle. Reading surfaces stay still. */
:root{--motion-ease:cubic-bezier(.22,.7,.25,1);--motion-short:240ms;--motion-arrive:700ms}
.site-header .logo img{width:calc(190px * 367 / 371);height:auto;aspect-ratio:367/96}
.footer-top .logo img{width:calc(170px * 367 / 371);height:auto;aspect-ratio:367/96}
.hero{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-template-areas:"heading art" "details details";column-gap:56px;row-gap:22px;padding-top:70px;padding-bottom:64px;align-items:center}
.hero-heading{grid-area:heading;min-width:0}
.hero-heading h1{white-space:nowrap}
.hero-details{grid-area:details;min-width:0}
.hero-details .hero-tagline{margin-top:0}
.hero-details .hero-description{max-width:35em}
.hero-art{grid-area:art;width:100%;padding:12px 20px 0;align-self:center;justify-self:center;transition:transform 400ms var(--motion-ease)}
.hero-mark{width:min(100%,360px);max-width:100%;animation:hero-greet 1.1s 2.35s var(--motion-ease) both}
.hero h1>span{position:relative;display:inline-block}
@keyframes hero-greet{0%,100%{transform:translateY(0) rotate(0)}42%{transform:translateY(-9px) rotate(2deg)}73%{transform:translateY(2px) rotate(-1deg)}}
@keyframes line-arrive{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.services .section-heading{position:relative;padding-bottom:24px;display:grid;grid-template-columns:minmax(0,1fr);row-gap:var(--heading-copy-gap);align-items:start}
.services .section-heading>p{min-width:0;max-width:40em;margin:0;padding-bottom:0;font-size:1rem;line-height:1.9;text-wrap:pretty}
#services-title{text-wrap:balance;overflow-wrap:normal;hyphens:manual}
#services-title .mobile-break{display:block}
@media(max-width:360px){html[lang="ja"] #services-title{font-size:min(1.8rem,8.6vw)}}
.services .section-heading::before,.services .section-heading::after{content:"";position:absolute;left:0;bottom:0;height:2px}
.services .section-heading::before{width:100%;background:var(--line)}
.services .section-heading::after{width:96px;background:var(--blue);transform-origin:left}
.services .section-heading.motion-ready:not(.is-revealed)::after{transform:scaleX(0)}
.services .section-heading.is-revealed::after{animation:line-arrive var(--motion-arrive) var(--motion-ease) both}
.work-card{transition:border-color var(--motion-short) ease}
.work-image{transition:background 400ms ease}
.work-image img{transform-origin:center;transition:transform 450ms var(--motion-ease)}
.work-image:hover img{transform:none}
.work-image::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform 450ms var(--motion-ease)}
.work-card.is-revealed .work-image img{animation:work-image-arrive var(--motion-arrive) 100ms var(--motion-ease) backwards}
.work-book.is-revealed .work-image img{animation-name:book-arrive}
.work-apps.is-revealed .work-image img{animation-name:app-arrive}
@keyframes work-image-arrive{from{transform:translateY(9px)}to{transform:translateY(0)}}
@keyframes book-arrive{0%{transform:translateY(10px) rotate(-3deg)}70%{transform:translateY(-3px) rotate(1deg)}100%{transform:translateY(0) rotate(0)}}
@keyframes app-arrive{0%{transform:translateY(8px) rotate(3deg)}100%{transform:translateY(0) rotate(0)}}
.card-link{width:fit-content;max-width:100%;position:relative;border-top:0;text-decoration:none}
.card-link::after{content:"";position:absolute;bottom:-4px;left:0;width:100%;height:1px;background:var(--blue);transform:scaleX(.25);transform-origin:left;transition:transform var(--motion-short) var(--motion-ease)}
.card-link:focus-visible::after{transform:scaleX(1)}
.work-card:focus-within{border-color:#9ac5f5}
.work-card:focus-within .work-image::after{transform:scaleX(1)}
.work-card:focus-within .book-image img{transform:translateY(-7px) rotate(-2deg);animation:none}
.work-card:focus-within .course-image img{transform:translateY(-5px);animation:none}
.work-card:focus-within .apps-image img{transform:rotate(2deg);animation:none}
.work-card:focus-within .media-image{background:#e5f0ff}
@media(hover:hover) and (pointer:fine){
  .hero-art:hover{transform:translateY(-4px) rotate(-2deg)}
  .work-card:hover{border-color:#9ac5f5}
  .work-card:hover .work-image::after{transform:scaleX(1)}
  .work-card:hover .book-image img{transform:translateY(-7px) rotate(-2deg);animation:none}
  .work-card:hover .course-image img{transform:translateY(-5px);animation:none}
  .work-card:hover .apps-image img{transform:rotate(2deg);animation:none}
  .work-card:hover .media-image{background:#e5f0ff}
  .card-link:hover::after{transform:scaleX(1)}
}
@media(max-width:1050px){
  .hero{column-gap:32px;padding-top:54px}
  .hero-art{padding-inline:8px}
  .site-header .logo img{width:calc(180px * 367 / 371)}
}
@media(max-width:820px){
  .hero{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);column-gap:18px;row-gap:28px;padding-top:42px;padding-bottom:38px}
  .hero h1{font-size:clamp(2rem,9.8vw,4.4rem)}
  .hero .eyebrow{margin-bottom:16px}
  .hero-art{padding:20px 0 0}
  .hero-mark{width:100%;max-width:300px}
  .hero-details .hero-tagline{margin-top:0}
  .site-header .logo img{width:calc(174px * 367 / 371)}
}
@media(max-width:560px){
  .hero{column-gap:14px;row-gap:28px;padding-top:36px;padding-bottom:32px}
  .hero-art{padding:24px 0 0}
  .hero h1{font-size:clamp(1.9rem,9.8vw,3.2rem)}
  .hero .eyebrow{font-size:.75rem;letter-spacing:.13em}
  .hero-details .hero-tagline{font-size:1.0625rem}
  .hero-details .hero-description{font-size:1rem}
  .hero-actions{margin-top:22px}
}
@media(max-width:360px){.site-header .logo img{width:calc(160px * 367 / 371)}.hero .eyebrow{letter-spacing:.09em}}
@media(prefers-reduced-motion:reduce){
  .hero-art,.hero-mark,.work-card .work-image img{transform:none!important}
  .services .section-heading::after{transform:scaleX(1)!important}
}
@media print{
  .services .section-heading::after{animation:none;transform:scaleX(1)}
}

/* R4: tighten the visual gap without resizing either element or changing flow. */
.hero-art{--hero-inset:clamp(48px,7.5vw,96px);position:relative;left:calc(0px - var(--hero-inset));top:14px}
@media(max-width:1050px){.hero-art{--hero-inset:clamp(32px,6vw,64px)}}
@media(max-width:820px){.hero-art{--hero-inset:clamp(20px,4.5vw,38px);top:7px}}
@media(max-width:560px){.hero-art{--hero-inset:clamp(10px,calc(6.25vw - 10px),25px);top:4px}}

/* R5: a mascot peeking from the section corner. */
.about{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.about-peek-stage{height:90px;width:100%;margin-top:4px;pointer-events:none}
.about-peek{right:-16px;bottom:-1px;width:112px;transform:rotate(-8deg)}
.about-peek-stage.motion-ready:not(.is-revealed) .about-peek{transform:translateY(100px) rotate(-12deg)}
.about-peek-stage.is-revealed .about-peek{animation:corner-peek 850ms 200ms var(--motion-ease) both}
@keyframes corner-peek{0%{transform:translateY(100px) rotate(-12deg)}68%{transform:translateY(-5px) rotate(-6deg)}85%{transform:translateY(2px) rotate(-9deg)}100%{transform:translateY(0) rotate(-8deg)}}
.news-section{border-top:0}
@media(max-width:820px){
  .about-peek-stage{height:78px;margin-top:4px}
  .about-peek{right:-14px;bottom:-1px;width:100px}
}

/* R7: three recent articles after About, with space on both sides. */
.news-recent{padding-block:76px}
.news-recent .news-grid{grid-template-columns:200px minmax(0,1fr);gap:40px;align-items:start}
.news-recent .news-grid h2{font-size:1.75rem;margin-top:12px}
.news-recent .news-all{margin-top:20px;min-height:44px;padding:10px 20px;font-size:.875rem;border-color:var(--line)}
.news-recent .news-list a{grid-template-columns:98px minmax(0,1fr);gap:20px;padding:18px 0;font-size:1rem}
.news-recent .news-list time{font-size:.875rem}
.news-recent .news-list a>span{min-width:0;line-height:1.8}
@media(max-width:820px){
  .news-recent{padding-block:58px}
  .news-recent .news-grid{grid-template-columns:1fr;gap:20px}
  .news-recent .news-grid h2{margin-top:0}
  .news-recent .news-all{margin-top:0}
  .news-recent .news-list a{grid-template-columns:90px minmax(0,1fr);gap:16px;padding:15px 0}
}
@media(max-width:560px){
  .news-recent .news-list a{grid-template-columns:1fr;gap:4px}
}

/* R12: one headline, one explanation and two quiet, unnumbered supporting items. */
.approach-grid{display:block;max-width:var(--max)}
.approach-heading>p.approach-summary{margin-top:var(--heading-copy-gap);padding-right:0;max-width:40em;font-size:1rem;line-height:1.9}
.approach-principles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;margin-top:40px;padding-top:28px;border-top:1px solid var(--line)}
.approach-principles>li{min-width:0}
.approach-principles h3{font-size:1.125rem;line-height:1.8;font-weight:650}
.approach-principles p{margin-top:10px;color:var(--text);font-size:1rem;line-height:1.9;text-wrap:pretty}
.approach-summary>span,.approach-principles p>span{display:inline-block;max-width:100%;vertical-align:top}
@media(max-width:820px){
  .approach-principles{grid-template-columns:1fr;gap:24px;margin-top:32px;padding-top:24px}
}

/* R9: a stable hit area; only the mascot bounces, without changing its shape. */
.about-peek-stage{height:110px}
.peek-button{position:absolute;right:0;bottom:0;width:96px;height:110px;display:block;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:inherit;appearance:none;cursor:pointer;pointer-events:auto;touch-action:manipulation}
.peek-button:disabled{cursor:default}
.peek-button:focus-visible{outline:2px solid var(--blue);outline-offset:-4px;border-radius:8px}
.peek-bounce{position:absolute;inset:0;display:block;pointer-events:none}
.peek-bounce .about-peek{max-width:none}
.peek-bounce.is-bouncing{animation:peek-bounce 640ms var(--motion-ease) both}
.about-peek-stage.peek-interacted .about-peek{animation:none;transform:rotate(-8deg)}
@keyframes peek-bounce{0%,100%{transform:translateY(0)}32%{transform:translateY(-14px)}65%{transform:translateY(0)}82%{transform:translateY(-4px)}}
@media(max-width:820px){.about-peek-stage{height:94px}.peek-button{width:86px;height:94px}}
@media(prefers-reduced-motion:reduce){.peek-bounce.is-bouncing{animation:none;transform:none}}

/* R15: one general service link and an invitation open to individuals and businesses. */
.service-more{display:flex;justify-content:center;margin-top:40px}
.service-more>.button{width:min(100%,260px);min-width:0;max-width:100%;text-align:center}
.contact-inner>div{min-width:0;flex:1}
.contact-inner>.button{flex-shrink:0;min-width:260px;max-width:100%;text-align:center}
.contact-band p.contact-description,.contact-band p.contact-note{max-width:34em;text-wrap:pretty}
.contact-band p.contact-note{margin-top:10px}
@media(max-width:820px){
  .contact-inner{flex-direction:column;align-items:stretch;gap:28px}
  .contact-inner>.button{align-self:flex-start;min-width:0;margin-top:0}
}

/* Shared mobile header. Desktop presentation is overridden by R25 below. */
.header-inner{display:grid;grid-template-columns:minmax(56px,1fr) auto minmax(56px,1fr);column-gap:10px;direction:ltr;padding-block:8px;min-height:82px}
.desktop-nav{display:none}
.language-header{flex-shrink:0}
.language-header summary{min-height:44px;padding:6px 4px;gap:7px;list-style:none;font-size:.875rem;color:var(--ink);line-height:1.4}
.language-header summary::-webkit-details-marker{display:none}
.language-header summary:hover,.language-header[open]>summary{color:var(--blue)}
.language-globe{display:block;flex-shrink:0}
.language-header ul{top:calc(100% + 10px);right:0;bottom:auto;left:auto;width:min(296px,calc(100vw - 32px));min-width:0;max-height:calc(100dvh - 100px);padding:8px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px}
.language-header li a{display:flex;align-items:center;min-height:44px;font-size:.9375rem;overflow-wrap:anywhere}
.language a[aria-current="page"]{background:var(--panel);color:var(--blue);font-weight:700}
.mobile-nav{display:block}
  .mobile-nav summary{display:flex;align-items:center;justify-content:center;width:44px;min-height:44px;list-style:none;cursor:pointer}
  .mobile-nav summary::-webkit-details-marker{display:none}
  .mobile-nav nav{position:absolute;left:0;right:0;top:100%;padding:14px 24px 24px;max-height:calc(100dvh - 90px);overflow:auto;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 9px 20px #182d450d}
  .mobile-nav nav a{display:block;padding:12px 0;border-bottom:1px solid var(--line);font-size:1rem}
  .language-header summary{flex-direction:column;justify-content:center;gap:2px;min-width:68px;padding:4px 0;font-size:.875rem;line-height:1.15}
  .language-header summary:after{content:none}
  .language-header ul{top:calc(100% + 8px)}
  .site-header .logo{grid-column:2;justify-self:center;max-width:100%;min-width:0}
  .mobile-nav{grid-column:1;grid-row:1;justify-self:start;margin:0}
  .language-header{grid-column:3;grid-row:1;justify-self:end}
  .mobile-nav summary{width:56px;min-height:48px;flex-direction:column;gap:4px;color:var(--ink)}
  .mobile-nav summary>.menu-lines{position:relative;display:flex;flex-direction:column;justify-content:space-between;width:22px;height:16px;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal;border:0;transform:none}
  .menu-lines>span{display:block;width:100%;height:2px;background:currentColor;transition:transform 180ms ease,opacity 180ms ease;transform-origin:center}
  .mobile-nav[open] .menu-lines{transform:none}
  .mobile-nav[open] .menu-lines>span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .mobile-nav[open] .menu-lines>span:nth-child(2){opacity:0}
  .mobile-nav[open] .menu-lines>span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .menu-label{font-size:.875rem;line-height:1.15;font-weight:500}
  .language-header summary{min-width:56px;min-height:48px;font-size:.875rem}
@media(max-width:1050px){.header-inner{min-height:68px}}
@media(max-width:560px){.header-inner{padding-inline:12px;column-gap:8px}}
@media(max-width:360px){.header-inner{grid-template-columns:56px minmax(0,1fr) 56px;padding-inline:8px;column-gap:6px}.site-header .logo img{max-width:100%}}
@media print{.mobile-nav,.language-header{display:none}}

/* R24: shared label → heading → explanation rhythm. Keep biography copy untouched. */
:root{--heading-label-gap:24px;--heading-copy-gap:20px}
.services .section-top,.about .section-top{margin-bottom:var(--heading-label-gap)}
.approach .eyebrow{margin-bottom:var(--heading-label-gap)}
.about-inner>#about-title{margin-bottom:32px}
.about .about-grid .founder-label{margin-top:0}
@media(max-width:820px){:root{--heading-label-gap:20px;--heading-copy-gap:18px}}

/* Shared translated layouts: natural wrapping, no forced Japanese line lengths. */
.localized-home .hero h1{font-size:clamp(2.5rem,5.7vw,5rem);white-space:normal;line-height:1.2;letter-spacing:0;overflow-wrap:anywhere;hyphens:auto}
.localized-home .hero h1>span{max-width:100%}
.localized-home .hero-description{max-width:42em}
.localized-home .section-heading>p{flex-shrink:1;max-width:40em}
.localized-home .work-body h3,.localized-home h2{overflow-wrap:anywhere;hyphens:auto;letter-spacing:0}
.localized-home .button,.localized-home .desktop-nav a{white-space:normal;overflow-wrap:anywhere}
.localized-home .stat{flex-wrap:wrap}
.localized-home .stat>span{font-size:.875rem}
.localized-home .stat strong{font-size:clamp(2rem,3.5vw,2.875rem);direction:ltr;unicode-bidi:isolate}
.localized-home .stat-label{font-size:.875rem}
.localized-home .founder-bio{overflow-wrap:anywhere}
.localized-home .company-details>div{grid-template-columns:minmax(100px,1fr) minmax(0,3fr)}
.localized-home .company-details dd{overflow-wrap:anywhere}
.localized-home .desktop-nav{gap:18px}
.localized-home .contact-inner{flex-direction:column;align-items:flex-start;gap:28px}
.localized-home .contact-inner>.button{margin-top:0;align-self:flex-start;min-width:0}
.localized-home .contact-band p.contact-description,.localized-home .contact-band p.contact-note{max-width:52em}
html[dir="rtl"] .header-inner{direction:ltr}
html[dir="rtl"] .desktop-nav,html[dir="rtl"] .mobile-nav nav{direction:rtl;text-align:right}
html[dir="rtl"] .hero-art{left:auto;right:calc(0px - var(--hero-inset))}
html[dir="rtl"] .hero .eyebrow{direction:ltr;text-align:right}
html[dir="rtl"] .evidence-grid>div+div:before{left:auto;right:0}
html[dir="rtl"] .image-category{left:auto;right:20px}
html[dir="rtl"] .founder-name>span{margin-left:0;margin-right:12px}
html[dir="rtl"] .founder-bio,html[dir="rtl"] .company-details{text-align:right}
html[dir="rtl"] .approach h2,html[dir="rtl"] .hero h1{line-height:1.6;hyphens:none}
html[dir="rtl"] .site-footer .logo,html[dir="rtl"] .footer-bottom small{direction:ltr;unicode-bidi:isolate}
@media(max-width:820px){
  .localized-home .hero{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}
  .localized-home .hero h1{font-size:clamp(1.7rem,5.8vw,3rem)}
  .localized-home .section-heading>p{max-width:none}
}
@media(max-width:560px){
  /* R22: keep a flex column so the text-to-button gap also works on phones. */
  .contact-inner,.localized-home .contact-inner{display:flex;row-gap:32px}
  .localized-home .stat{max-width:48%;gap:3px 6px}
  .localized-home .evidence-grid>div,.localized-home .stat-label{min-width:0}
  .localized-home .stat>span{white-space:normal}
  .localized-home .stat strong{font-size:1.875rem}
  .localized-home .stat-label{max-width:49%;font-size:.875rem}
  .localized-home .company-details>div{grid-template-columns:minmax(75px,1fr) minmax(0,2fr);gap:16px}
  html[dir="rtl"] .stat-label{text-align:left}
}

/* R18: shared lower-page shell; current Japanese content with readable translations. */
.site-header nav a[aria-current="page"]{color:var(--blue);font-weight:700}
.detail-page-heading{padding-top:32px;padding-bottom:44px}
.breadcrumbs{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;font-size:.875rem;color:var(--muted);margin-bottom:42px}
.breadcrumbs a:hover{color:var(--blue)}
.detail-page-heading .eyebrow{margin-bottom:14px}
.detail-page-heading h1{font-size:clamp(2rem,4.5vw,3.5rem);line-height:1.35;overflow-wrap:anywhere;hyphens:auto}
.detail-content{padding-bottom:88px}
.detail-services{max-width:980px}
.service-detail-group{padding:36px 0 44px;border-top:1px solid var(--line)}
.service-detail-group h2{font-size:clamp(1.5rem,2.5vw,2rem);line-height:1.5;max-width:34em}
.service-detail-intro{font-size:1rem;color:var(--text);margin-top:20px;max-width:52em}
.service-offers{margin-top:28px}
.service-offers>li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:32px;border-top:1px solid var(--line);padding:26px 0}
.service-offers h3{font-size:1.125rem;line-height:1.6;overflow-wrap:anywhere}
.service-offers p{font-size:1rem;color:var(--text);overflow-wrap:anywhere}
.detail-link{display:inline-block;color:var(--blue);text-decoration:underline;text-underline-offset:5px;line-height:1.7;padding-block:8px;margin-top:8px;overflow-wrap:anywhere}
.detail-link:hover{color:var(--blue-hover)}
.service-language-note{max-width:980px;padding:20px 24px;background:var(--panel);font-size:.9375rem;color:var(--text);border-radius:4px}
.detail-company{max-width:880px}
.detail-about .about{padding-top:12px}
.detail-page .founder-label{margin-top:24px}
.detail-page .site-footer{border-top:1px solid var(--line)}
.contact-detail{max-width:760px;font-size:1rem;color:var(--text)}
.contact-detail>p+p{margin-top:18px}
.contact-detail .detail-lead{font-size:1.125rem;color:var(--ink)}
.contact-form-link{margin-block:30px 36px}
.contact-form-link .button{white-space:normal;max-width:100%}

/* R23: legal pages share the site shell; existing policy/disclosure copy stays intact. */
.legal-page-content{padding-block:32px 88px;max-width:980px;overflow-wrap:anywhere}
.legal-page-content #mmx>div{padding:0!important}
.legal-page-content .phead{margin-bottom:36px}
.legal-page-content .phead .en{display:block;color:var(--blue);font-size:.8125rem;font-weight:750;letter-spacing:.16em;line-height:1.4;margin-bottom:14px}
.legal-page-content h1{font-size:clamp(2rem,4.5vw,3.5rem);line-height:1.35;overflow-wrap:anywhere}
.legal-page-content h2,.legal-page-content h3{font-size:1.375rem;line-height:1.6;margin-block:32px 12px}
.legal-page-content p{margin-block:12px;line-height:1.9}
.legal-page-content ul,.legal-page-content ol{padding-inline-start:1.6em;padding-inline-end:.5em;margin-block:16px;list-style-position:outside}
.legal-page-content ul{list-style-type:disc}
.legal-page-content ol{list-style-type:decimal}
.legal-page-content li{margin-block:10px;line-break:strict}
.legal-page-content li>ol,.legal-page-content li>ul{margin-block:10px}
.legal-page-content a{color:var(--blue);text-decoration:underline;text-underline-offset:4px}
.legal-page-content dl.legal{display:grid;grid-template-columns:minmax(160px,1fr) minmax(0,3fr);margin:0}
.legal-page-content dl.legal>dt,.legal-page-content dl.legal>dd{min-width:0;margin:0;padding-block:22px;border-bottom:1px solid var(--line)}
.legal-page-content dl.legal>dt{padding-inline-end:28px;font-weight:650}
@media(max-width:560px){
  .legal-page-content{padding-block:28px 58px}
  .legal-page-content dl.legal{grid-template-columns:minmax(0,1fr)}
  .legal-page-content dl.legal>dt{padding:22px 0 6px;border-bottom:0}
  .legal-page-content dl.legal>dd{padding-block:0 22px}
}
.preview-explanation{font-size:.875rem;margin-top:12px;max-width:46em;color:var(--muted)}
html[dir="rtl"] .detail-page-heading h1{line-height:1.6;hyphens:none}
@media(max-width:820px){
  .detail-page-heading{padding-top:22px;padding-bottom:32px}
  .breadcrumbs{margin-bottom:28px}
  .detail-content{padding-bottom:58px}
  .service-detail-group{padding-top:26px;padding-bottom:30px}
  .service-offers>li{grid-template-columns:1fr;gap:10px;padding:22px 0}
  .service-language-note{padding:18px}
}

/* R25: visible desktop links; mobile keeps menu / centred logo / language. */
@media(min-width:1051px){
  .header-inner{display:flex;column-gap:24px;flex-wrap:nowrap}
  .site-header .mobile-nav{display:none}
  .site-header .logo{flex-shrink:0}
  .site-header .desktop-nav{display:flex;align-items:center;gap:clamp(12px,1.4vw,22px);margin-left:auto;flex-shrink:0;font-size:.875rem;font-weight:600}
  .site-header .desktop-nav>a{display:inline-flex;align-items:center;min-height:44px;padding-block:10px;white-space:nowrap;overflow-wrap:normal}
  .language-header summary{flex-direction:row;gap:7px;min-height:44px;padding:6px 4px;white-space:nowrap}
}
@media print{.site-header .desktop-nav{display:none}}
