.p5-hero{background:linear-gradient(135deg,#3a1a0a 0%,#7c2d12 40%,#c2410c 75%,#f97316 100%);padding:72px 40px 60px;text-align:center;color:#fff7ed;position:relative;overflow:hidden;}
.p5-hero::before{content:'';position:absolute;top:-110px;left:-110px;width:420px;height:420px;background:radial-gradient(circle,rgba(255,170,108,.20) 0%,transparent 70%);pointer-events:none;}
.p5-hero::after{content:'';position:absolute;bottom:-90px;right:-90px;width:380px;height:380px;background:radial-gradient(circle,rgba(254,202,141,.18) 0%,transparent 70%);pointer-events:none;}
.p5-kicker{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:3px;color:#fed7aa;margin-bottom:18px;position:relative;z-index:1;}
.p5-hero h1{font-family:'Nunito',sans-serif;font-size:clamp(1.95rem,5vw,3rem);font-weight:900;line-height:1.12;max-width:780px;margin:0 auto 18px;letter-spacing:-.6px;position:relative;z-index:1;}
.p5-hero h1 em{font-style:normal;color:#fed7aa;}
.p5-hero h1 span{color:#fff7ed;}
.p5-lede{font-size:1rem;color:#fde68a;max-width:640px;margin:0 auto 32px;line-height:1.7;position:relative;z-index:1;}
.p5-cta{display:inline-flex;align-items:center;gap:10px;background:#fff7ed;color:#7c2d12;font-family:'Nunito',sans-serif;font-size:.98rem;font-weight:800;padding:14px 30px;border-radius:999px;text-decoration:none;transition:all .25s;position:relative;z-index:1;box-shadow:0 8px 22px rgba(124,45,18,.32);}
.p5-cta:hover{background:#fff;transform:translateY(-2px);box-shadow:0 12px 32px rgba(124,45,18,.45);}
.p5-cta i{font-size:.85rem;}

.p5-trust{background:#fff7ed;padding:22px 40px;display:flex;flex-wrap:wrap;justify-content:center;gap:18px 32px;border-bottom:1px solid rgba(0,0,0,.06);}
.p5-trust-item{display:flex;align-items:center;gap:8px;font-size:.82rem;font-weight:700;color:var(--ink-soft);}
.p5-trust-item i{color:#c2410c;font-size:.9rem;}

.p5-body{padding:56px 40px;}
.p5-section{margin-bottom:64px;}
.p5-section:last-child{margin-bottom:0;}
.p5-h2{font-size:clamp(1.4rem,2.8vw,1.85rem);font-weight:900;color:#3a1a0a;letter-spacing:-.4px;line-height:1.2;margin-bottom:12px;}
.p5-intro{font-size:.94rem;color:var(--ink-soft);line-height:1.75;max-width:680px;margin-bottom:28px;}
.p5-section p{font-size:.94rem;color:var(--ink-soft);line-height:1.75;margin-bottom:14px;}
.p5-section p strong{color:#c2410c;font-weight:700;}

.p5-illus{margin:0 0 56px;display:flex;justify-content:center;}
.p5-illus img{max-width:100%;height:auto;border-radius:16px;box-shadow:0 14px 40px rgba(124,45,18,.18);}

.p5-feats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.p5-feat{background:var(--white);border:1px solid var(--border);border-radius:14px;padding:24px 22px;transition:all .2s;}
.p5-feat:hover{border-color:rgba(194,65,12,.4);box-shadow:0 8px 24px rgba(124,45,18,.14);}
.p5-feat-hdr{display:flex;align-items:center;gap:12px;margin-bottom:14px;}
.p5-feat-ico{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#c2410c,#f97316);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.05rem;flex-shrink:0;}
.p5-feat-ttl{font-size:1rem;font-weight:800;color:#3a1a0a;}
.p5-feat ul{list-style:none;padding:0;margin:0;}
.p5-feat ul li{font-size:.86rem;color:var(--ink-soft);padding:6px 0 6px 18px;position:relative;line-height:1.55;}
.p5-feat ul li::before{content:'+';position:absolute;left:0;top:6px;color:#c2410c;font-weight:900;font-size:.95rem;}

.p5-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.p5-lay{display:block;text-decoration:none;color:inherit;background:var(--white);border:1px solid var(--border);border-radius:14px;overflow:hidden;transition:all .25s;}
.p5-lay:hover{transform:translateY(-4px);border-color:rgba(194,65,12,.45);box-shadow:0 14px 36px rgba(124,45,18,.16);}
.p5-lay-vis{height:160px;display:grid;padding:10px;gap:5px;background:#fff7ed;}
.p5-lay-meta{padding:14px 18px 18px;}
.p5-lay-n{font-size:.95rem;font-weight:800;color:#3a1a0a;margin-bottom:4px;}
.p5-lay-d{font-size:.78rem;color:var(--ink-muted);line-height:1.55;}

/* Shared base style for every thumbnail cell */
.p5-vis-mag span,.p5-vis-crs span,.p5-vis-pent span,.p5-vis-sp span,.p5-vis-be span{
  background:linear-gradient(135deg,#fed7aa,#fdba74);border-radius:6px;
}
/* Magazine: 12-col grid, 1 hero (cols 1-7) + sidekick (cols 8-13) on top,
   3 equal cells across the bottom (4 cols each) */
.p5-vis-mag{grid-template-columns:repeat(12,1fr);grid-template-rows:1.4fr 1fr;}
.p5-vis-mag span:nth-child(1){grid-column:1/8;grid-row:1/2;background:linear-gradient(135deg,#c2410c,#f97316);}
.p5-vis-mag span:nth-child(2){grid-column:8/13;grid-row:1/2;background:linear-gradient(135deg,#fdba74,#f97316);}
.p5-vis-mag span:nth-child(3){grid-column:1/5;grid-row:2/3;}
.p5-vis-mag span:nth-child(4){grid-column:5/9;grid-row:2/3;}
.p5-vis-mag span:nth-child(5){grid-column:9/13;grid-row:2/3;}
/* Cross: 6-col grid, 2 cells row 1 (50/50), 3 cells row 2 (1/3 each) */
.p5-vis-crs{grid-template-columns:repeat(6,1fr);grid-template-rows:1fr 1fr;}
.p5-vis-crs span:nth-child(1){grid-column:1/4;background:linear-gradient(135deg,#c2410c,#f97316);}
.p5-vis-crs span:nth-child(2){grid-column:4/7;background:linear-gradient(135deg,#fdba74,#f97316);}
.p5-vis-crs span:nth-child(3){grid-column:1/3;}
.p5-vis-crs span:nth-child(4){grid-column:3/5;}
.p5-vis-crs span:nth-child(5){grid-column:5/7;}
/* Pentagon: 3-col grid, hero spans all cols on top, 3 cells in row 2,
   thin strip on row 3 spanning all cols */
.p5-vis-pent{grid-template-columns:1fr 1fr 1fr;grid-template-rows:1.4fr 1fr .3fr;}
.p5-vis-pent span:nth-child(1){grid-column:1/4;grid-row:1/2;background:linear-gradient(135deg,#c2410c,#f97316);}
.p5-vis-pent span:nth-child(2){grid-row:2/3;}
.p5-vis-pent span:nth-child(3){grid-row:2/3;}
.p5-vis-pent span:nth-child(4){grid-row:2/3;}
.p5-vis-pent span:nth-child(5){grid-column:1/4;grid-row:3/4;background:linear-gradient(135deg,#fdba74,#f97316);}
/* Spine: 3-col grid, tall hero on left spanning both rows, 4 small cells fill 2x2 right */
.p5-vis-sp{grid-template-columns:1fr 1.1fr 1fr;grid-template-rows:1fr 1fr;}
.p5-vis-sp span:nth-child(1){grid-column:1/2;grid-row:1/3;background:linear-gradient(135deg,#c2410c,#f97316);}
.p5-vis-sp span:nth-child(2){grid-column:2/3;grid-row:1/2;}
.p5-vis-sp span:nth-child(3){grid-column:3/4;grid-row:1/2;}
.p5-vis-sp span:nth-child(4){grid-column:2/3;grid-row:2/3;}
.p5-vis-sp span:nth-child(5){grid-column:3/4;grid-row:2/3;}
/* Big+4 Edge: 5x5 grid, hero centered (3x3), 4 thin cells frame it on each side */
.p5-vis-be{grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(5,1fr);}
.p5-vis-be span:nth-child(1){grid-column:2/5;grid-row:2/5;background:linear-gradient(135deg,#c2410c,#f97316);}
.p5-vis-be span:nth-child(2){grid-column:1/2;grid-row:1/6;}
.p5-vis-be span:nth-child(3){grid-column:5/6;grid-row:1/6;}
.p5-vis-be span:nth-child(4){grid-column:2/5;grid-row:1/2;background:linear-gradient(135deg,#fdba74,#f97316);}
.p5-vis-be span:nth-child(5){grid-column:2/5;grid-row:5/6;background:linear-gradient(135deg,#fdba74,#f97316);}
.p5-vis-occ{background:linear-gradient(135deg,#fff8e1,#ffe6b8);}
.p5-vis-occ span{background:#fff;border:1.5px solid rgba(192,87,22,.25);border-radius:4px;transform:rotate(-2deg);box-shadow:0 4px 12px rgba(124,45,18,.15);}
.p5-vis-occ span:nth-child(2){transform:rotate(2deg);}
.p5-vis-occ span:nth-child(3){transform:rotate(-1deg);}
.p5-vis-occ span:nth-child(4){transform:rotate(1deg);}
.p5-vis-occ span:nth-child(5){transform:rotate(3deg);}

.p5-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;counter-reset:p5step;}
.p5-step{background:#fff7ed;border:1px solid var(--border);border-radius:14px;padding:24px 22px;position:relative;}
.p5-step::before{counter-increment:p5step;content:counter(p5step,decimal-leading-zero);font-family:'Nunito',sans-serif;font-size:2.8rem;font-weight:900;color:#c2410c;line-height:1;letter-spacing:-1.5px;display:block;margin-bottom:12px;}
.p5-step h3{font-size:1.02rem;font-weight:800;color:#3a1a0a;margin-bottom:8px;line-height:1.35;}
.p5-step p{font-size:.88rem;color:var(--ink-soft);line-height:1.7;margin:0;}

.p5-uses{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:20px;}
.p5-use{background:var(--white);border:1px solid var(--border);border-radius:12px;padding:18px 16px;text-align:center;transition:all .2s;text-decoration:none;color:inherit;}
.p5-use:hover{border-color:rgba(194,65,12,.4);transform:translateY(-3px);box-shadow:0 10px 24px rgba(124,45,18,.12);}
.p5-use-ico{font-size:1.7rem;margin-bottom:8px;}
.p5-use-n{font-size:.88rem;font-weight:800;color:#3a1a0a;margin-bottom:2px;}
.p5-use-d{font-size:.74rem;color:var(--ink-muted);line-height:1.4;}

.p5-sizes{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:20px;}
.p5-size{background:#fff7ed;border:1px solid var(--border);border-radius:12px;padding:18px 22px;}
.p5-size-tag{display:inline-block;font-size:.65rem;font-weight:800;color:#c2410c;letter-spacing:2px;text-transform:uppercase;margin-bottom:6px;}
.p5-size-px{font-family:'Nunito',sans-serif;font-size:1.25rem;font-weight:900;color:#3a1a0a;letter-spacing:-.5px;line-height:1;margin-bottom:8px;}
.p5-size-d{font-size:.84rem;color:var(--ink-soft);line-height:1.55;margin:0;}

.p5-faq{display:flex;flex-direction:column;gap:12px;margin-top:24px;}
.p5-faq-item{background:#fff7ed;border:1px solid var(--border);border-radius:12px;padding:20px 24px;transition:border-color .2s;}
.p5-faq-item:hover{border-color:rgba(194,65,12,.4);}
.p5-faq-item h3{font-size:1rem;font-weight:800;color:#3a1a0a;margin-bottom:8px;line-height:1.45;}
.p5-faq-item p{font-size:.9rem;color:var(--ink-soft);line-height:1.75;margin:0;}
.p5-faq-item p strong{color:#c2410c;font-weight:700;}

.p5-close{margin-top:48px;padding:48px 40px;background:linear-gradient(135deg,#7c2d12,#c2410c 60%,#f97316);border-radius:20px;text-align:center;color:#fff7ed;position:relative;overflow:hidden;}
.p5-close::before{content:'';position:absolute;top:-60px;right:-60px;width:240px;height:240px;border-radius:50%;background:rgba(254,215,170,.20);}
.p5-close::after{content:'';position:absolute;bottom:-50px;left:-50px;width:200px;height:200px;border-radius:50%;background:rgba(255,247,237,.12);}
.p5-close h3{font-size:1.6rem;font-weight:900;color:#fff;margin-bottom:10px;position:relative;z-index:1;letter-spacing:-.3px;}
.p5-close p{font-size:.92rem;color:#fde68a;margin-bottom:24px;position:relative;z-index:1;}

@media(max-width:900px){
  .p5-feats,.p5-steps{grid-template-columns:1fr;}
  .p5-gallery{grid-template-columns:repeat(2,1fr);}
  .p5-uses{grid-template-columns:repeat(2,1fr);}
  .p5-sizes{grid-template-columns:1fr;}
}
@media(max-width:600px){
  .p5-hero{padding:56px 22px 48px;}
  .p5-body{padding:40px 22px;}
  .p5-trust{padding:18px 22px;gap:14px 22px;}
  .p5-gallery{grid-template-columns:1fr;}
  .p5-close{padding:36px 22px;}
}
