:root{--ink:#102b3d;--muted:#506373;--coral:#ff5368;--teal:#078f92;--yellow:#ffca3a;--cream:#fffaf0;--mint:#e4f6ec;--sky:#e4f5ff;--pink:#ffeaf0;--peach:#fff0e4;--lilac:#efedff;--radius:24px;--shadow:0 16px 40px rgba(28,60,74,.095)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;color:var(--ink);font-family:'Hiragino Kaku Gothic ProN','Hiragino Sans','Yu Gothic',Meiryo,system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.85;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{max-width:100%;height:auto} img{display:block}figure{margin:0}a{color:var(--teal);text-decoration:none}a:hover{opacity:.88}button,input,textarea,select{font:inherit}button{cursor:pointer}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{line-height:1.45;letter-spacing:-.035em}p{margin-bottom:1.1em}h2{font-size:clamp(1.7rem,3vw,2.65rem)}h3{font-size:1.16rem}::selection{background:#ffe58d;color:var(--ink)}:focus-visible{outline:3px solid var(--teal);outline-offset:4px}
.wrap{width:min(1180px,calc(100% - 52px));margin-inline:auto}.skip-link{position:absolute;z-index:1000;left:20px;top:-100px;background:#fff;padding:12px 20px;border-radius:7px}.skip-link:focus{top:12px}
.site-header{position:relative;z-index:50;background:white;border-bottom:1px solid #f0f1f2}.header-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand-wrap{flex:none}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink)}.brand-home{display:block;width:52px;height:52px}.brand-home svg{width:100%;height:100%}.brand-copy{display:flex;flex-direction:column;line-height:1.15}.brand-title{font-size:1.34rem;font-weight:900;white-space:nowrap;letter-spacing:-.075em}.brand-letters{letter-spacing:.015em}.brand-letters b{font-weight:900}.brand-letters b:nth-child(1){color:#0c98cc}.brand-letters b:nth-child(2){color:var(--coral)}.brand-letters b:nth-child(3){color:#ffaf08}.brand-letters b:nth-child(4){color:#269b65}.brand-sub{font-size:.71rem;font-weight:700;text-align:center;margin-top:4px;letter-spacing:.03em}.custom-logo{width:auto;max-width:275px;max-height:78px}.main-navigation{display:flex;align-items:center;gap:24px}.nav-list{display:flex;align-items:center;list-style:none;margin:0;padding:0;gap:clamp(10px,1.8vw,26px)}.nav-list li{margin:0}.nav-list a{color:var(--ink);font-weight:800;font-size:.87rem;white-space:nowrap}.nav-list a:hover{color:var(--coral)}.nav-contact{color:#fff;background:var(--coral);border-radius:99px;padding:11px 17px;font-size:.82rem;font-weight:850;white-space:nowrap;box-shadow:0 5px 0 #e63b51}.nav-contact:hover{opacity:1;transform:translateY(-2px);box-shadow:0 7px 0 #e63b51}.menu-toggle{display:none}
.btn{display:inline-flex;justify-content:center;align-items:center;gap:16px;border-radius:100px;padding:15px 24px;font-size:.96rem;line-height:1.35;font-weight:900;text-align:center;transition:transform .15s ease,box-shadow .15s ease;white-space:normal;border:2px solid transparent}.btn:hover{opacity:1;transform:translateY(-3px)}.btn-coral{background:var(--coral);color:white;box-shadow:0 5px 0 #e53b4e}.btn-outline{border:2px solid var(--teal);color:var(--teal);background:white}.btn span:last-child{font-size:1.2em}.text-link{display:inline-block;color:var(--teal);font-weight:850;border-bottom:2px solid #b5e4d9;padding:3px 0}.text-link:hover{color:var(--coral);border-color:var(--coral)}.eyebrow{margin-bottom:9px;color:var(--teal);font-size:.74rem;font-weight:900;letter-spacing:.18em;line-height:1.5}.section-body{font-size:1rem;line-height:2.1;color:var(--muted)}
/* Hero: generous white space, expressive but restrained color */
.hero{position:relative;background:linear-gradient(110deg,#fcfff9 0%,#f3fbfa 58%,#ecfaff 100%);overflow:hidden}.hero::before{content:'';position:absolute;width:320px;height:320px;left:-215px;top:-120px;border:38px solid #fdf2a8;border-radius:50%;opacity:.42}.hero-grid{display:grid;grid-template-columns:47% 53%;gap:0;align-items:center;min-height:595px;padding-top:52px;padding-bottom:76px;position:relative}.hero-copy{z-index:3;padding-right:14px}.paint-label{display:inline-block;padding:6px 16px;transform:rotate(-2deg);background:var(--yellow);color:var(--ink);font-size:.85rem;font-weight:900;box-shadow:4px 5px 0 #ffe9a9;margin-bottom:26px}.hero h1{font-size:clamp(2.1rem,3.05vw,3rem);letter-spacing:-.065em;font-weight:900;line-height:1.42;margin:0 0 19px}.hero h1 span{color:var(--coral)}.hero-copy>p{max-width:540px;font-weight:650;color:#465966;line-height:2.05}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin-top:27px}.hero-small{display:flex;flex-wrap:wrap;gap:10px;margin-top:31px;color:#43646c;font-size:.8rem;font-weight:800}.hero-small span{background:#fff;border:1px solid #cfe8e3;border-radius:100px;padding:5px 12px}.hero-photo-wrap{position:relative;padding:5px 0 18px 4px}.hero-photo-blob{position:relative;border-radius:42% 23% 37% 18% / 25% 27% 28% 25%;background:#ffe8ab;transform:rotate(1deg);padding:12px;box-shadow:0 28px 0 -11px #c1e9ea}.hero-photo{width:100%;height:408px;object-fit:cover;object-position:center;transform:rotate(-1deg);border-radius:42% 23% 37% 18% / 25% 27% 28% 25%}.floating-note{position:absolute;left:-23px;bottom:22px;transform:rotate(-7deg);background:#fff;border:3px solid var(--teal);box-shadow:5px 5px 0 #b9e7dd;border-radius:50px 50px 46px 8px;padding:11px 22px;font-size:.83rem;font-weight:800;line-height:1.4}.floating-note strong{font-size:1rem;color:var(--teal)}.floating-note span{color:var(--coral);margin-left:6px}.floating-spark{position:absolute;color:var(--yellow);font-size:3.2rem;line-height:1}.spark-one{right:5px;top:-31px}.spark-two{left:28px;top:0;color:var(--coral);font-size:1.9rem}.hero-wave{position:absolute;bottom:-4px;left:0;right:0;height:44px;background:#fff;clip-path:polygon(0 51%,12% 85%,24% 48%,38% 81%,55% 40%,70% 66%,84% 43%,100% 70%,100% 100%,0 100%)}
/* Navigation cards */
.services-section{padding-block:66px 98px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:32px}.section-heading h2{margin-bottom:0}.section-heading>p{color:var(--muted);font-size:.94rem;line-height:1.8;margin:0}.underlined{position:relative;z-index:1;white-space:nowrap}.underlined::after{content:'';position:absolute;z-index:-1;bottom:2px;left:0;right:0;height:12px;background:#ffe384;transform:rotate(-1.5deg);border-radius:15px}.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.service-card{border-radius:20px;position:relative;display:grid;grid-template-columns:65px 1fr;grid-template-rows:auto auto;column-gap:17px;align-content:start;min-height:134px;padding:21px 19px;color:var(--ink);border:1px solid rgba(32,89,105,.06);transition:transform .2s,box-shadow .2s}.service-card:hover{opacity:1;transform:translateY(-5px);box-shadow:var(--shadow)}.service-card.mint{background:#e6f7ed}.service-card.sky{background:#eaf6ff}.service-card.pink{background:#fff0f2}.service-card.yellow{background:#fff7dc}.service-card.peach{background:#ffefe8}.service-card.lilac{background:#efedff}.service-icon{grid-row:1/span 2;display:flex;width:61px;height:61px;align-items:center;justify-content:center;border-radius:20px;background:#ffffffb5;border:2px solid #ffffffd6;font-size:2rem;line-height:1;font-weight:900;color:#0098cb;box-shadow:0 3px 12px rgba(8,39,45,.06)}.service-card h3{margin:5px 0 2px;font-size:1rem}.service-card p{font-size:.76rem;line-height:1.7;font-weight:650;color:#607080;margin:0;padding-right:5px}.service-arrow{position:absolute;right:12px;top:12px;color:#69858c;font-weight:900}
/* philosophy */
.philosophy-section{background:#f8fbf8;position:relative;overflow:hidden;padding:90px 0 105px}.philosophy-section::before{position:absolute;content:'';width:240px;height:240px;border:55px solid #fbefab;border-radius:50%;top:-135px;right:-80px;opacity:.45}.philosophy-grid{position:relative;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:80px}.philosophy-copy h2{max-width:565px}.value-pills{display:flex;flex-wrap:wrap;gap:10px;margin:25px 0 20px}.value-pills span{border-radius:100px;padding:7px 13px;font-weight:800;font-size:.78rem;background:#fff;border:1px solid #cfeade}.value-pills span::before{content:'✓';color:var(--teal);margin-right:6px}.philosophy-art{position:relative;padding:30px 20px 28px}.room-image-frame{position:relative;z-index:2;background:white;padding:12px 12px 45px;border-radius:9px;box-shadow:0 17px 40px rgba(21,65,77,.16);transform:rotate(4deg)}.room-photo{width:100%;aspect-ratio:1.55;object-fit:cover;border-radius:5px}.room-image-frame figcaption{position:absolute;bottom:9px;left:0;width:100%;text-align:center;font-weight:900;color:var(--teal);font-size:.91rem}.decor-curve{position:absolute;left:0;top:-28px;color:#ffc52c;font-size:6rem;transform:rotate(-22deg)}.stat-sticker{position:absolute;bottom:0;left:-30px;z-index:3;background:var(--teal);color:white;padding:13px 22px;font-weight:800;font-size:.82rem;line-height:1.7;border-radius:36px 36px 9px 36px;transform:rotate(-7deg)}.stat-sticker strong{font-size:1.07rem}
/* teacher */
.teacher-section{padding:90px 0}.teacher-card{border:2px solid #deefed;border-radius:32px;padding:43px 49px 43px 57px;background:white;display:grid;grid-template-columns:1.12fr .8fr;gap:65px;align-items:center;box-shadow:0 14px 36px rgba(11,53,62,.06)}.teacher-head>p:not(.eyebrow){color:var(--muted);line-height:2}.teacher-head .btn{margin-top:13px}.qualification-card{position:relative;overflow:hidden;background:#fff4df;padding:28px 32px 26px;border-radius:28px}.qual-eyebrow{font-size:.73rem;font-weight:900;color:#ac6b13;letter-spacing:.1em;margin-bottom:4px}.qualification-card h3{font-size:1.45rem;line-height:1.5;margin:0 0 15px}.qualification-card ul{margin:0;padding-left:20px;font-size:.85rem;font-weight:700;line-height:2.05}.qualification-card li::marker{color:var(--coral)}.teacher-doodle{display:flex;gap:17px;justify-content:flex-end;font-size:2.4rem;margin-bottom:3px;transform:rotate(-5deg)}.teacher-doodle span:nth-child(2){transform:translateY(-14px)}.teacher-portrait{border-radius:20px;overflow:hidden;margin-bottom:14px}.teacher-photo{width:100%;max-height:260px;object-fit:cover}
/* support */
.support-section{padding:83px 0;background:#eaf7f7}.support-grid{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:74px}.support-grid h2{max-width:670px}.support-grid .section-body{max-width:680px}.support-highlight{background:white;padding:38px 37px;border-radius:20px 43px 20px 43px;box-shadow:8px 8px 0 #c9eaea;transform:rotate(1.5deg)}.highlight-icon{display:inline-grid;place-items:center;color:var(--coral);background:#ffedf0;width:52px;height:52px;border-radius:50%;font-size:2rem;font-weight:900}.support-highlight h3{font-size:1.4rem;margin:14px 0}.support-highlight p{font-size:.88rem;color:var(--muted)}.support-highlight .tiny-note{border-top:1px solid #dcefed;margin:18px 0 0;padding-top:13px;font-size:.7rem;color:#6a7680}
/* place */
.place-section{padding:100px 0 90px}.place-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.sea-visual{position:relative;min-width:0;padding:20px 20px 30px 0}.sea-image-frame{overflow:hidden;border-radius:35% 18% 23% 17% / 18% 35% 12% 23%;border:10px solid #e8f9fa;transform:rotate(-3deg);background:#b6e1ed;box-shadow:0 12px 0 -3px #ffeeb3}.sea-photo{width:100%;height:325px;object-fit:cover;object-position:center}.sea-sticker{position:absolute;right:0;bottom:0;padding:11px 17px;border-radius:50%;transform:rotate(12deg);background:var(--yellow);color:var(--ink);font-size:.77rem;font-weight:900;text-align:center;line-height:1.3;box-shadow:2px 5px 0 #ffdc85}.place-content h2{max-width:500px}.online-mini{display:flex;gap:18px;align-items:center;margin-top:26px;background:#f0f7ff;border-radius:18px;padding:16px 22px}.online-mini>span:first-child{font-size:2.25rem}.online-mini strong,.online-mini small{display:block}.online-mini small{color:var(--muted);font-size:.79rem}
/* gallery */
.gallery-section{padding:75px 0 92px;background:#fffaf1}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.gallery-grid figure{position:relative;background:white;padding:9px;border-radius:16px;box-shadow:0 8px 25px rgba(27,55,73,.075)}.gallery-grid figure:nth-child(2){transform:rotate(-1.4deg)}.gallery-grid figure:nth-child(3){transform:rotate(1deg)}.gallery-photo{width:100%;aspect-ratio:1.38;object-fit:cover;border-radius:11px}.gallery-grid figcaption{font-size:.86rem;font-weight:850;text-align:center;padding:7px 0 2px;color:var(--teal)}
/* FAQ */
.faq-section{padding:90px 0;display:grid;grid-template-columns:38% 1fr;gap:70px}.faq-intro p:not(.eyebrow){color:var(--muted)}.faq-list{border-top:1px solid #cfdfdf}.faq-list details{border-bottom:1px solid #cfdfdf}.faq-list summary{position:relative;list-style:none;padding:22px 42px 22px 0;font-weight:850;cursor:pointer}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:'＋';position:absolute;right:3px;top:19px;color:var(--teal);font-size:1.5rem}.faq-list details[open] summary::after{content:'−'}.faq-list details p{color:var(--muted);font-size:.89rem;padding:0 40px 10px 0}
/* contact */
.contact-section{background:linear-gradient(145deg,#e4f7f3 0%,#eef8ff 65%,#fff6e0 100%);padding:87px 0 110px}.contact-grid{display:grid;grid-template-columns:.89fr 1.11fr;gap:74px;align-items:start}.contact-intro{padding-top:29px}.contact-intro>p:not(.eyebrow){color:var(--muted);line-height:2}.contact-bubble{background:#fff;display:inline-block;border:2px dashed #85cbc2;border-radius:20px;padding:18px 23px;font-weight:850;transform:rotate(-2deg);line-height:1.8;margin:22px 0 25px;box-shadow:5px 5px 0 #d0ece3}.contact-bubble span{color:#ffbf24;margin-right:7px}.contact-intro .small-local{font-size:.83rem;color:#6e848c}.form-shell{background:#fff;border-radius:29px;padding:37px;box-shadow:var(--shadow)}.sara-form{display:flex;flex-direction:column;gap:15px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.sara-form label{display:block;font-size:.85rem;font-weight:800}.sara-form input:not([type=checkbox]),.sara-form textarea,.sara-form select{width:100%;display:block;margin-top:7px;background:#fbfcfd;border:1px solid #cbdde2;padding:12px 14px;border-radius:10px;color:var(--ink);font-size:.9rem;font-weight:500;line-height:1.6}.sara-form textarea{resize:vertical}.sara-form input:focus,.sara-form textarea:focus,.sara-form select:focus{outline:2px solid #a2dbd8;border-color:var(--teal)}.required{font-size:.65rem;color:#de3e55;background:#fff0f2;border-radius:4px;padding:3px 5px}.optional{font-size:.65rem;color:#697a84;background:#edf2f3;border-radius:4px;padding:3px 5px}.sara-form .consent{display:flex;align-items:flex-start;gap:9px;font-weight:600;font-size:.77rem}.sara-form .consent input{margin-top:7px;flex:none;accent-color:var(--teal)}.form-submit{width:100%;margin-top:2px}.form-note{font-size:.72rem;color:#778690;text-align:center;margin:0;line-height:1.7}.honeypot{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;left:-9999px}.form-feedback{padding:12px 16px;border-radius:10px;font-weight:700}.form-feedback.success{background:#e1f5eb;color:#13673e}.form-feedback.error{background:#ffe7e8;color:#bb243d}
/* footer */
.site-footer{background:#15384a;color:#d6e6ea}.footer-layout{display:grid;grid-template-columns:1.3fr .85fr .95fr;gap:66px;padding:62px 0 48px}.footer-logo{color:#fff;font-weight:900;font-size:1.6rem;letter-spacing:-.04em}.footer-logo span{color:#ffd34b}.site-footer p{font-size:.84rem;color:#c7dce1}.site-footer .footnote{font-size:.72rem;color:#aac7d0}.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:11px}.footer-links strong{color:white;margin-bottom:5px;font-size:.92rem}.footer-links a{color:#d9e8ea;font-size:.83rem}.footer-links a:hover{color:#ffcc67}.copyright{border-top:1px solid #365568;padding:16px 0 20px;display:flex;justify-content:space-between;gap:12px;color:#b1c8d1;font-size:.72rem}
/* Internal pages retain WordPress content and URLs */
.inner-banner{background:linear-gradient(135deg,#e7f6f1,#fff5df);padding:67px 0 60px}.inner-banner h1{font-size:clamp(2rem,4vw,3rem);margin:0 0 10px;overflow-wrap:anywhere}.inner-banner p:last-child{color:var(--muted);margin:0}.inner-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:67px;padding:70px 0 100px}.entry-content{min-width:0;overflow-wrap:break-word}.entry-intro{font-size:1.03rem;font-weight:650;color:#365969;background:#f1faf7;padding:20px 24px;border-left:5px solid var(--teal);border-radius:0 16px 16px 0;margin:0 0 34px}.entry-content h2{font-size:1.65rem;border-bottom:3px solid #e7f5ed;padding-bottom:13px;margin-top:1.8em}.entry-content h3{font-size:1.25rem;margin-top:1.7em}.entry-content p,.entry-content li{line-height:2;color:#344c5a}.entry-content a{text-decoration:underline;text-underline-offset:3px}.entry-content img{max-width:100%;height:auto}.entry-content figure{max-width:100%}.entry-content .alignwide{margin-left:0;margin-right:0}.entry-content table{display:block;overflow-x:auto;max-width:100%;border-collapse:collapse}.entry-content th,.entry-content td{border:1px solid #d5e2e4;padding:10px}.aside-card{background:#f1faf7;border-radius:20px;padding:25px;position:sticky;top:22px}.aside-card>span{font-size:2rem}.aside-card h2{font-size:1.2rem}.aside-card p{color:var(--muted);font-size:.85rem}.aside-card .btn{font-size:.81rem;padding:12px 15px}.posts-list{padding:70px 0 100px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.post-card{border:1px solid #dae6e5;border-radius:20px;overflow:hidden}.post-card a{display:block;color:var(--ink);padding:18px}.post-card img{width:100%;aspect-ratio:1.6;object-fit:cover;border-radius:10px}.post-card time{font-size:.74rem;color:var(--muted)}.post-card h2{font-size:1.2rem}.post-card p{font-size:.88rem;color:var(--muted)}.posts-list .navigation{grid-column:1/-1}.missing-page{padding:100px 0 130px;text-align:center}
@media(max-width:1100px){.header-inner{gap:14px}.main-navigation{gap:12px}.nav-list{gap:12px}.nav-list a{font-size:.76rem}.nav-contact{font-size:.76rem;padding:9px 11px}.brand-title{font-size:1.13rem}.brand-home{width:44px;height:44px}.hero-grid{min-height:550px}.hero h1{font-size:clamp(2rem,3.05vw,3rem)}.hero-photo{height:370px}.philosophy-grid{gap:40px}.place-grid{gap:47px}.support-grid{gap:40px}}
@media(max-width:900px){.menu-toggle{width:42px;height:42px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;background:white;border:1px solid #cde4de;border-radius:10px}.menu-toggle span{display:block;width:19px;height:2px;background:var(--ink);border-radius:3px}.main-navigation{display:none;position:absolute;left:0;right:0;top:100%;background:white;box-shadow:0 12px 25px rgba(20,50,60,.13);padding:20px 26px;z-index:99}.main-navigation.is-open{display:block}.main-navigation .nav-list{flex-direction:column;align-items:stretch;gap:0}.main-navigation .nav-list li{border-bottom:1px solid #e6f0ef}.main-navigation .nav-list a{display:block;padding:10px 0;font-size:.96rem}.main-navigation .nav-contact{display:inline-flex;margin-top:17px}.hero-grid{min-height:unset;padding-block:62px 82px;grid-template-columns:1fr 1fr}.hero-photo{height:350px}.floating-note{font-size:.76rem;left:-15px}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.philosophy-grid{grid-template-columns:1fr 1fr;gap:25px}.teacher-card{grid-template-columns:1fr 1fr;gap:34px;padding:32px}.support-grid{gap:30px}.contact-grid{gap:30px}.form-shell{padding:25px}.inner-layout{grid-template-columns:minmax(0,1fr) 225px;gap:25px}}
@media(max-width:700px){.wrap{width:min(100% - 32px,540px)}.header-inner{min-height:72px}.brand-home{width:43px;height:43px}.brand-title{font-size:1.18rem}.hero-grid{grid-template-columns:1fr;padding-top:45px;padding-bottom:75px}.paint-label{margin-bottom:18px;font-size:.76rem}.hero h1{font-size:clamp(2.05rem,8.2vw,3rem)}.hero-copy>p{font-size:.95rem}.hero-actions{gap:15px}.hero-actions .btn{font-size:.85rem}.hero-photo-wrap{margin-top:44px;padding:0 12px}.hero-photo{height:clamp(260px,59vw,380px)}.hero-photo-blob{padding:8px}.floating-note{left:0;bottom:0;padding:10px 18px}.hero-small{margin-top:20px}.services-section{padding-block:54px 75px}.section-heading{display:block;margin-bottom:26px}.section-heading>p{margin-top:12px}.services-grid{grid-template-columns:1fr 1fr;gap:10px}.service-card{grid-template-columns:1fr;gap:3px;min-height:170px;padding:15px 13px}.service-icon{grid-row:auto;width:52px;height:52px;font-size:1.7rem;margin-bottom:8px}.service-card h3{font-size:.85rem;margin:0}.service-card p{font-size:.7rem}.service-arrow{top:10px;right:11px}.philosophy-section{padding:75px 0}.philosophy-grid{grid-template-columns:1fr;gap:24px}.philosophy-art{max-width:500px;margin:auto;padding:10px 26px 20px}.room-image-frame{max-width:100%}.stat-sticker{left:0}.teacher-section{padding:65px 0}.teacher-card{grid-template-columns:1fr;gap:27px;padding:25px 23px}.qualification-card{padding:23px}.qualification-card h3{font-size:1.27rem}.support-section{padding:70px 0}.support-grid{grid-template-columns:1fr}.support-highlight{transform:none;padding:27px}.place-section{padding:65px 0}.place-grid{grid-template-columns:1fr;gap:34px}.sea-visual{padding:0 8px 25px 0}.sea-photo{height:255px}.gallery-section{padding:65px 0 72px}.gallery-grid{grid-template-columns:1fr 1fr;gap:14px}.gallery-grid figure:last-child{grid-column:1/-1;max-width:70%;margin:auto}.faq-section{grid-template-columns:1fr;gap:20px;padding:70px 0}.faq-intro h2{margin-bottom:4px}.contact-section{padding:60px 0 80px}.contact-grid{grid-template-columns:1fr;gap:24px}.contact-intro{padding:0}.contact-bubble{margin:10px 0 5px}.form-shell{padding:20px}.footer-layout{grid-template-columns:1fr 1fr;gap:35px 16px;padding:48px 0 37px}.footer-layout>div:first-child{grid-column:1/-1}.footer-links a{font-size:.78rem}.inner-banner{padding:48px 0}.inner-layout{display:block;padding:45px 0 75px}.inner-sidebar{margin-top:35px}.aside-card{position:static}.posts-list{grid-template-columns:1fr 1fr;gap:12px}.copyright{flex-direction:column;gap:2px}}
@media(max-width:420px){.wrap{width:calc(100% - 26px)}.brand-title{font-size:1rem}.brand-home{width:37px;height:37px}.brand-sub{font-size:.61rem}.hero h1{font-size:1.96rem}.hero-photo{height:260px}.form-row{grid-template-columns:1fr}.gallery-grid figure:last-child{max-width:90%}.footer-layout{grid-template-columns:1fr 1fr}.posts-list{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
/* ============================================================
   SARA user-approved reference layout — exact desktop artboard.
   The uploaded artwork is preserved at its full native 1536x1024
   aspect ratio. An ordinary layout is used for small screens.
   Each photograph has an independent Customizer replacement layer.
   ============================================================ */
.brand-image img{width:300px;max-height:65px;object-fit:contain;object-position:left center}
.reference-intro{padding:0;overflow:hidden;background:#fff}
.exact-artboard{width:100%;max-width:1536px;margin-inline:auto;position:relative;aspect-ratio:1536/1024;isolation:isolate}
.exact-reference{display:block;width:100%;height:100%;object-fit:contain;object-position:top center;user-select:none;-webkit-user-drag:none}
.hotspot{position:absolute;display:block;z-index:7;border-radius:9px;color:transparent;text-indent:-99999px;overflow:hidden}
.hotspot:hover{opacity:1;background:rgba(255,255,255,.06)}
.hotspot:focus-visible{outline:4px solid #109599;outline-offset:-3px;background:rgba(255,242,133,.32)}
.nav-home{left:38.2%;top:1.5%;width:5.5%;height:7.1%}
.nav-about{left:44.8%;top:1.5%;width:9.7%;height:7.1%}
.nav-services{left:55.7%;top:1.5%;width:7.6%;height:7.1%}
.nav-price{left:64%;top:1.5%;width:5.7%;height:7.1%}
.nav-faq{left:70%;top:1.5%;width:7.2%;height:7.1%}
.nav-cta{left:78%;top:1.9%;width:19.2%;height:6%}
.service-one{left:8%;top:47%;width:13.8%;height:10.8%}
.service-two{left:22%;top:47%;width:13.8%;height:10.8%}
.service-three{left:36%;top:47%;width:13.8%;height:10.8%}
.service-four{left:50.2%;top:47%;width:13.8%;height:10.8%}
.service-five{left:64.2%;top:47%;width:13.8%;height:10.8%}
.service-six{left:78.2%;top:47%;width:14.2%;height:10.8%}
.poster-big-cta{left:28.4%;top:89.1%;width:43.3%;height:8.2%;border-radius:50px}
.poster-online{left:82.5%;top:25.8%;width:16.2%;height:18.5%;border-radius:70px}
.artboard-logo-replace{position:absolute;z-index:3;left:4.5%;top:.15%;width:29%;height:9%;background:#fff;display:flex;align-items:center}
.artboard-logo-replace .custom-logo-link{display:block;width:100%;height:100%}
.artboard-logo-replace img{display:block;width:100%;height:100%;object-fit:contain;object-position:left center;max-width:none;max-height:none}
.image-layer-photo{display:block;width:100%;height:100%;object-fit:cover}
.artboard-hero-replace{position:absolute;z-index:2;left:32.2%;top:9.2%;width:67.8%;height:37.2%;overflow:hidden;mask-image:linear-gradient(90deg,transparent 0%,#000 18%,#000 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 18%,#000 100%)}
.artboard-hero-replace img{object-position:center 44%}
.hero-online-callout{position:absolute;right:3%;bottom:4%;color:#005852;font-weight:900;font-size:clamp(13px,2vw,32px);text-align:center;background:#fff;padding:19px 23px;line-height:1.45;border-radius:52% 48% 54% 47% / 45% 50% 50% 55%;transform:rotate(-8deg);box-shadow:0 4px 14px #0001}
.hero-online-callout span{display:block;font-size:1.1em}
.artboard-coast-replace{position:absolute;z-index:2;left:0;top:60.8%;width:35.7%;height:31%;overflow:hidden;clip-path:polygon(0 11%,22% 2%,65% 0,94% 8%,100% 24%,100% 71%,83% 95%,53% 100%,17% 96%,0 83%)}
.artboard-coast-replace img{object-position:center 58%}
.coast-overlaid-copy{position:absolute;left:23%;top:21%;color:white;font-weight:900;font-size:clamp(14px,2vw,33px);line-height:1.5;text-shadow:0 2px 8px #006fb894;transform:rotate(-12deg);text-align:center}
.artboard-room-replace{position:absolute;z-index:2;left:70.5%;top:63.7%;width:25.6%;height:23.1%;background:#fff;border:12px solid #fff;border-bottom-width:24px;box-shadow:0 10px 22px #203b3b36;transform:rotate(5deg)}
.artboard-room-replace img{object-position:center}
.artboard-icon-replace{position:absolute;z-index:3;top:47.1%;width:4.7%;height:5.5%;background:#fff;border-radius:50%;padding:2px;display:flex;align-items:center;justify-content:center}
.artboard-icon-replace img{object-fit:contain}
.artboard-icon-1{left:11.2%}.artboard-icon-2{left:25%}.artboard-icon-3{left:39%}.artboard-icon-4{left:53.5%}.artboard-icon-5{left:67.9%}.artboard-icon-6{left:82.2%}
/* This layout, unlike the artboard, is real responsive live HTML. */
.sara-responsive-intro{display:none}
@media(min-width:1101px){.home .site-header{display:none}.home .skip-link{z-index:100}}
@media(max-width:1100px){
 .reference-intro{display:none}
 .sara-responsive-intro{display:block;background:#fffefa}
 .responsive-hero-copy{background:radial-gradient(ellipse at 95% 12%,#dcf8f6 0,transparent 38%),linear-gradient(135deg,#fff 0%,#fffefa 65%,#e8faff 100%);padding:42px 0 26px;position:relative;overflow:hidden}
 .responsive-hero-copy::before{content:'✴';position:absolute;right:8%;top:42px;font-size:3rem;color:#ffc933;transform:rotate(-12deg)}
 .responsive-brush{display:inline-block;background:#ffd13a;padding:6px 17px;font-size:.91rem;color:#0b3042;font-weight:900;transform:rotate(-3deg);box-shadow:5px 4px 0 #ffeabb;margin-bottom:27px}
 .responsive-hero-copy h1{font-size:clamp(2.2rem,5.7vw,3.3rem);font-weight:900;line-height:1.45;letter-spacing:-.065em;margin:0 0 22px}
 .responsive-hero-copy .teal{color:#078f92}.responsive-hero-copy .pink{color:#fc4567}
 .responsive-lead{font-weight:700;line-height:1.95;max-width:610px;font-size:.99rem}
 .responsive-hero-copy .btn{margin:14px 0 0;background:linear-gradient(90deg,#ff5659,#fc3972);box-shadow:0 5px 0 #da3452}
 .responsive-hero-image{position:relative;overflow:hidden;background:#e8fbfa;height:clamp(270px,44vw,430px)}
 .responsive-hero-image img{height:100%;width:100%;object-fit:cover;object-position:center 42%}
 .responsive-hero-image figcaption{position:absolute;right:3%;bottom:10%;background:#fff;color:#00877f;padding:14px 24px;line-height:1.5;border-radius:50%;transform:rotate(-8deg);font-weight:900;text-align:center;box-shadow:0 5px 12px #0003}
 .responsive-services{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;padding:34px 0 36px}
 .responsive-service-card{color:#102b3d;background:#fff;display:flex;flex-direction:column;align-items:center;gap:9px;justify-content:center;text-align:center;padding:17px 8px;border-radius:19px;border:2px solid #e9ece8;box-shadow:0 7px 10px #142d3b0c;font-size:.86rem;line-height:1.45}
 .responsive-service-card:nth-child(1){background:#f9ffee}.responsive-service-card:nth-child(2){background:#eafbfb}.responsive-service-card:nth-child(3){background:#fff0f2}.responsive-service-card:nth-child(4){background:#fffcea}.responsive-service-card:nth-child(5){background:#fff3e6}.responsive-service-card:nth-child(6){background:#f0f0ff}
 .responsive-service-icon{display:flex;align-items:center;justify-content:center;font-size:2rem;line-height:1;min-height:48px;font-weight:900;color:#079ac6}
 .responsive-service-icon img{width:48px;height:48px;object-fit:contain}
 .responsive-location{padding-bottom:44px;display:grid;grid-template-columns:1.1fr 1fr .82fr;align-items:center;gap:25px}
 .responsive-sea{min-width:0}.mobile-coast-photo{border-radius:43% 55% 30% 22% / 23% 23% 40% 33%;overflow:hidden;transform:rotate(-3deg)}
 .mobile-coast-photo-img{width:100%;aspect-ratio:1.45;object-fit:cover}
 .responsive-values{text-align:left}.responsive-values h2{font-size:clamp(1.5rem,2.6vw,2.2rem);font-weight:900;margin:0 0 20px}.responsive-values ul{list-style:none;padding:0;display:grid;gap:8px}.responsive-values li{font-size:.89rem;font-weight:850}.responsive-values li::before{content:'✓';color:#2f9e46;margin-right:6px}
 .responsive-room{transform:rotate(5deg);background:#fff;padding:8px 8px 21px;box-shadow:0 9px 30px #3453b32a}.mobile-class-photo{width:100%;aspect-ratio:1.45;object-fit:cover}
}
@media(max-width:700px){
 .brand-image img{width:min(68vw,260px);max-height:62px}
 .responsive-hero-copy{padding:39px 0 23px}.responsive-hero-copy h1{font-size:clamp(2rem,8vw,2.65rem)}
 .responsive-hero-copy::before{right:4%;top:23px;font-size:2rem}
 .responsive-hero-copy .btn{font-size:.83rem;padding:13px 18px}
 .responsive-hero-image{height:clamp(240px,67vw,420px)}
 .responsive-services{grid-template-columns:repeat(3,1fr);gap:9px;padding:24px 0 37px}
 .responsive-service-card{padding:14px 6px;font-size:.74rem}
 .responsive-service-icon{min-height:42px;font-size:1.7rem}
 .responsive-location{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding-bottom:50px}
 .responsive-sea{grid-column:1/-1}.mobile-coast-photo{max-height:290px}.mobile-coast-photo-img{max-height:290px;aspect-ratio:1.9}
 .responsive-values h2{font-size:clamp(1.28rem,4.3vw,1.9rem)}.responsive-values li{font-size:.8rem}.responsive-room{align-self:center}
}
@media(max-width:420px){.responsive-hero-copy h1{font-size:2.05rem}.responsive-brush{font-size:.75rem}.responsive-services{grid-template-columns:repeat(3,1fr)}.responsive-service-icon{font-size:1.6rem}.responsive-hero-image figcaption{font-size:.78rem;padding:12px 16px}.responsive-values li{font-size:.72rem}}

.mission-summary{display:grid;grid-template-columns:1fr 1.1fr;gap:68px;padding-top:68px;padding-bottom:15px;align-items:start}
.mission-heading h1{font-size:clamp(1.65rem,2.25vw,2.5rem);line-height:1.65;letter-spacing:-.03em}
.mission-heading h1 span{color:#ff4c69}
.mission-copy{color:#425e67;font-weight:600;line-height:2}
@media(max-width:700px){.mission-summary{grid-template-columns:1fr;gap:4px;padding-top:52px}.mission-heading h1{font-size:1.5rem}.mission-copy{font-size:.9rem}}

/* =============== v3 bilingual: same approved artwork & imagery ============= */
.header-language,.poster-lang-switch{font-weight:900;text-decoration:none;letter-spacing:.02em;color:#007e85;border:2px solid #ffcb35;background:#fff;border-radius:99px;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 2px 0 #e3e1c6;white-space:nowrap}
.header-language{font-size:.79rem;padding:7px 11px;flex:none;order:10}
.header-language:hover,.poster-lang-switch:hover{background:#fff5cb;color:#005b62}
.poster-lang-switch{position:absolute;left:74.25%;top:2.7%;width:3.6%;height:4.1%;font-size:clamp(8px,1.1vw,15px);z-index:35}
.sara-english .brand-image img{object-position:left center}
.en-exact-artboard{font-family:Arial,'Noto Sans',sans-serif;color:#082d42}
.en-exact-artboard a{color:inherit;text-decoration:none}
.en-art-header{position:absolute;left:37%;top:.1%;width:63%;height:9.2%;z-index:20;background:#fff;display:flex;align-items:center;justify-content:space-around;gap:1%;padding:0 2.4% 0 1.3%}
.en-art-header a{font-size:clamp(10px,1.05vw,16px);font-weight:900;white-space:nowrap;padding:6px 1px}
.en-art-header a:hover{color:#ff4d69}
.en-art-header .en-art-japanese{border-radius:99px;background:#fff5c5;color:#00585c;padding:8px 9px;border:1px solid #ffe16e}
.en-art-header .en-art-contact{background:linear-gradient(105deg,#ff5c58,#ff3e6b);color:white;padding:14px 18px;border-radius:99px;box-shadow:0 3px 0 #df3651}
.en-hero-text{z-index:10;position:absolute;left:3.5%;top:10.8%;width:36%;height:35%;background:rgba(255,254,251,.975);border-radius:14% 30% 22% 8% / 12% 14% 20% 12%;padding:1.1% 1.7% 1%;display:flex;align-items:flex-start;flex-direction:column;justify-content:center}
.en-brush{background:#ffcf2e;box-shadow:6px 4px 0 #ffe492;transform:rotate(-3deg);font-weight:900;padding:6px 12px;font-size:clamp(12px,1.3vw,20px);margin:0 0 5%;color:#032a43;letter-spacing:.01em}
.en-hero-text h1{font-size:clamp(27px,3.4vw,54px);font-weight:950;line-height:1.13;letter-spacing:-.045em;color:#0d3446;margin:0 0 3.4%}
.en-hero-text h1 span{color:#f84463}
.en-hero-text>p:last-child{font-size:clamp(11px,1.19vw,18px);line-height:1.48;font-weight:700;color:#173447;margin:0;max-width:91%}
.en-art-online{position:absolute;z-index:11;left:83.2%;top:26.3%;width:15.2%;height:19%;background:#fff;border-radius:53% 47% 54% 46% / 47% 51% 49% 53%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#007769!important;font-size:clamp(12px,1.72vw,26px);line-height:1.2;font-weight:900;transform:rotate(-6deg)}
.en-art-online strong{font-size:1.03em}.en-art-online span{font-size:1.2em;margin-top:7%}
.en-art-services{position:absolute;z-index:12;left:5.4%;top:52.2%;width:90%;height:6.3%;display:grid;grid-template-columns:repeat(6,1fr);align-items:center;text-align:center;gap:0}
.en-art-service{display:flex;justify-content:center;align-items:center;height:100%;background:linear-gradient(#fff,#fff);font-size:clamp(10px,1.33vw,20px);font-weight:900;color:#0b2946!important;line-height:1.15;margin:0 7%;border-radius:2px;padding:0 2%}
.en-art-service:hover{background:#fff5c8}
.en-sea-wording{position:absolute;z-index:9;left:8.4%;top:67.3%;width:22%;height:12%;margin:0;background:#199ce7e8;transform:rotate(-9deg);border-radius:35% 20% 24% 30%;display:flex;justify-content:center;align-items:center;text-align:center;font-size:clamp(13px,1.85vw,28px);font-weight:900;color:white;line-height:1.25;text-shadow:0 2px 5px #0672af}
.en-art-values{position:absolute;z-index:9;left:36.9%;top:63.3%;width:32.5%;height:24%;background:#fffefa;border-radius:7% 8% 14% 12%;padding:2% 1% 1%;text-align:center}
.en-art-values h2{font-size:clamp(19px,2.22vw,34px);font-weight:950;line-height:1.23;margin:0 0 6%;letter-spacing:-.025em}
.en-art-values h2 span{color:#008a81}
.en-art-checks{display:grid;grid-template-columns:1fr 1fr;column-gap:4%;row-gap:8%;text-align:left}
.en-art-checks span{font-size:clamp(10px,1vw,15px);font-weight:850;line-height:1.3;display:flex;align-items:center;gap:4px;white-space:nowrap}
.en-art-checks span::first-letter{color:#29a146}
.en-bottom-cta{position:absolute;z-index:12;left:28.5%;top:89.2%;width:42.8%;height:7.9%;background:linear-gradient(90deg,#ff5b58,#f93870);border:3px solid #fff;box-shadow:0 5px 0 #d4dad8;border-radius:99px;color:#fff!important;display:flex;align-items:center;justify-content:center;gap:10px;text-align:center;font-weight:900;font-size:clamp(11px,1.6vw,24px)}
.en-bottom-cta span{font-size:1.4em;margin-left:1%}
.en-bottom-cta:hover{filter:brightness(1.06)}
.sara-english .en-responsive-intro h1{letter-spacing:-.035em;line-height:1.3}
.sara-english .responsive-service-card{font-size:.8rem}
.sara-english .responsive-values li{font-size:.77rem}
.sara-english .entry-content h2{font-size:clamp(1.45rem,2.5vw,2rem);margin-top:1.6em}
.sara-english .entry-content h3{font-size:1.22rem;margin-top:1.55em}
.sara-english .entry-content li{margin-bottom:.4em}
.sara-english .entry-content p,.sara-english .entry-content li{line-height:1.9}
@media(max-width:1100px){.sara-english .header-inner{gap:14px}.sara-english .header-language{margin-left:auto}.sara-english .menu-toggle{order:20}.sara-english .main-navigation{order:19}.sara-english .brand-image img{max-width:min(48vw,300px)}}
@media(min-width:901px) and (max-width:1100px){.sara-english .main-navigation .nav-list a{font-size:.73rem}.sara-english .nav-contact{font-size:.7rem;padding:8px 10px}.sara-english .header-language{font-size:.7rem;padding:6px}}
@media(max-width:700px){.sara-english .responsive-hero-copy h1{font-size:clamp(2.15rem,8vw,3.1rem)}.sara-english .responsive-service-card{font-size:.7rem}.sara-english .responsive-values li{font-size:.7rem}}
/* Translation cleanup: opaque masks hide embedded Japanese lettering while leaving every photograph untouched. */
.en-hero-text{background:#fffefa}
.en-art-services{top:52.25%;height:7.2%;left:5.5%;width:88.95%;background:#fff;gap:0}
.en-art-service{margin:0;border-right:2px solid #a8dee2;padding:0 2%;border-radius:0}
.en-art-service:last-child{border-right:0}
.en-sea-wording{left:7.4%;top:65.8%;width:24.4%;height:17.4%;background:#189be6;border-radius:49% 40% 31% 37%;transform:rotate(-10deg)}
.poster-lang-switch{left:75.9%;width:2.45%;top:2.85%;height:3.75%;font-size:clamp(9px,.9vw,13px)}
.en-sea-wording{left:7.1%;top:63.25%;width:25.7%;height:22%;border-radius:30% 36% 29% 33%;transform:rotate(-9deg)}

/* ========== v4: real bilingual header, legible language switch ==========
   The reference image's TOP 9.2% is masked by the actual header on desktop.
   All original artwork below the header stays at exactly the same position.
*/
.header-inner{gap:16px}
.header-language{
 order:0;display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;
 position:relative;z-index:3;min-width:max-content;min-height:42px;
 color:#07565e;background:#fff4c6;border:2px solid #ffc833;
 padding:8px 14px;margin:0;border-radius:999px;
 font-size:.83rem;line-height:1.1;font-weight:900;letter-spacing:.005em;
 box-shadow:0 3px 0 #e4c956;white-space:nowrap;
}
.header-language:hover,.header-language:focus-visible{background:#ffe381;color:#093b48;opacity:1}
.header-inner .brand-wrap{order:0;min-width:0}
.header-inner .main-navigation{order:2;min-width:0}
.header-inner .menu-toggle{order:3;flex:0 0 auto}
@media(min-width:1101px){
 .home .site-header{display:block;position:relative;z-index:80;height:94px;border:0;background:#fff}
 .home .site-header .header-inner{min-height:94px}
 .home .reference-intro{margin-top:-94px}
 .site-header .header-inner{width:min(1380px,calc(100% - 40px));gap:clamp(8px,1.1vw,19px)}
 .site-header .brand-wrap{flex:0 1 auto}
 .site-header .brand-image img{width:clamp(240px,25.5vw,395px);max-height:80px}
 .site-header .custom-logo{max-width:clamp(240px,25.5vw,395px);max-height:80px}
 .site-header .header-language{margin-left:auto;margin-right:auto}
 .site-header .main-navigation{gap:clamp(9px,1.15vw,20px)}
 .site-header .nav-list{gap:clamp(9px,1.3vw,20px)}
 .site-header .nav-list a{font-size:clamp(.71rem,.88vw,.90rem)}
 .site-header .nav-contact{font-size:clamp(.71rem,.83vw,.88rem);padding:10px clamp(10px,1.05vw,17px)}
}
@media(min-width:1101px) and (max-width:1330px){
 .site-header .brand-image img{width:clamp(215px,23.5vw,320px)}
 .site-header .custom-logo{max-width:clamp(215px,23.5vw,320px)}
 .site-header .header-language{font-size:.73rem;padding:7px 10px}
}
@media(max-width:1100px){
 .header-inner{display:flex;justify-content:space-between;gap:10px}
 .header-inner .brand-wrap{flex:1 1 auto;min-width:0}
 .header-inner .header-language{flex:0 0 auto;margin:0 1px 0 0;min-height:40px;padding:8px 12px;font-size:.79rem}
 .header-inner .menu-toggle{flex:0 0 auto}
 .site-header .brand-image img{width:clamp(140px,34vw,260px);max-width:100%;max-height:65px}
 .sara-english .header-inner .header-language{margin:0 1px 0 0}
}
@media(min-width:901px) and (max-width:1100px){
 .header-inner .main-navigation{gap:9px}
 .header-inner .nav-list{gap:9px}
 .header-inner .nav-list a{font-size:.71rem}
 .header-inner .nav-contact{font-size:.69rem;padding:9px}
 .header-inner .header-language{font-size:.72rem;padding:7px 9px}
}
@media(max-width:900px){
 .header-inner .main-navigation{order:5}
 .header-inner .menu-toggle{order:4}
 .header-inner .header-language{order:2}
}
@media(max-width:700px){
 .site-header .header-inner{width:calc(100% - 24px);min-height:74px;gap:7px}
 .site-header .brand-image img{width:clamp(104px,36vw,175px);max-height:55px}
 .site-header .custom-logo{max-width:clamp(104px,36vw,175px);max-height:55px}
 .site-header .header-language{padding:8px 9px;font-size:clamp(.68rem,2.7vw,.79rem);min-height:38px;box-shadow:0 2px 0 #e4c956}
 .site-header .menu-toggle{width:40px;height:40px}
}
@media(max-width:360px){
 .site-header .header-inner{width:calc(100% - 16px);gap:5px}
 .site-header .brand-image img{width:clamp(98px,34vw,125px)}
 .site-header .custom-logo{max-width:clamp(98px,34vw,125px)}
 .site-header .header-language{font-size:.68rem;padding:8px 7px}
 .site-header .menu-toggle{width:38px;height:38px}
}

/* v4.1 — JP desktop text is truly editable, but untouched poster stays pixel-exact. */
.artboard-jp-editable-hero{position:absolute;z-index:15;left:0;top:9.15%;width:40.1%;height:37.5%;
 display:flex;flex-direction:column;justify-content:center;align-items:flex-start;
 padding:1.25% 3.65% 1.7% 5.1%;background:#fffefa;
 clip-path:polygon(0 0,91% 0,97% 7%,92% 16%,99% 25%,96% 49%,100% 68%,93% 88%,77% 100%,0 100%);
 overflow:hidden;box-shadow:0 1px 0 rgba(0,0,0,.01);}
.artboard-jp-hero-brush{background:#ffca3a;color:#123043;font-size:clamp(.72rem,1.4vw,1.35rem);font-weight:900;
 padding:.4em .85em;transform:rotate(-3deg);margin:0 0 4%;box-shadow:5px 3px 0 #fff0a1}
.artboard-jp-editable-hero h1{font-size:clamp(1.4rem,3.05vw,3rem);font-weight:950;letter-spacing:-.05em;
 line-height:1.35;color:#082b3b;margin:0 0 3%;overflow-wrap:anywhere}
.artboard-jp-editable-hero h1 span{color:var(--coral)}
.artboard-jp-hero-lead{font-size:clamp(.66rem,1.04vw,1.05rem);font-weight:750;
 line-height:1.6;margin:0;color:#182c38;overflow-wrap:anywhere}
/* The pasted artwork's mock nav was removed from EN; only the real global header is interactive. */
@media(min-width:1101px){.home .site-header{box-shadow:none}}
/* Hamburger navigation before cramped nav items can squeeze the language button. */
@media(min-width:901px) and (max-width:1200px){
 .site-header .menu-toggle{width:43px;height:43px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;background:white;border:1px solid #cde4de;border-radius:10px}
 .site-header .menu-toggle span{width:19px;height:2px;background:var(--ink);border-radius:3px}
 .site-header .main-navigation{display:none;position:absolute;left:0;right:0;top:100%;background:white;box-shadow:0 12px 25px rgba(20,50,60,.13);padding:20px 26px;z-index:99}
 .site-header .main-navigation.is-open{display:block}
 .site-header .main-navigation .nav-list{display:flex;flex-direction:column;align-items:stretch;gap:0}
 .site-header .main-navigation .nav-list li{border-bottom:1px solid #e6f0ef}
 .site-header .main-navigation .nav-list a{display:block;padding:10px 0;font-size:.96rem}
 .site-header .main-navigation .nav-contact{display:inline-flex;margin-top:17px}
 .site-header .header-language{margin-left:auto;margin-right:0}
 .site-header .menu-toggle{order:3}
 .site-header .main-navigation{order:4}
}
@media(max-width:900px){
 .site-header .header-language{margin-left:auto;margin-right:0}
 .site-header .main-navigation{order:4}
}
/* Header sits over the original picture's built-in nav; no body layout shift. */
@media(min-width:1101px){
 .home .reference-intro{position:relative}
 .site-header .header-language{order:1}
 .site-header .main-navigation{order:2}
}
