/* Shared Doggi landing-page system; existing source facts retain their own structure. */
.doggi-page { --site-header-height:86px; }
.doggi-page .header__inner { min-height:var(--site-header-height); padding-top:8px; padding-bottom:8px; }
.doggi-page .header__logo { display:flex; flex-direction:column; align-items:flex-start; gap:3px; flex-shrink:0; }
.doggi-page .header__logo img { width:82px; height:42px; object-fit:contain; }
.header__city { font-size:11px; font-weight:600; line-height:1.2; letter-spacing:.02em; color:var(--ink-muted); }
.doggi-page .header__nav { gap:22px; }
.doggi-page .header__nav.open { top:var(--site-header-height); }
.doggi-page :is(h1,h2,h3,p,li,a,div,section,article) { min-width:0; }
.doggi-page :is(section[id],main[id],form[id]) { scroll-margin-top:calc(var(--site-header-height) + 20px); }
.doggi-main { overflow:clip; }
.page-hero { padding:36px 0 80px; }
.page-hero .breadcrumbs { margin-bottom:40px; font-size:13px; flex-wrap:wrap; line-height:1.5; }
.page-hero .breadcrumbs > :last-child { max-width:100%; overflow-wrap:anywhere; }
.page-hero__grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:64px; align-items:center; }
.page-hero__city { display:block; margin-bottom:20px; color:var(--blue); }
.page-hero h1 { font-size:clamp(40px,4.1vw,60px); line-height:1.08; text-wrap:balance; }
.page-hero h1 .hand { font-size:.8em !important; }
.page-hero--long h1 { font-size:clamp(34px,3.2vw,46px); }
.page-hero--text .page-hero__grid { grid-template-columns:minmax(0,1fr); }
.page-hero--text .page-hero__copy { max-width:960px; }
.page-hero__intro { font-size:19px; line-height:1.6; color:var(--ink-muted); max-width:650px; margin-top:24px; }
.page-hero__intro p { margin:0; }
.page-hero__action { margin-top:30px; max-width:100%; }
.page-hero__image { display:block; width:100%; height:440px; object-fit:cover; border-radius:32px; }
.page-section { padding:70px 0; }
.page-section--soft { background:var(--bg-soft); border-radius:32px; margin:16px 24px; }
.page-section h2 { font-size:clamp(30px,3.1vw,44px); line-height:1.15; margin-bottom:28px; text-wrap:balance; }
.page-section h3 { font-size:24px; line-height:1.25; }
.page-section .container > .grid-2,.page-section .container > .grid-3,.page-section .container > .grid-4 { margin-top:30px; }
.page-split { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:64px; align-items:center; }
.page-split > img { width:100%; height:440px; object-fit:cover; border-radius:28px; }
.page-copy { font-size:18px; line-height:1.75; color:var(--ink-2); }
.page-copy > * + * { margin-top:22px; }
.page-copy h3 { color:var(--ink); margin-top:30px; }
.page-copy h3:first-child { margin-top:0; }
.page-body { font-size:18px; line-height:1.75; }
.page-section p + p { margin-top:20px; }
.page-section :is(ul,ol) { padding-left:24px; margin:20px 0; }
.page-section ul { list-style:disc; }
.page-section ol { list-style:decimal; }
.page-section li + li { margin-top:10px; }
.page-section li::marker { color:var(--blue); }
.page-section :is(.page-copy,.article-content,.body) a:not(.btn) { color:var(--blue); text-decoration:underline; text-underline-offset:3px; }
.page-detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.page-detail-grid > :first-child:last-child { grid-column:1/-1; }
.page-card { padding:30px !important; }
.page-card h3 { margin-bottom:14px; }
.page-card .page-body { font-size:16px; line-height:1.65; }
.page-number { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; background:var(--blue-soft); color:var(--blue); border-radius:14px; font:600 16px/1 var(--font); margin-bottom:22px; }
.page-program { display:grid; grid-template-columns:140px minmax(0,1fr); gap:24px; align-items:center; padding:18px; }
.page-program__image { width:140px; height:180px; object-fit:cover; border-radius:18px; }
.page-program h3 { font-size:23px; }
.page-program p { margin:12px 0 18px; color:var(--ink-muted); font-size:16px; line-height:1.55; }
.page-program .link-blue { font-size:15px; }
.page-statement { background:var(--blue-deep); color:#fff; padding:48px; border-radius:28px; }
.page-statement p { font-size:clamp(23px,2.4vw,32px); line-height:1.5; max-width:950px; }
.page-reviews h2 { text-align:center; margin-bottom:40px; }
.page-reviews .home-reviews { margin-top:0 !important; }
.doggi-article .page-section :is(.article-content,.page-article) { max-width:840px; margin-inline:auto; }
.doggi-article .article-content :is(p,li) { font-size:18px; line-height:1.8; }
.doggi-article .article-content h2 { margin:48px 0 22px; }
.doggi-article .article-content h3 { margin:32px 0 18px; }
.doggi-document .page-section .container { max-width:1060px; }
.doggi-document .page-copy,.doggi-document .body { max-width:880px; margin-inline:auto; }
.page-section details { border:1px solid var(--line-soft); border-radius:18px; background:#fff; padding:22px; margin-bottom:14px; }
.page-section summary { cursor:pointer; font-size:20px; font-weight:600; line-height:1.4; }
.page-section details[open] summary { margin-bottom:18px; }
.page-section :is(iframe,video) { max-width:100%; }
.page-section iframe[data-event-poster-frame] { min-height:520px; }
.page-section form { max-width:100%; }
.page-section :is(input,textarea,select) { max-width:100%; }
@media(max-width:1150px) {
 .doggi-page .header__nav { gap:14px; }
 .doggi-page .header__phone { font-size:14px; }
 .page-hero__grid,.page-split { gap:36px; }
 .page-program { grid-template-columns:110px minmax(0,1fr); gap:18px; }
 .page-program__image { width:110px; height:170px; }
}
@media(max-width:900px) {
 .doggi-page .header__nav { gap:12px; font-size:14px; }
 .doggi-page .header__right { gap:10px; }
 .doggi-page .header__phone { display:none; }
 .page-hero__grid { grid-template-columns:minmax(0,1fr); }
 .page-hero__image { height:380px; }
 .page-program { grid-template-columns:1fr; }
 .page-program__image { width:100%; height:200px; }
}
@media(max-width:768px) {
 .page-hero { padding:28px 0 48px; }
 .page-hero .breadcrumbs { margin-bottom:28px; }
 .page-hero h1 { font-size:38px; }
 .page-hero--long h1 { font-size:32px; }
 .page-hero__intro { font-size:17px; margin-top:20px; }
 .page-hero__action { height:auto; min-height:52px; padding:14px 20px; font-size:16px; line-height:1.3; white-space:normal; }
 .page-hero__image { height:320px; border-radius:24px; }
 .page-section { padding:44px 0; }
 .page-section--soft { margin:8px 12px; border-radius:24px; }
 .page-split,.page-detail-grid,.doggi-main .page-grid { grid-template-columns:minmax(0,1fr) !important; gap:28px !important; }
 .page-split > img { height:320px; }
 .page-section .container { max-width:100% !important; }
 .page-section h2 { font-size:30px !important; }
 .page-section h3 { font-size:23px !important; }
 .page-card { padding:24px !important; }
 .page-body,.page-copy { font-size:17px !important; line-height:1.7; }
 .page-program { grid-template-columns:100px minmax(0,1fr); gap:18px; }
 .page-program__image { width:100px; height:150px; }
 .page-program h3 { font-size:21px !important; }
 .page-program p { font-size:15px; }
 .page-statement { padding:28px 24px; }
 .doggi-article .article-content { padding:0 !important; }
 .page-section summary { font-size:18px; }
 .page-section iframe[data-event-poster-frame] { min-height:600px; }
}
@media(max-width:380px) {
 .page-hero h1 { font-size:34px; }
 .page-hero--long h1 { font-size:30px; }
 .page-program { grid-template-columns:minmax(0,1fr); }
 .page-program__image { width:100%; height:180px; }
}
/* Remove legacy fixed widths from service copy; keep articles and documents readable. */
.doggi-page:not(.doggi-article):not(.doggi-document) .page-section > .container { max-width:1200px !important; }
.doggi-page:not(.doggi-article):not(.doggi-document) .page-section .page-copy { max-width:none; }
.doggi-page .page-section .body { font-size:18px; line-height:1.75; }
.doggi-page .page-section .body > p + p { margin-top:22px; }
.doggi-page .page-section .container > .page-copy:only-child { max-width:840px; margin-inline:auto; }
.doggi-page .page-section .grid-2 > .home-review:only-child { grid-column:1/-1; max-width:840px; width:100%; margin-inline:auto; }
.doggi-page .page-section img[src*="lib__icons__"] { width:32px !important; height:32px !important; }
.page-price { font-size:36px !important; font-weight:700; color:var(--blue); margin:22px 0; }
.page-faq { max-width:900px; margin:32px auto 0; }
.page-section .page-card p:last-child { margin-bottom:0; }
@media(max-width:768px) {
 .doggi-page:not(.doggi-article):not(.doggi-document) .page-section > .container { max-width:100% !important; }
 .doggi-page .page-section .body { font-size:17px; }
}
.doggi-page .page-section .page-copy { max-width:840px; }
.doggi-page .page-section .page-copy:only-child { margin-inline:auto; }
.doggi-page .page-section .page-detail-grid { max-width:none !important; }
.doggi-page .page-section .page-detail-grid > .page-copy { max-width:none; margin-inline:0; }
.page-benefits { columns:2; column-gap:52px; max-width:1050px; margin-inline:auto !important; }
.page-benefits li { break-inside:avoid; padding-left:6px; font-size:18px; line-height:1.65; margin-bottom:24px; }
@media(max-width:768px) { .page-benefits { columns:1; } .page-benefits li { font-size:17px; } }
.doggi-article .page-hero h1 { font-size:clamp(34px,3.1vw,46px); line-height:1.15; }
@media(max-width:768px) { .doggi-article .page-hero h1 { font-size:32px; } }
.page-panel-intro { margin-bottom:32px; }
.page-detail-grid > :nth-child(odd):last-child { grid-column:1/-1; }
@media(max-width:768px) { .doggi-page .lead-request h2 { font-size:25px !important; line-height:1.25; } }
