/* Shared editorial layouts. Base tokens live in style.css. */
[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.small{font-size:14px;line-height:1.9}.header .brand{width:190px;flex-shrink:0}.header{gap:30px;padding:18px 4.5%;height:100px}.header .desktop-nav{gap:23px;margin-left:auto}.header .desktop-nav>a{font-size:12px;letter-spacing:.12em;position:relative;padding:10px 0}.desktop-nav a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--ink);transition:width .3s}.desktop-nav a:hover::after,.desktop-nav a[aria-current]::after{width:100%}.header-actions{display:flex;gap:16px;align-items:center}.header .reserve{font-size:14px;padding:12px 20px;white-space:nowrap}.menu-toggle{display:none;border:0;background:transparent;color:var(--ink);width:44px;height:44px;padding:10px;cursor:pointer}.menu-lines{display:block;height:16px;position:relative}.menu-lines::before,.menu-lines::after{content:'';position:absolute;left:0;width:24px;height:1px;background:currentColor;transition:transform .25s,top .25s}.menu-lines::before{top:3px}.menu-lines::after{top:13px}.menu-toggle[aria-expanded=true] .menu-lines::before{top:8px;transform:rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-lines::after{top:8px;transform:rotate(-45deg)}#mobile-nav{position:absolute;top:100%;left:0;width:100%;padding:24px 7%;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 20px 30px #0001;display:grid;grid-template-columns:1fr 1fr;gap:5px 30px;max-height:calc(100dvh - 84px);overflow:auto}#mobile-nav>a{padding:10px 0;border-bottom:1px solid var(--line);font-size:16px;letter-spacing:.08em}#mobile-nav>a span{display:block;font-size:12px;color:var(--muted);letter-spacing:.02em}.display{font:400 clamp(48px,5.7vw,85px)/1.02 var(--display);letter-spacing:-.025em}.display em,.page-title h1 em{font-weight:400;color:var(--accent)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:54px}.section-heading h2{margin-bottom:0}.section-heading>p{color:var(--muted);margin:0 0 10px}.styles{padding-top:55px;background:#ecf0ed}.style-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.style-grid figure{margin:0}.style-grid figure:nth-child(even){margin-top:52px}.style-grid img{width:100%;aspect-ratio:3/4;object-fit:cover;transition:transform .7s ease}.style-grid figure{overflow:hidden}.style-grid figure:hover img{transform:scale(1.025)}.section-end{display:flex;justify-content:flex-end;margin-top:45px}.section-end.padded{padding:0 7.5% 90px;margin-top:0}.team-feature{display:grid;grid-template-columns:.9fr 1.1fr;gap:10%;align-items:center}.team-feature h2,.recruit-feature h2,.recruit-detail h2,.split-section h2,.cafe-story h2,.lesson-info h2,.cafe-access h2{font:400 clamp(28px,3vw,40px)/1.8 var(--serif);letter-spacing:.03em}.team-feature p:not(.eyebrow){color:var(--muted);max-width:32em}.team-portraits{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.team-portraits>img{width:100%;aspect-ratio:3/4;object-fit:cover}.team-portraits>img:last-child{margin-top:70px}.recruit-feature{display:grid;grid-template-columns:1fr 2fr;background:#e5eae6;gap:60px}.recruit-feature>div{display:grid;grid-template-columns:1fr 1fr;gap:20px 50px}.recruit-feature h2{grid-row:span 2;margin:0}.recruit-feature p{color:var(--muted)}.recruit-feature .text-link{justify-self:start}.access-preview{display:grid;grid-template-columns:1fr 1fr;gap:10%}.details{margin:0}.details>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:25px;border-bottom:1px solid var(--line);padding:20px 0}.details>div:first-child{border-top:1px solid var(--line)}.details dt{font-size:12px;font-weight:500;letter-spacing:.1em;padding-top:3px}.details dd{margin:0;font-size:15px;overflow-wrap:anywhere}.details a:hover{text-decoration:underline}.reservation{background:var(--ink);color:white;display:grid;grid-template-columns:1.2fr 1fr;gap:10%}.reservation h2{font:400 clamp(30px,3.3vw,48px)/1.7 var(--serif)}.reservation p{color:#d2d8d5}.button{border:1px solid var(--ink);background:var(--ink);color:white;display:inline-flex;justify-content:space-between;align-items:center;gap:30px;padding:17px 27px;min-height:56px;cursor:pointer;font-size:15px;line-height:1.7;transition:background .25s,color .25s}.button:hover{background:#455454}.button.light{background:#f7f7f3;color:var(--ink);border-color:#f7f7f3;width:100%;max-width:410px}.button.light:hover{background:#e3e8e2}.button:disabled{cursor:not-allowed;opacity:.45}.telephone{display:block;font:400 34px/1.7 var(--display);letter-spacing:.025em;margin:20px 0 5px}.mobile-booking{display:none}.footer-main{display:flex;justify-content:space-between;gap:60px}.footer-main img{width:205px;mix-blend-mode:multiply}.footer-main p{margin-top:26px;font-size:14px;line-height:1.9;color:var(--muted)}.footer-tel{font-family:var(--display);font-size:26px}.footer-links{max-width:590px}.footer-links nav{display:grid;grid-template-columns:repeat(3,1fr);gap:18px 45px}.footer-links a{font-size:12px;letter-spacing:.08em}.footer-links a:hover{text-decoration:underline}.social-links{display:flex;gap:30px;margin-top:42px}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px;border-top:1px solid var(--line);margin-top:60px;padding-top:25px;font-size:11px;letter-spacing:.1em}.footer-bottom small{margin:0;font-size:11px}.footer-bottom a{font-size:11px}.page-title{padding-top:70px;padding-bottom:64px}.page-title h1{font:400 clamp(64px,8vw,124px)/.99 var(--display);letter-spacing:-.035em;margin:32px 0 42px}.page-title h2{font:400 27px/1.8 var(--serif);margin:0;letter-spacing:.04em}.page-title-bottom{display:flex;justify-content:space-between;align-items:end;gap:32px}.page-title-bottom p{color:var(--muted);font-size:15px;margin:0}.wide-image{margin:0 4.5%;overflow:hidden}.wide-image img{width:100%;height:clamp(260px,42vw,600px);object-fit:cover}.prose-intro{max-width:880px;margin:auto;text-align:center;padding-bottom:50px}.prose-intro h2{font:400 32px/1.85 var(--serif)}.prose-intro p:last-child{color:var(--muted)}.values{padding-top:50px}.value-row{display:grid;grid-template-columns:1.15fr 1fr;gap:9%;align-items:center;margin-bottom:100px}.value-row:last-child{margin-bottom:0}.value-row:nth-child(even)>.value-image{order:2}.value-row h2{font:400 29px/1.8 var(--serif)}.value-row p:not(.eyebrow){color:var(--muted)}.value-image img{width:100%;aspect-ratio:1.4;object-fit:cover}.owner-profile{display:grid;grid-template-columns:.9fr 1.1fr;gap:10%;align-items:center}.owner-profile>img{width:100%;max-height:690px;object-fit:cover}.staff-list{padding-top:20px}.staff-list h2{font:400 29px/1.5 var(--serif)}.staff-list h2 span{display:block;font:400 12px/2 var(--sans);letter-spacing:.15em;margin-top:15px}.owner-profile p:not(.eyebrow){color:var(--muted)}.profile-data{font-size:14px;margin:25px 0}.profile-data>div{padding:12px 0;border-top:1px solid var(--line)}.profile-data dt{color:var(--muted);font-size:12px}.profile-data dd{margin:0}.staff-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;max-width:850px;margin:100px auto 0}.staff-grid img{aspect-ratio:3/4;width:100%;object-fit:cover;margin-bottom:28px}.staff-grid .eyebrow{margin-bottom:14px}.cafe-hero{display:grid;grid-template-columns:1.3fr 1fr;gap:6%;align-items:center;padding-top:60px;padding-bottom:75px}.cafe-hero .display{font-size:clamp(46px,5.5vw,80px)}.cafe-hero h2{font:400 30px/1.8 var(--serif);margin:32px 0 20px}.cafe-hero>img{width:100%;aspect-ratio:4/5;object-fit:cover}.cafe-hero p:last-child{color:var(--muted)}.cafe-story{background:#e5eae6;display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.cafe-photo-pair>img{width:100%}.cafe-photo-pair>img+img{margin-top:24px}.cafe-story p:not(.eyebrow){color:var(--muted)}.cafe-info{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-bottom:50px}.notice{padding:18px 0;color:var(--muted)}.member-note{border-top:1px solid var(--line);margin-top:38px;padding-top:30px}.member-note .eyebrow{margin-bottom:16px}.member-note h3{font-family:var(--serif);font-size:22px}.member-note>p:last-child{font-size:15px;color:var(--muted)}.recruit-image{margin:0 auto;max-width:1120px;padding:0 4.5%}.recruit-image img{height:auto;max-height:620px;object-position:center 38%}.benefits{background:#e5eae6}.three-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px}.three-grid>article{border-top:1px solid var(--line);padding-top:25px}.three-grid h3{font-family:var(--serif);font-size:23px;line-height:1.7}.three-grid p{color:var(--muted);font-size:15px}.three-grid article>span{display:block;font:400 52px/1 var(--display);color:var(--accent);margin-bottom:30px}.recruit-detail,.lesson-info,.cafe-access{display:grid;grid-template-columns:1fr 1.4fr;gap:10%}.recruit-detail .button,.lesson-info .button{margin-top:32px}.related{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding-top:0}.related>a{border-top:1px solid var(--line);padding-top:25px;position:relative}.related h3{font-family:var(--serif);font-size:24px;padding-right:30px}.related>a>span:last-child{position:absolute;right:0;top:45px}.related .eyebrow{font-size:12px}.split-section{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;padding-top:30px}.split-section>img{width:100%}.split-section p{color:var(--muted)}.learning-steps{background:#e5eae6}.learning-steps>article{border-top:1px solid #c1cbc4;padding:45px 0;display:grid;grid-template-columns:120px 1fr;gap:50px}.step-number{font:400 75px/1 var(--display);color:var(--accent)}.learning-steps h2{font-family:var(--serif);font-size:27px}.learning-steps .eyebrow{margin-bottom:18px}.learning-steps p:last-child{max-width:750px;color:var(--muted)}.center-cta{text-align:center;padding-top:55px}.center-cta h2{font-family:var(--serif);font-size:28px}.center-cta .text-link{display:flex;width:max-content;margin:22px auto}.lesson-menu{padding-top:30px}.lesson-menu>article{display:flex;justify-content:space-between;gap:35px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line)}.lesson-menu>article:first-of-type{border-top:1px solid var(--line)}.lesson-menu h3{font-size:19px;font-family:var(--serif);margin-bottom:5px}.lesson-menu article p{font-size:14px;color:var(--muted);margin:0}.lesson-menu strong{font-weight:400;font-size:25px;white-space:nowrap}.notes{font-size:14px;color:var(--muted);padding-left:22px;margin-top:30px}.notes li+li{margin-top:10px}.lesson-info{background:#e5eae6}.access-full{padding-top:20px;display:grid;grid-template-columns:1.1fr 1fr;gap:8%;align-items:start}.access-full img{width:100%;aspect-ratio:4/3;object-fit:cover}.photo-note{font-size:12px;letter-spacing:.14em;margin-top:16px;color:var(--muted)}.access-full .button{margin-top:30px}.access-route{padding-top:25px}.access-route h3{font-size:20px}.route-description{max-width:850px;margin-top:40px;color:var(--muted)}.map-section{padding:0 7.5%}.map-section iframe{display:block;width:100%;height:430px;border:0}.contact-options{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-top:20px;padding-bottom:75px}.contact-options>article{border-top:1px solid var(--line);padding-top:30px}.contact-options h2{font-family:var(--serif);font-size:24px}.contact-options p{color:var(--muted)}.contact-section{background:#e5eae6;display:grid;grid-template-columns:.75fr 1.25fr;gap:8%}.contact-intro h2{font:400 27px/1.8 var(--serif)}.contact-intro p:not(.eyebrow){color:var(--muted);font-size:15px}#contact-form{min-width:0}.form-required{font-size:14px;color:var(--muted);margin-bottom:28px}.field{margin-bottom:24px}.field>label{display:block;font-size:14px;margin-bottom:9px}.field label>span{font-size:11px;margin-left:10px;color:#895135;letter-spacing:.04em}.field label>.optional{color:var(--muted)}.field input,.field textarea,.field select{display:block;width:100%;background:var(--paper);color:var(--ink);border:1px solid #aab6ad;padding:12px 15px;border-radius:0;font-size:16px;line-height:1.7;min-height:50px}.field textarea{resize:vertical}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:22px}.field .small{margin:8px 0 0;font-size:12px}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.privacy{border-top:1px solid #b5c0b7;border-bottom:1px solid #b5c0b7;padding:18px 0;font-size:14px;margin-top:10px}.privacy summary{cursor:pointer}.privacy p{margin:18px 0 0;color:var(--muted)}.consent{display:flex;gap:12px;align-items:center;margin:25px 0;font-size:14px;cursor:pointer}.consent input{width:19px;height:19px;accent-color:var(--ink);flex-shrink:0}.form-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.form-actions .text-link{border:0;border-bottom:1px solid var(--ink);background:none;padding:8px 0;cursor:pointer}#form-status{font-size:14px;line-height:1.9;white-space:pre-line;overflow-wrap:anywhere}#form-status.error{color:#9a321f}.form-review{border:1px solid #aab6ad;padding:25px;margin:25px 0;background:var(--paper)}.form-review h3{font-family:var(--serif);font-size:24px}.form-review dl>div{padding:12px 0;border-bottom:1px solid var(--line)}.form-review dt{font-size:12px;color:var(--muted)}.form-review dd{margin:4px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px}.contact-social{display:grid;grid-template-columns:1.1fr 1fr;gap:8%}.contact-social h2{font-family:var(--serif);font-size:26px}.contact-social>div:last-child{display:grid;gap:18px}.reveal{opacity:0;transform:translateY(18px);transition:opacity .8s ease,transform .8s ease}.reveal.is-visible{opacity:1;transform:none}
@media(min-width:1500px){.section{padding-left:max(7.5vw,calc((100vw - 1280px)/2));padding-right:max(7.5vw,calc((100vw - 1280px)/2))}.hero-visual{height:680px}.hero-copy{left:max(7.5%,calc((100vw - 1280px)/2));}.hero h1{font-size:50px}.header .desktop-nav{gap:32px}}
@media(max-width:1150px){.header .desktop-nav{gap:16px}.header .brand{width:165px}.header{gap:22px;padding-left:3%;padding-right:3%}.header .desktop-nav>a{font-size:11px}.header .reserve{padding:11px 16px}.reserve span{margin-left:12px}.recruit-feature{grid-template-columns:.6fr 2fr;gap:30px}.recruit-feature>div{grid-template-columns:1fr}.recruit-feature h2{grid-row:auto}.hero-copy{padding-right:30px}.details>div{grid-template-columns:90px 1fr;gap:18px}.footer-links nav{gap:18px 25px}}
@media(max-width:980px){.header .desktop-nav{display:none}.header-actions{margin-left:auto}.menu-toggle{display:block}.header{height:86px;padding:15px 5%}.header .brand{width:180px}.section{padding-top:80px;padding-bottom:80px}.hero-visual{margin-left:17%;height:580px}.hero-copy{left:7.5%;padding-right:28px}.hero h1{font-size:36px}.page-title h1{font-size:85px}.page-title-bottom{align-items:start;flex-direction:column;gap:20px}.value-row{gap:6%}.value-row h2{font-size:25px}.contact-section{grid-template-columns:1fr;gap:35px}.contact-intro{max-width:650px}.contact-intro p{margin-bottom:12px}.footer-main{gap:30px}.footer-links nav{gap:18px 20px}.footer-bottom>span{display:none}}
@media(max-width:760px){body{padding-bottom:60px}.header{height:82px;gap:10px;padding:14px 20px}.header .brand{width:145px}.header-actions{gap:8px}.header .reserve{font-size:12px;padding:8px 12px}.header .reserve span{margin-left:10px}.hero-visual{margin-left:28px;height:330px}.hero-copy{left:auto;padding:26px 14px 14px 0}.hero h1{font-size:clamp(23px,6vw,36px)}.hero .eyebrow{font-size:10px}.hero-bottom{font-size:10px}.section{padding:66px 26px}.display{font-size:53px}.section-heading{align-items:start;flex-direction:column;gap:25px;margin-bottom:35px}.section-heading p{font-size:15px}.style-grid{grid-template-columns:1fr 1fr;gap:18px}.style-grid figure:nth-child(even){margin-top:30px}.style-grid figure:nth-child(3){margin-top:-30px}.style-grid figure:nth-child(4){margin-top:0}.styles{padding-top:50px}.section-end{margin-top:30px}.team-feature,.access-preview,.reservation,.recruit-feature,.cafe-story,.cafe-info,.recruit-detail,.lesson-info,.cafe-access,.access-full,.contact-options,.contact-social{grid-template-columns:1fr;gap:38px}.team-feature h2,.recruit-feature h2,.recruit-detail h2,.split-section h2,.cafe-story h2{font-size:28px}.team-portraits{gap:18px}.team-portraits>img:last-child{margin-top:40px}.recruit-feature>div{gap:18px}.recruit-feature p{margin-bottom:0}.recruit-feature>.eyebrow{margin-bottom:0}.details>div{grid-template-columns:83px 1fr;gap:15px;padding:17px 0}.details dd{font-size:14px}.details dt{font-size:11px}.reservation h2{font-size:32px;margin:0}.reservation .eyebrow{margin-bottom:16px}.reservation .telephone{font-size:34px}.mobile-booking{position:fixed;bottom:0;left:0;right:0;height:58px;display:grid;grid-template-columns:1fr 1fr;z-index:15;box-shadow:0 -3px 20px #0001;padding-bottom:env(safe-area-inset-bottom);box-sizing:content-box;background:var(--paper)}.mobile-booking>a{font-size:12px;display:grid;place-items:center;background:var(--paper);line-height:1.5;letter-spacing:.02em}.mobile-booking>a:last-child{background:var(--ink);color:white}.footer{padding:50px 26px 32px}.footer-main{display:block}.footer-main img{width:185px}.footer-links{margin-top:35px}.footer-links nav{grid-template-columns:repeat(3,1fr);gap:17px 10px}.footer-links a{font-size:11px}.social-links{gap:20px;flex-wrap:wrap;margin-top:28px}.footer-bottom{margin-top:35px;padding-top:20px;gap:15px}.page-title{padding-top:45px;padding-bottom:42px}.page-title h1{font-size:clamp(60px,15vw,88px);margin:24px 0 30px}.page-title h2{font-size:24px;line-height:1.8}.page-title-bottom p{font-size:14px}.wide-image{margin:0 20px}.wide-image img{height:280px}.prose-intro h2{font-size:26px}.prose-intro{padding-bottom:20px}.value-row{display:flex;flex-direction:column;gap:28px;margin-bottom:62px;align-items:stretch}.value-row:nth-child(even)>.value-image{order:0}.value-row .eyebrow{margin-bottom:16px}.value-row h2{font-size:27px}.value-row p{font-size:15px}.value-image img{aspect-ratio:1.5}.owner-profile{grid-template-columns:1fr;gap:34px}.owner-profile>img{max-height:540px;object-position:center 35%}.staff-list{padding-top:10px}.staff-list h2{font-size:28px}.staff-list h2 span{font-size:11px}.owner-profile p:not(.eyebrow){font-size:15px}.staff-grid{gap:24px;margin-top:65px}.staff-grid h2{font-size:22px}.staff-grid h2 span{font-size:9px;letter-spacing:.03em}.staff-grid img{margin-bottom:19px}.staff-grid .eyebrow{font-size:10px;letter-spacing:.07em}.staff-grid .text-link{gap:10px;font-size:13px}.cafe-hero{padding-top:44px;grid-template-columns:1fr;gap:28px}.cafe-hero .display{font-size:clamp(45px,11.3vw,64px)}.cafe-hero h2{font-size:27px;margin-top:25px}.cafe-hero>img{height:410px;aspect-ratio:auto;object-position:center 40%}.cafe-hero p:last-child{font-size:14px}.cafe-story{gap:35px}.cafe-photo-pair{display:grid;grid-template-columns:1fr;gap:18px}.cafe-photo-pair>img+img{margin-top:0}.cafe-info .display{margin-bottom:0}.section-end.padded{padding:0 26px 65px}.recruit-image{padding:0;margin:0 20px}.recruit-image img{height:300px;object-position:50% 25%}.three-grid{grid-template-columns:1fr;gap:26px}.three-grid>article{padding-top:22px}.three-grid article>span{font-size:40px;margin-bottom:17px}.three-grid h3{font-size:24px;margin-bottom:14px}.three-grid p{margin-bottom:0}.related{grid-template-columns:1fr;gap:25px;padding-top:0}.related h3{font-size:23px}.split-section{grid-template-columns:1fr;gap:30px;padding-top:15px}.learning-steps>article{grid-template-columns:47px 1fr;gap:20px;padding:30px 0}.step-number{font-size:44px}.learning-steps h2{font-size:23px;line-height:1.8}.learning-steps p:last-child{font-size:15px}.learning-steps .eyebrow{font-size:10px;letter-spacing:.09em}.center-cta h2{font-size:25px}.button{font-size:14px;padding:15px 21px;gap:20px}.center-cta .button{width:100%;text-align:left}.center-cta .text-link{font-size:14px}.lesson-menu .section-heading{gap:10px}.lesson-menu h2{font-size:26px;line-height:1.6}.lesson-menu>article{display:block;padding:25px 0}.lesson-menu h3{font-size:19px}.lesson-menu strong{font-size:23px;display:block;margin-top:12px}.lesson-menu article p{font-size:13px}.notes{font-size:13px}.lesson-info h2{font-size:28px}.access-full{padding-top:0}.access-route .three-grid{gap:15px}.access-route h3{font-size:21px;margin-bottom:8px}.route-description{font-size:15px}.map-section{padding:0 20px}.map-section iframe{height:330px}.cafe-access h2{font-size:26px}.contact-options{padding-top:10px}.contact-options h2{font-size:22px}.contact-section{gap:32px}.contact-intro h2{font-size:25px}.form-two{grid-template-columns:1fr;gap:0}.field{margin-bottom:21px}.consent{font-size:13px}.form-review{padding:20px}.contact-social h2{font-size:24px}.contact-social{gap:20px}#mobile-nav{padding-bottom:25px}.privacy{font-size:13px}.hero-copy .text-link{font-size:13px}}
@media(max-width:360px){.header{padding-left:15px;padding-right:12px}.header .brand{width:128px}.header-actions{gap:4px}.hero h1{font-size:23px}.section{padding-left:22px;padding-right:22px}.hero{padding-left:18px;padding-right:18px}.hero-copy{padding-right:5px;max-width:100%}.hero-bottom{letter-spacing:.06em}.page-title h1{font-size:59px}.footer-links nav{gap:15px 8px}.footer-links a{font-size:10px}.eyebrow{letter-spacing:.13em}}
/* Avoid orphaned characters in Japanese display headings. */
h1,h2,h3{text-wrap:balance;line-break:strict;overflow-wrap:normal}p{text-wrap:pretty}
@media(max-width:760px){.hero-bottom{display:block}.hero-bottom span{display:block!important;max-width:none!important;text-align:left!important}.hero-bottom span+span{margin-top:3px}.staff-grid h2{font-size:clamp(19px,5.5vw,22px)}}
/* Give the recruitment headline its own readable measure. */
.recruit-feature{display:block}.recruit-feature>div{grid-template-columns:1.1fr 1fr;gap:22px 65px}.recruit-feature h2{font-size:clamp(28px,3vw,40px)}
@media(max-width:760px){.recruit-feature>div{grid-template-columns:1fr;gap:22px}.recruit-feature>.eyebrow{margin-bottom:24px}}
/* Navigation and supporting labels stay legible at every breakpoint. */
.header .desktop-nav>a{font-size:14px;letter-spacing:.07em}.footer-links a{font-size:14px;letter-spacing:.04em}.footer-bottom,.footer-bottom small,.footer-bottom a,.hero-bottom,.eyebrow,.hero .eyebrow,.staff-grid .eyebrow,.staff-grid h2 span,.learning-steps .eyebrow{font-size:12px}.field label>span,.details dt{font-size:12px}.header #mobile-nav>a{display:block;min-height:58px}.footer-links nav{column-gap:26px}
@media(max-width:1150px) and (min-width:981px){.header .desktop-nav{gap:14px}.header{gap:18px}.header .brand{width:158px}.header .desktop-nav>a{font-size:13px}}
@media(max-width:760px){.hero-bottom{font-size:12px;letter-spacing:.025em}.hero-bottom span:first-child{max-width:170px}.hero-bottom span:last-child{max-width:125px}.hero .eyebrow{font-size:11px;letter-spacing:.1em}.footer-links nav{grid-template-columns:1fr 1fr;gap:14px 20px}.footer-links a{font-size:14px}.social-links{display:grid;gap:12px}.staff-grid{gap:18px}.staff-grid h2 span{font-size:12px;letter-spacing:0}.header #mobile-nav>a{font-size:16px}.header #mobile-nav>a span{font-size:12px}.mobile-booking>a{font-size:14px}.form-required,.privacy,.consent,.notes{font-size:14px}}
main p:not(.eyebrow):not(.small):not(.photo-note):not(.form-required):not(#form-status){font-size:16px}.details dd{font-size:16px}.details dt{font-size:14px;letter-spacing:.04em}.header .desktop-nav>a{font-size:14px}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
/* Bilingual desktop navigation and the current single stylist profile. */
.header .desktop-nav>a{display:flex;flex-direction:column;align-items:center;gap:3px;line-height:1.5;white-space:nowrap}
.header .desktop-nav .nav-ja{font-size:12px;font-weight:400;letter-spacing:.02em;color:var(--muted)}
.team-portraits.single-portrait{grid-template-columns:1fr;max-width:380px;width:100%;justify-self:center}
.team-portraits.single-portrait>img{margin-top:0}
.related.related-single{grid-template-columns:1fr}
.hours-note{display:block;font-size:14px;color:var(--muted);margin-top:6px}


/* Owner-requested cafe branding, with the supplied current logo. */
.cafe-brand{text-align:center;padding-top:64px;padding-bottom:40px}
.cafe-brand h1{font:500 clamp(24px,2.5vw,34px)/1.5 var(--sans);letter-spacing:.08em;margin:0 0 30px}
.cafe-brand .cafe-logo{width:320px;height:auto;margin:0 auto}
.cafe-hero{padding-top:40px}
.cafe-info-title,.access-preview h2{font:400 clamp(28px,3vw,40px)/1.8 var(--serif);letter-spacing:.03em}
.cafe-photo-pair>.cafe-cups-wide{width:100%;height:auto;aspect-ratio:539/226;object-fit:cover;object-position:center 37%}
@media(max-width:760px){.cafe-brand{padding-top:40px;padding-bottom:28px}.cafe-brand h1{font-size:24px;letter-spacing:.04em;margin-bottom:28px}.cafe-brand .cafe-logo{width:min(76vw,280px)}.cafe-hero{padding-top:28px}}

.details .keep-together{display:inline-block}
