:root { --pg-red:#d51f2b; --pg-red-dark:#ad141e; --pg-ink:#101b24; --pg-slate:#59666f; --pg-line:#dce2e5; --pg-soft:#f2f5f6; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--pg-ink); background:#fff; font-family:Inter,Arial,sans-serif; line-height:1.65; }
img { display:block; max-width:100%; height:auto; }
a { color:inherit; }
button { font:inherit; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { font-family:"Barlow Condensed",Arial,sans-serif; line-height:1.04; }
h1 { max-width:760px; margin-bottom:22px; font-size:clamp(3.5rem,7vw,6.35rem); font-weight:800; letter-spacing:-.025em; }
h2 { margin-bottom:18px; font-size:clamp(2.35rem,4.2vw,4.1rem); font-weight:800; letter-spacing:-.015em; }
.pg-shell { width:min(1160px,calc(100% - 44px)); margin-inline:auto; }
.pg-kicker { margin:0 0 12px; color:var(--pg-red); font-size:.73rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.pg-button { display:inline-flex; min-height:54px; padding:13px 23px; align-items:center; justify-content:center; color:#fff; background:var(--pg-red); font-weight:800; text-decoration:none; transition:background .2s ease,transform .2s ease; }
.pg-button:hover { background:var(--pg-red-dark); transform:translateY(-2px); }
.pg-hero { position:relative; overflow:hidden; color:#fff; background:var(--pg-ink); }
.pg-hero::before { position:absolute; inset:0; content:""; background:radial-gradient(circle at 10% 15%,rgba(213,31,43,.31),transparent 33%),linear-gradient(125deg,transparent 60%,rgba(255,255,255,.035)); }
.pg-hero-grid { position:relative; display:grid; grid-template-columns:1.08fr .92fr; gap:76px; min-height:675px; padding-top:72px; padding-bottom:78px; align-items:center; }
.pg-hero .pg-kicker { color:#ff8189; }
.pg-lead { max-width:680px; margin:0; color:#cad5db; font-size:1.13rem; }
.pg-actions { display:flex; flex-wrap:wrap; gap:24px; align-items:center; margin-top:32px; }
.pg-actions > a:not(.pg-button) { color:#fff; font-weight:800; text-underline-offset:5px; }
.pg-mosaic { display:grid; grid-template-columns:1fr 1fr; grid-template-rows:1fr 1fr; gap:12px; height:510px; padding:12px; border:1px solid rgba(255,255,255,.2); }
.pg-mosaic img { width:100%; height:100%; object-fit:contain; background:#fff; }
.pg-mosaic-main { grid-row:1/3; }
.pg-category-links { color:#fff; background:var(--pg-red); }
.pg-category-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.pg-category-grid a { min-height:150px; padding:26px; border-right:1px solid rgba(255,255,255,.25); text-decoration:none; transition:background .2s ease; }
.pg-category-grid a:first-child { border-left:1px solid rgba(255,255,255,.25); }
.pg-category-grid a:hover { background:var(--pg-red-dark); }
.pg-category-grid span,.pg-category-grid strong,.pg-category-grid small { display:block; }
.pg-category-grid span { color:#ffd2d5; font-size:.68rem; font-weight:800; }
.pg-category-grid strong { margin-top:19px; font-family:"Barlow Condensed",Arial,sans-serif; font-size:1.4rem; line-height:1.1; }
.pg-category-grid small { margin-top:7px; color:#ffdbde; font-size:.72rem; }
.pg-gallery { padding:105px 0; }
.pg-section-head { display:grid; grid-template-columns:1.3fr .7fr; gap:80px; align-items:end; margin-bottom:37px; }
.pg-section-head h2 { margin:0; }
.pg-section-head > p { margin-bottom:8px; color:var(--pg-slate); }
.pg-filters { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:28px; }
.pg-filters button { padding:10px 15px; color:var(--pg-ink); border:1px solid var(--pg-line); background:#fff; cursor:pointer; font-size:.76rem; font-weight:800; }
.pg-filters button:hover,.pg-filters button.is-active { color:#fff; border-color:var(--pg-red); background:var(--pg-red); }
.pg-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.pg-grid figure { margin:0; overflow:hidden; border:1px solid var(--pg-line); background:#fff; }
.pg-grid figure[hidden] { display:none; }
.pg-image-button { position:relative; display:block; width:100%; padding:0; overflow:hidden; border:0; background:#fff; cursor:zoom-in; }
.pg-image-button img { width:100%; aspect-ratio:1/1; padding:14px; object-fit:contain; transition:transform .28s ease; }
.pg-image-button > span { position:absolute; right:14px; bottom:14px; padding:7px 10px; color:#fff; background:rgba(16,27,36,.9); opacity:0; font-size:.68rem; font-weight:800; transition:opacity .2s ease; }
.pg-image-button:hover img { transform:scale(1.035); }
.pg-image-button:hover > span,.pg-image-button:focus-visible > span { opacity:1; }
.pg-grid figcaption { padding:17px 19px; border-top:1px solid var(--pg-line); }
.pg-grid small,.pg-grid strong { display:block; }
.pg-grid small { color:var(--pg-red); font-size:.65rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.pg-grid strong { margin-top:6px; font-family:"Barlow Condensed",Arial,sans-serif; font-size:1.35rem; }
.pg-note { margin:25px 0 0; color:var(--pg-slate); font-size:.75rem; }
.pg-guide { padding:100px 0; color:#fff; background:var(--pg-ink); }
.pg-guide-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:90px; align-items:start; }
.pg-guide-grid > div > p:last-child { color:#bbc7cd; }
.pg-guide ol { margin:0; padding:0; border-top:1px solid rgba(255,255,255,.18); list-style:none; }
.pg-guide li { display:grid; grid-template-columns:52px 1fr; gap:16px; padding:24px 0; border-bottom:1px solid rgba(255,255,255,.18); }
.pg-guide li > span { color:#ff8189; font-family:"Barlow Condensed",Arial,sans-serif; font-weight:800; }
.pg-guide li p { margin:0; color:#bac5cb; font-size:.85rem; }
.pg-guide li strong { display:block; margin-bottom:3px; color:#fff; font-family:"Barlow Condensed",Arial,sans-serif; font-size:1.3rem; }
.pg-cta { padding:82px 0; color:#fff; background:var(--pg-red); }
.pg-cta-grid { display:grid; grid-template-columns:1.28fr .72fr; gap:90px; align-items:center; }
.pg-cta .pg-kicker { color:#ffd3d6; }
.pg-cta h2 { margin-bottom:14px; }
.pg-cta p:last-child { margin:0; color:#ffe1e3; }
.pg-cta-grid > div:last-child { display:flex; flex-direction:column; align-items:flex-start; gap:11px; }
.pg-cta-grid > div:last-child > a:not(.pg-button) { color:#fff; font-size:.82rem; font-weight:700; text-decoration:none; }
.pg-button-light { color:var(--pg-red); background:#fff; }
.pg-button-light:hover { color:#fff; background:var(--pg-ink); }
.pg-lightbox { width:min(820px,calc(100% - 28px)); max-height:90vh; padding:48px 20px 20px; border:0; background:#fff; box-shadow:0 25px 80px rgba(0,0,0,.45); }
.pg-lightbox::backdrop { background:rgba(5,10,14,.86); }
.pg-lightbox img { width:100%; max-height:70vh; object-fit:contain; }
.pg-lightbox p { margin:15px 0 0; text-align:center; font-family:"Barlow Condensed",Arial,sans-serif; font-size:1.4rem; font-weight:800; }
.pg-lightbox-close { position:absolute; top:8px; right:12px; width:34px; height:34px; color:var(--pg-ink); border:0; background:var(--pg-soft); cursor:pointer; font-size:1.55rem; line-height:1; }
.pg-footer { padding-top:60px; color:#bdc8ce; background:#0a1117; }
.pg-footer-grid { display:grid; grid-template-columns:1.5fr .85fr .75fr 1fr; gap:50px; padding-bottom:42px; }
.pg-footer img { width:205px; margin-bottom:16px; }
.pg-footer p { max-width:350px; font-size:.82rem; }
.pg-footer h2 { margin-bottom:15px; color:#fff; font-size:1.05rem; letter-spacing:.06em; text-transform:uppercase; }
.pg-footer a { display:block; margin:7px 0; color:#bdc8ce; font-size:.82rem; text-decoration:none; }
.pg-footer a:hover { color:#fff; }
.pg-footer-bottom { padding-top:20px; padding-bottom:20px; border-top:1px solid rgba(255,255,255,.12); font-size:.75rem; }
@media (max-width:980px) {
  .pg-hero-grid,.pg-guide-grid,.pg-cta-grid { grid-template-columns:1fr; gap:45px; }
  .pg-mosaic { width:min(650px,100%); }
  .pg-category-grid { grid-template-columns:repeat(2,1fr); }
  .pg-category-grid a:nth-child(3) { border-left:1px solid rgba(255,255,255,.25); }
  .pg-section-head { grid-template-columns:1fr; gap:30px; }
  .pg-grid { grid-template-columns:repeat(2,1fr); }
  .pg-footer-grid { grid-template-columns:1.4fr 1fr 1fr; }
  .pg-footer-grid > div:last-child { grid-column:2/4; }
}
@media (max-width:650px) {
  .pg-shell { width:calc(100% - 28px); }
  h1 { font-size:clamp(3rem,15vw,4.3rem); }
  .pg-hero-grid { min-height:auto; padding-top:55px; padding-bottom:66px; }
  .pg-mosaic { height:390px; gap:7px; padding:7px; }
  .pg-category-grid,.pg-grid,.pg-footer-grid { grid-template-columns:1fr; }
  .pg-category-grid a { min-height:120px; border-left:1px solid rgba(255,255,255,.25); border-bottom:1px solid rgba(255,255,255,.25); }
  .pg-gallery,.pg-guide { padding:72px 0; }
  .pg-image-button > span { opacity:1; }
  .pg-footer-grid > div:last-child { grid-column:auto; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .pg-button,.pg-image-button img,.pg-image-button > span { transition:none; } }
