/* Reference structure study — Cheongsonara content. */
.reference-home {--ref-blue:#2f6ee0;--ref-black:#142331;--ref-soft:#f3f8fc;}
.ref-container,.reference-home .wrap {width:100%;max-width:1072px;margin:auto;padding-left:24px;padding-right:24px;}
.reference-home .hero.hero--cinematic {height:calc(100svh - var(--header-h));min-height:560px;aspect-ratio:auto;}
.reference-home .hero--cinematic .hero-video {object-fit:cover;}
.reference-home .hero--cinematic .interior-copy {max-width:1072px;}
.reference-home .hero--cinematic h1 {font-size:clamp(38px,4.7vw,68px);font-weight:650;line-height:1.25;}
.ref-stat-band {background:var(--ref-blue);color:#fff;padding:52px 0;}
.ref-stat-grid {display:grid;grid-template-columns:repeat(3,1fr);text-align:center;gap:28px;}
.ref-stat-grid p {color:#fff;font-size:56px;font-weight:650;line-height:1.1;font-variant-numeric:tabular-nums;margin-bottom:16px;}
.ref-stat-grid small {font-size:24px;margin-left:5px;}
.ref-stat-grid > div > span {font-size:14px;opacity:.9;}
.reference-home #services {padding:150px 0;}
.reference-home .service-editorial-head {margin-bottom:72px;}
.reference-home .service-editorial-head h2,.reference-home .section-editorial-head h2 {font-size:clamp(30px,3.5vw,48px);font-weight:650;}
.reference-home .service-editorial-grid {grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;max-width:none;}
.reference-home .service-editorial-card {padding:32px 24px;}
.reference-home .service-editorial-card h3 {font-size:22px;font-weight:600;}
.reference-home .service-editorial-card p {font-size:14px;}
.reference-home .service-detail {gap:10px;}
.reference-home #representative {padding:150px 0 90px;background:var(--ref-soft);}
.reference-home .representative-editorial {grid-template-columns:1fr 1fr;gap:56px;}
.reference-home .representative-portrait {grid-column:2;grid-row:1;width:100%;max-width:420px;justify-self:end;}
.reference-home .representative-editorial-copy {grid-column:1;grid-row:1;}
.reference-home .representative-editorial-copy h2 {font-size:clamp(28px,3vw,42px);font-weight:600;}
.reference-home .profile-commitments {display:none;}
.reference-home .profile-eyebrow,.ref-kicker {font-size:12px;letter-spacing:.12em;color:#2f6ee0;}
.reference-home #reviews {padding:112px 0;background:#f9fbfd;}
.reference-home .section-editorial-head {margin-bottom:64px;}
.reference-home .review-editorial-image {aspect-ratio:3/4;}
.reference-home .review-editorial-card {border-radius:14px;overflow:hidden;}
.ref-more {text-align:center;margin-top:44px;}
.ref-outline {background:transparent;border:1px solid #c7d7e4;padding:18px 32px;font-size:14px;color:#6a8093;}
.ref-scope {background:#f9fbfd;padding:80px 0 112px;}
.ref-scope h2 {font-size:34px;margin:12px 0;}
.ref-description {font-size:13px;margin-bottom:40px;}
.ref-range-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;}
.ref-range-card {text-align:left;border:1px solid #d9e5ef;border-radius:14px;overflow:hidden;padding:0;background:white;cursor:pointer;transition:transform .25s;}
.ref-range-card:hover {transform:translateY(-4px);}
.ref-range-photo {display:block;height:130px;overflow:hidden;}
.ref-range-photo img {width:100%;height:100%;object-fit:cover;}
.ref-range-copy {display:block;padding:18px;}
.ref-range-copy > strong {display:block;font-size:20px;margin:8px 0 14px;font-weight:600;}
.ref-range-copy .ref-kicker {font-size:9px;}
.ref-range-items {display:block;min-height:142px;}
.ref-range-items ul {font-size:11px;line-height:1.8;color:#607588;display:grid;gap:4px;}
.ref-range-link {display:block;font-size:10px;margin-top:18px;color:#35658a;}
.ref-detail {background:#111c27;padding:150px 0;color:#fff;}
.ref-detail-layout {display:grid;grid-template-columns:1fr 2fr;gap:64px;}
.ref-detail h2 {color:white;font-size:36px;line-height:1.4;}
.ref-detail-stats {display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:40px;padding-top:36px;border-top:1px solid #ffffff30;}
.ref-detail-stats strong {font-size:28px;color:#fff;}
.ref-detail-stats strong span {font-size:16px;}
.ref-detail-stats p {font-size:12px;color:#bac9d7;margin-top:8px;}
.ref-points {display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.ref-points > div {padding:28px 24px;background:#ffffff08;border:1px solid #ffffff18;}
.ref-points > div > span {font-size:10px;letter-spacing:.08em;color:#8ab9f1;}
.ref-points h3 {color:#fff;font-size:16px;line-height:1.6;margin-top:14px;font-weight:500;}
.reference-home .ref-faq {padding:112px 0;}
.reference-home .faq-wrap {max-width:850px;}
.reference-home .ref-faq .sec-head {text-align:center;}
.reference-home .ref-faq h2 {font-size:36px;font-weight:600;}
.reference-home .ref-final {min-height:400px;text-align:center;}
.reference-home .ref-final .wrap {display:flex;flex-direction:column;align-items:center;}
.ref-range-dialog {width:min(720px,calc(100% - 32px));max-height:85svh;border:1px solid #d8e7f2;border-radius:12px;padding:28px;color:#203548;}
.ref-range-dialog::backdrop {background:#0c1e32b3;}
.ref-dialog-head {display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px;}
.ref-dialog-head h2 {font-size:18px;}
.ref-dialog-head button {border:1px solid #cadce9;background:#fff;padding:8px 12px;cursor:pointer;}
.ref-range-dialog .ref-range-photo {height:250px;}
.ref-range-dialog .ref-range-items {min-height:0;}
.ref-range-dialog .ref-range-items ul {font-size:15px;}
.ref-range-dialog .ref-range-link {display:none;}
@media(max-width:900px) {.reference-home .service-editorial-grid {grid-template-columns:1fr 1fr;}.ref-detail-layout {grid-template-columns:1fr;}.ref-detail-stats {max-width:500px;}}
@media(max-width:760px) {
.reference-home .hero.hero--cinematic {height:calc(100svh - var(--header-h));min-height:560px;background:#142331;}
.reference-home .hero--cinematic .hero-video {position:absolute;height:100%;object-fit:cover;}
.reference-home .hero--cinematic .interior-copy {position:absolute;height:100%;padding:32px 24px;}
.reference-home .hero--cinematic .interior-shade {display:block;background:#0c1e3266;}
.reference-home .hero--cinematic h1 {font-size:34px;color:#fff;}
.reference-home .hero-description,.reference-home .interior-eyebrow,.reference-home .hero-area {color:#fff;}
.reference-home .hero-consult {background:#fff;color:#203548;border-color:#fff;}
.ref-stat-band {padding:36px 0;}.ref-stat-grid {gap:12px;}.ref-stat-grid p {font-size:36px;}.ref-stat-grid small {font-size:17px;}.ref-stat-grid > div > span {font-size:11px;}
.reference-home #services,.reference-home #representative,.reference-home #reviews,.ref-scope,.ref-detail,.reference-home .ref-faq {padding:72px 0;}
.reference-home .service-editorial-grid {gap:12px;}.reference-home .service-editorial-card {padding:24px 16px;}.reference-home .service-editorial-card h3 {font-size:18px;}.reference-home .service-editorial-card p {font-size:12px;}
.reference-home .representative-editorial {grid-template-columns:1fr;gap:36px;}.reference-home .representative-editorial-copy {grid-column:1;grid-row:1;}.reference-home .representative-portrait {grid-column:1;grid-row:2;justify-self:center;}
.reference-home .review-editorial-grid {display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:82%;overflow-x:auto;scroll-snap-type:x mandatory;gap:16px;padding-bottom:12px;}.review-editorial-card {scroll-snap-align:start;}
.ref-range-grid {display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:72%;grid-template-rows:1fr;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:16px;}.ref-range-card {scroll-snap-align:start;}.ref-range-photo {height:170px;}
.ref-detail-layout {gap:36px;}.ref-points {gap:12px;}.ref-points > div {padding:22px 16px;}.ref-points h3 {font-size:14px;}.ref-detail h2 {font-size:30px;}
}
@media(prefers-reduced-motion:reduce) {.ref-range-card {transition:none;}}

/* BROS-inspired statistics: white space, black numbers, quiet labels. */
.ref-stat-band {background:#fff; color:#111; padding:clamp(64px,8vw,112px) 0; border:0;}
.ref-stat-grid {max-width:1120px; gap:48px;}
.ref-stat-grid > div {padding:12px 0;}
.ref-stat-grid p {display:flex; align-items:baseline; justify-content:center; color:#111; font-size:clamp(58px,7.5vw,100px); line-height:1; font-weight:700; letter-spacing:-.055em; margin-bottom:24px;}
.ref-stat-grid p [data-count] {min-width:0; font-variant-numeric:tabular-nums;}
.ref-stat-grid small {font-size:clamp(24px,3vw,36px); font-weight:600; letter-spacing:-.03em; margin-left:7px;}
.ref-stat-grid > div > span {font-size:16px; font-weight:400; color:#777; opacity:1; letter-spacing:-.02em;}
.ref-stat-band.is-count-visible .ref-stat-grid > div {animation:stat-rise .85s cubic-bezier(.22,.8,.24,1) both;}
.ref-stat-band.is-count-visible .ref-stat-grid > div:nth-child(2) {animation-delay:.15s;}
.ref-stat-band.is-count-visible .ref-stat-grid > div:nth-child(3) {animation-delay:.3s;}
@keyframes stat-rise {from {opacity:0;transform:translateY(24px);}to {opacity:1;transform:translateY(0);}}
@media(max-width:760px) {
 .ref-stat-band {padding:56px 0;}
 .ref-stat-grid {gap:12px;padding-left:16px;padding-right:16px;}
 .ref-stat-grid p {font-size:clamp(38px,10vw,62px);margin-bottom:16px;}
 .ref-stat-grid small {font-size:19px;margin-left:3px;}
 .ref-stat-grid > div > span {font-size:11px;}
}
@media(prefers-reduced-motion:reduce) {.ref-stat-band.is-count-visible .ref-stat-grid > div {animation:none;}}

/* Sky-blue statistics with an editorial statement and fine dividers. */
.statistics-editorial {padding:80px 0 64px;background:linear-gradient(180deg,#fff,#fafdff 60%,#fff);}
.statistics-intro {text-align:center;margin-bottom:42px;}
.statistics-intro > span {font-size:11px;letter-spacing:.12em;color:#7892a5;}
.statistics-intro h2 {font-size:clamp(25px,3vw,38px);font-weight:500;line-height:1.5;letter-spacing:-.035em;margin-top:16px;color:#203548;}
.statistics-editorial .ref-stat-grid {padding:0;gap:0;border-top:1px solid #e0eaf1;border-bottom:1px solid #e0eaf1;}
.statistics-editorial .ref-stat-grid > div {padding:32px 18px 34px;}
.statistics-editorial .ref-stat-grid > div + div {border-left:1px solid #e0eaf1;}
.statistics-editorial .ref-stat-grid p {color:#438fc7;font-size:clamp(54px,6.6vw,84px);margin-bottom:18px;}
.statistics-editorial .ref-stat-grid small {font-size:30px;}
.statistics-editorial .ref-stat-grid > div > span {font-size:14px;font-weight:600;color:#2c4558;}
.statistics-editorial .ref-stat-grid em {display:block;margin-top:10px;font-style:normal;color:#7a8d9b;font-size:12px;line-height:1.7;}
.statistics-closing {text-align:center;font-size:12px;margin-top:28px;color:#78909f;}
/* Reserved profile slots; no sample faces or invented employee names. */
.team-reserved {background:#f3f8fc;padding:0 0 72px;}
.team-reserved-head {display:flex;justify-content:space-between;align-items:flex-end;gap:24px;border-top:1px solid #d9e6f0;padding-top:32px;margin-bottom:24px;}
.team-reserved-head h2 {font-size:23px;font-weight:500;letter-spacing:-.03em;margin-top:10px;}
.team-reserved-head p {font-size:12px;max-width:320px;line-height:1.8;}
.team-reserved-grid {display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px;}
.team-empty-photo {width:100%;aspect-ratio:4/5;background:#e8f1f8;border:1px dashed #c5d8e7;}
.team-reserved-slot > span {display:block;text-align:center;font-size:10px;letter-spacing:.02em;color:#8094a4;margin-top:10px;}
@media(max-width:760px) {
 .statistics-editorial {padding:48px 0 40px;}
 .statistics-intro {margin-bottom:28px;}
 .statistics-intro h2 {font-size:24px;}
 .statistics-editorial .ref-stat-grid > div {padding:26px 8px;}
 .statistics-editorial .ref-stat-grid p {font-size:clamp(35px,9vw,54px);margin-bottom:14px;}
 .statistics-editorial .ref-stat-grid small {font-size:18px;}
 .statistics-editorial .ref-stat-grid > div > span {font-size:11px;}
 .statistics-editorial .ref-stat-grid em {font-size:10px;margin-top:8px;}
 .statistics-closing {font-size:11px;margin-top:22px;}
 .team-reserved {padding-bottom:48px;}
 .team-reserved-head {display:block;padding-top:28px;}
 .team-reserved-head h2 {font-size:21px;}
 .team-reserved-head p {margin-top:12px;font-size:12px;}
 .team-reserved-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 12px;}
}
