:root{
  --wpc-green:#154734;
  --wpc-deep:#103d2f;
  --wpc-cream:#f6f0e5;
  --wpc-paper:#fffdf8;
  --wpc-gold:#bba25f;
  --wpc-gold-light:#dfca81;
  --wpc-line:rgba(21,71,52,.14);
  --wpc-muted:#66736d;
  --wpc-serif:'Libre Caslon Display',Georgia,'Times New Roman',serif;
  --wpc-sans:'DM Sans',Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--wpc-cream);color:#25302b;font-family:var(--wpc-sans);line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input{font:inherit}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.wrap{width:min(1280px,calc(100% - 64px));margin-inline:auto}

/* Canonical site shell. Loaded after legacy page styles. */
.topline{
  background:var(--wpc-deep)!important;
  color:#f8f3e9!important;
  padding:9px 18px!important;
  font:600 10px/1.4 var(--wpc-sans)!important;
  letter-spacing:.16em!important;
  text-align:center!important;
  text-transform:uppercase!important;
}
.site-header{
  position:sticky!important;
  inset-block-start:0!important;
  z-index:100!important;
  background:rgba(251,248,242,.92)!important;
  border-bottom:1px solid var(--wpc-line)!important;
  backdrop-filter:blur(18px)!important;
}
.site-nav{
  min-height:76px!important;
  height:76px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:24px!important;
}
.site-brand{
  display:flex!important;
  align-items:center!important;
  gap:11px!important;
  min-width:max-content!important;
}
.site-brand img{
  width:43px!important;
  height:43px!important;
  object-fit:contain!important;
  border-radius:0!important;
}
.site-brand-copy strong{
  display:block!important;
  color:var(--wpc-green)!important;
  font:600 22px/1 var(--wpc-serif)!important;
  letter-spacing:-.025em!important;
}
.site-brand-copy span{
  display:block!important;
  margin-top:5px!important;
  color:#62736c!important;
  font:600 8px/1.2 var(--wpc-sans)!important;
  letter-spacing:.17em!important;
  text-transform:uppercase!important;
}
.site-navlinks{
  display:flex!important;
  align-items:center!important;
  gap:27px!important;
  margin-left:auto!important;
  font:760 12px/1.2 var(--wpc-sans)!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
}
.site-navlinks>a{
  position:relative!important;
   padding:28px 0!important;
  color:#36564b!important;
}
.site-navlinks>a::after{
  content:'';
  position:absolute;
  left:0;
  right:100%;
  bottom:20px;
  height:1px;
  background:var(--wpc-gold);
  transition:right .2s ease;
}
.site-navlinks>a:hover::after,
.site-navlinks>a.is-current::after,
.site-navlinks>a[aria-current='page']::after{right:0}
.site-menu-toggle{
  display:none!important;
  place-items:center!important;
  width:46px!important;
  height:46px!important;
  flex:0 0 46px!important;
  border:1px solid var(--wpc-line)!important;
  border-radius:50%!important;
  background:var(--wpc-paper)!important;
  color:var(--wpc-green)!important;
  font:500 21px/1 var(--wpc-sans)!important;
  cursor:pointer!important;
}
.site-mobile-menu{display:none!important}
.site-nav a:focus-visible,.site-footer a:focus-visible,.site-menu-toggle:focus-visible,.btn:focus-visible,.text-link:focus-visible{
  outline:3px solid var(--wpc-gold-light)!important;
  outline-offset:4px!important;
}

/* Canonical actions */
.btn,.wpc-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:46px!important;
  padding:12px 20px!important;
  border:1px solid transparent!important;
  border-radius:999px!important;
  font:600 13px/1.2 var(--wpc-sans)!important;
  letter-spacing:.01em!important;
  text-align:center!important;
  text-decoration:none!important;
  cursor:pointer;
}
.btn.primary,.wpc-button--primary{
  background:var(--wpc-green)!important;
  border-color:var(--wpc-green)!important;
  color:#fff!important;
}
.btn.secondary,.btn.outline,.wpc-button--secondary{
  background:transparent!important;
  border-color:rgba(21,71,52,.30)!important;
  color:var(--wpc-green)!important;
}
.btn.gold,.wpc-button--external{
  background:var(--wpc-gold-light)!important;
  border-color:var(--wpc-gold)!important;
  color:#1d352c!important;
}
.btn:hover,.wpc-button:hover{transform:translateY(-1px)}
.text-link,.wpc-text-link{
  display:inline-flex;
  align-items:center;
  min-height:44px;
  color:var(--wpc-green)!important;
  font:600 13px/1.35 var(--wpc-sans)!important;
  text-decoration:underline!important;
  text-decoration-color:var(--wpc-gold)!important;
  text-underline-offset:6px!important;
}

/* Homepage foundation additions */
.home-latest,.home-products{padding:96px 0}
.home-latest{background:var(--wpc-paper);border-block:1px solid var(--wpc-line)}
.foundation-heading{display:grid;grid-template-columns:1fr minmax(260px,480px);gap:48px;align-items:end;margin-bottom:40px}
.foundation-heading h2{margin:10px 0 0;color:var(--wpc-green);font:400 clamp(43px,4.6vw,68px)/.98 var(--wpc-serif);letter-spacing:-.045em}
.foundation-heading>p{margin:0;color:var(--wpc-muted);font-size:15px;line-height:1.75}
.release-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.release-card{display:grid;grid-template-rows:auto 1fr;overflow:hidden;border:1px solid rgba(21,71,52,.11);border-radius:10px;background:var(--wpc-cream);color:inherit;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}
.release-card:hover{transform:translateY(-4px);border-color:rgba(187,162,95,.55);box-shadow:0 20px 44px rgba(34,49,41,.08)}
.release-card-media{aspect-ratio:4/3;overflow:hidden;background:#ece4d7}
.release-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.release-card:hover .release-card-media img{transform:scale(1.02)}
.release-card-copy{padding:26px;display:flex;flex-direction:column;align-items:flex-start}
.release-card-copy small,.product-family-copy small{color:var(--wpc-gold);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.release-card-copy h3{margin:10px 0 9px;color:var(--wpc-green);font:400 28px/1.08 var(--wpc-serif);letter-spacing:-.035em}
.release-card-copy p{margin:0 0 18px;color:var(--wpc-muted);font-size:13px;line-height:1.65}
.release-card-copy .wpc-text-link{margin-top:auto}
.product-family-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.home-products .product-family-grid{grid-template-columns:repeat(3,1fr)}
.home-products .product-family-card{grid-template-columns:1fr}
.home-products .product-family-media{min-height:280px}
.product-family-card{display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr;min-height:0;overflow:hidden;border:1px solid rgba(21,71,52,.11);border-radius:18px;background:rgba(255,253,248,.78);color:inherit;box-shadow:0 16px 44px rgba(25,43,35,.045)}
.product-family-media{min-height:0;aspect-ratio:4/3;padding:0;background:#eee7dc;overflow:hidden}
.product-family-media img{width:100%;height:100%;object-fit:cover}
.product-family-card--play .product-family-media{display:grid;place-items:center;background:linear-gradient(145deg,#0f3c2e,#1f5a43)}
.product-family-card--play .product-family-media img{width:auto;max-width:44%;height:76%;object-fit:contain;filter:drop-shadow(0 20px 28px rgba(0,0,0,.18))}
.product-family-copy{padding:34px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.product-family-copy h3{margin:10px 0;color:var(--wpc-green);font:400 34px/1 var(--wpc-serif);letter-spacing:-.04em}
.product-family-copy p{margin:0 0 18px;color:var(--wpc-muted);font-size:13px;line-height:1.7}
.foundation-all-link{margin:30px 0 0;text-align:center}
.product-note-link{margin-top:14px}
.status-label{display:inline-flex;align-items:center;min-height:28px;margin-top:4px;padding:5px 10px;border:1px solid rgba(187,162,95,.5);border-radius:999px;color:var(--wpc-green);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}

/* Products hub */
.products-hero{padding:92px 0 76px;background:radial-gradient(circle at 82% 20%,rgba(223,202,129,.22),transparent 28rem),linear-gradient(180deg,#f9f5ed,var(--wpc-cream))}
.products-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:76px;align-items:center}
.products-hero h1{margin:14px 0 24px;max-width:760px;color:var(--wpc-green);font:400 clamp(62px,7vw,102px)/.92 var(--wpc-serif);letter-spacing:-.05em}
.products-hero .lead{max-width:620px;color:#52635c;font-size:18px;line-height:1.75}
.products-hero-art{position:relative;min-height:520px;border-radius:10px;overflow:hidden;background:#e9e0d1;box-shadow:0 28px 80px rgba(34,49,41,.13)}
.products-hero-art img{width:100%;height:100%;min-height:520px;object-fit:cover}
.products-hero-mosaic{display:grid;grid-template-columns:1.18fr .82fr;gap:10px;padding:10px;background:var(--wpc-deep)}
.products-hero-mosaic img{min-height:0}
.products-mosaic-main,.products-mosaic-tile{position:relative;overflow:hidden;border-radius:6px;background:#e8dfd2}
.products-mosaic-main img{width:100%;height:100%;object-fit:cover;object-position:center}
.products-mosaic-side{display:grid;grid-template-rows:1fr 1fr;gap:10px}
.products-mosaic-tile img{width:100%;height:100%;object-fit:cover}
.products-mosaic-tile:first-child img{object-position:center top}
.products-mosaic-tile span{position:absolute;left:12px;bottom:12px;padding:6px 9px;border-radius:999px;background:rgba(255,253,248,.92);color:var(--wpc-green);font-size:9px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 5px 18px rgba(20,44,35,.12)}
.products-mosaic-play{position:absolute;left:24px;bottom:24px;display:flex;align-items:center;gap:10px;padding:9px 14px 9px 9px;border:1px solid rgba(223,202,129,.42);border-radius:999px;background:rgba(14,53,40,.94);color:#fff;box-shadow:0 14px 34px rgba(8,34,25,.24);backdrop-filter:blur(10px)}
.products-mosaic-play img{width:42px;height:42px;min-height:0;border-radius:10px;object-fit:cover}
.products-mosaic-play span{font-size:10px;font-weight:700;letter-spacing:.06em}
.products-intro{padding:82px 0 24px}
.products-list{padding:30px 0 100px}
.products-list .product-family-card:nth-child(4n+2),.products-list .product-family-card:nth-child(4n+3){background:#ede5d7}
.products-principle{padding:70px 0;background:var(--wpc-green);color:#fff}
.products-principle-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.products-principle h2{margin:0;color:#fff;font:400 clamp(42px,4.4vw,64px)/1 var(--wpc-serif);letter-spacing:-.045em}
.products-principle p{margin:0;color:#dce5e0;font-size:15px;line-height:1.8}
.product-note-link{border:0;background:transparent;padding:0;cursor:pointer}
.product-note-dialog{width:min(560px,calc(100% - 30px));max-width:none;padding:0;border:0;border-radius:22px;background:transparent;color:#25302b;box-shadow:0 34px 100px rgba(8,34,25,.32)}
.product-note-dialog::backdrop{background:rgba(8,30,23,.62);backdrop-filter:blur(5px)}
.product-note-dialog-card{position:relative;padding:42px;background:linear-gradient(150deg,#fffdf8 0%,#f5ede0 100%);border:1px solid rgba(223,202,129,.55);border-radius:22px;overflow:hidden}
.product-note-dialog-card:before{content:'';position:absolute;width:180px;height:180px;right:-80px;top:-92px;border-radius:50%;background:rgba(223,202,129,.23)}
.product-note-close{position:absolute;z-index:2;right:17px;top:17px;display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--wpc-line);border-radius:50%;background:rgba(255,253,248,.84);color:var(--wpc-green);font-size:24px;line-height:1;cursor:pointer}
.product-note-mark{display:grid;place-items:center;width:68px;height:68px;margin-bottom:25px;border-radius:18px;background:var(--wpc-deep);box-shadow:0 12px 28px rgba(14,53,40,.18)}
.product-note-mark img{width:54px;height:54px;object-fit:contain}
.product-note-dialog h2{max-width:390px;margin:10px 0 14px;color:var(--wpc-green);font:400 42px/.98 var(--wpc-serif);letter-spacing:-.04em}
.product-note-intro{margin:0 0 25px;color:var(--wpc-muted);font-size:14px;line-height:1.7}
.product-note-dialog .wpc-newsletter-form{margin:0}

/* Cross-page spacing rhythm: preserve each layout while preventing adjacent
   section padding from creating oversized visual gaps. */
.page-products .products-hero{padding:78px 0 58px}
.page-products .products-intro{padding:58px 0 20px}
.page-products .products-list{padding:26px 0 82px}
.page-digital-services .section{padding:78px 0!important}
.page-digital-services .packages{padding-bottom:50px!important}
.page-digital-services .care{padding:54px 0 62px!important}
.page-digital-services .stories{padding:50px 0}
.page-digital-services .enquiry{padding:78px 0 90px}
.page-about .hero{padding:66px 0 58px}
.page-about .story{padding:72px 0 78px}
.page-about .values{padding:78px 0}
.page-about .note{padding:56px 0}
.page-contact .hero{padding:64px 0 54px}
.page-contact .contact{padding:68px 0 84px}

/* Approved footer structure and gold Pixel Wattle treatment */
footer{background:var(--wpc-deep)!important;color:#fff!important;padding:62px 0 34px!important}
.footer-grid.footer-grid--simple{display:grid;grid-template-columns:1.45fr .8fr .65fr;gap:72px!important;align-items:start}
.footer-intro{max-width:430px}
.footer-intro .footer-quote{margin-top:25px}
.footer-brand{display:flex;align-items:center;gap:13px}
.footer-brand>img{display:none!important}
.footer-brand:before{content:'';display:inline-block;flex:0 0 58px;width:58px;height:58px;background:linear-gradient(145deg,#FFF0A6 0%,#E8BD52 34%,#C59631 62%,#F4D678 100%);-webkit-mask:url('/assets/wpc-pixel-wattle-logo-20260908.png') center/contain no-repeat;mask:url('/assets/wpc-pixel-wattle-logo-20260908.png') center/contain no-repeat;filter:drop-shadow(0 1px 1px rgba(0,0,0,.14))}
.footer-brand strong{color:#fff;font:400 27px/1 var(--wpc-serif);letter-spacing:-.03em}
.footer-brand span{display:block;margin-top:6px;color:var(--wpc-gold-light);font-size:8px;letter-spacing:.18em;text-transform:uppercase}
/* Canonical footer typography. These values intentionally match the approved
   Home footer and override legacy page-level footer declarations. */
footer h4{margin:4px 0 14px;color:var(--wpc-gold-light);font:700 10.5px/1.2 var(--wpc-sans)!important;letter-spacing:.17em;text-transform:uppercase}
footer .footer-grid p,footer .footer-grid a,footer p,footer a{font-size:12.5px!important;line-height:1.7!important}
footer a{display:block;margin:8px 0;color:#d7e2dc}
footer p{color:#cbd6d1}
.footer-quote{color:#fff;font:400 23px/1.2 var(--wpc-serif);letter-spacing:-.03em}
.footer-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:18px 28px;margin-top:40px;padding-top:18px;border-top:1px solid rgba(255,255,255,.14);color:#b9c7c1;font-size:11px!important;line-height:1.55!important}
.footer-bottom a{display:inline;margin:0;color:inherit;text-decoration:none;text-underline-offset:4px;transition:color .24s ease,text-decoration-color .24s ease}
.footer-bottom a:hover,.footer-bottom a:focus-visible{color:var(--wpc-gold-light);text-decoration:underline;text-decoration-color:currentColor}
.footer-legal{display:flex;align-items:center;justify-content:center;gap:9px;white-space:nowrap}
.footer-legal span{color:rgba(255,255,255,.42)}
.foundation-reveal{opacity:0;transform:translateY(16px);transition:opacity .65s ease,transform .65s ease}
.foundation-reveal.is-visible{opacity:1;transform:none}

@media(max-width:1120px){
  .site-navlinks{gap:17px!important;font-size:10px!important}
  .site-brand-copy span{display:none!important}
}
@media(max-width:930px){
  .site-nav{min-height:72px!important}
  .site-navlinks{display:none!important}
  .site-menu-toggle{display:grid!important}
  .site-mobile-menu{
    position:absolute!important;
    left:0!important;
    right:0!important;
    top:100%!important;
    z-index:110!important;
    padding:12px 20px 18px!important;
    border-top:1px solid var(--wpc-line)!important;
    border-bottom:1px solid var(--wpc-line)!important;
    background:rgba(246,240,229,.99)!important;
    box-shadow:0 18px 35px rgba(20,59,48,.12)!important;
  }
  .site-mobile-menu.open{display:grid!important;gap:4px!important}
  .site-mobile-menu a{display:block!important;padding:12px 10px!important;border-radius:10px!important;color:var(--wpc-green)!important;font-size:13px!important;font-weight:650!important}
  .site-mobile-menu a:hover,.site-mobile-menu a.is-current{background:#eee5d7!important}
  .site-mobile-menu .site-mobile-shop{margin-top:8px!important;background:var(--wpc-gold-light)!important;text-align:center!important}
  .foundation-heading,.products-hero-grid,.products-principle-grid{grid-template-columns:1fr}
  .products-hero-grid{gap:40px}.products-hero-art{min-height:420px}.products-hero-art:not(.products-hero-mosaic)>img{min-height:420px}
  .release-grid{grid-template-columns:1fr 1fr}.release-card:last-child{grid-column:1/-1;max-width:calc(50% - 9px)}
  .home-products .product-family-grid{grid-template-columns:1fr 1fr}
  .product-family-card{grid-template-columns:1fr}.product-family-media{min-height:260px}
  .footer-grid.footer-grid--simple{grid-template-columns:1.2fr .8fr .8fr;gap:42px!important}
  .footer-bottom{grid-template-columns:1fr auto}.footer-bottom>div:last-child{grid-column:1/-1}
}
@media(max-width:650px){
  .site-brand img{width:42px!important;height:42px!important}.site-brand-copy strong{font-size:21px!important}
  .home-latest,.home-products{padding:70px 0}.foundation-heading{gap:18px;margin-bottom:28px}.foundation-heading h2{font-size:44px}
  .release-grid,.product-family-grid,.home-products .product-family-grid{grid-template-columns:1fr}.release-card:last-child{grid-column:auto;max-width:none}
  .product-family-card{min-height:0}.product-family-media{min-height:240px}.product-family-copy{padding:28px}
  .products-hero{padding:58px 0}.products-hero h1{font-size:clamp(50px,15vw,68px)}.products-hero-art{min-height:390px}.products-hero-art:not(.products-hero-mosaic)>img{min-height:390px}.products-hero-mosaic{grid-template-columns:1fr .78fr;padding:7px;gap:7px}.products-mosaic-side{gap:7px}.products-mosaic-play{left:15px;bottom:15px;max-width:calc(100% - 30px)}.products-mosaic-play span{font-size:9px}.product-note-dialog-card{padding:32px 24px}.product-note-dialog h2{font-size:36px}
  .page-products .products-hero{padding:50px 0 42px}.page-products .products-intro{padding:44px 0 16px}.page-products .products-list{padding:22px 0 58px}
  .page-digital-services .section{padding:54px 0!important}.page-digital-services .packages{padding-bottom:40px!important}.page-digital-services .care{padding:44px 0 50px!important}.page-digital-services .stories{padding:42px 0}.page-digital-services .enquiry{padding:54px 0 64px}
  .page-about .hero{padding:48px 0 42px}.page-about .story{padding:52px 0 58px}.page-about .values{padding:56px 0}.page-about .note{padding:48px 0}
  .page-contact .hero{padding:48px 0 38px}.page-contact .contact{padding:50px 0 62px}
  .products-intro{padding-top:65px}.products-list{padding-bottom:70px}.products-principle{padding:58px 0}
  .wrap{width:calc(100% - 28px)}
  .footer-grid.footer-grid--simple{grid-template-columns:1fr 1fr;gap:38px 26px!important}.footer-intro{grid-column:1/-1}.footer-bottom{display:grid;grid-template-columns:1fr}.footer-bottom>div:last-child{grid-column:auto}.footer-bottom div+div{margin-top:8px}.footer-legal{justify-content:flex-start}
  .footer-brand:before{width:50px;height:50px;flex-basis:50px}
  .btn,.wpc-button{min-height:48px!important}
}
@media(prefers-reduced-motion:reduce){
  .release-card,.release-card-media img,.btn,.wpc-button,.foundation-reveal{transition:none!important}
  .release-card:hover,.btn:hover,.wpc-button:hover{transform:none!important}
  .foundation-reveal{opacity:1!important;transform:none!important}
}

/* September review: one coherent inner-page language. The homepage keeps the
   signature full-width green statement; internal pages use light editorial
   sections, shared spacing and restrained green accents. */
.page-products .products-hero,
.page-digital-services .hero,
.page-about .hero,
.page-contact .hero,
.page-pixel-note .pixel-note-hero{
  padding-block:clamp(64px,7vw,92px)!important;
  background:radial-gradient(circle at 86% 12%,rgba(223,202,129,.20),transparent 27rem),linear-gradient(180deg,#fbf8f2 0%,#f6f0e5 100%)!important;
  border-bottom:1px solid var(--wpc-line)!important;
}

/* Products: calm editorial hero and clearly separated actions. */
.page-products .products-hero-grid{gap:clamp(48px,6vw,84px)}
.page-products .products-hero h1{font-size:clamp(58px,6.5vw,94px)}
.page-products .hero-actions--separated{align-items:center;margin-top:32px}
.products-hero-editorial{margin:0;min-height:0;aspect-ratio:3/2;border-radius:28px;background:#e9e0d1}
.products-hero-editorial>img{width:100%;height:100%;min-height:0;object-fit:cover}
.page-products .products-intro{padding-top:72px}
.page-products .products-list{padding-bottom:96px}

/* Homepage hero: let one quiet, branded image carry the visual instead of
   stacking decorative badges and callouts around it. */
.home-hero-copy+.hero-visual{display:flex;align-items:center;min-height:470px}
.home-hero-copy+.hero-visual .hero-image{position:relative;inset:auto;width:100%;aspect-ratio:3/2;border-radius:28px}
.home-hero-copy+.hero-visual .hero-image img{width:100%;height:100%;object-fit:cover}

/* Newsletter dialog: editorial newsletter identity, not an app-specific card. */
.product-note-dialog-card{padding:46px;text-align:center}
.product-note-dialog-card:before{display:none}
.product-note-mark{width:106px;height:106px;margin:0 auto 20px;border-radius:0;background:transparent;box-shadow:none}
.product-note-mark img{width:96px;height:96px;object-fit:contain}
.product-note-dialog .kicker{margin-bottom:15px;text-align:center}
.product-note-dialog h2{margin:0 auto 15px}
.product-note-intro{max-width:400px;margin:0 auto 25px}
.product-note-dialog .wpc-newsletter-form--compact{width:100%;max-width:420px;margin-inline:auto}
.product-note-dialog .wpc-newsletter-fields{width:100%}
.product-note-dialog .wpc-newsletter-fields>*{justify-self:stretch}
.product-note-dialog .wpc-newsletter-privacy{text-align:left}

.footer-intro>p{white-space:nowrap;text-transform:uppercase;letter-spacing:.08em;font-size:10px}

/* Full-width statement panels are reserved for the homepage. */
.page-digital-services .service-value,
.page-digital-services .process,
.page-about .formats{
  background:#f0e8dc!important;
  color:var(--wpc-green)!important;
  border-block:1px solid var(--wpc-line)!important;
}
.page-digital-services .service-value h2,
.page-about .formats h2{color:var(--wpc-green)!important}
.page-digital-services .process .section-head h2{color:#a47f24!important}
.page-digital-services .service-value h2 em,
.page-digital-services .process .eyebrow,
.page-about .formats .kicker{color:#9e7c28!important}
.page-digital-services .service-value p,
.page-digital-services .process .section-head p,
.page-about .format p{color:#596b63!important}
.page-digital-services .process .steps{gap:16px!important}
.page-digital-services .process .step{border:1px solid rgba(21,71,52,.13)!important;border-radius:22px!important;background:rgba(255,253,248,.86)!important;box-shadow:0 18px 44px rgba(25,43,35,.055)!important}
.page-digital-services .process .step h3{color:var(--wpc-green)!important}
.page-digital-services .process .step p{color:#5e6f67!important}
.page-digital-services .process .step b{border-color:rgba(187,162,95,.5)!important;color:#9e7c28!important}
.page-about .format-list{border-top-color:rgba(21,71,52,.16)!important}
.page-about .format{border-bottom-color:rgba(21,71,52,.13)!important}
.page-about .format strong{color:var(--wpc-green)!important}

/* Contact opening: preserve the quiet design while making the composition
   intentional and connecting it to the form below. */
.page-contact .hero .wrap{position:relative;display:grid;grid-template-columns:minmax(0,760px) minmax(220px,1fr);grid-template-rows:auto auto auto;column-gap:clamp(56px,7vw,100px);row-gap:0;align-items:center}
.page-contact .hero .eyebrow{grid-column:1;grid-row:1}
.page-contact .hero h1{grid-column:1;grid-row:2}
.page-contact .hero .wrap>p:last-of-type{grid-column:1;grid-row:3;max-width:720px}
.page-contact .hero .wrap:after{content:'A clear first conversation';grid-column:2;grid-row:1 / 4;justify-self:end;align-self:center;max-width:270px;padding:24px 0 24px 28px;border-left:2px solid var(--wpc-gold);color:var(--wpc-green);font:400 27px/1.15 var(--wpc-serif)}
.page-contact .contact{background:linear-gradient(180deg,#f2ebdf 0%,#fbf8f2 100%)}
.page-contact .layout{gap:clamp(48px,6vw,76px)}

/* Shared motion. Large backgrounds stay still; content rises gently into
   place with one timing system across all pages. */
.foundation-reveal,.reveal,[data-motion]{will-change:opacity,transform,filter}
.foundation-reveal,.reveal,[data-motion]{opacity:0;filter:blur(2px);transform:translateY(28px);transition:opacity .82s cubic-bezier(.22,.61,.36,1),transform .82s cubic-bezier(.22,.61,.36,1),filter .82s cubic-bezier(.22,.61,.36,1)}
.foundation-reveal.is-visible,.foundation-reveal.visible,.reveal.is-visible,.reveal.visible,[data-motion].is-visible{opacity:1;filter:none;transform:none}
.motion-stagger>*{transition-delay:calc(var(--motion-index,0) * 90ms)}
.hero-grid>[data-motion]:last-child,.products-hero-grid>.foundation-reveal:last-child{transition-delay:120ms}

@media(max-width:930px){
  .home-hero-copy+.hero-visual{min-height:0}
  .page-contact .hero .wrap{grid-template-columns:1fr;grid-template-rows:auto auto auto auto;gap:0}
  .page-contact .hero .eyebrow{grid-column:1;grid-row:1}
  .page-contact .hero h1{grid-column:1;grid-row:2}
  .page-contact .hero .wrap>p:last-of-type{grid-column:1;grid-row:3}
  .page-contact .hero .wrap:after{grid-column:1;grid-row:4;justify-self:start;max-width:360px;margin-top:28px}
}
@media(max-width:650px){
  .home-hero-copy+.hero-visual .hero-image{aspect-ratio:4/3;border-radius:20px}
  .page-products .hero-actions--separated{align-items:flex-start;gap:14px}
  .products-hero-editorial{aspect-ratio:4/3;border-radius:20px}
  .product-note-dialog-card{padding:38px 24px 30px}
  .page-contact .hero .wrap:after{padding:16px 0 16px 20px;font-size:22px}
}
@media(prefers-reduced-motion:reduce){
  .foundation-reveal,.reveal,[data-motion]{opacity:1!important;filter:none!important;transform:none!important;transition:none!important;will-change:auto!important}
}

/* September 13 review: shared hero rhythm and motion without page flashes. */
:root{
  --wpc-hero-space-desktop:clamp(64px,6vw,84px);
  --wpc-hero-space-mobile:44px;
  --wpc-hero-gap:clamp(44px,5.5vw,76px);
  --wpc-motion-duration:580ms;
  --wpc-motion-ease:cubic-bezier(.22,.61,.36,1);
}

.page-home .hero,
.page-products .products-hero,
.page-digital-services .hero,
.page-about .hero,
.page-contact .hero,
.page-pixel-note .pixel-note-hero{
  padding-block:var(--wpc-hero-space-desktop)!important;
}
.page-home .hero-grid,
.page-products .products-hero-grid,
.page-digital-services .hero-grid,
.page-about .hero-grid,
.page-pixel-note .pixel-note-hero-grid{
  gap:var(--wpc-hero-gap)!important;
  align-items:center!important;
}
.page-home .hero h1,
.page-products .products-hero h1,
.page-digital-services .hero h1,
.page-about .hero h1,
.page-contact .hero h1,
.page-pixel-note .pixel-note-hero h1{
  margin-top:0!important;
}
.page-home .hero-visual{min-height:0!important}
.page-home .approved-home-hero,
.page-home .home-hero-copy+.hero-visual .hero-image{
  aspect-ratio:3/2!important;
  border-radius:26px!important;
  box-shadow:0 24px 68px rgba(25,43,35,.11)!important;
}
.page-home .approved-home-hero>img,
.page-home .home-hero-copy+.hero-visual .hero-image img{
  object-position:center!important;
}
.page-products .products-hero-editorial{border-radius:26px!important;box-shadow:0 24px 68px rgba(25,43,35,.10)!important}
.page-digital-services .hero-board{min-height:500px!important}
.page-about .melbourne-photo{height:410px!important}
.page-contact .hero .wrap{min-height:0!important;align-items:center!important}
.page-contact .hero .wrap>p:last-of-type{margin-bottom:0!important}
.page-contact .hero .wrap:after{justify-self:start!important;max-width:290px!important}
.page-pixel-note .pixel-note-categories{gap:12px!important;align-items:stretch!important}
.page-pixel-note .pixel-note-categories a{
  display:grid!important;
  grid-template-rows:auto minmax(50px,auto) 1fr!important;
  align-content:start!important;
  justify-content:stretch!important;
  min-height:202px!important;
  padding:20px 22px 22px!important;
}
.page-pixel-note .pixel-note-categories .category-number{
  position:static!important;
  margin:0 0 14px!important;
}
.page-pixel-note .pixel-note-categories strong{
  display:flex!important;
  min-height:50px!important;
  align-items:flex-start!important;
}
.page-pixel-note .pixel-note-categories strong+span{margin-top:6px!important}
.page-about .melbourne-photo img{
  animation:none!important;
  transition:none!important;
  transform:none!important;
}

/* Elements are visible by default. JavaScript opts only below-fold elements
   into motion, preventing the blank white state seen during navigation. */
.foundation-reveal,.reveal,[data-motion]{
  opacity:1!important;
  filter:none!important;
  transform:none!important;
  transition:none!important;
  will-change:auto!important;
}
.motion-pending{
  opacity:0!important;
  transform:translateY(18px)!important;
  transition:opacity var(--wpc-motion-duration) var(--wpc-motion-ease),transform var(--wpc-motion-duration) var(--wpc-motion-ease)!important;
  will-change:opacity,transform!important;
}
.motion-pending.is-visible,.motion-pending.visible{
  opacity:1!important;
  transform:none!important;
}
.motion-stagger>.motion-pending{transition-delay:calc(var(--motion-index,0) * 65ms)!important}
.wpc-hero-enter{animation:wpcHeroEnter 480ms var(--wpc-motion-ease) both}
@keyframes wpcHeroEnter{
  from{opacity:.92;transform:translateY(10px)}
  to{opacity:1;transform:none}
}

@media(max-width:930px){
  .page-digital-services .hero-board{min-height:460px!important}
  .page-about .melbourne-photo{height:390px!important}
  .page-contact .hero .wrap:after{margin-top:24px!important}
}
@media(max-width:650px){
  .page-home .hero,
  .page-products .products-hero,
  .page-digital-services .hero,
  .page-about .hero,
  .page-contact .hero,
  .page-pixel-note .pixel-note-hero{
    padding-block:var(--wpc-hero-space-mobile)!important;
  }
  .page-home .hero-grid,
  .page-products .products-hero-grid,
  .page-digital-services .hero-grid,
  .page-about .hero-grid,
  .page-pixel-note .pixel-note-hero-grid{
    gap:30px!important;
  }
  .page-home .approved-home-hero,
  .page-home .home-hero-copy+.hero-visual .hero-image,
  .page-products .products-hero-editorial{border-radius:20px!important}
  .page-digital-services .hero-board{min-height:390px!important}
  .page-about .melbourne-photo{height:270px!important}
  .page-contact .hero .wrap:after{margin-top:20px!important}
  .page-pixel-note .pixel-note-categories a{
    grid-template-rows:auto auto auto!important;
    min-height:120px!important;
  }
  .page-pixel-note .pixel-note-categories strong{min-height:0!important}

  /* Compact phone footer. Keep the approved desktop composition, but remove
     the oversized brand scale and vertical rhythm that made the footer feel
     like a desktop panel squeezed into a narrow viewport. */
  footer{padding:44px 0 26px!important}
  footer>.wrap{width:calc(100% - 40px)!important}
  .footer-grid.footer-grid--simple{
    grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)!important;
    gap:28px 24px!important;
  }
  .footer-intro{grid-column:1/-1;max-width:none}
  .footer-brand{gap:10px}
  .footer-brand:before{width:40px;height:40px;flex-basis:40px}
  .footer-brand strong{font-size:23px;line-height:1}
  .footer-brand span{margin-top:4px;font-size:7px;letter-spacing:.15em}
  .footer-intro .footer-quote{margin-top:18px}
  .footer-quote{font-size:20px;line-height:1.15}
  .footer-intro>p{margin:12px 0 0;letter-spacing:.065em}
  footer h4{margin:0 0 12px;font-size:11px!important}
  footer .footer-grid p,footer .footer-grid a,footer p,footer a{font-size:13px!important;line-height:1.72!important}
  footer a{margin:6px 0}
  .footer-bottom{
    display:grid;
    grid-template-columns:1fr;
    gap:4px;
    margin-top:28px;
    padding-top:16px;
    font-size:11.5px!important;
    line-height:1.65!important;
  }
  .footer-bottom>div:last-child{grid-column:auto}
  .footer-legal{justify-content:flex-start;gap:8px;margin:3px 0}
  .footer-bottom div+div{margin-top:0}
  .page-pixel-note-article .article-back{padding:26px 0}
}
@media(prefers-reduced-motion:reduce){
  .motion-pending,.motion-pending.is-visible,.motion-pending.visible,.wpc-hero-enter{
    opacity:1!important;
    transform:none!important;
    animation:none!important;
    transition:none!important;
  }
}


/* Canonical WPC footer: Brand + Pages + Follow + Legal.
   This block is the site-wide footer authority and intentionally overrides
   legacy page-level footer declarations. */
.footer-grid.footer-grid--canonical{
  display:grid!important;
  grid-template-columns:minmax(280px,1.45fr) repeat(3,minmax(130px,.7fr))!important;
  gap:48px!important;
  align-items:start!important;
}
.footer-grid--canonical>.footer-intro,
.footer-grid--canonical>.footer-pages,
.footer-grid--canonical>.footer-social,
.footer-grid--canonical>.footer-legal-links{min-width:0}
.footer-grid--canonical .footer-pages,
.footer-grid--canonical .footer-social,
.footer-grid--canonical .footer-legal-links{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:0!important;
}
.footer-grid--canonical .footer-pages h4,
.footer-grid--canonical .footer-social h4,
.footer-grid--canonical .footer-legal-links h4{
  margin:4px 0 14px!important;
  color:var(--wpc-gold-light,#f0cd64)!important;
  font-size:10.5px!important;
  letter-spacing:.17em!important;
  text-transform:uppercase!important;
}
.footer-grid--canonical .footer-pages a,
.footer-grid--canonical .footer-social a,
.footer-grid--canonical .footer-legal-links a{
  display:block!important;
  margin:6px 0!important;
  color:#d7e2dc!important;
  text-decoration:none!important;
}
.footer-grid--canonical .footer-pages a:hover,
.footer-grid--canonical .footer-social a:hover,
.footer-grid--canonical .footer-legal-links a:hover{
  color:var(--wpc-gold-light,#f0cd64)!important;
  text-decoration:underline!important;
}
@media(max-width:900px){
  .footer-grid.footer-grid--canonical{
    grid-template-columns:1fr 1fr!important;
    gap:34px 42px!important;
  }
  .footer-grid--canonical>.footer-intro{grid-column:1/-1}
}
@media(max-width:560px){
  .footer-grid.footer-grid--canonical{
    grid-template-columns:1fr!important;
    gap:28px!important;
  }
  .footer-grid--canonical>.footer-intro{grid-column:auto}
}

/* 2026-09-29 mobile footer compaction: keep the canonical footer useful
   without turning the end of every phone page into a second page. */
@media(max-width:560px){
  footer{padding:44px 0 24px!important}
  .footer-grid.footer-grid--canonical{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:24px 22px!important;
  }
  .footer-grid--canonical>.footer-intro{grid-column:1/-1!important}
  .footer-grid--canonical>.footer-legal-links{
    grid-column:1/-1!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    column-gap:20px!important;
    align-content:start!important;
  }
  .footer-grid--canonical>.footer-legal-links h4{grid-column:1/-1!important}
  .footer-intro .footer-quote{margin-top:17px!important}
  .footer-brand:before{width:44px!important;height:44px!important;flex-basis:44px!important}
  .footer-brand strong{font-size:24px!important}
  .footer-grid--canonical h4{margin-bottom:9px!important}
  .footer-grid--canonical a{margin:5px 0!important;line-height:1.55!important}
  .footer-bottom{margin-top:27px!important;padding-top:15px!important}
}
