
:root{--deep:#1f5ba8;--blue:#3478c8;--mid:#5596de;--light:#eaf4ff;--soft:#f7fbff;--ink:#17243a;--muted:#65748a;--line:#d8e8f8;--white:#fff;--shadow:0 12px 32px rgba(30,91,168,.09)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,"Apple SD Gothic Neo","Noto Sans KR",sans-serif;color:var(--ink);background:white;line-height:1.65;padding-bottom:78px}a{text-decoration:none;color:inherit}img{display:block;max-width:100%}.container{width:min(1180px,calc(100% - 36px));margin:auto}.site-header{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid #edf2f8}.nav-wrap{height:78px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;font-weight:900;color:var(--deep);font-size:19px}.brand img{width:48px;height:48px;border-radius:11px;object-fit:contain;background:#fff}.desktop-nav{display:flex;align-items:center;gap:26px;font-size:14px;font-weight:700}.nav-phone{font-size:18px;color:var(--deep)}.nav-cta{padding:12px 18px;background:var(--blue);color:white;border-radius:13px}.nav-services{position:relative}.nav-service-button{border:0;background:none;font:inherit;color:inherit;padding:20px 0;cursor:pointer}.dropdown{display:none;position:absolute;top:54px;left:-28px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);min-width:185px;padding:10px}.dropdown a{display:block;padding:9px 12px;border-radius:9px}.dropdown a:hover{background:var(--light);color:var(--deep)}.nav-services:hover .dropdown,.nav-services:focus-within .dropdown{display:block}.menu-btn,.mobile-menu{display:none}.hero{background:linear-gradient(135deg,#f9fcff 0,#eaf5ff 52%,#dcefff 100%);padding:72px 0 74px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:70px}.eyebrow{font-size:13px;font-weight:900;color:var(--blue);letter-spacing:.08em;text-transform:uppercase}.hero h1,.service-hero h1,.contact-hero h1{font-size:54px;line-height:1.12;margin:14px 0 18px;letter-spacing:-.045em}.hero h1 em,.section h2 em,.service-page h2 em,.contact-page h1 em{font-style:normal;color:var(--blue)}.hero-desc,.service-desc{font-size:18px;color:#4f6175}.hero-actions{display:flex;gap:12px;margin:28px 0 22px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 20px;border-radius:13px;font-weight:800}.btn.primary{background:linear-gradient(135deg,var(--deep),var(--blue));color:white;box-shadow:0 10px 24px rgba(52,120,200,.24)}.btn.ghost{background:white;border:1px solid var(--line);color:var(--deep)}.hero-points{display:flex;gap:9px;flex-wrap:wrap}.hero-points span{background:white;border:1px solid var(--line);border-radius:999px;padding:8px 12px;color:#42617d;font-size:13px;font-weight:700}.hero-visual{position:relative;background:white;padding:8px;border-radius:26px;box-shadow:0 26px 60px rgba(38,91,147,.15)}.hero-main{width:100%;height:435px;object-fit:cover;border-radius:20px}.hero-inset{position:absolute;left:-28px;bottom:-26px;width:42%;background:white;padding:8px;border-radius:20px;box-shadow:var(--shadow)}.hero-inset img{height:160px;width:100%;object-fit:cover;border-radius:14px}.hero-inset span,.hero-label{position:absolute;background:rgba(15,35,60,.82);color:white;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:800}.hero-inset span{left:18px;bottom:18px}.hero-label{right:24px;bottom:24px}.brand-band{background:var(--deep);color:white}.band-grid{display:grid;grid-template-columns:repeat(4,1fr)}.band-grid div{padding:20px 18px;text-align:center;border-right:1px solid rgba(255,255,255,.16)}.band-grid div:last-child{border:0}.band-grid b{display:block;font-size:22px}.band-grid span{font-size:13px;color:#d7e8ff}.section{padding:92px 0}.section.soft{background:var(--soft)}.section h2,.service-page h2{font-size:40px;line-height:1.2;letter-spacing:-.035em;margin:10px 0 16px}.section-lead{color:var(--muted);font-size:16px;margin-bottom:34px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{background:white;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 4px 16px rgba(35,86,135,.04);transition:.2s}.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.service-card img{width:100%;height:205px;object-fit:cover}.service-card>div{padding:20px}.service-card span{color:var(--blue);font-weight:900;font-size:12px}.service-card h3{font-size:22px;margin:6px 0}.service-card p{color:var(--muted);min-height:52px}.service-card b{color:var(--deep);font-size:13px}.case-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.case-card{background:white;border:1px solid var(--line);padding:18px;border-radius:22px}.pair{display:grid;grid-template-columns:1fr 1fr;gap:5px;border-radius:16px;overflow:hidden}.pair img{width:100%;height:260px;object-fit:cover}.case-card>span{display:block;margin-top:15px;color:var(--blue);font-weight:900;font-size:13px}.case-card h3{margin:5px 0 0;font-size:21px}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.review-card{margin:0;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:white;box-shadow:0 5px 18px rgba(38,91,147,.05)}.review-card img{width:100%;height:310px;object-fit:cover;object-position:top}.review-card figcaption{padding:12px 16px;color:var(--deep);font-weight:800;font-size:13px}.process-wrap{display:grid;grid-template-columns:.7fr 1.3fr;gap:50px;align-items:start}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.steps.four{grid-template-columns:repeat(4,1fr)}.steps article,.work-grid article{border:1px solid var(--line);background:white;border-radius:18px;padding:22px}.steps span,.work-grid span{display:inline-flex;width:42px;height:42px;border-radius:50%;align-items:center;justify-content:center;background:var(--light);color:var(--blue);font-weight:900}.steps h3{margin:12px 0 5px}.steps p,.work-grid p{margin:0;color:var(--muted)}.faq-list details{border:0;border-bottom:1px solid #e6eef7;padding:0;background:transparent}.faq-list summary{cursor:pointer;list-style:none;padding:19px 4px;font-weight:800;color:#233955}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::before{content:'+';display:inline-block;width:26px;color:var(--blue);font-size:19px}.faq-list details[open] summary::before{content:'−'}.faq-list details p{margin:0;padding:0 4px 18px 30px;color:var(--muted)}.cta{background:linear-gradient(135deg,#174f96,#3a82ce);color:white;padding:58px 0}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.cta h2{font-size:38px;line-height:1.2;margin:8px 0}.eyebrow.light{color:#cce4ff}.cta-actions{display:flex;gap:10px}.btn.white{background:white;color:var(--deep)}.btn.outline-white{border:1px solid rgba(255,255,255,.55);color:white}.site-footer{background:#0f2745;color:#d8e5f2;padding:50px 0 90px}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:50px}.footer-brand{display:flex;align-items:center;gap:12px;color:white;font-size:20px}.footer-brand img{width:56px;height:56px;border-radius:13px}.site-footer h3{color:white}.site-footer a{display:block;margin:6px 0}.footer-bottom{margin-top:34px;padding-top:18px;border-top:1px solid rgba(255,255,255,.1);font-size:12px;color:#91a8c2}.fixed-contact{position:fixed;left:50%;bottom:12px;transform:translateX(-50%);z-index:90;width:min(1120px,calc(100% - 28px));background:rgba(255,255,255,.97);border:1px solid #cfe3f5;border-radius:20px;box-shadow:0 16px 40px rgba(17,70,124,.18);display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:14px;padding:12px 16px}.fixed-brand strong{display:block;font-size:22px;color:var(--deep)}.fixed-brand span{display:block;font-size:12px;color:var(--muted)}.fixed-phone{font-size:21px;font-weight:900;color:var(--deep);padding:10px 16px}.fixed-kakao{background:var(--blue);color:white;padding:12px 18px;border-radius:12px;font-weight:900}.service-hero{padding:70px 0;background:linear-gradient(135deg,#f9fcff,#eaf5ff)}.service-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}.service-hero h1{font-size:47px}.service-callout{display:flex;gap:12px;align-items:flex-start;background:white;border:1px solid var(--line);padding:14px 16px;border-radius:16px;color:#526a81}.service-callout strong{color:var(--deep);white-space:nowrap}.service-hero-visual{position:relative;background:white;padding:8px;border-radius:22px;box-shadow:var(--shadow)}.service-hero-visual>img{height:390px;width:100%;object-fit:cover;border-radius:16px}.mini-before{position:absolute;left:-22px;bottom:-22px;width:44%;background:white;padding:7px;border-radius:16px;box-shadow:var(--shadow)}.mini-before img{height:145px;width:100%;object-fit:cover;border-radius:11px}.mini-before span{position:absolute;left:14px;bottom:14px;color:white;background:rgba(10,28,50,.78);font-size:11px;border-radius:999px;padding:5px 9px}.shortcut{background:white;border-bottom:1px solid var(--line);border-top:1px solid var(--line)}.shortcut .container{display:flex;gap:8px;align-items:center;padding-top:14px;padding-bottom:14px;overflow:auto}.shortcut strong{white-space:nowrap;margin-right:8px}.shortcut a{white-space:nowrap;border:1px solid var(--line);border-radius:999px;padding:8px 12px;color:#365a7c;font-size:13px;font-weight:700}.work-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.work-grid article{display:flex;align-items:center;gap:12px}.work-grid p{font-weight:800;color:#28445f}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.photo-grid figure{margin:0;background:white;border:1px solid var(--line);border-radius:18px;overflow:hidden}.photo-grid img{width:100%;height:260px;object-fit:cover}.photo-grid figcaption{padding:11px 14px;font-size:13px;color:var(--deep);font-weight:800}.faq-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:70px;align-items:start}.contact-hero{background:linear-gradient(135deg,#edf6ff,#dceeff);padding:90px 0}.contact-hero .container{max-width:900px}.contact-hero p{color:var(--muted);font-size:18px}.contact-choice{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:30px}.contact-choice a{background:white;border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:var(--shadow)}.contact-choice strong{display:block;color:var(--deep);font-size:20px}.contact-choice span{color:var(--muted);font-size:14px}.notfound{padding:120px 0}.notfound h1{font-size:48px}
@media(max-width:900px){body{padding-bottom:74px}.desktop-nav{display:none}.menu-btn{display:block;border:1px solid var(--line);background:white;border-radius:10px;padding:9px 12px}.mobile-menu{position:absolute;top:78px;left:0;right:0;background:white;border-bottom:1px solid var(--line);padding:16px 20px}.mobile-menu:not([hidden]){display:grid}.mobile-menu a{padding:10px 2px}.hero{padding:46px 0 62px}.hero-grid,.service-hero-grid,.process-wrap,.faq-layout{grid-template-columns:1fr}.hero h1,.service-hero h1,.contact-hero h1{font-size:40px}.hero-visual{margin-top:12px}.hero-main{height:360px}.hero-inset{left:12px;bottom:-30px}.band-grid{grid-template-columns:repeat(2,1fr)}.band-grid div:nth-child(2){border-right:0}.service-grid{grid-template-columns:repeat(2,1fr)}.case-grid{grid-template-columns:1fr}.review-grid{grid-template-columns:repeat(2,1fr)}.steps,.steps.four,.work-grid{grid-template-columns:repeat(2,1fr)}.photo-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr}.fixed-contact{grid-template-columns:1fr auto;padding:10px 12px}.fixed-phone{display:none}.fixed-brand strong{font-size:18px}.fixed-kakao{grid-column:2}.cta-inner{flex-direction:column;align-items:flex-start}.contact-choice{grid-template-columns:1fr}}
@media(max-width:560px){.container{width:min(100% - 24px,1180px)}.nav-wrap{height:66px}.brand img{width:42px;height:42px}.brand span{font-size:17px}.mobile-menu{top:66px}.hero h1,.service-hero h1,.contact-hero h1{font-size:34px}.hero-desc,.service-desc{font-size:16px}.hero-actions{flex-direction:column}.btn{width:100%}.hero-main{height:300px}.hero-inset{width:48%}.hero-inset img{height:110px}.section{padding:65px 0}.section h2,.service-page h2{font-size:31px}.service-grid,.review-grid,.steps,.steps.four,.work-grid,.photo-grid{grid-template-columns:1fr}.service-card img{height:220px}.pair img{height:210px}.review-card img{height:auto}.cta h2{font-size:30px}.fixed-brand span{display:none}.fixed-brand strong{font-size:17px}.fixed-kakao{padding:11px 13px}.site-footer{padding-bottom:90px}.service-hero-visual>img{height:300px}.mini-before{width:47%;left:8px}.faq-layout{gap:20px}}


/* PapaClean Secure V2 refinement: full reviews, structured footer, resetclean-style contact bar, vertical before/after cases, mobile containment. */
html,body{max-width:100%;overflow-x:hidden}
body.pc-has-contact-bar{padding-bottom:calc(108px + env(safe-area-inset-bottom,0px));padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}
/* Reviews: show the complete supplied screenshot instead of cropping it. */
.review-grid{align-items:start}
.review-card{display:flex;flex-direction:column;align-self:start}
.review-card img{width:100%;height:auto;max-height:none;object-fit:contain;object-position:center top;background:#fff}
.review-card figcaption{border-top:1px solid #edf3fa}
/* Business/footer block */
.papa-footer-grid{display:grid;grid-template-columns:.9fr 1.45fr .8fr;gap:52px;align-items:start}
.footer-brand-block .footer-brand img{object-fit:contain;background:#fff}
.footer-slogan{margin:13px 0 4px;color:#fff;font-weight:800}
.footer-note{margin:0;color:#aac2d9;font-size:13px}
.footer-business h3,.footer-links-block h3{margin:0 0 14px;color:#fff;font-size:16px}
.footer-business dl{margin:0;display:grid;gap:0;border-top:1px solid rgba(255,255,255,.12)}
.footer-business dl>div{display:grid;grid-template-columns:92px minmax(0,1fr);gap:14px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.footer-business dt{font-size:12px;color:#91a8c2;font-weight:700}
.footer-business dd{margin:0;color:#d8e5f2;font-size:13px;line-height:1.65;min-width:0}
.footer-business dd span{color:#91a8c2}
.footer-links-block a{display:block;margin:7px 0;color:#d8e5f2}.footer-links-block .footer-phone{font-size:19px;font-weight:900;color:#fff}
/* Fixed contact bar inspired by the ResetClean layout. */
.pc-contact-bar{position:fixed;inset:auto 0 0;z-index:120;background:#fff;border-top:2px solid var(--blue);box-shadow:0 -8px 30px rgba(16,59,108,.10);padding:0 max(18px,env(safe-area-inset-right,0px)) env(safe-area-inset-bottom,0px) max(18px,env(safe-area-inset-left,0px))}
.pc-contact-inner{max-width:1180px;min-height:92px;margin:0 auto;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:22px;padding:13px 0}
.pc-contact-intro{display:flex;align-items:center;gap:12px;min-width:0}.pc-contact-intro img{width:52px;height:52px;object-fit:contain;border-radius:12px;background:#fff;flex:0 0 auto}.pc-contact-intro span{display:grid;gap:1px}.pc-contact-intro strong{font-size:19px;color:var(--deep);line-height:1.35}.pc-contact-intro small{font-size:12px;color:var(--muted);white-space:nowrap}
.pc-contact-phone{display:grid;gap:1px;align-items:center;justify-items:center;padding:8px 14px;border-radius:12px;color:var(--deep)}.pc-contact-phone .pc-phone-label{font-size:12px;font-weight:700;color:#60758a}.pc-contact-phone strong{font-size:28px;line-height:1.2;letter-spacing:-.02em;white-space:nowrap}
.pc-contact-photo{min-height:56px;display:grid;align-content:center;justify-items:center;padding:10px 20px;border-radius:13px;background:var(--blue);color:#fff;box-shadow:0 10px 22px rgba(52,120,200,.2)}.pc-contact-photo strong{font-size:16px;line-height:1.3}.pc-contact-photo span{font-size:11px;opacity:.9;white-space:nowrap}
/* Before/after cases: pair each location vertically for easier comparison. */
.ba-pair-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start;margin-top:30px}
.ba-vertical-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:22px;padding:14px;box-shadow:0 7px 22px rgba(35,86,135,.05);overflow:hidden}
.ba-pair-title{font-size:13px;font-weight:900;color:var(--deep);margin:2px 2px 10px}
.ba-shot{position:relative;margin:0;border-radius:15px;overflow:hidden;background:#f6f9fc;border:1px solid #e8f0f8}
.ba-shot img{width:100%;height:230px;object-fit:cover}.ba-shot figcaption{padding:10px 12px;background:#fff;font-size:13px;font-weight:800;color:var(--deep)}
.ba-badge{position:absolute;top:10px;left:10px;z-index:2;padding:5px 9px;border-radius:999px;background:rgba(18,43,70,.82);color:#fff;font-size:10px;font-weight:900;letter-spacing:.08em}
.ba-shot.after .ba-badge{background:rgba(52,120,200,.94)}.ba-arrow{text-align:center;color:var(--blue);font-size:26px;font-weight:900;line-height:1;margin:7px 0}
/* Keep old gallery CSS from affecting new paired galleries. */
.ba-pair-grid .ba-shot img{max-width:100%}
@media(max-width:1023px){
 body.pc-has-contact-bar{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}
 .papa-footer-grid{grid-template-columns:1fr;gap:28px}
 .footer-business dl>div{grid-template-columns:90px minmax(0,1fr)}
 .pc-contact-bar{padding-left:max(12px,env(safe-area-inset-left,0px));padding-right:max(12px,env(safe-area-inset-right,0px))}
 .pc-contact-inner{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:8px;min-height:80px;max-width:720px;padding:9px 0}
 .pc-contact-intro{display:none}
 .pc-contact-phone,.pc-contact-photo{min-width:0;min-height:62px;height:100%;border-radius:12px;padding:8px 9px}
 .pc-contact-phone{background:#174f96;color:#fff}.pc-contact-phone .pc-phone-label{color:#d8ebff}.pc-contact-phone strong{font-size:18px;color:#fff}
 .pc-contact-photo{background:#e8f4ff;color:#174f96;border:1px solid #b9d9f5;box-shadow:none}.pc-contact-photo strong{font-size:15px}.pc-contact-photo span{font-size:11px;white-space:normal;text-align:center}
 .ba-pair-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
 .review-grid{grid-template-columns:1fr}
 .review-card{max-width:520px;width:100%;margin-left:auto;margin-right:auto}
 .ba-pair-grid{grid-template-columns:1fr;max-width:600px;margin-left:auto;margin-right:auto}
 .ba-shot img{height:auto;aspect-ratio:4/3;object-fit:cover}
}
@media(max-width:560px){
 .container{width:min(calc(100% - 28px),1180px)}
 .hero-grid,.service-hero-grid,.process-wrap,.faq-layout{width:100%;min-width:0}
 .hero-copy,.service-hero-grid>div,.service-hero-visual,.hero-visual{min-width:0}
 .review-card img{width:100%;height:auto;object-fit:contain}
 .papa-footer-grid{text-align:left}
 .footer-brand{justify-content:flex-start}
 .pc-contact-inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%}
 .pc-contact-phone strong{font-size:16px}.pc-contact-photo strong{font-size:14px}
 .pc-contact-photo span{font-size:10px}
 .service-hero-visual>img{height:260px}.mini-before{width:44%;max-width:170px}
 .shortcut .container{max-width:100%;overflow-x:auto;padding-left:14px;padding-right:14px}
 .section,.service-hero,.contact-hero{overflow-x:hidden}
}
@media(max-width:359px){.pc-contact-bar{padding-left:9px;padding-right:9px}.pc-contact-inner{gap:6px}.pc-contact-phone strong{font-size:15px}.pc-contact-photo span{display:none}.footer-business dl>div{grid-template-columns:1fr;gap:2px}}

/* PapaClean Secure V3: original review images + registered business info + mobile footer refinement */
.review-grid{grid-template-columns:repeat(3,minmax(0,1fr));justify-items:center;align-items:start}
.review-card{width:100%;max-width:340px;padding:18px 18px 0;background:#fff}
.review-card>a{display:flex;align-items:center;justify-content:center;width:100%;min-height:256px;background:#f8fbff;border-radius:14px;overflow:hidden}
.review-card img{width:256px!important;height:256px!important;max-width:100%;object-fit:contain!important;image-rendering:auto;background:#fff}
.review-card figcaption{margin:0 -18px;padding:12px 18px;border-top:1px solid #edf3fa;color:var(--deep)}
.footer-business{min-width:0}
.footer-business dl>div{grid-template-columns:110px minmax(0,1fr)}
.footer-business dd{overflow-wrap:anywhere;word-break:keep-all}
@media(max-width:900px){
 .review-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
 .papa-footer-grid{max-width:760px;margin-inline:auto;text-align:left}
 .footer-business dl>div{grid-template-columns:120px minmax(0,1fr)}
}
@media(max-width:560px){
 .review-grid{grid-template-columns:1fr;gap:16px}
 .review-card{max-width:320px;padding:14px 14px 0;margin-inline:auto}
 .review-card>a{min-height:auto}
 .review-card img{width:256px!important;height:256px!important;max-width:100%;}
 .review-card figcaption{margin:0 -14px;padding:11px 14px}
 .papa-footer-grid{width:100%;max-width:100%;gap:24px}
 .footer-business dl>div{grid-template-columns:1fr;gap:3px;padding:10px 0}
 .footer-business dt{font-size:11px;color:#8fb0cf}
 .footer-business dd{font-size:13px;line-height:1.7}
 .footer-links-block,.footer-brand-block{width:100%;min-width:0}
}

/* PapaClean Secure V3.1 - full-resolution review originals */
.review-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
.review-card{max-width:none;padding:0;overflow:hidden}
.review-card>a{display:block;width:100%;min-height:0;background:#fff;border-radius:0;overflow:visible}
.review-card img{display:block;width:100%!important;height:auto!important;max-width:none;object-fit:contain!important;object-position:top;background:#fff}
.review-card figcaption{margin:0;padding:12px 16px;border-top:1px solid #edf3fa}
@media(max-width:900px){.review-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}
@media(max-width:560px){.review-grid{grid-template-columns:1fr;gap:16px}.review-card{width:100%;max-width:430px;margin-inline:auto}.review-card img{width:100%!important;height:auto!important}}

/* PapaClean Secure V3.2 - review-body-only cards */
.review-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
.review-card{width:100%;max-width:none;padding:0;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}
.review-card>a{display:block;width:100%;background:#fff;overflow:hidden}
.review-card img{display:block;width:100%!important;height:auto!important;max-width:none!important;object-fit:contain!important;object-position:center top;background:#fff}
.review-card figcaption{margin:0;padding:12px 16px;border-top:1px solid #edf3fa;color:var(--deep);font-weight:800}
@media(max-width:900px){.review-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}
@media(max-width:560px){.review-grid{grid-template-columns:1fr;gap:16px}.review-card{max-width:430px;margin-inline:auto}.review-card img{width:100%!important;height:auto!important}}

/* PapaClean Secure V3.3 - privacy-safe review excerpts only */
#reviews .review-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
#reviews .review-card{margin:0;padding:0;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 5px 18px rgba(38,91,147,.05)}
#reviews .review-card img{display:block;width:100%!important;height:auto!important;max-width:100%!important;object-fit:contain!important;object-position:center;background:#fff}
@media(max-width:900px){#reviews .review-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}
@media(max-width:560px){#reviews .review-grid{grid-template-columns:1fr;gap:16px}#reviews .review-card{width:100%;max-width:430px;margin-inline:auto}}

/* PapaClean Secure V3.4 - mobile layout stabilization */
@media (max-width:700px){
  html,body{max-width:100%;overflow-x:clip}
  body{padding-bottom:calc(90px + env(safe-area-inset-bottom,0px))}
  .container{width:calc(100% - 44px);max-width:520px;margin-left:auto;margin-right:auto}
  .nav-wrap{width:calc(100% - 36px);max-width:520px}
  .mobile-menu{padding-left:22px;padding-right:22px}

  /* Give headings and explanatory copy a stable centered rhythm. */
  .hero-copy,
  .section>.container> .eyebrow,
  .section>.container> h2,
  .section>.container> .section-lead,
  .service-hero-grid>div:first-child,
  .contact-hero .container,
  .faq-layout>div:first-child{
    text-align:center;
  }
  .hero h1,.service-hero h1,.contact-hero h1,
  .section h2,.service-page h2,.cta h2{
    word-break:keep-all;
    overflow-wrap:break-word;
    hyphens:none;
  }
  .hero h1,.service-hero h1,.contact-hero h1{font-size:clamp(31px,8.5vw,38px);line-height:1.22;letter-spacing:-.035em}
  .section h2,.service-page h2{font-size:clamp(28px,7.7vw,34px);line-height:1.28;letter-spacing:-.03em}
  .hero-desc,.service-desc,.section-lead{word-break:keep-all;overflow-wrap:break-word}
  .hero-desc,.service-desc{font-size:16px;line-height:1.75}

  /* Center primary actions instead of leaving them visually biased left. */
  .hero-actions,.cta-actions{width:100%;display:flex;justify-content:center;align-items:stretch;gap:10px;margin-left:auto;margin-right:auto}
  .hero-actions .btn,.cta-actions .btn{width:auto;min-width:0;flex:1 1 0;max-width:230px;padding-left:12px;padding-right:12px;text-align:center}
  .hero-points{justify-content:center}

  .cta{padding:48px 0}
  .cta-inner{width:100%;max-width:520px;margin:0 auto;align-items:center!important;text-align:center;gap:26px}
  .cta-inner>div:first-child{width:100%}
  .cta h2{font-size:clamp(28px,7.6vw,34px);line-height:1.28}
  .cta p{word-break:keep-all;overflow-wrap:break-word}

  /* Keep all cards and grids inside the same calm centered column. */
  .service-grid,.case-grid,.review-grid,.steps,.steps.four,.work-grid,.photo-grid,.ba-pair-grid{width:100%;margin-left:auto;margin-right:auto}
  .service-card,.case-card,.review-card,.ba-vertical-card{min-width:0}
  .service-card>div,.case-card{padding-left:18px;padding-right:18px}

  /* Service pages: keep image cards and shortcuts from pulling the layout sideways. */
  .service-hero,.section,.contact-hero,.cta,.site-footer{overflow-x:clip}
  .service-hero-grid,.hero-grid,.process-wrap,.faq-layout{max-width:100%;margin-inline:auto}
  .service-callout{flex-direction:column;align-items:center;text-align:center;gap:4px}
  .service-callout strong{white-space:normal}
  .shortcut .container{width:100%;max-width:100%;padding-left:22px;padding-right:22px;margin:0;scroll-padding-inline:22px}

  /* Footer becomes centered as a whole; business facts remain readable. */
  .papa-footer-grid{width:calc(100% - 44px);max-width:520px;margin-inline:auto;text-align:center!important;gap:28px}
  .footer-brand{justify-content:center!important}
  .footer-brand-block,.footer-links-block,.footer-business{width:100%;min-width:0}
  .footer-slogan,.footer-note{margin-left:auto;margin-right:auto}
  .footer-business h3,.footer-links-block h3{text-align:center}
  .footer-business dl{max-width:100%;margin-inline:auto;text-align:left}
  .footer-business dl>div{grid-template-columns:1fr;gap:2px;padding:10px 0}
  .footer-business dt,.footer-business dd{overflow-wrap:anywhere;word-break:keep-all}
  .footer-links-block a{text-align:center}
  .footer-bottom{width:calc(100% - 44px);max-width:520px;margin-left:auto;margin-right:auto;text-align:center}

  /* Fixed contact bar: exact centered two-column layout inside the safe area. */
  .pc-contact-bar{left:0;right:0;width:100%;padding-left:max(18px,env(safe-area-inset-left,0px));padding-right:max(18px,env(safe-area-inset-right,0px));padding-bottom:max(10px,env(safe-area-inset-bottom,0px));background:rgba(255,255,255,.985)}
  .pc-contact-inner{width:100%;max-width:520px;margin:0 auto;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;padding:9px 0;min-height:80px}
  .pc-contact-phone,.pc-contact-photo{width:100%;min-width:0;min-height:64px;margin:0;padding:8px 10px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
  .pc-contact-phone strong{font-size:clamp(15px,4.7vw,19px);white-space:nowrap}
  .pc-contact-photo strong{font-size:clamp(14px,4.4vw,17px)}
  .pc-contact-photo span{font-size:10px;line-height:1.35;white-space:normal;text-align:center}
}

@media (max-width:390px){
  .container,.papa-footer-grid,.footer-bottom{width:calc(100% - 36px)}
  .hero-actions,.cta-actions{flex-direction:column;align-items:center}
  .hero-actions .btn,.cta-actions .btn{width:100%;max-width:320px;flex:none}
  .pc-contact-bar{padding-left:max(12px,env(safe-area-inset-left,0px));padding-right:max(12px,env(safe-area-inset-right,0px))}
  .pc-contact-inner{gap:8px}
  .pc-contact-phone,.pc-contact-photo{padding:7px 7px}
}
