/* Prisma 1.0 / White Light. Native CSS, no runtime framework. */
@font-face{font-family:Commissioner;src:url('../fonts/commissioner-var.woff2') format('woff2');font-weight:200 900;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url('../fonts/jbmono-var.woff2') format('woff2');font-weight:400 800;font-display:swap}
:root{--paper:#f8f8f6;--ink:#101322;--muted:#5c6274;--line:#dedfdc;--accent:#3C5679;--tint:#e6ecf5;--radius:12px;--width:1240px;--header-h:80px;--pill-bg:rgba(255,255,255,.72);--pill-fg:#101322;--pill-fg-soft:rgba(16,19,34,.72);--pill-hover:rgba(16,19,34,.06);--pill-active:rgba(16,19,34,.09);--pill-line:rgba(16,19,34,.14);--pill-rim:rgba(16,19,34,.08);--pill-shadow:0 12px 34px rgba(16,19,34,.10);--pill-panel:rgba(255,255,255,.985);--pill-solid:rgba(252,252,251,.96)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Commissioner,Arial,sans-serif;font-size:17px;line-height:1.65}::selection{background:#d8e8ea;color:var(--ink)}img,svg{max-width:100%;height:auto}a{color:inherit;text-underline-offset:.22em}a:hover{color:var(--accent)}button,input,textarea,select{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:560;line-height:1.12;letter-spacing:-.035em;text-wrap:balance}h1{font-size:clamp(2.65rem,5.2vw,4.8rem);margin-bottom:26px}h2{font-size:clamp(2rem,3.5vw,3.3rem);margin-bottom:24px}h3{font-size:1.35rem;letter-spacing:-.02em}p{margin-bottom:20px}p:last-child{margin-bottom:0}.wp-site-blocks>*{margin-block-start:0}.wp-block-post-content>*{margin-block-start:0!important}.wp-block-shortcode{margin:0}.prisma-wrap{width:min(var(--width),calc(100% - 96px));margin-inline:auto}.prisma-section{padding-block:88px}.eyebrow{font-size:.8rem;font-weight:550;letter-spacing:.035em;color:var(--accent);margin-bottom:28px}.lead{font-size:clamp(1.1rem,1.65vw,1.35rem);line-height:1.65;max-width:49ch;color:var(--muted)}.prisma-btn{display:inline-flex;justify-content:center;align-items:center;gap:24px;min-height:52px;padding:13px 23px;background:var(--ink);color:#fff!important;border:1px solid var(--ink);border-radius:7px;text-decoration:none;font-size:.94rem;font-weight:550;cursor:pointer}.prisma-btn:hover{background:var(--accent);border-color:var(--accent);transform:translateY(-2px)}.prisma-btn span{font-size:1.3em}.text-link{display:inline-flex;align-items:center;gap:20px;color:var(--accent);font-weight:550;text-decoration:none}.text-link:hover{text-decoration:underline}.screen-reader-text{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.screen-reader-text:focus{clip-path:none;width:auto;height:auto;margin:10px;padding:12px;background:white;z-index:10000}/* Sticky lives on the template-part wrapper: WordPress wraps the header in
   <header class="wp-block-template-part">, and a sticky child cannot stick
   beyond its parent's own height. */
header.wp-block-template-part:has(> .prisma-header){position:relative;z-index:50;min-height:var(--header-h);pointer-events:none}
.prisma-header{padding-top:14px;background:transparent;pointer-events:none}
/* Compact floating state: fixed at the top, slides in on the first upward scroll (header.js). */
.prisma-header.is-floating{position:fixed;top:0;left:0;right:0;padding-top:10px;transform:translate3d(0,-115%,0);opacity:0;transition:transform 220ms cubic-bezier(.22,.61,.36,1),opacity 180ms ease;will-change:transform,opacity}
/* Fixed + backdrop-filter is what stutters Safari while scrolling: the compact pill is opaque instead. */
.prisma-header.is-floating .header-inner::before{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--pill-solid)}
.prisma-header.is-floating.is-visible{transform:translate3d(0,0,0);opacity:1}
.prisma-header.is-floating .header-inner{min-height:52px;width:fit-content;max-width:calc(100% - 48px);padding:5px 6px 5px 14px;gap:12px}
.prisma-header.is-floating .prisma-lockup .prisma-logo{width:92px}
.prisma-header.is-floating .prisma-nav__list a,.prisma-header.is-floating .prisma-service-menu summary{font-size:.92rem;padding:8px 13px}
.prisma-header.is-floating .prisma-nav__list .nav-contact{padding:8px 16px}
.prisma-header.is-floating .prisma-theme-toggle,.prisma-header.is-floating .prisma-lang-switch{width:36px;height:36px;font-size:19px}.prisma-header.is-floating .prisma-lang-switch{font-size:.72rem}
/* Compact header: the brand A replaces the wordmark. The flat SVG is the fallback;
   nav-icon-3d.js draws the 3D letter on a canvas over it and fades it in (.has-3d). */
.prisma-lockup__icon{display:none;position:relative;width:32px;height:32px;flex:none}
.prisma-lockup__icon img{display:block;height:100%;width:auto;margin-inline:auto;transition:opacity 160ms ease}
.prisma-lockup__canvas{position:absolute;inset:-6px;width:calc(100% + 12px);height:calc(100% + 12px);opacity:0;pointer-events:none;transition:opacity 160ms ease}
.prisma-lockup__icon.has-3d img{opacity:0}.prisma-lockup__icon.has-3d .prisma-lockup__canvas{opacity:1}
.prisma-header.is-floating .prisma-lockup .prisma-logo-pair{display:none}.prisma-header.is-floating .prisma-lockup__icon{display:block}
/* The icon is the home link: pad the hit area to 44px without moving the icon. */
.prisma-header.is-floating .prisma-lockup{padding:6px;margin:-6px;border-radius:50%}
.header-inner{pointer-events:auto;position:relative;isolation:isolate;width:min(var(--width),calc(100% - 96px));margin-inline:auto;display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:66px;padding:8px 10px 8px 26px;border-radius:999px;color:var(--pill-fg)}
.header-inner::before{content:'';position:absolute;inset:0;z-index:-1;border-radius:inherit;background:var(--pill-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--pill-shadow),0 0 0 1px var(--pill-rim),inset 0 1px 0 rgba(255,255,255,.5);pointer-events:none}
.prisma-lockup{display:inline-flex;align-items:center;gap:10px;text-decoration:none;flex:none}
.prisma-nav{margin:0!important;display:flex;align-items:center;gap:16px}.prisma-nav__list{list-style:none;display:flex;align-items:center;gap:4px;padding:0;margin:0}.prisma-nav__list a{text-decoration:none;font-size:1rem;font-weight:500;display:block;padding:10px 16px;border-radius:999px;color:var(--pill-fg-soft)}.prisma-nav__list a:hover{color:var(--pill-fg);background:var(--pill-hover)}.prisma-nav__list a[aria-current=page]{color:var(--pill-fg);background:var(--pill-active);text-decoration:none}.prisma-nav__list .nav-contact{margin-left:8px;padding:10px 20px;border:1px solid var(--pill-line);border-radius:999px;color:var(--pill-fg)}.prisma-nav__list .nav-contact:hover{background:var(--pill-fg);color:var(--paper);border-color:var(--pill-fg)}.prisma-nav__burger{display:none}.hero{position:relative;padding-block:72px 78px;overflow:clip;overflow-clip-margin:0;background:linear-gradient(90deg,transparent 0%,rgba(160,126,230,.05) 25%,rgba(111,152,240,.10) 50%,rgba(62,198,236,.16) 75%,rgba(106,216,210,.22) 100%),radial-gradient(ellipse at 88% 35%,rgba(62,198,236,.16),transparent 55%)}
/* Front page: the hero starts under the sticky header so the living gradient runs behind the pill. The post-content reset uses !important, so this must too. */
.home .wp-block-post-content>.hero{margin-block-start:calc(var(--header-h) * -1)!important;padding-top:calc(var(--header-h) + 64px);padding-bottom:calc(var(--header-h) + 64px)}
.hero-layout{min-height:0}.hero-layout{display:grid;grid-template-columns:1.28fr 1fr;align-items:center;gap:35px}.hero-copy{position:relative;z-index:1}.hero h1{font-size:clamp(3rem,5.1vw,4.6rem);line-height:1.09;letter-spacing:-.045em}.hero h1 span{color:#3EC6EC;background:linear-gradient(90deg,#A07EE6,#6F98F0 40%,#3EC6EC 70%,#6AD8D2);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hero .lead{color:#3A3F52}.hero .lead{max-width:38ch;margin-bottom:32px}.routes-section{padding-block:16px 62px}.route-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.route{padding:32px 36px 30px;background:#eef0ef;border-radius:var(--radius);text-decoration:none}.route:nth-child(2){background:#edf0f5}.route:hover{background:#e4e9ed;color:var(--ink)}.route-index{font-size:.78rem;color:var(--muted);display:block;margin-bottom:26px}.route h2{font-size:2rem;margin-bottom:12px}.route p{max-width:42ch;font-size:1rem;color:var(--muted);margin-bottom:26px}.route .text-link{font-size:.88rem}.section-heading{max-width:650px;margin-bottom:45px}.section-heading>p:last-child{max-width:51ch;color:var(--muted)}.promise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;padding-top:28px;border-top:1px solid var(--line)}.promise-grid p{color:var(--muted);font-size:.98rem}.promise-symbol{display:block;font-size:1.9rem;line-height:1;color:var(--accent);margin-bottom:26px}.promise-grid h3{margin-bottom:16px}.service-list{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:1.05fr 1fr 40px;gap:42px;align-items:center;padding:32px 5px;text-decoration:none;border-bottom:1px solid var(--line)}.service-row:hover{padding-inline:17px;margin-inline:-12px;background:#edf0f3}.service-row h3{display:flex;align-items:center;gap:18px;font-size:1.8rem;margin:0}@media(min-width:801px){.service-row h3{white-space:nowrap}}.service-row p{font-size:.95rem;color:var(--muted);margin:0}.service-row>span{font-size:1.9rem;text-align:right;color:var(--accent)}.process-section{background:#f0f1ee}.steps{list-style:none;counter-reset:step;display:grid;grid-template-columns:repeat(4,1fr);gap:35px;padding:0;margin:50px 0 0}.steps li{counter-increment:step}.steps li:before{content:counter(step,decimal-leading-zero);font-family:'JetBrains Mono',monospace;font-size:.8rem;color:var(--accent);display:block;margin-bottom:24px}.steps p{font-size:.96rem;color:var(--muted)}.steps--three{grid-template-columns:repeat(3,1fr)}.partner-band{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;padding:58px;background:linear-gradient(110deg,#eceaf0,#edf3f3);border-radius:var(--radius)}.partner-band h2{margin:0}.partner-band .lead{font-size:1.1rem}.faq-layout{display:grid;grid-template-columns:.85fr 1.4fr;gap:90px}.prisma-faq details{border-bottom:1px solid var(--line);padding:22px 0}.prisma-faq details:first-child{padding-top:0}.prisma-faq summary{display:flex;justify-content:space-between;gap:25px;font-size:1.12rem;font-weight:520;cursor:pointer;list-style:none}.prisma-faq summary::-webkit-details-marker{display:none}.prisma-faq details p{font-size:1rem;color:var(--muted);margin-top:20px;padding-right:30px;max-width:64ch}.closing{position:relative;text-align:center;padding:64px 20px 72px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.closing:before{content:'';position:absolute;top:-1px;left:35%;right:35%;height:2px;background:linear-gradient(90deg,#a07ee6,#6f98f0,#3ec6ec,#6ad8d2)}.closing h2{margin-bottom:30px}.prisma-footer{padding:45px 0 24px}.footer-top{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:70px;padding-bottom:45px}.footer-brand p{font-size:.95rem;color:var(--muted);margin-top:18px;max-width:27ch}.footer-title{font-size:.8rem;color:var(--muted);margin-bottom:18px}.footer-links{list-style:none;padding:0;margin:0}.footer-links a{font-size:.9rem;text-decoration:none;display:inline-block;padding:6px 0}.footer-bottom{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:22px;font-size:.77rem;color:var(--muted)}.footer-legal{font-size:.76rem;color:var(--muted);margin-top:14px}.page-intro{padding-block:80px 65px;border-bottom:1px solid var(--line)}.page-intro h1{max-width:22ch}.page-intro .lead{max-width:62ch}.split-copy{display:grid;grid-template-columns:1fr 1.1fr;gap:95px}.split-copy>div>h3{margin-top:32px}.split-copy>div>h3:first-child{margin-top:0}.split-copy>div>p{color:var(--muted)}.note-panel{background:var(--tint);border-radius:var(--radius);padding:48px;max-width:100%}.note-panel h2{font-size:2rem}.note-panel p{max-width:80ch;color:var(--muted)}.about-statement{max-width:940px;padding-bottom:80px;margin-bottom:70px;border-bottom:1px solid var(--line)}.about-statement p{font-size:clamp(1.6rem,3vw,2.6rem);line-height:1.4;letter-spacing:-.025em}.about-statement p+p{color:var(--muted)}.offer-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:90px;align-items:start}.offer-layout h2{font-size:2rem}.price-panel{background:#edf0f5;padding:36px;border-radius:var(--radius)}.price-panel h3{margin-top:30px}.price-panel p{font-size:.98rem;color:var(--muted)}.price-panel .prisma-btn{margin-top:16px}.price-panel .price{font-family:'JetBrains Mono',monospace;font-size:3.5rem;color:var(--ink);line-height:1.3;letter-spacing:-.05em}.price span{display:block;font-family:Commissioner,sans-serif;font-size:.95rem;letter-spacing:0;color:var(--muted)}.deliverables article{margin-bottom:30px}.deliverables p{color:var(--muted)}.check-list{padding-left:22px}.check-list li{padding-left:10px;margin-bottom:18px}.check-list li::marker{color:var(--accent)}.narrow{max-width:760px}.contact-layout{display:grid;grid-template-columns:.8fr 1.5fr;gap:100px;align-items:start}.contact-layout aside h2{font-size:2rem}.contact-layout aside p{color:var(--muted)}.contact-details a{display:block;font-size:1.05rem;margin:14px 0;overflow-wrap:anywhere}.prisma-form{display:grid;gap:24px}.prisma-form__row{display:grid;grid-template-columns:1fr 1fr;gap:22px}.prisma-form label{display:block;font-size:.88rem;font-weight:550;margin-bottom:9px}.prisma-form input,.prisma-form select,.prisma-form textarea{width:100%;border:1px solid #9cA2ad;border-radius:6px;background:#fff;color:var(--ink);padding:12px 14px;min-height:49px}.prisma-form textarea{min-height:170px;resize:vertical}.prisma-form input[aria-invalid=true],.prisma-form textarea[aria-invalid=true]{border-color:#a72b2b}.prisma-form__optional{font-weight:400;color:var(--muted)}.prisma-form__fine{font-size:.79rem;color:var(--muted);margin-top:18px;max-width:65ch}.prisma-form__hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}.prisma-note{padding:18px 22px;border-left:3px solid var(--accent);background:var(--tint);margin-bottom:28px;font-size:.95rem}.prisma-note--bad{background:#fff0ed;border-color:#a72b2b}.legal-copy h2{font-size:1.55rem;margin-top:36px}.legal-copy p,.legal-copy li{color:var(--muted)}.prisma-main{margin:0!important}.wp-block-post-content{margin:0}.wp-block-query,.wp-block-post-title,.wp-block-post-date,.wp-block-post-excerpt,.wp-block-query-title{max-width:var(--width);margin-inline:auto}body:has(.wp-block-query) main{padding:60px 36px}
@media(max-width:1100px){.prisma-wrap{width:calc(100% - 64px)}.prisma-nav__list{gap:20px}.hero h1{font-size:3.4rem}.faq-layout,.offer-layout,.contact-layout,.split-copy{gap:48px}.partner-band{gap:45px;padding:40px}.promise-grid{gap:30px}.service-row{gap:25px}.footer-top{gap:35px}}
@media(max-width:800px){.prisma-wrap{width:calc(100% - 40px)}.prisma-section{padding-block:56px}.prisma-header{padding-top:10px}:root{--header-h:70px}.header-inner{min-height:60px;width:calc(100% - 40px);padding:6px 6px 6px 18px;gap:8px}.prisma-nav{margin-left:auto!important}.prisma-nav__burger{display:none;border:1px solid var(--pill-line);border-radius:999px;background:transparent;color:var(--pill-fg);padding:8px 14px;font-size:.92rem;min-height:44px}.js .prisma-nav__burger{display:block}.prisma-nav__list{flex-wrap:wrap;gap:12px}.js .prisma-nav__list{display:none;position:absolute;top:calc(100% + 8px);left:12px;right:12px;background:var(--pill-panel);border:1px solid var(--pill-rim);border-radius:22px;padding:12px;z-index:20;box-shadow:0 18px 40px rgba(16,19,34,.16)}.js .prisma-nav__list.is-open{display:block}.prisma-nav__list a{padding:12px 14px}.hero{padding-top:44px}.hero-layout{grid-template-columns:1fr .58fr;gap:12px}.hero h1{font-size:clamp(2.65rem,6vw,3.5rem)}.hero .eyebrow{max-width:30ch;line-height:1.65}.hero .lead{font-size:1.05rem}.route{padding:26px}.route h2{font-size:1.6rem}.route .text-link{font-size:.81rem}.route-index{margin-bottom:19px}.routes-section{padding-top:0}.promise-grid{gap:24px}.promise-grid h3{font-size:1.18rem}.promise-grid p{font-size:.9rem}.steps{grid-template-columns:1fr 1fr;gap:34px;margin-top:30px}.service-row{grid-template-columns:1fr 1fr 25px;gap:22px}.service-row h3{font-size:1.4rem}.service-row p{font-size:.88rem}.faq-layout,.split-copy,.contact-layout{grid-template-columns:1fr;gap:25px}.faq-layout h2 br{display:none}.offer-layout{grid-template-columns:1fr;gap:32px}.partner-band{gap:28px;padding:32px}.partner-band h2{font-size:2rem}.partner-band .lead{font-size:1rem}.footer-top{grid-template-columns:1.3fr 1fr;gap:35px}.footer-brand{grid-column:1/-1}.footer-brand p{max-width:none}.page-intro{padding-block:50px}.page-intro h1{font-size:clamp(2.45rem,6vw,3.7rem)}.about-statement{padding-bottom:35px;margin-bottom:40px}.note-panel{padding:30px}.closing{padding:40px 0}.contact-section{padding-top:36px}.contact-layout aside{max-width:55ch}}
@media(max-width:540px){.hero-layout{display:block}.steps{grid-template-columns:1fr}.hero h1{font-size:2.35rem;max-width:17ch}.hero .eyebrow{font-size:.73rem;max-width:none;margin-bottom:23px}.hero .lead{max-width:34ch}.hero{padding-bottom:42px}.route-grid{grid-template-columns:1fr;gap:14px}.route{padding:26px}.route p{max-width:38ch}.route-index{margin-bottom:16px}.route h2{font-size:1.85rem}.route .text-link{font-size:.9rem}.promise-grid{grid-template-columns:1fr;gap:26px}.promise-grid article{display:grid;grid-template-columns:25px 1fr;column-gap:18px}.promise-symbol{grid-row:1/3;font-size:1.45rem;margin:0}.promise-grid h3{font-size:1.3rem;margin-bottom:10px}.promise-grid p{font-size:1rem;grid-column:2}.service-row{grid-template-columns:1fr 26px;gap:10px;padding-block:25px}.service-row h3{font-size:1.55rem}.service-row p{grid-row:2;grid-column:1;font-size:.95rem;max-width:32ch}.service-row>span{grid-column:2;grid-row:1/3}.partner-band{grid-template-columns:1fr;padding:28px}.steps{gap:28px 20px}.steps h3{font-size:1.25rem}.steps p{font-size:.9rem}.steps--three{grid-template-columns:1fr}.steps--three li{display:grid;grid-template-columns:30px 1fr;column-gap:15px}.steps--three li:before{grid-row:1/3;margin-top:3px}.steps--three p{grid-column:2}.prisma-form__row{grid-template-columns:1fr;gap:24px}.price-panel{padding:28px}.prisma-btn{gap:15px;font-size:.9rem}.note-panel{padding:26px}.footer-top{gap:28px}.footer-bottom{display:grid;gap:12px}.prisma-faq summary{font-size:1.05rem}.page-intro h1 br{display:none}.page-intro .lead{font-size:1.08rem}.section-heading{margin-bottom:32px}.closing h2{font-size:2rem}.closing h2 br{display:none}}
@media(prefers-reduced-motion:reduce){.prisma-header.is-floating{transition:none}html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{.prisma-nav,.prisma-form,.hero-brand-visual{display:none}.prisma-section{padding-block:24px}.prisma-wrap{width:100%}body{background:#fff;color:#000}}
/* Corporate navigation, with partner access reserved for the contact page. */
.prisma-service-menu{position:relative}.prisma-service-menu summary{display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;font-size:1rem;font-weight:500;list-style:none;cursor:pointer;color:var(--pill-fg-soft)}.prisma-service-menu summary::-webkit-details-marker{display:none}.prisma-service-menu summary:hover,.prisma-service-menu[open] summary{color:var(--pill-fg);background:var(--pill-hover)}.prisma-service-menu__panel{position:absolute;top:calc(100% + 10px);left:0;z-index:30;min-width:320px;list-style:none;margin:0;padding:10px;background:var(--pill-panel);border:1px solid var(--pill-rim);border-radius:18px;box-shadow:0 18px 40px rgba(16,19,34,.16)}.prisma-service-menu__panel li a{padding:11px 14px;border-radius:12px;color:var(--pill-fg-soft)}.prisma-service-menu__panel li a:hover{background:var(--pill-hover);color:var(--pill-fg)}.prisma-service-menu__panel li:first-child{border-bottom:1px solid var(--pill-rim);margin-bottom:6px;padding-bottom:6px}.prisma-partner-access{margin-top:35px;padding-top:26px;border-top:1px solid var(--line)}.prisma-partner-access p{font-size:.94rem;margin-bottom:8px}.prisma-partner-access .text-link{font-size:.95rem}
@media(max-width:800px){.prisma-service-menu summary{padding:12px 14px}.prisma-service-menu__panel{position:static;min-width:0;margin:0 8px 8px;padding:6px;background:var(--pill-hover);border:0;box-shadow:none}.prisma-nav__list.is-open{max-height:calc(100dvh - 100px);overflow-y:auto}}
/* Editorial photography slots: intentionally labelled placeholders, not fabricated project proof. */
.prisma-image-placeholder{margin:0;min-width:0;aspect-ratio:16/10;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:25px;padding:36px;background:linear-gradient(135deg,#ecebf0,#e9eef0 60%,#eaf2f0);border:1px solid #d5dce1;border-radius:12px;color:var(--accent);text-align:center;overflow:hidden}.prisma-image-placeholder--portrait{aspect-ratio:4/5}.placeholder-frame{display:grid;place-items:center}.placeholder-frame span{width:17px;height:17px;border:1px solid #8999aa;border-radius:50%}.prisma-image-placeholder figcaption{max-width:33ch;display:flex;flex-direction:column;gap:10px}.placeholder-label{font-size:.73rem;font-weight:450;letter-spacing:.025em;color:#526477}.prisma-image-placeholder strong{font-weight:500;font-size:1rem;line-height:1.55}.placeholder-format{font-size:.73rem;color:#526477}.hero-layout>.prisma-image-placeholder{aspect-ratio:4/4.2;width:100%}.service-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;align-items:center}.service-hero h1{font-size:clamp(2.7rem,4.4vw,4.1rem)}.service-back{display:inline-flex;align-items:center;gap:10px;text-decoration:none}.service-hero .lead{font-size:1.18rem}.service-hero .text-link{font-size:.91rem}.service-outcomes{border-bottom:1px solid var(--line)}.service-outcomes ul{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;list-style:none;padding:24px 0;margin:0}.service-outcomes li{font-size:.9rem;color:var(--accent);display:flex;gap:12px;align-items:center}.service-outcomes li:before{content:'✓';font-size:1rem}.service-deliverables{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.service-deliverables article{position:relative;background:#eef0ef;padding:35px 38px;border-radius:10px}.service-deliverables article:nth-child(2),.service-deliverables article:nth-child(3){background:#edf0f5}.deliverable-number{font-family:'JetBrains Mono',monospace;font-size:.75rem;color:var(--accent);display:block;margin-bottom:26px}.service-deliverables h3{font-size:1.65rem;margin-bottom:16px}.service-deliverables p{max-width:50ch;color:var(--muted);font-size:1rem}.service-context{background:#f0f1ee}.service-story{display:grid;grid-template-columns:1fr 1.1fr;gap:85px;align-items:center}.service-story>.prisma-image-placeholder--portrait{aspect-ratio:5/5.5}.service-story .lead{font-size:1.08rem}.service-fit{margin-top:30px;padding-top:24px;border-top:1px solid #d5d9d7;color:var(--muted);font-size:.96rem}.service-fit strong{display:block;color:var(--ink);margin-bottom:10px;font-weight:550}.service-steps{padding-top:25px;border-top:1px solid var(--line)}.service-commercial{padding-top:20px}.handover-list{list-style:none;padding:0;margin:32px 0}.handover-list li{display:flex;align-items:flex-start;gap:16px;margin:18px 0}.handover-list li:before{content:'✓';color:var(--accent)}.service-scope{max-width:45ch;color:var(--muted);font-size:.88rem}.related-services{padding-top:15px}.related-services h2{font-size:1.8rem}.related-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 45px}.related-grid a{display:flex;justify-content:space-between;gap:20px;padding:22px 0;border-bottom:1px solid var(--line);text-decoration:none;font-size:1.08rem}.related-grid span{color:var(--accent)}.page-photo-section{padding-block:35px 15px}.page-photo-section .prisma-image-placeholder{aspect-ratio:2.7/1}.contact-layout aside>.prisma-image-placeholder{margin-top:35px;padding:25px;aspect-ratio:4/3}.contact-layout aside .placeholder-format{display:none}
@media(max-width:1000px){.service-hero,.service-story{gap:40px}.service-hero h1{font-size:2.8rem}.service-deliverables article{padding:28px}.hero-layout>.prisma-image-placeholder{padding:23px}.prisma-image-placeholder strong{font-size:.9rem}}
@media(max-width:800px){.service-hero{grid-template-columns:1fr}.service-hero>.prisma-image-placeholder{aspect-ratio:16/8}.service-story{gap:30px}.service-story h2{font-size:2rem}.service-outcomes ul{gap:20px}.service-outcomes li{font-size:.8rem}.service-deliverables h3{font-size:1.4rem}.page-photo-section .prisma-image-placeholder{aspect-ratio:2/1}.hero-layout{grid-template-columns:1.1fr 1fr}.hero-layout>.prisma-image-placeholder{aspect-ratio:4/5;gap:16px}}
@media(max-width:540px){.hero-layout{display:block}.hero-layout>.prisma-image-placeholder{margin-top:32px;aspect-ratio:16/10}.service-hero h1{font-size:2.5rem}.service-hero>.prisma-image-placeholder{aspect-ratio:16/11}.service-outcomes ul{grid-template-columns:1fr;gap:12px;padding-block:22px}.service-outcomes li{font-size:.92rem}.service-deliverables{grid-template-columns:1fr;gap:15px}.service-deliverables article{padding:26px}.deliverable-number{margin-bottom:24px}.service-deliverables h3{font-size:1.5rem}.service-story{grid-template-columns:1fr;gap:35px}.service-story>.prisma-image-placeholder--portrait{aspect-ratio:4/3}.related-grid{grid-template-columns:1fr}.page-photo-section .prisma-image-placeholder{aspect-ratio:4/3}.prisma-image-placeholder{padding:26px;gap:20px}.service-commercial{padding-top:0}}

/* One local icon family: Tabler outline, 24px grid, 2px stroke. */
.prisma-icon{display:inline-block;flex-shrink:0;vertical-align:middle;color:currentColor}
.service-row h3>.prisma-icon{color:var(--accent)}
.service-row>.prisma-icon{justify-self:end;color:var(--accent)}

.service-outcomes li:before,.handover-list li:before{content:none}.handover-list .prisma-icon{margin-top:3px;color:var(--accent)}
.contact-details a,.prisma-service-menu__panel a{display:flex;align-items:center;gap:10px}
.prisma-service-menu summary>.prisma-icon{transition:transform .2s}.prisma-service-menu[open] summary>.prisma-icon{transform:rotate(180deg)}
.steps>li>.prisma-icon{display:block;color:var(--accent);margin:0 0 18px}
.prisma-faq summary:after{content:'';width:20px;height:20px;flex-shrink:0;background:currentColor;mask:url('../icons/plus.svg') center/contain no-repeat;-webkit-mask:url('../icons/plus.svg') center/contain no-repeat}
.prisma-faq details[open] summary:after{content:'';mask-image:url('../icons/minus.svg');-webkit-mask-image:url('../icons/minus.svg')}
@media(max-width:540px){.service-row h3{gap:12px}.service-row h3>.prisma-icon{width:23px;height:23px}}
@media(prefers-reduced-motion:reduce){.prisma-service-menu summary>.prisma-icon{transition:none}}

/* Supplied Prisma Creative wordmark, with its original outlined lettering. */
.prisma-lockup .prisma-logo{display:block;width:112px;height:auto;max-width:none}.prisma-footer .prisma-lockup .prisma-logo{width:180px}
@media(max-width:540px){.prisma-lockup .prisma-logo{width:140px}}

/* Hero artwork slot hosts the 3D brand visual (3d/hero-3d.js) or the CSS extrusion. */
.hero-brand-visual{position:relative;display:grid;place-items:center;min-width:0;aspect-ratio:4/4.2;perspective:1100px;isolation:isolate}
.hero-brand-visual img{display:block;width:80%;max-width:390px;height:auto}
@media(max-width:540px){.prisma-lockup .prisma-logo{width:98px}.hero-brand-visual{margin-top:32px;aspect-ratio:16/11}.hero-brand-visual img{width:65%;max-width:260px}}

/* Shallow 3D extrusion of the supplied brand silhouette, no WebGL dependency. */
.hero-brand-object{position:relative;width:80%;max-width:390px;aspect-ratio:145/148;transform-style:preserve-3d;transform:rotateX(-7deg) rotateY(-17deg);pointer-events:none}
.hero-brand-object .hero-brand-face{position:absolute;inset:0;width:100%;max-width:none;height:100%;transform:translateZ(24px);backface-visibility:hidden;filter:drop-shadow(0 1px 0 rgba(255,255,255,.5))}
.hero-brand-layer{position:absolute;inset:0;transform:translateZ(var(--depth));background:linear-gradient(120deg,#6a54b8 10%,#2f6fb8 60%,#2f8fa6);mask:url('../brand/prisma-icon.svg') center/contain no-repeat;-webkit-mask:url('../brand/prisma-icon.svg') center/contain no-repeat}
.hero-brand-shadow{position:absolute;bottom:13%;left:20%;width:65%;height:7%;border-radius:50%;background:rgba(56,75,92,.13);filter:blur(18px);pointer-events:none;transform:rotate(-7deg)}
@media(max-width:540px){.hero-brand-object{width:65%;max-width:260px}.hero-brand-object .hero-brand-face{width:100%;max-width:none}.hero-brand-shadow{bottom:7%;height:6%}}
@media(prefers-reduced-motion:reduce){.hero-brand-object{transform:rotateX(-7deg) rotateY(-17deg)}}

/* Public project workflow: scope, responsibilities and written checkpoints. */
.workflow-intro h1{max-width:24ch}.workflow-jumps{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:38px}.workflow-jumps a{font-size:.9rem;text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:8px;color:var(--accent)}
.workflow-list{list-style:none;margin:0;padding:0}.workflow-stage{padding:42px 0 48px;border-top:1px solid var(--line);scroll-margin-top:110px}.workflow-stage-heading{display:grid;grid-template-columns:65px 1fr 40px;gap:24px;align-items:start}.workflow-number{font-family:'JetBrains Mono',monospace;color:var(--accent);font-size:1rem;padding-top:9px}.workflow-stage h2{font-size:clamp(1.65rem,2.6vw,2.5rem);margin-bottom:12px}.workflow-stage-heading p{color:var(--muted);margin-bottom:0}.workflow-stage-heading>.prisma-icon{color:var(--accent);margin-top:8px}.workflow-roles{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin:30px 0 26px 89px}.workflow-roles h3{font-size:1.05rem}.workflow-roles p,.workflow-checkpoint p{font-size:.96rem;color:var(--muted)}.workflow-checkpoint{display:grid;grid-template-columns:1fr 1.6fr;gap:35px;margin-left:89px;padding:24px 28px;background:#eef1f3;border-radius:8px}.workflow-checkpoint .eyebrow{display:block;margin-bottom:10px}.workflow-checkpoint>div:first-child p{color:var(--ink);font-weight:550}.workflow-documents{background:#eff1ef}.workflow-doc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:38px}.workflow-doc-grid h3{font-size:1.3rem}.workflow-doc-grid p,.workflow-footnote{color:var(--muted);font-size:.95rem}.workflow-footnote{margin-top:35px;padding-top:24px;border-top:1px solid var(--line);max-width:90ch}
@media(max-width:800px){.workflow-roles{gap:25px;margin-left:0}.workflow-checkpoint{margin-left:0}.workflow-stage-heading{grid-template-columns:42px 1fr 30px;gap:15px}.workflow-doc-grid{grid-template-columns:1fr;gap:25px}}
@media(max-width:540px){.workflow-roles,.workflow-checkpoint{grid-template-columns:1fr;gap:22px}.workflow-stage{padding-block:32px}.workflow-checkpoint{padding:22px}.workflow-stage-heading>.prisma-icon{width:25px}.workflow-jumps{gap:14px 20px}}

/* Colour preference: explicit user choice wins over the system default. */
:root{color-scheme:light}html:not(.js) .prisma-theme-toggle{display:none}.prisma-theme-toggle{width:42px;height:42px;flex-shrink:0;display:grid;place-items:center;border:1px solid var(--pill-line);border-radius:50%;background:transparent;color:var(--pill-fg);cursor:pointer;font-size:22px;line-height:1}.prisma-theme-toggle[hidden]{display:none}.prisma-lang-switch{width:42px;height:42px;flex-shrink:0;display:grid;place-items:center;border:1px solid var(--pill-line);border-radius:50%;color:var(--pill-fg);text-decoration:none;font-size:.78rem;font-weight:600;letter-spacing:.04em;line-height:1}.prisma-lang-switch:hover{border-color:currentColor}.prisma-lang-switch:focus-visible{outline:2px solid var(--c-focus,currentColor);outline-offset:2px}.theme-toggle-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.prisma-lockup .prisma-logo-dark{display:none}

:root[data-theme="dark"]{color-scheme:dark;--pill-bg:rgba(26,30,44,.9);--pill-fg:#f0f2f6;--pill-fg-soft:rgba(240,242,246,.78);--pill-hover:rgba(255,255,255,.08);--pill-active:rgba(255,255,255,.12);--pill-line:rgba(255,255,255,.3);--pill-rim:rgba(255,255,255,.1);--pill-shadow:0 12px 34px rgba(0,0,0,.35);--pill-panel:rgba(26,30,44,.985);--pill-solid:rgba(24,28,40,.97);--paper:#141820;--ink:#f0f2f6;--muted:#afb8c8;--line:#394354;--accent:#a3c3e5;--tint:#242f40;--wp--preset--color--paper:#141820;--wp--preset--color--ink:#f0f2f6}
:root[data-theme="dark"] body{background:var(--paper);color:var(--ink)}
:root[data-theme="dark"] .prisma-btn{background:#b5cee9;border-color:#b5cee9;color:#141820!important}:root[data-theme="dark"] .prisma-btn:hover{background:#d1e3f5;border-color:#d1e3f5}
:root[data-theme="dark"] .route,:root[data-theme="dark"] .route:nth-child(2),:root[data-theme="dark"] .price-panel,:root[data-theme="dark"] .service-deliverables article,:root[data-theme="dark"] .service-deliverables article:nth-child(2),:root[data-theme="dark"] .service-deliverables article:nth-child(3),:root[data-theme="dark"] .workflow-checkpoint{background:#202a38}
:root[data-theme="dark"] .route:hover,:root[data-theme="dark"] .service-row:hover{background:#2a3749}
:root[data-theme="dark"] .process-section,:root[data-theme="dark"] .service-context,:root[data-theme="dark"] .workflow-documents{background:#1a222d}
:root[data-theme="dark"] .partner-band,:root[data-theme="dark"] .prisma-image-placeholder{background:linear-gradient(135deg,#292538,#20323e 60%,#203a3a);border-color:var(--line)}
:root[data-theme="dark"] .placeholder-label,:root[data-theme="dark"] .placeholder-format{color:#b9cbdc}:root[data-theme="dark"] .service-fit{border-color:var(--line)}
:root[data-theme="dark"] .prisma-form input,:root[data-theme="dark"] .prisma-form select,:root[data-theme="dark"] .prisma-form textarea{background:#1b2330;color:var(--ink);border-color:#74849a}
:root[data-theme="dark"] .prisma-form input[aria-invalid=true],:root[data-theme="dark"] .prisma-form textarea[aria-invalid=true]{border-color:#f49b8f}
:root[data-theme="dark"] .prisma-note--bad{background:#42282c;border-color:#f49b8f}
:root[data-theme="dark"] .header-inner::before{box-shadow:var(--pill-shadow),0 0 0 1px var(--pill-rim),inset 0 1px 0 rgba(255,255,255,.07)}
:root[data-theme="dark"] .prisma-lockup .prisma-logo-light{display:none}:root[data-theme="dark"] .prisma-lockup .prisma-logo-dark{display:block}
:root[data-theme="dark"] ::selection{background:#3b536c;color:#fff}
:root[data-theme="dark"] .hero-brand-shadow{background:rgba(0,0,0,.4)}
:root[data-theme="dark"] .hero .lead{color:#D5DCE8}
@media(prefers-color-scheme:dark){
:root:not([data-theme]){color-scheme:dark;--pill-bg:rgba(26,30,44,.9);--pill-fg:#f0f2f6;--pill-fg-soft:rgba(240,242,246,.78);--pill-hover:rgba(255,255,255,.08);--pill-active:rgba(255,255,255,.12);--pill-line:rgba(255,255,255,.3);--pill-rim:rgba(255,255,255,.1);--pill-shadow:0 12px 34px rgba(0,0,0,.35);--pill-panel:rgba(26,30,44,.985);--pill-solid:rgba(24,28,40,.97);--paper:#141820;--ink:#f0f2f6;--muted:#afb8c8;--line:#394354;--accent:#a3c3e5;--tint:#242f40;--wp--preset--color--paper:#141820;--wp--preset--color--ink:#f0f2f6}
:root:not([data-theme]) body{background:var(--paper);color:var(--ink)}
:root:not([data-theme]) .header-inner::before{box-shadow:var(--pill-shadow),0 0 0 1px var(--pill-rim),inset 0 1px 0 rgba(255,255,255,.07)}
:root:not([data-theme]) .prisma-lockup .prisma-logo-light{display:none}:root:not([data-theme]) .prisma-lockup .prisma-logo-dark{display:block}
:root:not([data-theme]) .prisma-btn{background:#b5cee9;border-color:#b5cee9;color:#141820!important}:root:not([data-theme]) .prisma-btn:hover{background:#d1e3f5;border-color:#d1e3f5}
:root:not([data-theme]) .route,:root:not([data-theme]) .route:nth-child(2),:root:not([data-theme]) .price-panel,:root:not([data-theme]) .service-deliverables article,:root:not([data-theme]) .service-deliverables article:nth-child(2),:root:not([data-theme]) .service-deliverables article:nth-child(3),:root:not([data-theme]) .workflow-checkpoint{background:#202a38}
:root:not([data-theme]) .route:hover,:root:not([data-theme]) .service-row:hover{background:#2a3749}
:root:not([data-theme]) .process-section,:root:not([data-theme]) .service-context,:root:not([data-theme]) .workflow-documents{background:#1a222d}
:root:not([data-theme]) .partner-band,:root:not([data-theme]) .prisma-image-placeholder{background:linear-gradient(135deg,#292538,#20323e 60%,#203a3a);border-color:var(--line)}
:root:not([data-theme]) .placeholder-label,:root:not([data-theme]) .placeholder-format{color:#b9cbdc}:root:not([data-theme]) .service-fit{border-color:var(--line)}
:root:not([data-theme]) .prisma-form input,:root:not([data-theme]) .prisma-form select,:root:not([data-theme]) .prisma-form textarea{background:#1b2330;color:var(--ink);border-color:#74849a}
:root:not([data-theme]) .prisma-form input[aria-invalid=true],:root:not([data-theme]) .prisma-form textarea[aria-invalid=true]{border-color:#f49b8f}
:root:not([data-theme]) .prisma-note--bad{background:#42282c;border-color:#f49b8f}
:root:not([data-theme]) .hero .lead{color:#D5DCE8}
:root:not([data-theme]) .prisma-nav__list .nav-contact{border-color:#65758a}
:root:not([data-theme]) ::selection{background:#3b536c;color:#fff}
:root:not([data-theme]) .hero-brand-shadow{background:rgba(0,0,0,.4)}
}
@media(max-width:800px){.prisma-nav{gap:8px}.prisma-theme-toggle,.prisma-lang-switch{width:40px;height:40px}.header-inner{position:relative}}
@media print{.prisma-theme-toggle,.prisma-lang-switch{display:none}.header-inner::before{background:#fff;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.header-inner{color:#000}.prisma-header.is-floating{display:none}:root[data-theme]{--paper:#fff;--ink:#000;--muted:#444;--accent:#333}.prisma-lockup .prisma-logo-dark{display:none!important}.prisma-lockup .prisma-logo-light{display:block!important}}
/* Preserve word separation and prevent long mobile headings from clipping. */
@media(max-width:540px){.page-intro h1 br,.faq-layout h2 br,.closing h2 br{display:initial}.page-intro h1{overflow-wrap:anywhere}}

/* CC0 3dicons v1: landscape composition with a CSS-only Prisma colour finish. */
.process-heading-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center;margin-bottom:48px}.process-heading-layout .section-heading{margin-bottom:0}.process-art{position:relative;aspect-ratio:1.8;min-width:0;isolation:isolate}.process-art-object{position:absolute;width:51%;aspect-ratio:1;isolation:isolate;filter:drop-shadow(0 20px 18px rgba(16,19,34,.12))}.process-art-object img{display:block;width:100%;height:100%}.process-art-chat-bubble{left:0;top:0;transform:rotate(-9deg);width:46%;z-index:1}.process-art-file-text{left:27%;top:5%;z-index:2;transform:rotate(7deg)}.process-art-tick{right:-2%;bottom:-2%;width:43%;z-index:3;transform:rotate(-8deg)}
@media(max-width:1000px){.process-heading-layout{grid-template-columns:1.2fr 1fr;gap:20px}.process-heading-layout h2{font-size:2.4rem}}
@media(max-width:700px){.process-heading-layout{grid-template-columns:1fr;gap:16px;margin-bottom:36px}.process-art{width:100%;max-width:420px;justify-self:center}.process-heading-layout h2{font-size:2rem}}

/* Matching clay artwork for the homepage entry points and collaboration. */
.process-art-key{width:52%;right:0;bottom:0;z-index:3;transform:rotate(-12deg)}
.trust-art .process-art-file-text{left:4%;width:60%;top:-3%}

/* The edited document has baked-in colour and white lines; do not tint its details. */


/* Services overview: decorative digital toolkit. */
.services-toolkit-art{width:100%;max-width:420px;justify-self:center}.services-toolkit-art img{display:block;width:100%;height:auto;object-fit:contain}@media(max-width:700px){.services-toolkit-art{max-width:300px}}

/* Photo slots: inc/photos.php swaps a placeholder for its photo; the slot keeps its aspect ratio per breakpoint. */
.prisma-image-placeholder.is-photo{padding:0;border:0;background:none}.prisma-image-placeholder.is-photo picture{position:absolute;inset:0}.prisma-image-placeholder.is-photo img{display:block;width:100%;height:100%;object-fit:cover}
