.pb-site { --ink:#142b36;--deep:#10232d;--paper:#f7f4ed;--white:#fffdf8;--orange:#ff9852;--line:#d9ded9;--muted:#48616a }
.pb-site, .pb-site * { box-sizing:border-box }
.pb-site { margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 system-ui,sans-serif }
.pb-site a { color:inherit }
.pb-site a:focus-visible, .pb-site summary:focus-visible { outline:3px solid #167f96;outline-offset:5px }
.pb-site .wrap { width:min(1580px,calc(100% - 96px));margin:auto }
.pb-site .skip { position:absolute;top:-100px;left:12px;background:white;padding:12px;z-index:5 }
.pb-site .skip:focus { top:12px }
.pb-site .header { background:var(--white) }
.pb-site .head { min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:24px }
.pb-site .brand { display:inline-flex;gap:12px;align-items:center;text-decoration:none;font-size:14px;line-height:1.07;font-weight:900;letter-spacing:.015em }
.pb-site .brand svg { width:43px;height:43px;flex:none }
.pb-site .head nav { display:flex;gap:29px }
.pb-site .head nav a { font-size:14px;font-weight:700;text-decoration:none;display:grid;align-items:center;min-height:44px }
.pb-site .head nav a:hover { text-decoration:underline }
.pb-site .btn { display:inline-flex;align-items:center;justify-content:center;gap:16px;text-decoration:none;font-weight:800;padding:13px 19px;min-height:48px;border:1px solid transparent;border-radius:6px;background:var(--orange);color:var(--deep) }
.pb-site .btn:hover { background:#ffb47f }
.pb-site .btn.alt { background:transparent;color:inherit;border-color:#84949a }
.pb-site .btn.alt:hover { background:#ffffff15 }
.pb-site .hero { background:var(--deep);color:var(--white);overflow:hidden }
.pb-site .hero-grid { display:grid;grid-template-columns:1fr 1fr;min-height:570px }
.pb-site .intro { padding:76px 0 85px;align-self:center;position:relative;z-index:1 }
.pb-site .eyebrow { font-size:12px;font-weight:850;letter-spacing:.15em;text-transform:uppercase;display:flex;gap:10px;align-items:center }
.pb-site .eyebrow:before { content:"";width:22px;height:3px;background:var(--orange) }
.pb-site h1, .pb-site h2, .pb-site h3, .pb-site p { margin:0 }
.pb-site h1 { font-size:clamp(48px,6.2vw,98px);line-height:.98;letter-spacing:-.071em;margin:24px 0 25px;font-weight:850 }
.pb-site h1 span { color:var(--orange);display:block }
.pb-site .intro p { max-width:415px;color:#d3e0e1;font-size:18px }
.pb-site .buttons { display:flex;gap:12px;flex-wrap:wrap;margin-top:30px }
.pb-site .visual { position:relative;min-width:0;align-self:stretch;display:grid;place-items:center }
.pb-site .visual svg { width:112%;max-width:690px;height:auto }
.pb-site .figure-label { position:absolute;right:0;top:33px;color:#bacdd0;font:11px ui-monospace,monospace;letter-spacing:.12em }
.pb-site .badge { position:absolute;right:1%;bottom:28px;background:var(--orange);color:var(--deep);padding:14px 22px;display:flex;align-items:center;gap:12px;transform:rotate(-4deg);box-shadow:0 7px 0 #0a1922 }
.pb-site .badge strong { font-size:52px;line-height:1;letter-spacing:-.09em }
.pb-site .badge span { font-size:11px;font-weight:850;line-height:1.3;text-transform:uppercase;letter-spacing:.07em }
.pb-site .strip { background:#e9ede7;border-bottom:1px solid var(--line) }
.pb-site .strip .wrap { display:grid;grid-template-columns:repeat(3,1fr) }
.pb-site .proof { padding:20px 16px;display:flex;gap:12px;align-items:center;font-weight:800;justify-content:center }
.pb-site .proof+.proof { border-left:1px solid #ccd6d0 }
.pb-site .proof b { color:#38525c;font:12px ui-monospace,monospace }
.pb-site .section { padding:80px 0 }
.pb-site .section-head { display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:29px }
.pb-site .section-head p { max-width:380px;color:var(--muted) }
.pb-site h2 { font-size:clamp(36px,5vw,64px);line-height:1.03;letter-spacing:-.06em;margin-top:10px }
.pb-site .services { display:grid;grid-template-columns:repeat(3,1fr);gap:12px }
.pb-site .card { background:var(--white);border:1px solid var(--line);border-radius:9px;padding:23px;min-width:0 }
.pb-site .card[open] { border-color:#8d9d9e }
.pb-site summary { cursor:pointer;list-style:none;min-height:111px;display:grid;grid-template-columns:1fr auto;gap:16px;align-content:space-between }
.pb-site summary::-webkit-details-marker { display:none }
.pb-site .btn.page-cta__button:hover { color:#fff }
.pb-site .num { font:12px ui-monospace,monospace;color:var(--muted);grid-column:1/-1 }
.pb-site .label { font-size:24px;line-height:1.12;letter-spacing:-.04em;font-weight:800 }
.pb-site .plus { width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#f6e5d6;font-size:22px }
.pb-site .plus:before { content:"+" }
.pb-site [open] .plus:before { content:"−" }
.pb-site .card p { margin-top:16px;color:var(--muted) }
.pb-site .method { background:#e9ede7 }
.pb-site .steps { display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:32px 0 0;padding:0;list-style:none }
.pb-site .steps li { border-top:1px solid #859a9a;padding-top:16px }
.pb-site .steps h3 { font-size:22px;margin:8px 0 5px }
.pb-site .steps p { color:var(--muted) }
.pb-site .case-grid { display:grid;grid-template-columns:1fr 1fr;gap:16px }
.pb-site .case { border:1px solid var(--line);background:var(--white);border-radius:9px;overflow:hidden }
.pb-site .case-visual { min-height:150px;display:grid;place-items:center;background:repeating-linear-gradient(135deg,#e8ece7,#e8ece7 12px,#f0f2ed 12px,#f0f2ed 24px);color:var(--ink);font:700 12px ui-monospace,monospace;text-align:center;padding:16px }
.pb-site .case h3 { margin:16px 20px 5px }
.pb-site .case p { margin:0 20px 20px;color:var(--muted) }
.pb-site .contact { background:var(--deep);color:var(--white);padding:60px 0 }
.pb-site .contact .wrap { display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center }
.pb-site .contact p { color:#d3e0e1 }
.pb-site .contact strong { color:var(--white) }
.pb-site footer { background:#0a1a22;color:#d3e0e1;padding:19px 0;font-size:13px }
.pb-site footer .wrap { display:flex;gap:16px;justify-content:space-between }
@media(max-width:900px) {
.pb-site .wrap { width:calc(100% - 48px) }
.pb-site .head nav { gap:13px }
.pb-site .hero-grid { min-height:510px }
.pb-site .intro { padding:65px 0 }
.pb-site .services { grid-template-columns:repeat(2,1fr) }
}
@media(max-width:680px) {
.pb-site .wrap { width:calc(100% - 36px) }
.pb-site .head { min-height:70px;gap:8px }
.pb-site .head nav { display:none }
.pb-site .head .btn { font-size:13px;padding:9px 11px;min-height:44px }
.pb-site .brand svg { width:35px;height:35px }
.pb-site .brand { gap:8px;font-size:12px }
.pb-site .hero-grid { grid-template-columns:1fr }
.pb-site .intro { padding:41px 0 6px }
.pb-site h1 { font-size:clamp(43px,11.8vw,74px) }
.pb-site .intro p { font-size:16px }
.pb-site .buttons { margin-top:22px }
.pb-site .visual { min-height:270px }
.pb-site .visual svg { width:100%;max-width:440px }
.pb-site .figure-label { top:16px;font-size:9px }
.pb-site .badge { bottom:16px;padding:10px 12px }
.pb-site .badge strong { font-size:38px }
.pb-site .badge span { font-size:9px }
.pb-site .proof { display:block;font-size:11px;line-height:1.25;text-align:center;padding:12px 6px }
.pb-site .proof b { display:block;margin-bottom:5px;font-size:10px }
.pb-site .section { padding:53px 0 }
.pb-site .section-head { display:block }
.pb-site .section-head p { margin-top:14px }
.pb-site .steps, .pb-site .case-grid, .pb-site .contact .wrap { grid-template-columns:1fr }
.pb-site .card { padding:15px }
.pb-site .label { font-size:18px }
.pb-site summary { min-height:94px;gap:5px }
.pb-site .plus { width:25px;height:25px;font-size:17px }
.pb-site .contact { padding:45px 0 }
.pb-site footer .wrap { display:block }
}
@media(prefers-reduced-motion:reduce) {

}
.pb-site { --ink:#18372e;--deep:#16382e;--paper:#f8faf3;--white:#fffffb;--orange:#ffbb82;--line:#d5e3d6;--muted:#456052 }
.pb-site { background:var(--paper) }
.pb-site .head { min-height:80px }
.pb-site .head nav { gap:clamp(10px,1.8vw,25px) }
.pb-site .hero { background:linear-gradient(115deg,#f8f3df 10%,#e5efdd 80%);color:var(--ink) }
.pb-site .hero-grid { grid-template-columns:1.04fr 1fr;gap:28px;min-height:530px }
.pb-site .intro { padding:58px 0 }
.pb-site .intro p { color:var(--muted);max-width:470px }
.pb-site .intro h1 { font-size:clamp(48px,6.05vw,91px);line-height:1.01;margin:18px 0 22px }
.pb-site .intro h1 span { color:#32634d }
.pb-site .btn { background:var(--deep);color:#fffdf6 }
.pb-site .btn:hover { background:#285141 }
.pb-site .btn.alt { border-color:#74917e }
.pb-site .btn.alt:hover { background:#e2edda }
.pb-site .hero-note { margin-top:18px;font-size:14px;font-weight:700 }
.pb-site .hero-note a { text-underline-offset:3px }
.pb-site .eyebrow:before { background:#a44820 }
.pb-site .visual { margin:22px 0;overflow:hidden;isolation:isolate;background:#cbdcc5;border:1px solid #a8c3aa;border-radius:42% 42% 15px 15px;min-height:440px }
.pb-site .visual svg { width:100%;height:100%;object-fit:cover }
.pb-site .figure-label { right:auto;left:22px;top:auto;bottom:21px;color:#1c4032;font-weight:700 }
.pb-site .badge { right:7%;bottom:32px;transform:rotate(-6deg);box-shadow:0 5px 0 #335e49;z-index:1 }
.pb-site .strip { background:#fff2e1 }
.pb-site .proof+.proof { border-left-color:#eadac6 }
.pb-site .section { padding:67px 0 }
.pb-site .services { align-items:start }
.pb-site .card:nth-child(1) { background:#e6f0df }
.pb-site .card:nth-child(2) { background:#fff1dc }
.pb-site .card:nth-child(3) { background:#f9e7dd }
.pb-site .card:nth-child(4) { background:#edf1e7 }
.pb-site .card:nth-child(5) { background:#f8f1d9 }
.pb-site .card:nth-child(6) { background:#e2eee8 }
.pb-site .num { color:#39594a }
.pb-site .plus { background:#fffaf0 }
.pb-site .primary-card { border-top:4px solid #447b59 }
.pb-site .price-section { background:#f7ead7 }
.pb-site .price-grid, .pb-site .area-grid, .pb-site .editorial { display:grid;grid-template-columns:1.25fr .75fr;gap:20px;align-items:start }
.pb-site .table-wrap { background:var(--white);border:1px solid #e2d6c7;border-radius:14px;overflow:hidden }
.pb-site .price-table { width:100%;border-collapse:collapse;text-align:left;font-size:14px }
.pb-site .price-table th, .pb-site .price-table td { padding:14px 16px;border-bottom:1px solid #e8ddd0;vertical-align:top }
.pb-site .price-table tr:last-child td, .pb-site .price-table tr:last-child th { border-bottom:none }
.pb-site .price-table thead th { background:#e3edd9;font-size:13px }
.pb-site .price-table tbody th { width:52% }
.pb-site .price-table small { display:block;font-weight:400;color:var(--muted);margin-top:3px }
.pb-site .aside { background:#fffaf0;padding:22px;border-radius:14px;border:1px solid #e0d6c6 }
.pb-site .aside p { margin:8px 0 15px;color:var(--muted) }
.pb-site .area-section { background:#e3efdf }
.pb-site .area-grid { grid-template-columns:1fr 1fr;align-items:stretch }
.pb-site .area-list { margin:0;padding:0;list-style:none;background:#fcfff6;border:1px solid #c4d7c5;border-radius:14px }
.pb-site .area-list li { padding:15px 18px;border-bottom:1px solid #d4e3d3 }
.pb-site .area-list li:last-child { border-bottom:0 }
.pb-site .area-list span { display:block;color:var(--muted);font-size:14px }
.pb-site .map { background:#cfe0cc;border-radius:14px;display:grid;align-content:center;justify-items:center;min-height:220px }
.pb-site .map svg { width:min(70%,330px);height:156px }
.pb-site .map small { color:#365849;padding:5px 12px 14px }
.pb-site .case-visual { background:repeating-linear-gradient(135deg,#e4eee1,#e4eee1 12px,#edf4e8 12px,#edf4e8 24px) }
.pb-site .method { background:#eef1e6 }
.pb-site .guide-section { background:#fffaed }
.pb-site .guide-list { display:grid;gap:9px }
.pb-site .guide-list details { background:var(--white);border:1px solid var(--line);border-radius:9px;padding:0 15px }
.pb-site .guide-list summary { display:block;min-height:0;padding:14px 0;font-weight:750 }
.pb-site .guide-list summary:before { content:"+ ";color:#32634d }
.pb-site .guide-list details[open] summary:before { content:"− " }
.pb-site .guide-list p { padding-bottom:15px;color:var(--muted) }
.pb-site .contact { background:#183c31 }
.pb-site .contact p { color:#e0eee3 }
.pb-site .project-note { padding:17px 0;background:#eef4e7;color:var(--ink);font-size:14px }
.pb-site .project-note summary { display:block;min-height:0;font-weight:800;padding:8px 0 }
.pb-site .project-note li { margin:6px 0 }
.pb-site footer { background:#102d24 }
.pb-site .mobile-nav { display:none }
@media(max-width:850px) {
.pb-site .head nav { display:none }
.pb-site .mobile-nav { display:block;background:#fff5e5;border-top:1px solid #eee1cc }
.pb-site .mobile-nav .wrap { display:flex;flex-wrap:wrap;gap:0 18px }
.pb-site .mobile-nav a { min-height:44px;display:flex;align-items:center;font-size:13px;font-weight:750;text-decoration:none }
.pb-site .hero-grid { gap:13px }
.pb-site .visual { min-height:360px }
}
@media(max-width:680px) {
.pb-site .hero-grid, .pb-site .price-grid, .pb-site .area-grid, .pb-site .editorial { grid-template-columns:1fr }
.pb-site .hero-grid { gap:0 }
.pb-site .intro { padding:37px 0 0 }
.pb-site .intro h1 { font-size:clamp(40px,11vw,67px) }
.pb-site .visual { min-height:280px;margin:16px 0 24px }
.pb-site .badge { bottom:24px }
.pb-site .figure-label { left:11px;bottom:11px }
.pb-site .section { padding:48px 0 }
.pb-site .price-table th, .pb-site .price-table td { padding:11px 8px }
.pb-site .price-table tbody th { width:52% }
}
.pb-site .sr-only { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap }
.pb-site { --brick:#c32932;--brick-hover:#a31e29 }
.pb-site .btn.urgent, .pb-site .badge { background:var(--brick);color:#fffdf6 }
.pb-site .btn.urgent:hover { background:var(--brick-hover) }
.pb-site .badge { box-shadow:0 5px 0 #6c211c }
.pb-site .eyebrow:before { background:var(--brick) }
.pb-site .hero-photo { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50% }
.pb-site .visual .figure-label { z-index:1;background:#fff5e5;color:#18372e;padding:4px 7px;border-radius:4px }
.pb-site { --ink:#302524;--deep:#482a2b;--paper:#fff9f3;--white:#fffdfa;--line:#ead8d3;--muted:#684e4c }
.pb-site .hero { background:linear-gradient(115deg,#fff7ea 10%,#f8e0db 85%) }
.pb-site .intro h1 span { color:var(--brick) }
.pb-site .visual { border-color:#ddbbb1;background:#f2d9d2 }
.pb-site .strip { background:#f9e3dc }
.pb-site .proof+.proof { border-left-color:#e5c7c1 }
.pb-site .proof b, .pb-site .num { color:var(--muted) }
.pb-site .btn.alt { border-color:#a77a75 }
.pb-site .btn.alt:hover { background:#f7e1db }
.pb-site .btn:not(.alt):not(.urgent):hover { background:#64383a }
.pb-site .badge { box-shadow:0 5px 0 #891e28 }
.pb-site a:focus-visible, .pb-site summary:focus-visible { outline-color:#a31e29 }
.pb-site .card:nth-child(1), .pb-site .card:nth-child(3) { background:#fbe4df }
.pb-site .card:nth-child(2), .pb-site .card:nth-child(5) { background:#fff0dc }
.pb-site .card:nth-child(4), .pb-site .card:nth-child(6) { background:#f8eeea }
.pb-site .primary-card { border-top-color:var(--brick) }
.pb-site .price-section, .pb-site .method { background:#fff0e2 }
.pb-site .price-table thead th { background:#f9dfd9 }
.pb-site .area-section, .pb-site .project-note { background:#f9e6e1 }
.pb-site .area-list { background:var(--white);border-color:#e5c9c3 }
.pb-site .area-list li { border-bottom-color:#e9d4ce }
.pb-site .map { background:#f4dad4 }
.pb-site .map small, .pb-site .visual .figure-label { color:var(--muted) }
.pb-site .case-visual { background:repeating-linear-gradient(135deg,#f5e2dd,#f5e2dd 12px,#f9ece7 12px,#f9ece7 24px) }
.pb-site .steps li { border-top-color:#b8938d }
.pb-site .guide-list summary:before { color:var(--brick) }
.pb-site .contact { background:#482a2b }
.pb-site .contact p { color:#f6e4df }
.pb-site footer { background:#332022;color:#f6e4df }
.pb-site .head .header-phone { gap:9px;padding:8px 14px;min-height:48px;white-space:nowrap;text-align:left;font-variant-numeric:tabular-nums }
.pb-site .header-phone svg { flex:none }
.pb-site .header-phone .phone-label, .pb-site .header-phone .phone-number { display:block;line-height:1.15 }
.pb-site .header-phone .phone-label { font-size:10px;letter-spacing:.09em;text-transform:uppercase }
.pb-site .header-phone .phone-number { font-size:clamp(14px,1.35vw,20px);margin-top:3px }
@media(max-width:680px) {
.pb-site .head .header-phone { gap:6px;padding:7px 8px }
.pb-site .header-phone svg { width:16px;height:16px }
}

/* Anchor navigation also works when the template is included in a host page. */
.pb-site :target { scroll-margin-top: var(--pb-anchor-offset, 1rem); }
