:root{--red:#c92132;--ink:#202124;--muted:#606268;--paper:#f4f5f6;--line:#dcdde0}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:white;font-family:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",Arial,sans-serif;font-size:16px;line-height:1.8}a{color:inherit;text-decoration:none;transition:color .2s,background .2s}a:hover{color:var(--red)}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}img{display:block;width:100%;height:auto;object-fit:cover}figure{margin:0;min-width:0}figcaption{font-size:14px;color:var(--muted);padding-top:12px}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.4;overflow-wrap:anywhere;text-wrap:balance}h1{font-size:clamp(32px,4vw,56px);letter-spacing:-.03em;margin-bottom:24px}h2{font-size:clamp(27px,2.55vw,38px);letter-spacing:-.02em;margin-bottom:24px}h3{font-size:22px;margin-bottom:12px}p{margin-bottom:20px}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--red);outline-offset:4px}.wrap{width:min(1280px,calc(100% - 96px));margin-inline:auto}.reading{width:min(820px,calc(100% - 64px));margin-inline:auto}.section{padding-block:85px}.eyebrow{color:var(--red);font-size:14px;letter-spacing:.1em;font-weight:700;margin-bottom:20px}.small,.meta{font-size:14px;color:var(--muted)}.lead{max-width:760px;font-size:18px;color:var(--muted)}.num{color:var(--red);font:500 17px/1.5 monospace}.text-link{display:inline-flex;align-items:center;min-height:44px;border-bottom:1px solid;font-weight:600}.button,.secondary{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border:1px solid var(--red);padding:11px 23px;border-radius:3px;background:var(--red);color:white;font-weight:600;font-size:16px}.button:hover{background:#a51b2a;color:white}.secondary{background:white;border-color:#b8bbc1;color:var(--ink)}.secondary:hover{background:var(--paper)}.button.light{background:white;color:var(--red);border-color:white}.skip{position:absolute;top:-80px;left:20px;padding:10px;background:white;z-index:99}.skip:focus{top:6px}.header{position:sticky;top:0;z-index:30;background:white;border-bottom:1px solid var(--line)}.header-inner{height:92px;max-width:1536px;margin:auto;padding:0 40px;display:flex;align-items:center;gap:30px}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand:hover{color:var(--ink)}.brand-mark{display:grid;place-items:center;background:var(--red);color:white;width:43px;height:43px;font:800 33px/1 Arial}.brand strong{font-size:24px;line-height:1.2;letter-spacing:.07em;display:block}.brand small{font-size:10px;letter-spacing:.05em;line-height:1.8;display:block}.header nav{display:flex;gap:22px;align-items:center;margin-left:auto;white-space:nowrap}.header nav a{font-size:14px;min-height:44px;display:flex;align-items:center}.header nav a[aria-current]{color:var(--red)}.header-contact{white-space:nowrap;font-size:14px;border:1px solid var(--line);padding:8px 14px}.menu-toggle{display:none;border:1px solid var(--line);background:white;padding:8px 12px;min-height:44px}.hero{padding-top:55px}.hero-top{display:flex;align-items:center;justify-content:space-between;gap:35px;margin-bottom:35px}.hero h1{font-size:clamp(40px,4.65vw,70px);line-height:1.2;margin:0;letter-spacing:-.04em}.hero h1 span{color:var(--red)}.hero-note{max-width:300px;align-self:flex-end}.hero-note p:first-child{font-size:20px;font-weight:600;margin-bottom:9px}.hero-note p{color:var(--muted);margin-bottom:15px}.hero-photo{position:relative;background:#222}.hero-photo>img{height:440px;object-position:center 49%}.hero-photo:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.68));pointer-events:none}.photo-label{position:absolute;z-index:1;bottom:30px;left:34px;color:white;font-size:24px;font-weight:600}.photo-label small{display:block;font-size:14px;font-weight:400;margin-top:5px}.hero-call{position:absolute;z-index:1;bottom:28px;right:32px;color:white;font-size:14px}.hero-call strong{font-size:24px}.hero-call:hover{color:white;text-decoration:underline}.location-strip{display:flex;justify-content:space-between;gap:20px;font-size:14px;padding:18px 0;border-bottom:1px solid var(--line)}.split{display:grid;grid-template-columns:.9fr 1.35fr;gap:95px}.split>div:first-child>p:not(.eyebrow){color:var(--muted)}.service-row{display:grid;grid-template-columns:36px 1fr 30px;gap:20px;border-top:1px solid var(--line);padding:23px 0;align-items:center}.service-row:last-child{border-bottom:1px solid var(--line)}.service-row h3{font-size:26px;margin-bottom:3px}.service-row p{color:var(--muted);margin:0}.service-row>span:last-child{font-size:25px}.section-title{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:34px}.section-title h2{margin-bottom:0}.section-title .eyebrow{margin-bottom:10px}.section-title>a{white-space:nowrap;min-height:44px;display:flex;align-items:center}.craft-section{background:#222528;color:white;padding:76px 0 50px}.craft-section .eyebrow{color:#ff8390}.craft-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:24px;align-items:start}.craft-grid img{aspect-ratio:1.35}.craft-grid figure:nth-child(2){margin-top:50px}.craft-grid figure:nth-child(3){margin-top:100px}.craft-grid figcaption{color:#d2d3d5}.craft-section a:hover{color:#ff9ca5}.craft-bottom{display:flex;justify-content:space-between;align-items:flex-end;margin-top:30px}.craft-bottom p{font-size:22px;line-height:1.6;margin:0}.craft-bottom a{border-bottom:1px solid white;min-height:44px;display:flex;align-items:center}.trust-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:75px;align-items:center}.trust-layout>div:first-child img{aspect-ratio:1.12}.credentials{margin:24px 0}.credentials p{border-top:1px solid var(--line);padding-top:16px;margin-bottom:16px}.credentials strong,.credentials span{display:block}.credentials span{font-size:14px;color:var(--muted);margin-top:5px}.records{border-top:1px solid var(--line)}.record-list{display:grid;grid-template-columns:repeat(3,1fr);gap:38px}.record-list article{border-top:2px solid var(--red);padding-top:18px}.record-list .num{float:right}.record-list h3{font-size:24px}.record-list p:not(.meta){color:var(--muted)}.faq-band{background:var(--paper);padding:80px 0}.faq-item{display:grid;grid-template-columns:28px 1fr;gap:20px;border-top:1px solid var(--line);padding:22px 0}.faq-item h3{font-size:20px}.faq-item p{color:#53565c;margin:0}.news-row{display:grid;grid-template-columns:145px 1fr 52px;gap:30px;border-top:1px solid var(--line);padding:28px 0;align-items:center}.news-row h3{font-size:22px;margin-bottom:10px}.news-row p{color:var(--muted);margin:0}.round-link{border:1px solid var(--line);width:48px;height:48px;display:grid;place-items:center;border-radius:50%;font-size:22px}.visit-band{background:var(--red);color:white;padding:64px 0}.visit-band .wrap{display:flex;justify-content:space-between;gap:30px;align-items:center}.visit-band .eyebrow{color:white}.visit-band h2{font-size:40px;margin:0}.visit-band p{margin:10px 0 20px}.visit-band a:hover{color:white}.visit-band .light:hover{color:var(--red)}.large-phone{font-size:38px;font-weight:600;letter-spacing:.02em}.page-intro{padding-top:55px;padding-bottom:35px}.page-intro h1{max-width:1000px}.page-intro .lead{margin-bottom:0}.service-index>article{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding:42px 0;border-top:1px solid var(--line)}.service-index>article:nth-child(even)>div:first-child{order:2}.service-index img{aspect-ratio:1.55}.detail-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:90px;padding-bottom:90px;align-items:start}.detail-layout aside{position:sticky;top:120px}.detail-layout aside img{aspect-ratio:1.4;margin-bottom:14px}.detail-layout aside nav a{display:block;min-height:44px;border-bottom:1px solid var(--line);padding:7px 0}.detail-layout aside .button{margin-top:24px}.prose{max-width:820px;font-size:17px;overflow-wrap:anywhere}.prose section{margin-bottom:38px}.prose h2{font-size:28px;margin:34px 0 16px}.prose h2:first-child{margin-top:0}.prose p{line-height:1.95}.prose a:not(.button){color:var(--red);text-decoration:underline;text-underline-offset:4px}.prose table{display:block;max-width:100%;overflow:auto}.prose blockquote{margin:24px 0;border-left:3px solid var(--red);padding:12px 20px;background:var(--paper)}.related{border-top:1px solid var(--line);margin-top:45px;padding:25px 0 10px;display:flex;flex-wrap:wrap;gap:12px 25px}.related h2{width:100%;font-size:22px;margin:0 0 8px}.related a{min-height:44px;display:flex;align-items:center;font-size:16px}table{border-collapse:collapse;width:100%;text-align:left}th,td{border-bottom:1px solid var(--line);padding:16px;vertical-align:top}th{background:var(--paper)}td:first-child{min-width:95px}.about-opening{display:grid;grid-template-columns:.7fr 1.1fr;gap:85px;align-items:center}.about-opening img{max-height:570px;object-fit:contain;background:var(--paper)}.facts{display:flex;gap:55px;margin-top:30px}.facts strong{display:block;color:var(--red);font:600 52px/1.5 Arial}.facts strong span{font-size:18px}.facts p{font-size:14px;color:var(--muted)}.timeline{list-style:none;padding:0}.timeline li{display:grid;grid-template-columns:100px 1fr;gap:30px;padding:28px 0;border-top:1px solid var(--line)}.timeline strong{font:500 32px/1.3 Arial;color:var(--red)}.timeline p{margin:0}.team-lines{padding:25px;background:var(--paper);margin-bottom:24px}.team-lines p{margin-bottom:12px}.gallery-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.gallery-three img{aspect-ratio:1.45}.gallery-three+.small{margin-top:25px}.case-summary{border-top:1px solid var(--line);padding:30px 0}.case-summary h3{font-size:27px}.cert-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 30px;padding-bottom:40px}.cert-grid img{height:340px;object-fit:contain;background:var(--paper);padding:15px}.cert-grid h2{font-size:21px;margin:14px 0 5px}.cert-grid p{font-size:14px;color:var(--muted)}.cert-grid figcaption{display:none}.process-step{display:grid;grid-template-columns:70px 1fr;gap:35px;border-top:1px solid var(--line);padding:32px 0}.process-step>span{font:400 48px/1.4 Arial;color:var(--red)}.process-step h2{font-size:27px}.news-index{padding-bottom:90px}.article-heading{padding-top:60px;padding-bottom:30px;border-bottom:1px solid var(--line)}.article-heading h1{font-size:40px;line-height:1.5;letter-spacing:0}.article-body{padding-top:40px;padding-bottom:80px}.faq-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:70px;padding-bottom:80px;align-items:start}.faq-layout aside{background:var(--paper);padding:26px}.faq-layout aside h2{font-size:22px}.faq-layout aside a{display:block;border-bottom:1px solid var(--line);padding:9px 0;font-size:14px;min-height:44px}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:85px;padding:20px 0 80px}.contact-phone{font-size:42px;color:var(--red);font-weight:600;letter-spacing:.02em}.contact-layout dl{margin:24px 0}.contact-layout dt{font-size:14px;color:var(--muted);margin-top:20px}.contact-layout dd{margin:3px 0 0}.contact-layout figure{max-width:390px;margin-top:30px}.contact-layout figure img{max-height:410px;object-fit:contain;object-position:left}.contact-form-panel{padding:35px;background:var(--paper);align-self:start}.contact-form-panel h2{font-size:28px}label{display:block;font-weight:500;margin-bottom:8px}input,textarea{display:block;width:100%;border:1px solid #afb3ba;background:white;border-radius:3px;padding:10px 12px;min-height:48px;margin-bottom:20px;color:var(--ink);min-width:0}input[type=hidden]{display:none}textarea{resize:vertical}.consent{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.6;margin:15px 0 24px;min-height:44px}.consent input{width:20px;height:20px;min-height:20px;flex-shrink:0;margin:2px 0}.consent a{text-decoration:underline}.status{font-size:14px;margin:12px 0;min-height:25px;overflow-wrap:anywhere}.status.error{color:#b01724}.status.success{color:#126038}.arrival-notes{border-top:1px solid var(--line);padding-top:25px;margin-top:30px}.legal-body{padding:20px 0 80px}footer{padding:50px 24px 36px;text-align:center;background:var(--paper);font-size:14px;color:#55585e}footer p{margin-bottom:7px;overflow-wrap:anywhere}.footer-brand{font-size:24px;font-weight:700;color:var(--ink);margin-bottom:20px}.footer-brand span{font-size:13px;letter-spacing:.1em;margin-left:12px}.legal-links{display:flex;justify-content:center;flex-wrap:wrap;gap:24px;margin-top:10px}.legal-links a{min-height:44px;display:flex;align-items:center}.admin-body{background:var(--paper)}.admin-body .page-intro{padding-bottom:15px}.admin-body .page-intro h1{font-size:38px}.admin-top-links{display:flex;gap:25px;margin-bottom:22px}.admin-top-links a{min-height:44px;display:flex;align-items:center;color:var(--red)}.password-card,.admin-card{background:white;border:1px solid var(--line);padding:30px;border-radius:5px;margin-bottom:30px}.password-card h2,.admin-card h2{font-size:25px}.password-row{display:flex;gap:12px;align-items:flex-start}.password-row input{flex:1;margin-bottom:0}.password-row button{white-space:nowrap}.admin-panels{display:grid;grid-template-columns:1fr 1fr;gap:30px}.admin-panels section{min-width:0}.admin-panels textarea{min-height:285px}.actions{display:flex;flex-wrap:wrap;gap:12px}.content-item{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;border-top:1px solid var(--line)}.content-item>div:first-child{min-width:0;overflow-wrap:anywhere}.content-item h4{font-size:17px;margin:0}.content-item p{font-size:14px;color:var(--muted);margin:5px 0 0}.content-item .actions{flex-shrink:0}.content-item button,.content-item .secondary{font-size:14px;padding:7px 12px;min-height:44px}.content-management>h3{margin-top:30px}.message-toolbar{display:flex;gap:18px;align-items:flex-end;flex-wrap:wrap}.message-toolbar>div{flex:1;min-width:220px}.message-toolbar input{margin:0}.message-card{padding:22px;border:1px solid var(--line);margin-bottom:18px;overflow-wrap:anywhere}.message-card h3{font-size:20px}.message-card h3 a{color:var(--red);margin-left:15px}.message-card p{white-space:pre-wrap;margin-bottom:8px}
@media(max-width:1200px){.header-inner{gap:20px;padding-inline:25px}.header nav{gap:16px}.header-contact{display:none}.wrap{width:calc(100% - 64px)}.split{gap:55px}.trust-layout{gap:45px}.detail-layout{gap:50px;grid-template-columns:260px minmax(0,1fr)}.hero-photo>img{height:380px}}
@media(max-width:1000px){.header-inner{height:80px}.menu-toggle{display:block;margin-left:auto}.header nav{display:none;position:absolute;top:80px;left:0;right:0;background:white;padding:16px 30px;box-shadow:0 15px 22px #0001;margin:0;flex-wrap:wrap;gap:7px 25px}.header nav.open{display:flex}.brand strong{font-size:22px}.hero-note{max-width:230px}.hero h1{font-size:49px}.hero-photo>img{height:330px}.craft-grid{gap:16px}.split{gap:35px}.service-row h3{font-size:23px}.record-list{gap:22px}.record-list h3{font-size:21px}.visit-band h2{font-size:31px}.large-phone{font-size:30px}.service-index>article{gap:40px}.detail-layout,.faq-layout{grid-template-columns:220px minmax(0,1fr);gap:35px}.about-opening{gap:40px}.cert-grid img{height:260px}.contact-layout{gap:40px}.contact-phone{font-size:32px}.contact-form-panel{padding:25px}.password-row{flex-wrap:wrap}.admin-panels{gap:20px}.admin-card{padding:23px}.content-item{align-items:flex-start;flex-direction:column}.news-row{grid-template-columns:115px 1fr 45px;gap:20px}}
@media(max-width:767px){.wrap,.reading{width:calc(100% - 40px)}.header-inner{padding:0 20px;height:76px;gap:12px}.brand-mark{width:36px;height:36px;font-size:28px}.brand strong{font-size:21px}.brand small{font-size:9px}.header nav{top:76px;flex-direction:column;align-items:stretch;max-height:calc(100dvh - 76px);overflow:auto}.header nav a{font-size:16px}.hero{padding-top:35px}.hero-top{display:block;margin-bottom:25px}.hero h1{font-size:clamp(35px,7.5vw,54px);line-height:1.28}.hero .eyebrow{font-size:12px;margin-bottom:15px}.hero-note{max-width:none;margin-top:23px;display:flex;flex-wrap:wrap;column-gap:20px}.hero-note p:first-child{font-size:17px;width:100%;margin-bottom:6px}.hero-note p{font-size:14px;line-height:1.7;margin-bottom:8px}.hero-note .text-link{font-size:14px}.hero-photo>img{height:300px}.photo-label{font-size:19px;left:18px;bottom:22px}.photo-label small{font-size:12px}.hero-call{display:none}.location-strip{display:block;padding:14px 0;font-size:13px}.location-strip span{display:block}.location-strip a{display:inline-flex;align-items:center;min-height:44px}.section{padding-block:55px}.split,.trust-layout{grid-template-columns:1fr;gap:28px}.service-row{padding:20px 0;gap:12px;grid-template-columns:30px 1fr 26px}.service-row h3{font-size:23px}.service-row p{font-size:14px}.section-title{align-items:flex-start;flex-direction:column;gap:16px;margin-bottom:25px}.section-title a{font-size:14px}.craft-section{padding:50px 0}.craft-grid{grid-template-columns:1fr 1fr;gap:22px 16px}.craft-grid figure:first-child{grid-column:1/-1}.craft-grid figure:nth-child(2),.craft-grid figure:nth-child(3){margin-top:0}.craft-grid img{aspect-ratio:1.2}.craft-grid figure:first-child img{aspect-ratio:1.5}.craft-grid figcaption{font-size:13px;line-height:1.6}.craft-bottom{display:block;margin-top:25px}.craft-bottom p{font-size:18px;margin-bottom:16px}.craft-bottom a{display:inline-flex;font-size:14px}.trust-layout>div:first-child img{aspect-ratio:1.5}.record-list{grid-template-columns:1fr;gap:30px}.record-list h3{font-size:23px}.record-list .text-link{font-size:14px}.record-list p{margin-bottom:12px}.faq-band{padding:50px 0}.faq-item{gap:12px;padding:20px 0}.faq-item h3{font-size:19px}.faq-item p{font-size:16px}.news-row{grid-template-columns:1fr 45px;gap:12px;padding:23px 0}.news-row .meta{grid-column:1/-1;display:flex;gap:16px}.news-row .meta br{display:none}.news-row h3{font-size:20px}.news-row p{font-size:14px}.visit-band{padding:45px 0}.visit-band .wrap{display:block}.visit-band h2{font-size:30px;margin-bottom:25px}.large-phone{font-size:32px}.visit-band p{font-size:14px}.page-intro{padding-top:35px;padding-bottom:25px}.page-intro .eyebrow{font-size:12px}.page-intro h1{font-size:34px;margin-bottom:15px}.lead{font-size:16px}.service-index>article{grid-template-columns:1fr;gap:25px;padding:30px 0}.service-index>article:nth-child(even)>div:first-child{order:0}.service-index h2{font-size:27px;margin-bottom:12px}.service-index .eyebrow{margin-bottom:12px}.detail-layout,.faq-layout{grid-template-columns:1fr;gap:28px;padding-bottom:50px}.detail-layout aside{position:static}.detail-layout aside img{max-height:280px}.detail-layout aside nav{display:flex;flex-wrap:wrap;gap:0 15px}.detail-layout aside nav a{font-size:14px}.prose{font-size:16px}.prose h2{font-size:25px}.about-opening{grid-template-columns:1fr;gap:28px}.about-opening>div:first-child{max-width:360px;width:100%;margin:auto}.about-opening img{height:360px;object-fit:contain}.about-opening h2{font-size:28px}.facts{gap:40px}.facts strong{font-size:44px}.timeline li{grid-template-columns:65px 1fr;gap:20px;padding:22px 0}.timeline strong{font-size:27px}.gallery-three{grid-template-columns:1fr 1fr;gap:25px 15px}.gallery-three figcaption{font-size:13px}.gallery-three img{aspect-ratio:1.15}.case-summary h3{font-size:24px}.cert-grid{grid-template-columns:1fr 1fr;gap:25px 18px}.cert-grid img{height:235px;padding:7px}.cert-grid h2{font-size:18px;line-height:1.5}.cert-grid p{font-size:13px}.process-step{grid-template-columns:45px 1fr;gap:20px}.process-step>span{font-size:36px}.process-step h2{font-size:25px}.article-heading{padding-top:35px;padding-bottom:20px}.article-heading h1{font-size:29px;line-height:1.5}.article-body{padding-top:28px;padding-bottom:50px}.faq-layout aside{padding:22px}.faq-layout aside nav{max-height:245px;overflow:auto}.contact-layout{grid-template-columns:1fr;gap:35px;padding-top:0}.contact-layout figure{max-width:290px}.contact-layout figure img{max-height:310px}.contact-form-panel{padding:22px}.contact-phone{font-size:34px}.contact-form-panel h2{font-size:25px}.footer-brand span{display:block;margin:4px 0 0}.admin-panels{grid-template-columns:1fr;gap:0}.password-card{padding:22px}.password-row input{flex-basis:100%}.password-row button{font-size:14px;padding:9px 15px}.admin-body .page-intro h1{font-size:30px}.message-card{padding:18px}.message-card h3 a{display:block;margin:7px 0 0;min-height:44px}.message-toolbar{gap:12px}.message-toolbar>div{min-width:0;flex-basis:100%}.actions .button,.actions .secondary{font-size:14px;padding-inline:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
