/* YP Landing Blocks 1.0.0 — all rules are intentionally scoped. */
.yp-landing,
.yp-section {
  --yp-primary: #f4c430;
  --yp-primary-strong: #d7a800;
  --yp-ink: #252b32;
  --yp-muted: #626a73;
  --yp-surface: #ffffff;
  --yp-soft: #fff9df;
  --yp-line: #e7e2cf;
  --yp-success: #16794c;
  --yp-radius: 22px;
  --yp-shadow: 0 14px 38px rgba(37, 43, 50, 0.10);
  --yp-content: 1120px;
  color: var(--yp-ink);
  font-family: Pretendard, "Noto Sans KR", "Apple SD Gothic Neo", system-ui, sans-serif;
  line-height: 1.65;
  box-sizing: border-box;
}

.yp-landing *,
.yp-landing *::before,
.yp-landing *::after,
.yp-section *,
.yp-section *::before,
.yp-section *::after { box-sizing: inherit; }

.yp-landing.yp-theme-ocean { --yp-primary:#31b7d6; --yp-primary-strong:#087f9d; --yp-ink:#123047; --yp-soft:#eafaff; --yp-line:#cfeaf0; }
.yp-landing.yp-theme-forest { --yp-primary:#60ad71; --yp-primary-strong:#2f7d43; --yp-ink:#20352a; --yp-soft:#eef8ef; --yp-line:#d3e6d6; }
.yp-landing.yp-theme-mono { --yp-primary:#e8e8e8; --yp-primary-strong:#bfc3c7; --yp-ink:#17191c; --yp-soft:#f5f5f5; --yp-line:#dedede; }

.yp-landing { margin: 0; max-width: none !important; overflow: visible; background: var(--yp-surface); }
.yp-landing > .wp-block-group__inner-container { max-width: none; }
.yp-topbar { position:sticky; z-index:9997; top:0; margin:0 !important; padding:14px 24px; background:rgba(37,43,50,.98); color:#fff; box-shadow:0 6px 18px rgba(0,0,0,.12); backdrop-filter:blur(10px); }
.admin-bar .yp-topbar { top:32px; }
.yp-topbar > .wp-block-group__inner-container,.yp-topbar__inner { width:min(100%,var(--yp-content)); margin-inline:auto; }
.yp-topbar__inner { justify-content:space-between; }
.yp-topbar p { margin:0; color:#fff; }
.yp-brand { font-size:1.15rem !important; font-weight:900; letter-spacing:-.03em; }
.yp-top-phone a { color:var(--yp-primary); font-weight:900; text-decoration:none; }
.yp-section { position: relative; overflow:clip; margin: 0 !important; padding: clamp(64px, 8vw, 108px) 24px; max-width: none !important; }
.yp-section[id] { scroll-margin-top:84px; }
.yp-section > .wp-block-group__inner-container { width: min(100%, var(--yp-content)); margin-inline: auto; }
.yp-section--compact { padding-block: clamp(28px, 4vw, 48px); }
.yp-section--soft { background: var(--yp-soft); }
.yp-section--dark { background: var(--yp-ink); color: #fff; }
.yp-section--dark > .wp-block-group__inner-container { display:block !important; width:min(100%,var(--yp-content)); margin-inline:auto; }
.yp-section--primary { background: var(--yp-primary); }
.yp-section--hero { padding-block: clamp(76px, 10vw, 132px); background: linear-gradient(135deg, var(--yp-soft) 0%, #fff 58%, rgba(244,196,48,.20) 100%); }
.yp-section--hero::after { content:""; position:absolute; width:330px; height:330px; right:-100px; bottom:-160px; border:48px solid var(--yp-primary); border-radius:50%; opacity:.22; pointer-events:none; }

.yp-section h1,
.yp-section h2,
.yp-section h3 { color: inherit; line-height: 1.18; letter-spacing: -.035em; margin-top: 0; text-wrap: balance; }
.yp-section h1 { font-size: clamp(2.55rem, 6vw, 5.1rem); margin-bottom: 24px; }
.yp-section h2 { font-size: clamp(2rem, 4vw, 3.4rem); margin-bottom: 18px; }
.yp-section h3 { font-size: clamp(1.15rem, 2vw, 1.4rem); margin-bottom: 10px; }
.yp-section p { color: var(--yp-muted); font-size: clamp(1rem, 1.4vw, 1.12rem); margin-top: 0; }
.yp-section--dark p { color: rgba(255,255,255,.76); }
.yp-eyebrow { display:inline-flex; width:auto; padding:7px 12px; margin-bottom:18px !important; border-radius:999px; background:var(--yp-primary); color:var(--yp-ink) !important; font-size:.82rem !important; font-weight:800; letter-spacing:.08em; }
.yp-lead { max-width: 720px; font-size: clamp(1.08rem, 2vw, 1.3rem) !important; }
.yp-section-title { max-width: 760px; margin-inline:auto; margin-bottom:42px; text-align:center; }
.yp-section-title p { max-width:650px; margin-inline:auto; }
.yp-highlight { position:relative; z-index:0; white-space:normal; }
.yp-highlight::after { content:""; position:absolute; z-index:-1; left:-.05em; right:-.05em; bottom:.07em; height:.3em; background:var(--yp-primary); border-radius:4px; opacity:.9; }

.yp-hero-grid { display:grid !important; grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr); gap:clamp(34px,5vw,68px); align-items:center !important; width:100%; max-width:none !important; }
.yp-hero-grid > .wp-block-column { width:auto !important; min-width:0; max-width:none !important; flex-basis:auto !important; margin:0 !important; }
.yp-section--hero h1 { font-size:clamp(2.45rem,4.7vw,4.65rem); overflow-wrap:anywhere; }
.yp-hero-points { display:grid; gap:10px; margin:26px 0 30px; padding:0; list-style:none; }
.yp-hero-points li { position:relative; padding-left:30px; color:var(--yp-ink); font-weight:700; }
.yp-hero-points li::before { content:"✓"; position:absolute; left:0; top:.05em; width:21px; height:21px; display:grid; place-items:center; border-radius:50%; background:var(--yp-primary); font-size:.78rem; }
.yp-hero-panel { padding: clamp(26px, 4vw, 44px); border:1px solid var(--yp-line); border-radius:var(--yp-radius); background:#fff; box-shadow:var(--yp-shadow); }
.yp-photo { margin:0; overflow:hidden; border-radius:16px; background:var(--yp-soft); }
.yp-photo img { display:block; width:100%; height:100%; object-fit:cover; }
.yp-photo figcaption { margin:8px 4px 0; color:var(--yp-muted); font-size:.82rem; text-align:left; }
.yp-photo--hero { aspect-ratio:4/3; margin:-18px -18px 26px; border-radius:14px; }
.yp-photo--hero-main { aspect-ratio:4/3; border:10px solid #fff; box-shadow:var(--yp-shadow); transform:none; }
.yp-photo--feature { aspect-ratio:4/3; box-shadow:var(--yp-shadow); }
.yp-photo-cover { padding-block:clamp(90px,12vw,150px); color:#fff; }
.yp-photo-cover > .wp-block-cover__inner-container { width:min(100%,var(--yp-content)); }
.yp-photo-cover p { color:rgba(255,255,255,.82); }
.yp-cover-copy { max-width:760px; margin-left:0 !important; }
.yp-photo-split { gap:clamp(32px,6vw,72px); }
.yp-hero-panel .yp-phone { margin-bottom:8px; font-size:clamp(1.8rem, 4vw, 2.7rem); font-weight:900; color:var(--yp-ink); }
.yp-proof-line { margin:24px 0 26px !important; color:var(--yp-ink) !important; font-weight:800; }
.yp-microcopy { margin:12px 0 0 !important; color:var(--yp-muted) !important; font-size:.9rem !important; font-weight:700; }
.yp-badge-row { display:flex; flex-wrap:wrap; gap:9px; margin-top:20px; }
.yp-badge { padding:7px 12px !important; border:1px solid var(--yp-line); border-radius:999px; background:#fff; color:var(--yp-ink) !important; font-size:.86rem !important; font-weight:700; }

.yp-buttons { display:flex; flex-wrap:wrap; gap:12px; }
.yp-buttons .wp-block-button { margin:0; }
.yp-buttons .wp-block-button__link { min-height:52px; display:inline-flex; align-items:center; justify-content:center; padding:14px 22px; border:2px solid var(--yp-ink); border-radius:12px; background:var(--yp-ink); color:#fff; font-weight:800; text-decoration:none; box-shadow:none; transition:transform .2s ease, box-shadow .2s ease, background .2s ease; }
.yp-buttons .wp-block-button__link:hover { transform:translateY(-2px); box-shadow:0 8px 20px rgba(37,43,50,.18); }
.yp-buttons .is-style-yp-primary .wp-block-button__link { background:var(--yp-primary); color:var(--yp-ink); border-color:var(--yp-primary); }
.yp-buttons .is-style-yp-outline .wp-block-button__link { background:transparent; color:var(--yp-ink); border-color:var(--yp-ink); }
.yp-section--dark .yp-buttons .is-style-yp-outline .wp-block-button__link { color:#fff; border-color:#fff; }

.yp-card-grid { display:grid !important; grid-template-columns:repeat(3, minmax(0,1fr)); gap:18px; }
.yp-card-grid > .wp-block-column { margin:0 !important; min-width:0; }
.yp-section > .wp-block-group__inner-container:has(> .yp-card-grid + .yp-card-grid) {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.yp-section > .wp-block-group__inner-container:has(> .yp-card-grid + .yp-card-grid) > .yp-section-title {
  grid-column:1/-1;
  width:100%;
  margin-bottom:24px;
}
.yp-section > .wp-block-group__inner-container:has(> .yp-card-grid + .yp-card-grid) > .yp-card-grid {
  display:contents !important;
}
.yp-section > .wp-block-group__inner-container:has(> .yp-card-grid + .yp-card-grid) > .yp-card-grid > .wp-block-column {
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
}
.yp-section > .wp-block-group__inner-container:has(> .yp-card-grid + .yp-card-grid) > .yp-lead {
  grid-column:1/-1;
  margin:16px auto 0 !important;
}
.yp-card { height:100%; padding:26px; border:1px solid var(--yp-line); border-radius:18px; background:#fff; box-shadow:0 8px 24px rgba(37,43,50,.055); }
.yp-card p:last-child { margin-bottom:0; }
.yp-card--accent { border-top:6px solid var(--yp-primary); }
.yp-icon { width:48px; height:48px; display:grid; place-items:center; margin-bottom:18px !important; border-radius:14px; background:var(--yp-primary); color:var(--yp-ink) !important; font-size:1.35rem !important; font-weight:900; }
.yp-check-card { position:relative; padding-left:58px; }
.yp-check-card::before { content:"✓"; position:absolute; top:26px; left:24px; width:24px; height:24px; display:grid; place-items:center; border-radius:50%; background:var(--yp-primary); color:var(--yp-ink); font-weight:900; }
.yp-check-grid { gap:16px; max-width:940px; margin-inline:auto; }
.yp-check-grid > .wp-block-column { display:grid; gap:16px; }
.yp-check-item { position:relative; min-height:76px; display:flex; align-items:center; margin:0 !important; padding:18px 20px 18px 58px; border:1px solid var(--yp-line); border-radius:16px; background:#fff; color:var(--yp-ink) !important; font-weight:750; box-shadow:0 7px 20px rgba(37,43,50,.05); }
.yp-check-item::before { content:"✓"; position:absolute; left:20px; width:25px; height:25px; display:grid; place-items:center; border-radius:7px; background:var(--yp-primary); color:var(--yp-ink); font-size:.86rem; font-weight:900; }
.yp-intro-grid { gap:clamp(38px,7vw,88px); }
.yp-proof-card { padding:clamp(30px,5vw,52px); border-radius:var(--yp-radius); background:var(--yp-primary); box-shadow:var(--yp-shadow); }
.yp-proof-card p { color:var(--yp-ink); font-weight:750; }
.yp-proof-number { margin-bottom:10px !important; color:var(--yp-ink); font-size:clamp(3.5rem,8vw,6.4rem) !important; }
.yp-proof-card hr { border-color:rgba(37,43,50,.3); }
.yp-answer-list { position:relative; left:50%; transform:translateX(-50%); width:min(calc(100vw - 48px),var(--yp-content)) !important; max-width:var(--yp-content) !important; margin-inline:0 !important; }
.yp-answer-list,
.yp-answer-list > .wp-block-group__inner-container { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:16px; }
.yp-answer-list > .wp-block-group__inner-container { width:100% !important; max-width:none !important; margin:0 !important; }
.yp-answer-list > .yp-answer-card,
.yp-answer-list > .wp-block-group__inner-container > .yp-answer-card { width:100% !important; max-width:none !important; margin:0 !important; }
.yp-answer-card { padding:26px; border:1px solid rgba(255,255,255,.14); border-radius:18px; background:rgba(255,255,255,.07); }
.yp-answer-card--lead { margin-bottom:28px !important; }
.yp-answer-row { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:28px !important; width:100% !important; max-width:1120px !important; flex:0 0 100% !important; margin-top:0 !important; margin-right:auto !important; margin-bottom:28px !important; margin-left:auto !important; }
.yp-answer-row:last-child { margin-bottom:0 !important; }
.yp-answer-row > .wp-block-column { display:contents !important; margin:0 !important; }
.yp-answer-row .yp-answer-card { width:100%; margin:0 !important; }
.yp-answer-row:empty,
.yp-answer-row:not(:has(.yp-answer-card)) { display:none !important; }
.yp-answer-list > .yp-answer-card:first-child,
.yp-answer-list > .wp-block-group__inner-container > .yp-answer-card:first-child { grid-column:1/-1 !important; }
.yp-answer-card h3 { color:var(--yp-primary); }
.yp-answer-card p { margin-bottom:0; color:rgba(255,255,255,.78); }

.yp-contact-band { padding:clamp(26px,4vw,40px); border-radius:var(--yp-radius); background:var(--yp-ink); color:#fff; box-shadow:var(--yp-shadow); }
.yp-contact-band .wp-block-columns { align-items:center !important; margin-bottom:0; }
.yp-contact-band p { margin-bottom:0; color:rgba(255,255,255,.76); }
.yp-contact-band .yp-buttons { justify-content:flex-end; }

.yp-stats { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.yp-stat { padding:24px 16px; text-align:center; border-radius:16px; background:#fff; border:1px solid var(--yp-line); }
.yp-stat .yp-stat-value { display:block; margin:0 0 5px; color:var(--yp-ink); font-size:clamp(1.65rem,3vw,2.4rem); line-height:1.15; }
.yp-stat .yp-stat-label { margin:0; color:var(--yp-muted); font-size:.9rem; }

.yp-price-wrap { overflow-x:auto; border:1px solid var(--yp-line); border-radius:18px; background:#fff; box-shadow:var(--yp-shadow); }
.yp-price-table { width:100%; min-width:680px; border-collapse:collapse; margin:0 !important; }
.yp-price-table th,
.yp-price-table td { padding:18px 20px; border:0; border-bottom:1px solid var(--yp-line); text-align:left; }
.yp-price-table th { background:var(--yp-ink); color:#fff; font-weight:800; }
.yp-price-table tr:last-child td { border-bottom:0; }
.yp-price-table td:last-child { font-weight:800; color:var(--yp-ink); }
.yp-notice { margin-top:18px !important; padding:16px 18px; border-left:5px solid var(--yp-primary); background:#fff; border-radius:8px; font-size:.94rem !important; }
.yp-cost-grid { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.yp-cost-grid > .wp-block-column { margin:0 !important; }
.yp-cost-card { height:100%; padding:28px; border:1px solid var(--yp-line); border-radius:18px; background:#fff; }
.yp-cost-card p { margin-bottom:8px; }
.yp-cost-card h3 { margin:0; font-size:clamp(1.55rem,3vw,2.3rem); }
.yp-cost-card--accent { background:var(--yp-primary); border-color:var(--yp-primary); }
.yp-cost-detail { margin-top:18px; padding:28px; border-radius:18px; background:#fff; }
.yp-cost-detail h3 { margin-bottom:8px; }
.yp-cost-detail hr { margin-block:24px; border-color:var(--yp-line); }
.yp-scope-grid { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.yp-scope-grid > .wp-block-column { margin:0 !important; }
.yp-scope-grid + .yp-lead { margin:34px auto 0; }

.yp-steps { counter-reset:yp-step; display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.yp-step { counter-increment:yp-step; position:relative; padding:74px 22px 24px; border:1px solid var(--yp-line); border-radius:18px; background:#fff; }
.yp-step::before { content:"0" counter(yp-step); position:absolute; top:20px; left:22px; color:var(--yp-primary-strong); font-size:1.55rem; font-weight:900; }
.yp-step:not(:last-child)::after { content:"→"; position:absolute; z-index:2; right:-17px; top:30px; width:32px; height:32px; display:grid; place-items:center; border-radius:50%; background:var(--yp-primary); color:var(--yp-ink); font-weight:900; }

.yp-case { overflow:hidden; height:100%; border-radius:18px; background:#fff; border:1px solid var(--yp-line); }
.yp-case-visual { display:grid; grid-template-columns:1fr 1fr; min-height:180px; }
.yp-case-visual.wp-block-columns { gap:0; margin:0; }
.yp-case-visual > .wp-block-column { min-width:0; }
.yp-case-visual .yp-photo { height:100%; min-height:180px; border-radius:0; }
.yp-case-before,.yp-case-after { display:grid; place-items:center; margin:0 !important; padding:28px 14px; font-weight:900; text-align:center; }
.yp-case-before p,.yp-case-after p { margin:0; color:inherit; font-weight:900; }
.yp-case-before { background:#e9edf0; color:#59636e; }
.yp-case-after { background:var(--yp-primary); color:var(--yp-ink); }
.yp-case-copy { padding:24px; }
.yp-case-copy p:last-child { margin-bottom:0; }
.yp-case-grid { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.yp-case-grid > .wp-block-column { margin:0 !important; }
.yp-case-grid .yp-photo-card .yp-photo { aspect-ratio:16/10; }
.yp-photo-card { overflow:hidden; padding:0 0 24px; }
.yp-photo-card .yp-photo { aspect-ratio:4/3; margin-bottom:22px; border-radius:0; }
.yp-photo-card > h3,.yp-photo-card > p { margin-inline:24px; }
.yp-before-after-grid { gap:18px; }
.yp-before-after-grid > .wp-block-column { position:relative; min-width:0; }
.yp-photo--compare { aspect-ratio:16/11; border:1px solid var(--yp-line); }
.yp-photo-label { position:absolute; z-index:2; top:12px; left:12px; margin:0 !important; padding:7px 11px; border-radius:999px; background:var(--yp-ink); color:#fff !important; font-size:.78rem !important; font-weight:900; }
.yp-photo-label--after { background:var(--yp-primary); color:var(--yp-ink) !important; }

/* Image block ratio choices exposed in the editor's Styles panel. */
.yp-photo.is-style-yp-landscape { aspect-ratio:4/3 !important; }
.yp-photo.is-style-yp-square { aspect-ratio:1/1 !important; }
.yp-photo.is-style-yp-portrait { aspect-ratio:3/4 !important; }
.yp-photo.is-style-yp-natural { aspect-ratio:auto !important; }
.yp-photo.is-style-yp-natural img { height:auto !important; object-fit:contain; }

.yp-area-box { padding:clamp(28px,5vw,56px); border:2px solid var(--yp-ink); border-radius:var(--yp-radius); background:var(--yp-primary); }
.yp-area-list { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.yp-area-list p { margin:0; padding:9px 14px; border-radius:999px; background:#fff; color:var(--yp-ink); font-size:1rem; font-weight:800; }

.yp-faq { max-width:860px; margin-inline:auto; }
.yp-faq details { margin-bottom:12px; padding:0 22px; border:1px solid var(--yp-line); border-radius:14px; background:#fff; }
.yp-faq summary { cursor:pointer; padding:20px 36px 20px 0; color:var(--yp-ink); font-weight:800; list-style:none; position:relative; }
.yp-faq summary::-webkit-details-marker { display:none; }
.yp-faq summary::after { content:"+"; position:absolute; right:0; top:15px; font-size:1.6rem; }
.yp-faq details[open] summary::after { content:"−"; }
.yp-faq details p { padding:0 0 20px; margin:0; }
.yp-process-list { max-width:900px; margin-inline:auto; }
.yp-process-item { position:relative; min-height:126px; margin-bottom:16px; padding:24px 24px 24px 104px; border:1px solid var(--yp-line); border-radius:18px; background:#fff; box-shadow:0 8px 24px rgba(37,43,50,.05); }
.yp-process-item h3 { margin-bottom:7px; }
.yp-process-item p:last-child { margin-bottom:0; }
.yp-process-number { position:absolute; top:25px; left:24px; width:56px; height:56px; display:grid; place-items:center; margin:0 !important; border-radius:15px; background:var(--yp-primary); color:var(--yp-ink) !important; font-weight:900; }
.yp-section--insurance { background:var(--yp-primary); }
.yp-insurance-grid { gap:clamp(34px,6vw,72px); }
.yp-section--insurance p { color:var(--yp-ink); }
.yp-document-card { padding:clamp(26px,4vw,42px); border-radius:var(--yp-radius); background:#fff; box-shadow:var(--yp-shadow); }
.yp-document-list { display:grid; gap:10px; padding-left:24px; }
.yp-document-list li::marker { color:var(--yp-primary-strong); }
.yp-disclaimer { margin:22px 0 0 !important; color:rgba(37,43,50,.72) !important; font-size:.9rem !important; }

.yp-final { overflow:hidden; text-align:center; }
.yp-final::before { content:""; position:absolute; inset:auto auto -180px -140px; width:360px; height:360px; border:55px solid var(--yp-primary); border-radius:50%; opacity:.23; }
.yp-final .yp-buttons { justify-content:center; margin-top:28px; }
.yp-final .yp-phone { color:#fff; font-size:clamp(2rem,5vw,4rem); font-weight:900; }
.yp-final .yp-lead { margin-inline:auto; color:rgba(255,255,255,.78); }
.yp-closing-copy { margin-top:42px; padding-top:28px; border-top:1px solid rgba(255,255,255,.18); }
.yp-closing-copy p { margin-bottom:8px; }
.yp-closing-copy h3 { color:var(--yp-primary); }
.yp-footer { margin:0 !important; padding:28px 24px; background:#171b20; text-align:center; }
.yp-footer p { margin:0; color:rgba(255,255,255,.7); font-size:.9rem; font-weight:700; }

.yp-mobile-dock { display:none; }

/* Optional pattern variants: add one class in the editor's Advanced panel. */
.yp-variant--outline .yp-card { box-shadow:none; border-width:2px; }
.yp-variant--flat .yp-card { border:0; box-shadow:none; background:var(--yp-soft); }
.yp-variant--left .yp-section-title { margin-left:0; text-align:left; }
.yp-variant--left .yp-section-title p { margin-left:0; }
.yp-variant--contrast { background:var(--yp-ink); color:#fff; }
.yp-variant--contrast p { color:rgba(255,255,255,.75); }

@media (max-width: 900px) {
  .yp-hero-grid { grid-template-columns:1fr; }
  .yp-hero-grid > .wp-block-column:last-child { width:min(100%,680px) !important; margin-inline:auto !important; }
  .yp-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .yp-section > .wp-block-group__inner-container:has(> .yp-card-grid + .yp-card-grid) { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .yp-section > .wp-block-group__inner-container:has(> .yp-card-grid + .yp-card-grid) > .yp-card-grid:last-of-type > .wp-block-column:last-child {
    grid-column:1/-1;
    justify-self:center;
    width:calc(50% - 9px) !important;
  }
  .yp-scope-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .yp-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .yp-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .yp-step:nth-child(2)::after { display:none; }
  .yp-contact-band .yp-buttons { justify-content:flex-start; margin-top:18px; }
}

@media (max-width: 680px) {
  .yp-section { padding-inline:18px; }
  .yp-section--hero { padding-top:62px; }
  .yp-card-grid,.yp-steps { grid-template-columns:1fr; }
  .yp-section > .wp-block-group__inner-container:has(> .yp-card-grid + .yp-card-grid) { grid-template-columns:1fr; }
  .yp-section > .wp-block-group__inner-container:has(> .yp-card-grid + .yp-card-grid) > .yp-card-grid:last-of-type > .wp-block-column:last-child {
    grid-column:auto;
    width:100% !important;
  }
  .yp-answer-list,.yp-answer-list > .wp-block-group__inner-container,.yp-cost-grid,.yp-scope-grid,.yp-case-grid { grid-template-columns:1fr !important; }
  .yp-answer-list { width:calc(100vw - 36px) !important; }
  .yp-answer-list > .yp-answer-card:first-child,
  .yp-answer-list > .wp-block-group__inner-container > .yp-answer-card:first-child { grid-column:auto !important; }
  .yp-answer-card--lead { margin-bottom:18px !important; }
  .yp-answer-row { grid-template-columns:1fr !important; gap:18px !important; margin-bottom:18px !important; }
  .yp-process-item { padding:88px 20px 22px; }
  .yp-process-number { top:20px; left:20px; }
  .yp-photo--hero { margin:-10px -10px 22px; }
  .yp-step::after { display:none !important; }
  .yp-buttons,.yp-buttons .wp-block-button,.yp-buttons .wp-block-button__link { width:100%; }
  .yp-hero-panel { padding:24px 20px; }
  .yp-contact-band { padding:24px 20px; }
  .yp-mobile-dock { position:fixed; z-index:9998; display:grid; grid-template-columns:1fr; gap:8px; left:0; right:0; bottom:0; padding:10px max(10px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left)); background:rgba(255,255,255,.96); border-top:1px solid var(--yp-line); box-shadow:0 -8px 24px rgba(37,43,50,.12); backdrop-filter:blur(12px); }
  .yp-mobile-dock .wp-block-button { margin:0; }
  .yp-mobile-dock .wp-block-button__link { width:100%; min-height:48px; padding:12px 10px; border-radius:10px; background:var(--yp-ink); color:#fff; font-size:.92rem; font-weight:800; }
  .yp-mobile-dock .is-style-yp-primary .wp-block-button__link { background:var(--yp-primary); color:var(--yp-ink); }
  .yp-landing:has(.yp-mobile-dock) { padding-bottom:76px; }
}

@media (max-width: 782px) {
  .admin-bar .yp-topbar { top:46px; }
}

@media (prefers-reduced-motion: reduce) {
  .yp-landing * { scroll-behavior:auto !important; transition:none !important; }
}

@media print {
  .yp-mobile-dock { display:none !important; }
  .yp-section { break-inside:avoid; }
}

