/* Yamato public site: a small, purpose-built utility layer inspired by the Tailwind design system. */
:root{--red:#d71e2b;--red-dark:#a80f1c;--ink:#211c1b;--muted:#6f6862;--line:#e5dfd7;--paper:#fffdfa;--soft:#f5f1eb;--gold:#f0c34f;--green:#23794c;--radius:14px;--shadow:0 22px 60px rgba(44,31,26,.09)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:"DM Sans",system-ui,sans-serif;margin:0;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}.container{margin-inline:auto;max-width:1240px;padding-inline:28px}.skip-link{background:#fff;left:12px;padding:10px;position:fixed;top:-100px;z-index:200}.skip-link:focus{top:12px}.site-header{background:rgba(255,253,250,.94);border-bottom:1px solid rgba(229,223,215,.8);height:76px;position:sticky;top:0;z-index:100;backdrop-filter:blur(14px)}.nav-shell{align-items:center;display:flex;height:100%;justify-content:space-between}.public-brand{align-items:center;display:flex;gap:11px}.public-brand__mark{align-items:center;background:var(--red);border-radius:50%;color:white;display:flex;font-family:"Noto Serif JP";font-size:18px;font-weight:700;height:42px;justify-content:center;width:42px}.public-brand strong,.public-brand small{display:block}.public-brand strong{font-family:"Syne";font-size:14px;letter-spacing:-.02em}.public-brand small{color:#958e87;font-size:8px;letter-spacing:.1em;margin-top:2px;text-transform:uppercase}.desktop-nav{align-items:center;display:flex;gap:27px}.desktop-nav a{color:#68615b;font-size:11px;font-weight:600;padding:29px 0;position:relative}.desktop-nav a:after{background:var(--red);bottom:20px;content:"";height:2px;left:50%;position:absolute;transition:.2s;width:0}.desktop-nav a:hover,.desktop-nav a.is-active{color:var(--ink)}.desktop-nav a.is-active:after{left:0;width:100%}.nav-actions{align-items:center;display:flex;gap:15px}.text-link{color:#706862;font-size:10px;font-weight:700}.button{align-items:center;border:1px solid var(--line);border-radius:9px;display:inline-flex;font-size:11px;font-weight:700;gap:12px;justify-content:center;min-height:42px;padding:10px 16px;transition:.2s}.button:hover{transform:translateY(-2px)}.button--primary{background:var(--red);border-color:var(--red);box-shadow:0 9px 25px rgba(215,30,43,.18);color:white}.button--primary:hover{background:var(--red-dark);border-color:var(--red-dark)}.button--ghost{background:transparent}.button--light{background:white;border-color:white;color:var(--ink)}.button--large{min-height:50px;padding:12px 21px}.button--full{width:100%}.menu-toggle{background:transparent;border:0;display:none;height:40px;width:40px}.menu-toggle span{background:var(--ink);display:block;height:1.5px;margin:6px auto;transition:.2s;width:20px}.mobile-nav{background:var(--paper);display:none;inset:76px 0 0;overflow:auto;padding:22px 28px;position:fixed}.mobile-nav a{align-items:center;border-bottom:1px solid var(--line);display:flex;font-family:"Syne";font-size:20px;font-weight:700;justify-content:space-between;padding:17px 0}.mobile-nav a.is-active{color:var(--red)}.mobile-nav.is-open{display:block}.kicker{color:var(--red);display:block;font-size:9px;font-weight:800;letter-spacing:.17em;margin-bottom:16px;text-transform:uppercase}.kicker i{background:var(--red);display:inline-block;height:1px;margin-right:9px;vertical-align:middle;width:28px}.kicker--gold{color:var(--gold)}.hero{min-height:calc(100vh - 76px);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.06fr .94fr;min-height:calc(100vh - 76px);padding-right:0}.hero-copy{align-self:center;padding:80px 70px 80px 0}.hero-copy h1{font-family:"Syne";font-size:clamp(48px,5.6vw,78px);font-weight:800;letter-spacing:-.062em;line-height:.96;margin:0 0 17px}.hero-copy h1 em{color:var(--red);font-style:normal}.jp-display{color:#958c85;font-family:"Noto Serif JP";font-size:19px;letter-spacing:.1em;margin-bottom:27px}.hero-lead{color:var(--muted);font-size:14px;line-height:1.8;max-width:580px}.hero-actions{display:flex;gap:11px;margin-top:33px}.hero-trust{border-top:1px solid var(--line);display:flex;gap:33px;margin-top:48px;padding-top:25px}.hero-trust span{color:#918981;font-size:8px;line-height:1.4;max-width:90px}.hero-trust strong{color:var(--ink);display:block;font-family:"Syne";font-size:21px;letter-spacing:-.04em}.hero-visual{align-items:center;background:var(--ink);display:flex;justify-content:center;min-height:100%;overflow:hidden;position:relative}.hero-visual:after{background-image:radial-gradient(rgba(255,255,255,.11) 1px,transparent 1px);background-size:24px 24px;content:"";inset:0;opacity:.22;position:absolute}.sun-disc{background:var(--red);border-radius:50%;height:min(34vw,490px);position:absolute;width:min(34vw,490px);z-index:1}.hero-kanji{color:white;font-family:"Noto Serif JP";font-size:clamp(60px,7vw,105px);font-weight:700;position:relative;z-index:2}.path-card{align-items:center;background:rgba(255,255,255,.94);border-radius:10px;display:grid;gap:1px 10px;grid-template-columns:26px auto;padding:11px 14px;position:absolute;width:190px;z-index:3}.path-card span{color:var(--red);font-family:"Syne";font-size:10px;font-weight:800;grid-row:1/3}.path-card strong{font-family:"Syne";font-size:10px}.path-card small{color:#8c847e;font-size:7px}.path-card--top{right:8%;top:21%}.path-card--middle{left:5%;top:49%}.path-card--bottom{bottom:18%;right:10%}.hero-stamp{align-items:center;border:1px solid rgba(255,255,255,.25);border-radius:50%;bottom:6%;color:white;display:flex;flex-direction:column;height:92px;justify-content:center;left:8%;position:absolute;width:92px;z-index:3}.hero-stamp span,.hero-stamp small{color:rgba(255,255,255,.45);font-size:7px;text-transform:uppercase}.hero-stamp strong{font-family:"Syne";font-size:17px}.proof-strip{background:var(--red);color:white}.proof-grid{display:grid;grid-template-columns:repeat(4,1fr);padding-block:38px}.proof-grid div{border-right:1px solid rgba(255,255,255,.18);padding-left:30px}.proof-grid div:first-child{padding-left:0}.proof-grid div:last-child{border-right:0}.proof-grid strong,.proof-grid span{display:block}.proof-grid strong{font-family:"Syne";font-size:31px;letter-spacing:-.04em}.proof-grid span{color:rgba(255,255,255,.62);font-size:9px;margin-top:4px}.section{padding:100px 0}.section--paper{background:#fff}.section--soft{background:var(--soft)}.section--dark{background:var(--ink);color:white}.section-head{align-items:flex-end;display:flex;gap:50px;justify-content:space-between;margin-bottom:50px}.section-head h2{font-family:"Syne";font-size:clamp(34px,4vw,52px);letter-spacing:-.055em;line-height:1.02;margin:0}.section-head>p{color:var(--muted);font-size:12px;line-height:1.7;max-width:400px}.section-head--light>p{color:rgba(255,255,255,.5)}.program-grid{display:grid;gap:14px;grid-template-columns:repeat(4,1fr)}.program-card{border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-direction:column;min-height:390px;padding:23px;transition:.22s}.program-card:hover{box-shadow:var(--shadow);transform:translateY(-4px)}.program-card__top{align-items:center;display:flex;justify-content:space-between;margin-bottom:36px}.program-number{color:#c7bfb8;font-family:"Syne";font-size:10px;font-weight:800}.level-tag{background:#f7e5e7;border-radius:20px;color:var(--red);display:inline-block;font-size:8px;font-weight:800;letter-spacing:.06em;padding:6px 9px;text-transform:uppercase}.program-card h3{font-family:"Syne";font-size:18px;letter-spacing:-.035em;margin:0 0 5px}.jp-label{color:#938b84;font-family:"Noto Serif JP";font-size:10px}.program-card>p:not(.jp-label){color:var(--muted);font-size:10px;line-height:1.65}.program-card dl{border-top:1px solid var(--line);display:grid;gap:10px;grid-template-columns:1fr 1fr;margin:auto 0 18px;padding-top:16px}.program-card dt{color:#99918a;font-size:7px;text-transform:uppercase}.program-card dd{font-size:9px;font-weight:700;margin:4px 0 0}.program-card>a{align-items:center;color:var(--red);display:flex;font-size:10px;font-weight:700;justify-content:space-between}.center-action{text-align:center;margin-top:28px}.bridge-section{background:var(--ink);color:white}.bridge-grid{align-items:center;display:grid;gap:90px;grid-template-columns:.9fr 1.1fr}.bridge-art{align-items:center;background:var(--red);display:grid;height:550px;justify-items:center;overflow:hidden;position:relative}.bridge-art:after{border:70px solid rgba(255,255,255,.09);border-radius:50%;content:"";height:380px;position:absolute;width:380px}.bridge-word{font-family:"Noto Serif JP";font-size:70px;position:relative;writing-mode:vertical-rl;z-index:2}.bridge-line{background:white;height:1px;position:absolute;top:50%;width:70%;z-index:2}.bridge-art small{bottom:32px;font-size:8px;letter-spacing:.14em;position:absolute;text-transform:uppercase}.bridge-art small:nth-of-type(1){left:32px}.bridge-art small:nth-of-type(2){right:32px}.bridge-copy h2{font-family:"Syne";font-size:clamp(37px,4.2vw,56px);letter-spacing:-.055em;line-height:1.02}.bridge-copy>p{color:rgba(255,255,255,.55);font-size:12px;line-height:1.75;max-width:520px}.feature-list{display:grid;gap:20px;list-style:none;margin:34px 0;padding:0}.feature-list li{align-items:flex-start;display:flex;gap:14px}.feature-list li>span{align-items:center;background:rgba(255,255,255,.08);border-radius:8px;color:var(--gold);display:flex;font-family:"Noto Serif JP";height:39px;justify-content:center;width:39px}.feature-list strong{font-size:11px}.feature-list p{color:rgba(255,255,255,.43);font-size:9px;line-height:1.5;margin:4px 0}.text-arrow{color:var(--red);font-size:10px;font-weight:800}.bridge-copy .text-arrow{color:var(--gold)}.partner-grid{display:grid;gap:14px;grid-template-columns:repeat(4,1fr)}.partner-card{border:1px solid var(--line);border-radius:var(--radius);min-height:270px;padding:22px;position:relative}.partner-type{color:var(--red);font-size:7px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.partner-monogram{align-items:center;background:var(--soft);border-radius:50%;display:flex;font-family:"Noto Serif JP";font-size:23px;height:58px;justify-content:center;margin:28px 0 23px;width:58px}.partner-card h3{font-family:"Syne";font-size:14px;margin:0 0 4px}.partner-card small{color:#8f8780;font-size:8px}.story-grid{display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}.story-card{background:white;border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-direction:column;min-height:320px;padding:26px}.stars{color:#e4ab1a;font-size:9px;letter-spacing:2px}.story-card blockquote{font-family:"Noto Serif JP";font-size:14px;line-height:1.75;margin:22px 0 auto}.story-card>div:last-child{align-items:center;border-top:1px solid var(--line);display:flex;gap:10px;padding-top:18px}.story-avatar{align-items:center;background:var(--red);border-radius:50%;color:white;display:flex;font-size:10px;font-weight:800;height:36px;justify-content:center;width:36px}.story-card p{margin:0}.story-card strong,.story-card small{display:block}.story-card strong{font-size:10px}.story-card small{color:#918982;font-size:8px;margin-top:3px}.site-footer{background:#191515;color:white;padding-top:66px}.footer-cta{align-items:center;border-bottom:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;padding-bottom:58px}.footer-cta h2{font-family:"Syne";font-size:39px;letter-spacing:-.05em;margin:0}.footer-grid{display:grid;gap:45px;grid-template-columns:1.7fr repeat(3,1fr);padding-block:55px}.public-brand--light small{color:rgba(255,255,255,.35)}.footer-about p{color:rgba(255,255,255,.4);font-size:10px;line-height:1.7;margin-top:20px;max-width:310px}.footer-grid h3{font-size:9px;letter-spacing:.12em;margin-bottom:19px;text-transform:uppercase}.footer-grid>div:not(:first-child) a,.footer-grid>div:not(:first-child) p{color:rgba(255,255,255,.44);display:block;font-size:9px;margin:0 0 11px}.footer-grid a:hover{color:white!important}.footer-bottom{border-top:1px solid rgba(255,255,255,.09);color:rgba(255,255,255,.3);display:flex;font-size:8px;justify-content:space-between;padding-block:20px}.page-hero{background:var(--soft);overflow:hidden}.page-hero__grid{align-items:center;display:grid;grid-template-columns:1.3fr .7fr;min-height:500px}.page-hero h1{font-family:"Syne";font-size:clamp(48px,6vw,78px);letter-spacing:-.06em;line-height:.96;margin:0 0 24px}.page-hero p{color:var(--muted);font-size:13px;line-height:1.75;max-width:550px}.page-hero__kanji{align-items:center;background:var(--red);border-radius:50%;color:white;display:flex;flex-direction:column;font-family:"Noto Serif JP";font-size:80px;height:310px;justify-content:center;margin-left:auto;width:310px}.page-hero__kanji small{font-family:"DM Sans";font-size:8px;letter-spacing:.15em;margin-top:10px;text-transform:uppercase}.editorial-grid{display:grid;gap:100px;grid-template-columns:200px 1fr}.editorial-grid aside{border-right:1px solid var(--line);display:flex;justify-content:space-between;padding-right:30px}.vertical-label{font-family:"Noto Serif JP";font-size:11px;writing-mode:vertical-rl}.editorial-grid aside strong{color:#aaa29a;font-family:"Syne";font-size:10px;writing-mode:vertical-rl}.editorial-grid article{max-width:800px}.editorial-grid h2,.ceo-grid h2{font-family:"Syne";font-size:clamp(36px,4vw,53px);letter-spacing:-.055em;line-height:1.03}.editorial-grid p{color:var(--muted);font-size:12px;line-height:1.85}.lead-paragraph{color:var(--ink)!important;font-family:"Noto Serif JP";font-size:18px!important}.value-grid{display:grid;gap:1px;grid-template-columns:repeat(3,1fr)}.value-grid article{border-left:1px solid rgba(255,255,255,.12);padding:15px 35px 15px 25px}.value-grid span{color:var(--gold);font-family:"Syne";font-size:10px}.value-grid h3{font-family:"Syne";font-size:17px;margin:27px 0 10px}.value-grid p{color:rgba(255,255,255,.45);font-size:10px;line-height:1.65}.ceo-grid{align-items:center;display:grid;gap:80px;grid-template-columns:330px 1fr}.ceo-mark{align-items:center;background:var(--red);color:white;display:flex;flex-direction:column;height:390px;justify-content:center}.ceo-mark span{font-family:"Noto Serif JP";font-size:100px}.ceo-mark small{font-size:8px;letter-spacing:.15em}.ceo-grid>div:last-child>p{color:var(--muted);font-size:12px;line-height:1.8;max-width:690px}.signature{color:var(--ink)!important;font-family:"Noto Serif JP";margin-top:25px}.signature small{color:var(--muted);display:block;font-family:"DM Sans";font-size:8px;margin-top:5px}.page-hero--programs{background:#efe9e2}.level-orbit{align-items:center;border:1px solid #d2cac2;border-radius:50%;display:flex;height:320px;justify-content:center;margin-left:auto;position:relative;width:320px}.level-orbit strong{font-family:"Noto Serif JP";font-size:35px}.level-orbit span{align-items:center;background:var(--red);border-radius:50%;color:white;display:flex;font-family:"Syne";font-size:10px;font-weight:800;height:42px;justify-content:center;position:absolute;width:42px}.level-orbit span:nth-child(1){top:-10px}.level-orbit span:nth-child(2){right:-10px}.level-orbit span:nth-child(3){bottom:-10px}.level-orbit span:nth-child(4){left:-10px}.filter-row{display:flex;gap:7px;margin-bottom:30px}.filter-row button{background:white;border:1px solid var(--line);border-radius:30px;color:var(--muted);font-size:9px;font-weight:700;padding:9px 14px}.filter-row button.is-active{background:var(--ink);border-color:var(--ink);color:white}.program-list{border-top:1px solid var(--ink)}.program-row{align-items:center;border-bottom:1px solid var(--line);display:grid;gap:28px;grid-template-columns:50px 1.3fr 1fr 50px;padding:35px 10px}.program-row[hidden]{display:none}.program-row__number{color:#a59d96;font-family:"Syne";font-size:10px}.program-row h2{font-family:"Syne";font-size:23px;letter-spacing:-.04em;margin:9px 0 4px}.program-row>div:nth-child(2)>p:not(.jp-label){color:var(--muted);font-size:10px;line-height:1.6;max-width:540px}.program-row dl{display:grid;grid-template-columns:repeat(3,1fr)}.program-row dt{color:#99918a;font-size:7px;text-transform:uppercase}.program-row dd{font-size:9px;font-weight:700;margin:4px 0}.circle-link{align-items:center;border:1px solid var(--line);border-radius:50%;display:flex;height:42px;justify-content:center;transition:.2s;width:42px}.circle-link:hover{background:var(--red);border-color:var(--red);color:white}.process{display:grid;gap:90px;grid-template-columns:.8fr 1.2fr}.process h2{font-family:"Syne";font-size:43px;letter-spacing:-.05em}.process ol{display:grid;gap:0;list-style:none;margin:0;padding:0}.process li{align-items:flex-start;border-bottom:1px solid var(--line);display:flex;gap:20px;padding:20px 0}.process li>span{color:var(--red);font-family:"Syne";font-size:10px;font-weight:800}.process strong{font-size:12px}.process p{color:var(--muted);font-size:9px;margin:4px 0}.program-hero{background:var(--red);color:white;padding:45px 0 80px}.back-link{color:rgba(255,255,255,.6);font-size:9px}.program-hero__grid{align-items:end;display:grid;gap:80px;grid-template-columns:1.2fr .8fr;margin-top:55px}.level-tag--light{background:rgba(255,255,255,.15);color:white}.program-hero h1{font-family:"Syne";font-size:clamp(48px,6vw,78px);letter-spacing:-.06em;line-height:.96;margin:16px 0 13px}.program-hero .jp-display{color:rgba(255,255,255,.7)}.program-hero__grid>div>p:last-of-type{color:rgba(255,255,255,.68);font-size:12px;line-height:1.7;max-width:600px}.program-hero dl{display:grid;grid-template-columns:1fr 1fr}.program-hero dl div{border-left:1px solid rgba(255,255,255,.25);border-top:1px solid rgba(255,255,255,.25);padding:18px}.program-hero dt{color:rgba(255,255,255,.48);font-size:7px;text-transform:uppercase}.program-hero dd{font-family:"Syne";font-size:15px;margin:6px 0 0}.detail-grid{align-items:start;display:grid;gap:80px;grid-template-columns:1fr 340px}.detail-grid h2{font-family:"Syne";font-size:43px;letter-spacing:-.05em}.outcome-grid{display:grid;gap:25px;grid-template-columns:1fr 1fr;margin-top:40px}.outcome-grid>div{border-top:1px solid var(--line);padding-top:17px}.outcome-grid span{color:var(--red);font-family:"Noto Serif JP";font-size:19px}.outcome-grid strong{display:block;font-size:11px;margin:12px 0 5px}.outcome-grid p{color:var(--muted);font-size:9px;line-height:1.6}.intake-card{background:var(--soft);border-radius:var(--radius);padding:24px}.intake-card>div{border-top:1px solid var(--line);padding:15px 0}.intake-card strong,.intake-card span,.intake-card small{display:block}.intake-card strong{font-size:11px}.intake-card span{color:var(--muted);font-size:9px;margin:4px 0}.intake-card small{color:#9b938c;font-size:8px}.intake-card .button{margin-top:17px;width:100%}.map-art{align-items:center;background:var(--ink);color:white;display:flex;flex-direction:column;height:330px;justify-content:center;margin-left:auto;position:relative;width:380px}.map-art span{font-size:8px;letter-spacing:.15em}.map-art i{background:var(--red);height:2px;margin:23px;width:180px}.map-art strong{font-family:"Noto Serif JP";font-size:53px}.map-art small{color:rgba(255,255,255,.4);font-size:8px;margin-top:12px}.partner-directory{border-top:1px solid var(--ink)}.partner-directory article{align-items:center;border-bottom:1px solid var(--line);display:grid;gap:24px;grid-template-columns:40px 70px 1fr 180px;padding:28px 8px}.partner-directory__index{color:#aaa19a;font-family:"Syne";font-size:9px}.partner-directory .partner-monogram{margin:0}.partner-directory h2{font-family:"Syne";font-size:20px;margin:7px 0 3px}.partner-directory div:nth-child(3)>p:last-child{color:var(--muted);font-size:9px;line-height:1.55;max-width:560px}.partner-location span,.partner-location strong,.partner-location a{display:block}.partner-location span{color:#9a928b;font-size:7px;text-transform:uppercase}.partner-location strong{font-size:10px;margin:6px 0}.partner-location a{color:var(--red);font-size:8px;font-weight:700}.partnership-callout{align-items:center;display:flex;justify-content:space-between}.partnership-callout h2{font-family:"Syne";font-size:42px;letter-spacing:-.05em;margin-bottom:12px}.partnership-callout p{color:rgba(255,255,255,.5);font-size:10px;max-width:600px}.quote-art{color:var(--red);font-family:"Noto Serif JP";font-size:260px;line-height:.6;margin-left:auto}.quote-art small{color:var(--ink);display:block;font-family:"DM Sans";font-size:8px;letter-spacing:.12em;text-align:center}.story-wall{display:grid;gap:70px}.story-feature{align-items:center;display:grid;gap:80px;grid-template-columns:390px 1fr}.story-feature--reverse{grid-template-columns:1fr 390px}.story-feature--reverse .story-feature__portrait{grid-column:2;grid-row:1}.story-feature__portrait{align-items:center;background:var(--red);color:white;display:flex;flex-direction:column;height:390px;justify-content:center}.story-feature__portrait>span{font-family:"Syne";font-size:100px;font-weight:800}.story-feature__portrait small{font-size:8px;letter-spacing:.13em;text-transform:uppercase}.story-feature blockquote{font-family:"Noto Serif JP";font-size:clamp(22px,2.8vw,36px);line-height:1.55;margin:22px 0 30px}.story-name strong,.story-name span,.story-name small{display:block}.story-name strong{font-family:"Syne";font-size:13px}.story-name span{color:var(--red);font-size:9px;margin:5px 0}.story-name small{color:var(--muted);font-size:8px}.center-copy{text-align:center}.center-copy h2{font-family:"Syne";font-size:44px;letter-spacing:-.05em;margin-bottom:13px}.center-copy p{color:var(--muted);font-size:11px;line-height:1.7;margin:0 auto 27px;max-width:590px}.contact-section{background:var(--ink);min-height:calc(100vh - 76px);padding:75px 0}.contact-grid{display:grid;gap:90px;grid-template-columns:1fr 520px}.contact-copy{color:white;padding-top:30px}.contact-copy h1{font-family:"Syne";font-size:clamp(48px,6vw,76px);letter-spacing:-.06em;line-height:.96}.contact-copy>p{color:rgba(255,255,255,.5);font-size:12px;line-height:1.75;max-width:520px}.contact-details{display:grid;gap:15px;margin:37px 0}.contact-details>div{align-items:center;border-top:1px solid rgba(255,255,255,.1);display:flex;gap:18px;padding-top:13px}.contact-details>div>span{color:var(--gold);font-family:"Syne";font-size:9px}.contact-details p{margin:0}.contact-details strong,.contact-details small{display:block}.contact-details strong{font-size:10px}.contact-details small{color:rgba(255,255,255,.35);font-size:8px;margin-top:3px}.direct-contact{display:flex;gap:35px}.direct-contact p{margin:0}.direct-contact small,.direct-contact a,.direct-contact strong{display:block}.direct-contact small{color:rgba(255,255,255,.35);font-size:7px;margin-bottom:5px;text-transform:uppercase}.direct-contact a,.direct-contact strong{font-size:9px}.contact-card{background:var(--paper);border-radius:var(--radius);padding:32px}.contact-card h2{font-family:"Syne";font-size:25px;letter-spacing:-.04em;margin-bottom:6px}.form-intro{color:var(--muted);font-size:9px}.public-form{display:grid;gap:14px;margin-top:25px}.public-form label{display:grid;gap:6px}.public-form label>span{font-size:8px;font-weight:800}.public-form input,.public-form select,.public-form textarea{background:white;border:1px solid #dcd5ce;border-radius:8px;min-height:43px;outline:0;padding:10px 12px;width:100%}.public-form textarea{resize:vertical}.public-form input:focus,.public-form select:focus,.public-form textarea:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(215,30,43,.09)}.form-pair{display:grid;gap:12px;grid-template-columns:1fr 1fr}.privacy-note{color:#99918a;font-size:7px;text-align:center}.form-errors{background:#fff0f1;border:1px solid #f1c5c9;border-radius:8px;color:#991622;padding:10px 12px}.form-errors p{font-size:9px;margin:3px 0}.success-message{align-items:center;display:flex;flex-direction:column;min-height:480px;justify-content:center;text-align:center}.success-message>span{align-items:center;background:#e1f4e7;border-radius:50%;color:var(--green);display:flex;font-size:24px;height:62px;justify-content:center;margin-bottom:20px;width:62px}.success-message p{color:var(--muted);font-size:10px}.success-message .button{margin-top:20px}.empty-public{text-align:center}.empty-public>span{color:var(--red);font-family:"Syne";font-size:12px}.empty-public h1{font-family:"Syne";font-size:50px}.reveal{animation:rise .7s ease both}.reveal--delay{animation-delay:.12s}@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@media(max-width:1020px){.desktop-nav{display:none}.menu-toggle{display:block}.nav-actions .button{display:none}.hero-grid{grid-template-columns:1fr}.hero-copy{padding:80px 0}.hero-visual{min-height:600px}.sun-disc{height:390px;width:390px}.program-grid,.partner-grid{grid-template-columns:1fr 1fr}.bridge-grid{gap:50px}.story-grid{grid-template-columns:1fr}.page-hero__grid{grid-template-columns:1fr 320px}.contact-grid{gap:45px;grid-template-columns:1fr 460px}.footer-grid{grid-template-columns:1.4fr 1fr 1fr}.footer-grid>div:last-child{grid-column:2}.program-row{grid-template-columns:40px 1fr 1fr 44px}.story-feature{gap:45px;grid-template-columns:310px 1fr}.story-feature--reverse{grid-template-columns:1fr 310px}.story-feature__portrait{height:330px}.detail-grid{gap:45px}.workday-card{grid-template-columns:1fr}}
@media(max-width:760px){.container{padding-inline:18px}.site-header{height:68px}.mobile-nav{inset:68px 0 0}.hide-tablet{display:none}.hero-grid{padding-right:18px}.hero-copy{padding:65px 0 50px}.hero-copy h1{font-size:49px}.hero-actions{align-items:stretch;flex-direction:column}.hero-actions .button{width:100%}.hero-trust{gap:18px}.hero-visual{min-height:480px}.sun-disc{height:300px;width:300px}.path-card{width:165px}.proof-grid{grid-template-columns:1fr 1fr;padding-block:16px}.proof-grid div{border-bottom:1px solid rgba(255,255,255,.16);border-right:0;padding:18px}.proof-grid div:first-child{padding-left:18px}.section{padding:72px 0}.section-head{align-items:flex-start;flex-direction:column;gap:18px;margin-bottom:34px}.section-head h2{font-size:36px}.program-grid,.partner-grid{grid-template-columns:1fr}.program-card{min-height:350px}.bridge-grid{grid-template-columns:1fr}.bridge-art{height:440px}.story-grid{grid-template-columns:1fr}.footer-cta{align-items:flex-start;flex-direction:column;gap:25px}.footer-cta h2{font-size:31px}.footer-grid{grid-template-columns:1fr 1fr}.footer-about{grid-column:1/-1}.footer-grid>div:last-child{grid-column:auto}.page-hero__grid{gap:40px;grid-template-columns:1fr;min-height:0;padding-block:65px}.page-hero h1{font-size:49px}.page-hero__kanji,.level-orbit{height:230px;margin:auto;width:230px}.editorial-grid{gap:35px;grid-template-columns:1fr}.editorial-grid aside{border-bottom:1px solid var(--line);border-right:0;padding:0 0 20px}.vertical-label,.editorial-grid aside strong{writing-mode:initial}.value-grid{grid-template-columns:1fr}.value-grid article{border-bottom:1px solid rgba(255,255,255,.1);border-left:0;padding:22px 0}.ceo-grid{gap:35px;grid-template-columns:1fr}.ceo-mark{height:300px}.program-row{align-items:start;gap:12px;grid-template-columns:30px 1fr 40px;padding:26px 0}.program-row dl{grid-column:2;grid-row:2}.program-row .circle-link{grid-column:3;grid-row:1}.process{gap:35px;grid-template-columns:1fr}.program-hero__grid{gap:40px;grid-template-columns:1fr}.program-hero dl{margin-top:10px}.detail-grid{grid-template-columns:1fr}.outcome-grid{grid-template-columns:1fr}.map-art{height:260px;margin:auto;width:100%}.partner-directory article{align-items:start;grid-template-columns:28px 55px 1fr}.partner-directory .partner-location{grid-column:3}.partnership-callout{align-items:flex-start;flex-direction:column;gap:25px}.quote-art{font-size:190px;margin:auto}.story-feature,.story-feature--reverse{gap:30px;grid-template-columns:1fr}.story-feature--reverse .story-feature__portrait{grid-column:1;grid-row:auto}.story-feature__portrait{height:290px}.contact-section{padding:45px 0}.contact-grid{grid-template-columns:1fr}.contact-copy{padding-top:0}.contact-card{padding:24px}.form-pair{grid-template-columns:1fr}}
@media(max-width:430px){.public-brand small{display:none}.hero-copy h1,.page-hero h1{font-size:42px}.hero-trust{display:grid;grid-template-columns:repeat(3,1fr)}.hero-visual{min-height:420px}.sun-disc{height:250px;width:250px}.path-card--middle{left:2%}.proof-grid strong{font-size:25px}.footer-grid{grid-template-columns:1fr}.footer-about,.footer-grid>div:last-child{grid-column:auto}.footer-bottom{flex-direction:column;gap:6px}.program-row dl{gap:8px;grid-template-columns:1fr}.direct-contact{flex-direction:column;gap:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{animation:none}.button,.program-card{transition:none}}

/* Official Yamato Academy crest */
.public-brand__mark{background:transparent;border-radius:0;display:block;flex:0 0 auto;height:46px;filter:drop-shadow(0 4px 7px rgba(35,24,20,.14));transition:transform .25s ease;width:46px}
.public-brand__mark img{height:100%;object-fit:contain;width:100%}
.public-brand:hover .public-brand__mark{transform:translateY(-1px) rotate(-1deg)}
@media(prefers-reduced-motion:reduce){.public-brand__mark{transition:none}.public-brand:hover .public-brand__mark{transform:none}}

/* ═══════════════════════════════════════════════════
   PREMIUM UPGRADE — CSS Enhancements
   Added: Typography, Glassmorphism, Animations,
   Hover effects, Mobile improvements
   ═══════════════════════════════════════════════════ */

/* ─── Enhanced Typography & Font Features ─── */
body {
    font-size: 16px;
    font-feature-settings: "liga" 1, "calt" 1;
    text-rendering: optimizeLegibility;
}

h1, h2, h3 {
    letter-spacing: -0.02em;
    font-feature-settings: "liga" 1, "kern" 1;
}

/* ─── Premium Glassmorphism Header ─── */
.site-header {
    background: rgba(255, 253, 250, 0.82);
    backdrop-filter: blur(20px) saturate(1.6);
    -webkit-backdrop-filter: blur(20px) saturate(1.6);
    border-bottom: 1px solid rgba(229, 223, 215, 0.5);
    transition: height 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;
}

.site-header.is-scrolled {
    height: 64px;
    background: rgba(255, 253, 250, 0.95);
    box-shadow:
        0 1px 3px rgba(44, 31, 26, 0.04),
        0 8px 24px rgba(44, 31, 26, 0.06);
}

/* ─── Nav Link Underline Animation (grow from center) ─── */
.desktop-nav a:after {
    transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1), left 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.desktop-nav a:hover:after {
    left: 0;
    width: 100%;
}

/* ─── Subtle Text Gradient on Key Headings ─── */
.hero-copy h1,
.section-head:not(.section-head--light) h2,
.page-hero h1 {
    background: linear-gradient(135deg, var(--ink) 0%, #3d3330 50%, var(--ink) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.hero-copy h1 em {
    background: linear-gradient(135deg, var(--red) 0%, #e8424e 60%, var(--red-dark) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* ─── Sun-Disc Shimmer / Glow Animation ─── */
@keyframes sun-pulse {
    0%, 100% {
        box-shadow:
            0 0 60px rgba(215, 30, 43, 0.25),
            0 0 120px rgba(215, 30, 43, 0.1);
    }
    50% {
        box-shadow:
            0 0 80px rgba(215, 30, 43, 0.35),
            0 0 160px rgba(215, 30, 43, 0.15);
    }
}

.sun-disc {
    animation: sun-pulse 4s ease-in-out infinite;
}

/* ─── Hero Visual Gradient Overlay ─── */
.hero-visual::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(33, 28, 27, 0) 0%,
        rgba(33, 28, 27, 0.15) 100%
    );
    z-index: 0;
    pointer-events: none;
}

/* ─── Floating Animation for Path Cards ─── */
@keyframes float-gentle {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
}

.path-card--top { animation: float-gentle 5s ease-in-out infinite; }
.path-card--middle { animation: float-gentle 5s ease-in-out 1s infinite; }
.path-card--bottom { animation: float-gentle 5s ease-in-out 2s infinite; }

/* ─── Premium Card Hover Effects ─── */
.program-card {
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1),
                box-shadow 0.35s cubic-bezier(0.4, 0, 0.2, 1),
                border-color 0.35s ease;
    box-shadow: 0 1px 3px rgba(44, 31, 26, 0.04);
    position: relative;
}

.program-card:hover {
    transform: translateY(-6px) scale(1.01);
    box-shadow:
        0 12px 28px rgba(44, 31, 26, 0.08),
        0 32px 60px rgba(44, 31, 26, 0.06);
    border-color: rgba(215, 30, 43, 0.2);
}

.partner-card {
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1),
                box-shadow 0.3s ease,
                border-color 0.3s ease;
    box-shadow: 0 1px 3px rgba(44, 31, 26, 0.04);
}

.partner-card:hover {
    transform: translateY(-4px) scale(1.01);
    box-shadow:
        0 10px 24px rgba(44, 31, 26, 0.07),
        0 24px 48px rgba(44, 31, 26, 0.05);
    border-color: rgba(215, 30, 43, 0.15);
}

.story-card {
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1),
                box-shadow 0.3s ease;
    box-shadow: 0 1px 3px rgba(44, 31, 26, 0.04);
}

.story-card:hover {
    transform: translateY(-4px);
    box-shadow:
        0 10px 24px rgba(44, 31, 26, 0.07),
        0 24px 48px rgba(44, 31, 26, 0.05);
}

/* Subtle inner glow on white cards */
.program-card,
.partner-card,
.story-card,
.contact-card {
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.8),
        0 1px 3px rgba(44, 31, 26, 0.04);
}

/* ─── Button Enhancements ─── */
.button:active {
    transform: translateY(0) scale(0.97);
}

.button--primary {
    transition: transform 0.2s ease,
                background 0.2s ease,
                box-shadow 0.3s ease;
}

.button--primary:hover {
    box-shadow:
        0 9px 25px rgba(215, 30, 43, 0.22),
        0 0 40px rgba(215, 30, 43, 0.08);
}

.button.is-loading {
    opacity: 0.82;
    pointer-events: none;
}

.button.is-loading::before {
    animation: button-spin 0.6s linear infinite;
    border: 2px solid currentColor;
    border-radius: 50%;
    border-top-color: transparent;
    content: '';
    display: inline-block;
    flex: none;
    height: 14px;
    margin-right: 9px;
    vertical-align: -2px;
    width: 14px;
}

@keyframes button-spin {
    to { transform: rotate(360deg); }
}

/* ─── Back to Top ─── */
.to-top {
    align-items: center;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 50%;
    bottom: 20px;
    box-shadow: 0 8px 24px rgba(44, 31, 26, 0.14);
    color: var(--red);
    cursor: pointer;
    display: flex;
    font-size: 18px;
    height: 46px;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    right: 20px;
    transform: translateY(14px);
    transition: opacity 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
    width: 46px;
    z-index: 90;
}

.to-top.is-visible {
    opacity: 1;
    pointer-events: auto;
    transform: none;
}

.to-top:hover {
    box-shadow: 0 12px 30px rgba(215, 30, 43, 0.22);
    transform: translateY(-2px);
}

/* ─── JS-driven Reveal System ─── */
.js-reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.7s cubic-bezier(0.4, 0, 0.2, 1),
                transform 0.7s cubic-bezier(0.4, 0, 0.2, 1);
}

.js-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* ─── Warm Multi-layered Shadows ─── */
.bridge-art {
    box-shadow:
        0 20px 40px rgba(33, 28, 27, 0.3),
        0 40px 80px rgba(33, 28, 27, 0.15);
}

.page-hero__kanji {
    box-shadow:
        0 16px 32px rgba(215, 30, 43, 0.2),
        0 32px 64px rgba(215, 30, 43, 0.1);
}

.level-orbit {
    box-shadow: 0 0 0 1px rgba(210, 202, 194, 0.3);
}

/* ─── Improved Mobile Nav Animation (slide from right) ─── */
@media (max-width: 1020px) {
    .mobile-nav {
        display: block;
        transform: translateX(100%);
        transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1),
                    opacity 0.3s ease;
        opacity: 0;
        background: rgba(255, 253, 250, 0.98);
        backdrop-filter: blur(20px);
        -webkit-backdrop-filter: blur(20px);
    }

    .mobile-nav.is-open {
        transform: translateX(0);
        opacity: 1;
    }

    /* Larger touch targets on mobile */
    .mobile-nav a {
        min-height: 52px;
        padding: 20px 0;
    }

    .menu-toggle {
        min-width: 44px;
        min-height: 44px;
    }

    .filter-row button {
        min-height: 44px;
        padding: 12px 16px;
    }

    .circle-link {
        min-width: 44px;
        min-height: 44px;
    }
}

/* ─── Mobile Responsive Improvements ─── */
@media (max-width: 760px) {
    /* More compact hero on small screens */
    .hero {
        min-height: auto;
    }

    .hero-grid {
        min-height: auto;
    }

    /* Better card spacing on mobile */
    .program-grid,
    .partner-grid {
        gap: 12px;
    }

    .story-grid {
        gap: 14px;
    }

    /* Proof strip horizontal scroll on very small */
    .proof-grid {
        scroll-snap-type: x mandatory;
    }

    .proof-grid div {
        scroll-snap-align: start;
    }

    /* Better font scaling with clamp() */
    .hero-lead {
        font-size: clamp(13px, 3.2vw, 14px);
    }

    .section-head > p {
        font-size: clamp(11px, 2.8vw, 12px);
    }

    .bridge-copy > p {
        font-size: clamp(11px, 2.8vw, 12px);
    }

    /* Ensure all interactive elements are at least 44px tap target */
    .button {
        min-height: 48px;
    }

    .text-link {
        min-height: 44px;
    }
}

@media (max-width: 430px) {
    .page-hero h1 {
        font-size: 42px;
        overflow-wrap: break-word;
    }

    /* Proof strip overflow horizontal on very small screens */
    .proof-grid {
        grid-template-columns: repeat(4, minmax(140px, 1fr));
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scroll-snap-type: x mandatory;
        padding-block: 20px;
    }

    .proof-grid div {
        scroll-snap-align: start;
        min-width: 140px;
        flex-shrink: 0;
    }

    /* Better section spacing on very small screens */
    .section {
        padding: 56px 0;
    }

    .hero-copy {
        padding: 48px 0 36px;
    }
}

/* ─── Enhanced Reduced Motion Preferences ─── */
@media (prefers-reduced-motion: reduce) {
    .button.is-loading::before {
        animation: none;
    }

    .to-top {
        transition: none;
    }

    .to-top:hover {
        transform: none;
    }

    .sun-disc {
        animation: none;
    }

    .path-card--top,
    .path-card--middle,
    .path-card--bottom {
        animation: none;
    }

    .js-reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .site-header {
        transition: none;
    }

    .mobile-nav {
        transition: none;
    }

    .program-card,
    .partner-card,
    .story-card {
        transition: none;
    }

    .desktop-nav a:after {
        transition: none;
    }
}
