/* Approved ＆hana visual language, native CSS.
   DESIGN_VARIANCE 6 / MOTION_INTENSITY 2 / VISUAL_DENSITY 3.
   Content-first lower-page layouts; about.css supplies brand and common controls. */
[hidden]{display:none!important}
.interior-page .wrap{width:min(1240px,calc(100% - 112px));margin-inline:auto}
.interior-page main{overflow:clip}
.interior-page h2{color:var(--green);font-size:32px;line-height:1.7;letter-spacing:.035em}
.interior-page h3{line-height:1.8;color:var(--green)}
.interior-page p{line-height:2.1}
.interior-page .button{cursor:pointer}
.page-heading{position:relative;isolation:isolate;padding:18px 0 62px;margin:0 auto;max-width:1600px}
.page-breadcrumb{font-size:12px;line-height:1.8;color:var(--muted);margin-bottom:38px}
.page-breadcrumb span{padding-inline:12px}.page-breadcrumb a{text-decoration:none}
.page-hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:9%;align-items:center}
.page-hero-copy{padding-block:20px}.page-hero-copy h1{color:var(--green);font-size:clamp(34px,3.1vw,46px);line-height:1.7;letter-spacing:.055em;margin-bottom:22px}
.page-lead{font-size:18px;letter-spacing:.035em}.page-hero-photo{position:relative;margin-right:-35px;padding-bottom:25px}
.page-hero-photo:before{content:"";position:absolute;inset:35px 28px 0 -28px;background:var(--mint);z-index:-1}
.page-hero-photo img{width:100%;height:320px;object-fit:cover}.page-flower{width:200px;left:-70px;bottom:-20px;transform:rotate(-15deg);opacity:.5}
.text-heading{padding-bottom:40px}.text-heading .page-hero-grid{display:block}.text-heading .page-flower{left:auto;right:7%;bottom:0;width:260px;transform:rotate(170deg)}
.phone-link{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--green);font:25px/1.8 var(--serif);white-space:nowrap}.phone-link .phone-icon{flex:none;width:21px;height:21px}
.home-footer-nav{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:15px 30px;padding-bottom:26px;border-bottom:1px solid var(--line);font-size:13px}.home-footer-nav a{line-height:1.9}.home-footer-nav a:hover{text-decoration:underline}
/* Shared end-of-page reservation band, with the approved telephone treatment. */
.page-reserve{background:var(--mint);padding:64px 0;position:relative;isolation:isolate}
.page-reserve-inner{display:grid;grid-template-columns:1.2fr 1fr;gap:12%;align-items:center}.page-reserve h2{font-size:36px;line-height:1.7;margin-bottom:20px}.page-reserve-inner>div>p{font-size:16px}
.page-reserve-options .button{width:100%;justify-content:space-between;margin-bottom:14px}.page-reserve-options>p{margin-top:20px}.page-reserve-options small{font-size:12px;color:var(--muted)}
.booking-hours{border-top:1px solid var(--line);margin-top:24px;padding-top:19px;font-size:14px}.booking-hours>p:first-child{color:var(--green);margin-bottom:12px}.booking-hours dl{display:grid;grid-template-columns:75px 1fr;gap:10px 15px;margin:0}.booking-hours dt{color:var(--muted)}.booking-hours dd{margin:0}.booking-hours dd span{display:inline-block;margin-right:12px}.booking-hours .booking-hours-note{font-size:12px;line-height:1.9;color:var(--muted);margin-top:12px}
.reserve-flower{width:290px;left:-90px;bottom:-30px;opacity:.35}
/* Menu: a quick comparison followed by the full procedure and pricing. */
.menu-intro{font-size:14px;color:#52665c;padding-block:7px 26px}.menu-intro p+p{margin-top:5px}
.category-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.category-nav a{display:flex;justify-content:center;align-items:center;gap:22px;min-height:80px;text-decoration:none;color:var(--green);font-size:22px}.category-nav a+a{border-left:1px solid var(--line)}.category-nav small{font-size:12px;color:var(--muted)}.category-nav a:hover{background:var(--mint)}
.course-section{padding-top:95px;padding-bottom:15px}.course-section-head{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center;margin-bottom:40px}.course-section-head h2{font-size:43px;margin-bottom:10px}.course-subtitle{font-size:21px;color:var(--green);margin-bottom:15px}.course-section-head>div>p:last-child{font-size:15px;max-width:34em}.course-section-head>img{width:100%;height:260px;object-fit:cover}
.course-overview{background:#f2f7f3;padding:25px 30px;margin-bottom:50px}.comparison-intro{font-size:17px;color:var(--green);margin-bottom:16px}.comparison-intro span{font-size:12px;color:var(--muted);margin-left:22px}.course-choice{display:grid;grid-template-columns:1.25fr 1fr auto;gap:25px;align-items:center;text-decoration:none;padding:18px 0;border-top:1px solid #d7e4dd}.choice-name{font-size:15px;line-height:1.8}.choice-name small{display:block;color:var(--muted);font-size:12px}.choice-focus{font-size:13px;color:#51685d}.choice-price{font-size:13px;color:var(--green);white-space:nowrap}.choice-price b{font:24px/1.6 Georgia,serif}.choice-price>span{margin-left:12px}.course-choice:hover .choice-name{text-decoration:underline;text-underline-offset:5px}
.course-detail{display:grid;grid-template-columns:1fr 285px;gap:65px;padding:48px 0;border-top:1px solid var(--line);scroll-margin-top:32px}.course-focus{font-size:14px;color:var(--muted);letter-spacing:.045em;margin-bottom:8px}.course-main h3{font-size:28px;letter-spacing:.035em;margin-bottom:18px;max-width:28em}.course-description{font-size:16px;max-width:40em}.course-scope{display:flex;gap:22px;font-size:14px;line-height:1.9;margin:19px 0}.course-scope dt{flex:none;color:var(--green)}.course-scope dd{margin:0}.course-difference{border-left:2px solid #b2cfc0;padding-left:18px;margin-top:23px}.course-difference h4{font-weight:500;font-size:13px;color:var(--green);margin:0 0 8px}.course-difference p{font-size:14px;line-height:2}.course-difference a{display:inline-block;color:var(--green);font-size:13px;margin-top:10px}
.course-procedure{margin-top:23px}.course-procedure summary{font-size:14px;color:var(--green);cursor:pointer;padding-block:10px}.course-procedure ol{padding:16px 0 4px 28px;margin:0;font-size:14px;line-height:2.2}.course-procedure li{padding-left:6px;margin-bottom:7px}.course-procedure li::marker{color:var(--green)}.course-main>small,.course-main>.course-note{font-size:13px;line-height:1.9;margin-top:16px;display:block;color:#52665c}
.course-booking{align-self:start;padding:26px 23px 24px;background:#f6f8f4}.booking-time{color:var(--green);font-size:14px;border-bottom:1px solid var(--line);padding-bottom:14px}.booking-time strong{font:38px/1.5 Georgia,serif;margin-inline:8px}.course-booking dl{display:grid;grid-template-columns:1fr auto;gap:13px;margin:20px 0 13px;font-size:14px;align-items:baseline}.course-booking dd{margin:0}.course-booking dd strong{font:29px/1.5 Georgia,serif;color:var(--green);margin-right:3px}.course-booking small{font-size:11px;line-height:1.8;display:block;color:var(--muted)}.course-booking .button{font-size:12px;letter-spacing:.02em;gap:15px;width:100%;padding:13px 12px;margin-top:21px}
.faq-layout{display:grid;grid-template-columns:1fr 1.6fr;gap:90px;padding-block:70px 95px}.faq-layout>div>p{font-size:15px;margin-top:18px}.faq details{border-bottom:1px solid var(--line)}.faq details:first-child{border-top:1px solid var(--line)}.faq summary{padding:22px 28px 22px 0;position:relative;list-style:none;cursor:pointer;font-size:15px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';position:absolute;right:0;top:19px;font-size:23px;color:var(--green)}.faq details[open] summary:after{content:'−'}.faq details p{font-size:14px;padding:0 20px 20px 0}
/* Visit guide: calm practical notes and a numbered day-of-visit sequence. */
.info-highlight{background:var(--mint);padding:30px 40px 35px;margin-block:12px 50px!important;position:relative}.note-kicker{font-size:13px;color:var(--green);margin-bottom:8px}.info-highlight h2{font-size:28px;margin-bottom:10px}.info-highlight h2 span{font-size:36px}.info-highlight>p:not(.note-kicker){font-size:15px;max-width:64em}.info-highlight>a{display:inline-block;margin-top:16px;font-size:14px;color:var(--green)}
.info-section{padding-block:35px 50px}.info-section>h2{margin-bottom:20px}.info-section>p{font-size:16px;max-width:65em}.info-inline-links{display:flex;gap:20px;margin-top:27px}.info-inline-links .button{font-size:14px;min-width:220px}
.guide-hours{margin-top:26px;padding-top:25px;border-top:1px solid var(--line);max-width:900px}.guide-hours h3{font-size:18px}.time-slots{display:flex;gap:30px;color:var(--green);font-size:22px;margin:12px 0}.guide-hours>p:last-child{font-size:14px;max-width:62em}
.visit-layout{display:grid;grid-template-columns:0.9fr 1.3fr;gap:9%;padding-block:55px 65px}.visit-photo{align-self:start;position:sticky;top:35px}.visit-photo img{width:100%;height:360px;object-fit:cover}.visit-photo>p{font-size:24px;color:var(--green);letter-spacing:.07em;margin:25px 0}.visit-section>h2{margin-bottom:26px}.visit-flow{counter-reset:visit;padding:0;margin:0;list-style:none}.visit-flow>li{counter-increment:visit;position:relative;padding:0 0 28px 59px;margin-bottom:28px;border-bottom:1px solid var(--line)}.visit-flow>li:before{content:counter(visit,decimal-leading-zero);position:absolute;left:0;top:-2px;font:28px/1.8 Georgia,serif;color:#709687}.visit-flow h3{font-size:22px;margin-bottom:12px}.visit-flow p{font-size:15px}.payment-brands{width:100%;height:auto;margin-top:18px;background:white;padding:10px 0}
.info-rules{display:grid;grid-template-columns:190px 1fr;margin:0;font-size:15px;line-height:2.1}.info-rules dt,.info-rules dd{padding-block:23px;border-bottom:1px solid var(--line);margin:0}.info-rules dt{color:var(--green);padding-right:22px}.info-rules small{font-size:12px}.related-link{display:flex;justify-content:flex-end;padding-block:5px 75px}.related-link a{font-size:14px;gap:40px}
/* Access. */
.access-location{display:grid;grid-template-columns:1.1fr 1fr;gap:10%;align-items:center;margin-top:10px;margin-bottom:45px}.entrance-photo img{width:100%;height:auto;aspect-ratio:1.4;object-fit:cover}.entrance-photo>p{font-size:13px;color:var(--muted);margin-top:12px}.address-copy h2{font-size:32px;margin-bottom:22px}.location-address{font-size:18px;margin-bottom:27px}.address-copy .button{font-size:14px;gap:25px}.map-help{font-size:12px;color:var(--muted);margin-top:12px}.info-travel{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-bottom:70px}.info-travel article{border-top:1px solid var(--line);padding-top:26px}.travel-label{font:14px/1.5 Georgia,serif;color:var(--muted);letter-spacing:.12em;margin-bottom:10px}.info-travel h2{font-size:25px;margin-bottom:15px}.info-travel article>p:last-child{font-size:15px}.salon-information{display:grid;grid-template-columns:1fr 1.7fr;gap:8%;padding:20px 0 55px}.salon-information>div>p:last-child{font-size:14px;margin-top:20px}.salon-information .info-rules{grid-template-columns:130px 1fr}.salon-information .info-rules dt:first-child,.salon-information .info-rules dd:nth-child(2){padding-top:0}
/* Contact. Readable native form controls, existing field names and confirmation flow. */
.contact-layout{display:grid;grid-template-columns:0.85fr 1.5fr;gap:9%;padding-top:15px;padding-bottom:100px}.contact-aside{align-self:start;position:sticky;top:30px;padding:28px 30px;background:var(--mint)}.contact-aside h2{font-size:25px;margin-bottom:25px}.contact-aside .eyebrow{font-size:15px}.contact-aside>.button{font-size:14px;width:100%;padding-inline:16px;margin-bottom:25px}.contact-aside>.phone-link{font-size:25px}.contact-aside>p:not(.eyebrow){font-size:13px;margin-top:12px}.contact-hours{border-top:1px solid var(--line);margin-top:23px;padding-top:20px}.contact-hours h3{font-size:14px;margin-bottom:10px}.contact-hours p{font-size:12px;margin-top:10px}.contact-aside>.arrow-link{font-size:12px;width:100%;gap:12px;margin-top:23px}
.demo-notice{font:12px/1.9 var(--sans);color:#566a61;border-left:2px solid #96b6a7;padding-left:14px;margin-bottom:27px}.form-intro{font-size:15px;margin-bottom:30px}.required{display:inline-block;font:10px/1.6 var(--sans);padding:2px 6px;margin-left:9px;background:#e9f1ec;color:#265e4c;vertical-align:middle}.form-intro .required{margin-left:0}
#reservation-form fieldset{border:0;margin:0 0 31px;padding:0;min-width:0}#reservation-form legend{padding:0;margin-bottom:12px;font-size:16px}#reservation-form .radio{display:flex;align-items:flex-start;gap:11px;font-size:14px;padding:9px 0;cursor:pointer}#reservation-form input[type=radio]{flex:none;width:18px;height:18px;margin:5px 0 0;accent-color:var(--green)}
.field{margin-bottom:30px}.field>label{display:block;font-size:16px;margin-bottom:10px}.field>input,.field>select,.field>textarea{display:block;width:100%;min-width:0;max-width:100%;background:#fff;border:1px solid #9ab1a5;border-radius:0;min-height:54px;padding:12px 14px;font:16px/1.6 var(--sans);color:var(--ink)}.field>select{padding-right:30px}.field>textarea{resize:vertical;min-height:155px}.field>small{display:block;font-size:12px;line-height:1.9;color:#536c5e;margin-top:9px}#selected-menu:not(:empty){background:var(--mint);padding:11px 14px;font-size:13px;line-height:1.9;margin-top:12px;color:var(--green)}
.form-errors{padding:20px;background:#fff4ef;border:1px solid #a1462d;color:#773b27;font:14px/1.9 var(--sans);margin-bottom:24px}.form-errors ul{padding-left:20px;margin-bottom:0}[aria-invalid=true]{border-color:#a1462d!important;background:#fffaf8!important}.form-note{font-size:12px;color:var(--muted);margin-top:14px}#reservation-form>button{width:100%}#confirmation{padding:25px 0}#confirmation h2{font-size:28px;margin-bottom:25px}#confirmation-values{display:grid;grid-template-columns:140px 1fr;gap:0;margin:0 0 30px;font-size:14px}#confirmation-values dt,#confirmation-values dd{margin:0;padding:17px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere;white-space:pre-wrap}#confirmation-values dt{color:var(--green);padding-right:18px}#confirmation>p{font-size:13px;margin-top:20px}
/* News archive and reusable long-form article template. */
.journal-wrap{padding-bottom:90px}.news-categories{display:flex;gap:35px;flex-wrap:wrap;padding:10px 0 25px;border-bottom:1px solid var(--line)}.news-categories a{text-decoration:none;padding:7px 2px;font-size:15px}.news-categories a[aria-current]{border-bottom:1px solid var(--green);color:var(--green)}.journal-list{list-style:none;margin:0;padding:0}.journal-list li{border-bottom:1px solid var(--line)}.journal-list a{display:grid;grid-template-columns:190px 1fr 24px;align-items:center;gap:35px;padding:31px 0;text-decoration:none}.journal-meta{display:flex;gap:18px;align-items:center;font-size:12px;color:var(--muted)}.journal-list .journal-meta{display:block}.journal-list .journal-meta>span{display:block;margin-top:5px;color:var(--green)}.journal-list h2{font-size:20px;line-height:1.9;letter-spacing:.025em;color:var(--ink)}.journal-arrow{color:var(--green);font-size:20px}.journal-list a:hover h2{color:var(--green);text-decoration:underline;text-underline-offset:5px}.pagination{display:flex;gap:12px;justify-content:center;margin-top:40px}.pagination a,.pagination>span{padding:9px 17px;min-width:46px;text-align:center;text-decoration:none;font-size:14px}.pagination>span[aria-current]{background:var(--mint);color:var(--green);border-bottom:1px solid var(--green)}
.article-shell{width:min(850px,calc(100% - 112px));margin:20px auto 85px}.article-heading{padding-top:10px;padding-bottom:36px;border-bottom:1px solid var(--line)}.article-heading h1{font-size:34px;line-height:1.85;letter-spacing:.04em;color:var(--green);margin-top:18px}.article-toc{margin:34px 0 45px;background:var(--mint);padding:22px 27px}.article-toc summary{font-size:16px;color:var(--green);cursor:pointer}.article-toc ol{padding-left:24px;margin:15px 0 0;font-size:14px;line-height:2}.article-toc li{padding-left:5px;margin-block:10px}.article-toc a{text-decoration:none}.article-toc a:hover{text-decoration:underline}.article-body{font-size:16px;line-height:2.25}.article-body p{line-height:2.25;margin-bottom:24px}.article-body h2{font-size:26px;border-left:2px solid #9dc4b1;padding-left:22px;margin:55px 0 25px;line-height:1.9;letter-spacing:.015em}.article-body h3{font-size:21px;margin:33px 0 18px;font-weight:500}.article-body ul,.article-body ol{margin:20px 0 30px;padding-left:27px}.article-body li{padding-left:6px;margin-bottom:14px}.article-body table{border-collapse:collapse;width:100%;font-size:14px;margin-block:25px}.article-body th,.article-body td{border:1px solid var(--line);padding:13px;text-align:left}.article-body th{background:var(--mint);font-weight:500}.article-nav{display:flex;justify-content:space-between;gap:25px;margin-top:50px;padding-top:25px;border-top:1px solid var(--line)}.article-nav a{font-size:14px}
@media(max-width:1200px){.interior-page .wrap{width:calc(100% - 80px)}.page-hero-grid{gap:7%}.page-hero-photo{margin-right:0}.page-hero-photo img{height:285px}.page-lead{font-size:16px}.course-detail{gap:40px;grid-template-columns:1fr 270px}.course-main h3{font-size:25px}.course-choice{grid-template-columns:1.15fr 1fr auto;gap:20px}.choice-name{font-size:14px}.course-section-head>img{height:230px}.contact-layout{gap:6%;grid-template-columns:0.9fr 1.5fr}.contact-aside{padding:24px}.contact-aside h2{font-size:21px}.contact-aside>.phone-link{font-size:22px}.journal-list a{grid-template-columns:150px 1fr 24px;gap:25px}.page-reserve-inner{gap:8%}}
@media(max-width:1000px){.page-hero-copy h1{font-size:33px}.page-hero-photo img{height:240px}.page-lead{font-size:15px}.category-nav a{font-size:19px;gap:15px}.course-section-head h2{font-size:35px}.course-subtitle{font-size:18px}.course-overview{padding:22px}.course-choice{grid-template-columns:1fr auto;gap:5px 20px}.choice-focus{grid-column:1;grid-row:2}.choice-price{grid-column:2;grid-row:1/3}.course-detail{gap:25px;grid-template-columns:1fr 235px}.course-main h3{font-size:23px}.course-booking{padding:22px 17px}.course-booking .button{font-size:11px;gap:10px}.course-description{font-size:15px}.faq-layout{gap:40px}.visit-layout{gap:6%;grid-template-columns:0.8fr 1.2fr}.visit-photo img{height:270px}.visit-photo>p{font-size:21px}.visit-flow h3{font-size:20px}.info-rules{grid-template-columns:165px 1fr}.access-location{gap:7%}.address-copy h2{font-size:26px}.location-address{font-size:16px}.address-copy .button{font-size:13px;padding-inline:19px}.salon-information{gap:5%;grid-template-columns:1fr 1.5fr}.salon-information h2{font-size:27px}.salon-information .info-rules{grid-template-columns:100px 1fr;font-size:14px}.contact-layout{grid-template-columns:1fr;gap:40px}.contact-aside{position:static;display:grid;grid-template-columns:1fr 1fr;gap:12px 35px}.contact-aside .eyebrow{grid-column:1/-1}.contact-aside h2{grid-column:1;margin:0}.contact-aside>.button{grid-column:2;grid-row:2;margin:0}.contact-aside>.phone-link{grid-column:2;grid-row:3;align-self:start}.contact-aside>p:not(.eyebrow){grid-column:1;grid-row:3;margin-top:0}.contact-hours{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:15px 25px}.contact-hours h3{width:100%;margin:0}.contact-hours p{margin:0}.contact-aside>.arrow-link{grid-column:1/-1;width:max-content;margin-top:0;gap:25px}.page-reserve h2{font-size:30px}.page-reserve-options .button{font-size:14px;padding-inline:20px}.page-reserve-inner>div>p{font-size:14px}.booking-hours dl{font-size:13px;grid-template-columns:67px 1fr;gap:10px}.article-heading h1{font-size:31px}}
@media(max-width:760px){.interior-page .wrap{width:calc(100% - 44px)}.interior-page h2{font-size:26px}.page-heading{padding:7px 0 35px}.page-breadcrumb{font-size:10px;margin-bottom:24px}.page-breadcrumb span{padding-inline:9px}.page-hero-grid{grid-template-columns:1fr;gap:22px}.page-hero-copy{padding-top:4px;padding-bottom:0}.page-hero-copy h1{font-size:30px;line-height:1.7;letter-spacing:.035em;margin-bottom:15px}.page-lead{font-size:14px;line-height:2.1}.page-hero-photo{width:calc(100% - 14px);margin-left:14px;padding-bottom:14px}.page-hero-photo:before{inset:18px 15px 0 -14px}.page-hero-photo img{height:auto;aspect-ratio:1.6;object-fit:cover}.page-flower{width:120px;left:-58px;bottom:0}.text-heading{padding-bottom:32px}.text-heading .page-flower{width:145px;right:-60px;bottom:12px;opacity:.3}.text-heading .page-hero-copy h1{font-size:29px}.text-heading .page-hero-copy{padding-right:0}
.home-footer-nav{display:grid;grid-template-columns:1fr 1fr;gap:13px 18px;font-size:12px;padding-bottom:23px}.phone-link{font-size:24px}
.page-reserve{padding-block:40px 42px}.page-reserve-inner{grid-template-columns:1fr;gap:28px}.page-reserve h2{font-size:28px;letter-spacing:.035em;margin-bottom:18px}.page-reserve-options .button{font-size:14px;min-height:57px}.page-reserve-options small{font-size:11px}.booking-hours{font-size:13px;margin-top:23px}.booking-hours .booking-hours-note{font-size:11px}.reserve-flower{width:190px;left:auto;right:-95px;bottom:-30px;opacity:.25}
.menu-intro{font-size:12px;padding-block:5px 20px}.category-nav a{font-size:15px;min-height:70px;flex-direction:column;gap:1px;line-height:1.8}.category-nav small{font-size:10px}.course-section{padding-top:48px;padding-bottom:10px}.course-section-head{grid-template-columns:1fr;gap:22px;margin-bottom:25px}.course-section-head h2{font-size:32px;margin-bottom:6px}.course-subtitle{font-size:18px;margin-bottom:12px}.course-section-head>div>p:last-child{font-size:14px}.course-section-head>img{height:auto;aspect-ratio:1.7}.course-overview{margin-bottom:10px;padding:20px 17px}.comparison-intro{font-size:16px;margin-bottom:15px}.comparison-intro span{display:block;margin:3px 0 0;font-size:11px}.course-choice{grid-template-columns:1fr auto;gap:6px 12px;padding-block:15px}.choice-name{font-size:13px}.choice-name small{font-size:11px}.choice-focus{font-size:11px;line-height:1.9}.choice-price{font-size:10px}.choice-price b{font-size:22px}.choice-price>span{display:none}.course-detail{grid-template-columns:1fr;gap:25px;padding-block:32px}.course-focus{font-size:12px;margin-bottom:8px}.course-main h3{font-size:23px;line-height:1.8;margin-bottom:15px;letter-spacing:.01em}.course-description{font-size:14px}.course-scope{font-size:12px;gap:15px;margin-block:16px}.course-difference{margin-top:19px;padding-left:14px}.course-difference h4{font-size:12px}.course-difference p,.course-difference a{font-size:12px}.course-procedure summary{font-size:13px}.course-procedure ol{font-size:13px;padding-left:25px}.course-booking{padding:20px}.booking-time{font-size:13px;padding-bottom:10px}.booking-time strong{font-size:32px}.course-booking dl{margin:15px 0 12px}.course-booking .button{font-size:13px;margin-top:17px}.faq-layout{grid-template-columns:1fr;gap:25px;padding-block:40px 55px}.faq-layout>div>p{font-size:14px}.faq summary{font-size:14px;padding-block:19px}.faq details p{font-size:13px}
.info-highlight{padding:23px 22px 25px;margin-block:8px 24px!important}.note-kicker{font-size:11px}.info-highlight h2{font-size:21px!important;line-height:1.9}.info-highlight h2 span{font-size:29px;white-space:nowrap}.info-highlight>p:not(.note-kicker){font-size:13px}.info-highlight>a{font-size:12px}.info-section{padding-block:25px 35px}.info-section>h2{font-size:25px;margin-bottom:15px}.info-section>p{font-size:14px}.info-inline-links{flex-direction:column;gap:12px;margin-top:22px}.info-inline-links .button{font-size:14px;min-width:0;width:100%}.guide-hours{padding-top:20px;margin-top:23px}.guide-hours h3{font-size:17px}.time-slots{font-size:16px;gap:16px;flex-wrap:wrap;margin:10px 0}.guide-hours>p:last-child{font-size:13px}.visit-layout{grid-template-columns:1fr;gap:28px;padding-block:18px 15px}.visit-photo{position:static}.visit-photo img{height:auto;aspect-ratio:1.7}.visit-photo>p{font-size:20px;line-height:1.9;margin:20px 0 5px}.visit-section>h2{font-size:25px;margin-bottom:25px}.visit-flow>li{padding-left:42px;margin-bottom:24px;padding-bottom:24px}.visit-flow>li:before{font-size:24px}.visit-flow h3{font-size:19px;margin-bottom:9px}.visit-flow p{font-size:14px}.payment-brands{margin-top:12px;padding:5px 0}.info-rules{display:block;font-size:14px}.info-rules dt{padding:20px 0 6px;border-bottom:0;font-size:14px}.info-rules dd{padding:0 0 20px}.related-link{padding-block:4px 45px}.related-link a{font-size:13px;gap:25px;width:100%}
.access-location{grid-template-columns:1fr;gap:27px;margin-top:0;margin-bottom:18px}.entrance-photo img{aspect-ratio:1.5}.entrance-photo>p{font-size:12px;margin-top:8px}.address-copy h2{font-size:27px;margin-bottom:18px}.location-address{font-size:16px;margin-bottom:20px}.address-copy .button{font-size:13px;max-width:100%}.map-help{font-size:11px}.info-travel{grid-template-columns:1fr;gap:26px;padding-bottom:40px}.info-travel article{padding-top:22px}.info-travel h2{font-size:23px;margin-bottom:12px}.info-travel article>p:last-child{font-size:14px}.travel-label{font-size:12px}.salon-information{grid-template-columns:1fr;gap:25px;padding:8px 0 35px}.salon-information h2{font-size:26px}.salon-information h2 br{display:none}.salon-information>div>p:last-child{font-size:13px;margin-top:13px}.salon-information .info-rules dd:nth-child(2){padding-bottom:20px}
.contact-layout{padding-top:0;padding-bottom:55px;gap:32px}.contact-aside{display:block;padding:24px 22px}.contact-aside h2{font-size:23px;margin-bottom:20px}.contact-aside>.button{margin-bottom:20px;font-size:14px}.contact-aside>.phone-link{font-size:25px}.contact-aside>p:not(.eyebrow){font-size:12px;margin-top:10px}.contact-hours{display:block;padding-top:17px;margin-top:20px}.contact-hours p{font-size:12px;margin-top:9px}.contact-aside>.arrow-link{font-size:12px;width:100%;margin-top:17px}.demo-notice{font-size:11px;margin-bottom:23px}.form-intro{font-size:14px;margin-bottom:25px}#reservation-form legend,.field>label{font-size:15px}#reservation-form .radio{font-size:13px;gap:10px}#reservation-form fieldset,.field{margin-bottom:26px}.field>input,.field>select,.field>textarea{font-size:16px;padding:12px 10px}.field>small{font-size:11px}#selected-menu:not(:empty){font-size:12px;padding:10px 12px}#reservation-form>button{font-size:14px;padding-inline:18px;gap:22px}.form-note{font-size:11px}.form-errors{font-size:12px;padding:16px}#confirmation h2{font-size:25px}#confirmation-values{grid-template-columns:1fr;font-size:14px}#confirmation-values dt{border:0;padding:15px 0 4px}#confirmation-values dd{padding:0 0 15px}#confirmation .button{font-size:14px}
.journal-wrap{padding-bottom:55px}.news-categories{gap:16px;padding:0 0 18px}.news-categories a{font-size:12px}.journal-list a{grid-template-columns:1fr 18px;gap:12px 15px;padding-block:24px}.journal-list .journal-meta{display:flex;grid-column:1;gap:15px;font-size:11px}.journal-list .journal-meta>span{margin:0}.journal-list h2{grid-column:1;font-size:16px;line-height:2;letter-spacing:0}.journal-arrow{grid-row:1/3;grid-column:2;font-size:18px}.pagination{gap:7px;margin-top:28px}.pagination a,.pagination>span{padding:7px 14px;min-width:42px;font-size:13px}.article-shell{width:calc(100% - 44px);margin:8px auto 55px}.article-heading{padding-top:4px;padding-bottom:23px}.article-heading h1{font-size:25px;line-height:1.9;letter-spacing:.015em;margin-top:15px}.journal-meta{font-size:11px}.article-toc{padding:20px;margin:26px 0 30px}.article-toc summary{font-size:14px}.article-toc ol{font-size:12px;padding-left:17px}.article-body{font-size:15px}.article-body p{margin-bottom:21px}.article-body h2{font-size:22px;line-height:1.8;margin:38px 0 22px;padding-left:15px}.article-body h3{font-size:18px;line-height:1.9;margin:27px 0 16px}.article-body ul,.article-body ol{padding-left:22px}.article-body table{font-size:12px;display:block;overflow-x:auto}.article-body th,.article-body td{padding:10px;min-width:100px}.article-nav{gap:18px;margin-top:35px;flex-wrap:wrap}.article-nav a{font-size:12px;gap:15px}}
@media(max-width:360px){.page-hero-copy h1,.text-heading .page-hero-copy h1{font-size:26px}.page-lead{font-size:13px}.category-nav a{font-size:13px}.course-overview{padding-inline:13px}.choice-name{font-size:12px}.choice-price b{font-size:20px}.course-main h3{font-size:21px}.info-highlight{padding-inline:17px}.info-highlight h2{font-size:19px!important}.info-highlight h2 span{font-size:25px}.time-slots{font-size:14px;gap:10px}.page-reserve h2{font-size:25px}.news-categories{gap:13px}}

.contact-page .form-jump{margin-top:22px;font-size:14px;gap:35px}#reservation-form{scroll-margin-top:28px}@media(max-width:760px){.contact-page .form-jump{font-size:13px;margin-top:18px}}

.visit-flow .payment-note{font-size:11px;color:var(--muted);margin-top:6px}

/* News navigation: shared by the archive and article template. */
.news-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:64px;align-items:start}
.news-main{min-width:0}
.article-layout{padding-top:20px;padding-bottom:85px}
.news-layout .article-shell{width:100%;margin:0}
.journal-intro{padding:8px 0 23px;border-bottom:1px solid var(--line)}
.interior-page .journal-intro h2{font-size:20px;line-height:1.7}
.mobile-category-jump{display:none}
.news-layout .journal-list a{grid-template-columns:110px minmax(0,1fr) 20px;gap:24px}
.news-sidebar{border-left:1px solid var(--line);padding-left:30px;scroll-margin-top:110px}
.news-sidebar section+section{margin-top:42px}
.interior-page .news-sidebar h2{font-size:19px;line-height:1.8;letter-spacing:.04em;margin:0 0 17px;font-weight:500}
.sidebar-categories{display:grid;border-top:1px solid var(--line)}
.sidebar-categories a{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.7;text-decoration:none}
.sidebar-categories a span{color:var(--green)}
.sidebar-categories a[aria-current]{color:var(--green)}
.sidebar-recent{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.sidebar-recent li{border-bottom:1px solid var(--line)}
.sidebar-recent a{display:block;padding:19px 0;text-decoration:none}
.sidebar-meta{display:flex;align-items:center;gap:14px;font-size:11px;line-height:1.7;color:var(--muted);margin-bottom:8px;letter-spacing:.02em}
.sidebar-meta>span{color:var(--green)}
.sidebar-article-title{display:block;font-size:14px;line-height:1.95;letter-spacing:.02em;overflow-wrap:anywhere}
.sidebar-categories a:hover,.sidebar-recent a:hover .sidebar-article-title{color:var(--green);text-decoration:underline;text-underline-offset:5px}
.news-sidebar a:focus-visible,.mobile-category-jump:focus-visible{outline:2px solid var(--green);outline-offset:4px}
@media(min-width:1024px) and (max-width:1200px){
 .news-layout{grid-template-columns:minmax(0,1fr) 235px;gap:35px}
 .news-sidebar{padding-left:24px}
 .news-layout .journal-list a{grid-template-columns:90px minmax(0,1fr) 16px;gap:17px}
 .news-layout .journal-list h2{font-size:18px}
 .article-layout .article-heading h1{font-size:29px}
}
@media(max-width:1023px){
 .news-layout{display:block}
 .news-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:40px;border-left:0;border-top:1px solid var(--line);padding:35px 0 0;margin-top:55px}
 .news-sidebar section+section{margin-top:0}
 .journal-intro{display:flex;align-items:center;justify-content:space-between;gap:20px}
 .mobile-category-jump{display:inline-block;font-size:12px;color:var(--green);text-underline-offset:5px}
}
@media(max-width:760px){
 .news-layout .journal-list a{grid-template-columns:minmax(0,1fr) 18px;gap:12px 15px}
 .news-sidebar{display:block;padding-top:30px;margin-top:40px}
 .news-sidebar section+section{margin-top:35px}
 .interior-page .news-sidebar h2,.interior-page .journal-intro h2{font-size:18px}
 .sidebar-categories a{font-size:14px;min-height:48px}
 .article-layout{padding-top:8px;padding-bottom:55px}
 .journal-intro{gap:12px}
 .mobile-category-jump{font-size:11px;white-space:nowrap}
}

/* Final UI review: keep decision-making text legible on small screens. */
@media(max-width:760px){
 .menu-intro{font-size:14px}
 .choice-name{font-size:14px}
 .choice-name small,.choice-focus,.choice-price{font-size:13px}
 .course-focus,.course-difference h4{font-size:13px}
 .course-scope,.course-difference p,.course-difference a{font-size:14px}
 .course-difference a{display:inline-flex;align-items:center;min-height:44px;line-height:1.8}
}
@media(max-width:420px){
 .course-choice{grid-template-columns:minmax(0,1fr)}
 .choice-focus,.choice-price{grid-column:1;grid-row:auto}
 .choice-price{justify-self:end}
}
