/* professionaldesigner.co.uk — "Candy Bento" look (PD copy of the WPS v3 look 5, webprintsigns.co.uk/?wps_v3_skin=bento).
   Loaded after /assets/style.css (the static site's component styles, unchanged): re-tokens it for the sugar-cream
   page, then styles the bento frame (util bar, white header card, six candy tiles with code chips, pill ticker,
   footer) and the home hero card + photo grid + pastel stat tiles. Fonts self-hosted, no third-party requests. */
@font-face{font-family:"Bricolage Grotesque";src:url(../fonts/bricolage.woff2) format("woff2");font-weight:200 800;font-display:swap}
@font-face{font-family:"Red Hat Text";src:url(../fonts/rh-text.woff2) format("woff2");font-weight:300 700;font-display:swap}
@font-face{font-family:"Red Hat Mono";src:url(../fonts/rh-mono.woff2) format("woff2");font-weight:300 700;font-display:swap}

:root[data-skin="bento"]{
  --blue1:#2d5bff;--blue4:#cad6ff;--pink1:#ff2e8b;--pink4:#ffcbe2;--yel1:#ffd60a;--yel4:#fff5c2;
  --cyan1:#00d4e0;--cyan4:#bff4f7;--grn1:#48e05a;--grn4:#d1f7d6;--org1:#ff6a13;--org4:#ffdac4;
  --page:#fff6e9;--cream2:#ffeed6;--card:#fff;--wa:#00773a;--blue:#1f45e0;--mono:"Red Hat Mono",Consolas,monospace;
  --rL:28px;--rM:24px;--rS:16px;--edge:24px;--lift:0 18px 30px -18px rgba(16,20,24,.45);
  /* the static site's tokens, re-pointed */
  --bg:var(--page);--bg2:var(--cream2);--panel:#fff;--panel2:#fff;
  --line:#efdcc6;--line2:#e2c7a6;--ink:#101418;--muted:#454c53;--dim:#5d646b;
  --cyan:#1f45e0;--indigo:#c2185b;--glow:rgba(31,69,224,.18);
  --grad:linear-gradient(92deg,#2d5bff,#ff2e8b);
  --radius:24px;--maxw:1392px;
  --display:"Bricolage Grotesque","Segoe UI",Arial,sans-serif;
  --body:"Red Hat Text","Segoe UI",Arial,sans-serif;
  --btnink:#fff;--chipbg:#fff;--hudbg:#fff;
}
[data-skin="bento"] body.b3{background:var(--page);color:var(--ink);font:400 16px/1.6 var(--body);overflow-x:hidden}
[data-skin="bento"] body.b3 :focus-visible{outline:3px solid var(--blue);outline-offset:3px}
[data-skin="bento"] .wrap{max-width:var(--maxw);padding:0 var(--edge)}
.b-wrap{width:calc(100% - 2 * var(--edge));max-width:1392px;margin-left:auto;margin-right:auto}
.b-sr,.b-skip{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.b-skip:focus{position:fixed;left:12px;top:12px;width:auto;height:auto;clip:auto;z-index:200;background:#fff;padding:10px 16px;border-radius:999px;font-weight:700}
/* the static site's dark-theme effects are not part of this look */
#gridfx,#aurora,#orb,#orb2,.blob,.fbadge,.scroll-cue,.theme-toggle,.pal-menu{display:none!important}

/* ---------------------------------------------------------------- buttons */
.b-btn{display:inline-flex;align-items:center;justify-content:center;height:46px;padding:0 22px;border-radius:999px;font:800 15px/1 var(--display);border:2px solid var(--ink);white-space:nowrap;transition:transform .15s ease,background .15s,color .15s}
.b-btn:hover{transform:translateY(-2px)}
.b-btn-k{background:var(--ink);color:#fff}.b-btn-k:hover{background:var(--blue);border-color:var(--blue);color:#fff}
.b-btn-line{background:#fff;color:var(--ink)}.b-btn-line:hover{background:var(--ink);color:#fff}
.b-btn-wa{background:var(--wa);border-color:var(--wa);color:#fff}.b-btn-wa:hover{background:var(--ink);border-color:var(--ink)}
[data-skin="bento"] .cta-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border-radius:999px;background:var(--ink);color:#fff;border:2px solid var(--ink);font:800 15px/1.1 var(--display);box-shadow:none}
[data-skin="bento"] .cta-btn:hover{background:var(--blue);border-color:var(--blue);box-shadow:none;color:#fff}
[data-skin="bento"] .ghost-btn{display:inline-flex;align-items:center;min-height:48px;padding:0 24px;border-radius:999px;background:#fff;border:2px solid var(--ink);color:var(--ink);font:800 15px/1.1 var(--display)}
[data-skin="bento"] .ghost-btn:hover{background:var(--ink);color:#fff;border-color:var(--ink)}

/* ---------------------------------------------------------------- header */
.b-top{background:var(--page);position:relative;z-index:40}
.b-util{background:var(--blue4);color:var(--ink);font:600 13px/1 var(--body)}
.b-util-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:36px}
.b-util p{margin:0;display:flex;align-items:center;flex-wrap:wrap}
.b-util-l>*+*::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--pink1);margin:0 12px 1px;vertical-align:middle}
.b-util-l>:nth-child(3)::before{background:var(--grn1)}
.b-util-r a{background:#fff;border-radius:999px;padding:6px 12px;margin-left:6px;font-weight:700}
.b-util-r a:hover{background:var(--ink);color:#fff}
.b-hd{display:flex;align-items:center;gap:22px;min-height:72px;margin-top:10px;background:#fff;border-radius:var(--rM);padding:10px 12px 10px 24px}
.b-brand{display:flex;flex-direction:column;gap:5px;flex:0 0 auto}
.b-mark{font:800 24px/1 var(--display);letter-spacing:-.04em;color:var(--ink);white-space:nowrap}
.b-mark em{font-style:normal;color:var(--blue1)}
.b-mark .dot{color:var(--pink1)}
.b-tagline{font:500 10px/1 var(--mono);letter-spacing:.32em;text-transform:uppercase;color:var(--ink)}
.b-links{display:flex;gap:4px;margin-left:auto;flex-wrap:wrap}
.b-links a{font:700 15px/1 var(--display);padding:10px 12px;border-radius:999px}
.b-links a:hover{background:var(--page)}
.b-hd-tel{font:800 16px/1 var(--display);white-space:nowrap;padding:0 4px}
.b-hd-cta{height:50px;padding:0 24px;font-size:16px}
.b-burger{display:none;background:var(--ink);color:#fff;border:0;border-radius:999px;width:46px;height:46px;align-items:center;justify-content:center;cursor:pointer}

/* six candy tiles = the service navigation */
.b-tiles-w{margin-top:12px}
.b-tiles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.b-tile{position:relative}
.b-tile>a{display:grid;grid-template-columns:1fr auto;grid-template-areas:"n n" "s c";align-items:end;gap:8px 8px;min-height:68px;padding:14px 16px 16px;border-radius:var(--rM);color:var(--ink);transition:transform .15s ease,box-shadow .15s}
.b-tile>a:hover{transform:translateY(-3px) rotate(-.6deg);box-shadow:var(--lift)}
.b-tile b{grid-area:n;font:800 20px/1.02 var(--display);letter-spacing:-.03em}
.b-tile .b-code{grid-area:c;font:500 12px/1 var(--mono);background:rgba(255,255,255,.6);border-radius:999px;padding:5px 9px;white-space:nowrap}
.b-tile small{grid-area:s;font:700 13.5px/1.2 var(--body);align-self:center}
.f-brand>a{background:var(--blue1);color:#fff}.f-brand .b-code{background:rgba(255,255,255,.25);color:#fff}
.f-signs>a{background:var(--pink1)}
.f-digital>a{background:var(--yel1)}
.f-product>a{background:var(--cyan1)}
.f-work>a{background:var(--grn1)}
.f-price>a{background:var(--org1)}
.b-mega{position:absolute;left:0;top:calc(100% + 8px);min-width:300px;background:#fff;border-radius:var(--rM);padding:18px 18px 16px;box-shadow:0 24px 60px -20px rgba(16,20,24,.45);visibility:hidden;opacity:0;transform:translateY(-4px);transition:opacity .15s,transform .15s,visibility 0s linear .35s;z-index:60}
.b-mega::before{content:"";position:absolute;left:0;right:0;top:-10px;height:10px}
.b-tile:hover .b-mega,.b-tile:focus-within .b-mega,.b-tile.b-open .b-mega{visibility:visible;opacity:1;transform:none;transition-delay:0s}
.b-tile.b-shut .b-mega{visibility:hidden;opacity:0}
.b-tile:nth-child(n+4) .b-mega{left:auto;right:0}
.b-mega-h{font:500 11px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;margin:0 0 10px;color:var(--muted)}
.b-mega ul{list-style:none;margin:0;padding:0}
.b-mega li a{display:block;padding:9px 12px;border-radius:12px;font:700 15px/1.25 var(--display)}
.b-mega li a:hover{background:var(--page)}
.b-mega-all{display:inline-block;margin-top:10px;font:700 13px/1 var(--mono);padding:9px 12px;border-radius:999px;background:var(--ink);color:#fff}
.f-brand .b-mega li a:hover{background:var(--blue4)}.f-signs .b-mega li a:hover{background:var(--pink4)}
.f-digital .b-mega li a:hover{background:var(--yel4)}.f-product .b-mega li a:hover{background:var(--cyan4)}

/* scrolling pill ticker */
.b-tick{overflow:hidden;margin:12px 0 0;padding:2px 0}
.b-tick-t{display:flex;gap:10px;width:max-content;animation:b-tick 70s linear infinite}
.b-tick:hover .b-tick-t{animation-play-state:paused}
.b-tick ul{list-style:none;display:flex;gap:10px;margin:0;padding:0}
.b-tick li a{display:block;white-space:nowrap;padding:10px 16px;border-radius:999px;font:500 15px/1 var(--body);color:var(--ink)}
.b-tick li b{font-weight:800;font-family:var(--display)}
.b-tick .t1 a{background:var(--grn4)}.b-tick .t2 a{background:#fff}.b-tick .t3 a{background:var(--blue4)}
.b-tick .t4 a{background:var(--pink4)}.b-tick .t5 a{background:var(--yel4)}.b-tick .t6 a{background:var(--cyan4)}
@keyframes b-tick{to{transform:translateX(calc(-50% - 5px))}}
@media (prefers-reduced-motion:reduce){.b-tick-t{animation:none}.b-tick{overflow-x:auto}}

/* mobile drawer */
.b-drawer{position:fixed;inset:0;z-index:150;background:var(--page);overflow-y:auto;padding:12px 16px 40px}
.b-drawer[hidden]{display:none}
.b-dr-hd{display:flex;align-items:center;justify-content:space-between;background:#fff;border-radius:var(--rM);padding:10px 10px 10px 18px}
.b-dr-hd .b-burger{display:inline-flex}
.b-dr-ct{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.b-dr-ct .b-btn{flex:1 1 auto}
.b-dr-list,.b-dr-co{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.b-dr-h{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-radius:var(--rS);font:800 19px/1 var(--display)}
.b-dr-list .f-brand .b-dr-h{background:var(--blue1);color:#fff}.b-dr-list .f-signs .b-dr-h{background:var(--pink1)}
.b-dr-list .f-digital .b-dr-h{background:var(--yel1)}.b-dr-list .f-product .b-dr-h{background:var(--cyan1)}
.b-dr-list .f-work .b-dr-h{background:var(--grn1)}.b-dr-list .f-price .b-dr-h{background:var(--org1)}
.b-dr-h .b-code{font:500 12px/1 var(--mono);background:rgba(255,255,255,.55);border-radius:999px;padding:5px 9px;color:var(--ink)}
.b-dr-l{list-style:none;margin:6px 0 4px;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.b-dr-l a{display:block;background:#fff;border-radius:999px;padding:8px 12px;font:600 14px/1.2 var(--body)}
.b-dr-co{margin-top:14px;grid-template-columns:1fr 1fr}
.b-dr-co a{display:block;background:#fff;border-radius:var(--rS);padding:12px 14px;font:700 15px/1 var(--display)}
body.b-drawer-open{overflow:hidden}

/* ---------------------------------------------------------------- content: the static site's components, candy-bento */
[data-skin="bento"] section{padding:56px 0}
[data-skin="bento"] h1,[data-skin="bento"] h2,[data-skin="bento"] h3,[data-skin="bento"] h4{font-family:var(--display);font-weight:800;letter-spacing:-.03em;color:var(--ink)}
[data-skin="bento"] .page-hero{padding:16px 0 8px;overflow:visible}
[data-skin="bento"] .page-hero>.wrap{background:var(--blue4);border-radius:var(--rL);padding:40px 44px 44px;width:calc(100% - 2 * var(--edge));max-width:1392px}
[data-skin="bento"] .page-hero h1{font-size:clamp(32px,4.2vw,56px);line-height:1;letter-spacing:-.045em;max-width:22ch}
[data-skin="bento"] .page-hero p.lede,[data-skin="bento"] .page-hero p{color:var(--ink)}
[data-skin="bento"] .crumbs{display:inline-flex;flex-wrap:wrap;gap:4px;background:#fff;border-radius:999px;padding:7px 14px;font:500 12.5px/1.3 var(--mono);color:var(--muted)}
[data-skin="bento"] .crumbs a{color:var(--ink)}[data-skin="bento"] .crumbs a:hover{color:var(--blue)}
[data-skin="bento"] .hero-mockups img{border:0;border-radius:var(--rM)}
[data-skin="bento"] .hero-mockups .hm-b{border:4px solid #fff}
[data-skin="bento"] .eyebrow{color:var(--ink);background:#fff;border:0;font:500 12px/1 var(--mono);letter-spacing:.06em}
[data-skin="bento"] .eyebrow::before{background:var(--pink1);box-shadow:none}
[data-skin="bento"] .kicker{display:inline-block;background:var(--ink);color:#fff;border-radius:999px;padding:7px 13px;font:500 12px/1 var(--mono);letter-spacing:.08em}
[data-skin="bento"] .sec-head h2{font-size:clamp(30px,3.8vw,52px);line-height:1.02}
[data-skin="bento"] .sec-head p{color:var(--muted)}
[data-skin="bento"] .card{background:#fff;border:0;border-radius:var(--rM);box-shadow:none}
[data-skin="bento"] .card:hover{box-shadow:var(--lift);border-color:transparent}
[data-skin="bento"] .card::after{background:radial-gradient(420px 200px at var(--mx,50%) var(--my,0%),rgba(45,91,255,.07),transparent 65%)}
[data-skin="bento"] .card .ic{border:0;border-radius:50%;color:var(--ink);background:var(--blue4)}
[data-skin="bento"] .cards>:nth-child(6n+2) .ic{background:var(--pink4)}[data-skin="bento"] .cards>:nth-child(6n+3) .ic{background:var(--yel4)}
[data-skin="bento"] .cards>:nth-child(6n+4) .ic{background:var(--cyan4)}[data-skin="bento"] .cards>:nth-child(6n+5) .ic{background:var(--grn4)}
[data-skin="bento"] .cards>:nth-child(6n+6) .ic{background:var(--org4)}
[data-skin="bento"] .card .go,[data-skin="bento"] .wcard .wcat{color:var(--blue)}
[data-skin="bento"] .card.feat{background:var(--yel4)}
[data-skin="bento"] .card .price{background:none;-webkit-text-fill-color:var(--ink);color:var(--ink)}
[data-skin="bento"] .wcard .wimg{background:var(--cream2)}
[data-skin="bento"] .pstep{background:#fff;border:0;border-radius:var(--rM)}
[data-skin="bento"] .process>:nth-child(4n+1){background:var(--blue4)}[data-skin="bento"] .process>:nth-child(4n+2){background:var(--pink4)}
[data-skin="bento"] .process>:nth-child(4n+3){background:var(--yel4)}[data-skin="bento"] .process>:nth-child(4n+4){background:var(--grn4)}
[data-skin="bento"] .pstep::before{color:var(--ink);font:500 13px/1 var(--mono);background:#fff;border-radius:999px;padding:6px 10px;display:inline-block}
[data-skin="bento"] .pstep p{color:var(--ink)}
[data-skin="bento"] .band{background:var(--yel1);border:0;border-radius:var(--rL);color:var(--ink)}
[data-skin="bento"] .band::before{display:none}
[data-skin="bento"] .band p{color:var(--ink)}
[data-skin="bento"] .reel{border:0;padding:24px 0}
[data-skin="bento"] .reel::before{display:none}
[data-skin="bento"] .reel>.wrap{background:var(--pink4);border-radius:var(--rL);padding:64px 32px;width:calc(100% - 2 * var(--edge))}
[data-skin="bento"] .reel p{color:var(--ink)}
[data-skin="bento"] .reel .big{background:none;-webkit-text-fill-color:var(--blue);color:var(--blue)}
[data-skin="bento"] .marquee{border:0;padding:6px 0;background:transparent}
[data-skin="bento"] .marquee span{background:#fff;border-radius:999px;padding:12px 26px;color:var(--ink);letter-spacing:.04em}
[data-skin="bento"] .marquee em{color:var(--pink1)}
[data-skin="bento"] .area-pill{background:#fff;border:0;border-radius:999px;font-weight:700;color:var(--ink)}
[data-skin="bento"] .area-pill::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--blue1)}
[data-skin="bento"] .areas-grid>:nth-child(6n+2)::before{background:var(--pink1)}[data-skin="bento"] .areas-grid>:nth-child(6n+3)::before{background:var(--yel1)}
[data-skin="bento"] .areas-grid>:nth-child(6n+4)::before{background:var(--cyan1)}[data-skin="bento"] .areas-grid>:nth-child(6n+5)::before{background:var(--grn1)}
[data-skin="bento"] .areas-grid>:nth-child(6n+6)::before{background:var(--org1)}
[data-skin="bento"] .area-pill:hover{box-shadow:var(--lift)}
[data-skin="bento"] .side-card{background:var(--yel4);border:0;border-radius:var(--rM);top:16px}
[data-skin="bento"] .side-card p{color:var(--ink)}
[data-skin="bento"] .fq{background:#fff;border:0;border-radius:var(--rS)}
[data-skin="bento"] .fq summary::after{color:var(--blue)}
[data-skin="bento"] .fq p,[data-skin="bento"] .prose p,[data-skin="bento"] .prose li,[data-skin="bento"] .card p{color:var(--muted)}
[data-skin="bento"] .prose p>a:not(.cta-btn):not(.ghost-btn),[data-skin="bento"] .prose li>a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
[data-skin="bento"] .tint{background:var(--cream2)}
[data-skin="bento"] form.contact input:not([type=checkbox]),[data-skin="bento"] form.contact textarea,[data-skin="bento"] form.contact select{background:#fff;border:2px solid var(--line2);border-radius:14px}
[data-skin="bento"] form.contact{background:#fff;border-radius:var(--rL);padding:28px}
[data-skin="bento"] .sgal img,[data-skin="bento"] .case-img{border-radius:var(--rM)}
[data-skin="bento"] .fbtn{border-radius:999px;background:#fff;border:2px solid var(--ink);color:var(--ink)}
[data-skin="bento"] .fbtn.active{background:var(--ink);color:#fff}
[data-skin="bento"] .stat b{background:none;-webkit-text-fill-color:var(--ink);color:var(--ink)}

/* ---------------------------------------------------------------- home: bento hero */
.bn-hero{padding:12px 0 4px!important}
.bn-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(3,minmax(150px,auto)) auto;gap:12px}
.bn-c{margin:0;position:relative;border-radius:var(--rL);overflow:hidden}
.bn-head{grid-column:1/3;grid-row:1/4;background:var(--blue4);padding:40px 34px 34px;display:flex;flex-direction:column;align-items:flex-start;overflow:visible}
.bn-eb{display:inline-flex;align-items:center;gap:10px;background:#fff;border-radius:999px;padding:8px 16px 8px 10px;margin:0 0 22px}
.bn-eb i{width:18px;height:18px;border-radius:50%;background:conic-gradient(var(--blue1),var(--pink1),var(--yel1),var(--cyan1),var(--grn1),var(--org1),var(--blue1))}
[data-skin="bento"] .bn-eb .eyebrow{background:none;padding:0;margin:0;font:500 13px/1.3 var(--mono);letter-spacing:0;text-transform:none;color:var(--ink)}
.bn-eb .eyebrow::before{display:none}
.bn-head h1{font:800 clamp(40px,4.4vw,72px)/.98 var(--display);letter-spacing:-.05em;margin:0;max-width:none}
.bn-head h1 .hi2{color:var(--ink)}
.bn-head h1 .rot{color:var(--blue1);background:#fff;border-radius:20px;padding:0 .16em;height:1.12em;margin-top:.08em}
.bn-head .bn-lead{font:400 clamp(17px,1.4vw,20px)/1.5 var(--body);color:var(--ink);max-width:46ch;margin:24px 0 28px}
.bn-ctas{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto}
.bn-b{display:inline-flex;align-items:center;height:56px;padding:0 20px;border-radius:999px;font:800 16px/1 var(--display);transition:transform .15s,background .15s}
.bn-b:hover{transform:translateY(-2px)}
.bn-b1{background:var(--ink);color:#fff}.bn-b1:hover{background:var(--blue)}
.bn-b2{background:#fff;color:var(--ink)}.bn-b2:hover{background:var(--ink);color:#fff}
.bn-b3{background:var(--wa);color:#fff}.bn-b3:hover{background:var(--ink)}
.bn-own{grid-column:3;grid-row:1/4}
.bn-p1{grid-column:4;grid-row:1}.bn-p2{grid-column:4;grid-row:2}.bn-p3{grid-column:4;grid-row:3}
.bn-c img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.bn-c:hover img{transform:scale(1.04)}
.bn-own img{position:absolute;inset:0}
.bn-p1,.bn-p2,.bn-p3{min-height:150px}
.bn-p1 img,.bn-p2 img,.bn-p3 img{position:absolute;inset:0}
.bn-pill{position:absolute;left:14px;bottom:14px;display:inline-flex;align-items:center;gap:8px;background:#fff;border-radius:999px;padding:8px 14px;font:800 15px/1.1 var(--display);color:var(--ink)}
.bn-pill i{width:12px;height:12px;border-radius:50%;background:var(--blue1)}
.bn-pill.f-brand i{background:var(--yel1)}.bn-pill.f-product i{background:var(--pink1)}.bn-pill.f-digital i{background:var(--blue1)}
.bn-pill-w{right:14px;justify-content:space-between;border-radius:var(--rS);padding:12px 16px}
.bn-pill-w span{font:500 12px/1 var(--mono)}
.bn-t{grid-row:4;margin:0;border-radius:var(--rM);padding:22px 24px;display:flex;flex-direction:column;gap:4px}
.bn-t b{font:800 clamp(22px,2vw,28px)/1.05 var(--display);letter-spacing:-.03em}
.bn-t span{font:500 15px/1.3 var(--body)}
.bn-t1{background:var(--org4)}.bn-t2{background:var(--cyan4)}.bn-t3{background:var(--grn4)}.bn-t4{background:var(--pink4)}
.bn-note{font:500 12px/1.4 var(--mono);color:var(--muted);margin:10px 4px 0}

/* ---------------------------------------------------------------- footer */
.b-ft{margin-top:40px;padding-bottom:12px;font-size:14.5px}
.b-ft-cta{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:var(--blue4);border-radius:var(--rL);padding:26px 28px}
.b-ft-cta-h{font:800 clamp(26px,3vw,38px)/1 var(--display);letter-spacing:-.04em;margin:0}
.b-ft-cta-b{display:flex;gap:10px;flex-wrap:wrap}
.b-ft-main{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:28px;background:#fff;border-radius:var(--rL);padding:32px;margin-top:12px}
.b-ft-brand p{color:var(--muted);margin:14px 0 0;max-width:42ch}
.b-ft-brand p a{color:var(--blue);font-weight:700}
.b-ft-c{display:flex;flex-direction:column;gap:6px}
.b-ft-c a{color:var(--ink)!important;font:800 16px/1.2 var(--display)!important}
.b-ft h5{font:500 11px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;margin:4px 0 12px;color:var(--muted)}
.b-ft-col a{display:block;padding:5px 0;color:var(--ink);font-weight:600}
.b-ft-col a:hover,.b-ft-areas a:hover{color:var(--blue)}
.b-ft-areas{background:var(--yel4);border-radius:var(--rL);padding:24px 28px;margin-top:12px}
.b-ft-areas .links{display:flex;flex-wrap:wrap;gap:8px}
.b-ft-areas a{background:#fff;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:600}
.b-ft-legal{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;padding:18px 6px 4px;font-size:13px;color:var(--muted)}
.b-ft-legal a{color:var(--ink)}
.b-ft-legal .right{margin-left:auto}
.b-ft-legal .f-credit{flex-basis:100%;font-size:12px;opacity:.8}
[data-skin="bento"] #pd-wa{left:18px}

/* ---------------------------------------------------------------- responsive */
@media (max-width:1280px){.b-links a{padding:10px 8px;font-size:14px}.b-tile b{font-size:19px}.b-tile small{font-size:13px}}
@media (max-width:1100px){.b-links,.b-hd-tel{display:none}.b-burger{display:inline-flex;margin-left:auto}.b-hd-cta{margin-left:0}
  .b-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}
  .b-ft-main{grid-template-columns:1fr 1fr}.b-ft-brand{grid-column:1/-1}}
@media (max-width:1100px) and (hover:hover){.b-tile:nth-child(3n) .b-mega{left:auto;right:0}.b-tile:nth-child(3n+1) .b-mega{left:0;right:auto}}
@media (max-width:900px){
  .bn-grid{grid-template-columns:1fr 1fr;grid-template-rows:none}
  .bn-head{grid-column:1/-1;grid-row:auto;padding:28px 22px 24px}
  .bn-own{grid-column:1/-1;grid-row:auto;aspect-ratio:16/10}
  .bn-p1,.bn-p2,.bn-p3{grid-column:auto;grid-row:auto;aspect-ratio:1/1;min-height:0}
  .bn-p3{grid-column:1/-1;aspect-ratio:16/9}
  .bn-t{grid-row:auto}
  [data-skin="bento"] .page-hero>.wrap{padding:28px 22px 30px}
  [data-skin="bento"] section{padding:40px 0}
}
@media (max-width:640px){
  :root[data-skin="bento"]{--edge:16px}
  .b-util .b-util-l{display:none}.b-util-row{justify-content:center}.b-util-r a{font-size:12px;padding:5px 10px;margin:0 3px;white-space:nowrap}
  .b-util-row{min-height:34px}
  .b-hd{padding:8px 8px 8px 16px;gap:10px;min-height:60px}
  .b-mark{font-size:19px}.b-tagline{letter-spacing:.18em;font-size:9px}
  .b-hd-cta{display:none}
  .b-tiles-w{overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;width:100%;padding:0 16px;scroll-padding:16px}
  .b-tiles-w::-webkit-scrollbar{display:none}
  .b-tiles{display:flex;width:max-content;gap:8px}
  .b-tile>a{width:210px;min-height:60px;padding:12px 14px 13px}
  .b-tile b{font-size:17px}.b-tile small{font-size:12px}
  .b-mega{display:none}
  .bn-head h1{font-size:clamp(38px,11vw,56px)}
  .bn-b{height:50px;padding:0 18px;font-size:15.5px}
  .bn-p1 .bn-pill,.bn-p2 .bn-pill{font-size:13px;padding:6px 10px;left:10px;bottom:10px}
  .bn-t{padding:16px}
  .b-ft-cta,.b-ft-main,.b-ft-areas{padding:20px}
  .b-ft-main{grid-template-columns:1fr}
  .b-ft-legal .right{margin-left:0}
}

/* headline word rotator: the first word is on screen at rest (no fade-in, no empty pill before or between words).
   Each word holds 2.2s and cross-fades into the next over 0.3s; the static site's rotWord left 0.5s gaps. */
.bn-head .hi{opacity:1;transform:none;animation:none}
.bn-head .rot i{animation:bnRot 10s cubic-bezier(.2,.75,.2,1) infinite}
.bn-head .rot i:nth-child(1){animation-delay:-.3s}
.bn-head .rot i:nth-child(2){animation-delay:2.2s}
.bn-head .rot i:nth-child(3){animation-delay:4.7s}
.bn-head .rot i:nth-child(4){animation-delay:7.2s}
.bn-head .rot i:first-child{opacity:1;transform:none}
@keyframes bnRot{0%{opacity:0;transform:translateY(70%)}3%,25%{opacity:1;transform:none}28%,100%{opacity:0;transform:translateY(-70%)}}
@media (prefers-reduced-motion:reduce){.bn-head .rot i{animation:none}.bn-head .rot i:not(:first-child){opacity:0}}

/* Hero mosaic rotation (js/pd.js) */
.bn-c img{transition:transform .5s ease,opacity 1.2s ease}
.bn-c img.bn-x{position:absolute;inset:0}
.bn-c .bn-pill{z-index:3;transition:opacity .45s ease}

/* Sidebar "Related services": separate link rows with arrow, coloured dots, no touching pills */
[data-skin="bento"] .side-card .area-pill{display:flex;align-items:center;gap:12px;width:100%;margin:0 0 8px;padding:14px 16px;border-radius:var(--rS);background:#fff;font:700 15px/1.25 var(--display);color:var(--ink);box-shadow:0 1px 0 rgba(16,20,24,.06);transition:transform .15s ease,box-shadow .15s ease}
[data-skin="bento"] .side-card .area-pill:last-child{margin-bottom:0}
[data-skin="bento"] .side-card .area-pill::before{flex:none;width:10px;height:10px}
[data-skin="bento"] .side-card .area-pill:nth-of-type(4n+2)::before{background:var(--pink1)}
[data-skin="bento"] .side-card .area-pill:nth-of-type(4n+3)::before{background:var(--yel1);box-shadow:0 0 0 1px rgba(16,20,24,.15)}
[data-skin="bento"] .side-card .area-pill:nth-of-type(4n+4)::before{background:var(--grn1)}
[data-skin="bento"] .side-card .area-pill::after{content:"\2192";margin-left:auto;font-weight:800;color:var(--dim);transition:transform .15s ease,color .15s ease}
[data-skin="bento"] .side-card .area-pill:hover{transform:translateY(-2px);box-shadow:var(--lift)}
[data-skin="bento"] .side-card .area-pill:hover::after{color:var(--blue1);transform:translateX(3px)}
[data-skin="bento"] .side-card h3{margin:0 0 14px}

/* Footer address line */
.b-ft-c .b-ft-addr{font:600 14px/1.45 var(--body);color:var(--muted)}

/* Faded grid page background (owner ask 17 Oct): fine ink grid, strongest mid-screen, fading to the page colour at the edges */
[data-skin="bento"] body.b3{background-color:var(--page);background-image:radial-gradient(ellipse 85% 75% at 50% 35%,transparent 30%,var(--page) 92%),linear-gradient(rgba(16,20,24,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(16,20,24,.06) 1px,transparent 1px);background-size:auto,44px 44px,44px 44px;background-position:0 0,center top,center top;background-attachment:fixed}
