:root{
  --bg0:#0b2f1d;
  --bg1:#139a58;
  --bg2:#1aa55e;
  --bg3:#36d98b;
  --yellow:#ffd400;

  --glass: rgba(12, 43, 27, .66);
  --glass2: rgba(10, 36, 23, .72);
  --shadowA: rgba(0,0,0,.22);
}

/* Reset */
*{ box-sizing:border-box; margin:0; padding:0; }
html,body{ width:100%; height:100%; }

body{
  font-family: "Luckiest Guy", cursive;
  overflow-x:hidden;
  overflow-y:auto;

  background:
    radial-gradient(900px 700px at 20% 30%, rgba(255,255,255,.12), transparent 55%),
    radial-gradient(900px 700px at 80% 60%, rgba(0,0,0,.18), transparent 60%),
    linear-gradient(135deg,var(--bg3),var(--bg2) 40%,var(--bg1) 70%,var(--bg0));
  background-attachment: fixed;
}

/* Skip link */
.pr-skip{
  position:fixed;
  left:12px;
  top:10px;
  transform:translateY(-140%);
  background:rgba(15,59,36,.96);
  color:#fff;
  padding:10px 12px;
  border-radius:10px;
  text-decoration:none;
  z-index:1200;
  transition:transform .2s ease;
}
.pr-skip:focus{
  transform:translateY(0);
  outline:2px solid rgba(255,255,255,.5);
}

/* Empty header layer */
.pr-topbar{
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:1000;
}

/* Hero */
.pr-hero{
  min-height:100vh;
  display:flex;
  justify-content:center;
  align-items:flex-start;
  padding-top:120px;
  padding-bottom:40px;
}
.pr-hero__inner{
  text-align:center;
  padding:0 16px;
}

/* TITLE – do not alter */
.pr-title{
  font-family:"Luckiest Guy",cursive;
  font-size:clamp(52px,7vw,86px);
  letter-spacing:2px;
  color:var(--yellow);
  -webkit-text-stroke:0.6px rgba(0,0,0,.9);
  text-shadow:
    0 0 1px rgba(0,0,0,.9),
    0 3px 0 rgba(0,0,0,.15),
    0 6px 0 rgba(0,0,0,.18),
    0 9px 0 rgba(0,0,0,.22),
    0 14px 22px rgba(0,0,0,.35);
  user-select:none;
}

/* Hero injected area */
.pr-hero-insert{
  margin-top:18px;
  display:flex;
  justify-content:center;
}

/* Cabinets (SVG) */
.pr-cabinets{
  display:flex;
  gap:18px;
  justify-content:center;
  align-items:flex-end;
  flex-wrap:wrap;
  padding:8px 0 4px;
}

.pr-cabinets--mini{
  padding:0;
}

.pr-cabinets--angled{
  transform: translateY(2px);
}

.pr-cabinet-svg{
  width:min(260px, 44vw);
  height:auto;
  border-radius:18px;
  filter: drop-shadow(0 30px 80px rgba(0,0,0,.38));
  transition: transform .2s ease, filter .2s ease;
}

.pr-cabinet-svg--outrun{
  transform: perspective(900px) rotateY(12deg) rotateZ(-1deg);
}
.pr-cabinet-svg--pac{
  transform: perspective(900px) rotateY(-12deg) rotateZ(1deg);
}

.pr-cabinet-svg:hover{
  filter: drop-shadow(0 40px 95px rgba(0,0,0,.48));
}
.pr-cabinet-svg--outrun:hover{
  transform: perspective(900px) rotateY(8deg) rotateZ(-1deg) translateY(-2px);
}
.pr-cabinet-svg--pac:hover{
  transform: perspective(900px) rotateY(-8deg) rotateZ(1deg) translateY(-2px);
}

/* Back link on product pages */
.pr-back{
  display:inline-block;
  padding:10px 14px;
  border-radius:16px;
  text-decoration:none;
  color:#fff;
  border:1px solid rgba(255,255,255,.16);
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02)),
    rgba(15,59,36,.42);
  box-shadow:
    0 18px 34px rgba(0,0,0,.22),
    0 1px 0 rgba(255,255,255,.10) inset;
}
.pr-back:hover{ transform: translateY(-1px); }

/* Layout helpers */
.pr-wrap{
  width:min(1100px, calc(100% - 32px));
  margin:0 auto;
}
.pr-section{ padding:70px 0; }

/* Section headers */
.pr-h2{
  font-family:"Luckiest Guy",cursive;
  color:var(--yellow);
  font-size:clamp(28px,3vw,36px);
  letter-spacing:.55px;
  -webkit-text-stroke:.35px rgba(0,0,0,.85);
  text-shadow:
    0 0 1px rgba(0,0,0,.9),
    0 2px 0 rgba(0,0,0,.16),
    0 8px 18px rgba(0,0,0,.28);
}

/* Card headings */
.pr-h3{
  font-family:"Luckiest Guy",cursive;
  font-size:18px;
  letter-spacing:.6px;
  color:var(--yellow);
  -webkit-text-stroke:.35px rgba(0,0,0,.85);
  text-shadow:
    0 0 1px rgba(0,0,0,.85),
    0 2px 0 rgba(0,0,0,.16),
    0 8px 14px rgba(0,0,0,.24);
}

/* Body text (soften heavy look) */
.pr-lead,
.pr-p,
.pr-list,
.pr-note,
.pr-label,
.pr-input,
.pr-textarea,
.pr-footer__p{
  font-family:"Luckiest Guy",cursive;
  font-weight:normal;
  letter-spacing:.28px;
  color:rgba(255,255,255,.92);
}

.pr-lead{
  margin-top:10px;
  max-width:70ch;
  font-size:16px;
  line-height:1.35;
  text-shadow:0 10px 18px rgba(0,0,0,.18);
}
.pr-p{
  margin-top:10px;
  font-size:15px;
  line-height:1.4;
  text-shadow:0 10px 18px rgba(0,0,0,.14);
}
.pr-list{
  margin-top:12px;
  padding-left:16px;
  font-size:14px;
  line-height:1.35;
}
.pr-list li{ margin:6px 0; }

/* About panel width */
.pr-about .pr-panel{
  max-width:980px;
  margin:12px auto 0;
}

/* Panels / Cards */
.pr-panel,
.pr-card{
  position:relative;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.11);

  background:
    linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03)),
    radial-gradient(1200px 420px at 20% 0%, rgba(255,255,255,.10), transparent 60%),
    radial-gradient(900px 500px at 80% 120%, rgba(0,0,0,.26), transparent 60%),
    var(--glass);

  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);

  box-shadow:
    0 10px 22px var(--shadowA),
    0 28px 70px rgba(0,0,0,.30),
    0 1px 0 rgba(255,255,255,.10) inset,
    0 -1px 0 rgba(0,0,0,.18) inset;

  transition:
    transform .18s ease,
    box-shadow .18s ease,
    border-color .18s ease,
    background .18s ease,
    filter .18s ease;
}

/* Highlights */
.pr-panel::before,
.pr-card::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:
    linear-gradient(180deg, rgba(255,255,255,.14), transparent 28%),
    radial-gradient(900px 220px at 25% 0%, rgba(255,255,255,.10), transparent 60%);
  opacity:.55;
  mask-image: linear-gradient(180deg, #000 0%, #000 55%, transparent 100%);
}
.pr-panel::after,
.pr-card::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:
    radial-gradient(120% 100% at 50% 15%, transparent 55%, rgba(0,0,0,.22) 100%);
  opacity:.55;
}

.pr-panel{ padding:18px; }
.pr-card{ padding:18px; overflow:hidden; }

/* Cards grid */
.pr-cards{
  margin-top:18px;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:16px;
  align-items:stretch;
}

/* Products: 2 cards */
.pr-cards--products{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

/* Indented hover */
.pr-card:hover{
  transform: translateY(3px);
  border-color: rgba(255,255,255,.18);

  background:
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02)),
    radial-gradient(1200px 420px at 20% 0%, rgba(255,255,255,.11), transparent 60%),
    radial-gradient(900px 500px at 80% 120%, rgba(0,0,0,.34), transparent 60%),
    var(--glass2);

  box-shadow:
    0 8px 14px rgba(0,0,0,.26),
    0 36px 90px rgba(0,0,0,.34),
    0 1px 0 rgba(255,255,255,.12) inset,
    0 -1px 0 rgba(0,0,0,.22) inset;

  filter: saturate(1.03) contrast(1.03);
}

.pr-card .pr-p{ margin-top:8px; }
.pr-card .pr-list{ margin-top:10px; }
.pr-card .pr-list li{ margin:5px 0; }

/* Clickable product cards */
.pr-card--link{
  display:block;
  text-decoration:none;
  color:inherit;
  cursor:pointer;
}
.pr-card--link:focus-visible{
  outline:2px solid rgba(255,255,255,.45);
  outline-offset:4px;
}

/* Contact single panel */
.pr-contact-single{
  margin-top:18px;
  max-width:720px;
  margin-left:auto;
  margin-right:auto;
}

/* Form */
.pr-form{ display:grid; gap:10px; }

.pr-label{
  display:grid;
  gap:6px;
  font-size:14px;
}

.pr-input,
.pr-textarea{
  width:100%;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.14);
  background:
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02)),
    rgba(0,0,0,.14);
  color:#fff;
  padding:12px 12px;
  outline:none;
  box-shadow:
    0 10px 22px rgba(0,0,0,.18),
    0 1px 0 rgba(255,255,255,.08) inset;
  transition: box-shadow .18s ease, border-color .18s ease;
}
.pr-input::placeholder{ color:rgba(255,255,255,.60); }

.pr-input:focus,
.pr-textarea:focus{
  border-color:rgba(255,255,255,.24);
  box-shadow:
    0 14px 28px rgba(0,0,0,.22),
    0 0 0 4px rgba(255,255,255,.08),
    0 1px 0 rgba(255,255,255,.10) inset;
}

/* Button */
.pr-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 14px;
  border-radius:16px;
  text-decoration:none;
  cursor:pointer;
  border:1px solid rgba(255,255,255,.16);
  color:#fff;
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02)),
    rgba(15,59,36,.42);
  box-shadow:
    0 18px 34px rgba(0,0,0,.22),
    0 1px 0 rgba(255,255,255,.10) inset;
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease;
}
.pr-btn:hover{
  transform: translateY(-1px);
  box-shadow:
    0 24px 44px rgba(0,0,0,.28),
    0 1px 0 rgba(255,255,255,.12) inset;
}
.pr-btn:active{ transform: translateY(1px); }
.pr-btn:focus-visible{
  outline:2px solid rgba(255,255,255,.45);
  outline-offset:3px;
}
.pr-btn--wide{ width:100%; }

.pr-note{
  margin-top:2px;
  color:rgba(255,255,255,.72);
  font-size:12px;
}

/* Footer (YELLOW FIX) */
.pr-footer{ padding:26px 0 34px; }
.pr-footer__p{
  text-align:center;
  font-size:12px;
  letter-spacing:.35px;
  color:var(--yellow);
  -webkit-text-stroke:.25px rgba(0,0,0,.80);
  text-shadow:
    0 0 1px rgba(0,0,0,.85),
    0 12px 18px rgba(0,0,0,.22);
}

/* Responsive */
@media (max-width: 920px){
  .pr-cards{ grid-template-columns:1fr; }
  .pr-cards--products{ grid-template-columns:1fr; }
  .pr-cabinet-svg{ width:min(280px, 78vw); }
}