:root{--ink:#292b40;--indigo:#353951;--deep:#282b45;--paper:#fbfaf6;--stone:#eeeae0;--gold:#885e4e;--rule:#ded8d6;--body:#393743;--serif:"Yu Mincho","Hiragino Mincho ProN","Hiragino Mincho Pro","Noto Serif JP",serif;--sans:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:16px/1.9 var(--sans);color:var(--body);background:var(--paper);overflow-wrap:break-word}a{color:var(--indigo);text-underline-offset:.25em}a:hover{color:#4e331d}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #a56f31;outline-offset:4px}.skip{position:absolute;top:-100px;left:12px;background:white;padding:8px;z-index:99}.skip:focus{top:6px}.wrap{width:min(1216px,90%);margin-inline:auto}header{background:var(--paper);border-bottom:1px solid var(--rule)}.mast{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;white-space:nowrap;color:var(--ink)}.mark{display:grid;place-items:center;width:44px;height:44px;background:var(--indigo);border-radius:50%;color:#fff8e8;font:23px var(--serif);outline:1px solid #b3a57a;outline-offset:3px}.brand b{font:600 clamp(20px,2.3vw,28px) var(--serif);letter-spacing:.08em}.brand small{display:block;font-size:10px;letter-spacing:.18em;color:#716a54;line-height:1.4}.nav{display:flex;align-items:center;gap:24px}.nav a,.footerlinks a{text-decoration:none;font-weight:550;font-size:14px}.nav .contactnav{background:var(--indigo);color:white;padding:9px 17px;border-radius:3px}.mobile-menu{display:none;position:relative}.mobile-menu summary{cursor:pointer;padding:8px;color:var(--indigo)}.mobile-menu nav{position:absolute;z-index:10;right:0;top:100%;background:var(--paper);padding:8px 16px;border:1px solid var(--rule);min-width:15em;box-shadow:0 8px 18px #0001}.mobile-menu a{display:block;padding:8px 0}.hero{position:relative;isolation:isolate;background:#f1eee5;overflow:hidden}.hero .wrap{min-height:clamp(450px,39vw,610px);display:flex;align-items:center;padding-block:46px}.hero img{position:absolute;z-index:-2;right:0;top:0;width:65%;height:100%;object-fit:cover;object-position:70% 50%}.hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#f1eee5 0%,#f1eee5 32%,#f1eee5ea 43%,#f1eee52b 65%,transparent 80%)}.eyebrow{display:flex;align-items:center;gap:10px;color:#6e5972;font-size:13px;letter-spacing:.12em;font-weight:650}.eyebrow:before{content:"";display:inline-block;width:32px;height:1px;background:#a4715b}.hero h1{font:500 clamp(43px,4.55vw,76px)/1.38 var(--serif);letter-spacing:.07em;margin:18px 0;color:var(--ink)}.hero p{max-width:37em;font-size:15px;margin:2px 0 22px}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:23px;text-decoration:none;border:1px solid var(--indigo);border-radius:3px;padding:11px 22px;font:600 15px/1.5 var(--sans);color:var(--indigo);background:transparent}.btn.solid{color:#fff;background:var(--indigo)}.btn:hover,.nav .contactnav:hover{background:#e9e4ef;color:var(--ink)}.actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.textlink{font-size:14px;font-weight:600}.quickwrap{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--rule)}.quickwrap a{display:flex;align-items:center;justify-content:space-between;padding:22px 26px;text-decoration:none;border-right:1px solid var(--rule)}.quickwrap a:first-child{padding-left:0}.quickwrap a:last-child{border-right:0}.quickwrap small,.kicker{display:block;font-size:12px;color:#805949;letter-spacing:.1em;font-weight:600}.quickwrap b{font:600 22px/1.5 var(--serif)}.arrow{font:normal 24px Georgia;color:var(--gold)}section{scroll-margin-top:20px}.band{padding:64px 0}.tint{background:#f1edf2}.sectionhead{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:22px}.sectionhead h2,.article h2,.panel h2{font:500 clamp(27px,3vw,40px)/1.45 var(--serif);color:var(--ink);letter-spacing:.045em;margin:.2em 0}.sectionhead p,.panel p{margin:0}.planrow{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.planrow a{padding:22px 21px;text-decoration:none;border-right:1px solid var(--rule);display:flex;flex-direction:column;align-items:flex-start;gap:8px}.planrow a:last-child{border:0}.planrow h3,.halls h3{font:550 25px/1.4 var(--serif);margin:0}.planrow p,.halls p{font-size:14px;margin:0}.planrow .arrow{align-self:flex-end;margin-top:auto}.split{display:grid;grid-template-columns:1fr 1fr;gap:32px}.panel{padding:clamp(20px,3vw,38px);border:1px solid var(--rule);background:#fffef9}.panel h2{font-size:clamp(24px,2.7vw,34px)}.panel .textlink{display:inline-block;margin-top:12px}.panel.darker{background:#353951;color:#f8f7ed;border-color:#353951}.darker h2,.darker a,.darker .kicker{color:#fff8e8}.darker p{color:#ece8ee}.crumb{font-size:12px;color:#686170;margin:0 0 22px}.crumb a{color:inherit}.intro{padding:28px 0 42px;border-bottom:1px solid var(--rule);background:linear-gradient(100deg,#ede8ed,#f7f5eb)}.intro h1{font:500 clamp(33px,4vw,54px)/1.45 var(--serif);color:var(--ink);margin:10px 0;letter-spacing:.055em}.intro p{max-width:780px;margin:0}.article{max-width:890px;padding:35px 0 60px}.article section{margin-bottom:36px}.article h2{font-size:clamp(24px,2.5vw,32px);margin:12px 0}.article h3{font:600 21px/1.6 var(--serif);color:var(--ink);margin:18px 0 4px}.article p{margin:8px 0 13px}.article ul,.article ol{padding-inline-start:1.5em}.article aside,.note{background:#efeee5;border-left:3px solid #9f875c;padding:14px 19px;margin:15px 0}.facts{display:grid;grid-template-columns:1fr 1fr;gap:17px}.facts>div{background:#f2edf1;border-top:2px solid #aca2b8;padding:18px}.facts b{font:500 25px var(--serif);color:var(--ink)}table{border-collapse:collapse;width:100%;margin:14px 0;font-size:15px}th,td{border-bottom:1px solid var(--rule);text-align:left;padding:11px 12px;vertical-align:top}th{background:#ece8ee;font-weight:600;color:var(--ink)}details.qa{border-block-start:1px solid var(--rule);padding:13px 5px}.qa summary{cursor:pointer;font-weight:600;color:var(--ink)}.qa p{padding:0 1em}.sources{font-size:13px;color:#645f6d}.sources a{margin-right:12px}.halls{display:grid;grid-template-columns:1fr 1fr;gap:12px}.halls>div,.halls>a{background:#f3eef1;border-left:2px solid #b2a7ba;padding:14px 16px;text-decoration:none}.halls h3{font-size:21px}.cities{display:grid;grid-template-columns:repeat(4,1fr);gap:0 12px;padding:0!important;list-style:none}.cities li{border-bottom:1px solid var(--rule);padding:5px 0}.cities a{font-size:14px}.filter{font:inherit;width:100%;border:1px solid #b8afbc;padding:10px 12px;background:white;border-radius:2px}.closing{background:#eae6ec;border-top:1px solid var(--rule);padding:34px 0}.closing .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px}.closing h2{font:500 26px var(--serif);letter-spacing:.05em;margin:0}.closing p{font-size:14px;margin:6px 0 0}.closing .phone{font:500 26px Georgia;text-decoration:none;white-space:nowrap}.closing a{margin:4px}.foot{padding:32px 0 42px}.foot small{color:#6b6370}.footerlinks{display:flex;flex-wrap:wrap;gap:8px 22px;margin:13px 0}.mobilecall{display:none}.checklist{padding:0!important;list-style:none}.checklist label{display:block;border-bottom:1px solid var(--rule);padding:8px}.checklist input{margin-right:10px}.muted{color:#686073;font-size:14px}.label{font-weight:700}.leadnum{font:500 clamp(28px,5vw,42px) Georgia;color:var(--indigo);text-decoration:none}.callpair{display:grid;grid-template-columns:1fr 1fr;gap:16px}.callpair>div{border:1px solid var(--rule);padding:18px}.callpair .leadnum{font-size:clamp(23px,3.3vw,35px)}.toclinks{display:flex;gap:8px;flex-wrap:wrap}.toclinks a{padding:4px 12px;border:1px solid var(--rule);border-radius:3px;text-decoration:none}.printbtn{cursor:pointer}.siteform{max-width:600px}.siteform label{display:block}.js-only[hidden],[hidden]{display:none!important}
@media(max-width:900px){.nav{gap:12px}.nav a{font-size:12px}.mast{gap:7px}.quickwrap a{padding:15px 10px}.quickwrap b{font-size:19px}.planrow{grid-template-columns:repeat(2,1fr)}.planrow a{border-bottom:1px solid var(--rule)}.planrow a:nth-child(2){border-right:0}.planrow a:nth-child(3){border-bottom:0}.split{gap:14px}}
@media(max-width:720px){.wrap{width:90%}.mast{min-height:67px}.nav{display:none}.mobile-menu{display:block}.brand b{font-size:21px}.mark{width:34px;height:34px;font-size:20px}.hero .wrap{min-height:427px;padding:38px 0 34px;align-items:flex-start}.hero img{width:100%;object-position:69% 50%}.hero:before{background:linear-gradient(90deg,#f1eee5f7 0%,#f1eee5ed 28%,#f1eee595 64%,#f1eee51c 100%),linear-gradient(0deg,#f1eee5ee,transparent 44%)}.hero h1{font-size:clamp(37px,8vw,54px);margin:17px 0}.hero p{max-width:25em;font-size:14px;text-shadow:0 0 10px white}.hero .actions{gap:8px}.btn{font-size:14px;padding:10px 14px}.hero .textlink{padding:6px 2px}.eyebrow{font-size:12px}.quickwrap{width:100%;padding-inline:3%}.quickwrap a,.quickwrap a:first-child{padding:14px 4px;justify-content:center}.quickwrap b{font-size:16px}.quickwrap small{font-size:10px}.quickwrap .arrow{display:none}.band{padding:38px 0}.sectionhead{align-items:flex-start;flex-direction:column;gap:5px}.planrow a{padding:16px 12px}.planrow h3{font-size:23px}.split,.halls,.callpair{grid-template-columns:1fr}.facts{gap:8px}.facts>div{padding:12px}.intro{padding:19px 0 26px}.article{padding:25px 0 33px}.closing .wrap{display:block}.closing .actions{margin-top:14px}.cities{grid-template-columns:repeat(3,1fr)}th,td{padding:8px 5px;font-size:14px}.mobilecall{position:fixed;bottom:0;z-index:6;left:0;right:0;display:flex;justify-content:center;align-items:center;gap:15px;background:var(--deep);color:white;text-decoration:none;padding:10px 4px calc(10px + env(safe-area-inset-bottom));font-size:14px;font-weight:600}.mobilecall b{color:#fff;font:500 22px Georgia}.foot{padding-bottom:90px}}
@media(max-width:390px){.hero h1{font-size:36px}.hero .actions{flex-direction:column;align-items:flex-start}.facts,.cities{grid-template-columns:repeat(2,1fr)}.quickwrap b{font-size:15px}.callpair .leadnum{font-size:25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{header,.closing,.foot,.mobilecall,.skip,.btn,.crumb,.mobile-menu{display:none!important}.wrap{width:100%}.article{padding:0}.intro{padding:0;background:none}body{color:#000;font-size:11pt}a{color:inherit}.article section{margin-bottom:12px}}
.hero h1 .eyebrow{font-family:var(--sans);line-height:1.7;margin:0 0 15px;letter-spacing:.12em}

.crane-logo{width:64px;height:48px;object-fit:contain;flex:none}.hero h1{font-size:clamp(37px,4.1vw,66px);letter-spacing:.025em}.home-doors{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-block:32px 0}.home-doors a{display:grid;align-content:start;gap:8px;text-decoration:none;color:var(--ink);background:#f2edf2;padding:21px 23px;border-top:2px solid #927468}.home-doors b{font:550 clamp(19px,2vw,26px)/1.5 var(--serif)}.home-doors a>span:last-child{font-size:13px;color:#625569}.belief{background:#efebf0;padding:clamp(20px,4vw,42px);border-top:2px solid #9a715e}.ledger{border-top:1px solid var(--rule)}.ledger>div{display:grid;grid-template-columns:minmax(150px,30%) 1fr;gap:20px;padding:17px 0;border-bottom:1px solid var(--rule)}.ledger p{margin:0}.ledger b{color:var(--ink)}.flow-grid{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:0!important;counter-reset:scene}.flow-grid li{background:#faf7f3;border:1px solid #ddd4d1;border-radius:5px;overflow:hidden;padding:0 14px 15px;counter-increment:scene}.flow-grid img{width:calc(100% + 28px);margin:0 -14px 8px;aspect-ratio:1.42;object-fit:cover;display:block}.flow-grid small{color:#795948;font-weight:650}.flow-grid h3{margin:3px 0!important}.flow-grid h3:before{content:counter(scene) '　';font-size:.7em;color:#926b57}.flow-grid p{font-size:14px}.brand small{color:#795f55}.brand{gap:8px}.nav{gap:clamp(10px,1.4vw,23px)}@media(max-width:720px){.home-doors{grid-template-columns:1fr;gap:7px;margin-top:20px}.home-doors a{padding:13px 16px;gap:2px}.flow-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ledger>div{grid-template-columns:1fr;gap:5px}.crane-logo{width:47px;height:36px}.hero h1{font-size:clamp(29px,6.6vw,45px)}.brand b{font-size:20px}}@media(max-width:540px){.flow-grid{grid-template-columns:1fr}.flow-grid img{aspect-ratio:1.8}.hero p{max-width:24em}}

/* Watercolor, warm paper and the indigo of the folded crane. */
:root{--paper:#fffcf6;--ink:#333449;--indigo:#373a51;--deep:#30334a;--body:#494242;--rule:#e1d3c4;--gold:#925c40}
.wrap{width:min(1180px,90%)}
header{background:#fffcf6;border-bottom-color:#e8dacb}
.brand .crane-logo{width:70px;height:50px}
.brand b{letter-spacing:.055em}
.brand small{font-size:11px;letter-spacing:.07em}
.mast{min-height:78px}
.nav .contactnav,.btn,.toclinks a,.mobile-menu summary{border-radius:28px}
.nav .contactnav{padding:9px 22px}
.mobile-menu summary{padding:7px 13px;border:1px solid var(--rule);font-size:13px}
.mobile-menu nav{border-radius:15px}
.family-hero{position:relative;isolation:isolate;overflow:hidden;background:#faf1e5}
.hero-art{position:absolute;z-index:-1;inset:0 0 0 32%;overflow:hidden}
.hero-art img{width:100%;height:100%;display:block;object-fit:cover;object-position:61% 48%}
.hero-art:after{position:absolute;content:"";inset:0;background:linear-gradient(90deg,#faf1e5,rgba(250,241,229,.62) 12%,transparent 32%)}
.family-intro{min-height:clamp(400px,35vw,550px);padding-block:clamp(30px,3.8vw,66px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.town-label{font:650 13px/1.6 var(--sans);letter-spacing:.12em;color:#81563e;margin:0;display:flex;align-items:center;gap:.65em}
.town-label:before{content:"";width:1.95em;height:2px;background:#ae8060}
.family-intro h1{margin:17px 0 13px;font:500 clamp(40px,4.3vw,68px)/1.34 var(--serif);letter-spacing:.012em;color:var(--ink)}
.family-intro h1 em{font-style:normal;background:linear-gradient(transparent 85%,#e8c299 85%,#e8c299 95%,transparent 95%)}
.hero-copy{margin:0;font-size:clamp(14px,1.2vw,17px);line-height:1.85;max-width:32em;text-wrap:pretty}
.hero-actions,.local-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px 19px;margin-top:21px}
.warm-button,.plain-action{font:600 14px/1.5 var(--sans);color:var(--ink);text-decoration:none}
.warm-button{border-radius:999px;border:1px solid #bda78e;background:#fffcf6;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:45px;padding:10px 21px}
.warm-primary{background:var(--indigo);color:white;border-color:var(--indigo);box-shadow:0 3px 9px #4f433526}
.warm-primary span{font:600 19px/1.15 Georgia,serif;letter-spacing:.025em}
.warm-button:hover{background:#f6e7d6;color:var(--ink)}
.warm-primary:hover{background:#494c66;color:white}
.plain-action{display:inline-flex;align-items:center;gap:8px;padding:9px 0;border-bottom:1px solid #ba9b7c}
.warm-button i,.plain-action i,.help-doors i,.family-plans i{font:normal 18px/1 var(--sans)}
.help-doors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:23px}
.help-doors a{min-width:0;display:grid;grid-template-columns:minmax(42px,24%) 1fr auto;align-items:center;gap:10px;padding:14px 16px 14px 6px;background:#fffaf2;color:var(--ink);border:1px solid var(--rule);border-radius:16px;text-decoration:none;box-shadow:0 3px 0 #bf997919}
.help-doors img,.family-plans img,.page-intro img,.closing-copy img{mix-blend-mode:multiply}
.help-doors img{width:100%;height:73px;object-fit:contain}
.help-doors small,.family-plans small{font-size:12px;line-height:1.65;display:block;color:#805239}
.help-doors b{display:block;font:600 clamp(16px,1.55vw,23px)/1.45 var(--serif)}
.help-doors i,.family-plans i{width:29px;height:29px;display:grid;place-items:center;border-radius:50%;border:1px solid #cfb49a;color:#553a2b}
.help-doors a:hover,.family-plans a:hover{border-color:#a87855;background:#fbefdf}
.warm-section{padding-block:clamp(45px,5.4vw,84px)}
.warm-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:24px}
.warm-heading h2,.price-letter h2{margin:8px 0 0;font:500 clamp(28px,3vw,45px)/1.45 var(--serif);color:var(--ink);letter-spacing:.025em}
.family-plans{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.family-plans a{position:relative;display:flex;align-items:flex-start;flex-direction:column;background:#fffaf3;color:var(--ink);border:1px solid var(--rule);border-radius:52% 52% 14px 14px / 22px 22px 14px 14px;padding:16px 20px 18px;text-decoration:none}
.family-plans img{height:100px;width:100%;object-fit:contain;margin:1px 0 9px}
.family-plans h3,.local-note h3{font:600 clamp(22px,2vw,30px)/1.5 var(--serif);margin:2px 0 7px}
.family-plans p{font-size:14px;line-height:1.85;margin:0 0 9px}
.family-plans i{margin:auto 0 0 auto}
.price-letter{background:#f3e8d9;border-block:1px solid #e9d8c3}
.letter-inner{display:grid;grid-template-columns:1fr .86fr;align-items:center;gap:clamp(30px,7vw,110px);padding-block:clamp(36px,4.9vw,74px)}
.letter-inner>div>p:not(.town-label){max-width:32em;margin:13px 0 20px}
.estimate-note{background:#fffcf6;padding:clamp(22px,3vw,41px);border-radius:6px 20px 10px 16px;box-shadow:4px 6px 0 #dfcbb4}
.estimate-note h3{font:600 clamp(18px,1.75vw,25px)/1.6 var(--serif);margin:0}
.estimate-note ul{padding:0;list-style:none;margin:12px 0 4px}
.estimate-note li{padding:6px 0;border-bottom:1px dotted #d8c5b1}
.estimate-note li:before{content:"✓";color:#8c6048;margin-right:10px}
.local-pair{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.local-note{padding:clamp(19px,2.6vw,36px);border:1px solid var(--rule);border-radius:15px;background:#fff9ed}
.local-note:nth-child(2){background:#f4f0ed}
.local-note p{margin:10px 0 15px;font-size:15px}
.local-note .local-actions{margin-top:0}
.source-note{display:block;font-size:13px;width:fit-content;margin-top:13px}
.regional-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:20px}
.regional-row strong{margin-right:8px;color:var(--ink)}
.regional-row a{font-size:13px;text-decoration:none;padding:6px 13px;border:1px solid var(--rule);border-radius:18px;background:#fffaf3}
.intro{background:#f8efdf}
.page-intro{display:flex;align-items:center;justify-content:space-between;gap:35px}
.page-intro>div{min-width:0;max-width:860px}
.page-intro img{width:clamp(110px,15vw,205px);height:140px;object-fit:contain;flex:none}
.article .eyebrow,.intro .eyebrow{color:#80573d}
.belief,.facts>div,.halls>div,.halls>a{background:#f7ecdf;border-color:#ad845f;border-radius:10px}
.flow-grid li,.callpair>div{border-radius:14px}
th{background:#f0e6da}
.closing{background:#f3e8dc;border-color:#dfcfbd}
.closing-copy{display:flex;align-items:center;gap:18px}
.closing-copy img{width:96px;height:80px;object-fit:contain}
.closing h2{line-height:1.55}
.closing-actions{display:flex;flex-direction:column;align-items:flex-start}
.closing .phone{font-size:30px;color:var(--ink);margin:0}
.phone small{display:block;font:600 12px/1.75 var(--sans);color:#76523e}
.closing .plain-action{margin:0}
.foot{background:#fffbf3}
@media(max-width:960px){
 .nav{gap:10px}.nav a{font-size:12px}.nav .contactnav{padding:8px 14px}
 .help-doors{gap:8px}.help-doors a{gap:6px;padding-right:9px}.help-doors i{width:24px;height:24px}.family-plans{gap:10px}.family-plans a{padding:12px}
}
@media(max-width:780px){
 .nav{display:none}.mobile-menu{display:block}.family-intro h1{font-size:clamp(33px,5vw,41px)}
 .hero-copy{max-width:23em}.hero-actions{gap:4px 12px}.warm-button{font-size:13px}
}
@media(max-width:720px){
 .mast{min-height:65px}.brand .crane-logo{width:48px;height:38px}.brand small{font-size:10px}
 .family-hero{display:flex;flex-direction:column}.family-intro{order:0;min-height:0;padding:23px 0 0}
 .hero-art{order:1;position:relative;inset:auto;z-index:0;height:clamp(180px,48vw,285px);margin-top:6px}
 .hero-art img{object-position:50% 51%}.hero-art:after{background:linear-gradient(180deg,#faf1e5,transparent 21%)}
 .family-intro h1{font-size:clamp(34px,7.5vw,46px);margin:10px 0 8px;line-height:1.28}
 .hero-copy{font-size:14px;line-height:1.75;max-width:34em}
 .hero-actions{margin-top:13px}.hero-actions .plain-action{font-size:13px}.warm-primary{gap:8px;padding:10px 14px}.warm-primary span{font-size:16px}
 .town-label{font-size:12px;letter-spacing:.06em}
 .help-doors{grid-template-columns:1fr;gap:7px;margin-top:15px}
 .help-doors a{grid-template-columns:68px 1fr 30px;padding:4px 15px 4px 8px;gap:12px;border-radius:13px}
 .help-doors img{height:48px}.help-doors b{font-size:18px}.help-doors small{font-size:11px}
 .warm-section{padding-block:39px}.warm-heading{align-items:flex-start;flex-direction:column;gap:6px;margin-bottom:16px}
 .warm-heading h2,.price-letter h2{font-size:clamp(25px,5.8vw,36px)}
 .family-plans{grid-template-columns:repeat(2,minmax(0,1fr))}
 .family-plans img{height:73px}.family-plans h3{font-size:22px}.family-plans p{font-size:13px}
 .letter-inner,.local-pair{grid-template-columns:1fr;gap:17px}
 .page-intro{gap:10px}.page-intro img{width:77px;height:80px}.page-intro h1{font-size:clamp(26px,6vw,33px)}
 .closing-copy img{width:62px;height:60px}.closing-copy{gap:12px}.closing h2{font-size:22px}
 .closing-actions{margin:13px 0 0}.foot .footerlinks a{padding:4px}
}
@media(max-width:485px){
 .page-intro{display:block;position:relative}
 .page-intro .eyebrow{min-height:40px;padding-right:63px}
 .page-intro img{position:absolute;right:0;top:-7px;width:63px;height:51px}
}
@media print{.page-intro img,.hero-art{display:none}.warm-section{padding-block:10px}}

/* Letterhead and contact directory */
.bushu-header{position:relative;z-index:8;border:0;background:#fffaf1;border-top:3px solid #a67954}
.identity-row{min-height:91px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 0}
.identity{display:inline-flex;gap:11px;align-items:center;text-decoration:none;color:#34364e;white-space:nowrap}
.crane-seal{width:72px;height:65px;border:1px solid #dfc6a9;border-radius:49% 51% 47% 53%;display:grid;place-items:center;background:#fffaf2;box-shadow:inset 0 0 0 3px #fffaf2,inset 0 0 0 4px #ebddc9}
.crane-seal img{width:84%;height:78%;object-fit:contain}
.identity-type{display:grid;gap:2px}.identity-type small{color:#77553c;font:600 11px/1.6 var(--sans);letter-spacing:.08em}
.identity-type b{font:600 clamp(24px,2.5vw,36px)/1.22 var(--serif);letter-spacing:.08em}
.header-contact,.header-number{display:flex;align-items:center;gap:15px}
.header-contact{gap:28px}.header-number{gap:7px;color:var(--ink);text-decoration:none}
.header-number img{object-fit:contain;mix-blend-mode:multiply}.header-number span,.header-number small{display:block}
.header-number small{color:#72533e;font-size:12px;line-height:1.4}
.header-number b{font:500 clamp(22px,2.3vw,32px)/1.12 Georgia,serif;letter-spacing:.02em}
.estimate-link,.venue-action{display:inline-flex;align-items:center;justify-content:space-between;gap:11px;font:600 14px/1.5 var(--sans);padding:12px 19px;text-decoration:none;border:1px solid #b59572;border-radius:28px}
.estimate-link{background:#f4e7d4;color:#423e45}.estimate-link i{font-style:normal}
.nav-band{background:#36394e;border-bottom:3px solid #c49c77}
.edge-nav{display:flex;align-items:center;justify-content:space-between}
.edge-nav a{flex:1 1 auto;text-align:center;font:550 14px/1.4 var(--sans);text-decoration:none;padding:12px 6px;color:#fff7e7;position:relative}
.edge-nav a+a:before{content:"";position:absolute;left:0;top:30%;height:40%;width:1px;background:#716c76}
.edge-nav a:hover,.edge-nav a[aria-current="page"]{background:#545569;color:white}
.edge-menu{display:none;position:relative}.edge-menu summary{cursor:pointer;min-height:44px;display:grid;justify-items:center;align-content:center;gap:5px;font-size:10px;line-height:1.2;color:var(--ink);list-style:none}.edge-menu summary::-webkit-details-marker{display:none}
.hamburger{width:21px;height:11px;border-block:1.5px solid;position:relative}.hamburger:before{content:"";position:absolute;left:0;right:0;top:3px;border-top:1.5px solid}
.edge-menu nav{position:absolute;z-index:9;top:100%;right:0;width:min(260px,84vw);background:#fffaf1;border:1px solid #d6bfa5;box-shadow:0 8px 24px #46405230;padding:9px 16px;border-radius:12px}
.edge-menu nav a{display:block;padding:7px 0;border-bottom:1px solid #e8daca;text-decoration:none;font-size:14px}
.contact-paper{padding:clamp(34px,4.8vw,68px) 0;background:radial-gradient(ellipse at 12% 0%,#f9efde,transparent 70%),#f4e9de;border-top:1px solid #e4d2b9}
.paper-heading{display:flex;align-items:center;gap:16px;margin:0 0 20px}.paper-heading img{mix-blend-mode:multiply;object-fit:contain}
.paper-heading h2{margin:0;font:550 clamp(24px,2.8vw,39px)/1.5 var(--serif);color:var(--ink)}.paper-heading p,.contact-pair p{margin:4px 0;font-size:14px}
.contact-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact-pair>div{background:#fffaf2;padding:20px clamp(17px,2vw,30px);border:1px solid #dccaaf;border-radius:14px;box-shadow:0 3px 0 #cdb08a33}
.contact-pair h3{font:600 clamp(17px,2vw,23px)/1.6 var(--serif);color:var(--ink);margin:0}
.footer-dial{display:block;margin:6px 0 3px;font:500 clamp(25px,2.8vw,38px)/1.2 Georgia,serif;letter-spacing:.02em;text-decoration:none}
.foot-note-link{display:inline-block;font-size:13px;padding:5px 0}
.directory-band{background:#34364c;color:#fff8ea;background-image:linear-gradient(135deg,transparent 86%,#46475c 86%,#46475c 93%,transparent 93%);padding:42px 0 15px}
.footer-grid{display:grid;grid-template-columns:1.45fr 1fr 1fr .9fr;gap:24px}
.directory-band a,.directory-band .identity-type small{color:#fff5e6}.foot-identity .crane-seal{width:58px;height:54px}
.foot-identity .identity-type b{font-size:24px}.foot-identity p{font-size:13px;margin:15px 0 5px}.foot-identity>a:not(.identity){font-size:13px}
.foot-column{display:flex;flex-direction:column;align-items:flex-start}.foot-column b{border-bottom:1px solid #a68b75;padding-bottom:5px;margin-bottom:7px;letter-spacing:.06em}
.foot-column a,.foot-base a{text-decoration:none;font-size:13px;padding:3px 0}.directory-band a:hover{text-decoration:underline;color:white}
.foot-base{display:flex;align-items:center;justify-content:space-between;margin-top:23px;padding-top:12px;border-top:1px solid #686478}
.venue-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.venue-cards a{border:1px solid #dac6b1;border-radius:12px;background:#fffaf1;padding:17px 19px;color:var(--ink);text-decoration:none;display:flex;flex-direction:column;align-items:flex-start}
.venue-cards small{color:#855b40;font-size:12px}.venue-cards h3{font:600 21px/1.5 var(--serif);margin:5px 0}.venue-cards p{margin:3px 0 10px}
.venue-cards span{margin-top:auto;font-size:13px;color:#754d36}.venue-cards a:hover,.venue-action:hover{background:#f3e5d3}
.venue-action{margin:4px 9px 6px 0;background:#fff9ed}
.plan-ref{display:block;color:#674c39;font-size:14px;margin:3px 0 9px}.smallprint{font-size:13px;color:#655a58;margin-top:12px}
.review-box{background:#f9f0e2;border-left:3px solid #aa7653;padding:clamp(16px,3vw,26px);border-radius:0 14px 14px 0}.review-box h2{margin-top:0}
@media(max-width:800px){.header-contact{gap:12px}.identity-row{min-height:78px}.footer-grid{grid-template-columns:repeat(2,1fr)}.edge-nav a{font-size:13px}}
@media(max-width:650px){
 .identity-row{width:94%;min-height:67px;padding:6px 0;gap:6px}.identity{gap:5px}.identity-type b{font-size:21px;letter-spacing:.025em}.identity-type small{font-size:9px;letter-spacing:0}
 .crane-seal{width:44px;height:43px}.header-number img,.estimate-link,.nav-band{display:none}.header-number b{font-size:18px}.header-number small{font-size:10px}.header-contact{margin-left:auto}
 .edge-menu{display:block;min-width:41px}.bushu-header{border-bottom:2px solid #bd976f}
 .contact-pair,.venue-cards{grid-template-columns:1fr}.paper-heading{gap:9px}.paper-heading img{width:60px;height:55px}.paper-heading h2{font-size:22px}
 .contact-pair p,.paper-heading p{font-size:13px}.directory-band{padding-bottom:73px}.foot-identity{grid-column:1/-1}.footer-grid{gap:20px 12px}.foot-base{margin-top:16px}
}
@media(max-width:355px){.header-number b{font-size:15px}.identity-type b{font-size:18px}.crane-seal{width:32px;height:34px}}
@media print{.edge-footer,.bushu-header,.mobilecall{display:none!important}}
.venue-call{display:block;background:#f3e0c7;color:#292d44;text-decoration:none;border-bottom:1px solid #d2b18b;box-shadow:inset 0 2px 0 #fff3df}
.venue-call-inner{min-height:95px;display:flex;align-items:center;justify-content:space-between;gap:22px;padding-block:14px}
.venue-call-label{display:grid;gap:3px}.venue-call-label small{color:#795238;font:650 12px/1.5 var(--sans);letter-spacing:.06em}.venue-call-label strong{font:600 clamp(21px,2.55vw,34px)/1.42 var(--serif);color:#33364e}
.venue-call-number{display:inline-flex;align-items:center;gap:13px;white-space:nowrap;background:#36394f;color:white;border:1px solid #36394f;border-radius:50px;padding:10px 21px;font:600 clamp(22px,2.6vw,35px)/1.1 Georgia,serif}
.venue-call-number i{font:normal 16px var(--sans)}.venue-call:hover{background:#f3d8b6}.venue-call:hover .venue-call-number{background:#4b4d65}.venue-call:focus-visible{outline-offset:-4px}
@media(max-width:650px){.venue-call-inner{display:grid;gap:8px;padding:12px 0}.venue-call-label strong{font-size:21px}.venue-call-number{width:fit-content;font-size:23px;padding:7px 16px}}
@media print{.venue-call{display:none}}
.hall-facts{margin:12px 0;border-top:1px solid var(--rule)}
.hall-facts>div{display:grid;grid-template-columns:minmax(92px,24%) 1fr;gap:12px;padding:12px 5px;border-bottom:1px solid var(--rule)}
.hall-facts dt{font-weight:650;color:var(--ink)}.hall-facts dd{margin:0}
@media(max-width:380px){.hall-facts>div{grid-template-columns:76px 1fr;gap:7px}}

.wordmark{display:flex;flex-direction:column;justify-content:center;gap:6px;padding:3px 0 3px 14px;border-left:3px solid #a77455}
.wordmark b{font:600 clamp(28px,2.8vw,39px)/1.12 var(--serif);letter-spacing:.13em;color:var(--ink)}
.wordmark small{font:550 12px/1.45 var(--sans);color:#6a5140;letter-spacing:.025em}
.identity-row{justify-content:initial}.header-contact{margin-left:auto}
.city-credential{display:inline-flex;margin-left:5px;border:1px solid #bfa789;padding:4px 10px;border-radius:5px;color:#6c4c36;font:600 12px/1.65 var(--sans);text-decoration:none}
.directory-band .wordmark b,.directory-band .wordmark small{color:#fff6e8}
.directory-band .wordmark b{font-size:26px}.directory-band .wordmark small{font-size:12px}
.family-hero{display:grid;grid-template-columns:minmax(0,49fr) minmax(0,51fr);align-items:stretch}
.family-hero .family-intro{grid-column:1;grid-row:1;width:auto;min-width:0;min-height:clamp(380px,32vw,520px);margin:0;padding:clamp(26px,3.6vw,62px) 16px clamp(26px,3.6vw,62px) max(5vw,calc((100vw - 1180px)/2));background:#faf1e5}
.family-hero .hero-art{grid-column:2;grid-row:1;inset:auto;position:relative;z-index:auto;min-width:0;height:100%;margin:0}
.family-hero .hero-art img{position:absolute;inset:0;object-position:61% 47%}
.family-hero .hero-art:after{background:linear-gradient(90deg,#faf1e5,transparent 13%)}
.family-intro h1{font-size:clamp(34px,3.8vw,61px);color:#262941;line-height:1.38}
.hero-copy{color:#3c3740;font-size:clamp(15px,1.23vw,18px);line-height:1.85}
.flow-grid h3{color:#282c43}.flow-grid p{font-size:15px;line-height:1.8;color:#3a3540}
.page-intro img{position:static}.page-intro .eyebrow{padding-right:0}
.place-grid{display:grid;gap:24px}.place-card{border:1px solid #deccb9;border-radius:17px;overflow:hidden;background:#fff9f1}
.place-head,.place-body{padding:16px clamp(15px,2.5vw,27px)}.place-head small{font-size:13px;font-weight:650;color:#775039}
.article .place-head h2{border:0;padding:0;margin:4px 0;font-size:clamp(23px,2.5vw,32px)}.place-head p,.place-body p{margin:4px 0}
.location-map{width:100%;height:clamp(260px,30vw,350px);display:block;border:0;background:#efe8dc}
.map-actions{display:flex;flex-wrap:wrap;align-items:center;gap:5px 14px;margin:10px 0}
.preview-map-note{padding:16px 26px;background:#efe5d8}
@media(max-width:940px){.city-credential{display:none}.identity-row{gap:9px}}
@media(max-width:720px){
 .family-hero{grid-template-columns:minmax(0,1fr)}
 .family-hero .family-intro{grid-column:1;grid-row:1;min-height:0;padding:24px 5% 13px}
 .family-hero .hero-art{grid-column:1;grid-row:2;height:clamp(180px,49vw,300px)}
 .family-hero .hero-art:after{background:linear-gradient(180deg,#faf1e5,transparent 14%)}
 .family-intro h1{font-size:clamp(34px,8vw,47px)}.hero-copy{font-size:15px}
}
@media(max-width:650px){.wordmark{gap:4px;padding-left:7px;border-width:2px}.wordmark b{font-size:24px;letter-spacing:.05em}.wordmark small{font-size:10px;letter-spacing:0}.identity-row{justify-content:space-between}.header-contact{margin-left:auto}}
@media(max-width:485px){.page-intro{display:grid;grid-template-columns:minmax(0,1fr) 63px;align-items:start}.page-intro img{height:62px;width:63px;position:static}.page-intro .eyebrow{min-height:0}.page-intro h1{font-size:26px;line-height:1.5}.page-intro p{font-size:15px}}
@media(max-width:360px){.wordmark b{font-size:20px}.wordmark small{font-size:9px}.header-number b{font-size:15px}}
@media(max-width:650px){
 .bushu-header .identity-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;gap:6px 10px;padding:8px 0}
 .bushu-header .identity{grid-column:1;grid-row:1}.bushu-header .wordmark b{font-size:26px}.bushu-header .wordmark small{font-size:12px}
 .edge-menu{grid-column:2;grid-row:1;justify-self:end}.edge-menu summary{font-size:12px}
 .city-credential{display:block;grid-row:2;grid-column:1;justify-self:start;font-size:11px;margin:0}
 .header-contact{grid-row:2;grid-column:2;justify-self:end}.header-number span{display:grid;justify-items:end}
 .header-number b{font-size:19px}.header-number small{font-size:11px}
}

/* Give every illustrated reading area an opaque surface and an explicit ink. */
.family-hero .family-intro {
  background: #242b40;
  color: #fff;
}
.family-hero .family-intro :is(h1, em, .hero-copy, .town-label, .plain-action) {
  color: #fff;
  -webkit-text-fill-color: currentColor;
  text-shadow: none;
}
.family-hero .family-intro h1 {
  font-family: var(--sans);
  font-size: clamp(32px, 3.5vw, 56px);
  font-weight: 700;
  letter-spacing: .015em;
}
.family-hero .family-intro h1 em { background: none; }
.family-hero .hero-copy { font-size: 18px; font-weight: 500; line-height: 1.85; }
.family-hero .town-label { font-size: 15px; }
.family-hero .town-label:before { background: #e9cdaa; }
.family-hero .hero-actions .plain-action { font-size: 16px; border-color: #fff; }
.family-hero .warm-primary, .family-hero .warm-primary span {
  color: #1a1e28; background: #fff; -webkit-text-fill-color: currentColor;
}
.family-hero .warm-primary { border: 2px solid #fff; }
.family-hero .warm-primary:hover, .family-hero .warm-primary:hover span { background: #ffe8c9; }
.family-hero .hero-art:after { display: none; }
.help-doors a, .family-plans a, .page-intro>div, .paper-heading>div {
  color: #171c28; background: #fff;
}
.help-doors :is(small,b), .family-plans :is(small,h3,p,.plan-ref),
.page-intro :is(h1,p,.eyebrow), .paper-heading :is(h2,p) {
  color: #171c28; -webkit-text-fill-color: currentColor;
  font-family: var(--sans); text-shadow: none;
}
.help-doors small, .family-plans small, .page-intro .eyebrow { font-size: 15px; font-weight: 600; }
.help-doors b, .family-plans h3 { font-size: clamp(20px, 1.8vw, 26px); font-weight: 700; }
.family-plans p, .paper-heading p, .page-intro p { font-size: 17px; line-height: 1.8; }
.family-plans .plan-ref { font-size: 17px; }
.page-intro>div, .paper-heading>div { padding: 12px 16px; border-left: 3px solid #a77455; }
.intro .page-intro { align-items: center; }
.header-number span { background: #fffaf1; color: #171c28; }
.header-number small { color: #283040; font-size: 13px; }
.flow-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.article .flow-grid li {
  padding: 0; background: #fff; display: flex; flex-direction: column;
}
.article .flow-grid img { width: 100%; margin: 0; aspect-ratio: 1.85; object-fit: cover; }
.flow-title { background: #242b40; color: #fff; padding: 12px 16px; }
.article .flow-title :is(small,h3), .article .flow-title h3:before {
  color: #fff; -webkit-text-fill-color: currentColor; font-family: var(--sans);
}
.article .flow-title small { display: block; font-size: 15px; font-weight: 600; line-height: 1.55; }
.article .flow-title h3 { font-size: 22px; font-weight: 700; line-height: 1.55; }
.flow-caption { flex: 1; background: #fff; padding: 14px 16px 18px; }
.article .flow-caption p {
  margin: 0; color: #171c28; -webkit-text-fill-color: currentColor;
  font: 500 17px/1.85 var(--sans);
}
@media(max-width:720px){
  .family-hero .hero-copy { font-size: 17px; }
  .help-doors img { height: 55px; }
}
@media(max-width:570px){
  .flow-grid { grid-template-columns: 1fr; }
  .family-plans { grid-template-columns: 1fr; }
  .family-plans a { display: grid; grid-template-columns: 80px minmax(0,1fr); column-gap: 15px; border-radius: 15px; padding: 14px; }
  .family-plans a>img { grid-column: 1; grid-row: 1 / span 4; align-self: center; height: 75px; margin: 0; }
  .family-plans a>:not(img) { grid-column: 2; }
  .page-intro>div { padding: 10px 12px; }
}
@media print {
  .family-hero .family-intro, .flow-title { background: white; }
  .family-hero .family-intro :is(h1,em,.hero-copy,.town-label,.plain-action),
  .article .flow-title :is(small,h3), .article .flow-title h3:before { color: black; }
}

/* Pair the ink and paper on each surface, including nested controls. */
:root{color-scheme:only light}
.bushu-site {
  color-scheme: only light;
  --ink: #171c28; --body: #222735; --indigo: #26324a; --gold: #61422d;
  color: #222735; background-color: #fffcf6;
  -webkit-text-fill-color: currentColor;
}
.bushu-site .article { color: #222735; background-color: #fff; }
.bushu-site main { color: #222735; background-color: #fffcf6; }
.bushu-site .article :is(h1,h2,h3,dt,th,summary) { color: #171c28; }
.bushu-site :is(.muted,.sources,.smallprint,.kicker,.town-label,.eyebrow,.crumb) { color: #4a403c; }
.bushu-site .article :is(aside,.facts>div,.belief,.review-box,.halls>div,.halls>a) {
  color: #222735; background-color: #f5ecdf;
}
.bushu-site .article th { background: #efe3d4; color: #171c28; }
.bushu-site .article td { background: #fff; color: #222735; }
.bushu-site :is(.contact-paper,.price-letter,.intro) { color: #222735; }
.bushu-site :is(.contact-pair>div,.local-note,.estimate-note,.venue-cards>a,.place-card,.edge-menu nav) {
  color: #222735; background-color: #fffaf2;
}
.bushu-site :is(.identity-type,.wordmark,.contact-pair,.place-card,.venue-cards,.estimate-note,.local-note,.regional-row) small,
.bushu-site :is(.source-note,.foot-note-link,.plan-ref,.venue-cards span,.edge-menu summary,.venue-call-label small) { color: #473828; }
.bushu-site .header-number { color: #171c28; background-color: #fffaf1; }
.bushu-site .edge-menu nav a, .bushu-site .article a { color: #203858; }
.bushu-site .article a:is(:hover,:focus-visible), .bushu-site .edge-menu nav a:is(:hover,:focus-visible) {
  color: #382311; text-decoration: underline;
}
.bushu-site :is(.venue-action,.toclinks a,.estimate-link,.printbtn,.regional-row a,.warm-light,.city-credential) {
  background-color: #fff8eb; color: #222735;
}
.bushu-site :is(.venue-action,.toclinks a,.estimate-link,.printbtn,.regional-row a,.warm-light,.city-credential):is(:hover,:focus-visible) {
  background-color: #f3dfc2; color: #171c28;
}
.bushu-site :is(.filter,button,input[type="search"],input[type="text"]) { color: #171c28; background-color: #fff; }
.bushu-site input::placeholder { color: #455064; opacity: 1; }
.bushu-site :is(.nav-band,.directory-band,.mobilecall,.btn.solid) { color: #fff; background: #242b40; }
.bushu-site .directory-band :is(a,b,p,small), .bushu-site .mobilecall b,
.bushu-site .edge-nav a { color: #fff; -webkit-text-fill-color: currentColor; }
.bushu-site .edge-nav a { background-color: #242b40; }
.bushu-site .edge-nav a:is(:hover,:focus-visible,[aria-current="page"]),
.bushu-site :is(.mobilecall,.btn.solid):is(:hover,:focus-visible),
.bushu-site .directory-band a:is(:hover,:focus-visible) { color: #fff; background-color: #363f56; }
.bushu-site .article .btn.solid { background: #242b40; color: #fff; }
.bushu-site .article .btn.solid:is(:hover,:focus-visible) { background: #363f56; color: #fff; }
.bushu-site .venue-call { color: #171c28; background: #f4dfc5; }
.bushu-site .venue-call-number, .bushu-site .venue-call-number i { color: #fff; background: #242b40; }
.bushu-site .venue-call:is(:hover,:focus-visible) .venue-call-number,
.bushu-site .venue-call:is(:hover,:focus-visible) .venue-call-number i { color: #fff; background: #363f56; }
.bushu-site .family-intro :is(.town-label,.plain-action) { color: #fff; }
.bushu-site .article .flow-title :is(small,h3) { color: #fff; }
.bushu-site .family-intro a:focus-visible, .bushu-site .directory-band a:focus-visible,
.bushu-site .edge-nav a:focus-visible { outline: 3px solid #ffddb1; outline-offset: -3px; }
.bushu-site .filter:focus-visible, .bushu-site .printbtn:focus-visible, .bushu-site .qa summary:focus-visible {
  outline: 3px solid #85501b; outline-offset: 2px;
}
@media print{
  .bushu-site .family-intro :is(.town-label,.plain-action), .bushu-site .article .flow-title :is(small,h3) { color: #171c28; }
}
@media(forced-colors:active){
  .bushu-site { color-scheme: normal; forced-color-adjust: auto; }
}
.bushu-site .contacts { grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr)); gap:12px 24px; }
.bushu-site .contacts li { padding-block:10px; }
.bushu-site .contacts li[hidden] { display:none; }
.bushu-site .article .contacts h3 { margin:0 0 .35em; }
.bushu-site .contacts a { display:inline-block; padding:3px 0; overflow-wrap:anywhere; }
.bushu-site .foot-base { flex-wrap:wrap; gap:12px; }
.bushu-site .facility-photo { max-width:760px; margin:18px auto 27px; }
.bushu-site .facility-image { display:block; width:100%; max-height:360px; object-fit:contain; background:#f6f3ee; filter:contrast(1.04) saturate(.94); border-radius:10px; }
.bushu-site .place-card .facility-photo { margin:16px 5%; }
.bushu-site .facility-photo figcaption { margin:.5em 0 0; color:#303949; }
.bushu-site .facility-photo a { color:#203858; }
.bushu-site .facility-image.cached-photo { filter:none; }

/* Facility photos: preserve the photographed building; crop only in layout. */
.facility-photo{margin:0 0 24px}.facility-photo .verified-photo{display:block;width:100%;max-width:760px;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:center 55%;filter:brightness(1.025) contrast(1.025) saturate(.96);border-radius:8px}.facility-photo figcaption{font-size:12px;line-height:1.7;color:#65716a;margin-top:8px}.facility-photo figcaption a{color:inherit}
