*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#e7e1d4;color:#1f2e26;font:15px/1.65 Arial,sans-serif}a{color:inherit}a:focus-visible,summary:focus-visible{outline:3px solid #b5523b;outline-offset:5px}.page{max-width:1300px;margin:28px auto;background:#f7f3ea;box-shadow:0 8px 50px #3f352c22;position:relative}.paper{background-color:#f7f3ea;background-image:url('paper-v2.svg')}header{padding:18px 4%;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;text-decoration:none;gap:10px}.brand img{width:58px;height:62px}.wordmark{font:27px ui-serif,serif;letter-spacing:.3em}.tagline{font:8px Arial;letter-spacing:.35em;margin-top:5px}nav{display:flex;gap:27px;align-items:center;font-size:12px}nav a{text-decoration:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 22px;background:#1f2e26;color:#f7f3ea;border:1px solid #1f2e26;text-decoration:none;font:14px ui-serif,serif;border-radius:2px}.btn.light{background:#eee5d3;color:#1f2e26;border-color:#eee5d3}.btn.outline{background:transparent;color:#1f2e26}.hero{height:630px;position:relative;display:flex;align-items:center;padding:60px 7%;color:#f7f3ea;background:linear-gradient(90deg,#130e0a66,transparent 80%),url('hero-v2.jpg') center/cover}.hero-copy{max-width:520px}.jp{font-family:'Yu Mincho','MS Mincho',ui-serif,serif;font-weight:400}.hero h1{font:44px/1.5 'Yu Mincho','MS Mincho',ui-serif,serif;margin:0 0 22px;font-weight:400}.hero h1 span{display:block}.hero p{font:23px/1.35 ui-serif,serif;max-width:380px;margin:0 0 30px}.vertical{position:absolute;right:27px;top:46px;writing-mode:vertical-rl;font:9px Arial;letter-spacing:.45em}.seal{background:#b5523b;color:#f7f3ea;border-radius:3px;font:28px 'Yu Mincho','MS Mincho',serif;position:absolute;right:30px;bottom:26px;padding:0 5px}section{padding:45px 5%;scroll-margin-top:18px}h2{font:34px/1.2 ui-serif,serif;margin:0 0 30px;font-weight:400}h3{font:25px/1.2 ui-serif,serif;margin:18px 0 5px;font-weight:400}.services h2{text-align:center}.cards{display:grid;grid-template-columns:1fr 1fr;gap:38px}.card{border-bottom:1px solid #1f2e2635;padding-bottom:24px}.card img{width:100%;height:240px;object-fit:cover}.card p{margin:10px 0;max-width:470px}.duration{font-size:12px}.price-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:15px}.price{font:30px ui-serif,serif}.price small{font:11px Arial}.price-row a{font-size:13px}.about{display:grid;grid-template-columns:.9fr 1fr;gap:45px;align-items:center;padding-top:12px}.about-art{height:380px;position:relative;background:linear-gradient(#f7f3eaa0,#f7f3eac0),url('hero-v2.jpg') center/cover;display:flex;align-items:center;justify-content:center}.about-art img{width:230px;height:260px}.about h2{margin-bottom:20px}.about p{max-width:500px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:10px}.meta{margin:0 5%;padding:26px 0;border-top:1px solid #1f2e2625;border-bottom:1px solid #1f2e2625;display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px}.meta-item{display:flex;gap:14px;align-items:flex-start}.meta svg{width:28px;height:28px;flex-shrink:0}.meta strong{font:16px ui-serif,serif;display:block}.meta small{font-size:11px}.faq{padding-top:40px;padding-bottom:35px}.faq h2{font-size:28px}.faq details{border-bottom:1px solid #1f2e2620;padding:15px 0}.faq summary{cursor:pointer;font-size:13px}.faq p{font-size:13px;max-width:750px}.reserve{background:#1f2e26;color:#f7f3ea;display:flex;justify-content:space-between;align-items:center;gap:30px;padding:36px 5%}.reserve h2{font-size:30px;margin:0 0 8px}.reserve p{margin:0;font-size:13px}footer{padding:28px 5%;display:flex;justify-content:space-between;gap:25px;align-items:center}footer .wordmark{font-size:18px}footer .brand img{width:45px;height:48px}.smallprint{padding:0 5% 20px;font-size:10px;text-align:center;color:#6b7f6b}.mobile-book{display:none}@media(max-width:740px){.page{margin:0}.wordmark{font-size:21px}.tagline{font-size:6px}header{padding:12px 5%}.brand img{width:43px;height:47px}nav{gap:12px}nav .desktop{display:none}nav .btn{padding:10px 14px}.hero{height:570px;padding:45px 7%;background-position:58% center}.hero h1{font-size:33px;line-height:1.6}.hero p{font-size:23px;max-width:270px}.vertical{right:12px}.cards{grid-template-columns:1fr;gap:30px}.card img{height:230px}section{padding:35px 6%}h2{font-size:30px}.about{grid-template-columns:1fr;gap:24px}.about-art{height:250px;order:2}.about-art img{height:215px}.meta{grid-template-columns:1fr;gap:22px}.reserve{flex-direction:column;align-items:flex-start}.reserve .btn{width:100%}footer{flex-wrap:wrap;padding:28px 6% 20px}footer nav{flex-wrap:wrap;font-size:11px}.smallprint{padding-bottom:90px}.mobile-book{display:flex;position:fixed;left:5%;right:5%;bottom:14px;z-index:3;box-shadow:0 3px 15px #0004}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(max-width:420px){header{gap:8px}.wordmark{font-size:18px}.tagline{font-size:5.5px;letter-spacing:.3em}.brand{gap:5px}.brand img{width:38px;height:42px}nav .btn{padding:9px 10px;font-size:12px}}

@media(max-width:420px){header{gap:8px}.wordmark{font-size:18px}.tagline{font-size:5.5px;letter-spacing:.3em}.brand{gap:5px}.brand img{width:38px;height:42px}nav .btn{padding:9px 10px;font-size:12px}}

.language-control select{font:11px Arial,sans-serif;color:#1f2e26;background:#f7f3ea;border:1px solid #1f2e2640;border-radius:2px;padding:9px 6px;max-width:115px;cursor:pointer}.language-control select:focus-visible{outline:3px solid #b5523b;outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}html[lang="ja"] body{font-family:"Yu Gothic","Meiryo",Arial,sans-serif}html[lang="ja"] h2,html[lang="ja"] h3,html[lang="ja"] .hero p{font-family:"Yu Mincho","MS Mincho",ui-serif,serif}html[lang="ja"] .hero p{font-size:22px;line-height:1.6}html[lang="ja"] .price-row{flex-wrap:wrap}html[lang="ja"] .meta strong{font-family:"Yu Mincho",serif}html[lang="ja"] .reserve h2{font-size:27px}@media(max-width:740px){header{flex-wrap:wrap;gap:10px}header nav{margin-left:auto;gap:8px}.language-control select{max-width:100px;padding:8px 3px}}@media(max-width:420px){header .brand{width:100%;justify-content:center}header nav{width:100%;justify-content:center}.hero h1{font-size:30px}.hero p{font-size:21px}html[lang="ja"] .hero p{font-size:19px}}

.brand img,.about-art img{object-fit:contain}

.brand img,.about-art img{object-fit:contain}

/* Larger header emblem */
header{flex-wrap:wrap}
header .brand{gap:14px;flex-shrink:0}
header .brand img{width:96px;height:102px;flex:0 0 96px}
header nav{flex-wrap:wrap}
@media(max-width:740px){header .brand img{width:72px;height:76px;flex-basis:72px}}

/* Cal.com inline booking (two services, one visible calendar) */
.cal-booking{padding:50px clamp(16px,4vw,52px);background:#f8f6f0;scroll-margin-top:22px}
.cal-booking-heading{text-align:center;margin-bottom:22px}
.cal-booking-heading h2{margin-bottom:8px}
.cal-booking-heading p{margin:0}
.cal-service-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:740px;margin:0 auto 20px}
.cal-service-tab{padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff;border:1px solid #d9d9ce;border-radius:12px;color:#173c31;cursor:pointer;text-align:left;font:inherit}
.cal-service-tab strong{font-size:16px}.cal-service-tab span{white-space:nowrap;font-size:14px}
.cal-service-tab.active{border:2px solid #173c31;background:#eaf0e8}
.cal-service-tab:focus-visible{outline:3px solid #29775f;outline-offset:3px}
.cal-embed-panel{max-width:1100px;margin:auto;min-height:690px}
.cal-embed-panel[hidden]{display:none!important}
.cal-embed-target{width:100%;min-height:690px;overflow:auto}
.cal-booking-fallback{text-align:center;margin:16px 0 0;font-size:13px}
@media(max-width:650px){.cal-booking{padding:28px 10px}.cal-service-tabs{gap:8px}.cal-service-tab{flex-direction:column;align-items:flex-start;padding:12px}.cal-service-tab strong{font-size:14px}.cal-embed-panel,.cal-embed-target{min-height:760px}}

/* Booking polish: reduce the gap and keep the embed usable on phones. */
.cal-booking{padding-top:32px;padding-bottom:32px}
.cal-booking-heading{margin-bottom:15px}
.cal-service-tabs{margin-bottom:6px}
.cal-embed-panel{min-height:600px}
.cal-embed-target{min-height:600px;overflow:visible}
@media(max-width:650px){
 .cal-booking{padding-top:24px;padding-bottom:24px}
 .cal-booking-heading{margin-bottom:12px}
 .cal-service-tabs{margin-bottom:4px}
 .cal-embed-panel,.cal-embed-target{min-height:710px}
}

/* Logos inside the existing multilingual payment FAQ. */
.faq-payment-logos{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding:8px 0 14px}
.faq-payment-logos img{display:block;width:auto;max-width:44%;object-fit:contain}
.faq-payment-logos img[alt="Nequi"]{height:38px}
.faq-payment-logos img[alt="Daviplata"]{height:60px}
@media(max-width:420px){.faq-payment-logos{gap:14px}.faq-payment-logos img[alt="Nequi"]{height:30px}.faq-payment-logos img[alt="Daviplata"]{height:49px}}

/* KEYAKI typography: refined serif headings, Cal.com-friendly system sans-serif UI.
   No external font files or paid font licenses required. */
:root{--keyaki-sans:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--keyaki-serif:ui-serif,Georgia,"Times New Roman",serif}
body{font-family:var(--keyaki-sans)}
header nav,.language-control select,.tagline,.eyebrow,.duration,.card p,.faq summary,.faq p,.payment-methods,.cal-booking-heading p,.cal-service-tab,.cal-booking-fallback,.reserve p,.meta small,.smallprint{font-family:var(--keyaki-sans)}
.btn,.price-row a{font-family:var(--keyaki-sans)}
.wordmark,h2,h3,.price,.meta strong,.reserve h2{font-family:var(--keyaki-serif)}
html[lang="ja"] body{font-family:"Yu Gothic","Hiragino Kaku Gothic ProN","Meiryo",var(--keyaki-sans)}
html[lang="ja"] h2,html[lang="ja"] h3,html[lang="ja"] .hero p{font-family:"Yu Mincho","Hiragino Mincho ProN","MS Mincho",var(--keyaki-serif)}

/* Bre-B official seal: blue-green logo is shown on permitted solid violet background. */
.breb-logo-wrap{display:inline-flex;align-items:center;justify-content:center;background:#32005e;border-radius:3px;padding:4px 8px;min-width:118px}
.faq-payment-logos .breb-logo-wrap img{height:48px;width:auto;max-width:100%;object-fit:contain}
@media(max-width:420px){.faq-payment-logos .breb-logo-wrap img{height:38px}}


/* Mika: professional profile and timeline; visually distinct, responsive, accessible. */
.mika-profile{padding:0;scroll-margin-top:25px;background:#f6f4ed}
.mika-hero{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:stretch;min-height:510px}
.mika-visual{position:relative;min-height:490px;overflow:hidden;background:#d9d2bb}
.mika-visual>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center}
.mika-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#0e291b44,transparent 52%);pointer-events:none}
.mika-visual-stamp{position:absolute;left:25px;bottom:22px;z-index:1;display:flex;align-items:center;gap:12px;color:#fff;background:#1b3327bd;padding:7px 14px 7px 7px;border-radius:3px;backdrop-filter:blur(4px)}
.mika-visual-stamp img{height:57px;width:57px;object-fit:contain}
.mika-visual-stamp span{font-size:11px;line-height:1.4;letter-spacing:.16em}
.mika-intro{padding:54px clamp(26px,5%,65px) 35px;background:#f7f3ea}
.mika-overline{font-size:10px!important;letter-spacing:.2em;text-transform:uppercase;color:#566e5a;font-weight:700}
.mika-intro h2{font-size:clamp(35px,4vw,54px);margin:10px 0 12px;line-height:1.12}
.mika-lead{font-family:var(--keyaki-serif)!important;font-size:clamp(18px,2.1vw,23px)!important;line-height:1.36;max-width:530px;margin:0 0 20px}
.mika-intro>p:not(.mika-overline):not(.mika-lead){font-size:14px;line-height:1.68;margin:11px 0}
.mika-intro .mika-keyaki-note{border-left:3px solid #718773;padding-left:15px;color:#314c3a}
.mika-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;border-top:1px solid #233b3029;margin-top:22px;padding-top:18px}
.mika-highlights>div{display:flex;flex-direction:column;gap:5px;text-align:center}
.mika-highlights strong{font:normal 28px/1.05 var(--keyaki-serif);color:#314f3c}
.mika-highlights span{font:11px/1.4 var(--keyaki-sans);color:#495449}
.mika-career{padding:45px 5% 40px;background:#e9ece3}
.mika-career-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:32px}
.mika-career-head h3{font-size:clamp(27px,3vw,36px);margin:4px 0 0}
.mika-career-head>p{max-width:380px;margin:0;font-size:13px;color:#445548}
.mika-timeline{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.mika-timeline-item{position:relative;padding:0 0 15px;min-width:0}
.mika-timeline-item:before{content:"";position:absolute;top:103px;left:0;right:-22px;height:1px;background:#849987}
.mika-timeline-item:after{content:"";position:absolute;top:98px;left:0;width:11px;height:11px;border-radius:50%;background:#2c4d39}
.mika-symbol{height:95px;width:100%;display:flex;align-items:center;justify-content:center;background:#d9e1d6;margin-bottom:24px;border-radius:3px}
.mika-symbol svg{width:51px;height:51px;stroke:#425d49;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.mika-years{display:block;margin-top:4px;font:23px/1.25 var(--keyaki-serif);color:#1f3227}
.mika-timeline h4{font:17px/1.3 var(--keyaki-serif);margin:10px 0}
.mika-timeline p{font-size:12.5px;line-height:1.7;color:#384b3c;margin:0}
.mika-today{display:flex;align-items:center;gap:24px;background:#294132;color:#fff;padding:23px 28px;margin-top:25px;border-radius:3px}
.mika-today-mark{font:56px/1 'Yu Mincho','MS Mincho',serif;color:#f5ebd1}
.mika-today>div{flex:1}
.mika-today .mika-overline{color:#e0e7d5}
.mika-today h3{font-size:25px;margin:3px 0 5px;color:#fff}
.mika-today p{font-size:12px;line-height:1.6;margin:0;max-width:680px}
.mika-today .btn{white-space:nowrap}
.mika-photo-note{font-size:10px;color:#687369;text-align:right;margin:13px 0 0}
html[lang="ja"] .mika-lead,html[lang="ja"] .mika-years,html[lang="ja"] .mika-timeline h4{font-family:'Yu Mincho','Hiragino Mincho ProN','MS Mincho',var(--keyaki-serif)!important}
@media(max-width:980px){.mika-hero{grid-template-columns:1fr 1.15fr}.mika-intro{padding:33px 25px}.mika-highlights{gap:6px}.mika-career-head{align-items:start;flex-direction:column;gap:7px}.mika-timeline{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:20px}.mika-timeline-item:before{right:-22px}.mika-today{flex-wrap:wrap}}
@media(max-width:740px){.mika-hero{grid-template-columns:1fr}.mika-visual{min-height:270px}.mika-visual>img{object-position:center 42%}.mika-intro{padding:30px 6% 31px}.mika-intro h2{font-size:37px}.mika-highlights strong{font-size:24px}.mika-career{padding:35px 6%}.mika-timeline{grid-template-columns:1fr;gap:16px}.mika-timeline-item{padding:0 0 17px 78px;border-bottom:1px solid #b5c1b0;min-height:111px}.mika-timeline-item:before,.mika-timeline-item:after{display:none}.mika-symbol{position:absolute;left:0;top:0;width:62px;height:78px;margin:0}.mika-symbol svg{width:37px;height:37px}.mika-timeline h4{margin:5px 0}.mika-years{font-size:21px}.mika-today{padding:22px;gap:15px}.mika-today-mark{font-size:36px}.mika-today>div{flex-basis:calc(100% - 70px)}.mika-today .btn{width:100%}}
@media(max-width:400px){.mika-highlights{grid-template-columns:1fr;gap:12px}.mika-highlights>div{flex-direction:row;justify-content:flex-start;text-align:left;align-items:center;gap:14px}.mika-highlights strong{min-width:94px}.mika-highlights span{text-align:left}}


/* 2026 KEYAKI Mika editorial profile — inspired by approved reference layout. */
.mika-profile{padding:0;background:#f8f7f1;color:#253228}
.mika-hero{display:grid;grid-template-columns:minmax(0,44%) minmax(0,56%);min-height:510px;background:#f7f4ed}
.mika-portrait{position:relative;overflow:hidden;min-height:510px;background:#dddcd5}
.mika-portrait>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 23%;display:block}
.mika-intro{padding:clamp(25px,3vw,50px) clamp(24px,3.8vw,57px);background:linear-gradient(125deg,#f7f4ed,#f9f6ef);display:flex;flex-direction:column;justify-content:center}
.mika-intro .mika-overline{margin:0;font:700 11px/1.3 var(--keyaki-sans);letter-spacing:.24em;color:#506653}
.mika-intro h2{font:normal clamp(50px,5.3vw,76px)/1.06 var(--keyaki-serif);margin:8px 0 10px;color:#141b16}
.mika-intro .mika-lead{font:normal clamp(19px,2vw,24px)/1.32 var(--keyaki-serif)!important;max-width:640px;color:#25372c;margin:0 0 19px}
.mika-intro .mika-intro-bio{font:14px/1.6 var(--keyaki-sans);margin:0 0 12px;max-width:580px}
.mika-highlights{border:0;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.mika-highlight{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px}
.mika-highlight-icon{display:flex;align-items:center;justify-content:center;width:70px;height:70px;background:#e8e7da;border-radius:100%;color:#364d38}
.mika-highlight-icon svg{width:40px;height:40px;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.mika-highlight span:last-child{font:14px/1.35 var(--keyaki-serif);color:#28362c}
.mika-career{padding:46px 4.5% 37px;background:#eff2eb}
.mika-career-title{display:flex;align-items:center;gap:22px}
.mika-career-title h3{font:normal clamp(31px,3.3vw,44px)/1.2 var(--keyaki-serif);margin:0;color:#19271e}
.mika-career-rule{height:1px;max-width:110px;min-width:65px;background:#687d6c}
.mika-career-caption{margin:7px 0 28px!important;font:700 10px/1.4 var(--keyaki-sans);color:#5e7563;letter-spacing:.2em}
.mika-timeline{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));column-gap:22px;list-style:none;padding:0;margin:0}
.mika-timeline-item{position:relative;min-width:0;padding:0 0 5px}
.mika-timeline-image,.mika-school-image,.mika-logo-image{display:block;width:100%;height:150px;border-radius:4px;object-fit:cover;object-position:center;overflow:hidden;margin:0}
.mika-school-image{display:flex;align-items:end;justify-content:center;background:#dee8ed}
.mika-school-image .mika-timeline-image{object-fit:contain;object-position:center bottom;height:100%;width:100%}
.mika-logo-image{display:flex;align-items:center;justify-content:center;background:#f9f7f1}
.mika-logo-image .mika-timeline-image{object-fit:contain;height:94%;width:94%}
.mika-timeline-item:before{content:"";position:absolute;top:161px;left:0;right:-23px;height:1px;background:#8fa391}
.mika-timeline-item:last-child:before{right:0}
.mika-timeline-item:after{content:none}
.mika-timeline-dot{height:11px;width:11px;border-radius:50%;background:#334a37;position:relative;margin-top:6px;z-index:1}
.mika-years{display:block;margin:16px 0 2px;font:700 22px/1.1 var(--keyaki-sans);color:#26392c}
.mika-timeline h4{font:normal 17px/1.25 var(--keyaki-serif);margin:7px 0 2px;color:#17281e;overflow-wrap:anywhere}
.mika-timeline em{display:block;font:italic 13px/1.4 var(--keyaki-serif);color:#55675a;margin:0 0 8px}
.mika-timeline p{font:12.5px/1.55 var(--keyaki-sans);color:#344a3b;margin:0;overflow-wrap:anywhere}
.mika-illustration-note{font:11px/1.5 var(--keyaki-sans);margin:18px 0 0;color:#687c6c}
.mika-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px;padding:22px 26px;background:#e0e7dc;border-radius:4px}
.mika-cta p{margin:0;font:17px/1.3 var(--keyaki-serif)}
.mika-cta .btn{white-space:nowrap}
html[lang="ja"] .mika-lead,html[lang="ja"] .mika-highlight span:last-child,html[lang="ja"] .mika-timeline h4,html[lang="ja"] .mika-cta p{font-family:"Yu Mincho","Hiragino Mincho ProN","MS Mincho",var(--keyaki-serif)!important}
@media (max-width:1120px) {
 .mika-hero{grid-template-columns:minmax(0,42%) minmax(0,58%)}
 .mika-intro{padding:28px 30px}
 .mika-portrait{min-height:580px}
 .mika-timeline{display:flex;overflow-x:auto;scroll-snap-type:x proximity;gap:20px;padding-bottom:16px}
 .mika-timeline-item{flex:0 0 205px;scroll-snap-align:start}
 .mika-intro .mika-lead{font-size:19px!important}
 .mika-highlight-icon{height:59px;width:59px}
 .mika-highlight-icon svg{height:33px;width:33px}
}
@media (max-width:740px) {
 .mika-hero{grid-template-columns:1fr}
 .mika-portrait{min-height:360px;max-height:490px;height:60vw}
 .mika-portrait>img{object-position:center 24%}
 .mika-intro{padding:30px 6% 35px}
 .mika-intro h2{font-size:54px}
 .mika-intro .mika-lead{font-size:20px!important}
 .mika-intro .mika-intro-bio{font-size:13.5px}
 .mika-highlight-icon{height:62px;width:62px}
 .mika-highlight span:last-child{font-size:12px}
 .mika-career{padding:35px 6%}
 .mika-career-caption{margin-bottom:22px!important}
 .mika-timeline{display:grid;grid-template-columns:1fr;gap:18px;overflow:visible;padding:0}
 .mika-timeline-item{display:grid;grid-template-columns:124px 1fr;column-gap:16px;align-content:start;min-height:133px;padding:0 0 18px;border-bottom:1px solid #bdc9bc}
 .mika-timeline-image,.mika-school-image,.mika-logo-image{grid-column:1;grid-row:1 / span 4;width:124px;height:118px}
 .mika-years,.mika-timeline h4,.mika-timeline em,.mika-timeline p{grid-column:2}
 .mika-years{grid-row:1;margin:0 0 5px;font-size:19px}
 .mika-timeline h4{grid-row:2;margin:0;font-size:17px}
 .mika-timeline em{grid-row:3;margin:0 0 5px}
 .mika-timeline p{grid-row:4;font-size:12px}
 .mika-timeline-item:before,.mika-timeline-dot{display:none}
 .mika-cta{flex-direction:column;align-items:stretch;padding:19px}
 .mika-cta .btn{width:100%}
}
@media (max-width:400px) {
 .mika-portrait{min-height:285px}
 .mika-highlights{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
 .mika-highlight{flex-direction:column;gap:7px;text-align:center}
 .mika-highlight-icon{width:50px;height:50px}
 .mika-highlight-icon svg{width:29px;height:29px}
 .mika-highlight span:last-child{font-size:11px;min-width:0;text-align:center}
 .mika-timeline-item{grid-template-columns:100px 1fr;column-gap:12px}
 .mika-timeline-image,.mika-school-image,.mika-logo-image{width:100px;height:104px}
}


/* KEYAKI readability update — October 2026
   Increase essential service, career and booking text for older visitors.
   Keep purely decorative labels, copyright and nonessential captions small.
   Cal.com embedded UI has its own typography. */
:root { font-size: 16px; }
body { font-size: 16px; line-height: 1.65; }

/* Service descriptions and costs */
.services .card h3 { font-size: clamp(26px, 2.3vw, 31px); line-height: 1.25; }
.services .card p { font-size: 17px; line-height: 1.65; max-width: 56ch; }
.services .duration { font-size: 15px; line-height: 1.5; color: #455c49; }
.services .price { font-size: clamp(31px, 3vw, 37px); white-space: nowrap; }
.services .price small { font-size: 13px; }
.services .price-row { flex-wrap: wrap; row-gap: 8px; }
.services .price-row a { font-size: 16px; display: inline-flex; min-height: 44px; align-items: center; }

/* Trilingual customer service notice: visible beside the service choices. */
.keyaki-languages { display: flex; align-items: center; justify-content: center; gap: 12px; margin: 28px auto 0; max-width: 880px; padding: 17px 21px; background: #e9eee5; border: 1px solid #b9c9b6; border-radius: 5px; color: #243d2f; }
.keyaki-languages-icon { width: 29px; height: 29px; flex: 0 0 29px; }
.keyaki-languages p { margin: 0; font-size: 17px; line-height: 1.55; max-width: none; }
.keyaki-languages strong { font-weight: 700; }

/* Practical details: addresses, opening hours, cancellation, payments. */
.meta strong { font-size: 18px; line-height: 1.35; }
.meta small { display: block; font-size: 15px; line-height: 1.45; margin-top: 4px; }
.faq summary { font-size: 17px; line-height: 1.5; padding: 4px 0; font-weight: 600; }
.faq p { font-size: 16px; line-height: 1.65; }
.reserve p { font-size: 16px; line-height: 1.55; }
.btn { font-size: 16px; min-height: 44px; }
nav { font-size: 14px; }

/* Professional experience: keep actual career information legible. */
.mika-intro .mika-intro-bio { font-size: 17px; line-height: 1.65; }
.mika-highlight span:last-child { font-size: 16px; line-height: 1.4; }
.mika-timeline h4 { font-size: 19px; line-height: 1.36; }
.mika-timeline p { font-size: 16px; line-height: 1.55; }
.mika-timeline em { font-size: 15px; }
.mika-years { font-size: 23px; }
.mika-cta p { font-size: 19px; }

/* Booking controls outside Cal.com's iframe. */
.cal-booking-heading p, .cal-booking-fallback { font-size: 16px; line-height: 1.55; }
.cal-service-tab strong { font-size: 18px; }
.cal-service-tab span { font-size: 16px; }
.cal-service-tab { min-height: 60px; }

@media (max-width: 740px) {
 .services .card p { font-size: 17px; }
 .services .price-row a { font-size: 16px; }
 .keyaki-languages { align-items: flex-start; padding: 15px; gap: 10px; }
 .keyaki-languages p { font-size: 16px; }
 .meta small { font-size: 15px; }
 .mika-intro .mika-intro-bio { font-size: 16px; }
 .mika-highlight span:last-child { font-size: 15px; }
 .mika-timeline p { font-size: 15px; }
 .mika-timeline h4 { font-size: 18px; }
 .mika-years { font-size: 21px; }
 .cal-service-tab strong { font-size: 16px; }
 .cal-service-tab span { font-size: 15px; }
}
@media (max-width: 400px) {
 .keyaki-languages p { font-size: 16px; }
 .mika-highlight span:last-child { font-size: 14px; }
}

/* Japanese-only text adjustments (desktop and mobile).
   Keep prices, booking buttons, and important practical details readable. */
html[lang="ja"] .services .card p,
html[lang="ja"] .mika-intro .mika-intro-bio,
html[lang="ja"] .mika-timeline p,
html[lang="ja"] .faq p {
  font-size: 15px;
}

html[lang="ja"] .mika-intro .mika-lead {
  font-size: 18px !important;
}

html[lang="ja"] .services h2,
html[lang="ja"] .faq h2,
html[lang="ja"] .cal-booking-heading h2,
html[lang="ja"] .reserve h2 {
  font-size: 28px;
}

html[lang="ja"] .hero h1 {
  font-size: 30px;
}

/* KEYAKI – Mika highlights: readable mobile layout in ES, EN and JA.
   Override earlier responsive rules; keep desktop three-column layout. */
@media (max-width: 740px) {
  .mika-highlights {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    margin-top: 24px;
  }

  .mika-highlight {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    align-items: center;
    gap: 16px;
    padding: 12px;
    text-align: left;
    background: #eeeee5;
    border-radius: 8px;
  }

  .mika-highlight-icon {
    width: 52px;
    height: 52px;
    flex-shrink: 0;
  }

  .mika-highlight-icon svg {
    width: 30px;
    height: 30px;
  }

  .mika-highlight span:last-child {
    font-size: 17px;
    line-height: 1.4;
    text-align: left;
    min-width: 0;
    overflow-wrap: normal;
    word-break: normal;
  }
}


/* KEYAKI home visits: distinct from fixed-price Cal.com reservations in Cota.
   All home visits are quoted and confirmed manually via WhatsApp. */
.home-visit { background: #e8eee5; padding: 48px 5%; scroll-margin-top: 24px; }
.home-visit-layout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(290px, .8fr); gap: clamp(24px,4vw,58px); align-items: center; }
.home-visit-copy { min-width: 0; }
.home-visit-eyebrow { font: 700 12px/1.5 var(--keyaki-sans); letter-spacing: .18em; color: #42634d; margin: 0 0 11px; }
.home-visit h2 { font-size: clamp(30px, 3.3vw, 43px); margin: 0 0 20px; max-width: 18ch; }
.home-visit-copy > p:not(.home-visit-eyebrow) { font: 17px/1.65 var(--keyaki-sans); margin: 0 0 15px; max-width: 58ch; }
.home-visit-intro strong { font-weight: 700; }
.home-visit-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 25px; }
.home-visit-actions .btn { font-size: 16px; min-height: 50px; text-align: center; }
.home-visit-details { background: #f9f6ed; border: 1px solid #cedacc; padding: 27px 27px 23px; border-radius: 6px; color: #25382a; box-shadow: 0 8px 25px #27452f0b; }
.home-visit-visual { width: 108px; height: 75px; color: #69876d; margin: 0 auto 8px; }
.home-visit-visual svg { width: 100%; height: 100%; }
.home-visit-where { text-align: center; font: 600 16px/1.4 var(--keyaki-sans); margin: 5px 0 18px; }
.home-visit-price { display: flex; justify-content: space-between; gap: 14px; align-items: baseline; border-top: 1px solid #cfd9cc; padding: 12px 0; font: 15px/1.45 var(--keyaki-sans); }
.home-visit-price strong { font-size: 19px; white-space: nowrap; color: #16392a; }
.home-visit-price-note, .home-visit-schedule { font: 14px/1.55 var(--keyaki-sans); margin: 13px 0 0; color: #41594a; }
.home-visit-schedule { padding-top: 13px; border-top: 1px solid #cfd9cc; }
html[lang="ja"] .home-visit h2 { font-family: "Yu Mincho", "Hiragino Mincho ProN", "MS Mincho", var(--keyaki-serif); font-size: 29px; max-width: none; }
html[lang="ja"] .home-visit-copy > p:not(.home-visit-eyebrow) { font-size: 16px; }
@media (max-width: 780px) {
 .home-visit-layout { grid-template-columns: minmax(0, 1fr); gap: 22px; }
 .home-visit { padding: 38px 6%; }
 .home-visit h2 { max-width: none; }
 .home-visit-details { max-width: 660px; width: 100%; }
}
@media (max-width: 440px) {
 .home-visit { padding: 32px 6%; }
 .home-visit h2 { font-size: 30px; }
 .home-visit-copy > p:not(.home-visit-eyebrow) { font-size: 16px; }
 .home-visit-actions .btn { width: 100%; padding: 14px 11px; }
 .home-visit-details { padding: 20px 17px; }
 .home-visit-price { flex-wrap: wrap; row-gap: 0; }
 .home-visit-price strong { font-size: 18px; }
}

/* Northern Bogotá home visits: visible weekend-first availability note. */
.home-visit-bogota-note { border-left: 3px solid #738f77; background: #eef2e9; padding: 12px 15px; border-radius: 0 4px 4px 0; font: 16px/1.6 var(--keyaki-sans); color: #2b4934; margin: 14px 0; }
.home-visit-bogota-note strong { font-weight: 700; }

/* Visible 24-hour booking policy (Cal.com confirmation checkbox mirrors this notice). */
.booking-policy-notice{max-width:920px;margin:0 auto 20px;padding:14px 17px;background:#edf1ea;border-left:3px solid #41624e;border-radius:3px;color:#1f2e26;font:15px/1.65 var(--keyaki-sans,system-ui,sans-serif)}
.booking-policy-notice a{text-underline-offset:3px;font-weight:600}
@media(max-width:650px){.booking-policy-notice{margin:0 4px 17px;padding:12px 13px;font-size:15px;line-height:1.55}}
