:root{--ink:#292b46;--paper:#fff9f0;--line:#9b85a1;--sun:#ffad42;--muted:#383557;font-family:system-ui,-apple-system,'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;color:var(--ink);background:var(--paper);font-size:18px;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #29239c;outline-offset:6px}a,button{-webkit-tap-highlight-color:transparent}p,h1,h2,figure,dl,dd{margin:0}p{line-height:1.9}h1,h2{font-family:'Yu Mincho','Hiragino Mincho ProN',Georgia,serif;font-weight:500;letter-spacing:.05em}h2{font-size:clamp(32px,3.5vw,52px);line-height:1.6}.demo-banner{position:sticky;top:0;z-index:20;text-align:center;background:#ffbc60;color:#292b46;padding:11px 14px;font-size:16px;line-height:1.6}.skip{position:absolute;left:20px;top:-150px;background:var(--paper);padding:20px;z-index:30}.skip:focus{top:60px}.site-header{display:flex;align-items:center;justify-content:space-between;padding:28px 5%;background:#ffad42;gap:24px}.name{font-size:22px;font-family:'Yu Mincho','Hiragino Mincho ProN',serif;white-space:nowrap}.site-header nav{display:flex;align-items:center;gap:36px}.site-header nav a{min-height:52px;display:flex;align-items:center}.nav-book{border-bottom:1px solid var(--ink);gap:30px}.opening{padding:28px 5% 0;background:linear-gradient(150deg,#ffad42 10%,#ffa34c 60%,#ff9c38 100%);position:relative;overflow:hidden}.opening-meta{display:flex;justify-content:space-between;gap:20px;font-size:18px}.section-wrap{max-width:1400px;margin:auto;padding:110px 7%}.section-label{font-size:18px;line-height:1.7;letter-spacing:.06em}.about{display:grid;grid-template-columns:1fr 2fr;position:relative;padding-top:130px;padding-bottom:140px;gap:35px}.about-copy{max-width:740px}.about h2{margin-bottom:38px}.about-copy p{font-size:20px;line-height:2.1;margin-top:23px}.about-star{position:absolute;left:8%;bottom:135px;color:#634187;font-size:62px;font-family:Georgia,serif}.menu{display:grid;grid-template-columns:1fr 2fr;gap:35px;border-top:1px solid var(--line)}.menu-title h2{margin-top:20px}.menu-list>div{border-bottom:1px solid var(--line);padding:29px 0;display:flex;justify-content:space-between;align-items:center;gap:22px}.menu-list>div:first-child{padding-top:0}.menu-list dt{font-size:29px;font-family:'Yu Mincho','Hiragino Mincho ProN',serif}.menu-list dd{font-size:18px;color:var(--muted)}.note{font-size:16px;color:var(--muted);line-height:1.8;margin-top:24px}.access{background:#d4c1ee}.access-inner{display:grid;grid-template-columns:1fr 1.2fr 1.1fr;gap:38px}.access-title h2{font-size:32px;margin-bottom:27px}.access-title p{font-size:20px}.map-link{display:flex;justify-content:space-between;max-width:280px;align-items:center;min-height:62px;border-bottom:1px solid var(--ink);margin-top:28px;gap:25px;font-size:20px}.shop-info>div{padding:0 0 23px;margin-bottom:23px;border-bottom:1px solid #9b85a1}.shop-info dt{font-size:18px;margin-bottom:8px}.shop-info dd{color:var(--muted);font-size:18px}.reservation{display:grid;grid-template-columns:1fr 2fr;gap:35px}.reservation h2{margin-bottom:27px}.reservation-main>p{font-size:20px}.reserve-link{display:flex;justify-content:space-between;align-items:center;background:#ffad42;color:#fff9f0;padding:24px 28px;font-size:22px;max-width:500px;min-height:76px;gap:25px;margin-top:38px}.reserve-link:hover,.booking-dock a:hover{background:#ffc36e}.reservation-main .note{font-size:16px}footer{background:#29239c;color:#fff9f0;padding:55px 7% 40px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:32px}.footer-brand{font-family:Georgia,serif;font-size:clamp(64px,10vw,130px);letter-spacing:-.045em;line-height:1.1}.footer-top p{font-size:20px}.footer-bottom{border-top:1px solid #aab9f3;margin-top:45px;padding-top:25px;display:flex;justify-content:space-between;align-items:center;gap:28px}.footer-bottom p{font-size:16px}.footer-bottom a{font-size:18px;display:inline-flex;min-height:52px;align-items:center;gap:20px;text-decoration:underline;text-underline-offset:6px}.booking-dock{position:fixed;right:25px;bottom:24px;z-index:10;box-shadow:0 4px 25px #292b4625}.booking-dock a{background:#ffad42;color:#fff9f0;display:flex;align-items:center;gap:35px;padding:19px 25px;font-size:20px;min-height:64px}.booking-dock span{font-size:16px}footer{padding-bottom:125px}@media(min-width:1600px){.opening{padding-left:max(5%,calc((100vw - 1450px)/2));padding-right:max(5%,calc((100vw - 1450px)/2))}}@media(max-width:1000px){.access-inner{grid-template-columns:1fr 2fr}.shop-info{grid-column:2}.section-wrap{padding:85px 6%}.about-star{bottom:90px}.site-header nav{gap:24px}}@media(max-width:640px){.demo-banner{font-size:16px;padding:9px 10px}.site-header{padding:18px 6%;gap:14px;align-items:center}.name{font-size:21px}.site-header nav{gap:18px}.site-header nav>a:not(.nav-book){display:none}.site-header .nav-book{font-size:18px;gap:16px;min-height:52px}.opening{padding:24px 6% 0}.opening-meta{display:block}.opening-meta p{font-size:18px}.opening-meta p:last-child{display:none}.section-wrap{padding:65px 7%}.about,.menu,.reservation{display:block}.section-label{font-size:18px;margin-bottom:32px}.about h2{font-size:32px;margin-bottom:25px}.about-copy p{font-size:20px;line-height:2}.about-star{position:static;display:block;font-size:48px;line-height:1;margin-top:40px}.desktop-break{display:none}.menu-title h2{margin-top:0;margin-bottom:36px}.menu-list>div{padding:25px 0;gap:16px}.menu-list dt{font-size:27px}.menu-list dd{font-size:18px}.access-inner{display:block}.access-title h2{font-size:30px;margin-bottom:23px}.shop-info{margin-top:45px}.shop-info>div:last-child{margin-bottom:0}.access-title p{font-size:20px}.reservation h2{font-size:32px}.reserve-link{font-size:20px;padding:22px 20px;gap:16px}.footer-top,.footer-bottom{display:block}.footer-brand{font-size:76px;display:inline-block;margin-bottom:25px}.footer-top p{font-size:20px}.footer-bottom{margin-top:34px}.footer-bottom a{margin-top:17px;line-height:1.8;align-items:start}.booking-dock{left:0;right:0;bottom:0;padding:10px 5% calc(10px + env(safe-area-inset-bottom));background:#fff9f0}.booking-dock a{justify-content:space-between;padding:15px 20px;min-height:58px;font-size:20px}.booking-dock span{font-size:16px}footer{padding:48px 7% 130px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Photo-free identity study: letterpress-like lettering and an eight-point star. */
.opening{background:linear-gradient(145deg,#ffb14b 0%,#ffa14a 57%,#ff9c38 100%);padding-top:30px;padding-bottom:58px}
.logo-composition{margin:60px 0 65px;padding:30px 0 38px;border-top:1px solid #9b5f51;border-bottom:1px solid #9b5f51}
.logo-drawing{display:block;width:100%;height:auto;overflow:visible}
.logo-descriptor{font-family:system-ui,sans-serif;font-size:clamp(20px,2.8vw,38px);font-weight:600;letter-spacing:.045em;margin-left:18%;line-height:1.5}
.opening-end{display:flex;align-items:end;justify-content:space-between;gap:40px;padding:0 0 10px}
.opening h1{font-size:clamp(32px,3.8vw,54px);line-height:1.7;letter-spacing:.08em;font-weight:400}
.opening-sample{font-size:16px;max-width:250px;line-height:1.8;padding-bottom:8px}
.about-star{width:72px;height:76px}
.footer-brand{font-family:'Courier New',Courier,monospace;font-weight:400;font-size:clamp(58px,9vw,110px);letter-spacing:-.065em}
@media(max-width:640px){.opening{padding:20px 6% 42px}.opening-meta p:last-child{display:none}.logo-composition{margin:40px 0 38px;padding:32px 0 30px}.logo-descriptor{font-size:20px;letter-spacing:.015em;margin-left:18%;margin-top:8px}.opening-end{display:flex;flex-direction:column-reverse;align-items:start;gap:27px;padding:0}.opening h1{font-size:32px;line-height:1.8}.opening-sample{font-size:16px;max-width:none;padding:0}.about-star{width:55px;height:58px}.footer-brand{font-size:68px}}
/* One sunset journey: amber sky, reflected coral, lilac dusk, then blue sea. */
body{background:#ffad42}
.site-header{background:#ffad42}
main{background:linear-gradient(180deg,#ffad42 0%,#ffa573 21%,#ffb19e 37%,#e8b3d6 53%,#c5b6f3 67%,#a7b8f1 82%,#29239c 100%)}
.opening{isolation:isolate;background:none;padding-bottom:65px}
.opening::before{content:"";position:absolute;z-index:-1;pointer-events:none;inset:0;background:radial-gradient(ellipse at 68% 8%,#fff3c86b,transparent 51%),linear-gradient(90deg,transparent 46%,#fff4d938 66%,transparent 80%)}
.opening::after{content:"";position:absolute;z-index:-1;pointer-events:none;left:0;right:0;bottom:0;height:29%;background:repeating-linear-gradient(180deg,transparent 0 18px,#fff4df30 19px,transparent 20px 42px);mask-image:linear-gradient(90deg,transparent 22%,#000 68%,transparent 94%)}
.logo-composition{border-color:#a56551}
.about,.menu,.access,.access-inner{background:none}
.about-star{color:#71477e}
.menu{border-color:#9c7090}
.menu-list>div,.shop-info>div{border-color:#9081ad}
.menu-list dd,.note,.shop-info dd{color:#34314e}
.access-title .map-link{border-color:#7973a0}
.reservation{max-width:none;padding:150px max(7%,calc((100vw - 1204px)/2)) 100px;background:linear-gradient(180deg,transparent 0%,#343bac 27%,#302fa5 82%,#29239c 100%);color:#fff9ef}
.reservation .note{color:#fff5e5}
.reservation .reserve-link{background:#ffad42;color:#fff9ef;border:1px solid #ffd38d}
.reservation .reserve-link:hover{background:#ffc36e}
footer{background:#29239c;color:#fff9ef}
.footer-bottom{border-color:#a9bafb}
@media(max-width:640px){.opening{padding-bottom:48px}.opening::after{height:33%}.reservation{padding:140px 7% 75px}.reservation .section-label{margin-bottom:30px}}

/* Clear orange-to-lapis palette; dark button labels preserve contrast. */
.demo-banner{color:#292b46}
.reserve-link,.booking-dock a,.reservation .reserve-link{color:#292b46}
.reservation .reserve-link:hover,.reserve-link:hover,.booking-dock a:hover{color:#292b46}

/* Quiet water catches the light: fine, broken horizontal reflections. */
.opening::after{display:none}
.reservation{position:relative;padding-top:205px}
.water-glints{position:absolute;top:12px;left:0;width:100%;height:165px;pointer-events:none;color:#ffe4a6;opacity:.95;mask-image:linear-gradient(transparent,#000 14%,#000 78%,transparent);-webkit-mask-image:linear-gradient(transparent,#000 14%,#000 78%,transparent)}
.reservation::before{content:"";position:absolute;top:22px;left:32%;width:47%;height:132px;background:radial-gradient(ellipse,#ffdaa825,transparent 70%);pointer-events:none}
footer{position:relative;padding-top:115px}footer>.water-glints{height:80px;top:6px;color:#ffe4b7;opacity:.75}
@media(max-width:640px){.reservation{padding-top:175px}.water-glints{height:135px;left:-20%;width:120%}.reservation::before{top:18px;left:20%;width:70%;height:115px}footer{padding-top:95px}footer>.water-glints{height:65px}}
/* One continuous atmospheric layer, rather than independently painted sections. */
body{background:radial-gradient(ellipse 70% 560px at 68% 130px,#fff3c86b,transparent 78%),linear-gradient(180deg,#ffad42 0%,#ffa573 18%,#ffb19e 32%,#e8b3d6 45%,#c5b6f3 56%,#a7b8f1 var(--sky-end,65%),#343bac var(--sea-start,74%),#29239c 100%);background-repeat:no-repeat}
.site-header,main,.opening,.about,.menu,.access,.access-inner,.reservation,footer{background:transparent}
.opening::before,.reservation::before{display:none}
.water-glints{-webkit-mask-image:radial-gradient(ellipse 48% 49% at 56% 50%,#000 25%,transparent 100%);mask-image:radial-gradient(ellipse 48% 49% at 56% 50%,#000 25%,transparent 100%)}

/* Approved typography: readable Japanese sans with calm, medium-weight headings. */
:root{--font-body:'Noto Sans JP',system-ui,-apple-system,'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;--font-heading:'Shippori Mincho','Yu Mincho','Hiragino Mincho ProN',serif;font-family:var(--font-body)}
h1,h2,.name{font-family:var(--font-heading);font-weight:500}
.opening h1{font-weight:500}
.menu-list dt,.menu-list dd,.shop-info,.section-label,.note,.logo-descriptor{font-family:var(--font-body)}
.menu-list dt{font-weight:500}
/* The existing refrect SVG and footer wordmark retain their original Courier stack. */

/* English location accents; the practical Japanese address remains alongside. */
.location-label{font-family:var(--font-body);font-size:18px;font-weight:500;letter-spacing:.12em;line-height:1.8;overflow-wrap:break-word}
.access-title .address-en{font-family:var(--font-body);font-size:16px;font-weight:400;line-height:1.85;letter-spacing:.015em;margin-top:18px;max-width:36ch;overflow-wrap:break-word}

/* Confirmed salon menu: clear categories, inclusions and tax-inclusive prices. */
.menu-tax{font-family:var(--font-body);font-size:18px;line-height:1.8;margin-top:24px}
.menu-group{margin:0 0 56px}.menu-group h3{font-family:var(--font-body);font-size:24px;font-weight:600;line-height:1.7;margin:0 0 10px}.menu-group h3>span{font-size:18px;font-weight:500;display:inline-block}
.menu-includes{font-size:18px;line-height:1.8;margin-bottom:22px}.menu-group .menu-list{margin-top:20px}
.menu-group .menu-list>div{padding:23px 0;align-items:start}.menu-group .menu-list>div:first-child{padding-top:14px}
.menu-group .menu-list dt{font-family:var(--font-body);font-size:20px;font-weight:500;line-height:1.8;min-width:0}
.menu-group .menu-list dd{font-family:var(--font-body);font-size:22px;font-weight:500;line-height:1.65;white-space:nowrap;color:var(--ink);font-variant-numeric:tabular-nums}
.menu-detail{display:block;font-size:16px;font-weight:400;line-height:1.85;margin-top:5px}
@media(max-width:640px){.menu-title{margin-bottom:38px}.menu-title h2{margin-bottom:15px}.menu-tax{margin-top:0}.menu-group{margin-bottom:45px}.menu-group h3{font-size:23px}.menu-group .menu-list>div{gap:18px}.menu-group .menu-list dd{font-size:20px}}
@media(max-width:360px){.menu-group .menu-list>div{display:block}.menu-group .menu-list dd{text-align:right;margin-top:12px}}

/* Audit fixes: semantic line breaks, compact menu rhythm, clear mobile shortcuts. */
.heading-line{display:block;white-space:nowrap}.text-chunk{display:inline-block;white-space:nowrap}
.about{padding-top:78px;padding-bottom:90px}.about h2{line-height:1.65}.about-copy p{margin-top:18px}.about-star{bottom:90px}
.opening{padding-bottom:40px}
.menu{display:block;padding-top:70px;padding-bottom:75px}.menu-title{display:flex;align-items:baseline;gap:26px;flex-wrap:wrap;margin-bottom:38px}.menu-title .section-label{margin:0}.menu-title h2{margin:0}.menu-title .menu-tax{margin:0 0 0 auto}
.menu-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:70px;row-gap:36px;align-items:start}
.menu-group{margin:0}.menu-group h3{margin-bottom:8px}.menu-includes{margin-bottom:14px}.menu-group .menu-list{margin-top:12px}.menu-group .menu-list>div{padding:17px 0;gap:20px}.menu-group .menu-list>div:first-child{padding-top:10px}.menu-detail{margin-top:3px}.menu-content>.note{grid-column:1/-1;margin-top:0}
.booking-dock .dock-short{display:none}
@media(max-width:900px){.menu-content{grid-template-columns:minmax(0,1fr);row-gap:34px}.menu-title .menu-tax{margin-left:0}.menu-title{column-gap:22px;row-gap:10px}}
@media(max-width:640px){.opening{padding-bottom:28px}.about{padding-top:45px;padding-bottom:55px}.about .section-label{margin-bottom:24px}.about h2{margin-bottom:20px}.about-star{margin-top:28px}.menu{padding-top:48px;padding-bottom:55px}.menu-title{display:block;margin-bottom:28px}.menu-title .section-label{margin-bottom:10px}.menu-title h2{margin-bottom:12px}.menu-group .menu-list>div{gap:16px}.menu-group h3{font-size:23px}.menu-content{row-gap:30px}.booking-dock{display:grid;grid-template-columns:.8fr 1fr 1.3fr;gap:8px;padding:10px 4% calc(10px + env(safe-area-inset-bottom))}.booking-dock a,.booking-dock .dock-short{display:flex;justify-content:center;align-items:center;gap:0;padding:12px 6px;font-size:18px;min-height:58px}.booking-dock .dock-short{background:#fff9f0;border:1px solid #68658a;color:#292b46}.booking-dock .dock-book{flex-direction:column;line-height:1.5}.booking-dock .dock-book span{font-size:16px}}

/* Tago and Paris: original illustrated sunset, with accessible HTML content. */
:root{--ink:#202351;--paper:#fff9f0;--line:#d8c9b9}
body{background:var(--paper);color:var(--ink)}
.demo-banner{position:relative;background:#f3e8d9;color:#292b46}
.site-header{background:var(--paper);padding:18px 6%;gap:16px}
.brand-mark{display:block;width:clamp(180px,24vw,300px);min-height:52px;align-content:center}
.brand-mark .logo-drawing{display:block;width:100%;height:auto;margin:0;color:#202351}
.site-header nav{gap:28px}.nav-book{border:1px solid #29239c;border-radius:40px;padding:0 22px}
.sunset-hero{position:relative;padding:0;min-height:760px;background:#fff9f0;isolation:isolate}
.sunset-art{display:block;width:65%;height:auto;margin-left:auto;min-height:760px;object-fit:cover;object-position:center;max-height:1000px}
.hero-copy{position:absolute;z-index:1;left:7%;top:15%;max-width:65%;padding:18px 0}
.hero-copy::before{content:"";position:absolute;z-index:-1;inset:-40px -45px;background:radial-gradient(ellipse,#fff9f0ed 25%,#fff9f099 55%,transparent 75%);pointer-events:none}
.hero-copy .location-label{font-size:16px;letter-spacing:.16em;margin-bottom:26px}
.sunset-hero h1{font-size:clamp(42px,5.1vw,78px);line-height:1.65;margin:0;letter-spacing:.02em;color:#202351}
.sunset-hero h1>span{display:block;white-space:nowrap}
.hero-intro{font-size:20px;margin-top:24px;line-height:1.9}
.about{display:block;padding-top:76px;padding-bottom:80px;background:var(--paper)}
.about>.section-label{margin-bottom:26px}.about-copy{max-width:900px}.about h2{font-size:clamp(32px,4vw,54px);margin-bottom:22px}.about-star{display:none}
.hero-actions{display:flex;gap:20px;flex-wrap:wrap;margin-top:30px}.hero-actions a{display:flex;align-items:center;justify-content:space-between;gap:34px;border:1px solid #29239c;border-radius:50px;min-height:60px;padding:14px 30px;font-size:20px;min-width:230px}.hero-actions a:first-child{background:#29239c;color:#fff9f0}.hero-actions a:hover{background:#eee3d8;color:#202351}
.menu{border-top:1px solid var(--line)}.access{background:#f5eddf}.access-inner{background:transparent}
.reservation{background:linear-gradient(180deg,#343bac,#29239c);color:#fff9ef}.reservation .reserve-link{background:#ffad42;color:#202351}footer{background:#29239c}
.booking-dock{background:#fff9f0}.booking-dock .dock-book{background:#29239c;color:#fff9f0;border-radius:6px}.booking-dock .dock-book:hover{background:#343bac;color:#fff9f0}
@media(max-width:640px){
.site-header{padding:12px 5%;gap:12px}.brand-mark{width:180px;min-width:0}.site-header .nav-book{font-size:16px;padding:0 14px;gap:8px;white-space:nowrap}.site-header nav{gap:0}
.sunset-hero{min-height:0;padding:0}.sunset-art{width:100%;height:auto;min-height:0;max-height:none;object-fit:contain;margin:0}
.hero-copy{left:6%;top:2%;max-width:90%;padding:0}.hero-copy::before{display:none}.hero-copy .location-label{font-size:16px;margin:0 0 8px;letter-spacing:.09em}
.sunset-hero h1{font-size:clamp(29px,7.7vw,48px);line-height:1.6;letter-spacing:0}.hero-intro{font-size:18px;line-height:1.75;margin-top:10px;max-width:75%}
.about{padding:44px 6% 48px}.about>.section-label{margin-bottom:16px}.about h2{font-size:clamp(26px,6.4vw,38px);line-height:1.7}.about-copy p{font-size:18px}.hero-actions{gap:12px;margin-top:24px}.hero-actions a{width:100%;min-width:0;font-size:18px;min-height:56px}
.booking-dock{box-shadow:0 -2px 16px #20235112;border-top:1px solid #d8c9b9}.booking-dock .dock-short{background:transparent;border:0;border-radius:0}.booking-dock a{font-size:18px}
}

/* Practical paths after discovering the salon. */
.menu-jump{display:flex;flex-wrap:wrap;gap:8px 24px;margin:0 0 34px;border-block:1px solid var(--line);padding:12px 0}
.menu-jump a{display:flex;align-items:center;min-height:52px;font-size:18px;text-decoration:underline;text-underline-offset:6px;text-decoration-color:#aaa0c7}
.menu-group h3{scroll-margin-top:30px}
.section-next{display:flex;flex-wrap:wrap;align-items:center;gap:12px 30px;border-top:1px solid var(--line);margin-top:42px;padding-top:24px}
.section-next p{font-size:18px}.section-next a,.access-next a{display:inline-flex;gap:20px;align-items:center;min-height:56px;text-decoration:underline;text-underline-offset:6px;font-size:18px}
.access-next{grid-column:2/-1;border-top:1px solid var(--line);padding-top:16px}
@media(max-width:640px){.menu-jump{gap:4px 22px;margin-bottom:28px}.menu-group h3{scroll-margin-top:22px}.section-next{display:block;margin-top:28px}.section-next p{margin-bottom:8px}.section-next a{display:flex;justify-content:space-between}.access-next{margin-top:28px}}

/* Compact profile: a portrait, three milestones, and the reasons to choose him. */
.owner-profile{max-width:1204px;margin:64px auto 0;padding-top:40px;border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:8%;scroll-margin-top:28px}
.owner-heading,.owner-story{min-width:0}
.owner-portrait{width:100%;max-width:240px;margin:0;border:1px solid #cbbba4;background:#f4eee4}
.owner-portrait img{display:block;width:100%;height:auto}
.owner-identity{margin-top:20px}
.owner-identity .section-label{font-size:16px;letter-spacing:.06em;margin:0 0 6px}
.owner-heading h2{font-size:30px;font-weight:500;line-height:1.45;letter-spacing:.02em;margin:0}
.owner-name-detail{display:flex;flex-direction:column;gap:2px;margin-top:6px;font-size:16px;line-height:1.6}
.owner-name-detail [lang="en"]{letter-spacing:.06em}
.owner-lead,.owner-highlights{font-size:18px;line-height:1.85;margin:0;text-wrap:pretty}
.owner-story strong{font-weight:600}
.owner-timeline{margin:16px 0 20px;scroll-margin-top:28px}
.owner-timeline>div{display:grid;grid-template-columns:64px minmax(0,1fr);gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}
.owner-timeline dt{font-family:Georgia,serif;font-size:20px;line-height:1.65;letter-spacing:.02em;color:#71593b}
.owner-timeline dd{margin:0;font-size:18px;line-height:1.75}
.owner-profile .owner-actions{margin-top:22px;max-width:500px}
.mentor-note{margin:20px 0;padding:20px 0;border-block:1px solid var(--line)}
.mentor-note h3{font-family:var(--font-body);font-size:18px;font-weight:500;line-height:1.8;margin:0 0 12px}
.mentor-note p{font-size:18px;line-height:1.85}
.mentor-note a{display:inline-flex;align-items:center;gap:12px;min-height:52px;margin-top:10px;font-size:16px;line-height:1.7;text-decoration:underline;text-underline-offset:5px}
@media(max-width:900px){.owner-profile{gap:6%;grid-template-columns:minmax(180px,.65fr) minmax(0,1.35fr)}}
@media(max-width:640px){
 .owner-profile{display:block;margin-top:40px;padding-top:28px}
 .owner-heading{display:grid;grid-template-columns:clamp(104px,30vw,150px) minmax(0,1fr);align-items:center;gap:20px}
 .owner-portrait{max-width:none}.owner-identity{margin:0}
 .owner-heading h2{font-size:28px}
 .owner-story{margin-top:22px}
 .owner-timeline>div{grid-template-columns:58px minmax(0,1fr);gap:14px;padding:10px 0}
}

/* Owner-confirmed duration guidance */
.duration-guide{grid-column:1/-1;margin-top:28px;padding-top:28px;border-top:1px solid #d6cbbd}.duration-guide h3{font-size:24px;margin:0 0 20px}.duration-guide dl{max-width:720px;margin:0}.duration-guide dl>div{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid #e3dacf}.duration-guide dd{margin:0;text-align:right}.duration-guide .note{margin-top:18px}.shop-info dd .note{display:block;font-size:16px;line-height:1.8;margin:8px 0 0}@media(max-width:400px){.duration-guide dl>div{display:block}.duration-guide dd{text-align:left;margin-top:6px}}

/* Short explanations for the French menu names. */
.menu-description{font-size:18px;line-height:1.9;margin:10px 0 18px;max-width:32em;text-wrap:pretty}
.menu-description .menu-source{display:flex;align-items:center;gap:10px;width:fit-content;max-width:100%;min-height:52px;margin-top:8px;font-size:16px;line-height:1.7;text-decoration:underline;text-underline-offset:5px}.menu-source>span{flex:none}


/* Names and French terms directly open their explanations. */
.menu-term,.mentor-name{display:inline-flex;align-items:center;min-height:52px;max-width:100%;padding:6px 2px;border:0;background:transparent;color:inherit;font:inherit;font-size:18px;line-height:1.6;vertical-align:middle;white-space:nowrap;cursor:pointer;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#aaa0c7}
.menu-term:hover,.menu-term[aria-expanded="true"],.mentor-name:hover,.mentor-name[aria-expanded="true"]{text-decoration-color:currentColor}
.menu-term:focus-visible,.mentor-name:focus-visible{outline:2px solid currentColor;outline-offset:3px;border-radius:2px}

.mentor-name{vertical-align:baseline;padding:0 2px}

/* Make the salon and the reasons to consult it clear before the price list. */
.hero-copy .hero-intro{text-wrap:pretty;max-width:32em}
.hero-service-link{display:inline-flex;align-items:center;gap:22px;min-height:52px;margin-top:20px;font-size:18px;line-height:1.7;text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1px}
.hero-service-link:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.menu-intro{max-width:42em;margin:0 0 24px;font-size:18px;line-height:1.9;text-wrap:pretty}
@media(max-width:640px){.hero-service-link{margin-top:12px}.hero-copy .location-label{letter-spacing:.04em}}

/* Find the salon information, then continue from the stylist to a visit. */
.salon-guide{padding:24px 7% 0;background:var(--paper);scroll-margin-top:24px}
.salon-guide-inner{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 32px;max-width:1204px;margin:0 auto}
.salon-guide a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px;padding:14px 0;border-bottom:1px solid #b6a387;font-size:18px;font-weight:500;line-height:1.8}
.salon-guide a>span{flex:none;font-size:20px;font-weight:400}
.salon-guide a:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.salon-guide+.about.atelier{padding-top:80px}
.owner-actions{display:grid;gap:12px;max-width:500px;margin-top:32px}
.owner-actions .salon-action{--action-gap:16px;--action-padding:16px 20px}
@media(hover:hover){.salon-guide a:hover{color:#5c416b;border-bottom-color:#5c416b}}
@media(max-width:900px){.salon-guide-inner{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}}
@media(max-width:640px){.salon-guide{padding:16px 6% 0}.salon-guide-inner{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px}.salon-guide a{gap:8px;min-height:64px;font-size:18px}.salon-guide+.about.atelier{padding-top:52px}.owner-actions{margin-top:26px}}


/* Official Google Maps embed for the verified salon place. */
.access-title a.map-link{--action-padding:14px 16px;--action-gap:14px}
.access-title .map-link .action-arrow{flex-basis:28px}
.access-map{grid-column:2/-1;grid-row:2;min-width:0;border:1px solid #cbbba4;background:#eee7da}
.access-map iframe{display:block;width:100%;height:420px;border:0}
.access-map iframe:focus-visible{outline:3px solid var(--ink);outline-offset:4px}
@media(max-width:640px){.access-map{margin-top:30px}.access-map iframe{height:340px}}
@media print{.access-map{display:none}}
