/* The logo, campaign, catalog and footer share a single alignment. */
.punda-v7 .p7-nav-wrap{width:min(1200px,calc(100% - 80px));gap:24px}
.p7-nav{gap:22px}.p7-nav-actions{gap:16px}
.p8-hero{padding-top:30px;padding-bottom:6px}
.p8-campaign{background:#f0f0eb;border:1px solid #e8e8e2;border-radius:24px;overflow:hidden;isolation:isolate}
.p8-slides{display:grid;min-width:0}
.p8-slide{grid-area:1/1;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);min-height:540px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .65s ease,visibility .65s ease;background:#f0f0eb;min-width:0}
.p8-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;z-index:1}
.p8-campaign-copy{padding:60px 32px 50px 48px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0}
.p8-campaign-copy h1,.p8-campaign-copy h2{font-size:clamp(38px,4.3vw,59px);font-weight:600;line-height:1.04;letter-spacing:-.052em;margin:26px 0 20px;text-wrap:balance}
.p8-campaign-copy h1 span,.p8-campaign-copy h2 span{color:#507365}
.p8-campaign-copy>p{font-size:16px;line-height:1.8;color:#646661;max-width:330px;margin:0 0 28px}
.p8-campaign-copy .p7-button{font-size:13px;gap:20px;min-height:48px;padding:13px 20px}
.p8-campaign-signature{font-size:11px;color:#858780;margin-top:26px}
.p8-campaign-photo{margin:0;min-width:0;overflow:hidden;position:relative;background:#e9e8e2}
.p8-campaign-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.p8-carousel-controls{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 22px 9px 32px;background:#fafaf8;border-top:1px solid #e5e5de}
.p8-counter{font-size:11px;letter-spacing:.09em;font-variant-numeric:tabular-nums;color:#62665f;min-width:64px}
.p8-dots,.p8-carousel-buttons{display:flex;align-items:center}
.p8-dot{border:0;background:transparent;padding:0;width:36px;height:44px;display:grid;place-items:center}
.p8-dot span{width:6px;height:6px;border-radius:20px;background:#bfc3ba;transition:width .25s,background .25s}
.p8-dot[aria-current] span{width:22px;background:#314d40}
.p8-carousel-buttons{gap:5px}
.p8-carousel-buttons button{display:grid;place-items:center;width:42px;height:42px;border:1px solid #e3e5dd;border-radius:50%;background:transparent;color:#35483e;font-size:18px;line-height:1}
.p8-carousel-buttons button:hover{background:#e9eee6}
.p8-hero-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 3px 2px;font-size:11px;color:#72766f}
.p8-film-link{border:0;padding:8px 0;background:transparent;display:inline-flex;align-items:center;gap:8px;font-size:12px;color:#315846;min-height:42px}
.p8-film-link>span{font-size:23px}.p8-film-link small{font-size:10px;color:#8a8d85;margin-left:3px}
.p8-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.p8-film{width:min(940px,calc(100% - 32px));max-height:90dvh;padding:0;border:0;border-radius:18px;background:#121613;color:#fff;overflow:auto;box-shadow:0 24px 80px #0005}
.p8-film::backdrop{background:#111b18c7;backdrop-filter:blur(8px)}
.p8-film video{width:100%;max-height:74dvh;display:block;background:#121613}.p8-film>p{padding:0 22px 10px;font-size:12px;color:#d4dbd2}
.p8-film-close{position:absolute;right:12px;top:12px;z-index:2;width:42px;height:42px;border:1px solid #fff6;border-radius:50%;background:#18281bcc;color:white;font-size:25px}
.p7-product-card{display:flex;flex-direction:column}.p7-product-info{display:flex;flex-direction:column;flex:1;min-width:0}.p7-product-choice,.p7-product-price{margin-top:auto}
.p7-product-info>p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:1120px){.p7-nav{gap:16px}.p7-nav-actions{gap:10px}.p8-campaign-copy{padding:42px 24px 36px 32px}.p8-campaign-copy h1,.p8-campaign-copy h2{font-size:47px}.p8-slide{min-height:500px}}
@media(max-width:900px){.punda-v7 .p7-nav-wrap{width:calc(100% - 48px)}.p8-campaign-copy h1,.p8-campaign-copy h2{font-size:39px}.p8-campaign-copy>p{font-size:14px}.p8-campaign-copy{padding:32px 22px}.p8-slide{min-height:470px}.p8-campaign-copy .p7-kicker{font-size:9px}.p8-campaign-copy .p7-button{font-size:12px;gap:12px;padding-inline:17px}}
@media(max-width:700px){.p8-hero{padding-top:20px}.p8-campaign{border-radius:19px}.p8-slide{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;min-height:0}.p8-campaign-photo{grid-row:1;aspect-ratio:1.45}.p8-campaign-copy{grid-row:2;padding:29px 27px 26px;min-height:285px}.p8-campaign-copy h1,.p8-campaign-copy h2{font-size:clamp(33px,8.8vw,45px);margin:16px 0 13px;line-height:1.06}.p8-campaign-copy>p{font-size:14px;line-height:1.75;margin-bottom:20px;max-width:340px}.p8-campaign-copy .p7-button{min-height:46px}.p8-campaign-signature{display:none}.p8-carousel-controls{display:grid;grid-template-columns:1fr auto;padding:9px 18px 4px;gap:0 8px}.p8-counter{grid-column:1;grid-row:1}.p8-carousel-buttons{grid-column:2;grid-row:1}.p8-dots{grid-column:1/-1;grid-row:2;justify-content:center}.p8-hero-caption{flex-wrap:wrap;justify-content:center;text-align:center;gap:0;padding-top:11px}.p8-hero-caption>span{flex-basis:100%;font-size:10px}.p8-film-link{min-height:38px}.p8-carousel-buttons button{height:40px;width:40px}.p8-dot{width:calc((100vw - 76px)/12);max-width:34px}.p8-film>p{font-size:11px}}
@media(max-width:600px){.punda-v7 .p7-nav-wrap{width:calc(100% - 36px)}}
@media(prefers-reduced-motion:reduce){.p8-slide,.p8-dot span{transition:none}}

/* Subjects use generous safe margins for responsive image crops. */
