:root{--ink:#000;--paper:#fff;--soft:#f2f2f2;--line:#ddd;--accent:#ff4000;--hover:#e12200;--intro:#ef3d08;--muted:#666;--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font-family:Arial,'Hiragino Sans','Hiragino Kaku Gothic ProN',YuGothic,Meiryo,sans-serif;font-weight:500;color:var(--ink);background:var(--paper);font-size:16px;line-height:2}body.locked{overflow:hidden}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;width:100%;object-fit:cover}button{border:0;background:transparent;color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:600;line-height:1.5}ul{padding-left:1.3em}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.skip{position:fixed;z-index:10000;top:-80px;left:20px;background:#fff;padding:10px}.skip:focus{top:10px}.wrap{width:min(1200px,calc(100% - 120px));margin:auto}.section{padding:120px 0}.soft{background:var(--soft)}.dark{background:#000;color:#fff}.eyebrow{font-size:13px;font-weight:600;letter-spacing:.12em}.accent{color:var(--accent)}.section-title{font-size:70px;line-height:1.1;letter-spacing:-.035em;font-weight:600}.section-label{font-size:16px;margin-top:20px}.section-top{display:flex;justify-content:space-between;gap:80px;align-items:end;margin-bottom:65px}.section-top>p{max-width:480px;line-height:2.2}.copy{line-height:2.3}.copy p+p{margin-top:1.5em}.lead{font-size:30px;line-height:1.8;font-weight:600;letter-spacing:.03em}.arrow{width:42px;height:42px;border:1px solid currentColor;border-radius:50%;display:inline-grid;place-items:center;flex-shrink:0;overflow:hidden}.arrow:before{content:'→';font-family:Arial;line-height:1;transition:transform .3s}.link:hover .arrow:before,.tile:hover .arrow:before{animation:arrow .5s}@keyframes arrow{49%{transform:translateX(40px)}50%{transform:translateX(-40px)}100%{transform:translateX(0)}}.link{display:flex;align-items:center;justify-content:space-between;gap:40px;max-width:380px;min-height:72px;border-bottom:1px solid var(--line);font-size:16px;transition:color .3s}.link:hover{color:var(--accent)}.button{display:inline-flex;min-height:66px;align-items:center;justify-content:space-between;gap:55px;padding:0 30px;background:#000;color:#fff;transition:background .3s}.button:hover{background:var(--accent)}.button.orange{background:var(--accent)}.button.orange:hover{background:var(--hover)}
.header{position:fixed;top:0;left:0;width:100%;z-index:100;height:80px;display:flex;align-items:center;justify-content:space-between;padding:0 40px;background:#fff;color:#000;box-shadow:0 2px 8px #00000008;transition:background .4s,color .4s,transform .7s}.home .header:not(.scrolled):not(.menu-active){background:transparent;color:#fff;box-shadow:none}.brand{font-size:27px;font-weight:700;letter-spacing:.16em;line-height:1.1}.brand small{display:block;font-size:8px;letter-spacing:.24em;margin-top:8px}.nav{height:100%;display:flex;align-items:stretch;gap:2px}.nav>div{display:flex;align-items:center}.nav>a,.nav>div>button,.nav>.search-toggle{display:flex;align-items:center;justify-content:center;font-size:14px;line-height:1;height:80px;padding:0 17px;transition:color .3s}.nav a:hover,.nav button:hover,.nav a[aria-current=page],.nav button[aria-expanded=true]{color:var(--accent)}.nav .contact-nav{margin-left:20px;padding:0 28px;background:var(--accent);color:white}.search-toggle{font-size:22px!important}.menu-toggle{display:none}.mega{position:absolute;top:80px;left:0;width:100%;background:#fff;color:#000;box-shadow:0 12px 18px #0000000c;visibility:hidden;opacity:0;transform:translateY(-10px);transition:.25s;pointer-events:none}.mega.open{visibility:visible;opacity:1;transform:none;pointer-events:auto}.mega-inner{display:grid;grid-template-columns:1fr 3fr;gap:50px;padding:48px 0}.mega-head strong{font-size:36px;line-height:1.2}.mega-head a{font-size:14px;display:block;margin-top:18px}.mega-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.mega-card .media{height:130px;overflow:hidden;background:#f2f2f2}.mega-card img{height:100%;transition:transform .5s}.mega-card:hover img{transform:scale(1.1)}.mega-card strong{display:block;font-size:20px;line-height:1.4;margin:14px 0 6px}.mega-card span{font-size:13px;color:#666}.mega-sublinks{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #ddd;margin-top:24px;padding-top:12px;gap:20px;font-size:13px}.hero{position:relative;height:100svh;min-height:620px;color:#fff;overflow:hidden;background:#18372c}.hero video,.hero-poster,.hero:after{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero:after{content:'';background:linear-gradient(90deg,#071b18a8,#102a2040);pointer-events:none}.hero-content{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:start;padding-top:40px}.hero h1{font-size:76px;line-height:1.15;letter-spacing:-.025em;max-width:1000px}.hero h1 small{display:block;font-size:22px;font-weight:500;letter-spacing:.05em;margin-top:25px;line-height:1.7}.hero .hero-intro{font-size:13px;letter-spacing:.1em;margin-bottom:24px}.hero-bottom{position:absolute;bottom:34px;left:0;right:0;z-index:2;display:flex;align-items:center;justify-content:space-between;font-size:12px;letter-spacing:.12em}.hero-controls{display:flex;gap:20px;align-items:center}.hero-controls button{border:1px solid #ffffff66;border-radius:50%;width:40px;height:40px;line-height:1}.scroll-mark{display:flex;align-items:center;gap:18px}.scroll-mark:after{content:'';height:52px;width:1px;background:#ffffff70;transform-origin:top;animation:scroll 2s infinite}@keyframes scroll{0%{transform:scaleY(0)}50%{transform:scaleY(1)}100%{transform:scaleY(0);transform-origin:bottom}}.js .hero-content>*{opacity:0;transform:translateY(35px);transition:opacity .9s,transform .7s}.ready .hero-content>*{opacity:1;transform:none}.ready .hero-content h1{transition-delay:.3s}.intro-layer{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:#000;color:#fff;visibility:hidden;pointer-events:none}.intro-layer.running{visibility:visible;pointer-events:auto}.intro-catch{font-size:26px;text-align:center;line-height:1.8;opacity:0;animation:catch 1s .5s forwards}.intro-brand{position:absolute;inset:0;background:var(--intro);display:grid;place-items:center;transform:translateY(-100%);transition:transform .7s cubic-bezier(.83,0,.17,1) .5s}.intro-brand .brand{font-size:44px;opacity:0;transition:opacity 1s 1.5s}.intro-layer.logo-phase .intro-brand{transform:none}.intro-layer.logo-phase .intro-brand .brand{opacity:1}.intro-layer.done{opacity:0;transition:opacity .5s .4s;pointer-events:none}.intro-skip{position:absolute;bottom:28px;right:35px;font-size:11px;letter-spacing:.1em;color:#fff;z-index:2}@keyframes catch{to{opacity:1}}
.manifesto{display:grid;grid-template-columns:1fr 1fr;gap:90px}.manifesto .section-title{font-size:62px}.manifesto .lead{margin-bottom:28px}.manifesto .link{margin-top:28px}.wide-media{height:520px;overflow:hidden;position:relative}.wide-media img{height:100%}.reveal{opacity:1}.js .reveal{opacity:0;transform:translateY(45px);transition:transform .7s var(--ease),opacity .9s}.js .reveal.visible{opacity:1;transform:none}.shutter{position:relative;overflow:hidden}.js .shutter:after{content:'';position:absolute;inset:0;background:#fff;transform-origin:right;transition:transform 1.8s var(--ease)}.js .shutter.visible:after{transform:scaleX(0)}.service-list{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{padding:38px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:290px;background:#fff;position:relative;transition:background .35s,color .35s}.service-card:hover{background:#000;color:#fff}.service-card .num{font-size:12px;letter-spacing:.1em;color:var(--accent)}.service-card h3{font-size:25px;margin:25px 0 5px}.service-card .jp{font-size:16px}.service-card p{font-size:13px;line-height:2;color:#666;margin-top:15px;padding-right:25px}.service-card:hover p{color:#ccc}.service-card .arrow{position:absolute;right:30px;bottom:30px;width:30px;height:30px}.service-bottom{display:flex;justify-content:flex-end;margin-top:35px}.service-bottom .link{width:330px}.feature{display:grid;grid-template-columns:1fr 1fr;min-height:560px}.feature .visual{overflow:hidden}.feature img{height:100%;min-height:440px;transition:transform 1s}.feature:hover img{transform:scale(1.035)}.feature .content{display:flex;flex-direction:column;justify-content:center;padding:70px 12%}.feature .lead{margin:25px 0}.feature .link{margin-top:25px;width:100%}.feature.reverse .visual{order:2}.feature.reverse .content{order:1}.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:55px}.method-grid article{border-top:1px solid #555;padding-top:25px}.method-grid .num{color:var(--accent);font-size:16px}.method-grid h3{font-size:25px;margin:20px 0}.method-grid p{color:#bbb;font-size:15px;line-height:2.2}.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.journal-card .thumb{aspect-ratio:1.6;overflow:hidden;background:#eee}.journal-card .thumb img{height:100%;transition:transform .5s}.journal-card:hover .thumb img{transform:scale(1.1)}.journal-card .meta{display:flex;gap:18px;font-size:11px;margin:22px 0 12px}.journal-card .tag{color:var(--accent);font-weight:600}.journal-card h3{font-size:18px;line-height:1.8;transition:color .3s}.journal-card:hover h3{color:var(--accent)}.journal-card p{font-size:13px;color:#666;line-height:2;margin-top:12px}.thumb.graphic{padding:25px;background:#eae7df;display:flex;align-items:end;position:relative;overflow:hidden}.thumb.graphic:after{content:'';width:140px;height:140px;border:1px solid currentColor;position:absolute;right:-25px;top:20px;border-radius:50%;opacity:.25;box-shadow:0 0 0 25px #ffffff20,0 0 0 50px #ffffff10}.thumb.graphic strong{font-size:45px;line-height:1;letter-spacing:-.04em;z-index:1}.thumb.graphic small{display:block;font-size:10px;letter-spacing:.12em;margin-top:14px}.thumb.graphic.orange{background:#ff4000;color:#fff}.thumb.graphic.black{background:#202523;color:#fff}.thumb.graphic.green{background:#155c5a;color:#fff}.footer-cta{display:grid;grid-template-columns:1fr 1fr}.footer-cta a{padding:65px max(40px,calc((100vw - 1200px)/2));padding-right:50px;background:#f2f2f2;transition:.4s}.footer-cta a:last-child{background:#e9e9e9;padding-left:70px}.footer-cta a:hover{background:var(--accent);color:white}.footer-cta strong{font-size:48px;line-height:1;display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-cta p{margin-top:20px;font-size:15px}.footer{background:#000;color:white;padding:75px 0 25px}.footer-main{display:flex;justify-content:space-between;gap:80px}.footer address{font-style:normal;color:#aaa;font-size:13px;line-height:2.2;margin-top:30px}.footer-links{display:grid;grid-template-columns:repeat(2,1fr);gap:15px 55px;font-size:14px;align-content:start}.footer-links a:hover{color:var(--accent)}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #333;margin-top:60px;padding-top:23px;color:#999;font-size:10px}.replay{padding:10px 0;color:#aaa;font-size:11px}.to-top{position:fixed;right:20px;bottom:20px;width:48px;height:48px;border:1px solid #ddd;background:#fff;color:#000;z-index:50;opacity:0;pointer-events:none;transition:.3s}.to-top.show{opacity:1;pointer-events:auto}.to-top:hover{background:var(--accent);color:#fff}.page-heading{padding:165px 0 75px;background:var(--soft)}.page-heading .section-title{font-size:76px}.page-heading .lead{margin-top:28px}.breadcrumb{font-size:11px;color:#777;margin-top:32px}.breadcrumb a:hover{color:var(--accent)}.page-intro{max-width:830px;margin:0 auto}.page-intro .lead{font-size:36px;margin-bottom:30px}.split{display:grid;grid-template-columns:1fr 1.4fr;gap:80px}.split h2{font-size:30px}.rows{border-top:1px solid #ddd}.row{display:grid;grid-template-columns:180px 1fr;gap:35px;padding:30px 0;border-bottom:1px solid #ddd}.row dt{font-weight:600}.row dd{margin:0;color:#555}.body-title{font-size:32px;margin-bottom:35px}.numbered{display:grid;grid-template-columns:70px 1fr;gap:25px;border-top:1px solid #ddd;padding:35px 0}.numbered>span{font-size:36px;line-height:1.4;color:var(--accent)}.numbered h3{font-size:24px;margin-bottom:16px}.numbered p{color:#555;font-size:15px}.points{display:grid;grid-template-columns:repeat(2,1fr);gap:40px}.point{padding:35px 0;border-top:1px solid #ccc}.point h3{font-size:24px;margin:15px 0}.point p{font-size:15px;color:#555}.note{background:#f2f2f2;border-left:3px solid var(--accent);padding:28px 32px;font-size:14px;line-height:2.1}.faq{border-top:1px solid #ddd}.faq details{border-bottom:1px solid #ddd}.faq summary{list-style:none;padding:27px 50px 27px 0;position:relative;font-weight:600;cursor:pointer}.faq summary:after{content:'+';position:absolute;right:10px;font-weight:400;font-size:22px;top:22px}.faq details[open] summary:after{content:'−'}.faq details p{padding:0 35px 27px 0;color:#555;font-size:15px}.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:45px}.filters button{border:1px solid #ddd;padding:10px 25px;transition:.3s;font-size:14px}.filters button[aria-pressed=true],.filters button:hover{background:#000;color:#fff;border-color:#000}.journal-card[hidden]{display:none}.journal-grid.listing{row-gap:65px}.search-box{display:flex;border-bottom:1px solid #000;margin:0 0 45px}.search-box input{border:0;width:100%;padding:15px 0;background:transparent;outline-offset:4px}.search-box button{padding:0 15px}.search-dialog{width:min(760px,calc(100% - 40px));border:0;padding:50px;background:#fff;box-shadow:0 15px 50px #0003}.search-dialog::backdrop{background:#0009}.search-dialog .close{position:absolute;right:20px;top:10px;font-size:30px}.search-dialog h2{font-size:32px;margin-bottom:20px}.search-results{max-height:50vh;overflow:auto}.search-results a{display:block;border-bottom:1px solid #ddd;padding:20px 0;line-height:1.7}.search-results small{color:#666}.search-results a:hover{color:var(--accent)}.article-header{padding:145px 0 55px;max-width:900px;margin:auto}.article-header h1{font-size:38px;line-height:1.7;margin:20px 0}.article-header .meta{font-size:12px;color:#666;display:flex;gap:25px}.article-visual{height:360px;margin-bottom:65px}.article-visual.graphic strong{font-size:90px}.article-layout{display:grid;grid-template-columns:minmax(0,780px) 250px;gap:90px;align-items:start}.article-body{font-size:16px;line-height:2.3}.article-body h2{font-size:27px;margin:65px 0 25px;padding-bottom:15px;border-bottom:1px solid #ddd}.article-body h3{font-size:21px;margin:40px 0 15px}.article-body p{margin:20px 0}.article-body li{padding:4px 0}.article-body a{color:#a42f09;text-decoration:underline;text-underline-offset:4px}.article-body .intro{font-size:18px}.article-body pre{white-space:pre-wrap;overflow-wrap:anywhere;font:14px/2 Arial,sans-serif;padding:25px;background:#f2f2f2;border-left:3px solid #ff4000}.article-body .source-list{font-size:13px}.article-aside{position:sticky;top:110px;font-size:13px}.article-aside strong{font-size:16px}.article-aside a{display:block;padding:15px 0;border-bottom:1px solid #ddd;line-height:1.8}.article-aside a:hover{color:var(--accent)}.reading-progress{position:fixed;top:80px;left:0;height:2px;background:var(--accent);width:0;z-index:101}.map{height:430px;position:relative;background:#ddd}.map iframe{width:100%;height:100%;border:0;filter:grayscale(1);display:block}.contact-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:80px}.contact-options{border-top:1px solid #ddd}.contact-option{padding:32px 0;border-bottom:1px solid #ddd}.contact-option h3{font-size:22px;margin-bottom:18px}.contact-option p{font-size:14px;color:#666;margin-top:18px}.tel{font-size:30px;letter-spacing:.03em}.empty{padding:40px 0;color:#666}.mini-dna{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;letter-spacing:.08em;margin-top:28px}.mini-dna span{border:1px solid #ccc;padding:8px 15px}.mobile-only{display:none}
@media(max-width:1100px){.wrap{width:calc(100% - 80px)}.header{padding:0 25px}.nav>a,.nav>div>button,.nav>.search-toggle{padding:0 10px;font-size:12px}.brand{font-size:23px}.nav .contact-nav{margin-left:8px;padding:0 18px}.section-title{font-size:55px}.manifesto{gap:50px}.manifesto .section-title{font-size:52px}.section{padding:90px 0}.service-card{padding:26px}.service-card h3{font-size:22px}.article-layout{gap:45px;grid-template-columns:minmax(0,1fr) 220px}.hero h1{font-size:66px}.feature .content{padding:50px}.section-top{gap:40px}.mega-inner{gap:30px}.contact-layout{gap:45px}}
@media(max-width:800px){body{font-size:14px}.wrap{width:calc(100% - 40px)}.header{height:60px;padding:0 20px}.brand{font-size:21px}.brand small{font-size:7px}.nav{display:none;position:fixed;top:60px;left:0;right:0;height:calc(100dvh - 60px);background:#fff;color:#000;overflow:auto;padding:20px;align-items:stretch}.nav.mobile-open{display:block}.nav>div{display:block}.nav>a,.nav>div>button,.nav>.search-toggle{height:60px;justify-content:space-between;padding:0;border-bottom:1px solid #ddd;font-size:16px;width:100%}.nav .contact-nav{padding:0 20px;margin:20px 0}.menu-toggle{display:flex;align-items:center;gap:13px;font-size:10px;letter-spacing:.08em;padding:10px 0}.hamburger{width:24px;height:12px;border-top:1px solid;border-bottom:1px solid}.menu-active .hamburger{height:1px;transform:rotate(-45deg);border-bottom:0}.mega{position:static;display:none;transform:none;box-shadow:none;visibility:visible;opacity:1;pointer-events:auto}.mega.open{display:block}.mega-inner{width:100%;display:block;padding:10px 0 25px}.mega-head{display:none}.mega-grid{grid-template-columns:repeat(3,1fr);gap:10px}.mega-card .media{height:80px}.mega-card strong{font-size:12px;margin-top:8px}.mega-card span{display:none}.mega-card{border:0!important;display:block!important;height:auto!important}.mega-sublinks{display:block;margin-top:10px;padding:0}.mega-sublinks a{font-size:13px;height:48px}.hero{min-height:620px;max-height:1000px}.hero h1{font-size:clamp(38px,8vw,64px);line-height:1.2;letter-spacing:-.025em}.hero h1 small{font-size:18px;line-height:1.8;max-width:320px;margin-top:22px}.hero-content{padding-top:0;justify-content:center}.hero .hero-intro{font-size:10px;letter-spacing:.1em}.hero-bottom{bottom:25px;font-size:9px}.hero-controls span{display:none}.hero video{object-position:56% center}.section{padding:70px 0}.section-title{font-size:40px;letter-spacing:-.02em}.section-label{font-size:13px;margin-top:12px}.section-top{display:block;margin-bottom:35px}.section-top>p{margin-top:25px;font-size:14px}.manifesto{display:block}.manifesto .section-title{font-size:40px}.manifesto>div+div{margin-top:36px}.lead{font-size:24px;line-height:1.9}.copy{line-height:2.2}.wide-media{height:300px}.service-list{grid-template-columns:1fr}.service-card{min-height:210px;padding:28px}.service-card h3{font-size:25px;margin-top:13px}.service-card p{padding-right:35px;font-size:13px}.service-card .jp{font-size:14px}.service-card .arrow{right:25px;bottom:28px}.service-bottom{margin-top:20px}.service-bottom .link{width:100%;max-width:none}.feature{display:flex;flex-direction:column;min-height:0}.feature .visual,.feature.reverse .visual{order:0;height:300px}.feature img{min-height:0;height:100%}.feature .content,.feature.reverse .content{padding:50px 20px;order:1}.feature .lead{font-size:25px}.method-grid{grid-template-columns:1fr;gap:35px}.method-grid article{padding-top:20px}.method-grid h3{font-size:23px;margin:12px 0}.method-grid p{font-size:14px}.journal-grid{grid-template-columns:1fr;gap:35px}.journal-card .thumb{aspect-ratio:1.75}.journal-card h3{font-size:17px}.journal-card .meta{margin-top:15px}.journal-card p{font-size:13px}.footer-cta{grid-template-columns:1fr}.footer-cta a,.footer-cta a:last-child{padding:40px 25px}.footer-cta strong{font-size:38px}.footer-cta p{font-size:13px;margin-top:15px}.footer{padding:50px 0 25px}.footer-main{display:block}.footer-links{margin-top:35px;font-size:12px;gap:12px 25px}.footer-bottom{display:block;margin-top:35px}.footer-bottom span{display:block;margin-top:10px}.to-top{width:40px;height:40px;right:12px;bottom:12px}.page-heading{padding:115px 0 50px}.page-heading .section-title{font-size:43px;overflow-wrap:anywhere}.page-heading .lead{font-size:22px;margin-top:20px}.breadcrumb{margin-top:25px;font-size:10px}.page-intro .lead{font-size:27px}.split{display:block}.split>div+div{margin-top:35px}.split h2{font-size:27px}.rows{margin-top:0}.row{grid-template-columns:100px 1fr;gap:15px;padding:23px 0;font-size:13px}.points{grid-template-columns:1fr;gap:0}.point h3{font-size:22px}.numbered{grid-template-columns:45px 1fr;gap:15px;padding:30px 0}.numbered>span{font-size:28px}.numbered h3{font-size:21px}.numbered p{font-size:14px}.note{padding:23px;font-size:13px}.body-title{font-size:27px}.filters{gap:8px;margin-bottom:30px}.filters button{padding:8px 15px;font-size:12px}.article-header{padding:110px 20px 35px}.article-header h1{font-size:26px;line-height:1.75}.article-header .meta{font-size:11px}.article-visual{height:240px;margin-bottom:40px}.article-visual.graphic strong{font-size:55px}.article-layout{display:block}.article-body{font-size:15px;line-height:2.2}.article-body .intro{font-size:16px}.article-body h2{font-size:23px;margin-top:45px}.article-body h3{font-size:19px}.article-body pre{font-size:13px;padding:20px}.article-aside{position:static;margin-top:50px;border-top:2px solid #000;padding-top:25px}.contact-layout{display:block}.contact-options{margin-top:40px}.map{height:330px}.intro-catch{font-size:20px;padding:0 20px}.intro-brand .brand{font-size:32px}.search-dialog{padding:50px 25px 30px}.search-dialog h2{font-size:26px}.reading-progress{top:60px}.mobile-only{display:block}.desktop-only{display:none}.mini-dna{font-size:10px;gap:8px}.link{font-size:14px;min-height:65px}.button{font-size:14px;gap:30px;padding:0 24px}.tel{font-size:27px}}
.article-visual>.thumb{height:100%;aspect-ratio:auto;padding:45px}.article-visual>.thumb strong{font-size:70px}.article-visual>.thumb small{font-size:12px;margin-top:20px}.mega-card .thumb.graphic{height:130px;aspect-ratio:auto;padding:18px}.mega-card .thumb.graphic strong{font-size:28px;margin:0}.mega-card .thumb.graphic small{font-size:8px}.hero-poster{opacity:1}.source-list a{overflow-wrap:anywhere}
@media(max-width:800px){.article-visual>.thumb{padding:28px}.article-visual>.thumb strong{font-size:50px}.mega-card .thumb.graphic{height:95px;padding:10px}.mega-card .thumb.graphic strong{font-size:17px}.mega-card .thumb.graphic small{font-size:5px}.mega-card .thumb.graphic:after{width:80px;height:80px}.mega-card .media{height:90px}.mega-card strong[style]{font-size:11px!important}.hero h1 small{font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal,.hero-content>*{opacity:1;transform:none}.js .shutter:after{display:none}.intro-layer{display:none}.hero video{display:none}}

.intro-layer:not(.running) .intro-catch{animation:none}

.journal-carousel{display:flex;gap:40px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:4px 0 16px}.journal-carousel::-webkit-scrollbar{display:none}.journal-carousel .journal-card{flex:0 0 calc((100% - 80px)/3);scroll-snap-align:start}.carousel-footer{display:flex;align-items:center;justify-content:space-between;margin-top:25px}.carousel-controls{display:flex;gap:12px}.carousel-controls button{border:1px solid #ddd;border-radius:50%;width:46px;height:46px;transition:.3s}.carousel-controls button:hover{background:#000;color:#fff}.carousel-footer>.link{width:330px}
@media(max-width:800px){.journal-carousel{gap:20px;margin-right:-20px;padding-right:20px}.journal-carousel .journal-card{flex-basis:88%}.carousel-footer{gap:20px}.carousel-controls{gap:8px}.carousel-controls button{width:38px;height:38px}.carousel-footer>.link{font-size:12px;gap:15px;width:auto;flex:1}.carousel-footer .arrow{width:30px;height:30px}}

@media(max-width:800px){.mega-sublinks a{display:flex;align-items:center;min-height:48px;border-bottom:1px solid #ddd}.mega-inner>.mobile-only{padding:15px 0}}

/* ACCESSIO supplied wordmark and requested refinements. */
.brand{display:block;width:184px;flex-shrink:0;line-height:1;color:inherit}.brand-logo{display:block;width:100%;height:auto;overflow:hidden}.footer .brand{width:208px}.intro-brand .brand{width:min(360px,62vw);color:#fff}.intro-brand{background:var(--intro)}.intro-brand .brand-logo>path{fill:#fff}
.hero-video{opacity:0;transition:opacity 1.1s ease}.hero-video.active{opacity:1}.hero-controls .scene-count{font-variant-numeric:tabular-nums;display:inline-block;min-width:55px}
.breadcrumb{display:flex;gap:10px;flex-wrap:wrap;align-items:baseline;line-height:1.8}.breadcrumb [aria-current]{overflow-wrap:anywhere}
.search-box input:focus,.search-box input:focus-visible{outline:none}.search-box:focus-within{border-bottom-color:#000;box-shadow:0 1px 0 #000}.search-dialog button:focus-visible{outline-color:#222}.search-toggle:focus:not(:focus-visible){outline:none}.keyboard-nav .search-box:focus-within{outline:2px solid #222;outline-offset:7px}
.consultation-topic{margin:25px 0 30px}.consultation-topic[hidden],.consultation-copy[hidden]{display:none}.consultation-topic label{display:block;font-size:14px;margin-bottom:10px}.consultation-topic select{font:inherit;font-size:15px;width:100%;max-width:100%;padding:14px 35px 14px 14px;border:1px solid #bbb;border-radius:0;background:#fff;color:#000}.consultation-copy{margin-top:22px}.consultation-copy textarea{font:inherit;font-size:14px;line-height:1.8;padding:12px;width:100%;resize:vertical;min-height:80px;border:1px solid #ddd;background:#f7f7f7;color:#333}.copy-topic{font-size:14px;padding:8px 0;border-bottom:1px solid #000}.copy-topic:hover{color:var(--accent)}.contact-option .copy-status{font-size:13px;min-height:24px;margin-top:8px}.privacy-link a{text-decoration:underline;text-underline-offset:5px}.policy-body{max-width:850px;margin:auto;font-size:16px;line-height:2.2}.policy-body h2{font-size:24px;margin:50px 0 20px;padding-bottom:15px;border-bottom:1px solid #ddd}.policy-body p+p{margin-top:18px}.policy-body a{text-decoration:underline;text-underline-offset:5px}.policy-body address{font-style:normal}.policy-date{font-size:14px;color:#666;margin-top:45px!important}.policy-intro{font-size:18px}select:focus-visible,textarea:focus-visible{outline:2px solid #222;outline-offset:4px}
@media(max-width:1100px){.header .brand{width:168px}}@media(max-width:800px){.header .brand{width:144px}.footer .brand{width:184px}.hero-controls{gap:12px}.policy-body{font-size:15px}.policy-body h2{font-size:21px}.policy-intro{font-size:16px}}

/* Keep the wordmark on the same grid as the page, with optical breathing room. */
:root{--header-height:80px;--header-gutter:max(60px,calc((100% - 1200px)/2))}
.header{height:var(--header-height);padding-inline:var(--header-gutter)}
.header>.brand{display:flex;align-items:center;min-height:44px}
html{scroll-padding-top:calc(var(--header-height) + 20px)}
.contact-heading{padding-bottom:42px}
.contact-section{padding:20px 0 100px}
.contact-shell{display:grid;grid-template-columns:minmax(240px,340px) minmax(0,1fr);column-gap:90px;grid-template-areas:"intro form" "aside form";grid-template-rows:auto 1fr}
.contact-intro{grid-area:intro}.contact-intro h2{font-size:29px;line-height:1.7;margin:18px 0 22px;letter-spacing:.01em}.contact-intro>p:not(.eyebrow){font-size:15px;line-height:2.2;color:#444;margin-bottom:18px}
.contact-aside{grid-area:aside;margin-top:30px}.contact-phone{border-top:1px solid var(--line);padding-top:27px}.contact-phone .eyebrow{font-size:14px;margin-bottom:8px}.contact-phone .tel{font-size:25px;white-space:nowrap}.contact-phone>p:last-child{font-size:14px;color:#666;margin-top:6px}.contact-care{font-size:13px;line-height:2;color:#666;max-width:300px;margin-top:25px}
.contact-form-area{grid-area:form;min-width:0;scroll-margin-top:0}.contact-steps{display:flex;list-style:none;gap:36px;border-bottom:1px solid var(--line);padding:0;margin:0 0 22px;font-size:14px}.contact-steps li{color:#777;padding:0 0 18px;position:relative}.contact-steps span{margin-right:6px;font-variant-numeric:tabular-nums}.contact-steps [aria-current]{color:#111;font-weight:600}.contact-steps [aria-current]:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--accent)}
.preview-notice{font-size:13px;line-height:1.9;background:#f2f2f2;padding:14px 18px;margin-bottom:30px;color:#555}.preview-notice strong{font-weight:600;color:#111;margin-right:8px}
.form-field{margin-bottom:28px;min-width:0}.form-field label{display:flex;gap:12px;align-items:center;font-size:15px;font-weight:600;margin-bottom:10px}.field-required,.field-optional{font-size:12px;font-weight:400}.field-required{color:#a3310c}.field-optional{color:#777}
.form-field input,.form-field select,.form-field textarea{font:inherit;font-size:16px;line-height:1.65;color:#111;border:1px solid #bcbcbc;border-radius:0;background:#fff;width:100%;max-width:100%;padding:14px 16px;transition:border-color .2s,background .2s;scroll-margin-top:110px;box-shadow:none}.form-field select{padding-right:32px}.form-field textarea{display:block;resize:vertical;min-height:180px}.form-field input::placeholder,.form-field textarea::placeholder{color:#777;font-size:14px;opacity:1}.form-field input:hover,.form-field select:hover,.form-field textarea:hover{border-color:#777}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid #222;outline-offset:2px;border-color:#222}.form-field [aria-invalid=true]{border-color:#a3310c;background:#fffaf7}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:22px}.field-hint{font-size:13px;color:#666;line-height:1.9;margin-top:9px}.message-meta{display:flex;align-items:baseline;justify-content:space-between;gap:15px}.message-count{font-size:12px;color:#777;white-space:nowrap;font-variant-numeric:tabular-nums}.field-error{color:#9b2909;font-size:14px;line-height:1.8;margin-top:9px}.form-error-summary{padding:16px 18px;margin:0 0 24px;border-left:2px solid #9b2909;background:#fff7f3;font-size:14px}.inquiry-form [hidden],.contact-review[hidden]{display:none!important}.contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-consent{border-top:1px solid var(--line);padding-top:24px}.form-consent label{display:flex;align-items:start;gap:12px;font-size:14px;line-height:1.9;cursor:pointer;min-height:44px}.form-consent input{appearance:auto;flex:0 0 20px;width:20px;height:20px;margin:3px 0 0;accent-color:#222}.form-consent a{text-decoration:underline;text-underline-offset:4px}.contact-purpose{font-size:13px;line-height:1.9;color:#666;margin:15px 0 25px}.contact-next{width:100%;min-height:70px;justify-content:space-between;cursor:pointer}.contact-next:hover{background:var(--accent)}.button:disabled{background:#e8e8e8!important;color:#777!important;cursor:not-allowed}
.contact-review h2{font-size:23px;line-height:1.7;margin:0 0 14px;scroll-margin-top:110px}.contact-review h2:focus{outline:none}.contact-review>p:not(.field-hint){font-size:14px;line-height:2;color:#555}.review-values{margin-top:28px;border-top:1px solid var(--line)}.review-values>div{padding:22px 0;border-bottom:1px solid var(--line)}.review-values dt{font-size:13px;color:#666;margin-bottom:8px}.review-values dd{margin:0;font-size:16px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}.review-consent{margin-top:22px}.review-actions{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:24px 0 18px}.contact-edit{font-size:14px;min-height:48px;text-decoration:underline;text-underline-offset:5px}.review-actions .button{font-size:14px;min-height:60px;padding:0 24px}.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}
@media(max-width:1100px){:root{--header-gutter:40px}.contact-shell{column-gap:50px;grid-template-columns:minmax(210px,280px) minmax(0,1fr)}.contact-intro h2{font-size:26px}.form-pair{grid-template-columns:1fr;gap:0}}
@media(max-width:800px){:root{--header-height:72px;--header-gutter:20px}.header{height:var(--header-height)}.nav{top:var(--header-height);height:calc(100dvh - var(--header-height))}.reading-progress{top:var(--header-height)}.page-heading{padding-top:127px}.article-header{padding-top:122px}.menu-toggle{min-height:44px}.contact-heading{padding-bottom:28px}.contact-heading .breadcrumb{margin-top:20px}.contact-section{padding:8px 0 65px}.contact-shell{grid-template-columns:minmax(0,1fr);grid-template-areas:"intro" "form" "aside";gap:28px}.contact-intro .eyebrow{display:none}.contact-intro h2{font-size:25px;margin:0 0 16px}.contact-intro h2 br{display:none}.contact-intro>p:not(.eyebrow){font-size:14px;margin-bottom:10px}.contact-intro>p:last-child{display:none}.contact-steps{gap:27px;margin-bottom:18px}.contact-steps li{font-size:13px;padding-bottom:14px}.preview-notice{font-size:12px;padding:12px 14px;margin-bottom:24px}.preview-notice strong{display:block}.form-field{margin-bottom:24px}.form-field label{font-size:14px}.form-field input,.form-field select,.form-field textarea{padding:13px 14px}.form-pair{grid-template-columns:1fr;gap:0}.message-meta{display:block}.message-count{display:block;text-align:right;margin-top:4px}.contact-next{min-height:65px}.contact-review h2{font-size:22px}.review-actions{flex-direction:column-reverse;align-items:stretch;gap:12px}.review-actions .button{justify-content:center}.contact-edit{text-align:center}.contact-aside{margin-top:0}.contact-phone .tel{font-size:27px}.contact-care{max-width:none}.contact-form-area{scroll-margin-top:0}}
/* GENESIS reference: fixed-size centered arrows, an outgoing/incoming pair on hover. */
.arrow{position:relative;font-size:16px;font-weight:400;line-height:1}
.arrow::before,.arrow::after{content:'';position:absolute;width:18px;height:18px;left:50%;top:50%;margin:-9px 0 0 -9px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12h15m-6-6 6 6-6 6' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;transform:none;animation:none}
.arrow::after{transform:translateX(-28px);opacity:0}
.footer-cta{border-top:1px solid #d6d7d2}
.footer-cta a{background:#fff;position:relative;overflow:hidden;isolation:isolate;padding:62px max(40px,calc((100vw - 1200px)/2));padding-right:55px;transition:color .3s,background .4s}
.footer-cta a:last-child{background:#e4e8e1;border-left:1px solid #d6d7d2;padding-left:65px}
.footer-cta a::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,#172622eb,#172622b3),url('/assets/accessio/home-studio.webp') center/cover;opacity:0;transform:scale(1.035);transition:opacity .45s,transform .7s}
.footer-cta a:last-child::before{background-image:linear-gradient(110deg,#253328ed,#253328b3),url('/assets/accessio/home-learning.webp')}
.footer-cta strong{font-size:clamp(30px,3.3vw,48px);font-weight:500;letter-spacing:-.035em}
.footer-cta .arrow{width:48px;height:48px;background:#171b18;border:0;color:#fff}
.footer-cta a:is(:hover,:focus-visible){color:#fff;background:#172622}
.footer-cta a:is(:hover,:focus-visible)::before{opacity:1;transform:scale(1)}
.footer-cta a:is(:hover,:focus-visible) .arrow{background:#fff;color:#172622}
@media(hover:hover){a:hover .arrow::before{animation:accessio-arrow-out .3s ease forwards}a:hover .arrow::after{animation:accessio-arrow-in .3s ease .16s forwards}}
a:focus-visible .arrow::before{animation:accessio-arrow-out .3s ease forwards}a:focus-visible .arrow::after{animation:accessio-arrow-in .3s ease .16s forwards}
@keyframes accessio-arrow-out{to{transform:translateX(28px);opacity:0}}
@keyframes accessio-arrow-in{to{transform:translateX(0);opacity:1}}
@media(max-width:800px){.footer-cta a,.footer-cta a:last-child{padding:35px 20px;min-height:166px}.footer-cta a:last-child{border-left:0;border-top:1px solid #d6d7d2}.footer-cta .arrow{width:40px;height:40px}.footer-cta strong{font-size:34px}.footer-cta a:active{background:#d6ddd3}.footer-cta a:active::before{opacity:1}.footer-cta a:active{color:#fff}}
@media(prefers-reduced-motion:reduce){.arrow::before,.arrow::after,a:hover .arrow::before,a:hover .arrow::after,a:focus-visible .arrow::before,a:focus-visible .arrow::after{animation:none}.arrow::after{display:none}.footer-cta a::before{transition:none}}

/* Apply the centered paired arrows to links as well as the footer banners. */
.link:hover .arrow::before,.tile:hover .arrow::before,.link:focus-visible .arrow::before{animation:accessio-arrow-out .3s both}
.link:hover .arrow::after,.tile:hover .arrow::after,.link:focus-visible .arrow::after{animation:accessio-arrow-in .3s .16s both}
@media(prefers-reduced-motion:reduce){.link:hover .arrow::before,.tile:hover .arrow::before,.link:hover .arrow::after,.tile:hover .arrow::after{animation:none}}
