/**
 * 하늘로 공개 화면 R3.1
 * 제목은 Paperlogy, 본문과 UI는 Gmarket Sans, 영문·수치는 Montserrat를 사용한다.
 * 히어로는 딥그린 콘텐츠와 이미지가 넓은 명암 페이드로 이어지며, 밝은 이미지에도 흰 띠가 생기지 않게 한다.
 */

:root {
  --r3-ink: #1f2c27;
  --r3-muted: #42574e;
  --r3-green: #1f5b4d;
  --r3-green-deep: #17473d;
  --r3-facility-green: #165c50;
  --r3-gold: #aa8a53;
  --r3-paper: #fffdf8;
  --r3-ivory: #f6f3eb;
  --r3-soft: #ece8dc;
  --r3-line: #d9ddd4;
  --r3-shadow: 0 18px 38px rgba(31, 49, 42, .08);
}

.ti { display: inline-flex; align-items: center; justify-content: center; line-height: 1; }

/* shared header */
.site-header { background: rgba(255, 253, 248, .94); border-bottom: 1px solid var(--r3-line); box-shadow: none; }
.site-header__inner { width: min(1180px, calc(100% - 40px)); min-height: 78px; }
.brand-symbol { display: grid; place-items: center; width: 31px; height: 31px; border-radius: 9px; background: var(--r3-green); clip-path: none; }
.brand-symbol .ti { position: static; width: auto; height: auto; background: none; color: #fff; font-size: 18px; }
.brand-name { color: var(--r3-ink); font-family: var(--display); font-size: 21px; letter-spacing: -.07em; }
.brand-name small { color: #68766e; font-family: var(--sans); font-weight: 500; }
.site-nav { gap: 28px; }
.site-nav a { font-family: var(--sans); font-size: 14px; font-weight: 500; }
.site-nav a:after { background: var(--r3-green); }
.search-pill { display: inline-flex; align-items: center; gap: 8px; padding: 10px 13px; border-color: #c9d2ca; background: #fbfaf5; color: var(--r3-green); font-family: var(--sans); font-weight: 500; }
.search-pill .ti { font-size: 17px; }

/* shared R3 primitives */
.landing-r3 { overflow: hidden; background: var(--r3-paper); }
.r3-wrap { width: min(1180px, calc(100% - 40px)); margin: auto; }
.r3-eyebrow { margin: 0; color: var(--r3-green); font-family: var(--numeric); font-size: 11px; font-weight: 700; letter-spacing: .16em; }
.r3-button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 0 18px; border: 1px solid var(--r3-green); background: var(--r3-green); color: #fff; font-family: var(--sans); font-size: 14px; font-weight: 500; transition: transform .18s ease, background .18s ease; }
.r3-button:hover { background: var(--r3-green-deep); transform: translateY(-2px); }
.r3-button:active { transform: scale(.97); }
.r3-button--paper { background: #fff; color: var(--r3-green); }
.r3-button--paper:hover { background: #fbf8f0; }
.r3-section { padding: 96px 0; }
.r3-section--soft { background: var(--r3-ivory); }
.r3-section-head { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 31px; }
.r3-section-head h2 { margin: 8px 0 0; color: var(--r3-ink); font: 600 clamp(31px, 3.7vw, 47px)/1.3 var(--display); letter-spacing: -.08em; }
.r3-section-head > p { max-width: 376px; margin: 0 0 5px; color: var(--r3-muted); font-family: var(--sans); font-size: 14px; font-weight: 500; line-height: 1.78; }

/* home: hero and quick choices */
.r3-hero { background: var(--r3-facility-green); }
.r3-hero-grid { display: grid; grid-template-columns: 45% 55%; min-height: 562px; overflow: hidden; }
.r3-hero-copy { display: flex; flex-direction: column; justify-content: center; padding: 78px 58px 106px 0; background: var(--r3-facility-green); color: #fff; }
.r3-hero-copy .r3-eyebrow { color: #d7c08b; }
.r3-hero-copy h1 { max-width: 620px; margin: 14px 0 19px; color: #fff; font: 700 clamp(42px, 5vw, 64px)/1.2 var(--display); letter-spacing: -.085em; }
.r3-hero-copy h1 em { color: #fff; font-style: normal; }
.r3-hero-copy > p { max-width: 530px; margin: 0; color: #dce7df; font-family: var(--sans); font-size: 16px; font-weight: 500; line-height: 1.82; }
.r3-hero-actions { display: flex; align-items: center; gap: 10px; margin-top: 29px; }
.r3-hero-note { display: flex; align-items: center; gap: 8px; margin: 26px 0 0; color: #dce7df; font-family: var(--sans); font-size: 14px; font-weight: 500; line-height: 1.7; }
.r3-hero-note .ti { color: #d7c08b; font-size: 19px; }
.r3-hero-visual { position: relative; display: block; min-width: 0; margin: 0; overflow: hidden; background: var(--r3-facility-green); }
.r3-hero-visual img { position: relative; z-index: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: 74% center; }
.r3-hero-visual::before, .hub-r3-art::before, .facility-r3-art::before { position: absolute; z-index: 2; top: 0; bottom: 0; left: 0; width: clamp(120px, 15vw, 180px); background: linear-gradient(90deg, #165c50 0%, #165c50 14%, rgba(22,92,80,.94) 34%, rgba(22,92,80,.72) 58%, rgba(22,92,80,.22) 82%, rgba(22,92,80,0) 100%); content: ''; pointer-events: none; }
.r3-hero-visual::after, .hub-r3-art::after, .facility-r3-art::after { position: absolute; z-index: 1; inset: 0; background: rgba(10,49,41,.24); content: ''; mix-blend-mode: multiply; pointer-events: none; }
.r3-hero-caption { position: absolute; right: 8%; bottom: 8%; padding: 15px 17px; border-top: 2px solid var(--r3-green); background: rgba(255, 253, 248, .94); color: var(--r3-green); }
.r3-hero-caption small { display: block; margin-bottom: 4px; font-family: var(--numeric); font-size: 9px; font-weight: 700; letter-spacing: .12em; }
.r3-hero-caption strong { font: 600 16px/1.55 var(--display); letter-spacing: -.05em; }

.r3-quick { position: relative; z-index: 2; margin-top: -64px; }
.r3-quick-box { padding: 25px 30px; border: 1px solid var(--r3-line); border-radius: 16px; background: rgba(255, 255, 255, .97); box-shadow: var(--r3-shadow); }
.r3-quick-title { margin: 0 0 18px; color: var(--r3-ink); font: 600 23px var(--display); letter-spacing: -.05em; text-align: center; }
.r3-quick-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.r3-quick-item { display: grid; grid-template-columns: 50px 1fr; gap: 14px; align-items: center; padding: 10px 26px; border-right: 1px solid var(--r3-line); }
.r3-quick-item:last-child { border-right: 0; }
.r3-quick-icon { display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid #d7cbb6; border-radius: 50%; background: #fbf8f1; color: var(--r3-gold); }
.r3-quick-icon .ti { font-size: 24px; }
.r3-quick-item strong { display: block; color: var(--r3-green); font: 600 16px/1.45 var(--display); letter-spacing: -.05em; }
.r3-quick-item p { margin: 4px 0 0; color: #475a52; font-family: var(--sans); font-size: 14px; font-weight: 500; line-height: 1.65; }

/* home: provided-reference information sections */
.r3-first { padding: 100px 0; background: #fff; }
.r3-first-grid { display: grid; grid-template-columns: 1.03fr .97fr; gap: 64px; align-items: stretch; }
.r3-first-copy { display: flex; flex-direction: column; align-self: stretch; }
.r3-first-copy h2 { margin: 8px 0 17px; color: var(--r3-ink); font: 600 clamp(31px, 3.6vw, 45px)/1.33 var(--display); letter-spacing: -.08em; }
.r3-first-copy > p { max-width: 535px; margin: 0; color: var(--r3-muted); font-family: var(--sans); font-size: 15px; font-weight: 500; line-height: 1.84; }
.r3-first-now { display: grid; gap: 9px; margin-top: 23px; padding: 16px 17px; border: 1px solid #dce4db; border-radius: 12px; background: #f0f5ed; }
.r3-first-now > strong { display: flex; align-items: center; gap: 7px; padding-bottom: 8px; border-bottom: 1px solid #d5e1d7; color: #2b5547; font-family: var(--sans); font-size: 13px; font-weight: 700; }
.r3-first-now > strong .ti { color: var(--r3-green); font-size: 18px; }
.r3-first-now > div { display: grid; grid-template-columns: 27px minmax(0, 1fr); gap: 8px; align-items: start; }
.r3-first-now > div > span { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: #fff; color: var(--r3-green); }
.r3-first-now > div .ti { font-size: 14px; }
.r3-first-now p { margin: 1px 0 0; color: #486057; font-family: var(--sans); font-size: 13px; font-weight: 500; line-height: 1.6; }
.r3-first-now p b { display: inline; margin-right: 5px; color: #29483d; font-weight: 700; }
.r3-first-link { display: inline-flex; align-items: center; align-self: flex-start; gap: 9px; margin-top: auto; padding-bottom: 4px; border-bottom: 1px solid var(--r3-green); color: var(--r3-green); font-family: var(--sans); font-size: 13px; font-weight: 700; }
.r3-flow-list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.r3-flow-item { display: grid; grid-template-columns: 41px minmax(0, 1fr); gap: 13px; padding: 16px 17px; background: var(--r3-ivory); }
.r3-flow-item { border: 1px solid #ece8df; border-radius: 12px; padding: 18px; }
.r3-flow-num { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--r3-green); color: #fff; font-family: var(--numeric); font-size: 12px; font-weight: 700; }
.r3-flow-item strong { display: block; color: #28463a; font-family: var(--sans); font-size: 15px; font-weight: 700; }
.r3-flow-item p { margin: 3px 0 0; color: var(--r3-muted); font-family: var(--sans); font-size: 14px; font-weight: 500; line-height: 1.65; }

.r3-topic-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.r3-topic-card { display: flex; flex-direction: column; min-height: 187px; padding: 24px; border: 1px solid var(--r3-line); border-radius: 12px; background: var(--r3-paper); transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.r3-topic-card:hover { background: #f7faf5; box-shadow: var(--r3-shadow); transform: translateY(-3px); }
.r3-topic-top { display: flex; align-items: center; justify-content: space-between; }
.r3-topic-icon { color: var(--r3-green); font-size: 28px; }
.r3-topic-num { color: #87978d; font-family: var(--numeric); font-size: 11px; font-weight: 700; }
.r3-topic-card h3 { margin: 17px 0 6px; color: #203d33; font: 600 21px/1.35 var(--display); letter-spacing: -.06em; }
.r3-topic-card p { margin: 0; color: #475a52; font-family: var(--sans); font-size: 14px; font-weight: 500; line-height: 1.7; }
.r3-topic-card b { display: flex; align-items: center; gap: 6px; margin-top: auto; padding-top: 15px; color: var(--r3-green); font-family: var(--sans); font-size: 12px; font-weight: 700; }

.r3-facility-band { padding: 8px 0 0; background: var(--r3-paper); }
.r3-facility-box { display: grid; grid-template-columns: 45% 55%; min-height: 330px; overflow: hidden; border-radius: 16px; background: var(--r3-facility-green); color: #fff; }
.r3-facility-copy { display: flex; flex-direction: column; justify-content: center; padding: 43px 46px; background: var(--r3-facility-green); }
.r3-facility-copy .r3-eyebrow { color: #d7c08b; }
.r3-facility-copy h2 { margin: 8px 0 11px; font: 600 33px/1.27 var(--display); letter-spacing: -.07em; }
.r3-facility-copy p { max-width: 410px; margin: 0; color: #dce7df; font-family: var(--sans); font-size: 14px; font-weight: 500; line-height: 1.8; }
.r3-facility-copy .r3-button { align-self: flex-start; min-height: 46px; margin-top: 22px; border-color: #fff; background: #fff; color: var(--r3-green); }
.r3-facility-image { position: relative; display: block; min-width: 0; margin: 0; overflow: hidden; background: var(--r3-facility-green); }
.r3-facility-image::before { position: absolute; z-index: 1; top: 0; bottom: 0; left: 0; width: clamp(120px, 15vw, 180px); background: linear-gradient(90deg, #165c50 0%, rgba(22,92,80,.85) 25%, rgba(22,92,80,.4) 60%, rgba(22,92,80,0) 100%); content: ''; pointer-events: none; }
.r3-facility-image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 52% center; filter: none; }

.r3-facility-criteria { padding: 0 0 92px; background: var(--r3-paper); }
.r3-criteria-grid { display: grid; grid-template-columns: repeat(3, 1fr); overflow: hidden; border: 1px solid var(--r3-line); border-radius: 12px; background: #fff; }
.r3-criteria-card { padding: 24px; }
.r3-criteria-card + .r3-criteria-card { border-left: 1px solid var(--r3-line); }
.r3-criteria-card .ti { color: var(--r3-green); font-size: 26px; }
.r3-criteria-card h3 { margin: 12px 0 5px; color: #28473b; font: 600 16px var(--display); letter-spacing: -.045em; }
.r3-criteria-card p { margin: 0; color: var(--r3-muted); font-family: var(--sans); font-size: 14px; font-weight: 500; line-height: 1.68; }

.r3-popular { padding: 91px 0 98px; background: #f1eee6; }
.r3-popular-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.r3-popular-item { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px; border: 1px solid #dfd8ca; border-radius: 12px; background: #fffdf8; transition: transform .18s ease, box-shadow .18s ease; }
.r3-popular-item:hover { box-shadow: var(--r3-shadow); transform: translateY(-2px); }
.r3-popular-item strong { display: block; color: #264236; font: 600 18px/1.42 var(--display); letter-spacing: -.055em; }
.r3-popular-item p { margin: 4px 0 0; color: var(--r3-muted); font-family: var(--sans); font-size: 14px; font-weight: 500; line-height: 1.65; }
.r3-popular-item .ti { flex: 0 0 auto; color: var(--r3-green); font-size: 21px; }

.r3-standard-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.r3-standard-card { padding: 26px; border: 1px solid var(--r3-line); border-top: 2px solid var(--r3-green); border-radius: 12px; background: #fff; }
.r3-standard-card .ti { color: var(--r3-green); font-size: 29px; }
.r3-standard-card h3 { margin: 16px 0 8px; color: #204437; font: 600 20px var(--display); letter-spacing: -.06em; }
.r3-standard-card p { margin: 0; color: var(--r3-muted); font-family: var(--sans); font-size: 14px; font-weight: 500; line-height: 1.78; }

/* restored FAQ and closing */
.r3-faq { padding: 94px 0; background: #fff; }
.r3-faq-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.r3-faq-card { display: flex; flex-direction: column; min-height: 205px; padding: 24px; border: 1px solid var(--r3-line); border-radius: 12px; background: #fffdf8; transition: transform .18s ease, box-shadow .18s ease; }
.r3-faq-card:hover { box-shadow: var(--r3-shadow); transform: translateY(-2px); }
.r3-faq-card > .ti { color: var(--r3-green); font-size: 27px; }
.r3-faq-card h3 { margin: 13px 0 7px; color: #263f36; font: 600 18px/1.44 var(--display); letter-spacing: -.055em; }
.r3-faq-card p { margin: 0; color: var(--r3-muted); font-family: var(--sans); font-size: 14px; font-weight: 500; line-height: 1.72; }
.r3-faq-card b { display: flex; align-items: center; gap: 5px; margin-top: auto; padding-top: 16px; color: var(--r3-green); font-family: var(--sans); font-size: 12px; font-weight: 700; }
.r3-closing { padding: 0 0 96px; background: var(--r3-paper); }
.r3-closing-card { display: flex; align-items: center; justify-content: space-between; gap: 30px; overflow: hidden; padding: 42px 48px; border: 1px solid #d9d6cd; border-radius: 14px; background: linear-gradient(135deg, #f8f6ef 0%, #ece8dd 100%); }
.r3-closing h2 { margin: 8px 0 9px; color: #243e34; font: 600 clamp(29px, 3.4vw, 42px)/1.34 var(--display); letter-spacing: -.075em; }
.r3-closing p { max-width: 520px; margin: 0; color: var(--r3-muted); font-family: var(--sans); font-size: 14px; font-weight: 500; line-height: 1.76; }
.r3-closing-actions { display: flex; align-items: center; gap: 17px; flex: 0 0 auto; }
.r3-closing-link { display: inline-flex; align-items: center; gap: 6px; padding-bottom: 3px; border-bottom: 1px solid var(--r3-green); color: var(--r3-green); font-family: var(--sans); font-size: 13px; font-weight: 700; }

/* category hubs: context navigation plus original 4:3 image cards */
.hub-r3 { background: var(--r3-ivory); }
.hub-r3-shell { display: grid; grid-template-columns: 210px minmax(0, 1fr); width: min(1180px, calc(100% - 40px)); margin: auto; border-right: 1px solid var(--r3-line); border-left: 1px solid var(--r3-line); background: var(--r3-paper); }
.hub-r3-aside { padding: 58px 21px 40px; border-right: 1px solid var(--r3-line); background: #f8f5ed; }
.hub-r3-aside-title { padding-bottom: 15px; border-bottom: 1px solid #dcd8ce; color: var(--r3-green); font-family: var(--sans); font-size: 14px; font-weight: 700; }
.hub-r3-aside nav { display: grid; gap: 4px; margin-top: 18px; }
.hub-r3-aside nav a { display: grid; grid-template-columns: 25px 1fr; gap: 7px; align-items: center; padding: 10px 7px; border-left: 3px solid transparent; color: #607069; font-family: var(--sans); font-size: 13px; font-weight: 500; }
.hub-r3-aside nav a.is-active { border-left-color: var(--r3-green); background: #ecf0e8; color: var(--r3-green); font-weight: 700; }
.hub-r3-aside nav .ti { font-size: 17px; }
.hub-r3-aside-note { margin-top: 34px; padding: 17px; border: 1px solid #e1ddd3; background: linear-gradient(135deg, #fffdf8, #efebe2); }
.hub-r3-aside-note .ti { color: var(--r3-green); font-size: 24px; }
.hub-r3-aside-note strong { display: block; margin: 8px 0 4px; color: #29493f; font: 600 14px var(--display); }
.hub-r3-aside-note p { margin: 0; color: #53635c; font-family: var(--sans); font-size: 12px; font-weight: 500; line-height: 1.7; }
.hub-r3-main { min-width: 0; }
.hub-r3-hero { display: grid; grid-template-columns: 45% 55%; min-height: 387px; overflow: hidden; border-bottom: 1px solid var(--r3-line); background: var(--r3-facility-green); }
.hub-r3-copy { display: flex; flex-direction: column; justify-content: center; padding: 58px 47px 47px; background: var(--r3-facility-green); color: #fff; }
.hub-r3-crumb { margin: 0 0 26px; color: rgba(255,255,255,.72); font-family: var(--sans); font-size: 12px; font-weight: 500; }
.hub-r3-label, .facility-r3-label { margin: 0 0 9px; color: #d7c08b; font-family: var(--numeric); font-size: 11px; font-weight: 700; letter-spacing: .13em; }
.hub-r3-copy h1 { margin: 0; color: #fff; font: 600 clamp(37px, 4vw, 52px)/1.28 var(--display); letter-spacing: -.085em; }
.hub-r3-copy h1 em { color: #fff; font-style: normal; }
.hub-r3-lead { margin: 18px 0 0; color: #dce7df; font-family: var(--sans); font-size: 15px; font-weight: 500; line-height: 1.8; }
.hub-r3-art { position: relative; overflow: hidden; background: center / cover no-repeat; }
.hub-r3-art.is-preparation { background-image: url('../images/brand/hero-journey.jpg'); background-position: 58% center; }
.hub-r3-art.is-condolence { background-image: url('../images/layout-r3/hero-flowers.png'); background-position: center; }
.hub-r3-help { display: flex; gap: 13px; margin: 0 43px; padding: 19px 21px; border: 1px solid #dce1d8; background: #edf3ea; transform: translateY(-17px); }
.hub-r3-help > .ti { flex: 0 0 auto; color: var(--r3-green); font-size: 23px; }
.hub-r3-help strong { display: block; margin-bottom: 4px; color: var(--r3-green); font-family: var(--sans); font-size: 15px; font-weight: 700; }
.hub-r3-help p { margin: 0; color: #40564c; font-family: var(--sans); font-size: 14px; font-weight: 500; line-height: 1.75; }
.hub-r3-section { padding: 31px 45px 48px; }
.hub-r3-section h2 { margin: 0 0 17px; color: #263f36; font: 600 25px var(--display); letter-spacing: -.06em; }
.hub-r3-step-list { border-top: 1px solid #d7dbd3; }
.hub-r3-step { display: grid; grid-template-columns: 42px 50px minmax(0, 1fr) 25px; gap: 14px; align-items: center; padding: 20px 0; border-bottom: 1px solid #e3e5df; }
.hub-r3-step-number { color: #4b8976; font-family: var(--numeric); font-size: 12px; font-weight: 700; }
.hub-r3-step-icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: #f0eee5; color: var(--r3-green); }
.hub-r3-step-icon .ti { font-size: 23px; }
.hub-r3-step h3 { margin: 0 0 3px; color: #284439; font: 600 17px var(--display); letter-spacing: -.045em; }
.hub-r3-step p { margin: 0; color: var(--r3-muted); font-family: var(--sans); font-size: 14px; font-weight: 500; line-height: 1.7; }
.hub-r3-step > .ti { justify-self: end; color: #718177; font-size: 18px; }
.hub-r3-guides { padding: 36px 45px 54px; background: #fff; }
.hub-r3-guide-head { display: flex; justify-content: space-between; gap: 18px; align-items: end; margin-bottom: 17px; }
.hub-r3-guide-head p { margin: 0; color: var(--r3-muted); font-family: var(--sans); font-size: 14px; font-weight: 500; line-height: 1.72; }
.hub-r3-guide-count { color: #6b7b71; font-family: var(--numeric); font-size: 12px; font-weight: 700; }
.hub-r3 .hub-card-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
.hub-r3 .hub-card { border: 1px solid var(--r3-line); background: #fff; box-shadow: none; }
.hub-r3 .hub-card img, .hub-r3 .hub-card-slot { aspect-ratio: 4 / 3; }
.hub-r3 .hub-card-body { padding: 16px; }
.hub-r3 .hub-card-body small { color: var(--r3-green); font-family: var(--numeric); font-size: 10px; font-weight: 700; letter-spacing: .06em; }
.hub-r3 .hub-card h3 { margin: 7px 0 5px; color: #223e34; font: 600 18px/1.42 var(--display); letter-spacing: -.055em; }
.hub-r3 .hub-card p { margin: 0; color: var(--r3-muted); font-family: var(--sans); font-size: 14px; font-weight: 500; line-height: 1.68; }
.hub-r3 .hub-card b { color: var(--r3-green); font-family: var(--sans); font-size: 12px; font-weight: 700; }

/* facilities: only real database content, no ratings or testimonials */
.facility-r3 { width: min(1180px, calc(100% - 40px)); margin: auto; border-right: 1px solid var(--r3-line); border-left: 1px solid var(--r3-line); background: var(--r3-paper); }
.facility-r3-hero { display: grid; grid-template-columns: 45% 55%; min-height: 382px; overflow: hidden; background: var(--r3-facility-green); }
.facility-r3-copy { display: flex; flex-direction: column; justify-content: center; padding: 58px 50px 47px; background: var(--r3-facility-green); color: #fff; }
.facility-r3-copy .breadcrumb { margin: 0 0 26px; color: rgba(255,255,255,.72); font-family: var(--sans); font-size: 12px; }
.facility-r3-copy h1 { margin: 0; color: #fff; font: 600 clamp(37px, 4vw, 50px)/1.3 var(--display); letter-spacing: -.08em; }
.facility-r3-lead { margin: 18px 0 0; color: #dce7df; font-family: var(--sans); font-size: 15px; font-weight: 500; line-height: 1.8; }
.facility-r3-art { position: relative; min-height: 240px; background: url('../images/layout-r3/facility.png') 58% center / cover no-repeat; }
.facility-r3-action { display: none; }

@media (max-width: 760px) {
  .hub-r3-hero, .facility-r3-hero { grid-template-columns: 1fr; min-height: 0; }
  .hub-r3-copy, .facility-r3-copy { min-height: 0; padding: 46px 30px 39px; }
  .hub-r3-art, .facility-r3-art { min-height: 255px; }
  .hub-r3-art::before, .facility-r3-art::before { top: 0; right: 0; bottom: auto; left: 0; width: 100%; height: clamp(100px, 24vw, 150px); background: linear-gradient(180deg, #165c50 0%, rgba(22,92,80,.84) 34%, rgba(22,92,80,.38) 68%, rgba(22,92,80,0) 100%); }
}
.facility-r3-trust { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0 43px 24px; border: 1px solid var(--r3-line); background: #f1f0e9; }
.facility-r3-trust > div { display: flex; gap: 11px; padding: 17px; }
.facility-r3-trust > div + div { border-left: 1px solid var(--r3-line); }
.facility-r3-trust .ti { display: grid; flex: 0 0 39px; place-items: center; width: 39px; height: 39px; border-radius: 50%; background: #fff; color: var(--r3-green); font-size: 20px; }
.facility-r3-trust strong { display: block; color: #28453a; font-family: var(--sans); font-size: 14px; font-weight: 700; }
.facility-r3-trust span { display: block; margin-top: 3px; color: var(--r3-muted); font-family: var(--sans); font-size: 13px; font-weight: 500; line-height: 1.6; }
.facility-r3-search { margin: 0 43px 31px; padding: 23px; border: 1px solid var(--r3-line); background: #fff; box-shadow: 0 5px 18px rgba(30,40,34,.035); }
.facility-r3-search h2 { display: flex; align-items: center; gap: 8px; margin: 0 0 17px; color: #25463b; font: 600 21px var(--display); letter-spacing: -.05em; }
.facility-r3-search h2 .ti { color: var(--r3-green); font-size: 22px; }
.facility-r3-fields { display: grid; grid-template-columns: 1fr 1fr 1.25fr auto; gap: 10px; }
.facility-r3-field label { display: block; margin-bottom: 6px; color: #40564d; font-family: var(--sans); font-size: 12px; font-weight: 700; }
.facility-r3-field select, .facility-r3-field input { width: 100%; height: 44px; padding: 0 12px; border: 1px solid #d5d9d2; background: #fff; color: #3c5148; font-family: var(--sans); font-size: 13px; font-weight: 500; }
.facility-r3-submit { align-self: end; display: inline-flex; align-items: center; justify-content: center; gap: 7px; height: 44px; padding: 0 18px; border: 0; background: var(--r3-green); color: #fff; font-family: var(--sans); font-size: 13px; font-weight: 700; }
.facility-r3-section { padding: 0 43px 34px; }
.facility-r3-section-head { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 16px; }
.facility-r3-section-head h2 { margin: 0; color: #263f36; font: 600 23px var(--display); letter-spacing: -.06em; }
.facility-r3-section-head p { margin: 0; color: var(--r3-muted); font-family: var(--sans); font-size: 13px; font-weight: 500; }
.facility-r3-type-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; }
.facility-r3-type { display: flex; flex-direction: column; min-height: 137px; padding: 17px; border: 1px solid var(--r3-line); background: #fffdfa; transition: background .18s ease, transform .18s ease; }
.facility-r3-type:hover { background: #f0f5ed; transform: translateY(-2px); }
.facility-r3-type .ti { color: var(--r3-green); font-size: 27px; }
.facility-r3-type h3 { margin: 10px 0 4px; color: #294539; font: 600 15px var(--display); letter-spacing: -.045em; }
.facility-r3-type p { margin: 0; color: var(--r3-muted); font-family: var(--sans); font-size: 13px; font-weight: 500; line-height: 1.6; }
.facility-r3-type b { margin-top: auto; color: var(--r3-green); font-size: 15px; text-align: right; }
.facility-r3-results { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.facility-r3-card { display: flex; flex-direction: column; min-height: 205px; padding: 19px; border: 1px solid var(--r3-line); background: #fff; }
.facility-r3-card:hover { border-color: #bfcfc4; box-shadow: 0 8px 20px rgba(31,84,72,.08); }
.facility-r3-card-icon { display: grid; place-items: center; width: 43px; height: 43px; margin-bottom: 17px; border-radius: 50%; background: #eff3eb; color: var(--r3-green); }
.facility-r3-card-icon .ti { font-size: 22px; }
.facility-r3-card small { color: #527267; font-family: var(--numeric); font-size: 10px; font-weight: 700; letter-spacing: .06em; }
.facility-r3-card h3 { margin: 7px 0; color: #254237; font: 600 18px/1.42 var(--display); letter-spacing: -.055em; }
.facility-r3-card p { margin: 0; color: var(--r3-muted); font-family: var(--sans); font-size: 14px; font-weight: 500; line-height: 1.65; }
.facility-r3-card b { display: flex; align-items: center; gap: 5px; margin-top: auto; padding-top: 13px; color: var(--r3-green); font-family: var(--sans); font-size: 12px; font-weight: 700; }
.facility-r3-checks { display: grid; grid-template-columns: repeat(4, 1fr); padding: 19px 0; border: 1px solid var(--r3-line); background: #fff; }
.facility-r3-check { padding: 0 17px; }
.facility-r3-check + .facility-r3-check { border-left: 1px solid var(--r3-line); }
.facility-r3-check .ti { color: var(--r3-green); font-size: 25px; }
.facility-r3-check h3 { margin: 10px 0 4px; color: #2a473c; font: 600 14px var(--display); }
.facility-r3-check p { margin: 0; color: var(--r3-muted); font-family: var(--sans); font-size: 13px; font-weight: 500; line-height: 1.62; }
.r3-empty { margin: 0 43px 50px; padding: 44px; background: #f4f1e9; text-align: center; }
.r3-empty h2 { margin: 8px 0; color: #264338; font: 600 28px var(--display); }
.r3-empty p { max-width: 500px; margin: 0 auto 18px; color: var(--r3-muted); font-family: var(--sans); font-size: 14px; font-weight: 500; line-height: 1.75; }
.r3-empty a { color: var(--r3-green); font-family: var(--sans); font-size: 13px; font-weight: 700; }

@media (max-width: 900px) {
  .site-header__inner, .r3-wrap { width: calc(100% - 40px); }
  .site-nav { display: none; }
  .r3-hero-grid, .hub-r3-hero, .facility-r3-hero, .r3-first-grid, .r3-facility-box { grid-template-columns: 1fr; }
  .r3-hero-copy { padding: 61px 0 95px; }
  .r3-hero-visual { min-height: 365px; }
  .r3-quick { margin-top: -42px; }
  .r3-quick-grid { grid-template-columns: 1fr 1fr; }
  .r3-quick-item:nth-child(2) { border-right: 0; }
  .r3-quick-item:last-child { grid-column: 1 / -1; border-top: 1px solid var(--r3-line); border-right: 0; }
  .r3-section-head { align-items: flex-start; flex-direction: column; }
  .r3-topic-grid, .r3-standard-grid { grid-template-columns: 1fr 1fr; }
  .r3-facility-image { min-height: 250px; border-top: 1px solid rgba(250,247,238,.7); border-left: 0; }
  .r3-facility-criteria, .r3-first, .r3-popular { padding-bottom: 74px; }
  .r3-first { padding-top: 74px; }
  .r3-criteria-grid { grid-template-columns: 1fr; }
  .r3-criteria-card + .r3-criteria-card { border-top: 1px solid var(--r3-line); border-left: 0; }
  .hub-r3-shell { grid-template-columns: 1fr; width: calc(100% - 40px); border: 0; }
  .hub-r3-aside { display: none; }
  .hub-r3-copy, .facility-r3-copy { padding: 48px 30px 34px; }
  .hub-r3-art, .facility-r3-art { min-height: 255px; }
  .hub-r3-help { margin: 0 24px; }
  .hub-r3-section, .hub-r3-guides { padding-right: 28px; padding-left: 28px; }
  .facility-r3 { width: calc(100% - 40px); border: 0; }
  .facility-r3-trust { grid-template-columns: 1fr; margin-right: 24px; margin-left: 24px; }
  .facility-r3-trust > div + div { border-top: 1px solid var(--r3-line); border-left: 0; }
  .facility-r3-search, .facility-r3-section { margin-right: 24px; margin-left: 24px; }
  .facility-r3-section { padding-right: 0; padding-left: 0; }
  .facility-r3-fields { grid-template-columns: 1fr 1fr; }
  .facility-r3-submit { grid-column: 1 / -1; }
  .facility-r3-type-grid { grid-template-columns: repeat(3, 1fr); }
  .facility-r3-results { grid-template-columns: 1fr 1fr; }
  .facility-r3-checks { grid-template-columns: 1fr 1fr; }
  .facility-r3-check:nth-child(3) { border-left: 0; }
}

@media (max-width: 620px) {
  .site-header__inner, .r3-wrap { width: calc(100% - 28px); }
  .site-header__inner { min-height: 66px; }
  .brand-name { font-size: 19px; }
  .search-pill { padding: 8px 10px; font-size: 12px; }
  .r3-hero { background: #f6f3ea; }
  .r3-hero-copy { padding: 48px 0 26px; }
  .r3-hero-copy h1 { font-size: 39px; }
  .r3-hero-copy > p { font-size: 15px; }
  .r3-hero-actions { align-items: stretch; flex-direction: column; }
  .r3-hero-visual { min-height: 294px; }
  .r3-hero-visual img { object-position: center; }
  .r3-hero-caption { right: 7%; bottom: 7%; }
  .r3-quick-box { padding: 21px 17px; }
  .r3-quick-title { font-size: 20px; text-align: left; }
  .r3-quick-grid, .r3-topic-grid, .r3-standard-grid, .r3-popular-grid, .hub-r3 .hub-card-grid, .facility-r3-fields, .facility-r3-type-grid, .facility-r3-results, .facility-r3-checks { grid-template-columns: 1fr; }
  .r3-quick-item, .r3-quick-item:nth-child(2), .r3-quick-item:last-child { grid-column: auto; padding: 15px 0; border-top: 1px solid var(--r3-line); border-right: 0; }
  .r3-quick-item:first-child { border-top: 0; }
  .r3-section, .r3-first, .r3-popular { padding: 63px 0; }
  .r3-facility-criteria { padding-bottom: 63px; }
  .r3-section-head h2, .r3-first-copy h2 { font-size: 30px; }
  .r3-topic-card { min-height: 165px; }
  .r3-facility-copy { padding: 33px 24px 28px; }
  .r3-facility-copy h2 { font-size: 28px; }
  .r3-facility-image { min-height: 215px; }
  .r3-flow-item { padding: 15px; }
  .r3-popular-item { padding: 18px; }
  .r3-popular-item strong { font-size: 17px; }
  .hub-r3-shell, .facility-r3 { width: calc(100% - 28px); }
  .hub-r3-copy, .facility-r3-copy { padding: 36px 19px 27px; }
  .hub-r3-copy h1, .facility-r3-copy h1 { font-size: 34px; }
  .hub-r3-help { margin: 0 14px; padding: 17px; }
  .hub-r3-section, .hub-r3-guides { padding-right: 18px; padding-left: 18px; }
  .hub-r3-step { grid-template-columns: 30px 42px minmax(0, 1fr); gap: 10px; }
  .hub-r3-step-icon { width: 42px; height: 42px; }
  .hub-r3-step > .ti { display: none; }
  .hub-r3-step p { font-size: 13px; }
  .facility-r3-trust, .facility-r3-search, .facility-r3-section { margin-right: 14px; margin-left: 14px; }
  .facility-r3-search { padding: 18px; }
  .facility-r3-submit { grid-column: auto; }
  .facility-r3-check + .facility-r3-check { border-top: 1px solid var(--r3-line); border-left: 0; }
  .facility-r3-check { padding: 15px 17px; }
  .r3-empty { margin-right: 14px; margin-left: 14px; padding: 34px 19px; }
}

/* R3.2: responsive FAQ, closing and wide facility image fade */
@media (max-width: 900px) {
  .r3-facility-image { border: 0; }
  .r3-facility-image::before { top: 0; right: 0; bottom: auto; width: auto; height: 142px; background: linear-gradient(180deg, #165c50 0%, rgba(22,92,80,.82) 27%, rgba(22,92,80,.36) 63%, rgba(22,92,80,0) 100%); }
  .r3-faq-grid { grid-template-columns: 1fr; }
  .r3-closing-card { align-items: flex-start; flex-direction: column; padding: 37px; }
}

@media (max-width: 620px) {
  .r3-facility-copy { padding: 33px 24px; }
  .r3-facility-image::before { height: 118px; }
  .r3-flow-item, .r3-faq-card { padding: 20px; }
  .r3-faq { padding: 64px 0; }
  .r3-closing { padding-bottom: 64px; }
  .r3-closing-card { gap: 23px; padding: 28px 22px; border-radius: 12px; }
  .r3-closing h2 { font-size: 29px; }
  .r3-closing-actions { align-items: flex-start; flex-direction: column; gap: 13px; }
}

/* R3.4: no white-band hero blending; preserves the deep-green visual bridge on every breakpoint */
@media (max-width: 900px) {
  .r3-hero { background: var(--r3-facility-green); }
  .r3-hero-grid, .hub-r3-hero, .facility-r3-hero { grid-template-columns: 1fr; }
  .r3-hero-visual, .hub-r3-art, .facility-r3-art { min-height: 255px; }
  .r3-hero-visual::before, .hub-r3-art::before, .facility-r3-art::before { top: 0; right: 0; bottom: auto; left: 0; width: 100%; height: clamp(106px, 24vw, 158px); background: linear-gradient(180deg, #165c50 0%, #165c50 13%, rgba(22,92,80,.93) 37%, rgba(22,92,80,.67) 62%, rgba(22,92,80,.2) 84%, rgba(22,92,80,0) 100%); }
}

@media (max-width: 620px) {
  .r3-hero { background: var(--r3-facility-green); }
  .r3-hero-copy { padding: 48px 0 30px; }
  .r3-hero-visual { min-height: 294px; }
}

/* R3.5: restore the approved paper-toned main hero; keep image blending inside guide heroes only */
.r3-hero { background: linear-gradient(90deg, #f6f3ea 0 52%, #ece7de 52% 100%); }
.r3-hero-grid { grid-template-columns: 1.04fr .96fr; overflow: visible; }
.r3-hero-copy { background: transparent; color: var(--r3-ink); }
.r3-hero-copy .r3-eyebrow { color: var(--r3-green); }
.r3-hero-copy h1 { color: var(--r3-ink); }
.r3-hero-copy h1 em { color: var(--r3-green); }
.r3-hero-copy > p { color: var(--r3-muted); }
.r3-hero-note { color: #42584f; }
.r3-hero-note .ti { color: var(--r3-green); }
.r3-hero-visual { background: #e5ded0; }
.r3-hero-visual img { object-position: 63% center; }
.r3-hero-visual::before { display: block; width: clamp(120px, 15vw, 180px); background: linear-gradient(90deg, #f6f3ea 0%, #f6f3ea 15%, rgba(246,243,234,.92) 35%, rgba(246,243,234,.58) 61%, rgba(246,243,234,.18) 84%, rgba(246,243,234,0) 100%); }
.r3-hero-visual::after { display: none; }
.hub-r3-help { position: relative; z-index: 0; margin: 0 43px; transform: none; }

@media (max-width: 900px) {
  .r3-hero { background: #f6f3ea; }
  .r3-hero-grid { grid-template-columns: 1fr; overflow: visible; }
  .r3-hero-copy { background: transparent; }
  .r3-hero-visual::before { top: 0; right: 0; bottom: auto; left: 0; width: auto; height: clamp(96px, 19vw, 148px); background: linear-gradient(180deg, #f6f3ea 0%, #f6f3ea 16%, rgba(246,243,234,.91) 37%, rgba(246,243,234,.55) 64%, rgba(246,243,234,.15) 86%, rgba(246,243,234,0) 100%); }
  .hub-r3-help { margin: 0 24px; }
}

@media (max-width: 620px) {
  .r3-hero { background: #f6f3ea; }
  .r3-hero-copy { padding: 48px 0 26px; }
  .hub-r3-help { margin: 0 14px; }
}
