/* Home page only. Extends pogotowie.css and cms.css; the source template stays unchanged. */
.pb-site .icon { width:1.25em;height:1.25em;flex:none }
.pb-site .link-arrow { display:inline-flex;align-items:center;gap:8px;font-weight:750;text-underline-offset:4px;min-height:44px }
.pb-site .link-arrow .icon, .pb-site .service-more .icon, .pb-site .triage-card__go .icon { transition:transform .25s ease }
.pb-site .link-arrow:hover .icon { transform:translateX(4px) }

/* Hero: two clear paths instead of a row of equal buttons. */
.pb-site .hero--triage { position:relative;isolation:isolate;background:#fff7ea }
.pb-site .hero-bg { position:absolute;inset:0;z-index:-1;overflow:hidden;background:radial-gradient(60% 80% at 88% 18%,#f8d9d2 0,transparent 62%),radial-gradient(42% 60% at 6% 100%,#ffe9cf 0,transparent 62%),linear-gradient(115deg,#fff7ea 10%,#f8e0db 85%) }
.pb-site .hero-bg:before { content:"";position:absolute;inset:0;background-image:linear-gradient(#c3293214 1px,transparent 1px),linear-gradient(90deg,#c3293214 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(ellipse 60% 70% at 72% 42%,#000 0,transparent 72%);mask-image:radial-gradient(ellipse 60% 70% at 72% 42%,#000 0,transparent 72%) }
.pb-site .hero-bg:after { content:"";position:absolute;width:520px;height:520px;right:-120px;top:-160px;border-radius:50%;background:#c3293224;filter:blur(90px) }
.pb-site .hero--triage .hero-grid { grid-template-columns:1.08fr .92fr;gap:clamp(24px,4vw,64px);min-height:600px }
.pb-site .hero--triage .intro { padding:56px 0 64px }
.pb-site .hero--triage .intro h1 { font-size:clamp(46px,6vw,92px);margin:16px 0 20px }
.pb-site .hero--triage .lead { max-width:520px;font-size:19px;line-height:1.55;color:var(--muted) }
.pb-site .eyebrow--live:before { display:none }
.pb-site .pulse { width:10px;height:10px;border-radius:50%;background:var(--brick);box-shadow:0 0 0 0 #c3293280 }
.pb-site .triage { display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:30px;max-width:640px }
.pb-site .triage__label { grid-column:1/-1;font-size:13px;font-weight:800;letter-spacing:.04em;color:var(--ink) }
.pb-site .triage-card { display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:16px 16px 16px 18px;min-height:104px;border-radius:16px;text-decoration:none;background:var(--white);border:1px solid #dcbdb5;box-shadow:0 1px 0 #fff inset,0 10px 30px -18px #482a2b66;transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s ease,border-color .25s ease }
.pb-site .triage-card:hover { transform:translateY(-4px);box-shadow:0 22px 40px -22px #482a2b80;border-color:var(--brick) }
.pb-site .triage-card:hover .triage-card__go .icon { transform:translateX(4px) }
.pb-site .triage-card__icon { width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#fbe4df;color:var(--brick) }
.pb-site .triage-card__icon .icon { width:24px;height:24px }
.pb-site .triage-card__text { display:grid;gap:3px;min-width:0 }
.pb-site .triage-card__text strong { font-size:20px;line-height:1.15;letter-spacing:-.03em }
.pb-site .triage-card__text span { font-size:14px;line-height:1.4;color:var(--muted) }
.pb-site .triage-card--urgent { background:var(--brick);border-color:var(--brick);color:#fffdf6;box-shadow:0 18px 36px -20px #c32932 }
.pb-site .triage-card--urgent:hover { background:var(--brick-hover);border-color:var(--brick-hover);box-shadow:0 26px 44px -22px #a31e29 }
.pb-site .triage-card--urgent .triage-card__icon { background:#ffffff26;color:#fffdf6 }
.pb-site .triage-card--urgent .triage-card__text span { color:#ffe7e2 }
.pb-site .triage-card--urgent:focus-visible { outline-color:var(--ink) }
.pb-site .hero--triage .hero-note { display:flex;flex-wrap:wrap;gap:6px 22px;margin-top:20px }
.pb-site .hero--triage .hero-note a { display:inline-flex;align-items:center;min-height:32px }
.pb-site .visual-stage { position:relative;display:grid;min-width:0 }
.pb-site .visual-stage .visual { box-shadow:0 40px 70px -46px #482a2b99 }
.pb-site .brief { position:absolute;right:-10px;bottom:70px;z-index:2;width:214px;padding:14px 16px 12px;border-radius:16px;background:#fffdfaf2;border:1px solid #ead8d3;box-shadow:0 22px 44px -22px #482a2b8c;backdrop-filter:blur(6px);transform:translate3d(calc(var(--px,0)*-10px),calc(var(--py,0)*-8px),0) }
.pb-site .brief__head { display:flex;align-items:center;gap:8px;font-size:12px;font-weight:850;letter-spacing:.04em;text-transform:uppercase;color:var(--muted) }
.pb-site .brief ul { list-style:none;margin:10px 0 0;padding:0;display:grid;gap:7px }
.pb-site .brief li { display:flex;align-items:center;gap:9px;font-weight:750;font-size:15px }
.pb-site .brief li .icon { width:20px;height:20px;padding:3px;border-radius:50%;background:var(--brick);color:#fffdf6;stroke-width:3 }

/* Facts counted from the CMS. */
.pb-site .facts { background:var(--deep);color:#fffdf6 }
.pb-site .facts__list { list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr)) }
.pb-site .facts__list li+li { border-left:1px solid #ffffff24 }
.pb-site .facts__list a { display:flex;align-items:center;gap:14px;padding:24px 22px;text-decoration:none;min-height:92px;transition:background .2s ease }
.pb-site .facts__list a:hover { background:#ffffff12 }
.pb-site .facts__list a:focus-visible { outline-color:var(--orange);outline-offset:-4px }
.pb-site .facts__list b { font-size:clamp(34px,3.6vw,52px);line-height:1;letter-spacing:-.05em;font-weight:850;font-variant-numeric:tabular-nums;color:var(--orange) }
.pb-site .facts__list span { font-size:14px;line-height:1.3;font-weight:650;color:#f6e4df;max-width:140px }

/* Services. */
.pb-site .services-section { padding-top:84px }
.pb-site .services .card { position:relative;border-radius:16px;padding:24px;transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s ease }
.pb-site .services .card:hover { transform:translateY(-6px);box-shadow:0 26px 44px -28px #482a2b99 }
.pb-site .services .card:hover .service-more .icon { transform:translateX(4px) }
.pb-site .card__icon { width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--white);color:var(--brick);margin-bottom:18px;box-shadow:0 6px 16px -10px #482a2b80 }
.pb-site .card__icon .icon { width:24px;height:24px }
.pb-site .services h3 { margin-top:10px }
.pb-site .services .service-more { display:inline-flex;align-items:center;gap:8px }
.pb-site .services .card--all { background:var(--deep);color:#fffdf6;border-color:var(--deep);text-decoration:none;border-top:4px solid var(--orange) }
.pb-site .services .card--all .num { color:#f6e4df }
.pb-site .services .card--all .card__icon { background:#ffffff1f;color:var(--orange);box-shadow:none }
.pb-site .card--all__count { font-size:clamp(56px,6vw,84px);line-height:1;letter-spacing:-.06em;font-weight:850;margin-top:10px;color:var(--orange) }
.pb-site .card--all__label { font-size:18px;font-weight:700;margin-top:6px }
.pb-site .services .card--all:focus-visible { outline-color:var(--brick) }

/* Sections edited in the CMS. */
.pb-site .method .prose>h2, .pb-site .price-section .prose>h2, .pb-site .area-section .prose>h2, .pb-site .story h2, .pb-site .works h2 { font-size:clamp(34px,4.4vw,58px);line-height:1.03;letter-spacing:-.055em;margin-top:10px }
.pb-site .method { background:var(--paper);padding:84px 0 }
.pb-site .method .steps { gap:28px;margin-top:44px;counter-reset:step }
.pb-site .method .steps li { position:relative;border-top:3px solid #ead8d3;padding-top:26px }
.pb-site .method .steps li:before { content:"";position:absolute;left:0;top:-9px;width:15px;height:15px;border-radius:50%;background:var(--brick);box-shadow:0 0 0 5px var(--paper) }
.pb-site .method .steps li:after { content:"";position:absolute;left:0;top:-3px;height:3px;width:100%;background:var(--brick);transform-origin:left }
.pb-site .method .steps h3 { font-size:26px;letter-spacing:-.035em;margin:10px 0 8px }
.pb-site .method .steps p { font-size:17px }
.pb-site .price-section { padding:84px 0 }
.pb-site .price-section .price-grid { margin-top:28px;gap:24px }
.pb-site .price-section .table-wrap, .pb-site .price-section .aside { border-radius:18px;box-shadow:0 24px 44px -34px #482a2b80 }
.pb-site .price-section .price-table { font-size:16px }
.pb-site .price-section .aside { padding:26px }
.pb-site .price-section .aside h3 { font-size:24px;letter-spacing:-.03em }
.pb-site .area-section { position:relative;overflow:hidden;isolation:isolate;padding:92px 0 }
.pb-site .area-section:before, .pb-site .area-section:after { content:"";position:absolute;z-index:-1;right:clamp(-120px,6vw,140px);top:50%;width:520px;height:520px;margin-top:-260px;border-radius:50% }
.pb-site .area-section:before { background:radial-gradient(circle,var(--brick) 0 7px,transparent 8px),repeating-radial-gradient(circle,transparent 0 51px,#c329323d 51px 53px);-webkit-mask-image:radial-gradient(circle,#000 30%,transparent 70%);mask-image:radial-gradient(circle,#000 30%,transparent 70%) }
.pb-site .area-section:after { width:120px;height:120px;margin-top:-60px;right:calc(clamp(-120px,6vw,140px) + 200px);border:2px solid var(--brick);opacity:0 }
.pb-site .area-section .prose>p { max-width:620px }
.pb-site .area-section .prose a { font-weight:750;text-underline-offset:4px }

/* Photos of earlier work. */
.pb-site .works { padding:84px 0 }
.pb-site .mosaic { display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:clamp(150px,17vw,250px);gap:14px }
.pb-site .mosaic__item { margin:0;position:relative;border-radius:18px;overflow:hidden;background:#f2d9d2 }
.pb-site .mosaic__item:first-child { grid-column:span 2;grid-row:span 2 }
.pb-site .mosaic__item a { display:block;height:100%;color:#fffdf6;text-decoration:none }
.pb-site .mosaic__item a:focus-visible { outline-offset:-5px;outline-color:#fffdf6 }
.pb-site .mosaic__item img { width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.7,.2,1) }
.pb-site .mosaic__item:hover img { transform:scale(1.06) }
.pb-site .mosaic__item figcaption { position:absolute;inset:auto 0 0;padding:44px 16px 14px;font-weight:750;font-size:15px;line-height:1.3;background:linear-gradient(transparent,#2f1b1ce6) }
.pb-site .mosaic__item figcaption:first-letter { text-transform:uppercase }
.pb-site .mosaic__item:first-child figcaption { font-size:20px;padding:70px 22px 20px }

.pb-site .story { background:var(--white);border-block:1px solid var(--line) }
.pb-site .story__grid { display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(24px,5vw,80px);align-items:start }
.pb-site .story__head { position:sticky;top:calc(var(--pb-anchor-offset,96px) + 8px) }
.pb-site .story__body>p:first-child { margin-top:0;font-size:21px;font-weight:650;color:var(--ink) }
.pb-site .story__body h2 { font-size:clamp(24px,2.4vw,30px);line-height:1.15;letter-spacing:-.03em;margin:34px 0 10px }
.pb-site .guide-section .guide-list details { border-radius:14px;padding:0 20px;transition:border-color .2s ease,box-shadow .2s ease }
.pb-site .guide-section .guide-list details[open] { border-color:var(--brick);box-shadow:0 18px 34px -28px #482a2b99 }
.pb-site .guide-section .guide-list summary { padding:18px 0;font-size:18px }
.pb-site .guide-section .guide-list p { font-size:17px;padding-bottom:20px }

/* Thumb-zone actions on phones, shown once the hero is out of view. */
.pb-site .quickbar { display:none }
@media(max-width:850px) {
.pb-site .quickbar { position:fixed;inset:auto 0 0;z-index:25;display:flex;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:#fffdfaf2;border-top:1px solid var(--line);box-shadow:0 -12px 30px -18px #482a2b80;backdrop-filter:blur(8px);transform:translateY(110%);transition:transform .3s cubic-bezier(.2,.7,.2,1) }
.pb-site .quickbar.is-visible { transform:none }
.pb-site .quickbar .btn { flex:1;gap:8px;padding:12px 10px;font-size:15px;white-space:nowrap }
.pb-site.has-quickbar .footer { padding-bottom:92px }
}

@media(max-width:1100px) {
.pb-site .brief { right:8px }
}
@media(max-width:850px) {
.pb-site .hero--triage .hero-grid { grid-template-columns:1fr;gap:0;min-height:0 }
.pb-site .hero--triage .intro { padding:40px 0 8px }
.pb-site .hero--triage .visual { min-height:340px;margin:24px 0 36px }
.pb-site .brief { right:12px;bottom:58px }
.pb-site .facts__list { grid-template-columns:repeat(2,minmax(0,1fr)) }
.pb-site .facts__list li:nth-child(odd) { border-left:0 }
.pb-site .facts__list li:nth-child(n+3) { border-top:1px solid #ffffff24 }
.pb-site .facts__list a { padding:18px 14px;gap:10px;min-height:76px }
.pb-site .story__grid { grid-template-columns:1fr }
.pb-site .story__head { position:static }
.pb-site .area-section:before { opacity:.5;right:-340px }
.pb-site .area-section:after { display:none }
}
@media(max-width:680px) {
.pb-site .hero--triage .intro h1 { font-size:clamp(40px,11.5vw,64px) }
.pb-site .hero--triage .lead { font-size:17px }
.pb-site .facts__list a { flex-direction:column;align-items:flex-start;gap:6px;padding:16px 12px }
.pb-site .facts__list span { max-width:none;overflow-wrap:anywhere }
.pb-site .triage { grid-template-columns:1fr }
.pb-site .triage-card { min-height:88px }
.pb-site .hero--triage .visual { min-height:300px }
.pb-site .brief { width:196px;padding:12px 14px 10px }
.pb-site .services-section, .pb-site .method, .pb-site .price-section, .pb-site .works { padding:56px 0 }
.pb-site .area-section { padding:64px 0 }
.pb-site .method .steps { gap:34px }
.pb-site .services .card { padding:18px }
.pb-site .card__icon { width:40px;height:40px;border-radius:12px;margin-bottom:12px }
.pb-site .services h3 { font-size:21px;margin:8px 0 8px }
.pb-site .mosaic { grid-template-columns:1fr 1fr;grid-auto-rows:42vw;gap:10px }
.pb-site .mosaic__item:first-child { grid-row:span 1 }
.pb-site .mosaic__item:last-child:nth-child(even) { grid-column:span 2 }
.pb-site .mosaic__item figcaption, .pb-site .mosaic__item:first-child figcaption { font-size:14px;padding:36px 12px 10px }
}

/* Motion is decoration only: everything is readable and usable without it. */
@media(prefers-reduced-motion:no-preference) {
html { scroll-behavior:smooth }
.pb-site .pulse { animation:pb-pulse 2.2s ease-out infinite }
.pb-site .hero-bg:after { animation:pb-drift 16s ease-in-out infinite alternate }
.pb-site .hero--triage .eyebrow, .pb-site .hero--triage h1, .pb-site .hero--triage .lead, .pb-site .hero--triage .triage, .pb-site .hero--triage .hero-note, .pb-site .visual-stage .visual { animation:pb-rise .9s cubic-bezier(.2,.7,.2,1) both }
.pb-site .hero--triage h1 { animation-delay:.08s }
.pb-site .hero--triage .lead { animation-delay:.18s }
.pb-site .hero--triage .triage { animation-delay:.28s }
.pb-site .hero--triage .hero-note { animation-delay:.38s }
.pb-site .visual-stage .visual { animation-name:pb-unveil;animation-duration:1.1s;animation-delay:.1s }
.pb-site .brief { animation:pb-pop .7s cubic-bezier(.2,1.2,.3,1) .9s both }
.pb-site .brief li { animation:pb-rise .5s ease both }
.pb-site .brief li:nth-child(1) { animation-delay:1.3s }
.pb-site .brief li:nth-child(2) { animation-delay:1.55s }
.pb-site .brief li:nth-child(3) { animation-delay:1.8s }
.pb-site .triage-card--urgent .triage-card__icon .icon { animation:pb-ring 3.2s ease-in-out 2.2s infinite;transform-origin:50% 90% }
.pb-site .area-section:after { animation:pb-radar 3.4s ease-out infinite }
html.reveal-ready .pb-site [data-reveal] { opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0)*70ms) }
html.reveal-ready .pb-site [data-reveal].is-visible { opacity:1;transform:none }
html.reveal-ready .pb-site .method [data-reveal] .steps li:after { transform:scaleX(0);transition:transform .9s cubic-bezier(.2,.7,.2,1) }
html.reveal-ready .pb-site .method [data-reveal] .steps li:nth-child(2):after { transition-delay:.35s }
html.reveal-ready .pb-site .method [data-reveal] .steps li:nth-child(3):after { transition-delay:.7s }
html.reveal-ready .pb-site .method .is-visible .steps li:after, html.reveal-ready .pb-site .method .is-revealed .steps li:after { transform:none }
}
@keyframes pb-pulse { 0% { box-shadow:0 0 0 0 #c3293280 } 70%,100% { box-shadow:0 0 0 12px #c3293200 } }
@keyframes pb-drift { to { transform:translate(-120px,90px) scale(1.15) } }
@keyframes pb-rise { from { opacity:0;transform:translateY(22px) } }
@keyframes pb-unveil { from { opacity:0;transform:translateY(30px) scale(.97);clip-path:inset(18% 0 0 0 round 42% 42% 15px 15px) } to { clip-path:inset(0 0 0 0 round 42% 42% 15px 15px) } }
@keyframes pb-pop { from { opacity:0;transform:translateY(16px) scale(.9) } }
@keyframes pb-ring { 0%,86%,100% { transform:rotate(0) } 89% { transform:rotate(-14deg) } 92% { transform:rotate(12deg) } 95% { transform:rotate(-8deg) } 98% { transform:rotate(5deg) } }
@keyframes pb-radar { 0% { transform:scale(.2);opacity:.7 } 100% { transform:scale(3.6);opacity:0 } }
