/* Chi Club — night ink, washi & vermilion ensō (matches @chiclub.qa) */
@font-face{font-family:"Shippori Mincho";src:url(/fonts/mincho-700.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Shippori Mincho";src:url(/fonts/mincho-500.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Zen Kaku Gothic New";src:url(/fonts/gothic-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Zen Kaku Gothic New";src:url(/fonts/gothic-700.woff2) format("woff2");font-weight:700;font-display:swap}

:root{
  --washi:#14110E;        /* page: warm sumi black (as @chiclub.qa) */
  --washi-deep:#1D1915;
  --sumi:#EFE7D8;         /* text: washi cream */
  --usuzumi:#A79F92;
  --shu:#C8361F;          /* vermilion ensō */
  --shu-deep:#A82B17;
  --rule:#3A332B;
  --paper:#221D18;
  --ink:#0E0C0A;
  --serif:"Shippori Mincho","Noto Serif JP","Yu Mincho",Georgia,serif;
  --sans:"Zen Kaku Gothic New","Hiragino Sans","Segoe UI",system-ui,sans-serif;
  --gutter:clamp(16px,4vw,48px);
  --max:1240px;
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:96px}
body{margin:0;background:var(--washi);color:var(--sumi);font:400 1.0625rem/1.75 var(--sans);font-feature-settings:"palt" 0;text-rendering:optimizeLegibility}
@media (min-width:900px){body{font-size:1.125rem}}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em}
a:hover{color:var(--shu)}
:focus-visible{outline:2px solid var(--shu);outline-offset:3px}
.skip{position:absolute;left:8px;top:8px;transform:translateY(-200%);background:var(--sumi);color:var(--washi);padding:8px 14px;z-index:100}
.skip:focus{transform:none}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}

h1,h2,h3{font-family:var(--serif);font-weight:700;line-height:1.25;margin:0;letter-spacing:.005em}
h1{font-size:clamp(2.25rem,5.2vw,4rem);line-height:1.15}
h2{font-size:clamp(1.75rem,3.4vw,2.5rem)}
h3{font-size:1.375rem}
p{margin:0 0 1em;max-width:66ch}
.lead{font-size:clamp(1.125rem,1.6vw,1.3125rem);line-height:1.7;color:var(--sumi)}
.muted{color:var(--usuzumi)}
[lang=ja],.jp{font-family:var(--serif)}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:.6em;font:700 1rem/1 var(--sans);padding:.95em 1.4em;border-radius:2px;text-decoration:none;border:1.5px solid var(--sumi);color:var(--sumi);background:transparent;cursor:pointer;transition:background-color .15s,color .15s}
.btn:hover{background:var(--sumi);color:var(--washi)}
.btn-shu{background:var(--shu);border-color:var(--shu);color:#fff}
.btn-shu:hover{background:var(--shu-deep);border-color:var(--shu-deep);color:#fff}
.btn svg{width:1.15em;height:1.15em;flex:none}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}

/* Notice */
.notice{background:var(--sumi);color:var(--washi);font-size:.9375rem;line-height:1.5}
.notice .wrap{display:flex;gap:12px;align-items:center;justify-content:center;padding-top:10px;padding-bottom:10px;text-align:center;flex-wrap:wrap}
.notice a{color:#fff;font-weight:700}
.notice a:hover{color:#F1B6AE}

/* Header */
.head{position:sticky;top:0;z-index:20;background:rgba(235,235,230,.94);backdrop-filter:saturate(1.2) blur(8px);border-bottom:1px solid var(--rule)}
.head .wrap{display:flex;align-items:center;gap:24px;min-height:76px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--sumi);margin-right:auto}
.brand:hover{color:var(--sumi)}
.seal{display:inline-grid;place-items:center;width:44px;height:44px;background:var(--shu);color:#fff;font:700 28px/1 var(--serif);border-radius:3px;transform:rotate(-4deg);box-shadow:inset 0 0 0 2px var(--shu),inset 0 0 0 3.5px rgba(255,255,255,.85)}
.brand-calli{height:48px;width:auto}
.brand-name{display:flex;flex-direction:column;line-height:1.1}
.brand-name b{font:700 1.5rem/1 var(--serif);letter-spacing:.01em}
.brand-name small{font-size:.75rem;color:var(--usuzumi);margin-top:5px;letter-spacing:.02em}
.nav{display:flex;gap:4px;align-items:center}
.nav a{text-decoration:none;font-size:.9688rem;padding:8px 10px;border-radius:2px}
.nav a[aria-current=page]{color:var(--shu);box-shadow:inset 0 -2px 0 var(--shu)}
.head .btn{padding:.75em 1.1em;font-size:.9375rem}
.menu{display:none}
@media (max-width:1020px){
  .nav,.head .btn{display:none}
  .menu{display:block;position:relative}
  .menu summary{list-style:none;cursor:pointer;font-weight:700;padding:10px 14px;border:1.5px solid var(--sumi);border-radius:2px}
  .menu summary::-webkit-details-marker{display:none}
  .menu[open] summary{background:var(--sumi);color:var(--washi)}
  .menu-panel{position:absolute;right:0;top:calc(100% + 10px);width:min(320px,calc(100vw - 32px));background:var(--paper);border:1px solid var(--rule);padding:8px;display:flex;flex-direction:column}
  .menu-panel a{padding:12px 14px;text-decoration:none;font-size:1.0625rem}
  .menu-panel a[aria-current=page]{color:var(--shu)}
  .menu-panel .btn{margin-top:8px;justify-content:center;display:flex}
}
@media (max-width:420px){.brand-calli{display:none}.brand-name small{display:none}}

/* Hero */
.hero{padding:clamp(40px,6vw,88px) 0 clamp(48px,6vw,96px)}
.hero-grid{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,.82fr);gap:clamp(20px,3.5vw,56px);align-items:stretch}
.tategaki{writing-mode:vertical-rl;font:700 clamp(2.5rem,6.2vw,5.6rem)/1.05 var(--serif);letter-spacing:.12em;margin:0;padding-left:clamp(12px,1.4vw,20px);border-left:3px solid var(--shu);display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.tategaki small{font:400 .8125rem/1.4 var(--sans);letter-spacing:.02em;color:var(--usuzumi);writing-mode:vertical-rl}
.hero-copy{align-self:center}
.hero-copy h1{margin-bottom:24px;max-width:13ch}
.hero-photo{margin:0;position:relative}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:18% 50%;aspect-ratio:4/5}
.hero-photo figcaption{position:absolute;left:0;bottom:0;background:var(--washi);padding:10px 14px 0 0;font-size:.8125rem;color:var(--usuzumi)}
@media (max-width:900px){
  .hero-grid{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"copy copy" "tate photo";row-gap:36px}
  .hero-copy{grid-area:copy}
  .tategaki{grid-area:tate;font-size:clamp(2.6rem,11vw,3.6rem)}
  .hero-photo{grid-area:photo}
  .hero-photo img{aspect-ratio:4/5;object-position:18% 50%}
  .hero-copy h1{max-width:none}
}

/* Sections */
.section{padding:clamp(56px,8vw,112px) 0}
.section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 48px;align-items:end;margin-bottom:clamp(28px,4vw,56px)}
.section-head p{margin:0;color:var(--usuzumi)}
@media (max-width:800px){.section-head{grid-template-columns:1fr}}
.rule-top{border-top:1px solid var(--rule)}

/* Programme list */
.prog{list-style:none;margin:0;padding:0;border-top:1.5px solid var(--sumi)}
.prog li{display:grid;grid-template-columns:minmax(150px,13rem) minmax(0,1fr) minmax(0,15rem);gap:12px 40px;padding:26px 0;border-bottom:1px solid var(--rule);align-items:baseline}
.prog .glyph{font:500 1.875rem/1.2 var(--serif);color:var(--usuzumi);letter-spacing:.04em;white-space:nowrap}
.prog .glyph[lang=hi]{font-family:"Nirmala UI","Noto Sans Devanagari",var(--sans);font-weight:400}
.prog h3{margin-bottom:6px}
.prog h3 a{text-decoration:none}
.prog p{margin:0}
.prog .who{font-size:.9375rem;color:var(--usuzumi)}
@media (max-width:820px){.prog li{grid-template-columns:1fr;gap:6px}.prog .glyph{font-size:1.5rem}}

/* Photo band */
.band{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:clamp(8px,1.2vw,16px)}
.band figure{margin:0}
.band img{width:100%;aspect-ratio:3/2;object-fit:cover}
.band figure:first-child img{aspect-ratio:15/8}
.band figcaption{font-size:.875rem;color:var(--usuzumi);padding-top:8px}
@media (max-width:760px){.band{grid-template-columns:1fr 1fr}.band figure:first-child{grid-column:1/-1}.band figure:first-child img{aspect-ratio:3/2}}

/* Reasons */
.reasons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.reasons div{border-top:3px solid var(--sumi);padding-top:20px}
.reasons h3{margin-bottom:10px}
@media (max-width:860px){.reasons{grid-template-columns:1fr;gap:28px}}

/* Dojo kun */
.kun{background:var(--sumi);color:var(--washi)}
.kun .section-head p{color:#B9B8B1}
.kun ol{list-style:none;margin:0;padding:0}
.kun li{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);gap:8px 28px;align-items:baseline;padding:20px 0;border-top:1px solid #3A3B3E}
.kun li:last-child{border-bottom:1px solid #3A3B3E}
.kun .hitotsu{font:700 1.75rem/1 var(--serif);color:#E0574C}
.kun .ja{font:700 clamp(1.375rem,2.4vw,1.875rem)/1.4 var(--serif);letter-spacing:.06em}
.kun .en{color:#D2D1CA}
@media (max-width:760px){.kun li{grid-template-columns:auto 1fr}.kun .en{grid-column:2}}

/* Locations */
.locs{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:0 40px;border-top:1.5px solid var(--sumi)}
.loc{padding:22px 0;border-bottom:1px solid var(--rule)}
.loc h3{font-size:1.25rem;margin-bottom:2px}
.loc p{margin:0;font-size:.9688rem}
.loc .when{color:var(--usuzumi)}

/* Timetable page */
.tt{display:grid;gap:0;border-top:1.5px solid var(--sumi)}
.tt article{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:12px 48px;padding:32px 0;border-bottom:1px solid var(--rule)}
.tt h2{font-size:1.75rem}
.tt .venue{margin:6px 0 10px;color:var(--usuzumi)}
.tt table{width:100%;border-collapse:collapse;font-size:1rem}
.tt th,.tt td{text-align:left;padding:10px 0;border-bottom:1px dotted var(--rule);vertical-align:top}
.tt th{font-weight:700;padding-right:24px;width:45%}
.tt tr:last-child th,.tt tr:last-child td{border-bottom:0}
@media (max-width:760px){.tt article{grid-template-columns:1fr}.tt th{width:auto}}

/* FAQ */
.faq{border-top:1.5px solid var(--sumi);max-width:880px}
.faq details{border-bottom:1px solid var(--rule)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:24px;padding:20px 0;font:700 1.1875rem/1.4 var(--serif)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:14px;height:14px;margin-top:.35em;background:linear-gradient(var(--sumi),var(--sumi)) center/14px 2px no-repeat,linear-gradient(var(--sumi),var(--sumi)) center/2px 14px no-repeat;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding-bottom:20px;margin:0}

/* CTA */
.cta{background:var(--washi-deep)}
.cta .wrap{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:24px 40px;align-items:center;padding-top:clamp(40px,5vw,64px);padding-bottom:clamp(40px,5vw,64px)}
.cta .seal{width:72px;height:72px;font-size:46px}
.cta h2{font-size:clamp(1.5rem,2.6vw,2rem);margin-bottom:6px}
.cta p{margin:0}
@media (max-width:760px){.cta .wrap{grid-template-columns:1fr}}

/* Page header */
.page-head{padding:clamp(40px,6vw,80px) 0 clamp(28px,4vw,48px);border-bottom:1px solid var(--rule)}
.crumbs{font-size:.875rem;color:var(--usuzumi);margin-bottom:18px}
.crumbs a{color:var(--usuzumi)}
.page-head h1{max-width:20ch;margin-bottom:16px}
.page-head .lead{margin:0}

/* Classes page */
.cls{display:grid;grid-template-columns:minmax(150px,13rem) minmax(0,1fr) minmax(0,.9fr);gap:16px 48px;padding:40px 0;border-bottom:1px solid var(--rule)}
.cls:first-child{border-top:1.5px solid var(--sumi)}
.cls .glyph{font:500 2.25rem/1.2 var(--serif);color:var(--usuzumi);white-space:nowrap}
.cls .glyph[lang=hi]{font-family:"Nirmala UI","Noto Sans Devanagari",var(--sans);font-weight:400}
.cls h2{font-size:1.875rem;margin-bottom:6px}
.cls .who{color:var(--usuzumi);margin-bottom:14px}
.cls figure{margin:0}
.cls img{width:100%;aspect-ratio:3/2;object-fit:cover}
@media (max-width:900px){.cls{grid-template-columns:1fr}.cls .glyph{font-size:1.75rem}}

/* About */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:start}
.split figure{margin:0}
.split img{width:100%;aspect-ratio:3/2;object-fit:cover}
.split figcaption{font-size:.875rem;color:var(--usuzumi);padding-top:8px}
@media (max-width:860px){.split{grid-template-columns:1fr}}
.facts{list-style:none;padding:0;margin:24px 0 0;border-top:1px solid var(--rule)}
.facts li{padding:12px 0;border-bottom:1px solid var(--rule)}

/* Gallery */
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.gal button{padding:0;border:0;background:none;cursor:zoom-in;display:block}
.gal img{width:100%;aspect-ratio:1;object-fit:cover}
.lightbox{border:0;padding:0;background:transparent;max-width:min(1400px,96vw);max-height:94vh}
.lightbox::backdrop{background:rgba(20,20,22,.92)}
.lightbox img{max-height:84vh;width:auto;margin:0 auto}
.lightbox p{color:#E6E5DF;text-align:center;margin:12px auto 0;font-size:.9375rem}
.lightbox .close{position:fixed;top:16px;right:16px;background:var(--washi);color:var(--sumi);border:0;padding:10px 16px;font:700 1rem var(--sans);cursor:pointer;border-radius:2px}

/* Contact */
.form{display:grid;gap:18px;max-width:620px}
.form label{display:grid;gap:6px;font-weight:700;font-size:.9688rem}
.form .opt{font-weight:400;color:var(--usuzumi)}
.form input,.form select,.form textarea{font:400 1.0625rem/1.5 var(--sans);color:var(--sumi);background:var(--paper);border:1.5px solid var(--rule);border-radius:2px;padding:12px 14px;width:100%}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--sumi);outline:none;box-shadow:0 0 0 3px rgba(184,50,42,.18)}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media (max-width:560px){.form .row{grid-template-columns:1fr}}
.form small{font-weight:400;color:var(--usuzumi)}
.contact-list{list-style:none;padding:0;margin:0;border-top:1.5px solid var(--sumi)}
.contact-list li{padding:16px 0;border-bottom:1px solid var(--rule)}
.contact-list b{display:block;font-family:var(--serif);font-size:1.125rem}

/* Members */
.embed{background:#fff;border:1px solid var(--rule)}
.embed iframe{display:block;width:100%;height:640px;border:0}

/* Prose */
.prose h2{font-size:1.5rem;margin:40px 0 12px}
.prose p{max-width:68ch}

/* Footer */
.foot{border-top:1.5px solid var(--sumi);padding:48px 0 32px;font-size:.9688rem}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}
.foot h2{font:700 1rem/1.4 var(--serif);margin-bottom:10px}
.foot ul{list-style:none;padding:0;margin:0}
.foot li{padding:3px 0}
.foot a{text-decoration:none}
.foot a:hover{text-decoration:underline}
.foot .copy{margin-top:40px;color:var(--usuzumi);font-size:.875rem}
@media (max-width:860px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.foot-grid{grid-template-columns:1fr}}

/* WhatsApp float (mobile) */
.wa-float{position:fixed;right:16px;bottom:16px;z-index:30;display:none;width:56px;height:56px;border-radius:50%;background:#1F8F4E;color:#fff;place-items:center;box-shadow:0 4px 14px rgba(0,0,0,.25)}
.wa-float svg{width:28px;height:28px}
@media (max-width:1020px){.wa-float{display:grid}}

/* One orchestrated moment: the seal stamps in on load */
@media (prefers-reduced-motion:no-preference){
  .hero .tategaki{animation:ink .9s cubic-bezier(.2,.7,.2,1) both}
  .brand .seal{animation:stamp .5s .35s cubic-bezier(.3,1.6,.5,1) both}
}
@keyframes ink{from{opacity:0;clip-path:inset(0 0 100% 0)}to{opacity:1;clip-path:inset(0 0 0 0)}}
@keyframes stamp{from{opacity:0;transform:rotate(-4deg) scale(1.5)}to{opacity:1;transform:rotate(-4deg) scale(1)}}

.sensei{align-items:center}
.sensei figure img{aspect-ratio:4/5;max-height:640px;object-fit:cover;background:#fff}
.emblem{display:flex;justify-content:center}
.emblem img{width:min(100%,360px);height:auto;aspect-ratio:auto;mix-blend-mode:multiply}

.kicker{margin:14px 0 0;color:var(--shu);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:clamp(.9rem,1.2vw,1.05rem)}

/* ===== Chi Club night-ink theme ===== */
body{background:radial-gradient(120% 80% at 50% 0%,#221D18 0%,var(--washi) 55%) fixed,var(--washi)}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
main,.head,.notice,.foot{position:relative;z-index:1}
a:hover{color:#E9775F}
.notice{background:var(--ink);color:var(--usuzumi);border-bottom:1px solid var(--rule)}
.notice a{color:var(--sumi)}
.head{background:rgba(20,17,14,.9)}
.brand,.brand:hover{color:var(--sumi)}
.seal{box-shadow:inset 0 0 0 2px var(--shu),inset 0 0 0 3.5px rgba(239,231,216,.85)}
.brand-calli{filter:invert(1) brightness(1.8)}
.btn:hover{background:var(--sumi);color:var(--ink)}
.menu[open] summary{background:var(--sumi);color:var(--ink)}
.prog,.cls:first-child,.locs,.tt,.faq,.contact-list,.foot,.reasons div{border-color:var(--sumi)}
.prog{border-top-color:var(--rule)}
.faq summary::after{background:linear-gradient(var(--sumi),var(--sumi)) center/14px 2px no-repeat,linear-gradient(var(--sumi),var(--sumi)) center/2px 14px no-repeat}
.kun{background:var(--ink)}
.cta{background:var(--ink);border-top:1px solid var(--rule)}
.emblem img{mix-blend-mode:normal;filter:invert(1) hue-rotate(180deg) brightness(1.1)}
.embed{background:var(--paper)}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--shu)}
.lightbox .close{background:var(--sumi);color:var(--ink)}
.hero-photo figcaption{background:var(--washi)}
img{filter:saturate(.92)}

/* Kanji in a brush ensō, like the @chiclub.qa highlights */
.prog .glyph,.cls .glyph{display:inline-grid;place-items:center;width:5.2rem;height:5.2rem;background:url(/img/enso-ring.svg) center/contain no-repeat;color:var(--sumi);font-size:1.45rem;letter-spacing:-.02em}
.prog .glyph[lang=ru],.prog .glyph[lang=hi],.cls .glyph[lang=ru],.cls .glyph[lang=hi]{font-size:.95rem}
.cls .glyph{width:7rem;height:7rem;font-size:1.9rem}
.prog li{align-items:center}
.prog li.alt .glyph{opacity:.6}
.prog-note{margin:28px 0 0;color:var(--usuzumi)}

/* Hero ensō */
.hero-enso{margin:0;display:grid;place-items:center;position:relative;aspect-ratio:1;align-self:center}
.hero-enso img{position:absolute;inset:0;width:100%;height:100%;filter:none}
.hero-enso span{position:relative;font:700 clamp(6rem,15vw,12rem)/1 var(--serif);color:var(--sumi)}
.hero-enso b{position:absolute;right:16%;bottom:17%;display:grid;place-items:center;width:clamp(44px,5vw,64px);height:clamp(44px,5vw,64px);background:var(--shu);color:var(--sumi);font:700 clamp(1.4rem,2.6vw,2rem)/1 var(--serif);border-radius:4px;box-shadow:inset 0 0 0 3px var(--shu),inset 0 0 0 5px rgba(239,231,216,.85)}
.tategaki{border-left-color:var(--shu)}
@media (max-width:900px){.hero-enso{grid-area:photo;max-width:360px;width:100%;justify-self:center}}
@media (prefers-reduced-motion:no-preference){.hero-enso img{animation:ink 1.2s .1s cubic-bezier(.2,.7,.2,1) both}}
.prog .glyph.g3{font-size:1.05rem;letter-spacing:-.06em}.prog .glyph.g4{font-size:.8rem;letter-spacing:-.08em}
.cls .glyph.g3{font-size:1.4rem;letter-spacing:-.06em}.cls .glyph.g4{font-size:1.05rem;letter-spacing:-.08em}
.sensei figure img{border:1px solid var(--rule)}

/* ===== Arabic (RTL) ===== */
@font-face{font-family:"Plex Arabic";src:url(/fonts/ar-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Plex Arabic";src:url(/fonts/ar-700.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Kufi Arabic";src:url(/fonts/kufi-700.woff2) format("woff2");font-weight:700;font-display:swap}
html[lang=ar]{--sans:"Plex Arabic","Zen Kaku Gothic New",Tahoma,sans-serif;--serif:"Kufi Arabic","Plex Arabic","Shippori Mincho",serif}
html[lang=ar] body{line-height:1.9}
html[lang=ar] h1{line-height:1.35}
html[lang=ar] h1,html[lang=ar] h2,html[lang=ar] h3{letter-spacing:0}
html[lang=ar] [lang=ja]{font-family:"Shippori Mincho","Noto Serif JP",serif}
html[lang=ar] .kicker{letter-spacing:0;text-transform:none;font-size:clamp(1rem,1.4vw,1.2rem)}
html[lang=ar] .tategaki{border-left:0;border-right:3px solid var(--shu);padding-left:0;padding-right:clamp(12px,1.4vw,20px)}
html[lang=ar] .tategaki small{writing-mode:horizontal-tb;max-width:7em;font-size:.85rem}
html[lang=ar] .hero-enso b{right:auto;left:16%}
html[lang=ar] .menu-panel{right:auto;left:0}
html[lang=ar] .wa-float{right:auto;left:16px}
html[lang=ar] .faq summary{font-family:var(--sans);font-weight:700}
html[lang=ar] .btn svg{margin-left:0}
.lang-link{font-family:"Plex Arabic",Tahoma,sans-serif}

.page-enso{max-width:420px;width:100%;justify-self:center}
@media (max-width:900px){.page-enso{grid-area:auto;max-width:300px}}
.more-link a{color:var(--shu);text-decoration:underline;text-underline-offset:3px}
.hero-enso.two span{font-size:clamp(4rem,8.5vw,7rem);letter-spacing:-.04em}
