@charset "UTF-8";:root{--ink:#493a30;--muted:#786c60;--orange:#ad582e;--cream:#faf7f0;--line:#e5dccf;--sage:#707a58}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:15px;line-height:1.9}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%;height:100%;object-fit:cover}p{margin:0 0 1.4em}h1,h2,h3{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:500;line-height:1.6;margin:0}h1{font-size:clamp(35px,4.8vw,65px);letter-spacing:.08em}h2{font-size:clamp(27px,3vw,40px);letter-spacing:.07em}h3{font-size:24px}small{font-size:12px}.reviewbar{background:#493a30;color:#fff9eb;font-size:11px;letter-spacing:.08em;text-align:center;padding:7px 12px}.reviewbar a{margin-left:14px;text-decoration:underline;text-underline-offset:3px}header{display:flex;align-items:center;justify-content:space-between;padding:19px 5vw;background:var(--cream);position:relative;z-index:5;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px}.brand-mark{font:700 29px Georgia,serif;letter-spacing:1px}.brand small{display:block;font-size:10px;line-height:1.5;color:var(--muted)}nav{display:flex;gap:24px;align-items:center;font-size:12px}nav a:hover,nav a[aria-current]{color:var(--orange)}.nav-cta{border:1px solid var(--orange);padding:8px 19px;border-radius:2px;color:var(--orange)}.menu{display:none;background:transparent;border:1px solid var(--line);padding:6px 13px}.wrap{width:min(1120px,90%);margin:auto}.hero{display:grid;grid-template-columns:1.02fr 1fr;min-height:640px;position:relative;overflow:hidden}.hero-text{padding:87px 0 70px 7vw;position:relative;z-index:2}.eyebrow{font-size:11px;letter-spacing:.19em;color:var(--orange);font-weight:bold;margin-bottom:23px}.hero-text h1{margin-bottom:25px}.lead{font-size:15px;line-height:2.1;max-width:440px;color:var(--muted)}.hero-art{position:relative;background:#e9dec8;border-radius:48% 0 0 0;margin-top:34px;overflow:hidden;min-height:470px}.hero-art:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#32271935,transparent 45%);pointer-events:none}.hero-art svg{width:100%;height:100%;object-fit:cover}.photo-caption{position:absolute;bottom:23px;left:30px;right:20px;color:white;font-size:11px;z-index:2;letter-spacing:.08em}.hero-art.illustration .photo-caption{color:var(--ink)}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;border-radius:3px;padding:15px 25px;background:var(--orange);color:white;font-size:13px;letter-spacing:.05em}.btn:after{content:'→';font-size:20px}.btn.light{background:transparent;color:var(--orange);border:1px solid #c8aa92}.hero .btn{margin-top:18px}.intro{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding:90px 0}.intro p{padding-top:14px;color:var(--muted)}.intro .eyebrow{padding:0;margin:0 0 12px}.section{padding:85px 0}.section.white{background:#fffdf8}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:40px}.section-head p{max-width:380px;color:var(--muted);font-size:13px;margin:0}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.service-card{display:block;border:1px solid var(--line);background:var(--cream);padding:33px 35px;position:relative;transition:transform .2s,box-shadow .2s}.service-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px #493a3010}.service-card .num{font:italic 34px Georgia;color:#b39571;margin-bottom:25px;display:block}.service-card h3{margin-bottom:12px}.service-card p{color:var(--muted);font-size:13px;max-width:85%;margin-bottom:30px}.service-card .link{font-size:12px;color:var(--orange)}.service-card .link:after{content:' ↗';margin-left:20px}.service-card .tag{font-size:10px;border:1px solid var(--line);padding:4px 9px;position:absolute;right:27px;top:32px}.recruit{background:#eae8dd;display:grid;grid-template-columns:1fr 1.1fr;gap:9%;padding:60px;border-radius:100px 2px 2px 2px}.recruit h2{margin-bottom:20px}.recruit p{color:var(--muted);font-size:14px}.recruit .btn{align-self:center}.contact{padding:70px 0;background:#f0e3d3}.contact .wrap{display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact h2{font-size:30px;margin-bottom:12px}.contact p{font-size:13px;color:var(--muted)}.contact-box{border-left:1px solid #cbb8a2;padding-left:50px}.telephone{font:35px Georgia,serif;letter-spacing:.03em;display:block}.contact-box small{display:block;color:var(--muted)}footer{padding:40px 0 24px;background:#493a30;color:#f4ece2}footer .wrap{display:flex;justify-content:space-between;gap:40px}footer .brand-mark{font-size:31px}footer p{font-size:11px;color:#dbccbb;margin:9px 0}footer .footer-links{display:flex;flex-wrap:wrap;justify-content:end;gap:12px 24px;max-width:540px;font-size:11px}footer .copyright{border-top:1px solid #ffffff25;margin-top:30px;padding-top:20px;display:flex;justify-content:space-between;font-size:10px;color:#c9bbaa}.page-top{padding:65px 0 58px;border-bottom:1px solid var(--line)}.crumb{font-size:11px;color:var(--muted);margin-bottom:42px}.page-top h1{font-size:clamp(32px,4vw,48px)}.page-top .subtitle{margin-top:14px;color:var(--muted);max-width:690px}.split{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:start}.body-copy{color:var(--muted)}.soft-box{padding:32px;background:#eee8dc;border-top:3px solid #b89876}.soft-box h3{font-size:22px;margin-bottom:18px}.soft-box ul{padding-left:20px;font-size:14px;color:var(--muted)}.note{padding:18px 22px;border-left:3px solid #b99673;background:#f1ebdf;font-size:12px;color:#776145;margin-top:25px}.flow{counter-reset:step;display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:35px}.step{border-top:1px solid var(--line);padding-top:25px}.step:before{counter-increment:step;content:'0' counter(step);font:italic 32px Georgia;color:#b39571}.step h3{font-size:21px;margin:18px 0 12px}.step p{font-size:13px;color:var(--muted)}.data{margin:25px 0 0}.row{display:grid;grid-template-columns:180px 1fr;border-bottom:1px solid var(--line);padding:18px 8px;font-size:14px}.row dt{color:var(--muted)}.row dd{margin:0}.faq{margin-top:30px}.faq details{border-top:1px solid var(--line);padding:22px 4px}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font-size:15px}.faq details p{color:var(--muted);font-size:13px;margin:18px 0 0}.review-panel{border:1px solid var(--line);padding:28px;margin-top:30px}.review-panel summary{cursor:pointer;color:var(--orange)}.review-panel li{font-size:13px;color:var(--muted);margin:8px 0}.review-panel a{text-decoration:underline}.photo-panel{height:380px;position:relative;overflow:hidden;border-radius:90px 0 0 0}.photo-panel .photo-caption{color:white}.wide-photo{height:400px;border-radius:3px;margin-top:35px;overflow:hidden}.mobile-contact{display:none}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #a35227;outline-offset:5px}@media(min-width:1500px){.hero{width:1400px;margin:auto}.hero-text{padding-left:80px}}@media(max-width:950px){nav{gap:15px;font-size:11px}.hero{min-height:570px}.hero-text{padding:70px 20px 60px 5vw}.hero-art{min-height:420px}.recruit{padding:45px}.contact .wrap{gap:35px}}@media(max-width:760px){body{font-size:14px}header{padding:14px 5vw}.brand-mark{font-size:25px}.brand small{font-size:9px}.menu{display:block;font-size:11px}nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--cream);padding:24px 5vw;flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid var(--line);box-shadow:0 12px 18px #493a3010}nav.open{display:flex}nav a{padding:12px;font-size:13px}.hero{display:flex;flex-direction:column}.hero-text{padding:47px 7vw 40px}.hero h1{font-size:40px}.eyebrow{margin-bottom:18px}.lead{font-size:14px;max-width:100%}.hero-art{min-height:0;height:340px;margin:0 0 0 8vw;border-radius:120px 0 0 0}.hero .btn{margin-top:6px}.intro{grid-template-columns:1fr;padding:60px 0;gap:22px}.intro p{margin:0;padding:0}.section{padding:55px 0}.section-head{display:block;margin-bottom:30px}.section-head p{margin-top:20px}.service-grid{grid-template-columns:1fr;gap:16px}.service-card{padding:27px}.service-card .num{margin-bottom:18px}.service-card p{max-width:100%;margin-bottom:20px}.service-card h3{font-size:24px}.recruit{padding:38px 28px;grid-template-columns:1fr;gap:20px;border-radius:65px 2px 2px 2px}.contact{padding:45px 0}.contact .wrap{grid-template-columns:1fr;gap:20px}.contact-box{border-left:0;border-top:1px solid #cbb8a2;padding:22px 0 0}.telephone{font-size:32px}footer .wrap{display:block}footer .footer-links{justify-content:start;margin-top:24px}.copyright{line-height:1.8}footer{padding-bottom:85px}.split{grid-template-columns:1fr;gap:32px}.flow{grid-template-columns:1fr;gap:20px}.step{padding-top:17px}.step h3{margin:8px 0}.page-top{padding:35px 0 40px}.crumb{margin-bottom:27px}.row{grid-template-columns:1fr;gap:5px;padding:17px 0}.row dt{font-size:12px}.photo-panel{height:300px}.wide-photo{height:280px}.mobile-contact{display:block;position:fixed;bottom:0;left:0;right:0;z-index:10;padding:11px 20px;background:var(--orange);color:white;text-align:center;font-size:13px;box-shadow:0 -2px 12px #493a301a}.reviewbar{font-size:10px}.reviewbar a{margin-left:5px}}/* Photo-led review revision */
.photo-hero{position:relative;min-height:670px;display:flex;align-items:center;background:#a2947b;overflow:hidden}.photo-hero>img{position:absolute;inset:0;object-position:center 40%}.photo-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(40,36,28,.63),rgba(40,36,28,.12) 75%)}.photo-hero .hero-content{position:relative;z-index:1;padding:70px 7vw;color:white}.photo-hero h1{font-size:clamp(40px,4.9vw,66px);line-height:1.6;text-shadow:0 2px 20px #35271240}.photo-hero .eyebrow{color:#ffe9cc;margin-bottom:22px}.photo-hero p{margin-top:24px;font-size:16px;line-height:2.1}.photo-hero .btn{background:#fff8eb;color:#8e4728;margin-top:12px}.image-note{position:absolute;right:20px;bottom:14px;z-index:2;color:white;font-size:10px;text-shadow:0 1px 3px #000;background:#0003;padding:3px 8px;border-radius:2px}.hello-photo{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding:90px 0}.hello-photo .photo{height:450px;position:relative;border-radius:4px 130px 4px 4px;overflow:hidden}.hello-photo .copy p{margin-top:25px;line-height:2.1;color:var(--muted)}.photo-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.photo-card{background:#fff;overflow:hidden;box-shadow:0 4px 20px #493a3008;transition:transform .2s}.photo-card:hover{transform:translateY(-5px)}.photo-card .visual{height:205px;position:relative}.photo-card .visual img{transition:transform .3s}.photo-card:hover img{transform:scale(1.03)}.photo-card .copy{padding:25px 23px}.photo-card .eyebrow{font-size:10px;margin-bottom:12px}.photo-card h3{font-size:23px}.photo-card p{font-size:12px;color:var(--muted);margin:14px 0 25px}.photo-card .arrow{font-size:12px;color:var(--orange);display:flex;justify-content:space-between}.photo-card .arrow:after{content:'→'}.image-small-label{position:absolute;bottom:8px;right:9px;font-size:9px;color:white;background:#0007;padding:2px 6px}.scene-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-top:35px}.scene-grid figure{margin:0;position:relative;height:310px;border-radius:3px;overflow:hidden}.scene-grid figcaption{position:absolute;bottom:0;padding:28px 20px 15px;color:white;font-size:12px;width:100%;background:linear-gradient(transparent,#0007)}.photo-recruit{display:grid;grid-template-columns:1.1fr 1fr;background:#e9e8df;overflow:hidden}.photo-recruit .visual{height:460px;position:relative}.photo-recruit .copy{padding:65px 55px;align-self:center}.photo-recruit p{font-size:13px;color:var(--muted);margin-top:20px}.photo-recruit .eyebrow{margin-bottom:15px}.photo-recruit h2{font-size:35px}.page-photo{height:400px;position:relative;overflow:hidden}.page-photo img{object-position:center 38%}.recruit-hero{position:relative;height:490px;overflow:hidden}.recruit-hero img{object-position:center 30%}.recruit-hero .overlay{position:absolute;inset:0;padding:65px 6vw;background:linear-gradient(90deg,#251e1cb0,transparent 90%);color:white;display:flex;flex-direction:column;justify-content:center}.recruit-hero .eyebrow{color:#ffe9cc}.recruit-hero h1{font-size:52px}.recruit-hero p{margin-top:25px;font-size:15px}.recruit-photos{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-bottom:30px}.recruit-photos>div{height:320px;position:relative;overflow:hidden;border-radius:4px}.photo-panel svg{display:none}@media(max-width:1000px){.photo-cards{grid-template-columns:repeat(2,1fr)}.photo-card .visual{height:250px}.hello-photo{gap:40px}.scene-grid figure{height:240px}.photo-recruit .copy{padding:35px}.photo-recruit h2{font-size:30px}}@media(max-width:760px){.photo-hero{min-height:640px;align-items:flex-end}.photo-hero>img{object-position:62% center}.photo-hero:after{background:linear-gradient(0deg,#252019c9,transparent 90%)}.photo-hero .hero-content{padding:160px 7vw 65px}.photo-hero h1{font-size:39px;line-height:1.65}.photo-hero p{font-size:14px;margin-top:20px}.photo-hero .eyebrow{font-size:10px;margin-bottom:18px}.image-note{font-size:8px;bottom:10px;right:12px}.hello-photo{grid-template-columns:1fr;padding:55px 0;gap:30px}.hello-photo .photo{height:340px;border-radius:4px 90px 4px 4px}.hello-photo .copy p{font-size:14px}.photo-cards{grid-template-columns:1fr;gap:25px}.photo-card .visual{height:250px}.photo-card .copy{padding:24px 26px}.photo-card h3{font-size:25px}.photo-card p{margin:12px 0 18px;font-size:13px}.scene-grid{grid-template-columns:1fr 1fr;gap:12px}.scene-grid figure:first-child{grid-column:auto;height:210px}.scene-grid figure{height:210px}.scene-grid figcaption{font-size:11px;padding:25px 12px 10px}.photo-recruit{grid-template-columns:1fr}.photo-recruit .visual{height:310px}.photo-recruit .copy{padding:35px 28px 40px}.recruit-hero{height:520px}.recruit-hero img{object-position:65% center}.recruit-hero .overlay{padding:45px 7vw;justify-content:flex-end;background:linear-gradient(0deg,#251e1ccc,transparent 100%)}.recruit-hero h1{font-size:39px}.page-photo{height:300px}.recruit-photos{grid-template-columns:1fr;gap:15px}.recruit-photos>div{height:280px}}

.photo-hero{display:grid;grid-template-columns:38% 62%;min-height:620px;background:#f4ecdf;align-items:stretch}.photo-hero>img{position:relative;grid-column:2;grid-row:1;height:620px;object-position:center;object-fit:cover;border-radius:110px 0 0 0;margin-top:24px}.photo-hero:after{display:none}.photo-hero .hero-content{grid-column:1;grid-row:1;align-self:center;padding:55px 20px 55px 5vw;color:var(--ink)}.photo-hero h1{font-size:clamp(34px,3.25vw,49px);text-shadow:none;letter-spacing:.045em;white-space:nowrap}.photo-hero .eyebrow{color:var(--orange);font-size:10px;letter-spacing:.08em}.photo-hero p{font-size:14px;color:var(--muted)}.photo-hero .btn{background:var(--orange);color:white;gap:28px}.photo-hero .image-note{bottom:10px}.hello-photo .photo img{object-position:center}.recruit-hero .overlay{background:linear-gradient(90deg,#251e1c9e,transparent 80%)}@media(max-width:1000px) and (min-width:761px){.photo-hero{min-height:520px;grid-template-columns:40% 60%}.photo-hero>img{height:520px}.photo-hero .hero-content{padding-left:4vw}.photo-hero h1{font-size:34px}.photo-hero p{font-size:12px}}@media(max-width:760px){.photo-hero{display:flex;flex-direction:column;min-height:0;background:#f4ecdf;padding-top:18px}.photo-hero>img{position:relative;width:94%;margin:0 0 0 6%;height:330px;object-position:center;border-radius:80px 0 0 0;order:0}.photo-hero .hero-content{order:1;padding:34px 7vw 40px;align-self:stretch}.photo-hero h1{font-size:38px;line-height:1.55}.photo-hero p{font-size:14px;margin:18px 0}.photo-hero .eyebrow{font-size:9px;margin-bottom:14px}.photo-hero .image-note{top:320px;bottom:auto;right:10px;font-size:7px}.photo-hero .btn{margin-top:0}.recruit-hero .overlay{background:linear-gradient(0deg,#251e1ccc,transparent 100%)}}

.recruit-hero{display:grid;grid-template-columns:40% 60%;height:520px;background:#e9e8df}.recruit-hero>img{grid-column:2;grid-row:1;object-position:center;object-fit:cover}.recruit-hero .overlay{position:relative;grid-column:1;grid-row:1;background:none;color:var(--ink);padding:40px 4vw}.recruit-hero .overlay .eyebrow{color:var(--orange)}.recruit-hero h1{font-size:clamp(32px,3.25vw,46px);white-space:nowrap}.recruit-hero p{color:var(--muted);font-size:14px}@media(max-width:760px){.recruit-hero{display:flex;flex-direction:column;height:auto}.recruit-hero>img{height:310px;order:0}.recruit-hero .overlay{order:1;padding:30px 7vw 35px}.recruit-hero h1{font-size:35px}.recruit-hero .image-note{top:280px;bottom:auto;font-size:8px}}

.photo-hero{display:flex;position:relative;min-height:780px;align-items:flex-end;background:#a6967f;padding:0;isolation:isolate}.photo-hero>img{position:absolute;inset:0;display:block;width:100%;height:100%;margin:0;border-radius:0;object-fit:cover;object-position:50% 33%;z-index:-2}.photo-hero:after{display:block;content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(36,30,23,.80) 0%,rgba(36,30,23,.36) 32%,rgba(36,30,23,0) 67%)}.photo-hero .hero-content{position:relative;align-self:auto;width:100%;padding:360px 7vw 60px;color:white;z-index:1}.photo-hero .eyebrow{color:#fff0d8;font-size:11px;letter-spacing:.13em;margin-bottom:14px}.photo-hero h1{color:white;font-size:clamp(42px,4.2vw,62px);line-height:1.45;letter-spacing:.08em;white-space:normal;text-shadow:0 2px 15px #0002}.photo-hero p{color:#fff9ef;font-size:15px;line-height:1.9;margin:17px 0 20px}.photo-hero .btn{background:#fff6e6;color:#854728;padding:12px 24px;gap:35px;margin-top:0}.photo-hero .image-note{position:absolute;top:auto;bottom:13px;right:20px;font-size:10px;background:#0004;color:white;z-index:2}@media(min-width:1600px){.photo-hero{min-height:870px}.photo-hero .hero-content{padding-top:400px}}@media(max-width:1000px) and (min-width:761px){.photo-hero{min-height:710px}.photo-hero .hero-content{padding:320px 6vw 55px}.photo-hero h1{font-size:48px}.photo-hero p{font-size:14px}}@media(max-width:760px){.photo-hero{display:flex;min-height:720px;padding:0;align-items:flex-end;flex-direction:row}.photo-hero>img{position:absolute;inset:0;width:100%;height:100%;margin:0;border-radius:0;object-fit:cover;object-position:20% 35%;order:initial}.photo-hero:after{background:linear-gradient(0deg,rgba(36,30,23,.87) 0%,rgba(36,30,23,.45) 36%,rgba(36,30,23,0) 70%)}.photo-hero .hero-content{align-self:auto;order:initial;padding:365px 7vw 55px}.photo-hero .eyebrow{font-size:9px;letter-spacing:.06em;margin-bottom:13px}.photo-hero h1{font-size:39px;line-height:1.5}.photo-hero p{font-size:13px;line-height:1.9;margin:16px 0 19px}.photo-hero .btn{font-size:12px;padding:11px 21px}.photo-hero .image-note{top:auto;bottom:9px;right:10px;font-size:8px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* 2026-10-13: fuller, purposeful photography across all seven pages */
figure{margin:0}.quiet-note{font-size:11px!important;line-height:1.9;color:var(--muted);margin:16px 0 0}.photo-source-tag{position:absolute;bottom:12px;right:12px;padding:3px 8px;font-size:10px;background:#0007;color:#fff}.editorial-photo{min-width:0}.editorial-photo .photo-open{display:block;position:relative;overflow:hidden;background:#e9e2d6;aspect-ratio:3/2;border-radius:3px}.editorial-photo img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.editorial-photo .photo-open:hover img{transform:scale(1.018)}.editorial-photo figcaption{display:flex;flex-direction:column;gap:4px;padding:12px 1px 0;font-size:13px;line-height:1.6}.editorial-photo figcaption small{color:var(--muted);font-size:10px;line-height:1.7}.zoom-hint{position:absolute;bottom:10px;right:10px;background:#fffdf3eb;color:var(--ink);padding:5px 10px;font-size:10px;border-radius:2px}.editorial-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.visual-story{display:grid;grid-template-columns:1.15fr 1fr;gap:65px;align-items:center}.visual-story.reverse .editorial-photo{order:2}.story-copy p{margin:23px 0 0}.gallery-after{margin-top:45px}.page-jumps{display:flex;flex-wrap:wrap;gap:10px 32px;padding:28px 0 0;position:static;top:auto;left:auto;right:auto;flex-direction:row;align-items:center;border:0;box-shadow:none;background:none}.page-jumps a{font-size:12px;color:var(--orange);border-bottom:1px solid #c6ad96;padding:0 0 5px}.page-jumps a:after{content:' ↓';padding-left:10px}.room-layout{display:grid;grid-template-columns:240px 1fr;gap:50px;align-items:start}.room-thumbnails{display:flex;flex-direction:column;gap:24px}.room-thumbnails .quiet-note{margin:0;max-width:205px}.small-original .photo-open{width:149px;height:112px;aspect-ratio:auto}.small-original .zoom-hint{display:none}.floorplan-card{background:#fffdf8;border:1px solid var(--line);padding:20px}.floorplan-card .photo-open{display:block;position:relative}.floorplan-card img{height:auto;object-fit:contain}.floorplan-card figcaption{font-size:11px;color:var(--muted);padding-top:15px}.fee-layout{display:grid;grid-template-columns:1fr 1.3fr;gap:65px}.fee-total{margin-top:28px;border-top:1px solid var(--line);padding-top:24px}.fee-total>span{display:block;font-size:13px;color:var(--muted);margin-bottom:10px}.fee-total strong{font-family:Georgia,'Yu Mincho',serif;font-weight:500;font-size:clamp(35px,3.2vw,48px);line-height:1.4;letter-spacing:.01em;white-space:nowrap}.fee-total strong>span{font-size:23px}.fee-total strong small{font-size:18px;margin-left:6px}.fee-mobile-break{display:none}.fee-table{margin:0}.fee-table>div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:20px 0;align-items:baseline}.fee-table dt{font-size:14px}.fee-table dt small{display:block;font-size:11px;color:var(--muted)}.fee-table dd{margin:0;white-space:nowrap;font-size:22px;font-family:Georgia,'Yu Mincho',serif}.fee-table dd small{font-size:12px;padding-left:3px}.fee-table dd>span{font-size:14px}.fee-table .fee-sum{background:#f4eadd;padding:20px 15px;margin:0 -15px;color:#8b482a}.fee-table .fee-sum dt{font-weight:bold}.deposit{display:flex;justify-content:space-between;gap:20px;margin-top:27px;font-size:14px}.deposit strong{font-weight:500}.trial-card{display:grid;grid-template-columns:1.2fr 1fr;background:#eee8dc;border-radius:4px;padding:45px 50px;gap:40px;align-items:center}.trial-card h2{font-size:30px}.trial-card p{font-size:13px;color:var(--muted);margin:18px 0 24px}.trial-price{border-left:1px solid #d6c9b7;padding-left:40px}.trial-price>small:first-child{font-size:12px;letter-spacing:.08em}.trial-price strong{font:40px Georgia,'Yu Mincho',serif;display:block;margin-top:10px}.trial-price strong span{font-size:20px}.trial-price p{font-size:16px;color:var(--orange);margin:10px 0 14px}.trial-price>small:last-child{font-size:10px;color:var(--muted);display:block}.lead-photograph{max-width:1440px;margin:0 auto;padding:36px 5vw 0}.lead-photograph .photo-open{height:auto;aspect-ratio:16/9}.lead-photograph img{object-position:center 25%}.lead-photograph figcaption{padding-top:10px;flex-direction:row;justify-content:space-between;gap:15px}.related-photo{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.related-photo h2{font-size:31px}.related-photo p{font-size:13px;color:var(--muted);margin:20px 0 25px}.recruit-gallery{margin-bottom:55px}.recruit-gallery .photo-open{aspect-ratio:16/10}.photo-hero>img{width:100%;height:100%}.photo-dialog{padding:0;border:0;border-radius:5px;width:min(1080px,94vw);max-width:94vw;max-height:92vh;background:#faf7f0;color:var(--ink);box-shadow:0 20px 90px #0006}.photo-dialog::backdrop{background:#211d19d9}.photo-dialog .dialog-image-wrap{display:flex;align-items:center;justify-content:center;background:#211d19;min-height:100px}.photo-dialog img{width:auto;height:auto;max-width:100%;max-height:76vh;object-fit:contain}.photo-dialog .dialog-caption{padding:14px 20px;margin:0;font-size:12px;line-height:1.7}.photo-dialog button{position:absolute;top:12px;right:12px;border:1px solid #fff7;background:#fffdf3;color:var(--ink);border-radius:30px;padding:7px 15px;cursor:pointer;font-size:12px;z-index:2}.photo-dialog[open]{animation:photo-show .15s ease}@keyframes photo-show{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.photo-disclosure{font-size:10px;color:var(--muted);border-top:1px solid var(--line);padding-top:20px;margin-top:15px}.photo-disclosure a{text-decoration:underline}.photo-open:focus-visible{outline-offset:5px}.fee-layout *{min-width:0}.related-photo h2 br{display:initial}
@media(max-width:1100px){.visual-story{gap:35px}.fee-layout{grid-template-columns:1fr 1.2fr;gap:38px}.fee-total strong{font-size:34px}.fee-table dd{font-size:19px}.room-layout{gap:30px}.related-photo{gap:35px}.lead-photograph .photo-open{height:auto;aspect-ratio:16/9}}
@media(max-width:760px){.editorial-grid{grid-template-columns:1fr;gap:26px}.editorial-photo figcaption{font-size:13px;padding-top:10px}.editorial-photo figcaption small{font-size:10px}.visual-story,.related-photo{grid-template-columns:1fr;gap:28px}.visual-story.reverse .editorial-photo{order:0}.story-copy p{margin-top:18px}.visual-story h2{font-size:28px}.gallery-after{margin-top:30px}.page-jumps{gap:15px 20px;padding-top:22px}.page-jumps a{font-size:11px}.room-layout{grid-template-columns:1fr;gap:25px}.room-thumbnails{display:grid;grid-template-columns:1fr 1fr;gap:18px 12px}.room-thumbnails .quiet-note{grid-column:1/-1;max-width:100%}.small-original .photo-open{width:min(149px,100%);height:auto;aspect-ratio:149/112}.small-original figcaption{font-size:12px}.floorplan-card{padding:12px}.fee-layout{grid-template-columns:1fr;gap:28px}.fee-total{margin-top:18px;padding-top:18px}.fee-total strong{font-size:38px}.fee-total strong>span{font-size:21px}.fee-table>div{padding:17px 0;gap:10px}.fee-table dt{font-size:13px}.fee-table dd{font-size:21px}.fee-table .fee-sum{padding:17px 10px;margin:0 -10px}.deposit{font-size:13px}.trial-card{grid-template-columns:1fr;padding:30px 25px;gap:28px}.trial-card h2{font-size:26px}.trial-price{border-left:0;border-top:1px solid #d6c9b7;padding:24px 0 0}.trial-price strong{font-size:38px}.lead-photograph{padding-top:24px}.lead-photograph .photo-open{height:auto;aspect-ratio:4/3}.lead-photograph figcaption{flex-direction:column;gap:3px}.related-photo h2{font-size:28px}.recruit-gallery{margin-bottom:40px}.recruit-hero>img{width:100%;object-fit:cover}.photo-dialog .dialog-caption{font-size:11px;padding:13px 15px}.zoom-hint{font-size:9px}.photo-hero h1{font-size:clamp(32px,9.3vw,39px)}}
@media(max-width:360px){.fee-total strong{font-size:33px}.fee-table dd{font-size:18px}.fee-table dt{font-size:12px}.page-jumps{gap:12px 14px}.trial-card{padding:27px 22px}.trial-card h2{font-size:23px}.recruit-hero h1{font-size:30px;white-space:normal}.photo-hero .hero-content{padding-left:6vw;padding-right:6vw}}
@media(prefers-reduced-motion:reduce){.photo-dialog[open]{animation:none}}

/* Keep the selected living room image complete, including both people and their hands. */
.photo-hero.living-hero{display:grid;grid-template-columns:40% 60%;min-height:0;align-items:stretch;background:#f4ecdf;padding:0;isolation:auto}
.photo-hero.living-hero>img{position:relative;inset:auto;grid-column:2;grid-row:1;width:100%;height:auto;align-self:center;margin:0;border-radius:0;object-fit:contain;object-position:center;z-index:auto}
.photo-hero.living-hero:after{display:none}
.photo-hero.living-hero .hero-content{grid-column:1;grid-row:1;align-self:center;width:100%;padding:45px 24px 45px 5vw;color:var(--ink)}
.photo-hero.living-hero h1{color:var(--ink);font-size:clamp(30px,3.3vw,49px);line-height:1.5;letter-spacing:.045em;text-shadow:none;white-space:normal}
.photo-hero.living-hero .eyebrow{color:var(--orange);font-size:10px;letter-spacing:.06em;margin-bottom:18px}
.photo-hero.living-hero p{color:var(--muted);font-size:14px;line-height:1.9;margin:20px 0}
.photo-hero.living-hero .btn{background:var(--orange);color:white;margin-top:0;padding:12px 24px}
.photo-hero.living-hero .image-note{top:auto;bottom:12px;right:12px;font-size:10px;background:#0008;color:white;max-width:57%;padding:4px 8px}
@media(max-width:760px){
 .photo-hero.living-hero{display:flex;flex-direction:column;min-height:0;align-items:stretch}
 .photo-hero.living-hero>img{position:relative;inset:auto;order:0;width:100%;height:auto;align-self:stretch;object-fit:contain;z-index:auto}
 .photo-hero.living-hero .image-note{position:static;order:1;align-self:flex-end;max-width:100%;font-size:9px;margin:6px 10px 0;background:transparent;color:var(--muted);text-shadow:none;padding:0}
 .photo-hero.living-hero .hero-content{order:2;align-self:stretch;padding:28px 7vw 36px}
 .photo-hero.living-hero h1{font-size:clamp(30px,8.8vw,39px)}
 .photo-hero.living-hero .eyebrow{font-size:9px;margin-bottom:13px}
 .photo-hero.living-hero p{font-size:13px;margin:16px 0 20px}
}

.room-focused .photo-open img{object-position:100% 50%;transform:scale(1.13);transform-origin:right center}.room-focused .photo-open:hover img{transform:scale(1.15)}.hello-photo .photo img[src$="facility-lounge.jpg"]{object-position:100% 50%;transform:scale(1.13);transform-origin:right center}.edited-room .photo-open{width:min(220px,100%);aspect-ratio:4/3}.edited-room img{object-fit:cover}

.trial-price .trial-exception{font-size:12px;line-height:1.8;color:var(--ink);margin:10px 0 17px;padding:12px 14px;background:#fff9ed;border-left:3px solid #b58f69}

/* Quiet, optional motion. Typography and controls stay still. */
@media (prefers-reduced-motion:no-preference){
 .reveal-pending{opacity:0;transform:translate3d(0,16px,0)}
 .reveal-ready{transition:opacity .7s ease,transform .7s cubic-bezier(.2,.65,.25,1)}
 .reveal-ready.reveal-visible,.reveal-pending:focus-within{opacity:1;transform:none}
}
.mirujyu-lead-photo .photo-open{aspect-ratio:1283/1226}
.mirujyu-lead-photo img{object-fit:contain;object-position:center}
@media(max-width:760px){
 .reveal-pending{transform:translate3d(0,10px,0)}
 .reveal-ready{transition-duration:.55s}
}
@media(prefers-reduced-motion:reduce){
 .photo-hero>img{animation:none!important;transform:none!important;will-change:auto!important}
 .reveal-pending,.reveal-ready,.reveal-visible{opacity:1!important;transform:none!important;transition:none!important}
 html{scroll-behavior:auto!important}
}
/* Phone framing keeps both faces; place the readable copy below the full photo. */
@media(max-width:760px){
 .photo-hero:not(.living-hero){display:flex;flex-direction:column;align-items:stretch;min-height:0;background:#3f352c;padding:0;isolation:auto}
 .photo-hero:not(.living-hero)>img{position:relative;inset:auto;order:0;display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;object-position:center;z-index:auto;margin:0;border-radius:0}
 .photo-hero:not(.living-hero):after{display:none}
 .photo-hero:not(.living-hero) .image-note{position:static;order:1;align-self:flex-end;max-width:100%;margin:7px 13px 0;padding:0;background:none;font-size:8px;color:#efe5d7;text-shadow:none}
 .photo-hero:not(.living-hero) .hero-content{order:2;align-self:stretch;padding:25px 7vw 40px;color:#fff}
 .photo-hero:not(.living-hero) h1{font-size:clamp(32px,8.9vw,38px);line-height:1.5}
 .photo-hero:not(.living-hero) p{font-size:13px;line-height:1.9}
}


/* Original high-resolution image, no screenshot UI and no geometric warping. */
.people-centered-crop .photo-open img,.people-centered-crop .photo-open:hover img{object-position:100% 50%;transform:scale(1.35);transform-origin:100% 60%}

/* Requested contact features: no external embed, form endpoint or tracking. */
.telephone{display:inline-block}.contact-box a.telephone{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px}.inline-phone,.map-link,.contact-form-link{text-decoration:underline;text-underline-offset:3px}.map-link{display:inline-block;margin-top:8px;color:var(--orange);font-size:12px}.inquiry-form-wrap{display:grid;grid-template-columns:1fr 1fr;gap:65px}.inquiry-form-wrap h2{margin-bottom:20px}.form-status{padding:20px 22px;background:#f0e6d7;border-left:3px solid #b99673;font-size:13px;line-height:1.9}.form-recipient{overflow-wrap:anywhere}.inquiry-preview fieldset{margin:0;padding:28px;border:1px solid var(--line);background:#f7f2e8;min-width:0}.inquiry-preview legend{padding:0 8px;font-size:12px;color:var(--muted)}.inquiry-preview label{display:block;margin:16px 0 7px;font-size:13px}.inquiry-preview label:first-of-type{margin-top:0}.inquiry-preview input,.inquiry-preview select,.inquiry-preview textarea{display:block;width:100%;font:inherit;font-size:14px;line-height:1.7;padding:11px 12px;border:1px solid #cec1af;border-radius:3px;min-width:0;background:#fffdf8;color:#6e6257;opacity:1;-webkit-text-fill-color:#6e6257;cursor:not-allowed}.inquiry-preview textarea{resize:vertical}.inquiry-preview button{margin-top:22px;background:#776b5c;cursor:not-allowed}.inquiry-preview .btn:after{content:none}@media(max-width:760px){.inquiry-form-wrap{grid-template-columns:1fr;gap:26px}.inquiry-preview fieldset{padding:23px}.inquiry-form-wrap h2{font-size:28px}.form-status{padding:17px 19px}}

.policy-document{max-width:820px}.policy-document p,.policy-document li{font-size:14px;line-height:2.05;overflow-wrap:anywhere}.policy-document a{text-decoration:underline;text-underline-offset:3px}.policy-draft-note{padding:24px 28px;border:1px solid #d8c5aa;background:#f4ebdb;margin-bottom:36px}.policy-draft-note p{margin:12px 0 0;font-size:13px}.policy-section{padding-top:34px;margin-top:34px;border-top:1px solid var(--line)}.policy-section h2{font-size:25px;margin-bottom:20px;letter-spacing:.03em}.policy-section h3{font-size:19px;margin:24px 0 13px}.policy-section ul{padding-left:1.6em;margin:15px 0 22px}.policy-section li{margin-bottom:8px}.policy-pending{display:inline-block;padding:9px 13px;background:#f4ebdb}@media(max-width:760px){.policy-document p,.policy-document li{font-size:13px}.policy-draft-note{padding:20px}.policy-section h2{font-size:22px}.policy-section{padding-top:26px;margin-top:26px}}

/* Actual meal photography: orient the whole original, never crop or reshape dishes. */
.meal-page-top{padding-bottom:38px}.meal-introduction{padding-top:50px}.meal-hero-layout{display:grid;grid-template-columns:.74fr 1.26fr;gap:55px;align-items:center}.meal-hero-copy h2{font-size:34px}.meal-hero-copy .body-copy{font-size:14px;line-height:2.2;margin:24px 0}.meal-gallery-link{display:inline-block;font-size:12px;color:var(--orange);border-bottom:1px solid #c6ad96;padding-bottom:6px}.meal-photo{min-width:0}.meal-frame{display:block;position:relative;width:100%;aspect-ratio:var(--meal-ratio);overflow:hidden;background:#eee2cf;border-radius:4px}.meal-frame img{position:absolute;left:50%;top:50%;width:var(--meal-width);height:var(--meal-height);max-width:none;object-fit:contain;transform:translate(-50%,-50%) rotate(var(--meal-turn));transition:none}.meal-photo figcaption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:5px 16px;margin-top:13px;font-size:12px;line-height:1.8}.meal-photo figcaption small{font-size:10px;color:var(--muted)}.meal-gallery{display:grid;grid-template-columns:1fr 1fr;gap:42px 32px}.meal-note{text-align:center;margin-top:35px}.meal-return{display:flex;gap:35px;justify-content:space-between;align-items:center}.meal-return h2{font-size:30px}.meal-return p{font-size:13px;margin:15px 0 0}.meal-preview-link{background:#eee8dc}.photo-dialog.meal-dialog .dialog-image-wrap{display:block;position:relative;width:min(100%,calc(76vh * var(--meal-ratio)));height:auto;min-height:0;max-height:none;aspect-ratio:var(--meal-ratio);margin:auto;overflow:hidden}.photo-dialog.meal-dialog img{position:absolute;left:50%;top:50%;width:var(--meal-width);height:var(--meal-height);max-width:none;max-height:none;object-fit:contain;transform:translate(-50%,-50%) rotate(var(--meal-turn));transition:none}.meal-dialog .dialog-caption{padding-right:90px}
@media(max-width:1000px){.meal-hero-layout{gap:35px;grid-template-columns:.8fr 1.2fr}.meal-hero-copy h2{font-size:29px}.meal-hero-copy .body-copy{font-size:13px}.meal-gallery{gap:32px 25px}}
@media(max-width:760px){.meal-page-top{padding-bottom:30px}.meal-introduction{padding-top:30px}.meal-hero-layout{grid-template-columns:1fr;gap:28px}.meal-hero-copy h2{font-size:29px}.meal-hero-copy .body-copy{font-size:14px;line-height:2}.meal-gallery{grid-template-columns:1fr;gap:30px}.meal-photo figcaption{margin-top:10px;font-size:12px}.meal-return{align-items:flex-start;flex-direction:column;gap:25px}.meal-return h2{font-size:27px}.meal-return .btn{max-width:100%}.meal-gallery-link{font-size:12px}.meal-dialog .dialog-caption{padding-right:20px}}

/* Calm, practical navigation: useful to all visitors, without age or gender labels. */
.explore-links{padding-top:34px;padding-bottom:14px}.explore-heading{font-size:14px;font-weight:600;margin:0 0 15px;color:var(--ink)}.explore-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.explore-grid a{display:flex;flex-direction:column;justify-content:center;gap:7px;border:1px solid #d5c3ad;border-radius:6px;background:#fffdf8;padding:19px 18px;min-height:95px;line-height:1.6}.explore-grid strong{font-size:15px;font-weight:600}.explore-grid span{font-size:12px;color:#65584c}.explore-grid a:hover{background:#f2e9dc;border-color:#b18d69}.next-step-section{padding:50px 0;background:#f3eadc}.next-step-card{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center}.next-step-card h2{font-size:30px}.next-step-card p{font-size:15px;line-height:1.9;color:#65584c;margin:18px 0 0}.next-step-actions{display:flex;flex-direction:column;gap:11px;align-items:stretch}.next-step-actions .btn{justify-content:center;gap:22px;min-height:52px}.contact-hours{display:block;text-align:center;font-size:13px;line-height:1.7;color:#62564a}.text-route{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 2px;font-size:14px;color:var(--orange);text-decoration:underline;text-underline-offset:4px;line-height:1.7}.meal-paths{display:flex;flex-wrap:wrap;gap:10px 20px;align-items:center}.meal-paths .meal-gallery-link{min-height:44px;display:inline-flex;align-items:center}.form-phone-route{margin:20px 0}.form-phone-route .btn{min-height:52px;justify-content:center}.form-phone-route .contact-hours{text-align:left;margin-top:8px}.mobile-action-bar{display:none}section[id],h2[id]{scroll-margin-top:20px}.photo-dialog button{min-height:48px;min-width:76px;font-size:14px}.photo-open:focus-visible{outline:3px solid #834523;outline-offset:4px}
@media(max-width:760px){
 :root{--muted:#62584f}html{scroll-padding-bottom:calc(var(--mobile-actions-height,96px) + 20px)}body{font-size:16px;line-height:1.95;padding-bottom:calc(var(--mobile-actions-height,96px) + 16px);overflow-wrap:break-word}header{padding:12px 5vw;gap:10px}.brand{gap:9px;min-width:0;max-width:calc(100% - 102px)}.brand-mark{flex-shrink:0}.brand small{font-size:10px;line-height:1.55;max-width:138px}.menu{min-width:92px;min-height:48px;flex-shrink:0;font-size:14px;padding:10px 11px;border-color:#b9a38b;border-radius:5px}header #main-nav{padding:12px 5vw 18px;font-size:16px;gap:0}header #main-nav a{font-size:16px;display:flex;align-items:center;min-height:48px;padding:10px 4px;border-bottom:1px solid #e3d8c9}header #main-nav a:last-child{border-bottom:0}.reviewbar{font-size:12px;line-height:1.7;padding:9px 16px}.reviewbar a{display:inline-block;min-height:32px;line-height:32px;margin-left:8px}.section{padding:52px 0}.page-top{padding:38px 0 32px}.crumb{font-size:12px;line-height:1.8;margin-bottom:25px}.crumb a{display:inline-block;min-height:40px;line-height:40px}.page-top h1{font-size:clamp(28px,7.7vw,34px);line-height:1.5;letter-spacing:.04em}.page-top .subtitle{font-size:16px;line-height:1.95}.eyebrow{font-size:11px;line-height:1.8;margin-bottom:16px}.body-copy,.story-copy p,.lead,.section-head p,.photo-card p,.photo-recruit p,.meal-hero-copy .body-copy,.related-photo p,.soft-box p,.soft-box ul,.contact p,.flow .step p,.faq details p,.next-step-card p,.policy-document p,.policy-document li{font-size:16px!important;line-height:1.95;color:#62584f}.section-head{gap:20px;margin-bottom:28px;flex-direction:column;align-items:flex-start}.section-head p{max-width:none}.section h2,.visual-story h2,.related-photo h2,.next-step-card h2,.meal-return h2{font-size:28px;line-height:1.6;letter-spacing:.04em}.hello-photo{padding:48px 0;gap:27px}.hello-photo .copy p{font-size:16px;line-height:1.95}.photo-hero:not(.living-hero) .hero-content{padding:27px 7vw 38px}.photo-hero:not(.living-hero) p{font-size:16px;line-height:1.9}.photo-hero:not(.living-hero) h1{font-size:clamp(30px,8.5vw,35px);line-height:1.55}.photo-hero:not(.living-hero) .eyebrow{font-size:11px;line-height:1.8}.photo-hero:not(.living-hero) .image-note{font-size:11px;line-height:1.7;margin:9px 13px 0}.btn{font-size:16px!important;line-height:1.7;min-height:52px;padding:13px 18px;gap:20px;max-width:100%}.btn:after{font-size:20px}.photo-hero .btn{font-size:16px!important;min-height:52px;padding:13px 18px}.photo-card .copy{padding:24px}.photo-card h3{font-size:24px}.photo-card .eyebrow{font-size:12px}.photo-card .arrow{font-size:15px;min-height:40px;align-items:center}.photo-recruit .copy{padding:30px 25px}.photo-recruit .copy h2{font-size:28px}.recruit-hero h1{font-size:32px;line-height:1.55}.recruit-hero p{font-size:16px;line-height:1.9}.quiet-note,.note,.photo-disclosure,.trial-price>small:last-child,.trial-price .trial-exception,.review-panel li{font-size:14px!important;line-height:1.9;color:#62584f}.note{padding:18px}.photo-disclosure{padding-top:22px}.photo-disclosure a{display:inline-block;min-height:40px;line-height:40px}.editorial-photo figcaption,.meal-photo figcaption{font-size:14px;line-height:1.8}.editorial-photo figcaption small,.meal-photo figcaption small,.lead-photograph figcaption small,.floorplan-card figcaption{font-size:12px;line-height:1.8}.zoom-hint{font-size:11px;padding:6px 10px}.small-original figcaption{font-size:13px}.page-jumps{display:grid!important;position:static;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:24px 0 0;align-items:stretch}.page-jumps a{display:flex;align-items:center;justify-content:space-between;min-height:52px;font-size:14px;line-height:1.6;padding:12px;border:1px solid #d3bfa7;border-radius:5px;background:#fffdf8}.page-jumps a:after{padding-left:6px;flex-shrink:0}.fee-total strong{font-size:38px;white-space:normal;display:block;line-height:1.32}.fee-total strong>span{font-size:24px}.fee-mobile-break{display:block}.fee-total>span{font-size:15px}.fee-table>div{gap:12px;padding:19px 0;align-items:baseline}.fee-table dt{font-size:15px;line-height:1.6}.fee-table dt small{font-size:13px;line-height:1.7}.fee-table dd{font-size:22px;line-height:1.6}.fee-table dd small{font-size:14px}.fee-table dd>span{font-size:15px}.fee-table .fee-sum{padding:18px 10px}.deposit{font-size:16px;line-height:1.8;flex-wrap:wrap;gap:8px 20px}.trial-card{padding:28px 23px;gap:25px}.trial-card h2{font-size:28px}.trial-card p{font-size:16px;line-height:1.9}.trial-price>small:first-child{font-size:14px}.trial-price strong{font-size:38px}.trial-price p{font-size:17px}.row{grid-template-columns:1fr;gap:6px;font-size:16px;line-height:1.9;padding:19px 0}.row dt{font-size:14px;font-weight:600;color:#62584f}.row dd{font-size:16px;min-width:0;overflow-wrap:anywhere}.inline-phone{display:inline-flex;align-items:center;min-height:48px;font-size:19px}.map-link{min-height:44px;line-height:1.8;font-size:14px;display:inline-flex;align-items:center}.faq summary{font-size:16px;line-height:1.8;min-height:48px;align-content:center}.review-panel{padding:22px 18px}.review-panel summary{font-size:15px;line-height:1.8;min-height:48px;align-content:center}.contact{padding:48px 0}.contact .wrap{grid-template-columns:1fr;gap:27px}.contact h2{font-size:28px;line-height:1.6}.contact-box{border-left:0;border-top:1px solid #ccb79f;padding:25px 0 0}.contact-box>small{font-size:15px;line-height:1.9}.contact-box a.telephone{display:flex;align-items:center;justify-content:center;width:100%;min-height:64px;padding:13px 16px;background:#99502b;border-radius:7px;color:#fff;font-family:inherit;font-size:clamp(24px,7vw,30px);font-weight:600;letter-spacing:.025em;text-decoration:none;margin:12px 0}.contact-box p{font-size:14px!important;line-height:1.9}.contact-form-link{display:inline-block;min-height:44px;line-height:1.9;padding:8px 0}.explore-links{padding-top:25px;padding-bottom:0}.explore-heading{font-size:15px;line-height:1.8;margin-bottom:13px}.explore-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.explore-grid a{padding:15px 13px;min-height:102px;gap:6px}.explore-grid strong{font-size:15px;line-height:1.65}.explore-grid span{font-size:13px;line-height:1.65}.next-step-section{padding:38px 0}.next-step-card{grid-template-columns:1fr;gap:25px}.next-step-actions{gap:9px}.next-step-actions .btn{width:100%;text-align:center}.contact-hours{font-size:14px;line-height:1.8}.text-route{min-height:48px;font-size:15px;padding:10px 0}.meal-paths{gap:8px 18px}.meal-paths .meal-gallery-link{font-size:15px;min-height:48px}.meal-return .btn{width:100%;justify-content:center}.meal-note{font-size:14px!important}.form-status{font-size:15px;line-height:1.9}.inquiry-preview label,.inquiry-preview input,.inquiry-preview select,.inquiry-preview textarea{font-size:16px}.inquiry-preview input,.inquiry-preview select{min-height:50px}.inquiry-preview legend{font-size:14px}.form-phone-route .btn{width:100%}.policy-section h2{font-size:24px}.policy-draft-note p{font-size:14px!important}.photo-dialog .dialog-caption{font-size:13px;line-height:1.85;padding:15px}.photo-dialog button{min-height:48px;min-width:82px;font-size:14px}.mobile-action-bar{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:10;padding:10px 5vw calc(10px + env(safe-area-inset-bottom,0px));background:#fffaf3;border-top:1px solid #d5c0a8;box-shadow:0 -4px 18px #493a3017}.mobile-action-bar a{display:flex;align-items:center;justify-content:center;min-height:56px;border-radius:6px;text-align:center;line-height:1.4;padding:8px 10px;font-size:16px;font-weight:600}.mobile-action-secondary{color:#854526;border:1px solid #a56b48;background:#fffdf8}.mobile-action-phone{flex-direction:column;gap:4px;background:#99502b;color:#fff}.mobile-action-phone strong{font-size:16px;font-weight:600}.mobile-action-phone span{font-size:12px;font-weight:400;line-height:1.4}footer{padding-top:34px}footer p{font-size:13px;line-height:1.9}footer .footer-links{gap:5px 18px;font-size:14px;justify-content:flex-start}footer .footer-links a{display:inline-flex;align-items:center;min-height:44px;line-height:1.7}footer .copyright{font-size:12px;line-height:1.8;gap:12px}.contact-hours,.body-copy{overflow-wrap:break-word}
}
@media(max-width:380px){.fee-total strong{font-size:36px}.fee-table dd{font-size:20px}.fee-table dt{font-size:15px}.explore-grid a{padding:14px 11px}.explore-grid strong{font-size:14px}.explore-grid span{font-size:13px}.mobile-action-bar{gap:8px}.mobile-action-bar a{padding:8px 7px}.next-step-card h2{font-size:27px}}

/* Homepage Mirumiru exterior: tight entrance/sign framing, excluding neighboring shutters. */
.photo-card.mirumiru-exterior-card .visual{overflow:hidden}
.photo-card.mirumiru-exterior-card .visual img{object-position:60% 38%;transform:scale(1.80);transform-origin:60% 38%}
.photo-card.mirumiru-exterior-card:hover .visual img{transform:scale(1.82)}

/* The category selector works while personal-data fields and sending remain unavailable. */
.inquiry-preview select:enabled{cursor:pointer}

/* President's original brushwork, with conservative display-only framing. */
.president-artworks{display:grid;grid-template-columns:1.08fr 1fr;gap:30px;margin-top:52px;align-items:start}
.president-artwork{margin:0;padding:16px;background:#f7f1e5;border:1px solid #ddcfb9;box-shadow:0 8px 24px #493a3010}
.president-artwork-frame{display:block;position:relative;overflow:hidden;background:#eee7d9;border-radius:0}
.president-artwork-art .president-artwork-frame{aspect-ratio:1320/900}
.president-artwork-words .president-artwork-frame{aspect-ratio:1399/996}
.president-artwork-frame img{position:absolute;max-width:none;object-fit:fill;filter:brightness(1.08) contrast(1.025)}
.president-artwork-art img{width:116.364%;height:128%;left:-9.848%;top:-8.889%}
.president-artwork-words img{width:109.793%;height:115.663%;left:-6.862%;top:-10.04%}
.president-artwork figcaption{padding-top:14px;font-size:13px;line-height:1.6;color:var(--muted);text-align:center}
@media(max-width:760px){.president-artworks{grid-template-columns:1fr;gap:24px;margin-top:36px}.president-artwork{padding:12px}}

/* Active, accessible contact form. */
.inquiry-live input,.inquiry-live textarea{cursor:text;color:var(--ink);-webkit-text-fill-color:var(--ink)}
.inquiry-live select{cursor:pointer;color:var(--ink);-webkit-text-fill-color:var(--ink)}
.inquiry-live button{cursor:pointer;background:var(--orange)}
.inquiry-live button:disabled{cursor:wait;opacity:.65}
.inquiry-live .inquiry-consent{display:flex;align-items:flex-start;gap:12px;font-size:13px;line-height:1.8;margin-top:22px}
.inquiry-live .inquiry-consent input{flex:0 0 20px;width:20px;height:20px;min-height:20px;margin-top:3px;cursor:pointer}
.inquiry-live .inquiry-consent a{text-decoration:underline}
.inquiry-live [hidden]{display:none!important}



@media(max-width:760px){.photo-hero:not(.living-hero) .hero-content{position:relative;z-index:2;background:#3f352c}}


/* Independent scale/translate preserve meal rotation and existing image crops. */
.photo-motion-host{position:relative}
.photo-motion-frame{overflow:hidden}
.photo-swipe-frame{touch-action:pan-y pinch-zoom}


@media(max-width:760px){.photo-hero:not(.living-hero) .hero-content{position:relative;z-index:2;background:#3f352c}}
@media(prefers-reduced-motion:reduce),(update:slow){.photo-motion-image{scale:1!important;translate:0 0!important}}

.photo-motion-frame:focus-visible{outline:3px solid #99502b;outline-offset:3px}.photo-motion-frame .zoom-hint{pointer-events:auto;cursor:zoom-in}

/* Keep the homepage portrait heads inside the frame while zooming. */
.photo-hero:not(.living-hero)>img[src="assets/hero.jpg"]{transform-origin:50% 0%}

/* Approved three-role recruitment */
.job-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:32px 0 48px}.job-card{padding:28px 24px;border:1px solid #dfd9cc;border-radius:16px;background:#faf7f0;display:flex;flex-direction:column;gap:14px;min-width:0}.job-card h3{font-size:21px;line-height:1.5}.job-card p{line-height:1.7}.job-link{display:block;margin-top:auto;padding:12px 0;color:#245d50;font-weight:700;line-height:1.6;text-underline-offset:4px}.job-link:focus-visible{outline:3px solid #245d50;outline-offset:4px}.job-detail{padding-top:36px;margin-top:24px;scroll-margin-top:110px}.job-detail>h3{font-size:25px;line-height:1.5;margin-bottom:20px}.job-detail .data{margin-top:0}@media(max-width:760px){.job-cards{grid-template-columns:1fr;gap:16px;margin:24px 0 32px}.job-card{padding:24px}.job-detail>h3{font-size:22px}.job-detail .row{overflow-wrap:anywhere}}

/* Clear form entry route on narrow screens */
.form-entry-guide{margin:20px 0 24px;padding:20px;border-radius:12px;background:#f2f6f1;border:1px solid #d7e4d6}.form-entry-guide p{margin:0 0 14px;line-height:1.7}.form-entry-link{min-height:48px;white-space:normal;text-align:center}#hrc-inquiry{scroll-margin-top:120px}@media(max-width:760px){.form-entry-link{display:flex;justify-content:center;width:100%;box-sizing:border-box}.form-entry-guide{padding:18px}#hrc-inquiry{scroll-margin-top:110px}}

/* Prominent email contact, safely wrapping on small screens */
.contact-box{min-width:0}.contact-email-block{margin-top:22px;padding-top:20px;border-top:1px solid currentColor}.contact-email-block small{display:block;margin-bottom:8px}.contact-box .contact-email{display:block;max-width:100%;font-size:clamp(24px,3vw,36px);font-weight:600;line-height:1.45;overflow-wrap:anywhere;word-break:normal;text-decoration:underline;text-underline-offset:5px}.contact-email:focus-visible{outline:3px solid currentColor;outline-offset:5px}

/* Keep the mobile brand tagline on a readable single line at standard text size. */
@media(max-width:760px){header .brand{flex-direction:column;align-items:flex-start;gap:2px}header .brand small{max-width:none;width:100%;font-size:10px;letter-spacing:0;line-height:1.55}header .brand-mark{line-height:1.15}}

/* Readability: user-requested larger, stronger text without disabling zoom. */
:root{--muted:#51483f}
body{font-size:1.125rem;line-height:1.9;color:#40382f;font-weight:500}
.body-copy,.story-copy p,.lead,.section-head p,.photo-card p,.photo-recruit p,.meal-hero-copy .body-copy,.related-photo p,.soft-box p,.soft-box ul,.contact p,.flow .step p,.faq details p,.next-step-card p,.policy-document p,.policy-document li,.data dt,.data dd,.job-card p{font-size:1.125rem!important;line-height:1.9;font-weight:500}
.quiet-note,.note,.trial-price>small:last-child,.trial-price .trial-exception,.review-panel li,.form-status,.contact-hours,figcaption,.photo-dialog .dialog-caption,footer p,footer .copyright{font-size:1rem!important;line-height:1.85;font-weight:500}
.body-copy,.story-copy p,.lead,.quiet-note,.note,.policy-document p,.policy-document li,.faq details p{color:#40382f}
small,.eyebrow{font-size:.875rem;line-height:1.75;font-weight:600}
.btn,.job-link,.menu,header nav a,footer .footer-links a,.contact-form-link{font-size:1rem!important;min-height:48px;font-weight:600}
footer .footer-links a,.contact-form-link{display:inline-flex;align-items:center}
.inquiry-preview label,.inquiry-preview input,.inquiry-preview select,.inquiry-preview textarea,.inquiry-consent{font-size:1.125rem!important;line-height:1.7}
.inquiry-preview input,.inquiry-preview select{min-height:50px}
.faq summary{font-size:1.125rem;line-height:1.7;min-height:48px;font-weight:600}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #225f50;outline-offset:4px}
.brand-tagline>span{display:inline-block}
@media(max-width:760px){
 header .brand{flex-direction:column;align-items:flex-start;gap:3px}
 header .brand small{font-size:.875rem;max-width:none;width:100%;letter-spacing:0;line-height:1.6}
 header .brand-mark{line-height:1.15}
 .section .wrap,.contact-box,.job-card,.policy-document{min-width:0}
 .data .row{overflow-wrap:anywhere}
 .photo-hero:not(.living-hero) .eyebrow{font-size:.875rem;letter-spacing:.02em}
 .photo-hero:not(.living-hero) p{font-size:1.125rem;line-height:1.9}
 .reviewbar{font-size:1rem;line-height:1.75}
 .mobile-action-phone span{font-size:.875rem}
}

/* Custom long press is limited to people; normal page scrolling remains available. */
.person-photo-gesture{-webkit-touch-callout:none;touch-action:pan-y pinch-zoom}.person-photo-gesture img{-webkit-touch-callout:none;user-select:none;-webkit-user-select:none}.person-photo-gesture .zoom-hint,.scenery-photo-gesture .zoom-hint{display:none}.person-photo-gesture:focus-visible,.scenery-photo-gesture:focus-visible{outline:3px solid #225f50;outline-offset:4px}

/* Public CONTACT: a large, distinct form button matching the brown contact styling. */
.contact .contact-form-link{display:inline-flex;align-items:center;justify-content:center;min-height:64px;max-width:100%;padding:16px 28px;margin-top:18px;background:#78503d;color:#fff!important;border:2px solid #78503d;border-radius:12px;font-size:clamp(1.25rem,3vw,1.75rem);font-weight:700;line-height:1.45;text-decoration:none;text-align:center;white-space:normal;overflow-wrap:anywhere;box-sizing:border-box}.contact .contact-form-link:hover{background:#5f3d2d;border-color:#5f3d2d}.contact .contact-form-link:focus-visible{outline:3px solid #fff;outline-offset:4px}@media(max-width:600px){.contact .contact-form-link{width:100%;padding:16px 20px}}

/* Rounded M+ 1c, self-hosted under SIL OFL 1.1. Swap preserves immediate text visibility. */
@font-face{font-family:'HRC Rounded';src:url('fonts/hrc-rounded-500.woff') format('woff');font-style:normal;font-weight:400 500;font-display:swap}
@font-face{font-family:'HRC Rounded';src:url('fonts/hrc-rounded-700.woff') format('woff');font-style:normal;font-weight:600 900;font-display:swap}
body{font-family:'HRC Rounded','Hiragino Maru Gothic ProN','Yu Gothic',Meiryo,sans-serif;font-size:1.25rem;font-weight:600;line-height:1.9}
h1,h2,h3,h4,.fee-total strong,.fee-table dd,input,select,textarea,button{font-family:'HRC Rounded','Hiragino Maru Gothic ProN','Yu Gothic',Meiryo,sans-serif}
h1,h2,h3,h4{font-weight:700;letter-spacing:.025em}
.body-copy,.story-copy p,.lead,.section-head p,.photo-card p,.photo-recruit p,.meal-hero-copy .body-copy,.related-photo p,.soft-box p,.soft-box ul,.contact p,.flow .step p,.faq details p,.next-step-card p,.policy-document p,.policy-document li,.data dt,.data dd,.job-card p{font-size:1.25rem!important;line-height:1.9;font-weight:600}
.quiet-note,.note,.trial-price>small:last-child,.trial-price .trial-exception,.review-panel li,.form-status,.contact-hours,figcaption,.photo-dialog .dialog-caption,footer p,footer .copyright{font-size:1.0625rem!important;line-height:1.85;font-weight:500}
small,.eyebrow{font-size:.9375rem;line-height:1.8;font-weight:600}
.btn,.job-link,.menu,header nav a,footer .footer-links a{font-size:1.125rem!important;font-weight:700;white-space:normal;overflow-wrap:anywhere}
.contact .contact-form-link{font-size:clamp(1.25rem,3vw,1.75rem)!important;font-weight:700}
.inquiry-preview label,.inquiry-preview input,.inquiry-preview select,.inquiry-preview textarea,.inquiry-consent,.faq summary{font-size:1.25rem!important;line-height:1.75;font-weight:600}
.inquiry-preview input,.inquiry-preview select{min-height:54px;max-width:100%}
.fee-total strong,.fee-table dd{font-weight:700;font-variant-numeric:tabular-nums}
@media(max-width:760px){header .brand small{font-size:.9375rem;line-height:1.65}header .brand-tagline{white-space:normal}.photo-hero:not(.living-hero) p{font-size:1.25rem;line-height:1.85}.reviewbar{font-size:1.0625rem}.mobile-action-phone span{font-size:.9375rem}.job-card,.contact-box,.policy-document,.data dd{min-width:0;overflow-wrap:anywhere}}
@media(max-width:360px){.fee-total strong{font-size:2rem;white-space:normal}.fee-table dd{white-space:normal}.brand-tagline>span{max-width:100%;overflow-wrap:anywhere}}

.tekuteku-title .tekuteku-kind{display:block}.tekuteku-title .tekuteku-name{display:flex;align-items:center;gap:.3em;white-space:nowrap}.tekuteku-title .tekuteku-steps{display:inline-block;width:.95em;height:1.05em;flex:none;color:inherit;opacity:.88}h3.tekuteku-title{font-size:1.5rem;font-weight:700;line-height:1.55;letter-spacing:.02em}h1.tekuteku-title{font-size:clamp(1.75rem,5vw,3.5rem);font-weight:700;letter-spacing:.025em;line-height:1.55}@media(max-width:360px){h3.tekuteku-title{font-size:1.375rem}}
