/*
Theme Name: BODY TIPS — カラダ知るジム
Theme URI: https://bodytips.co.jp/
Author: BODY TIPS
Description: BODY TIPS custom theme prototype based on the approved site master specification.
Version: 0.1.36
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: body-tips
*/
:root{--ink:#252626;--paper:#f8f7f4;--white:#fff;--muted:#777773;--line:#e3e0da;--orange:#d97839;--serif:"Noto Serif JP","Yu Mincho",YuMincho,serif;--sans:"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;--max:1180px;--pad:clamp(22px,5vw,72px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.9;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:hover{color:var(--orange)}img,video{display:block;max-width:100%;height:auto}button,a{ -webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--orange);outline-offset:4px}.site-header{position:absolute;z-index:20;top:0;left:0;width:100%;color:#fff;padding:22px var(--pad);display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-size:13px;letter-spacing:.12em;line-height:1.5;font-weight:600}.brand small{display:block;font-size:10px;letter-spacing:.22em;font-weight:400}.site-nav{display:flex;align-items:center;gap:clamp(14px,2.2vw,30px);font-size:12px;letter-spacing:.04em}.site-nav a{opacity:.92}.site-nav .nav-cta{border:1px solid rgba(255,255,255,.65);padding:8px 15px}.nav-toggle{display:none;background:transparent;border:1px solid rgba(255,255,255,.6);color:white;padding:7px 11px;font:inherit}.hero{min-height:min(900px,100svh);min-height:720px;position:relative;display:flex;align-items:center;overflow:hidden;background:#1e2a2d;color:white;padding:130px var(--pad) 100px}.hero-media,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-media{object-fit:cover;object-position:center}.hero-shade{background:linear-gradient(90deg,rgba(10,18,20,.63),rgba(10,18,20,.16) 75%),linear-gradient(0deg,rgba(10,18,20,.28),transparent 50%)}.hero-content{position:relative;z-index:2;width:min(900px,100%);margin:0 auto}.hero-kicker{font-size:clamp(15px,1.6vw,20px);letter-spacing:.18em;margin:0 0 4px}.hero-brand{font-size:clamp(13px,1.5vw,17px);letter-spacing:.3em;margin:0 0 40px;opacity:.88}.hero h1{font-family:var(--serif);font-size:clamp(30px,4.2vw,56px);line-height:1.75;font-weight:500;letter-spacing:.045em;margin:0 0 24px}.hero-sub{font-size:clamp(15px,1.5vw,19px);line-height:2;letter-spacing:.06em;margin:0 0 36px}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:54px;padding:13px 24px;border:1px solid var(--orange);background:var(--orange);color:white;font-size:13px;letter-spacing:.05em;transition:background .2s,color .2s}.button:hover{background:transparent;color:var(--orange)}.button-light{background:transparent;border-color:rgba(255,255,255,.8);color:white}.button-light:hover{background:white;color:var(--ink)}.section{padding:clamp(78px,10vw,145px) var(--pad)}.section-inner{max-width:var(--max);margin:0 auto}.section-label{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--orange);margin:0 0 22px}.section h2{font-family:var(--serif);font-size:clamp(27px,3.5vw,44px);line-height:1.8;font-weight:500;letter-spacing:.04em;margin:0 0 28px}.lead{font-size:clamp(16px,1.4vw,18px);line-height:2.2}.body-copy{max-width:700px}.body-copy p{margin:0 0 1.15em}.center{text-align:center}.section-quiet{background:var(--paper)}.section-white{background:var(--white)}.section-dark{background:#282c2b;color:white}.section-dark .section-label{color:#e39a65}.section-know{min-height:56vh;display:flex;align-items:center}.section-know .section-inner{width:100%}.orange{color:var(--orange)}.method-grid,.private-grid,.process-grid,.way-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(22px,4vw,58px);margin-top:54px}.method-item{border-top:1px solid var(--line);padding-top:20px}.method-item h3{font-size:18px;font-weight:500;margin:0 0 14px}.method-item p{font-size:14px;color:var(--muted);margin:0}.section-dark .method-item{border-color:rgba(255,255,255,.24)}.section-dark .method-item p{color:#d2d3ce}.feature-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,7vw,100px);align-items:center}.feature-image{width:100%;aspect-ratio:4/3;object-fit:cover}.feature-image.tall{aspect-ratio:3/4}.small-note{font-size:13px;color:var(--muted)}.process-grid{grid-template-columns:repeat(3,minmax(0,1fr));counter-reset:step}.process-item{padding:22px 0;border-top:1px solid var(--line)}.process-number{font-family:var(--serif);font-size:30px;color:var(--orange);display:block;margin-bottom:14px}.process-item h3{font-size:17px;font-weight:500;margin:0 0 10px}.process-item p{font-size:14px;color:var(--muted);margin:0}.experience-card{display:grid;grid-template-columns:1fr .8fr;gap:clamp(25px,6vw,76px);align-items:center;padding:clamp(28px,5vw,64px);background:#efede7}.price-large{font-family:var(--serif);font-size:clamp(30px,4vw,46px);margin:8px 0}.price-large small{font-family:var(--sans);font-size:13px}.way-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.way-card{border:1px solid var(--line);padding:28px}.way-card h3{font-size:20px;font-weight:500;margin:0 0 10px}.profile-name{font-size:18px;letter-spacing:.08em}.profile-role{font-size:13px;color:var(--muted)}.cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}.site-footer{background:#222624;color:#f7f6f2;padding:58px var(--pad) 28px}.footer-inner{max-width:var(--max);margin:auto}.footer-top{display:flex;justify-content:space-between;gap:30px;align-items:start;padding-bottom:38px}.footer-links{display:flex;flex-wrap:wrap;gap:12px 22px;font-size:12px}.footer-bottom{border-top:1px solid rgba(255,255,255,.2);padding-top:18px;font-size:11px;color:#b9bbb5;display:flex;justify-content:space-between;gap:20px}.page-hero{padding:170px var(--pad) 85px;background:#292e2d;color:white}.page-hero .section-inner{max-width:var(--max)}.page-hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(32px,4.2vw,54px);line-height:1.7;margin:0 0 14px}.page-hero p{max-width:700px}.content-page{max-width:850px;margin:auto}.content-page h2{font-family:var(--serif);font-weight:500;margin-top:2em}.content-page p{margin:0 0 1.3em}.price-table{width:100%;border-collapse:collapse;margin:30px 0}.price-table th,.price-table td{text-align:left;border-bottom:1px solid var(--line);padding:18px 10px}.price-table th{font-weight:500}.price-table td:last-child{text-align:right;white-space:nowrap}.notice{font-size:12px;color:var(--muted)}.skip-link{position:absolute;left:-9999px;top:auto}.skip-link:focus{left:10px;top:10px;background:white;color:black;padding:10px;z-index:100}
@media(max-width:900px){.site-header{padding-top:18px}.site-nav{gap:12px;font-size:11px}.site-nav a:not(.nav-cta){display:none}.nav-toggle{display:block}.site-nav.is-open{position:absolute;top:68px;left:var(--pad);right:var(--pad);display:flex;flex-direction:column;align-items:stretch;gap:0;background:rgba(31,36,35,.97);padding:12px 18px}.site-nav.is-open a:not(.nav-cta){display:block;padding:9px 0}.site-nav .nav-cta{text-align:center;margin-top:8px}.hero{min-height:700px;min-height:88svh}.feature-split{grid-template-columns:1fr}.feature-split.reverse .feature-image{order:2}.method-grid,.private-grid{grid-template-columns:1fr;gap:28px}.process-grid{grid-template-columns:1fr;gap:10px}.process-item{display:grid;grid-template-columns:54px 1fr;column-gap:12px}.process-number{grid-row:span 2}.process-item h3{margin-bottom:4px}.process-item p{grid-column:2}.experience-card{grid-template-columns:1fr}.footer-top{flex-direction:column}}
@media(max-width:560px){body{font-size:15px}.hero{padding-top:120px;padding-bottom:70px;min-height:760px;min-height:92svh}.hero h1{font-size:29px;line-height:1.9}.hero-brand{margin-bottom:28px}.hero-sub{font-size:14px}.section{padding-top:76px;padding-bottom:76px}.section h2{font-size:28px}.way-grid{grid-template-columns:1fr}.experience-card{padding:24px}.footer-bottom{flex-direction:column;gap:6px}.price-table th,.price-table td{padding:13px 5px;font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.hero video{display:none!important}}

/* v0.1.2: header and responsive hero refinements */
.site-header{align-items:flex-start;flex-wrap:nowrap}
.site-header .brand{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;flex:0 0 auto;white-space:nowrap;line-height:1.35;font-size:13px;letter-spacing:.08em;min-width:max-content}
.site-header .brand small{display:block;white-space:nowrap;font-size:10px;line-height:1.45;letter-spacing:.20em;margin-top:3px}
.site-nav{flex-wrap:nowrap;white-space:nowrap;min-width:0}
.site-nav a{white-space:nowrap}
.hero-media{object-position:center center}
.hero picture.hero-media{display:block}
.hero video.hero-media{object-fit:cover;object-position:center center}
.hero h1,.section h2,.page-hero h1{overflow-wrap:normal;word-break:normal;line-break:strict;text-wrap:pretty}
@media(max-width:1100px){
 .site-header{align-items:flex-start}
 .site-nav{gap:12px}
 .site-nav a:not(.nav-cta){display:none}
 .nav-toggle{display:block;flex:0 0 auto}
}
@media(max-width:900px){
 .site-header{padding-left:clamp(18px,5vw,28px);padding-right:clamp(18px,5vw,28px)}
 .site-nav.is-open{top:66px}
}
@media(max-width:560px){
 .hero video.hero-media,.hero picture.hero-media{object-position:42% center}
 .hero-shade{background:linear-gradient(90deg,rgba(10,18,20,.55),rgba(10,18,20,.12) 80%),linear-gradient(0deg,rgba(10,18,20,.28),transparent 50%)}
 .hero h1{font-size:clamp(27px,7.2vw,30px);line-height:1.75;letter-spacing:.015em}
 .site-header .brand{font-size:12px}
 .site-header .brand small{font-size:9px}
}

/* v0.1.3: keep the header clean; use a single explicit menu toggle across viewports */
.site-header{align-items:flex-start}
.site-header .brand{flex:0 0 auto;max-width:55%;white-space:normal}
.site-header .brand small{white-space:nowrap}
.site-header .nav-toggle{display:block;flex:0 0 auto;margin-left:auto}
.site-header .site-nav{display:none}
.site-header .site-nav.is-open{display:flex;position:absolute;top:72px;right:var(--pad);left:auto;width:min(360px,calc(100vw - 2 * var(--pad)));max-height:calc(100svh - 96px);overflow:auto;flex-direction:column;align-items:stretch;gap:0;background:rgba(31,36,35,.97);padding:12px 18px;white-space:normal}
.site-header .site-nav.is-open a{display:block;white-space:normal;padding:10px 0}
.site-header .site-nav.is-open .nav-cta{text-align:center;margin-top:8px}
@media(max-width:560px){
 .hero video.hero-media,.hero picture.hero-media{object-position:35% center}
 .site-header{padding-left:20px;padding-right:20px}
 .site-header .brand{max-width:65%;font-size:12px;letter-spacing:.05em}
 .site-header .brand small{font-size:9px;letter-spacing:.16em}
 .site-header .site-nav.is-open{right:20px;width:calc(100vw - 40px)}
}


/* v0.1.4: stable two-line brand, predictable menu, smoother hero loop */
.site-header .brand{white-space:nowrap;line-height:1.3;max-width:none}
.site-header .brand small{margin-top:3px}
.site-header .nav-toggle{min-width:64px;min-height:40px;display:inline-flex;align-items:center;justify-content:center}
.site-header .site-nav{z-index:30}
.hero picture.hero-media{z-index:0}
.hero video.hero-media{z-index:1}
.hero-shade{z-index:2}
.hero-content{z-index:3}
@media(max-width:560px){
 .hero video.hero-media,.hero picture.hero-media{object-position:32% center}
 .hero h1{word-break:normal;overflow-wrap:normal;line-break:strict}
}

/* v0.1.7: final packaging, mobile header spacing and tap target */
@media(max-width:560px){.site-header{gap:12px}.site-header .brand{font-size:12px;line-height:1.35}.site-header .brand small{font-size:9px}.site-header .nav-toggle{min-width:68px;min-height:42px;padding:8px 12px}.hero-content{width:100%}.hero h1{max-width:100%;text-wrap:pretty}}


/* v0.1.8: deterministic header behavior across desktop and mobile */
.site-header{align-items:flex-start;gap:16px}
.site-header .brand{display:flex;flex-direction:column;align-items:flex-start;flex:0 0 auto;white-space:nowrap;line-height:1.3;max-width:none}
.site-header .brand small{display:block;white-space:nowrap;margin-top:3px}
.site-header .nav-toggle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:68px;min-height:42px;margin-left:auto}
.site-header .site-nav{display:none}
.site-header .site-nav.is-open{display:flex;position:absolute;top:calc(100% - 2px);right:var(--pad);left:auto;width:min(360px,calc(100vw - 2 * var(--pad)));max-height:calc(100svh - 100px);overflow:auto;flex-direction:column;align-items:stretch;gap:0;white-space:normal;background:rgba(31,36,35,.97);padding:12px 18px}
.site-header .site-nav.is-open a{display:block;white-space:normal;padding:10px 0}
.site-header .site-nav.is-open .nav-cta{text-align:center;margin-top:8px}
@media(max-width:560px){
 .site-header{padding-left:20px;padding-right:20px;gap:12px}
 .site-header .brand{font-size:12px;letter-spacing:.05em}
 .site-header .brand small{font-size:9px;letter-spacing:.16em}
 .site-header .site-nav.is-open{right:20px;width:calc(100vw - 40px)}
 .hero video.hero-media,.hero picture.hero-media{object-position:32% center}
}

/* v0.1.9: ignore legacy WordPress menu; use prototype navigation and invalidate cached assets. */
.site-header .site-nav{z-index:30}
.site-header .nav-toggle{position:relative;z-index:31;cursor:pointer}

/* v0.1.10: About page four-step grid (知る / 合わせる / 動く / 続ける) */
.process-grid.process-grid-four{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:900px){.process-grid.process-grid-four{grid-template-columns:1fr}}
/* v0.1.10: About page headings break only between phrases (class used only in the about template) */
.about-nb{display:inline-block}

/* v0.1.11: posts (column list, single post, 404) */
.post-list{display:grid;gap:0}
.post-item{padding:28px 0;border-top:1px solid var(--line)}
.post-item:last-child{border-bottom:1px solid var(--line)}
.post-item h2{font-size:clamp(20px,2.2vw,24px);line-height:1.7;margin:4px 0 10px}
.post-item h2 a:hover{color:var(--orange)}
.post-excerpt p{margin:0;font-size:14px;color:var(--muted)}
.post-date{font-size:12px;letter-spacing:.08em;color:var(--muted);margin:0}
.page-hero .post-date{color:#c4c5bf}
.entry-content figure{margin:2em 0}
.entry-content img{height:auto}
.entry-content figcaption{font-size:12px;color:var(--muted);margin-top:8px}
.entry-content blockquote{margin:2em 0;padding:4px 0 4px 20px;border-left:2px solid var(--orange);color:var(--muted)}
.entry-content ul,.entry-content ol{padding-left:1.4em;margin:0 0 1.3em}
.post-nav{padding-top:40px;padding-bottom:40px}
.nav-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:36px;font-size:13px}
.nav-links .page-numbers{border:1px solid var(--line);padding:6px 12px}
.nav-links .page-numbers.current{background:var(--ink);color:#fff;border-color:var(--ink)}
.nb{display:inline-block}
.page-hero h1.post-title,.post-item h2{word-break:auto-phrase}

/* v0.1.11: header booking CTA visible on desktop (MASTER 33); inside MENU on smaller screens */
.header-cta{display:none}
@media(min-width:901px){.site-header .header-cta{display:inline-flex;align-items:center;margin-left:auto;margin-right:14px;min-height:40px;padding:8px 18px;background:var(--orange);border:1px solid var(--orange);color:#fff;font-size:12px;letter-spacing:.05em;white-space:nowrap}.site-header .header-cta:hover{background:transparent;color:#fff;border-color:#fff}.site-header .header-cta+.nav-toggle{margin-left:0}}
.check-list{list-style:none;padding:0;margin:0 0 1.6em}
.check-list li{position:relative;padding:10px 0 10px 26px;border-bottom:1px solid var(--line)}
.check-list li::before{content:"";position:absolute;left:6px;top:.95em;width:6px;height:11px;border-right:2px solid var(--orange);border-bottom:2px solid var(--orange);transform:rotate(45deg)}

/* v0.1.11: MASTER 33 — header stays available and becomes compact on scroll; MENU opens a full-screen overlay */
.site-header{position:fixed;transition:padding .25s,background-color .25s}
.site-header.is-scrolled{background:rgba(31,36,35,.94);padding-top:10px;padding-bottom:10px}
.admin-bar .site-header{top:32px}
@media(max-width:782px){.admin-bar .site-header{top:46px}}
.site-header .brand{position:relative;z-index:31}
.site-header .site-nav.is-open{position:fixed;top:0;right:0;bottom:0;left:0;width:auto;max-height:none;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:96px 24px 48px;background:#1f2423;overflow:auto;z-index:30}
.site-header .site-nav.is-open a{font-size:17px;letter-spacing:.08em;padding:12px 0;text-align:center}
.site-header .site-nav.is-open .nav-cta{margin-top:24px;padding:14px 26px;font-size:14px;background:var(--orange);border-color:var(--orange)}
html.menu-open{overflow:hidden}

/* v0.1.12: five-step grid (experience), notes list (pricing), English link list, D-2 HOME HERO size */
.process-grid.process-grid-five{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:900px){.process-grid.process-grid-five{grid-template-columns:1fr}}
.note-list{padding-left:1.2em;margin:0 0 1.6em;font-size:14px}
.note-list li{margin:0 0 .4em}
.step-list{padding-left:1.4em;margin:0 0 1.6em}
.step-list li{margin:0 0 .6em}
.en-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:0 40px;max-width:var(--max);margin:0 auto}
.en-link{display:block;padding:22px 0;border-top:1px solid var(--line)}
.en-link-title{display:block;font-family:var(--serif);font-size:20px;margin-bottom:4px}
.en-link-text{display:block;font-size:14px;color:var(--muted)}
.page-hero .cta-row{margin-top:26px}
@media(min-width:561px){.hero h1{font-size:clamp(30px,3.5vw,50px)}}

/* v0.1.13: HOME 06 AI posture check note (MASTER 14, 25) */
.ai-note{max-width:720px;margin:40px auto 0;padding-top:28px;border-top:1px solid var(--line);text-align:center}
.ai-note h3{font-family:var(--serif);font-size:clamp(18px,2vw,22px);font-weight:500;line-height:1.8;margin:0 0 12px}
.ai-note p{font-size:14px;color:var(--muted);margin:0;text-align:left}
@media(min-width:561px){.ai-note p{text-align:center}}

/* v0.1.16: muted text darkened slightly for WCAG AA contrast (4.5:1+) on white, off-white and beige backgrounds */
:root{--muted:#6b6b67}

/* v0.1.17: orange for small text and white-text buttons (WCAG AA). Large numbers, lines and other accents keep --orange; the official logo colour is not affected. */
:root{--orange-strong:#b45c22;--orange-text-quiet:#ab5721}
.button{background:var(--orange-strong);border-color:var(--orange-strong)}
.site-header .header-cta{background:var(--orange-strong);border-color:var(--orange-strong)}
.site-header .site-nav.is-open .nav-cta{background:var(--orange-strong);border-color:var(--orange-strong)}
.section-label{color:var(--orange-strong)}
.section-quiet .section-label{color:var(--orange-text-quiet)}
.experience-card .section-label{color:#a65420}
.page-hero .section-label{color:#e39a65}
/* v0.1.18: large orange accents on off-white reach 3:1 — HOME 02 「知っていますか？」 and the experience page 01-05 numbers only */
.section-know .orange{color:#c56426}
.process-grid-five .process-number{color:#c56426}

/* v0.1.19: English link in the Japanese header (MASTER 33). PC: English -> booking button -> MENU; mobile: English -> MENU */
.site-header .lang-link{display:inline-flex;align-items:center;min-height:42px;margin-left:auto;margin-right:18px;padding:0 2px;color:#fff;font-size:12px;letter-spacing:.12em;opacity:.92;white-space:nowrap}
.site-header .lang-link:hover{opacity:1;color:#fff;text-decoration:underline;text-underline-offset:4px}
.site-header .lang-link~.header-cta{margin-left:0}
.site-header .lang-link~.nav-toggle{margin-left:0}
@media(max-width:560px){.site-header .lang-link{margin-right:12px;font-size:11px;letter-spacing:.1em}}

/* v0.1.29: profile career list and access route images */
.career-list{list-style:none;margin:24px 0 0;padding:0;border-top:1px solid var(--line)}
.career-list li{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);line-height:1.8}
.career-year{font-size:13px;letter-spacing:.06em;color:var(--muted);padding-top:2px}
@media(max-width:560px){.career-list li{grid-template-columns:1fr;gap:2px}}
.access-list{margin:0 0 28px;padding-left:1.2em}
.access-list li{margin:0 0 6px}
.access-maps{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:8px}
.access-maps figure{margin:0}
.access-maps img{display:block;width:100%;height:auto;border:1px solid var(--line)}
.access-maps figcaption{margin-top:8px;font-size:13px;color:var(--muted)}
@media(max-width:560px){.access-maps{grid-template-columns:1fr}}

/* v0.1.30: license list and route steps */
.license-list li{grid-template-columns:1fr}
.route-list{margin:14px 0 0;padding-left:1.4em;font-size:14px;line-height:1.8}
.route-list li{margin:0 0 4px}

/* v0.1.31: opening hours note */
.access-note{margin:-16px 0 28px;font-size:13px;color:var(--muted)}

/* v0.1.32: official logo image (logo3.jpg), shown as supplied — no recolouring or cropping */
.brand-logo{display:block;height:44px;width:auto;max-width:none}
.site-header.is-scrolled .brand-logo{height:36px}
.site-footer .brand-logo{height:56px}
@media(max-width:560px){.brand-logo{height:34px}.site-header.is-scrolled .brand-logo{height:30px}.site-footer .brand-logo{height:46px}}

/* v0.1.33: English route cards (text only) */
.route-columns{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:8px}
.route-card{border:1px solid var(--line);padding:22px 24px}
.route-card h3{margin:0 0 6px;font-size:17px}
.route-card .route-list{margin-top:8px}
@media(max-width:560px){.route-columns{grid-template-columns:1fr}.route-card{padding:18px}}

/* v0.1.34: booking buttons use the logo's orange (set from the logo image in wp_head; fallback below) */
:root{--cta-bg:#d97839}
.button,.site-header .header-cta,.site-header .site-nav.is-open .nav-cta{background:var(--cta-bg);border-color:var(--cta-bg)}
.button:hover{background:transparent;color:var(--cta-bg);border-color:var(--cta-bg)}

/* v0.1.34: English routes — photo with its English steps side by side */
.route-rows{display:grid;gap:36px;margin-top:8px}
.route-row{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:28px;align-items:start}
.route-photo{margin:0}
.route-photo img{display:block;width:100%;height:auto;border:1px solid var(--line)}
.route-photo figcaption{margin-top:8px;font-size:12px;color:var(--muted)}
@media(max-width:760px){.route-row{grid-template-columns:1fr;gap:16px}}

/* v0.1.34: About Kameda photo; signature program first and larger */
.kameda-photo{margin:0 0 32px}
.kameda-photo img{display:block;width:100%;max-width:640px;height:auto}
.way-card-featured{grid-column:1/-1;padding:clamp(28px,4vw,48px);border:2px solid var(--cta-bg)}
.way-card-featured h3{font-size:clamp(24px,3vw,32px);line-height:1.3}
.way-card-featured p{font-size:16px}
.program-tag{display:inline-block;margin:0 0 12px;padding:4px 10px;background:var(--cta-bg);color:#fff;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.process-item .process-detail{margin-top:12px;line-height:1.9}
