:root{--ink:#302c34;--purple:#4c365e;--muted:#716b73;--paper:#faf9f7;--line:#e3dfe3;--serif:'Yu Mincho','Hiragino Mincho ProN','Noto Serif JP',serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.9 'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;display:block}p,h1,h2,h3,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:500}h2{font-size:clamp(1.7rem,3vw,2.4rem);line-height:1.7}h3{font-size:1.4rem}p+p{margin-top:1rem}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b77933;outline-offset:5px}.wrap{max-width:1160px;margin:auto;padding-inline:32px}.eyebrow{display:block;color:var(--purple);font-size:.8rem;letter-spacing:.18em;margin-bottom:20px;font-weight:600}.header-inner{max-width:1320px;padding:22px 40px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:20px}header{background:white}.brand{display:flex;align-items:center;gap:20px}.brand img{width:156px}.brand span{font-size:.75rem;line-height:1.7;border-left:1px solid var(--line);padding-left:20px}.brand strong{display:block;font-family:var(--serif);font-size:1.45rem;letter-spacing:.13em;font-weight:500}.header-call{text-align:right}.header-call span{font-size:.75rem;color:var(--muted);display:block}.header-call a{font:2rem/1.25 Georgia,serif;letter-spacing:.04em;color:var(--purple)}nav{border-block:1px solid var(--line);display:flex;justify-content:center;gap:42px;padding:15px 25px;font-size:.875rem}nav a{position:relative}nav a[aria-current],nav a:hover{color:var(--purple)}nav a[aria-current]:after{content:'';position:absolute;bottom:-16px;left:0;right:0;height:2px;background:var(--purple)}.menu-toggle{display:none}.hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:46% 54%;position:relative;min-height:580px;padding:48px 55px 54px 9%}.hero-copy{padding:15px 20px 18px 0;z-index:1}.hero h1{font-size:clamp(2.4rem,3.65vw,3.8rem);line-height:1.65;letter-spacing:.06em;margin-bottom:24px}.hero h1 span{color:var(--purple)}.hero-copy>p:not(.eyebrow){color:#605b62;font-size:.94rem;line-height:2.1}.button{display:inline-flex;justify-content:center;align-items:center;min-height:54px;padding:12px 32px;background:var(--purple);color:white;font-size:.9rem;letter-spacing:.05em;border:1px solid var(--purple);margin-top:28px;transition:background .2s}.button:hover{background:#362443}.button.outline{color:var(--purple);background:transparent}.button.outline:hover{background:#eeeaef}.hero-image{position:relative;align-self:stretch;margin:0 0 0 10px}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:48% center;border-radius:140px 0 0 0;max-height:530px}.hero-image figcaption{font-size:.75rem;color:var(--muted);text-align:right;padding-top:10px}.hero-side{position:absolute;right:17px;top:120px;writing-mode:vertical-rl;font:12px Georgia,serif;letter-spacing:.24em;color:#7c737e}.quick{display:grid;grid-template-columns:1fr 1.2fr 1fr;border-block:1px solid var(--line);padding-block:25px;background:white}.quick>div,.quick>a{text-align:center;padding:3px 15px}.quick>*+*{border-left:1px solid var(--line)}.quick span{display:block;font-size:.8rem;color:var(--muted)}.quick strong{font-size:1rem;font-weight:500}.quick b{font:1.9rem Georgia,serif;color:var(--purple)}.intro{padding-block:95px;display:grid;grid-template-columns:1fr 2fr}.intro h2{margin-bottom:26px}.intro p:not(.eyebrow){color:var(--muted)}.text-link{display:inline-block;border-bottom:1px solid var(--purple);color:var(--purple);padding:6px 0;margin-top:24px;font-size:.9rem}.contact-band{background:var(--purple);color:white;display:flex;justify-content:space-between;gap:35px;padding:60px max(7%,calc((100% - 1096px)/2))}.contact-band .eyebrow{color:#e0d7e7}.contact-number{text-align:center;align-self:center}.contact-number>span{font-size:.875rem;display:block}.contact-number>a:first-of-type{font:2.7rem/1.6 Georgia,serif;display:block;white-space:nowrap}.button.light{background:white;color:var(--purple);border-color:white;margin-top:12px;min-width:280px}footer{background:#f0edf1;padding:55px max(7%,calc((100% - 1096px)/2)) 20px;font-size:.8rem}.footer-top{display:flex;justify-content:space-between;gap:40px}.footer-name{font-family:var(--serif);font-size:1.6rem;letter-spacing:.15em;margin-bottom:15px}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:10px 45px}.footer-bottom{border-top:1px solid #d9d2dc;margin-top:35px;padding-top:20px;display:flex;justify-content:space-between;color:var(--muted)}.skip{position:absolute;top:-100px;left:10px;background:white;z-index:9;padding:12px}.skip:focus{top:10px}.mobile-call{display:none}.breadcrumb{font-size:.75rem;color:var(--muted);display:flex;gap:15px;padding-bottom:45px}.page-heading{padding-top:25px;padding-bottom:55px}.page-heading h1{font-size:clamp(2.1rem,4vw,3rem);letter-spacing:.08em;margin-bottom:20px}.page-heading>p:last-child{color:var(--muted);max-width:750px}.section{padding-block:65px}.tinted{background:#f0edf1}.section-head{margin-bottom:32px}.split{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.split p{color:var(--muted);margin-top:20px}.split img{width:100%;max-height:430px;object-fit:cover}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.card{border-top:1px solid #c6bdcd;padding-top:24px}.card .num{font:1rem Georgia,serif;color:#786084;display:block;margin-bottom:18px}.card h3{margin-bottom:14px}.card p{color:var(--muted);font-size:.94rem}.card img{width:100%;height:220px;object-fit:cover;margin-bottom:20px}.price-panel{background:white;border:1px solid var(--line);padding:45px;display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}.price{font-family:Georgia,serif;font-size:4.5rem;line-height:1.2;color:var(--purple)}.price small{font-family:var(--serif);font-size:1.4rem}.note{font-size:.8rem;color:var(--muted);margin-top:15px}.icon-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:15px}.icon-grid figure{background:white;border:1px solid var(--line);padding:15px;text-align:center}.icon-grid img{width:100%;max-width:130px;margin:auto}.icon-grid figcaption{font-size:.85rem;margin-top:8px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.gallery figure{margin:0}.gallery img{width:100%;height:235px;object-fit:contain;background:white}.gallery figcaption{padding-top:14px;font-family:var(--serif);font-size:1.1rem}.faq{max-width:850px;margin:30px auto 0}.faq details{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;padding:22px 36px 22px 0;position:relative;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'＋';position:absolute;right:4px;color:var(--purple)}.faq details[open] summary:after{content:'−'}.faq details p{padding:0 25px 24px 0;color:var(--muted)}.profile{display:grid;grid-template-columns:260px 1fr;gap:65px;align-items:start}.profile img{width:100%;max-width:260px}.prose p{margin-top:18px}.signature{text-align:right;font-family:var(--serif);margin-top:25px}.company{width:100%;border-collapse:collapse;margin-top:30px}.company th,.company td{border-bottom:1px solid var(--line);text-align:left;padding:22px 15px;vertical-align:top}.company th{width:170px;font-weight:500}.staff-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.staff-grid img{width:100%;aspect-ratio:1;object-fit:contain;background:#fff}.staff-grid p{font-size:.9rem;margin-top:15px}.quote{max-width:850px;margin:auto;padding:45px 0;border-bottom:1px solid var(--line)}.quote h2{font-size:1.65rem;margin-bottom:18px}.quote p{color:var(--muted)}.reply{background:#f0edf1;padding:22px;margin-top:25px;font-size:.9rem}.contact-box{background:white;border:1px solid var(--line);padding:40px}.contact-box h2{font-size:1.6rem}.contact-box .big-phone{font:clamp(1.6rem,3.4vw,2.8rem)/1.8 Georgia,serif;color:var(--purple);white-space:nowrap}.contact-box a:not(.button){overflow-wrap:anywhere}.locations{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.locations h3{margin-bottom:12px}.locations p{font-size:.9rem;color:var(--muted)}
@media(min-width:1600px){.hero{padding-left:130px}}@media(max-width:1000px){nav{gap:22px;font-size:.8rem}.hero{padding-left:5%;padding-right:35px;grid-template-columns:48% 52%}.hero h1{font-size:2.5rem}.brand span{display:none}.header-inner{padding:18px 28px}.cards{gap:20px}.icon-grid{grid-template-columns:repeat(3,1fr)}.contact-band{padding-inline:6%}.contact-band h2{font-size:1.9rem}.contact-number>a:first-of-type{font-size:2.2rem}.split{gap:35px}.gallery{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){body{padding-bottom:70px}.wrap{padding-inline:24px}.header-inner{padding:16px 22px}.brand img{width:137px}.header-call{display:none}.menu-toggle{display:block;background:white;border:1px solid var(--line);padding:8px 12px;font-size:.85rem}nav{display:none;flex-direction:column;gap:0;padding:8px 24px}nav.open{display:flex}nav a{padding:12px 0}nav a[aria-current]:after{bottom:5px;right:auto;width:30px}.hero{display:flex;flex-direction:column;padding:35px 24px 30px;min-height:0}.hero-copy{padding:0}.hero h1{font-size:2.45rem;line-height:1.6;margin-bottom:18px}.hero .eyebrow{font-size:.75rem;margin-bottom:15px}.hero-copy>p:not(.eyebrow){font-size:.875rem}.hero-image{margin:30px 0 0 40px}.hero-image img{height:275px;border-radius:85px 0 0 0}.hero-side{top:auto;bottom:95px;left:23px;right:auto;font-size:12px}.quick{margin-inline:24px;padding:0;grid-template-columns:1fr}.quick>div,.quick>a{padding:16px 10px}.quick>*+*{border-left:0;border-top:1px solid var(--line)}.intro{padding-block:55px;grid-template-columns:1fr}.intro h2{font-size:1.6rem}.intro p:not(.eyebrow){font-size:.9rem}.contact-band{flex-direction:column;padding:40px 24px;gap:20px}.contact-band h2{font-size:1.7rem}.contact-number{text-align:left;align-self:start}.contact-number>a:first-of-type{font-size:2.25rem}.contact-band .eyebrow{font-size:.75rem}.footer-top{flex-direction:column;gap:30px}footer{padding:40px 24px 20px}.footer-links{gap:12px 20px}.footer-bottom{flex-direction:column;gap:12px}.mobile-call{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--purple);color:white;align-items:center;justify-content:center;gap:10px;min-height:64px;padding:12px 8px;z-index:5;font-size:.75rem;box-shadow:0 -2px 12px #0001}.mobile-call strong{font:1.2rem Georgia,serif}.mobile-call span{font-size:.75rem}.section{padding-block:45px}.split,.price-panel,.profile{grid-template-columns:1fr;gap:25px}.cards,.gallery,.locations{grid-template-columns:1fr}.card img{height:240px}.page-heading{padding-bottom:35px}.breadcrumb{padding-bottom:30px;flex-wrap:wrap}.page-heading h1{font-size:2rem}.page-heading>p:last-child{font-size:.94rem}.price-panel{padding:25px}.price{font-size:3.6rem}.icon-grid{grid-template-columns:repeat(2,1fr);gap:10px}.profile img{max-width:190px}.company th,.company td{display:block;width:100%;padding:12px 0}.company th{border-bottom:0;padding-top:22px;color:var(--muted);font-size:.85rem}.company td{padding-top:0}.staff-grid{grid-template-columns:repeat(2,1fr);gap:25px 15px}.contact-box{padding:26px}.gallery img{height:auto;max-height:320px}.quote{padding:30px 0}.button{max-width:100%;padding-inline:24px}.button.light{min-width:0;width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Keep the final three options together on desktop. */
.options-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.options-grid img{height:130px;object-fit:contain}
@media(max-width:700px){.options-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
