/* Tokyo Kikaku — one accent, readable hierarchy, responsive comparisons. */
:root{--bg:#fff;--text:#17191b;--dark:#080909;--muted:#535b61;--line:#d6dade;--tint:#f1f3f4;--tint2:#f1f3f4;--primary:#17191b;--primary-dk:#080909;--accent:#ffd43b;--action:#ffd43b;--action-hover:#ffe477;--bar:72px;--ease:cubic-bezier(.2,.7,.2,1)}
body{padding-top:0;letter-spacing:.025em;font-weight:400}::selection{background:#ffd43b;color:#111}
.wrap{max-width:1180px;padding-inline:5vw}.sec{padding:100px 0}
h2{font-size:clamp(32px,3.4vw,48px);font-weight:700;line-height:1.5;letter-spacing:-.025em;margin-bottom:26px}
h3{font-weight:700}.section-label{font-size:12px;font-weight:500;letter-spacing:.08em;margin-bottom:20px}
.lead{font-size:16px;line-height:1.95;max-width:43em;font-weight:400;margin-bottom:30px}.lead strong{font-weight:700}
.text-mark{background:linear-gradient(transparent 77%,#ffd43b 77%,#ffd43b 95%,transparent 95%);box-decoration-break:clone;-webkit-box-decoration-break:clone;padding-bottom:2px}.text-accent{color:var(--accent)}
.note,.tiny,.sample-caption,.compare-note{font-size:13px;line-height:1.85;color:#535b61}
/* One visual role for primary actions, with secondary links kept quieter. */
.btn,#price .btn,.dock .btn,.fv .btn,.booking-section .reserve-submit{background:var(--accent);color:#111;border:1px solid #111;border-radius:3px;font-weight:700;min-height:62px;transition:background .2s,box-shadow .2s,transform .2s}
.btn:hover,#price .btn:hover,.dock .btn:hover,.fv .btn:hover,.booking-section .reserve-submit:hover:not(:disabled){background:var(--action-hover);color:#111;box-shadow:0 5px 20px #0002;transform:translateY(-2px)}
.btn small,#price .btn small,.dock .btn small{color:#333;font-weight:400}.btn::after{font-size:24px}
:focus-visible{outline:3px solid #476dff;outline-offset:4px}.fv :focus-visible,#flow :focus-visible,#price :focus-visible{outline-color:#fff}
.topbar{height:72px;padding:0 4vw;background:#080909;color:#fff;border-color:#ffffff24;backdrop-filter:none;transition:background .3s,transform .3s,opacity .3s}
.topbar.over-hero{background:#080909ed}.brand{font-size:21px;letter-spacing:.16em}.brand small{font:9px/1.5 Arial,sans-serif;letter-spacing:.15em;color:#c2c7ca}.navbtn span{background:#fff}.drawer{background:#080909;color:#fff}.drawer li{border-color:#ffffff30}.drawer a::before{color:#c2c7ca}
/* Screens have their own bounded stage; no oversized translated strip. */
.fv{position:relative;isolation:isolate;background:#080909;color:#fff;border:0;overflow:hidden}
.fv-visual{position:absolute;inset:0;margin:0;z-index:-1}.fv-stage{position:absolute;inset:102px 4vw 126px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;overflow:hidden;transform:none}
.scene{position:relative;inset:auto;min-width:0;height:100%;margin:0;padding-top:22px;background:#fff;border:1px solid #ffffff70;border-radius:7px 7px 0 0;overflow:hidden;filter:saturate(.75);opacity:1;transform:none;transition:filter 1s,opacity 1s;box-shadow:0 30px 70px #0007}
.scene::before{content:"● ● ●";position:absolute;z-index:2;left:0;right:0;top:0;height:22px;padding-left:10px;background:#e7e9eb;color:#8d969d;font:8px/22px Arial,sans-serif;letter-spacing:2px}.scene::after{display:none}
.scene img{display:block;width:100%;height:auto;max-width:none;object-fit:contain;object-position:top;animation:page-drift 22s ease-in-out infinite alternate;transform:none}.scene-food img{animation-delay:-7s}.scene-beauty img{animation-delay:-14s}
.live-site{position:absolute;top:22px;left:0;width:440px;height:1100px;border:0;transform:scale(var(--site-scale,1));transform-origin:top left;pointer-events:none;opacity:0;transition:opacity 1s}.live-site.is-ready{opacity:1}
.fv-stage::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#0000 8%,#0004 19%,#000b 33%,#000e 62%,#080909 100%)}
.fv-in{position:relative;max-width:1440px;margin:auto;padding:236px 5vw 140px;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow:visible}
.fv-copy{width:100%;max-width:980px}.fv-cat{font-size:13px;line-height:1.8;letter-spacing:.08em;color:#fff;margin:0 0 20px;font-weight:500}.fv-cat::before{display:none}
.fv h1{font-family:var(--sans);font-size:clamp(42px,5vw,70px);font-weight:700;line-height:1.4;letter-spacing:-.04em;color:#fff;margin:0 0 25px;text-shadow:0 2px 24px #0005}.fv h1 span{display:block}.fv h1 .headline-key{color:var(--accent)}
.fv-lead{font-size:16px;line-height:1.9;color:#f2f4f5;max-width:590px;margin:0 auto 22px;font-weight:400;text-wrap:pretty}.fv-price{display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;color:#fff;font-size:14px;gap:0 6px;margin:0 0 22px;line-height:1.4}.fv-price strong{font-size:38px;letter-spacing:-.04em;font-weight:700}.fv-price small{font-size:13px}
.fv .btn{width:360px;max-width:100%;margin:auto;font-size:17px;min-height:64px}.fv .btn::after{right:22px}.fv-trust{font-size:13px;color:#cbd1d4;margin:12px auto 0;max-width:none}
.fv-direction{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:28px}.scene-picker{display:flex;gap:24px}.scene-choice{min-height:44px;border:0;border-bottom:1px solid #ffffff45;background:none;color:#bbc2c7;padding:9px 0;font-size:12px;font-weight:400;letter-spacing:.02em}.scene-choice.is-active{color:#fff;border-color:#fff;border-width:2px}.motion-toggle{width:44px;height:44px;min-width:44px;display:grid;place-items:center;border:1px solid #ffffff70;border-radius:50%;background:#08090980;color:#fff;font-size:15px}
.fv.motion-paused .scene img{animation-play-state:paused}.fv[data-scene="0"] .scene-food,.fv[data-scene="1"] .scene-const,.fv[data-scene="2"] .scene-beauty{filter:saturate(1)}
.fv-visual figcaption{position:absolute;left:5vw;bottom:30px;margin:0;color:#bec7cd;font-size:12px;line-height:1.8;text-align:left;z-index:1}.fv .fv-jump{position:absolute;right:5vw;bottom:34px;min-height:44px;border:0;color:#fff;font-size:12px;font-weight:400;max-width:none;gap:24px;margin:0}.fv-jump span{font-size:22px}
.toc{background:#080909;color:#ddd;border-color:#ffffff25;justify-content:center}.toc a{font-size:12px;padding:0 15px;min-height:58px}.toc a:hover{color:#fff}
/* Headline, proof, then detail. The existing words stay intact. */
.tabs{display:flex;gap:22px;justify-content:flex-start;overflow:auto;margin:0 0 24px;padding:0;border-bottom:1px solid var(--line)}.tabs button{border:0;border-bottom:2px solid transparent;border-radius:0;background:none;color:#626a70;padding:13px 0;font-size:14px;font-weight:400}.tabs button.act{background:none;color:#17191b;border-color:#17191b;font-weight:700}
#sample{padding:100px 0;background:#fff}#sample h2{font-size:clamp(32px,3.4vw,48px);font-weight:700;line-height:1.5;letter-spacing:-.025em}.sample-preview-card{width:100%;max-width:none;margin:0;border:1px solid #d9dde0;background:#e6e8e9;overflow:hidden}.sample-preview-image{width:100%;height:auto;aspect-ratio:1.85;object-fit:cover;object-position:top;transition:transform 1s var(--ease)}.sample-preview-card:hover .sample-preview-image{transform:scale(1.02)}.sample-caption,.preview-open{max-width:none}.sample-caption{margin-top:16px}.preview-open{font-weight:700;padding:15px 0;min-height:54px}.works-block{margin-top:65px;padding-top:36px}.works-heading{margin-bottom:24px}#sample .works-heading h3{font-size:28px;font-weight:700}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 22px}.gallery .im{border:0;border-radius:0;aspect-ratio:1.5}.gallery img{transition:transform 1s var(--ease)}.gallery .g:hover img{transform:scale(1.05)}.gallery .cat{padding:14px 0;font-size:13px;color:#343a3e}
/* Pricing uses the Framer ordering, with readable full-width mobile cards. */
#price{padding:100px 0;background:#080909;color:#fff}#price h2,#flow h2{font-size:clamp(32px,3.4vw,48px);font-weight:700;line-height:1.5}#price .wrap{max-width:1180px;padding-inline:5vw}
#price .price-lead{font-size:16px;line-height:1.95;max-width:43em;margin-bottom:32px}.price-zero{font-size:22px;font-weight:500;color:#fff}.price-zero strong{font-size:36px;font-weight:700;color:var(--accent)}
.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:32px}.plan,.plan.featured{padding:28px 24px;border:1px solid #4a4f53;border-radius:6px;background:#141719;color:#fff;min-width:0}.plan.featured{background:#fff;color:#17191b;border:2px solid var(--accent);padding:27px 23px}
.plan-badge-slot{display:block;height:auto;min-height:24px;text-align:left;margin-bottom:12px}.plan-badge{display:inline;background:none;color:#c7ced3;padding:0;margin:0;font-size:13px;font-weight:400;line-height:1.7}.plan.featured .plan-badge{color:#535b61}
.plan-main{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:0}.plan-name{font:700 20px/1.5 Arial,sans-serif;letter-spacing:.035em;color:#fff;overflow-wrap:normal}.plan-pages{font-size:15px;color:#dbe0e3;min-height:0;line-height:1.7;margin:6px 0 0}.plan.featured .plan-name,.plan.featured .plan-pages{color:#17191b}
.plan-price{align-self:stretch;margin:26px 0 0;text-align:left;white-space:nowrap;overflow-wrap:normal;color:#fff;font-size:15px;line-height:1.3}.plan-price>span{display:block;font-size:13px;line-height:1.6;color:#c7ced3;margin-bottom:8px}.plan-price b{font-size:46px;font-weight:700;line-height:1.2;letter-spacing:-.05em;color:#fff}.plan.featured .plan-price,.plan.featured .plan-price b{color:#17191b}.plan.featured .plan-price>span{color:#535b61}
.plan-costs{display:grid;gap:15px;text-align:left;margin-top:26px;padding-top:22px;border-top:1px solid #444a4f;line-height:1.7;color:#c7ced3}.plan-costs p{display:block}.plan-costs span{display:block;font-size:12px;font-weight:400;color:inherit}.plan-costs strong{display:block;font-size:16px;font-weight:500;color:#fff;overflow-wrap:normal}.plan.featured .plan-costs{border-color:#d6dade;color:#535b61}.plan.featured .plan-costs strong{color:#17191b}
.plan-service-link{font-size:15px;line-height:1.95;color:#e2e6e9;margin-top:30px;max-width:55em}.plan-service-link a{min-height:44px;font-weight:700;color:#fff;text-underline-offset:5px}.page-count-note{font-size:13px;line-height:1.9;color:#c7ced3;max-width:65em;margin-top:20px}.price-conditions{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:28px 0;margin-top:30px;border:0;border-top:1px solid #494f54;border-radius:0;background:transparent;color:#c7ced3;font-size:14px;line-height:1.95}.price-conditions p+p{margin:0}.price-conditions b{display:inline-block;color:#fff;font-size:16px;margin-bottom:8px}.price-more{border-color:#494f54}.price-more summary{font-size:14px}.price-cta{margin-top:32px}#price .btn{width:360px;max-width:100%;font-size:16px}
#included{background:#f1f3f4;padding:100px 0}.included-grid{gap:0 50px}.included-grid article{padding:27px 0 27px 42px;border-color:#c9d0d5}.included-grid article>span{top:28px;color:#626d75;font-weight:500}.included-grid h3{font-size:18px;font-weight:700;margin-bottom:10px}.included-grid p{font-size:15px;line-height:1.9;color:#535b61}.included-support{background:#fff;padding:24px;margin-top:28px;font-size:15px;line-height:1.9}.included-extra{background:none;border:0;border-top:1px solid #c9d0d5;padding:26px 0 0}.included-extra h3{font-size:17px}.included-extra p{font-size:15px;line-height:1.9;color:#535b61}
#quality .quality-portfolio{gap:28px}.portfolio-item{overflow:hidden}.portfolio-item img,.portfolio-item:first-child img{border:0;aspect-ratio:1.3;transition:filter .5s}.portfolio-item:hover img{filter:brightness(.88)}.portfolio-item>span{padding:15px 0;min-height:54px;font-size:14px;font-weight:700}.compare-block{margin-top:75px;padding-top:36px}.compare-block>h3{font-size:32px;font-weight:700;line-height:1.55}.compare-intro{font-size:15px;line-height:1.95;max-width:48em}
/* Native semantic table; sticky labels work inside a keyboard-scrollable region. */
.comparison-scroll{position:relative;width:100%;max-height:620px;margin-top:28px;overflow:auto;border:1px solid #cbd1d6;border-radius:4px;overscroll-behavior-inline:contain;scrollbar-color:#7a8288 #edf0f2}
.comparison-table{display:table;width:100%;min-width:820px;table-layout:fixed;border-collapse:separate;border-spacing:0;margin:0;line-height:1.7}.comparison-table caption{text-align:left;padding:14px 18px;margin:0;font-size:13px;background:#fff;color:#535b61;caption-side:top}
.comparison-table thead{display:table-header-group}.comparison-table tbody{display:table-row-group}.comparison-table tr{display:table-row}.comparison-table th,.comparison-table td{display:table-cell;min-width:0;padding:17px 18px;font-size:14px;line-height:1.75;text-align:left;vertical-align:middle;color:#343c42;border:0;border-bottom:1px solid #d7dde1;overflow-wrap:normal;word-break:normal}
.comparison-table thead th,.comparison-table thead th:first-child{display:table-cell;position:sticky;top:0;z-index:3;background:#edf0f2;color:#17191b;font-weight:700;border-bottom:1px solid #aeb8bf}.comparison-table th:first-child{width:29%;position:sticky;left:0;z-index:1}.comparison-table tbody th{display:table-cell;grid-column:auto;background:#f3f5f6;color:#17191b;font-weight:500}.comparison-table tbody tr:nth-child(even) td{background:#f8f9fa}.comparison-table tbody tr:nth-child(even) th{background:#eaf0f3}.comparison-table thead th:first-child{z-index:5;background:#e4e9ed}.comparison-table thead th.us{background:#17191b;color:#fff;border-top:4px solid var(--accent)}.comparison-table thead small{display:block;font-size:12px;letter-spacing:.03em;font-weight:400}
.comparison-table td.us,.comparison-table tbody tr:nth-child(even) td.us{background:#fff9dc;color:#17191b;border-left:1px solid #ead891;border-right:1px solid #ead891;font-weight:700}.comparison-table tbody tr:last-child>*{border-bottom:0}.comparison-hint{display:none;font-size:12px;color:#535b61;text-align:right;margin-top:10px}.compare-note{margin-top:18px}
#flow{padding:100px 0;background:#080909;color:#fff}.flow{gap:0;margin-top:35px;border-top:1px solid #494f54}.step{grid-template-columns:64px 1fr;gap:24px;border-radius:0;border-bottom:1px solid #494f54;background:none;color:#fff;padding:30px 0}.step .no{background:none;color:var(--accent);font-size:30px;font-weight:500;display:block;width:auto;height:auto}.step-time{font-size:13px;color:#bac5cc;font-weight:400;margin-bottom:10px}.step h3{font-size:23px;font-weight:700;margin-bottom:10px}.step p{font-size:15px;line-height:1.95;color:#c8d0d5}.step p strong{color:#fff;font-weight:700}.after-contract{padding-top:26px;border:0}.after-contract h3{font-size:18px;font-weight:700}.after-contract p{font-size:14px;line-height:1.95;color:#bac5cc}
#faq{padding:90px 0}.faq details{border-color:#d1d8dd}.faq summary{padding:25px 40px 25px 0;font-size:16px;font-weight:500;line-height:1.8}.faq summary::after{top:25px}.faq .a{font-size:15px;line-height:1.95;max-width:58em}
.booking-section{position:relative;isolation:isolate;overflow:hidden;background:#0b0e10;color:#fff;padding:100px 0}.booking-section::before{content:"";position:absolute;z-index:-1;inset:0 40% 0 0;background:linear-gradient(90deg,#080909cc,#080909f5),url('previews/const.jpg') center/cover no-repeat;filter:grayscale(1);opacity:.4}.booking-section .wrap{max-width:1180px;padding-inline:5vw}.booking-layout{gap:24px 65px;align-items:start}.booking-intro{margin-top:24px}.booking-section h2{font-size:clamp(29px,2.8vw,40px);font-weight:700;line-height:1.6;letter-spacing:-.03em;margin-bottom:22px;color:#fff}.booking-kicker{font-size:12px;letter-spacing:.08em;color:#bbc7cf;margin-bottom:23px}.booking-lead{font-size:16px;line-height:1.9;color:#fff}.booking-points{font-size:13px;color:#bbc7cf}.booking-panel{margin:0;background:#fff;color:#17191b;border:0;border-radius:4px;box-shadow:none}.booking-panel-head{padding:27px;border-bottom:1px solid #d6dde2}.booking-panel-head h3{font-size:23px;font-weight:700}.booking-panel-head>p{font-size:14px;margin-top:6px}.booking-section .reserve{padding:27px}.booking-card{padding:27px}.booking-card p{font-size:15px}.consult-details{margin-top:0;padding-top:15px;border-top:1px solid #494f54;font-size:15px}.consult-details summary{font-weight:500}.consult-details p{color:#bbc7cf}
.booking-section .reserve-day,.booking-section .reserve-slot,.booking-section .reserve-select,.booking-section .reserve-field input{border-radius:3px}.booking-section .reserve-day[aria-pressed=true],.booking-section .reserve-day[aria-pressed=true]:hover:not(:disabled){background:#fff7d6;border-color:#17191b;color:#111}.booking-section .reserve-day[aria-pressed=true] small{color:#111}.booking-section .reserve-submit{font-size:17px}.reserve-progress [aria-current=step]{color:#111}.booking-section .reserve-select,.booking-section .reserve-field input{font-size:16px}.booking-section :focus-visible{outline-color:#476dff}
footer{padding:65px 0;background:#f1f3f4;border:0}footer .co{font-size:25px;font-weight:500;margin-bottom:26px}footer dl{max-width:650px}.dock{background:#080909ed;border-color:#ffffff30;color:#fff}.dock .btn{font-size:16px;min-height:62px}.dock .btn small{font-size:12px}
@keyframes page-drift{from{transform:translateY(0)}to{transform:translateY(-5%)}}
@keyframes copy-arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:no-preference){.fv h1{animation:copy-arrive 1s .1s both}.fv-lead,.fv-price,.fv .btn,.fv-trust{animation:copy-arrive 1s .25s both}.motion-ready [data-reveal]{transition:opacity .8s var(--ease),transform .8s var(--ease)}.motion-ready [data-reveal].awaiting{opacity:0;transform:translateY(20px)}}
@media(max-width:1023px){:root{--bar:64px}.topbar{height:64px;padding-inline:24px}.brand{font-size:19px}.brand small{display:none}.fv-stage{inset:88px 24px 140px;gap:16px}.fv-in{padding-top:218px}.fv h1{font-size:clamp(38px,5.8vw,60px)}.fv-visual figcaption{left:24px;bottom:30px;max-width:60%;font-size:11px}.fv .fv-jump{right:24px;bottom:32px;font-size:11px}.toc{justify-content:flex-start}.toc a{padding-inline:14px}.sec,#sample,#price,#included,#flow{padding-block:80px}.plans{gap:14px}.plan,.plan.featured{padding:25px 18px}.plan.featured{padding:24px 17px}.plan-price b{font-size:39px}.booking-layout{gap:24px 36px}.booking-section .wrap{max-width:760px}.booking-section h2{font-size:32px}.booking-intro{margin:0}.booking-panel{margin-top:18px}.consult-details{margin-top:20px}.booking-section::before{right:0}}
@media(max-width:767px){
 .wrap{padding-inline:22px}.sec,#sample,#price,#included,#flow,#faq{padding-block:64px}h2,#sample h2,#price h2,#flow h2{font-size:32px;font-weight:700;line-height:1.55;margin-bottom:23px}.section-label{font-size:12px;letter-spacing:.04em;margin-bottom:16px}.lead{font-size:15px;line-height:1.95}.note,.tiny,.sample-caption,.compare-note{font-size:12px}.tabs{gap:20px;margin-bottom:20px}.tabs button{font-size:13px}.sample-preview-image{aspect-ratio:1.35}.sample-caption{line-height:1.85}.preview-open{font-size:13px}.works-block{margin-top:45px;padding-top:28px}#sample .works-heading h3{font-size:25px}.gallery{gap:22px 12px}.gallery .im{aspect-ratio:1.15}.gallery .cat{font-size:12px;min-height:44px;padding-block:12px}
 #price .wrap{padding-inline:22px}#price .price-lead{font-size:15px;margin-bottom:28px}.price-zero{font-size:20px}.price-zero strong{font-size:34px}.plans{grid-template-columns:minmax(0,1fr);gap:18px;margin-top:28px}.plan,.plan.featured{padding:24px;border-radius:5px}.plan.featured{padding:23px}.plan-badge-slot{min-height:0;margin-bottom:8px}.plan-badge{font-size:14px}.plan-name{font-size:21px}.plan-pages{font-size:15px;margin-top:5px;min-height:0}.plan-price{margin-top:20px;font-size:16px}.plan-price>span{font-size:13px;margin-bottom:5px}.plan-price b{font-size:48px}.plan-costs{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:22px;padding-top:18px}.plan-costs span{font-size:12px}.plan-costs strong{font-size:16px}.plan-service-link{font-size:14px;margin-top:26px}.page-count-note{font-size:13px}.price-conditions{grid-template-columns:1fr;gap:22px;padding-block:26px;font-size:14px}.price-conditions b{font-size:16px}.price-more summary{font-size:14px}.price-cta{margin-top:28px}
 .included-grid{grid-template-columns:1fr;gap:0}.included-grid article{padding:24px 0 24px 36px}.included-grid article>span{top:26px;font-size:12px}.included-grid h3{font-size:18px}.included-grid p,.included-extra p{font-size:15px}.included-support{padding:20px;font-size:14px}.included-extra h3{font-size:17px}
 #quality .quality-portfolio{gap:22px 12px}.portfolio-item img,.portfolio-item:first-child img{aspect-ratio:1.5}.portfolio-item>span{font-size:12px;padding-block:10px}.compare-block{margin-top:50px;padding-top:30px}.compare-block>h3{font-size:28px;line-height:1.6}.compare-intro{font-size:15px}.comparison-scroll{max-height:570px;margin-top:25px}.comparison-table{min-width:720px}.comparison-table th,.comparison-table td{font-size:14px;padding:16px 14px}.comparison-table th:first-child{width:180px}.comparison-table caption{font-size:12px;padding:12px 14px}.comparison-hint{display:block}.compare-note{line-height:1.9}.step{grid-template-columns:36px 1fr;gap:16px;padding-block:27px}.step .no{font-size:25px}.step h3{font-size:20px}.step p{font-size:15px}.step-time{font-size:12px}.after-contract p{font-size:14px}.faq summary{font-size:15px;padding-block:23px}.faq summary::after{top:23px}.faq .a{font-size:15px}
 .booking-section{padding:64px 0}.booking-section .wrap{padding-inline:22px}.booking-section h2{font-size:30px;line-height:1.6}.booking-kicker{font-size:12px;margin-bottom:18px}.booking-lead{font-size:15px}.booking-points{font-size:12px}.booking-panel{margin-top:28px}.booking-panel-head{padding:23px 18px}.booking-panel-head h3{font-size:22px}.booking-section .reserve{padding:23px 16px}.booking-card{padding:23px 18px}.booking-section .reserve-day{min-height:66px}.reserve-progress{font-size:12px}.booking-section .reserve-day small{font-size:12px}.consult-details{font-size:14px}.dock .btn{font-size:16px;min-height:64px}.dock .btn small{font-size:12px}footer{padding-block:50px}footer .co{font-size:22px}footer dl{font-size:13px}
}
@media(max-width:600px){
 :root{--bar:60px}.topbar{height:60px;padding-inline:22px}.navbtn{width:44px;height:44px}.fv-stage{inset:76px 22px auto;height:204px;display:block;width:auto;gap:0;transform:none;overflow:hidden;border-radius:6px}.scene{position:absolute;inset:0;height:100%;margin:0;border-radius:6px;opacity:0;filter:none;transition:opacity 1s ease}.fv[data-scene="0"] .scene-food,.fv[data-scene="1"] .scene-const,.fv[data-scene="2"] .scene-beauty{opacity:1}.fv-stage::after{background:linear-gradient(180deg,#0000 65%,#080909 100%)}
 .fv-in{padding:306px 22px 26px;min-height:0;display:flex;justify-content:flex-start}.fv-copy{max-width:420px}.fv-cat{font-size:11px;line-height:1.7;letter-spacing:0;margin-bottom:14px}.fv h1{font-size:clamp(27px,8.2vw,35px);line-height:1.5;letter-spacing:-.05em;margin-bottom:20px}.fv-lead{font-size:15px;line-height:1.85;max-width:420px;text-align:left;margin-bottom:20px}.fv-price{font-size:12px;gap:0 4px;margin-bottom:19px}.fv-price strong{font-size:35px}.fv-price small{font-size:12px}.fv .btn{width:100%;font-size:17px;min-height:62px}.fv-trust{font-size:12px;margin-top:11px}.fv-direction{margin-top:22px;gap:15px}.scene-picker{gap:18px}.scene-choice{font-size:11px;min-height:44px}.motion-toggle{width:40px;height:40px;min-width:40px}.fv-visual figcaption{position:absolute;bottom:77px;left:22px;right:22px;max-width:none;font-size:10px;line-height:1.8;text-align:center}.fv .fv-jump{position:relative;inset:auto;min-height:44px;justify-content:center;gap:16px;margin-top:80px;font-size:12px}.fv-direction{padding-bottom:0}
}
@media(max-width:359px){.topbar{padding-inline:16px}.wrap,.booking-section .wrap,#price .wrap{padding-inline:16px}.fv-in{padding-inline:16px;padding-top:290px}.fv-stage{left:16px;right:16px;height:190px}.fv-cat{font-size:10px}.fv h1{font-size:27px}.fv-lead{font-size:14px}.fv-price strong{font-size:32px}.scene-picker{gap:12px}.scene-choice{font-size:10px}.fv-direction{gap:12px}.fv-visual figcaption{left:16px;right:16px}h2,#sample h2,#price h2,#flow h2{font-size:29px}.plan,.plan.featured{padding:21px}.plan.featured{padding:20px}.plan-price b{font-size:44px}.plan-costs{gap:12px}.plan-costs strong{font-size:14px}.booking-section h2{font-size:26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.motion-ready [data-reveal].awaiting{opacity:1;transform:none}.live-site,.motion-toggle{display:none}}
/* Inline emphasis must not inherit the line-breaking style of heading rows. */
.booking-section h2 .text-accent{display:inline}
@media(min-width:768px) and (max-width:1023px){.comparison-hint{display:block}}
.comparison-scroll{scroll-margin-top:calc(var(--bar) + 16px)}
