/* compact.css – tighter spacing and rubber duck brand mark. Loaded last on every page. */

/* Brand mark: rubber duck on a pale water-blue disc */
.global-brand-mark,.brand-mark{background:#e3f3ff;border-color:#ffd21f88}
.global-brand-mark img,.brand-mark img{object-fit:contain;padding:3px}
.policy-brand img,.mini-brand img{object-fit:contain;padding:3px;border-radius:50%;background:#e3f3ff}
.global-header{min-height:68px}

/* ---------- Homepage ---------- */
.home-page .hero{min-height:0;padding:clamp(100px,12vh,124px) clamp(20px,5vw,76px) 56px;gap:clamp(24px,4vw,56px)}
.home-page .hero h1,.home-page h1{margin:18px 0;font-size:clamp(42px,5.2vw,74px)}
.home-page .hero-actions,.home-page .contact-actions{margin-top:26px}
.home-page .hero-note{margin-top:16px}
.home-page .hero-art{align-self:center}
.home-page .hero-art img{width:min(100%,430px)}
.home-page .hero-foot{bottom:18px}
.home-page section:not(.hero){padding:clamp(48px,6vw,80px) clamp(20px,5vw,76px)}
.home-page .standards-compact{padding-block:clamp(48px,6vw,80px)!important}
.home-page h2{margin:12px 0;font-size:clamp(32px,4vw,56px)}
.home-page .section-head{gap:32px}
.home-page .featured-grid{margin-top:30px}
.home-page .featured-grid article{min-height:0;padding:20px}
.home-page .featured-all{margin-top:20px}
.home-page .portfolio-panel{min-height:0;margin-top:30px}
.home-page .portfolio-mark{padding:24px}
.home-page .portfolio-mark img{width:min(100%,340px)}
.home-page .portfolio-copy{padding:clamp(28px,4vw,52px)}
.home-page .portfolio-copy>strong{margin:14px 0;font-size:clamp(24px,2.6vw,38px)}
.home-page .standards .section-head>p{color:#4f6879}
.home-page .standards-compact .standards-grid{margin-top:30px}
.home-page .standards-compact .standards-grid article{padding:24px}
.home-page .standards-compact .standards-grid h3{margin:12px 0 10px;font-size:22px}
.home-page .compact-links{margin-top:22px}
.home-page .partners-compact .partner-card,.home-page .partner-card{padding:clamp(44px,5vw,68px) clamp(20px,5vw,76px)}
.home-page .partner-card h2{font-size:clamp(30px,3.4vw,48px)}
.home-page .contact>p:not(.section-label){margin:16px auto 24px}
.home-page .contact small{margin-top:20px}
.home-page .contact-glow{width:440px;height:440px}

/* ---------- Footer (all pages) ---------- */
.global-footer{gap:28px;padding:40px clamp(20px,5vw,76px) 24px}
.footer-card{width:min(100%,320px);padding:12px}
.footer-card p{margin:10px 6px 0}
.global-footer .copyright{padding-top:16px}

/* ---------- Our websites page ---------- */
.gallery-hero{min-height:0;padding:56px clamp(20px,5vw,72px) 44px}
.gallery-hero h1{margin:14px 0;font-size:clamp(40px,5.5vw,76px);line-height:.92}
.gallery-hero>p:last-of-type{font-size:16px;margin:0}
.gallery-stat{bottom:44px}
.gallery-stat strong{font-size:56px}
.gallery-controls{padding:14px clamp(20px,5vw,72px)}
.portfolio-group{padding:36px clamp(20px,5vw,72px) 40px}
.group-heading{margin-bottom:18px}
.group-heading h2{font-size:clamp(24px,2.6vw,34px)}
/* Cards sit on a transparent grid, so part-filled rows no longer leave empty grey blocks */
.portfolio-group .site-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px;padding:0;background:none}
.portfolio-group .site-card{min-height:0;padding:20px;border:1px solid #ffffff16;border-radius:6px}
.portfolio-group .site-card h3,.site-card h3{margin:14px 0 6px;font-size:21px}
.site-card .site-logo{width:52px;height:52px;border-radius:12px}
.site-card p{margin:0 0 8px}
.adult-notice{margin-bottom:18px;padding:14px 18px}
.adult-card{border-top:3px solid var(--orange)!important}

/* Single-site categories sit side by side instead of each taking a full-width band */
.portfolio-groups{display:flex;flex-wrap:wrap}
.portfolio-group{flex:1 1 100%;min-width:0}
.portfolio-group:not(.adult-group):has(.site-card:only-child){flex:1 1 380px;border-right:1px solid var(--line)}
.portfolio-group:has(.site-card:only-child) .site-grid{grid-template-columns:minmax(0,420px)}

/* ---------- Company, editorial, partners, contact, privacy, terms ---------- */
.policy-shell{padding:44px 0 64px}
.policy-shell h1{margin:14px 0 20px;font-size:clamp(38px,5.5vw,64px)}
.intro{font-size:18px}
.policy-grid{margin:32px 0}
.policy-grid article,.policy-shell article{padding:24px}
.contact-options{margin:30px 0}
.policy-footer{padding:24px clamp(20px,5vw,76px)}


@media(max-width:850px){
  .home-page .hero{padding-top:96px;padding-bottom:32px}
  .home-page .hero-art img{width:min(80%,340px)}
}
@media(max-width:700px){
  .portfolio-group{padding:28px 16px 32px}
  .gallery-hero{padding:40px 20px 32px}
  .gallery-stat{margin-top:20px}
  .home-page .section-head>p{margin-top:14px}
}
