:root {
  --ohrb-navy: #0d315f;
  --ohrb-deep: #071f3d;
  --ohrb-orange: #ef6d22;
  --ohrb-orange-soft: #fff0e6;
  --ohrb-copy: #536273;
  --ohrb-line: #dbe4ee;
  --ohrb-muted: #f3f6fa;
}

.ohrb-page,
.editor-styles-wrapper .ohrb-page { color:#152332; font-family:Pretendard,"Noto Sans KR",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; word-break:keep-all; }
.ohrb-template-page { margin:0; }
.ohrb-template-page .ohrb-page { width:100%; max-width:none; margin:0; }
.ohrb-page * { box-sizing:border-box; }
.ohrb-page .ohrb-shell { width:min(1120px,calc(100% - 48px)); max-width:none!important; margin-left:auto!important; margin-right:auto!important; }
.ohrb-page h1,.ohrb-page h2,.ohrb-page h3,.ohrb-page p { margin-top:0; }
.ohrb-page h2 { margin-bottom:46px; color:var(--ohrb-deep); font-size:clamp(36px,4vw,54px); line-height:1.22; letter-spacing:-.055em; }
.ohrb-page h3 { color:var(--ohrb-navy); }
.ohrb-label { margin-bottom:14px!important; color:var(--ohrb-orange); font-size:16px; font-weight:800; }
.ohrb-section { padding:108px 0; }
.ohrb-section > *,
.ohrb-brand-message > *,
.ohrb-experience > *,
.ohrb-gallery-section > *,
.ohrb-offer > * { width:min(1120px,calc(100% - 48px)); max-width:1120px!important; margin-left:auto!important; margin-right:auto!important; }
.ohrb-muted { background:var(--ohrb-muted); }

.ohrb-hero { padding:76px 0 82px; background:linear-gradient(135deg,#f4f7fb 0%,#edf3f8 58%,#fff8f2 100%); }
.ohrb-hero-columns { gap:58px; }
.ohrb-hero-title { color:var(--ohrb-navy); font-size:clamp(46px,5vw,70px); font-weight:600; line-height:1.08; letter-spacing:-.065em; }
.ohrb-hero-title strong { color:var(--ohrb-orange); font-weight:900; }
.ohrb-lead { color:#36495c; font-size:19px; line-height:1.75; }
.ohrb-hero-image { height:650px; margin:0!important; overflow:hidden; border-radius:28px; box-shadow:0 28px 65px rgba(13,49,95,.17); }
.ohrb-hero-image img { width:100%; height:100%; object-fit:cover; }
.ohrb-benefit-summary { margin:28px 0 0!important; padding:23px 25px; border:1px solid rgba(13,49,95,.13); border-radius:20px; background:#fff; box-shadow:0 18px 45px rgba(13,49,95,.09); }
.ohrb-benefit-summary h3 { font-size:16px; }
.ohrb-check-list { padding-left:0!important; list-style:none!important; }
.ohrb-check-list li { position:relative; padding:8px 0 8px 34px; font-weight:750; }
.ohrb-check-list li::before { content:"✓"; position:absolute; left:0; top:7px; display:grid; place-items:center; width:23px; height:23px; border-radius:50%; color:#fff; background:var(--ohrb-orange); font-size:12px; }
.ohrb-check-list strong { float:right; color:var(--ohrb-orange); }
.ohrb-total { margin-bottom:0!important; padding:13px; border-radius:10px; color:var(--ohrb-navy); background:var(--ohrb-orange-soft); text-align:center; font-weight:750; }
.ohrb-total strong { color:var(--ohrb-orange); font-size:21px; }
.ohrb-buttons { margin-top:24px; }
.ohrb-page .wp-block-button__link { min-height:56px; display:flex; align-items:center; justify-content:center; padding:0 25px; border-radius:12px; font-size:17px; font-weight:850; text-decoration:none; }
.ohrb-button-orange .wp-block-button__link { color:#fff!important; background:var(--ohrb-orange)!important; }
.ohrb-button-outline .wp-block-button__link { color:var(--ohrb-navy)!important; border-color:var(--ohrb-navy)!important; background:#fff!important; }
.ohrb-button-kakao .wp-block-button__link { color:#322b00!important; background:#fee500!important; }

.ohrb-story-columns { gap:56px; color:var(--ohrb-copy); font-size:18px; line-height:1.9; }
.ohrb-quote { padding:38px!important; border-radius:22px; color:#e6eef7; background:var(--ohrb-navy); box-shadow:18px 18px 0 #e9eff6; }
.ohrb-quote h3 { color:#ffad73; font-size:24px; }
.ohrb-answer { margin-top:68px!important; padding-top:50px; border-top:1px solid var(--ohrb-line); text-align:center; }
.ohrb-answer h3 { color:var(--ohrb-orange); font-size:clamp(38px,4vw,55px); }

.ohrb-brand-message { padding:108px 0; color:#fff; background:linear-gradient(135deg,var(--ohrb-deep),var(--ohrb-navy)); text-align:center; }
.ohrb-brand-message p { color:#fff; font-size:clamp(26px,3vw,40px); font-weight:650; line-height:1.65; }
.ohrb-brand-message h2 { margin:30px 0 0; color:#ff914f; font-size:clamp(38px,4.3vw,58px); }

.ohrb-card-grid,.ohrb-assurance-grid { gap:16px; }
.ohrb-card-grid>.wp-block-group,.ohrb-assurance-grid>.wp-block-group { flex:1 1 0; }
.ohrb-card { height:100%; min-height:290px; padding:27px 25px; border:1px solid var(--ohrb-line); border-radius:18px; background:#fff; }
.ohrb-number { color:var(--ohrb-orange); font-size:14px; font-weight:850; }
.ohrb-card h3 { margin-top:48px; font-size:23px; }
.ohrb-card p:last-child { color:var(--ohrb-copy); line-height:1.75; }

.ohrb-experience { color:#cfdae7; background:var(--ohrb-deep); }
.ohrb-experience h2 { color:#fff; }
.ohrb-experience p { line-height:1.8; }
.ohrb-experience-strong { padding-left:20px; border-left:3px solid var(--ohrb-orange); color:#fff; }
.ohrb-stats>.wp-block-group { margin-bottom:14px; padding:23px 25px; border:1px solid rgba(255,255,255,.16); border-radius:16px; background:rgba(255,255,255,.06); }
.ohrb-stats h3 { margin-bottom:5px; color:#ff9b58; font-size:40px; }
.ohrb-stats p { margin-bottom:0; }

.ohrb-gallery { gap:18px!important; }
.ohrb-gallery figure { overflow:hidden; border:1px solid var(--ohrb-line); border-radius:17px; background:#fff; box-shadow:0 12px 28px rgba(8,38,75,.08); }
.ohrb-gallery img { min-height:250px; object-fit:cover; }
.ohrb-gallery figcaption { padding:14px 16px!important; color:var(--ohrb-deep)!important; background:#fff!important; font-weight:800; text-align:left!important; }
.ohrb-gallery-section.is-slider .ohrb-gallery-controls { display:flex; align-items:center; justify-content:flex-end; gap:10px; margin:-82px 0 32px; }
.ohrb-gallery-controls button { width:44px; height:44px; padding:0; border:1px solid #d8e1eb; border-radius:50%; color:var(--ohrb-deep); background:#fff; cursor:pointer; font-size:20px; }
.ohrb-gallery-count { min-width:42px; color:#63758b; font-size:14px; font-weight:800; text-align:center; }
.ohrb-gallery-viewport { overflow:hidden; touch-action:pan-y; }
.ohrb-gallery-section.is-slider .ohrb-gallery { display:flex!important; flex-wrap:nowrap!important; gap:18px!important; margin:0; transition:transform .55s ease; will-change:transform; }
.ohrb-gallery-section.is-slider .ohrb-gallery figure { flex:0 0 calc((100% - 36px)/3)!important; width:calc((100% - 36px)/3)!important; margin:0!important; }
.ohrb-gallery-dots { display:flex; justify-content:center; gap:7px; margin-top:24px; }
.ohrb-gallery-dots button { width:7px; height:7px; padding:0; border:0; border-radius:99px; background:#ccd6e1; cursor:pointer; transition:width .2s ease,background .2s ease; }
.ohrb-gallery-dots button.is-active { width:24px; background:var(--ohrb-orange); }
.ohrb-fit .wp-block-columns { gap:70px; }
.ohrb-fit-image { height:270px; overflow:hidden; border-radius:18px; }
.ohrb-fit-image img { width:100%; height:100%; object-fit:cover; }
.ohrb-fit-list li { margin-bottom:11px; padding:18px 22px 18px 58px; border:1px solid var(--ohrb-line); border-radius:13px; background:#fff; }
.ohrb-fit-list li::before { left:20px; top:17px; }

.ohrb-assurance-grid .ohrb-card { border-top:4px solid var(--ohrb-orange); border-radius:0 0 16px 16px; background:var(--ohrb-muted); }
.ohrb-assurance-note { max-width:850px; margin:70px auto 0!important; color:#6a7887; font-size:20px; line-height:1.7; text-align:center; }
.ohrb-assurance-note strong { color:var(--ohrb-navy); }

.ohrb-price-card { padding:28px 32px!important; border-radius:20px; color:#d8e2ec; background:var(--ohrb-navy); box-shadow:0 18px 40px rgba(13,49,95,.18); }
.ohrb-price-card h3 { margin:10px 0; color:#fff; font-size:21px; }
.ohrb-price-card strong { color:#ff9b58; font-size:36px; }
.ohrb-price-list { margin:40px 0 26px!important; overflow:hidden; border:1px solid var(--ohrb-line); border-radius:16px; background:#fff; }
.ohrb-price-list p { flex:1 1 150px; margin:0!important; padding:19px 12px; text-align:center; }
.ohrb-price-list strong { color:var(--ohrb-navy); }
.ohrb-benefit-row .wp-block-column,.ohrb-choice-card { overflow:hidden; border:1px solid var(--ohrb-line); border-radius:18px; background:#fff; }
.ohrb-benefit-row .wp-block-column>h3,.ohrb-benefit-row .wp-block-column>p { padding-left:26px; padding-right:26px; }
.ohrb-benefit-image { height:220px; margin:0!important; }
.ohrb-benefit-image img { width:100%; height:100%; object-fit:cover; }
.ohrb-choice-title { display:flex; align-items:center; gap:18px; margin:42px 0 18px; color:var(--ohrb-navy); text-align:center; }
.ohrb-choice-title::before,.ohrb-choice-title::after { content:""; height:2px; flex:1; background:var(--ohrb-orange); }
.ohrb-choice-grid { gap:16px; }
.ohrb-choice-card>.wp-block-group { padding:24px 28px; }
.ohrb-small-badge { display:inline-block; padding:7px 10px; border-radius:7px; color:var(--ohrb-orange); background:var(--ohrb-orange-soft); font-size:14px; font-weight:850; }

.ohrb-final { position:relative; min-height:700px; display:flex; align-items:center; overflow:hidden; color:#fff; background:var(--ohrb-deep); }
.ohrb-final-image { position:absolute; inset:0 0 0 42%; margin:0!important; }
.ohrb-final-image img { width:100%; height:100%; object-fit:cover; opacity:.72; }
.ohrb-final::after { content:""; position:absolute; inset:0; background:linear-gradient(to right,var(--ohrb-deep) 35%,rgba(7,31,61,.25)); pointer-events:none; }
.ohrb-final-content { position:relative; z-index:1; }
.ohrb-final-content h2 { max-width:760px; color:#fff; }
.ohrb-final-content>p:not(.ohrb-label) { font-size:18px; }
.ohrb-fixed-cta { position:fixed; z-index:999; left:50%; bottom:18px; display:none!important; transform:translateX(-50%); width:calc(100% - 24px); max-width:460px; padding:8px; border:1px solid #dbe4ee; border-radius:17px; background:rgba(255,255,255,.96); box-shadow:0 12px 35px rgba(5,25,50,.22); }
.ohrb-fixed-cta .wp-block-buttons { width:100%; display:flex; flex-wrap:nowrap; gap:8px; }
.ohrb-fixed-cta .wp-block-button { flex:1; }
.ohrb-fixed-cta .wp-block-button__link { width:100%; min-height:50px; }

.editor-styles-wrapper .ohrb-fixed-cta { position:static; display:block!important; transform:none; margin:30px auto; }

@media (max-width: 900px) {
  .ohrb-page .ohrb-shell { width:min(100% - 36px,720px); }
  .ohrb-page h2 { margin-bottom:32px; font-size:34px; }
  .ohrb-section { padding:76px 0; }
  .ohrb-hero { padding:54px 0 64px; }
  .ohrb-hero-columns,.ohrb-story-columns,.ohrb-fit .wp-block-columns { flex-wrap:wrap!important; }
  .ohrb-hero-columns>.wp-block-column,.ohrb-story-columns>.wp-block-column,.ohrb-fit .wp-block-column { flex-basis:100%!important; }
  .ohrb-hero-title { font-size:46px; }
  .ohrb-hero-image { height:480px; }
  .ohrb-card-grid,.ohrb-assurance-grid { flex-wrap:wrap!important; }
  .ohrb-card-grid>.wp-block-group,.ohrb-assurance-grid>.wp-block-group { flex-basis:calc(50% - 8px)!important; }
}

@media (max-width: 600px) {
  .ohrb-page { padding-bottom:82px; }
  .ohrb-page .ohrb-shell { width:calc(100% - 32px); }
  .ohrb-page h2 { font-size:30px; letter-spacing:-.045em; }
  .ohrb-section { padding:64px 0; }
  .ohrb-hero-title { font-size:39px; }
  .ohrb-hero-image { height:390px; border-radius:20px; }
  .ohrb-benefit-summary { padding:20px 18px; }
  .ohrb-check-list strong { float:none; display:block; margin-top:3px; }
  .ohrb-buttons .wp-block-button { width:100%; }
  .ohrb-buttons .wp-block-button__link { width:100%; }
  .ohrb-brand-message { padding:74px 0; }
  .ohrb-card-grid>.wp-block-group,.ohrb-assurance-grid>.wp-block-group { flex-basis:100%!important; }
  .ohrb-card { min-height:0; }
  .ohrb-gallery-section.is-slider .ohrb-gallery-controls { margin:-22px 0 22px; }
  .ohrb-gallery-section.is-slider .ohrb-gallery figure { flex-basis:100%!important; width:100%!important; }
  .ohrb-gallery img { min-height:230px; }
  .ohrb-price-list p { flex-basis:50%; }
  .ohrb-benefit-row .wp-block-columns,.ohrb-choice-grid { flex-wrap:wrap!important; }
  .ohrb-benefit-row .wp-block-column,.ohrb-choice-card { flex-basis:100%!important; }
  .ohrb-final { min-height:720px; align-items:flex-end; padding-bottom:90px; }
  .ohrb-final-image { inset:0; }
  .ohrb-final::after { background:linear-gradient(to top,var(--ohrb-deep) 24%,rgba(7,31,61,.25)); }
  .ohrb-final-content h2 { font-size:32px; }
  .ohrb-final-content .wp-block-button { width:100%; }
  .ohrb-final-content .wp-block-button__link { width:100%; }
  .ohrb-fixed-cta { display:block!important; }
}
