/* TOP-only styles adapted from the completed local mock. */
.samurai-top{color-scheme:light;--ink:#14110f;--ink2:#2a2420;--washi:#f6f1e6;--paper:#fffdf8;--gold:#b8923e;--red:#9e1b1b;--mute:#6a6158;--serif:"Shippori Mincho","Yu Mincho","Hiragino Mincho ProN",serif;--sans:"Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif;box-sizing:border-box;}
.samurai-top{scroll-padding-top:calc(72px + env(safe-area-inset-top,0px));scroll-behavior:smooth}
.samurai-top *,.samurai-top *::before,.samurai-top *::after{box-sizing:inherit}
.samurai-top{margin:0;background:var(--washi);color:var(--ink);font:400 16px/1.9 var(--sans)}
.samurai-top img{max-width:100%}
.samurai-top a{color:inherit;text-decoration:none}
.samurai-top h1,.samurai-top h2,.samurai-top h3{font-family:var(--serif);font-weight:700;line-height:1.5;margin:0}
.samurai-top p{margin:0}
.samurai-top .wrap{max-width:1160px;margin:0 auto;padding:0 20px}
.samurai-top :focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.samurai-top .btn{display:inline-block;padding:12px 26px;font-weight:500;font-size:15px;border:1px solid var(--ink);background:transparent;transition:background .2s,color .2s}
.samurai-top .btn.red{background:var(--red);border-color:var(--red);color:#fff}
.samurai-top .btn.red:hover{background:#7d1212}
.samurai-top .btn.line{border-color:#fff;color:#fff}
.samurai-top .btn.line:hover{background:#fff;color:var(--ink)}
.samurai-top .btn.dark{background:var(--ink);color:#fff}
.samurai-top .btn:not(.red):not(.line):not(.dark):hover{background:var(--ink);color:#fff}
.samurai-top .ph{background:linear-gradient(160deg,#cfd6d3,#8d9a98 55%,#3f4a4a);min-height:120px}
.samurai-top .ph.sun{background:linear-gradient(180deg,#f0b062,#c2552b 45%,#2c1f1c)}
.samurai-top .ph.green{background:linear-gradient(160deg,#a9c7a0,#4f7a55 60%,#223a2b)}
.samurai-top .ph.warm{background:linear-gradient(160deg,#d9b47c,#8a5a2b 60%,#2c1d12)}
.samurai-top .ph.pink{background:linear-gradient(160deg,#f2c4cf,#c98aa0 60%,#6d4a5b)}
.samurai-top .ph.rice{background:radial-gradient(circle at 50% 40%,#fbf6ea,#d8c49d 55%,#4a3321)}
.samurai-top .hero{position:relative;color:#fff;background:linear-gradient(100deg,rgba(20,17,15,.92) 20%,rgba(20,17,15,.35) 75%),linear-gradient(180deg,#e9a35f 0,#7b4a3a 55%,#1c1715);overflow:hidden}
.samurai-top .hero .wrap{padding-top:96px;padding-bottom:96px;position:relative}
.samurai-top .hero h1{font-size:clamp(30px,5vw,54px);text-shadow:0 2px 16px rgba(0,0,0,.5)}
.samurai-top .hero p{margin:20px 0 32px;max-width:30em;font-size:clamp(15px,1.8vw,19px)}
.samurai-top .hero .cta{display:flex;gap:14px;flex-wrap:wrap}
.samurai-top .hero .vert{position:absolute;right:20px;top:40px;writing-mode:vertical-rl;font:500 14px/2 var(--serif);letter-spacing:.25em;opacity:.85}
.samurai-top .hero .seal{position:absolute;right:20px;bottom:24px;background-color:rgba(255, 255, 255, 0.35);width:72px;height:84px;padding:10px;display:grid;place-items:center}
.samurai-top .hero .seal img{display:block;width:100%;height:100%;object-fit:contain}
@media(max-width:760px){.samurai-top .hero .seal{width:60px;height:70px;padding:8px}}
.samurai-top section{padding:72px 0;position:relative}
.samurai-top .sec-head{margin-bottom:36px}
.samurai-top .sec-head small{display:block;color:var(--gold);font-weight:500;letter-spacing:.1em}
.samurai-top .sec-head h2{font-size:clamp(24px,3.4vw,36px)}
.samurai-top .gold-edge{background:var(--washi);border-top:4px solid var(--gold)}
.samurai-top .vals{display:grid;grid-template-columns:1fr 1.3fr;gap:48px;align-items:center}
.samurai-top .vals ul{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;list-style:none;margin:0;padding:0;text-align:center}
.samurai-top .vals li{font-size:13px;line-height:1.6;color:var(--mute)}
.samurai-top .vals li b{display:block;font:700 20px var(--serif);color:var(--ink);margin:10px 0 6px}
.samurai-top .ring{width:72px;height:72px;margin:0 auto;border-radius:50%;border:2px solid var(--gold);display:grid;place-items:center;font:700 26px var(--serif);color:var(--gold);background:var(--paper)}
.samurai-top .dark-sec{background:var(--ink);color:#fff}
.samurai-top .dark-sec .sec-head small{color:var(--gold)}
.samurai-top .learn{display:grid;grid-template-columns:1fr 3fr;gap:36px;align-items:center}
.samurai-top .learn .tri{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.samurai-top .tile{background:var(--paper);color:var(--ink);text-align:center;overflow:hidden}
.samurai-top .tile .kanji{font:700 44px/1.2 var(--serif);padding:18px 0 0}
.samurai-top .tile small{display:block;font-size:12px;color:var(--mute)}
.samurai-top .tile p{font-size:14px;line-height:1.7;padding:8px 12px 16px;font-weight:500}
.samurai-top .tile .ph{min-height:110px}
.samurai-top .cards{display:grid;grid-template-columns:1fr 3fr;gap:36px;align-items:start}
.samurai-top .cards .grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.samurai-top .card{background:var(--paper);box-shadow:0 2px 10px rgba(60,40,10,.12);display:flex;flex-direction:column}
.samurai-top .card .ph{min-height:100px}
.samurai-top .card div.b{padding:14px 14px 18px}
.samurai-top .card h3{font-size:18px;margin-bottom:6px}
.samurai-top .card p{font-size:13px;line-height:1.7;color:var(--mute)}
.samurai-top .card:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(60,40,10,.2)}
.samurai-top .card{transition:transform .2s,box-shadow .2s}
.samurai-top .dojo{display:grid;grid-template-columns:1fr 1.2fr;gap:40px;align-items:center}
.samurai-top .dojo .big{min-height:340px;background:linear-gradient(90deg,#14110f,#4a3a2e 70%,#8c6b42);display:grid;place-items:end start;color:#fff;font:700 120px/1 var(--serif);padding:10px 24px;opacity:.95}
.samurai-top .dojo .locs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0}
.samurai-top .dojo .locs a{background:var(--paper);box-shadow:0 2px 10px rgba(60,40,10,.12);display:block}
.samurai-top .dojo .locs span{display:block;padding:10px 12px;font-size:13px;line-height:1.5}
.samurai-top .dojo .locs b{display:block;font-size:15px}
.samurai-top .journal{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.samurai-top .post{display:flex;gap:14px;background:var(--paper);padding:12px;box-shadow:0 2px 10px rgba(60,40,10,.12)}
.samurai-top .post .ph{flex:0 0 96px;min-height:96px}
.samurai-top .post time{font-size:12px;color:var(--mute)}
.samurai-top .post h3{font-size:16px;margin:2px 0 4px}
.samurai-top .post p{font-size:13px;line-height:1.6;color:var(--mute)}
.samurai-top .food{background:linear-gradient(120deg,#e8d9b9,var(--washi) 60%)}
.samurai-top .food .top{display:grid;grid-template-columns:1fr 1.2fr;gap:36px;align-items:center;margin-bottom:32px}
.samurai-top .food .ph.rice{min-height:240px}
.samurai-top .tag{display:inline-block;border:1px solid var(--red);color:var(--red);padding:0 10px;font-size:13px;margin-left:8px;vertical-align:middle}
.samurai-top .food .grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.samurai-top .row-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:24px}
@media(max-width:1024px){.samurai-top .vals,.samurai-top .learn,.samurai-top .cards,.samurai-top .dojo,.samurai-top .food .top{grid-template-columns:1fr}
.samurai-top .cards .grid4,.samurai-top .food .grid4{grid-template-columns:repeat(2,1fr)}
.samurai-top .journal{grid-template-columns:1fr}}
@media(max-width:760px){.samurai-top section{padding:52px 0}
.samurai-top .hero .wrap{padding-top:64px;padding-bottom:72px}
.samurai-top .hero .vert{display:none}
.samurai-top .vals ul{grid-template-columns:repeat(3,1fr);row-gap:20px}
.samurai-top .learn .tri{grid-template-columns:1fr}
.samurai-top .tile{display:grid;grid-template-columns:96px 1fr;text-align:left;align-items:center}
.samurai-top .tile .kanji{grid-row:span 2;text-align:center;padding:0;font-size:40px}
.samurai-top .tile .ph{display:none}
.samurai-top .tile p{padding:0 12px 14px}
.samurai-top .dojo .big{min-height:180px;font-size:80px}
.samurai-top .dojo .locs{grid-template-columns:1fr}
.samurai-top .post .ph{flex-basis:80px}}
@media(max-width:480px){.samurai-top .cards .grid4,.samurai-top .food .grid4{grid-template-columns:1fr 1fr;gap:10px}
.samurai-top .card p{display:none}}
@media(prefers-reduced-motion:reduce){.samurai-top *{transition:none!important;scroll-behavior:auto!important}}
.samurai-top .logo-img{width:44px;height:50px;object-fit:contain;flex-shrink:0}
.samurai-top .hero{background:linear-gradient(100deg,rgba(20,17,15,.86) 15%,rgba(20,17,15,.48) 62%,rgba(20,17,15,.12)),none center/cover no-repeat}
.samurai-top .hero .wrap{min-height:510px}
.samurai-top .hero h1{letter-spacing:.035em}
.samurai-top .hero-kicker{display:block;margin-bottom:16px;font-size:12px;letter-spacing:.2em;color:#e8d7ae}
.samurai-top .media{display:block;width:100%;object-fit:cover;background:#e5dcc8}
.samurai-top .tile .media{height:150px;object-position:center 35%}
.samurai-top .tile .subject{display:block;color:var(--red);font-family:var(--serif);font-size:20px;padding:0 12px 6px}
.samurai-top .tile p{min-height:70px}
.samurai-top .cards .media{aspect-ratio:4/3}
.samurai-top .cards .grid4{grid-template-columns:repeat(3,minmax(0,1fr))}
.samurai-top .cards h3{font-size:17px}
.samurai-top .cards .sec-head{margin-bottom:0}
.samurai-top .eyebrow{font-size:12px;color:var(--gold);letter-spacing:.18em;margin-bottom:10px}
.samurai-top .section-caption{font-size:14px;color:var(--mute)}
.samurai-top .specialist{padding-top:0}
.samurai-top .specialist-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.samurai-top .specialist-card{display:block;position:relative;transition:transform .2s}
.samurai-top .specialist-card:hover{transform:translateY(-3px)}
.samurai-top .specialist-card img{display:block;width:100%;aspect-ratio:12/5}
.samurai-top .specialist-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #d8cbb2;font-size:13px}
.samurai-top .specialist-meta h3{font-size:17px}
.samurai-top .pending-label{display:inline-block;font-size:10px;font-family:var(--sans);font-weight:500;letter-spacing:.04em;padding:2px 6px;border:1px solid currentColor;color:#8a541f;line-height:1.5;white-space:nowrap}
.samurai-top .dark-sec .pending-label{color:#ead4a3}
.samurai-top .btn .pending-label{margin-left:8px;color:inherit}
.samurai-top .nav-pending{margin-left:3px;vertical-align:middle}
.samurai-top .dojo .big{position:relative;opacity:1;overflow:hidden;min-height:390px;padding:0;display:block}
.samurai-top .dojo .big img{height:390px;object-position:center 38%}
.samurai-top .dojo .big:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,17,15,.7),transparent 60%)}
.samurai-top .dojo .big span{position:absolute;left:24px;bottom:16px;font-size:88px;z-index:1;letter-spacing:.08em}
.samurai-top .dojo-note{margin:22px 0;color:var(--mute);font-size:13px;border-left:2px solid var(--gold);padding-left:16px}
.samurai-top .dojo h2{font-size:clamp(26px,3.6vw,38px);margin-bottom:14px}
.samurai-top .journal h2,.samurai-top .food h2{font-size:clamp(24px,3vw,32px)}
.samurai-top .post{align-items:flex-start}
.samurai-top .post .media{flex:0 0 86px;width:86px;height:100px}
.samurai-top .post>div{min-width:0}
.samurai-top .post h3{overflow-wrap:anywhere}
.samurai-top .post p{font-size:12px;margin-top:7px}
.samurai-top .post:hover h3{color:var(--red)}
.samurai-top .food .grid4{grid-template-columns:repeat(6,minmax(0,1fr))}
.samurai-top .food .top>.media{aspect-ratio:3/2;min-height:240px}
.samurai-top .food .card .media{aspect-ratio:1;object-fit:cover}
.samurai-top .food .card h3{font-size:16px}
.samurai-top .food .card .b{padding:12px}
.samurai-top .food .card p{font-size:11px}
.samurai-top .food-lead{margin:8px 0 12px;font-weight:700;font-family:var(--serif)}
.samurai-top .mt-24{margin-top:24px}
.samurai-top .lead-sm{font-size:14px}
.samurai-top .learn-label{font-size:24px;margin-bottom:12px}
@media(max-width:1024px){.samurai-top .food .grid4{grid-template-columns:repeat(3,minmax(0,1fr))}
.samurai-top .cards .grid4{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.samurai-top .logo-img{width:33px;height:42px}
.samurai-top .hero .wrap{min-height:430px}
.samurai-top .hero h1{font-size:clamp(28px,7.8vw,42px)}
.samurai-top .hero p{max-width:23em}
.samurai-top .hero .cta{gap:10px}
.samurai-top .hero .btn{font-size:13px;padding:11px 16px}
.samurai-top .tile{grid-template-columns:75px 1fr}
.samurai-top .tile .kanji{grid-row:1/3}
.samurai-top .tile .subject{padding:12px 12px 0}
.samurai-top .tile p{min-height:0;padding:4px 12px 14px}
.samurai-top .tile .media{display:none}
.samurai-top .cards .grid4{grid-template-columns:1fr}
.samurai-top .cards .card{display:grid;grid-template-columns:100px 1fr}
.samurai-top .cards .media{height:100%;min-height:130px}
.samurai-top .cards .card p{display:block}
.samurai-top .specialist-grid{grid-template-columns:1fr;gap:24px}
.samurai-top .specialist-meta h3{font-size:16px}
.samurai-top .dojo .big,.samurai-top .dojo .big img{height:300px;min-height:300px}
.samurai-top .dojo .big img{object-position:center 30%}
.samurai-top .dojo .big span{font-size:64px}
.samurai-top .food .grid4{grid-template-columns:repeat(2,minmax(0,1fr))}
.samurai-top .food .top>.media{min-height:0}
.samurai-top .food .card p{display:block}
.samurai-top .journal{gap:14px}}
@media(prefers-reduced-motion:reduce){.samurai-top{scroll-behavior:auto}
.samurai-top .specialist-card{transition:none}}
.samurai-top img{height:auto}
.samurai-top .cards .media{height:auto;aspect-ratio:4/3}
.samurai-top .food .top>.media{height:auto;aspect-ratio:3/2}
.samurai-top .food .card .media{height:auto;aspect-ratio:1}
@media(max-width:760px){.samurai-top .cards .media{height:100%;aspect-ratio:auto}}
@media(min-width:1025px){.samurai-top .vals .sec-head h2{font-size:32px}}
@media(max-width:760px){.samurai-top .cards .card .media{height:140px;min-height:0;aspect-ratio:auto}}
.samurai-top .learn{ grid-template-columns: minmax(360px, .95fr) minmax(0, 1.65fr); gap: 40px; }
.samurai-top .learn .learning-catch{ font-size: 30px; line-height: 1.6; }
.samurai-top .learning-catch span{ white-space: nowrap; }
.samurai-top .learn .sec-head{ margin-bottom: 24px; }
.samurai-top .learn .tri{ gap: 16px; }
.samurai-top .cards{ grid-template-columns: 1fr; gap: 28px; }
.samurai-top .cards .sec-head{ display: flex; justify-content: space-between; align-items: flex-end; gap: 32px; }
.samurai-top .cards .sec-head > p{ max-width: 40em; margin-top: 0; }
.samurai-top .cards .grid4{ grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.samurai-top .cards .card{ min-width: 0; }
.samurai-top .cards .card .media{ width: 100%; height: auto; min-height: 0; aspect-ratio: 4 / 3; object-fit: cover; object-position: center 35%; }
.samurai-top .cards .card .b{ flex: 1; padding: 20px 22px 22px; }
.samurai-top .cards .card h3{ font-size: 20px; line-height: 1.5; min-height: 30px; margin-bottom: 10px; }
.samurai-top .cards .card p{ font-size: 14px; line-height: 1.8; display: block; }
.samurai-top .specialist .row-head{ margin-bottom: 28px; align-items: center; }
.samurai-top .specialist .eyebrow{ font-size: 13px; font-weight: 500; margin-bottom: 8px; }
.samurai-top .specialist h2{ font-size: 32px; }
.samurai-top .specialist-grid{ gap: 24px; }
.samurai-top .specialist-card img{ width: 100%; height: auto; aspect-ratio: 12 / 5; object-fit: contain; }
.samurai-top .specialist-meta{ align-items: center; padding: 16px 0; gap: 16px; }
.samurai-top .specialist-meta h3{ font-size: 19px; }
.samurai-top .specialist-link{ display: flex; flex-direction: column; align-items: flex-end; gap: 7px; flex-shrink: 0; }
.samurai-top .specialist-action{ font-size: 14px; font-weight: 700; color: var(--red); }
.samurai-top .specialist-action > span{ display: inline-block; margin-left: 5px; }
.samurai-top .specialist-card:hover .specialist-action{ text-decoration: underline; text-underline-offset: 4px; }
.samurai-top #dojo{ padding-block: 56px; }
.samurai-top .dojo{ grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 48px; }
.samurai-top .dojo .big{ min-height: 0; aspect-ratio: 5 / 4; }
.samurai-top .dojo .big img{ width: 100%; height: 100%; min-height: 0; object-fit: cover; }
.samurai-top .dojo-note{ margin-block: 20px; }
.samurai-top #journal{ padding-top: 48px; }
@media (max-width: 1100px){.samurai-top .learn{ grid-template-columns: 1fr; gap: 28px; }
.samurai-top .learn .learning-catch{ font-size: 30px; }
.samurai-top .cards .sec-head{ display: block; }
.samurai-top .cards .sec-head > p{ margin-top: 16px; }
.samurai-top .cards .grid4{ gap: 20px; }
.samurai-top .cards .card .b{ padding: 18px; }}
@media (max-width: 900px){.samurai-top .dojo{ gap: 28px; }
.samurai-top .specialist-meta{ flex-wrap: wrap; gap: 10px; }}
@media (max-width: 760px){.samurai-top .learn .learning-catch{ font-size: clamp(24px, 6.5vw, 28px); line-height: 1.65; }
.samurai-top .learning-catch span{ white-space: normal; }
.samurai-top .learn .tri{ gap: 14px; }
.samurai-top .cards{ gap: 24px; }
.samurai-top .cards .grid4{ grid-template-columns: 1fr; gap: 16px; }
.samurai-top .cards .card{ display: grid; grid-template-columns: 104px minmax(0, 1fr); align-items: stretch; }
.samurai-top .cards .card .media{ height: 100%; min-height: 144px; aspect-ratio: auto; object-fit: cover; }
.samurai-top .cards .card .b{ padding: 16px; }
.samurai-top .cards .card h3{ font-size: 18px; min-height: 27px; margin-bottom: 8px; }
.samurai-top .cards .card p{ font-size: 13px; }
.samurai-top .specialist h2{ font-size: 28px; }
.samurai-top .specialist .row-head{ gap: 12px; margin-bottom: 24px; }
.samurai-top .specialist-grid{ grid-template-columns: 1fr; gap: 24px; }
.samurai-top .specialist-meta{ padding-block: 14px; flex-wrap: nowrap; }
.samurai-top .specialist-meta h3{ font-size: 17px; }
.samurai-top .specialist-action{ font-size: 13px; }
.samurai-top .specialist-link .pending-label{ font-size: 9px; }
.samurai-top #dojo{ padding-block: 48px; }
.samurai-top .dojo{ grid-template-columns: 1fr; gap: 24px; }
.samurai-top .dojo .big{ height: auto; min-height: 0; aspect-ratio: 5 / 4; }
.samurai-top .dojo .big img{ height: 100%; min-height: 0; }
.samurai-top #journal{ padding-top: 40px; }}
@media (max-width: 360px){.samurai-top .specialist-meta{ flex-wrap: wrap; }
.samurai-top .specialist-link{ width: 100%; flex-direction: row; justify-content: space-between; align-items: center; }
.samurai-top .cards .card{ grid-template-columns: 88px minmax(0, 1fr); }
.samurai-top .cards .card .b{ padding: 14px; }}
.samurai-top .cards .sec-head > p{ max-width: 50em; text-wrap: pretty; }
@media(max-width:360px){.samurai-top .hero h1{font-size:25px;letter-spacing:0}
.samurai-top .hero p{font-size:14px;text-wrap:balance}
.samurai-top .hero p br{display:none}
.samurai-top .vals .sec-head h2{font-size:20px;line-height:1.6}}
.samurai-top #journal{ padding-block: 48px; }
.samurai-top #journal .row-head{ margin-bottom: 24px; }
.samurai-top #journal h2{ font-size: 30px; }
.samurai-top #journal .journal{ gap: 20px; }
.samurai-top .food .card .product-photo{ width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; object-position: center; background: var(--paper); }
.samurai-top .shop-feature{ margin: 0; }
.samurai-top .shop-feature .product-photo{ width: 100%; height: auto; aspect-ratio: auto; object-fit: contain; background: transparent; }
.samurai-top .shop-feature figcaption{ margin-top: 10px; font-size: 12px; color: var(--mute); }
.samurai-top .vals .values-list{ align-items: start; gap: 16px; }
.samurai-top .values-list li{ min-width: 0; }
.samurai-top .vals .values-list b{ margin: 0 0 12px; font-size: 21px; line-height: 1.5; }
.samurai-top .value-copy{ font-size: 12px; line-height: 1.9; }
.samurai-top .value-copy > span{ white-space: nowrap; }
@media(min-width:761px){.samurai-top #journal .journal{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
.samurai-top #journal .post{ min-width: 0; }
.samurai-top #journal .post .media{ flex-basis: 76px; width: 76px; height: 100px; }
.samurai-top #journal .post h3{ font-size: 15px; }}
@media(min-width:761px) and (max-width:900px){.samurai-top #journal .journal{ gap: 14px; }
.samurai-top #journal .post{ gap: 10px; padding: 10px; }
.samurai-top #journal .post .media{ flex-basis: 62px; width: 62px; height: 90px; }
.samurai-top #journal .post h3{ font-size: 14px; }
.samurai-top #journal .post .section-caption{ font-size: 12px; }}
@media(max-width:760px){.samurai-top #journal{ padding-block: 36px; }
.samurai-top #journal h2{ font-size: 26px; }
.samurai-top #journal .row-head{ margin-bottom: 20px; }
.samurai-top #journal .journal{ grid-template-columns: 1fr; gap: 14px; }
.samurai-top .vals .values-list{ gap: 24px 12px; }
.samurai-top .vals .values-list b{ font-size: 20px; margin-bottom: 8px; }}
@media(max-width:360px){.samurai-top .vals .values-list{ grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 16px; }
.samurai-top .vals .values-list li:last-child{ grid-column: 1 / -1; }}
.samurai-top .learning-description > span{ white-space: nowrap; }
.samurai-top .tile-copy > span{ white-space: nowrap; }
.samurai-top a[data-pending]{ cursor: default; }
.samurai-top .specialist-link{ gap: 0; }
@media(max-width:760px){.samurai-top .learning-description > span{ white-space: normal; }}
.samurai-top .hero{ background: var(--ink); }
.samurai-top .hero .hero-photo{ position: absolute; inset: 0; display: block; }
.samurai-top .hero .hero-photo img{ display: block; width: 100%; height: 100%; object-fit: cover; object-position: center center; }
.samurai-top .hero .hero-photo::after{ content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, rgba(20,17,15,.52) 0%, rgba(20,17,15,.28) 38%, rgba(20,17,15,.03) 72%); }
.samurai-top .hero .wrap{ min-height: clamp(540px, 41.3773vw, 715px); z-index: 1; }
.samurai-top .hero .vert{ text-shadow: 0 1px 6px rgba(0,0,0,.7); }
@media(max-width:760px){.samurai-top .hero .hero-photo{ position: relative; inset: auto; }
.samurai-top .hero .hero-photo img{ width: 100%; height: auto; aspect-ratio: 390 / 621; object-fit: contain; object-position: center top; }
.samurai-top .hero .hero-photo::after{ background: linear-gradient(180deg, rgba(20,17,15,.58) 0%, rgba(20,17,15,.27) 18%, rgba(20,17,15,0) 36%); }
.samurai-top .hero .wrap{ position: static; min-height: 0; padding-top: 24px; padding-bottom: 28px; }
.samurai-top .hero h1{ position: absolute; top: 24px; left: 20px; right: 20px; z-index: 2; margin: 0; }
.samurai-top .hero p{ margin-top: 0; margin-bottom: 24px; }
.samurai-top .hero .seal{ z-index: 2; }}
@media(max-width:360px){.samurai-top .hero h1{ top: 20px; }}
@media(max-width:360px){.samurai-top .hero p{text-wrap:wrap}
.samurai-top .hero p br{display:initial}}
.samurai-top #learning img[src$="/renewal-top/kokoro.png"]{ object-position: 75% 38%; }
.samurai-top #learning img[src$="/renewal-top/chi.png"]{ object-position: 55% 48%; }
.samurai-top #learning img[src$="/renewal-top/tai.png"]{ object-position: 50% 35%; }
.samurai-top #course img[src$="/renewal-top/kisokoza.png"]{ object-position: 62% 50%; }
.samurai-top #course img[src$="/renewal-top/dojo.png"]{ object-position: 55% 35%; }
.samurai-top #course img[src$="/renewal-top/yomimono.png"]{ object-position: 55% 65%; }
/* Full-width layout applies only to the container hosting the new TOP. */
body > .container:has(> #body_main > .samurai-top){max-width:none;padding:var(--renewal-header-height,97px) 0 0!important}
.samurai-top{overflow-wrap:break-word}
.samurai-top .card{border:0;border-radius:0;color:inherit}
.samurai-top .btn{border-radius:0;line-height:inherit;font-family:inherit}
.samurai-top .cards .grid4{grid-template-columns:repeat(2,minmax(0,1fr));max-width:900px;margin-inline:auto;width:100%}
.samurai-top section{scroll-margin-top:calc(var(--renewal-header-height,97px) + 16px)}
.samurai-top .specialist-card{margin:0;color:inherit}
@media(max-width:900px){body > .container:has(> #body_main > .samurai-top){padding-top:var(--renewal-header-height,73px)!important}}
@media(max-width:760px){.samurai-top .cards .grid4{grid-template-columns:1fr}}

/* Membership qualifier belongs only to the basic-course card heading. */
.samurai-top #course .course-member-label{display:inline-block;white-space:nowrap;font-size:.75em;font-weight:500}
@media(max-width:760px){.samurai-top #course .course-member-label{display:block;font-size:12px;line-height:1.65}}
