:root{--paper:#f2f0eb;--paper-2:#e8e5de;--ink:#17191d;--muted:#64666a;--line:#d3d0c9;--red:#b53d34;--red-dark:#8f2f2a;--white:#fbfaf7;--max:1240px;font-family:"PingFang SC","Hiragino Sans GB","Noto Sans CJK SC",Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);line-height:1.7}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.skip-link{position:absolute;left:-999px;top:8px;background:var(--ink);color:var(--white);padding:8px 14px;z-index:20}.skip-link:focus{left:8px}.site-header{background:rgba(242,240,235,.94);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10;backdrop-filter:blur(12px)}.header-inner{max-width:var(--max);margin:auto;min-height:78px;padding:0 28px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:32px}.wordmark{display:inline-flex;align-items:center;gap:10px;width:max-content}.wordmark-mark{width:30px;height:30px;background:var(--ink);color:var(--paper);display:grid;place-items:center;font-family:Georgia,serif;font-size:19px}.wordmark strong,.footer-wordmark{font-size:17px;letter-spacing:.22em}.wordmark small{display:block;color:var(--muted);font-size:8px;letter-spacing:.14em;line-height:1.2}.site-header nav{display:flex;gap:28px;font-size:14px}.site-header nav a{padding:26px 0;border-bottom:2px solid transparent}.site-header nav a:hover,.site-header nav a:focus{border-color:var(--red)}.header-cta{justify-self:end;font-size:13px;border-bottom:1px solid var(--ink);padding:5px 0}.header-cta span,.arrow{color:var(--red)}.eyebrow{margin:0 0 18px;color:var(--red);font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.button{display:inline-flex;align-items:center;gap:18px;padding:12px 18px;font-size:13px;border:1px solid transparent;transition:background .2s,color .2s,border-color .2s}.button-red{background:var(--red);color:var(--white)}.button-red:hover{background:var(--red-dark)}.button-dark{background:var(--ink);color:var(--white)}.button-dark:hover{background:#31343a}.button-outline{border-color:var(--ink);background:transparent}.button-outline:hover{background:var(--ink);color:var(--white)}.text-link{display:inline-block;border-bottom:1px solid currentColor;padding-bottom:3px;font-size:13px}.home-hero{max-width:var(--max);margin:auto;min-height:630px;padding:66px 28px 60px;display:grid;grid-template-columns:minmax(0,.88fr) minmax(420px,1.12fr);gap:70px;align-items:center}.home-hero h1{font-size:clamp(55px,7vw,96px);font-weight:500;letter-spacing:-.08em;line-height:1.02;margin:0 0 28px}.home-hero h1 em,.city-hero h1 em,.service-hero h1 em{font-family:Georgia,"Songti SC",serif;color:var(--red);font-style:normal;font-weight:400}.home-hero-copy>p:not(.eyebrow){max-width:480px;color:var(--muted);font-size:16px;line-height:1.9}.home-actions{display:flex;align-items:center;gap:24px;margin-top:36px}.home-hero-media{margin:0;position:relative}.home-hero-media:before{content:"";position:absolute;inset:22px -18px -18px 18px;border:1px solid var(--red);z-index:0}.home-hero-media img{position:relative;z-index:1;width:100%;aspect-ratio:1.08/1;object-fit:cover;filter:saturate(.78) contrast(1.03)}.home-hero-media figcaption{position:relative;z-index:1;margin-top:12px;display:flex;justify-content:space-between;color:var(--muted);font:10px Arial,sans-serif;letter-spacing:.13em}.signal-strip{max-width:var(--max);margin:auto;padding:15px 28px;border-top:1px solid var(--ink);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;font:10px Arial,sans-serif;letter-spacing:.12em;color:var(--muted)}.home-section{max-width:var(--max);margin:auto;padding:115px 28px}.home-section-split{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}.section-intro h2,.section-heading h2,.editorial-note h2{font-size:clamp(34px,4.5vw,58px);font-weight:500;letter-spacing:-.06em;line-height:1.12;margin:0 0 22px}.section-intro>p:not(.eyebrow),.section-heading>p:not(.eyebrow){color:var(--muted);max-width:430px}.city-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line)}.city-link{display:grid;grid-template-columns:38px 1fr 18px;gap:10px;align-items:center;padding:17px 0;border-bottom:1px solid var(--line);min-height:78px}.city-link:nth-child(odd){padding-right:24px}.city-link:nth-child(even){padding-left:24px;border-left:1px solid var(--line)}.city-link:hover strong{color:var(--red)}.city-index,.card-index{color:var(--red);font:11px Arial,sans-serif;letter-spacing:.1em}.city-link strong{display:block;font-size:16px;font-weight:500}.city-link small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.dark-section{max-width:none;background:var(--ink);color:var(--paper);padding-left:max(28px,calc((100% - var(--max))/2 + 28px));padding-right:max(28px,calc((100% - var(--max))/2 + 28px))}.dark-section .section-heading>p:not(.eyebrow){color:#aeb1b4}.dark-section .section-heading h2 span{color:#bfc1c1}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid currentColor;margin-top:52px}.service-card{display:grid;grid-template-columns:48px 1fr 18px;gap:16px;padding:27px 22px 28px 0;border-bottom:1px solid rgba(255,255,255,.22);min-height:176px}.service-card:nth-child(even){padding-left:22px;border-left:1px solid rgba(255,255,255,.22)}.service-card h3{font-size:26px;font-weight:500;margin:2px 0 8px}.service-card p:not(.eyebrow){color:#b4b6b6;font-size:13px;max-width:380px;margin:0}.editorial-note{display:grid;grid-template-columns:180px 1fr;gap:70px}.editorial-number{font:110px/1 Arial,sans-serif;color:var(--red);letter-spacing:-.1em}.question-list{margin:38px 0;max-width:620px;border-top:1px solid var(--line)}.question-list p{display:flex;gap:28px;border-bottom:1px solid var(--line);padding:14px 0;margin:0}.question-list b{font:11px Arial,sans-serif;color:var(--red);letter-spacing:.1em}.page-hero,.city-hero,.service-hero{max-width:var(--max);margin:auto;padding:92px 28px 84px;display:grid;grid-template-columns:1fr 180px;gap:70px;border-bottom:1px solid var(--ink)}.page-hero h1,.city-hero h1,.service-hero h1{font-size:clamp(48px,7vw,88px);font-weight:500;letter-spacing:-.08em;line-height:1.03;margin:0 0 28px}.hero-copy,.page-hero>div>p:not(.eyebrow),.city-hero>div>p:not(.eyebrow),.service-hero>div>p:not(.eyebrow){max-width:620px;color:var(--muted);font-size:16px}.hero-aside{align-self:end;border-top:1px solid var(--red);padding-top:14px;display:flex;justify-content:space-between;font:10px Arial,sans-serif;letter-spacing:.16em;color:var(--muted)}.hero-index{font-size:28px;color:var(--red)}.directory-section,.service-directory,.guide-list,.simple-note{max-width:var(--max);margin:auto;padding:70px 28px 120px}.directory-toolbar{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid var(--ink);padding-bottom:14px;margin-bottom:46px}.directory-toolbar label{display:flex;gap:18px;align-items:center;font-size:12px}.directory-toolbar input{border:0;border-bottom:1px solid var(--ink);background:transparent;padding:8px 0;width:230px;outline:0;font:inherit}.directory-toolbar span{font:11px Arial,sans-serif;color:var(--muted);letter-spacing:.1em}.directory-group{margin-bottom:62px}.group-title{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}.group-title h2{font-size:27px;font-weight:500;margin:0}.group-title span{font:10px Arial,sans-serif;color:var(--red);letter-spacing:.12em}.city-grid-directory{grid-template-columns:repeat(3,1fr)}.city-grid-directory .city-link{padding:17px 12px}.city-grid-directory .city-link:nth-child(odd){padding-right:12px}.city-grid-directory .city-link:nth-child(even){padding-left:12px;border-left:0}.service-directory{display:grid;grid-template-columns:1fr 270px;gap:100px}.service-list{border-top:1px solid var(--ink)}.service-directory .service-card{color:var(--ink);border-bottom:1px solid var(--line);min-height:160px;padding:28px 0}.service-directory .service-card:nth-child(even){border-left:0;padding-left:0}.service-directory .service-card p:not(.eyebrow){color:var(--muted)}.aside-note{border-top:1px solid var(--red);padding-top:13px;color:var(--muted);font-size:13px;align-self:start}.aside-note span,.city-hero-meta span{font:10px Arial,sans-serif;color:var(--red);letter-spacing:.13em}.city-hero{grid-template-columns:1fr 300px;background:var(--ink);max-width:none;padding-left:max(28px,calc((100% - var(--max))/2 + 28px));padding-right:max(28px,calc((100% - var(--max))/2 + 28px));color:var(--paper);border:0}.city-hero>div>p:not(.eyebrow){color:#b9bbbc}.city-hero-meta{align-self:end;border-top:1px solid var(--red);padding-top:14px}.city-hero-meta strong{display:block;font-size:18px;font-weight:500;margin:18px 0 12px}.city-hero-meta small{display:block;color:#aeb1b2;font-size:12px;line-height:1.8}.city-section{max-width:var(--max);margin:auto;padding:92px 28px}.intent-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--ink);margin-top:50px}.intent-grid article{padding:24px 28px 10px 0;border-bottom:1px solid var(--line)}.intent-grid article+article{padding-left:28px;border-left:1px solid var(--line)}.intent-grid span{font:11px Arial,sans-serif;color:var(--red)}.intent-grid h3{font-size:24px;font-weight:500;margin:20px 0 10px}.intent-grid p,.area-section p{color:var(--muted);font-size:13px}.city-section-dark{max-width:none;background:var(--ink);color:var(--paper);padding-left:max(28px,calc((100% - var(--max))/2 + 28px));padding-right:max(28px,calc((100% - var(--max))/2 + 28px))}.city-section-dark .service-card{color:var(--paper)}.city-section-dark .service-card p:not(.eyebrow){color:#b4b6b6}.area-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.area-list{border-top:1px solid var(--ink)}.area-list span{display:flex;gap:28px;padding:14px 0;border-bottom:1px solid var(--line)}.area-list b{font:11px Arial,sans-serif;color:var(--red)}.related-section{padding-top:10px}.service-hero{grid-template-columns:.9fr 1.1fr;align-items:center}.service-hero-media{height:460px;overflow:hidden}.service-hero-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.7)}.service-detail-grid{max-width:var(--max);margin:auto;padding:92px 28px;display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.service-points{border-top:1px solid var(--ink)}.service-points p{display:flex;gap:30px;margin:0;padding:20px 0;border-bottom:1px solid var(--line);font-size:15px}.service-points b{font:11px Arial,sans-serif;color:var(--red)}.service-city-band{background:var(--paper-2);padding:80px max(28px,calc((100% - var(--max))/2 + 28px)) 100px}.service-city-band h2{font-size:44px;font-weight:500;letter-spacing:-.06em}.guide-list{padding-top:0}.guide-list article{display:grid;grid-template-columns:100px 1fr;gap:30px;padding:34px 0;border-bottom:1px solid var(--line)}.guide-list article>span{font:11px Arial,sans-serif;color:var(--red)}.guide-list h2{font-size:28px;font-weight:500;margin:0 0 10px}.guide-list p,.simple-note p{color:var(--muted);max-width:640px;margin:0}.simple-note{border-top:1px solid var(--ink);margin-top:20px;max-width:var(--max)}.simple-note h2{font-size:38px;font-weight:500;letter-spacing:-.05em}.site-footer{background:var(--ink);color:var(--paper);padding:70px max(28px,calc((100% - var(--max))/2 + 28px)) 24px}.footer-main{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-bottom:62px}.footer-wordmark{font-family:Georgia,serif}.footer-main p{color:#aeb1b2;font-size:13px;line-height:1.9}.footer-nav{display:grid;grid-template-columns:1fr 1fr;gap:40px}.footer-nav div{display:flex;flex-direction:column;gap:7px}.footer-nav span{color:var(--red);font:10px Arial,sans-serif;letter-spacing:.15em;margin-bottom:10px}.footer-nav a{color:#c5c7c7;font-size:13px}.footer-nav a:hover{color:var(--white)}.footer-bottom{border-top:1px solid #3c3f43;padding-top:18px;display:flex;justify-content:space-between;color:#898d90;font:10px Arial,sans-serif;letter-spacing:.05em}.not-found{max-width:var(--max);min-height:500px;margin:auto;padding:120px 28px}.not-found h1{font-size:58px;font-weight:500;letter-spacing:-.07em}
@media(max-width:800px){.header-inner{min-height:64px;padding:0 18px;display:flex;justify-content:space-between}.site-header nav{display:none}.header-cta{font-size:12px}.home-hero,.home-section-split,.page-hero,.city-hero,.service-hero,.service-detail-grid,.area-section,.service-directory,.editorial-note{display:block}.home-hero{padding:48px 18px 50px}.home-hero h1{font-size:57px}.home-hero-media{margin:58px 18px 0 0}.home-hero-media:before{inset:14px -10px -10px 10px}.signal-strip{margin:0 18px;padding:12px 0;font-size:8px;gap:10px}.signal-strip span:nth-child(2){display:none}.home-section,.directory-section,.service-directory,.guide-list,.simple-note{padding:74px 18px}.home-section-split{padding-top:82px}.section-intro{margin-bottom:46px}.city-grid{grid-template-columns:1fr}.city-link:nth-child(even),.city-link:nth-child(odd){padding-left:0;padding-right:0;border-left:0}.service-grid{grid-template-columns:1fr;margin-top:36px}.service-card,.service-card:nth-child(even){padding-left:0;padding-right:0;border-left:0}.editorial-number{font-size:80px;margin-bottom:26px}.page-hero,.city-hero,.service-hero{padding:64px 18px 54px}.page-hero h1,.city-hero h1,.service-hero h1{font-size:55px}.hero-aside{margin-top:56px}.directory-toolbar{display:block}.directory-toolbar label{display:block}.directory-toolbar input{display:block;width:100%;margin-top:9px}.directory-toolbar span{display:block;margin-top:18px}.city-grid-directory{grid-template-columns:1fr}.group-title{margin-top:48px}.service-directory{padding-top:0}.aside-note{margin-top:58px}.city-hero{padding-top:58px}.city-hero-meta{margin-top:54px}.city-section,.city-section-dark{padding:70px 18px}.intent-grid{grid-template-columns:1fr;margin-top:34px}.intent-grid article,.intent-grid article+article{padding:22px 0;border-left:0}.area-list{margin-top:44px}.service-hero-media{height:300px;margin-top:44px}.service-detail-grid{padding:70px 18px}.service-points{margin-top:38px}.service-city-band{padding:62px 18px 74px}.service-city-band h2{font-size:35px}.guide-list article{grid-template-columns:44px 1fr;gap:16px;padding:28px 0}.guide-list h2{font-size:24px}.footer-main{display:block;padding-bottom:40px}.footer-nav{margin-top:48px}.footer-bottom{display:block;line-height:2}.footer-bottom span{display:block}.not-found{padding:90px 18px}.not-found h1{font-size:45px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
.contact-panel{max-width:var(--max);margin:auto;padding:58px 28px 80px;display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:70px;align-items:end}.contact-panel-intro{border-top:1px solid var(--ink);padding-top:14px}.contact-panel-intro h2{font-size:clamp(30px,4vw,52px);font-weight:500;letter-spacing:-.06em;line-height:1.12;margin:0 0 18px}.contact-panel-intro h2 em{font-family:Georgia,"Songti SC",serif;color:var(--red);font-style:normal;font-weight:400}.contact-panel-intro>p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.8;max-width:380px}.contact-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.contact-card{appearance:none;text-align:left;font:inherit;color:var(--ink);background:var(--paper-2);border:1px solid var(--line);padding:24px 22px 20px;min-height:160px;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;transition:background .2s,border-color .2s,transform .2s}.contact-card:hover,.contact-card:focus-visible{background:var(--white);border-color:var(--red);transform:translateY(-2px)}.contact-card:focus-visible{outline:2px solid var(--red);outline-offset:3px}.contact-label{color:var(--red);font-size:13px;font-weight:700;letter-spacing:.12em}.contact-card strong{font:500 clamp(22px,2.5vw,32px)/1.2 Arial,sans-serif;letter-spacing:.04em;white-space:nowrap}.contact-card small{color:var(--muted);font-size:11px}.copy-status{min-height:1.2em;color:var(--red);font-size:11px}.service-card h2{font-size:26px;font-weight:500;margin:2px 0 8px}@media(max-width:800px){.contact-panel{display:block;padding:48px 18px 64px}.contact-panel-intro{margin-bottom:28px}.contact-cards{grid-template-columns:1fr;gap:12px}.contact-card{min-height:132px;padding:20px}.contact-card strong{font-size:25px}}
