/*
Theme Name: Ducie Street Media
Theme URI: https://duciestreetmedia.com
Author: Ducie Street Media
Author URI: https://duciestreetmedia.com
Description: A custom, performance-focused WordPress theme for Ducie Street Media. Built for Elementor Free compatibility and a conversion-led agency website.
Version: 1.0.70
Requires at least: 6.4
Tested up to: 7.0
Requires PHP: 8.0
Text Domain: ducie-street-media
*/
:root{--black:#070706;--black2:#10100f;--panel:#171715;--line:#30302c;--cream:#f4f1ea;--white:#fff;--muted:#b8b6ae;--ink:#171714;--gold:#cda54d;--gold2:#e1bd69;--gold-on-light:#7f5c18;--green:#16833b;--shell:min(1180px,calc(100% - 40px));--radius:18px;--shadow:0 24px 70px rgba(0,0,0,.24)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--white);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.shell{width:var(--shell);margin-inline:auto}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:16px;top:16px;background:#fff;color:#000;padding:10px;z-index:100}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-header{position:sticky;top:0;z-index:50;background:rgba(7,7,6,.9);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.08)}.header-inner{min-height:82px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:26px}.brand{display:flex;align-items:center;min-width:250px}.brand .header-logo{width:230px;height:auto;object-fit:contain;object-position:center;border-radius:0}.primary-nav{display:flex;justify-content:center;gap:30px}.primary-nav a{font-size:13px;font-weight:650;color:#dfddd6}.primary-nav a:hover{color:var(--gold2)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 25px;border:1px solid var(--gold);background:var(--gold);color:#0b0a08;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:800;border-radius:4px;transition:.2s ease;cursor:pointer}.button:hover{background:var(--gold2);border-color:var(--gold2);transform:translateY(-2px)}.button-small{min-height:42px;padding-inline:17px;font-size:11px}.button-outline{background:transparent;color:#fff;border-color:#6f6245}.button-outline:hover{color:#0b0a08}.menu-toggle{display:none;background:none;border:0;padding:8px}.menu-toggle span:not(.sr-only){display:block;width:24px;height:2px;background:#fff;margin:5px}.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 76% 40%,rgba(205,165,77,.13),transparent 28%),linear-gradient(180deg,#080807 0%,#0b0b09 100%);border-bottom:1px solid #24231f}.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(to bottom,#000,transparent 88%)}.hero-grid{position:relative;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;min-height:690px;gap:60px;padding-block:76px}.eyebrow{margin:0 0 17px;color:var(--gold2);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.17em}.hero h1{font-size:clamp(52px,5.4vw,82px);line-height:.98;letter-spacing:-.055em;margin:0 0 28px;max-width:730px}.hero h1 span{color:var(--gold2)}.hero-text{font-size:19px;line-height:1.65;color:#d4d1c8;max-width:650px;margin:0}.hero-support-text{max-width:650px;margin:13px 0 0;color:#d6bd79;font-size:14px;font-weight:700;line-height:1.5}.button-row{display:flex;gap:14px;margin-top:34px}.hero-points{display:flex;gap:0;margin-top:38px;color:#d8d5cc;font-size:12px;text-transform:uppercase;letter-spacing:.08em;flex-wrap:wrap}.hero-points span{padding:0 18px;border-left:1px solid #4b473d}.hero-points span:first-child{padding-left:0;border:0}.hero-visual{position:relative;min-height:510px}.gold-grid{position:absolute;right:-80px;top:30px;width:420px;height:420px;background-image:linear-gradient(rgba(205,165,77,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(205,165,77,.18) 1px,transparent 1px);background-size:34px 34px;transform:perspective(700px) rotateY(-18deg) rotateX(8deg);opacity:.35;mask-image:radial-gradient(circle,#000 20%,transparent 72%)}.browser-stage{position:absolute;z-index:2;right:0;top:62px;width:92%;background:#e7e3d9;color:#111;border:1px solid #514b3f;border-radius:14px;box-shadow:0 40px 90px rgba(0,0,0,.65);overflow:hidden;transform:none}.browser-top{height:43px;background:#181816;color:#77736a;display:flex;align-items:center;gap:7px;padding:0 14px;font-size:10px}.browser-top i{display:block;width:8px;height:8px;border:1px solid #858076;border-radius:50%}.browser-top b{font-weight:500;margin-left:9px}.browser-content{min-height:325px;padding:42px;background:linear-gradient(135deg,#f8f5ee 0%,#e8e1d2 100%);position:relative}.browser-label{font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:#8a6b2c;font-weight:800}.browser-title{font-size:42px;line-height:1.08;font-weight:760;letter-spacing:-.04em;margin-top:17px}.browser-lines{display:flex;gap:7px;margin-top:28px}.browser-lines span{height:7px;background:#c8a14a;border-radius:99px;width:24%}.browser-lines span:nth-child(2){width:16%;background:#111}.browser-lines span:nth-child(3){width:32%;background:#b9b2a2}.metric-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;position:absolute;left:42px;right:42px;bottom:34px}.metric-row div{background:#111;color:#fff;padding:16px;border-radius:8px}.metric-row small{display:block;color:#cdaa5f;text-transform:uppercase;letter-spacing:.12em;font-size:9px}.metric-row strong{font-size:13px}.search-card{position:absolute;z-index:3;left:-4px;bottom:17px;width:245px;padding:23px;background:#111;border:1px solid #4a4332;border-radius:12px;box-shadow:var(--shadow)}.search-card span{display:inline-block;color:#0b0a08;background:var(--gold);font-size:10px;font-weight:900;padding:5px 8px;border-radius:3px}.search-card strong,.search-card small{display:block}.search-card strong{font-size:16px;margin:12px 0 5px}.search-card small{font-size:11px;color:#aaa69d}.expectations{background:var(--cream);color:var(--ink);padding:30px 0}.expectations-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.expectations article{display:flex;gap:14px;align-items:flex-start;border-right:1px solid #d5d0c6;padding-right:22px}.expectations article:last-child{border:0}.expectations span{color:#a37c2d;font-weight:850;font-size:12px}.expectations strong{font-size:13px;text-transform:uppercase;letter-spacing:.04em}.expectations p{margin:4px 0 0;color:#68645c;font-size:12px}.section{padding:105px 0}.dark-section{background:#0b0b0a}.section-heading{max-width:780px;margin-bottom:48px}.section-heading h2{font-size:clamp(37px,4vw,58px);line-height:1.05;letter-spacing:-.04em;margin:0}.section-heading>p:last-child{color:#aaa79f;font-size:17px;max-width:680px;margin-top:20px}.lead-services{display:grid;grid-template-columns:1fr 1fr;gap:22px}.service-lead{position:relative;display:grid;grid-template-columns:70px 1fr;gap:28px;background:linear-gradient(145deg,#191917,#11110f);border:1px solid #33312b;border-radius:var(--radius);padding:42px;min-height:390px;overflow:hidden}.service-lead:after{content:"";position:absolute;width:260px;height:260px;border:1px solid rgba(205,165,77,.15);border-radius:50%;right:-120px;top:-100px}.service-number{font-size:12px;color:var(--gold2);font-weight:900;letter-spacing:.15em}.service-kicker{font-size:11px;color:var(--gold2);text-transform:uppercase;letter-spacing:.13em;margin:0}.service-lead h3{font-size:39px;margin:8px 0 18px;letter-spacing:-.04em}.service-lead p{color:#bbb8b0;margin:0;max-width:470px}.service-lead .price-line{color:#fff;margin:28px 0 22px}.service-lead .price-line strong{color:var(--gold2)}.service-lead a,.text-link,.project-content a{display:inline-flex;gap:10px;color:var(--gold2);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.support-services{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:15px}.support-services article{background:#141412;border:1px solid #2c2b27;border-radius:12px;padding:28px;min-height:250px}.support-services span{font-size:10px;color:var(--gold2);font-weight:900}.support-services h3{font-size:20px;line-height:1.18;margin:20px 0 13px}.support-services p{font-size:13px;color:#aaa79f;margin:0}.support-services small{display:block;color:var(--gold2);font-weight:800;margin-top:18px}.work-section{background:var(--cream);color:var(--ink)}.split-heading{max-width:none;display:grid;grid-template-columns:1fr .72fr;gap:80px;align-items:end}.split-heading>p:last-child{margin:0}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.project-card{background:#fff;border:1px solid #d8d3ca;border-radius:var(--radius);overflow:hidden;box-shadow:0 18px 45px rgba(24,21,15,.08)}.project-preview{height:335px;padding:38px;display:flex;align-items:center;justify-content:center}.preview-shop{background:linear-gradient(135deg,#12120f,#39362f)}.preview-service{background:linear-gradient(135deg,#e5e8e1,#c8d0c4)}.mini-browser{width:92%;border-radius:10px;background:#111;box-shadow:0 26px 55px rgba(0,0,0,.35);padding-top:28px;position:relative}.mini-browser>span{position:absolute;top:7px;left:15px;font-size:9px;color:#817e76}.mini-site{height:205px;padding:30px;color:#fff;background:#0c0c0a;border-radius:0 0 10px 10px}.preview-service .mini-site{background:#f8faf6;color:#17341a}.mini-site b{display:block;font-size:11px;color:var(--gold2);text-transform:uppercase;letter-spacing:.08em}.preview-service .mini-site b{color:#63825d}.mini-site strong{display:block;font-size:28px;line-height:1.07;max-width:280px;margin:18px 0}.mini-site i{display:inline-block;width:24%;height:34px;background:#d1aa50;margin-right:5px;border-radius:4px;opacity:.85}.preview-service .mini-site i{background:#72936e}.project-content{padding:35px}.project-type{color:#95732f;text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:850}.project-content h3{font-size:32px;margin:5px 0 12px}.project-content>p:not(.project-type){color:#625e56}.project-content ul{list-style:none;padding:0;margin:23px 0}.project-content li{margin:9px 0;font-size:14px}.project-content li:before{content:"✓";color:#a67d27;font-weight:900;margin-right:9px}.founder-section{background:#10100e}.founder-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:76px;align-items:center}.founder-image{position:relative}.founder-image:before{content:"";position:absolute;inset:26px -22px -22px 26px;border:1px solid var(--gold);z-index:0}.founder-image img{position:relative;z-index:1;width:100%;height:560px;object-fit:cover;object-position:50% 42%;border-radius:5px;filter:contrast(1.04)}.founder-image span{position:absolute;z-index:2;right:-14px;bottom:25px;background:var(--gold);color:#111;padding:16px 24px;font-size:20px;font-weight:850;line-height:1.1}.founder-image small{font-size:10px;text-transform:uppercase;letter-spacing:.12em}.founder-copy h2{font-size:clamp(38px,4.5vw,60px);line-height:1.04;letter-spacing:-.045em;margin:0 0 28px}.founder-copy>p:not(.eyebrow){color:#bbb8b0;font-size:16px;max-width:650px}.founder-copy .text-link{margin-top:20px}.process-section{background:#0a0a09;border-top:1px solid #25241f}.process-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.process-list li{position:relative;padding:28px 22px 25px;border-top:1px solid #51462e;background:#11110f;min-height:240px}.process-list span{display:block;color:var(--gold2);font-size:12px;font-weight:900;margin-bottom:38px}.process-list h3{font-size:18px;margin:0 0 12px}.process-list p{font-size:13px;color:#aaa79f}.proof-section{background:#ece8df;color:var(--ink)}.proof-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}.quality-image{background:#fff;border-radius:16px;padding:18px;box-shadow:0 20px 60px rgba(0,0,0,.13)}.quality-image img{width:100%;aspect-ratio:1.24/1;object-fit:cover;object-position:center;border-radius:9px}.quality-copy h2{font-size:clamp(38px,4vw,56px);line-height:1.05;letter-spacing:-.04em;margin:0 0 25px}.quality-copy>p:not(.eyebrow){color:#5d5952;font-size:16px}.faq-section{background:var(--cream);color:var(--ink)}.faq-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px}.faq-list details{border-top:1px solid #c9c3b8;padding:22px 0}.faq-list details:last-child{border-bottom:1px solid #c9c3b8}.faq-list summary{font-size:18px;font-weight:780;cursor:pointer;list-style:none;position:relative;padding-right:35px}.faq-list summary:after{content:"+";position:absolute;right:4px;color:#9a7324}.faq-list details[open] summary:after{content:"−"}.faq-list p{color:#625e56;margin-bottom:5px;max-width:760px}.contact-section{padding:110px 0;background:radial-gradient(circle at 15% 30%,rgba(205,165,77,.13),transparent 25%),#0b0b09}.contact-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:75px}.contact-copy h2{font-size:clamp(42px,4.8vw,66px);line-height:1.02;letter-spacing:-.045em;margin:0 0 25px}.contact-copy>p:not(.eyebrow){color:#bdbab1;font-size:17px}.contact-details{display:flex;flex-direction:column;gap:8px;margin-top:32px}.contact-details a{color:var(--gold2);font-weight:800}.project-form{background:#f0ece4;color:var(--ink);border-radius:var(--radius);padding:38px}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}.project-form label{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;margin-bottom:18px}.project-form input,.project-form select,.project-form textarea{display:block;width:100%;margin-top:8px;border:1px solid #c5beb0;background:#fff;color:#111;padding:14px;font:inherit;font-size:15px;border-radius:4px}.project-form textarea{resize:vertical}.project-form .button{border:0}.form-note{font-size:11px;color:#716c63;margin:16px 0 0}.site-footer{background:#060605;border-top:1px solid #29271f;padding:70px 0 24px}.footer-grid{display:grid;grid-template-columns:1.2fr .7fr .65fr 1.1fr;gap:55px}.footer-brand .footer-logo{width:172px;height:auto;object-fit:contain;margin-bottom:18px}.footer-brand p{max-width:280px;color:#a7a49c;font-size:13px}.site-footer h3{font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:var(--gold2);margin:0 0 18px}.site-footer div>a{display:block;color:#c3c0b8;font-size:13px;margin:8px 0}.site-footer p{color:#a7a49c;font-size:12px}.instagram{display:flex!important;align-items:center;gap:8px!important}.instagram svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #24231f;padding-top:22px;margin-top:50px;color:#77746e;font-size:11px}.footer-bottom span:last-child{display:flex;gap:20px}.reveal{opacity:0;transform:translateY(18px);transition:.65s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:1000px){.primary-nav{display:none;position:absolute;top:81px;left:0;right:0;background:#0b0b09;padding:20px;flex-direction:column;border-bottom:1px solid #333}.primary-nav.open{display:flex}.menu-toggle{display:block;justify-self:end}.header-cta{display:none}.header-inner{grid-template-columns:auto 1fr}.hero-grid{grid-template-columns:1fr;min-height:auto}.hero-visual{min-height:520px}.expectations-grid{grid-template-columns:1fr 1fr}.lead-services,.project-grid,.founder-grid,.proof-grid,.faq-grid,.contact-grid{grid-template-columns:1fr}.support-services{grid-template-columns:1fr 1fr}.split-heading{grid-template-columns:1fr;gap:15px}.process-list{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.founder-image{max-width:650px}.founder-image img{height:auto}.quality-image{max-width:760px}}
@media(max-width:650px){:root{--shell:min(100% - 28px,1180px)}.site-header{position:sticky}.header-inner{min-height:70px}.brand{min-width:0}.brand .header-logo{width:178px;height:auto}.hero-grid{padding-block:58px;gap:35px}.hero h1{font-size:46px}.hero-text{font-size:16px}.hero-support-text{font-size:13px;margin-top:11px}.button-row{flex-direction:column;align-items:stretch}.hero-points{gap:10px}.hero-points span{border:0;padding:0 10px 0 0}.hero-visual{min-height:410px}.browser-stage{width:96%;top:25px}.browser-content{min-height:270px;padding:26px}.browser-title{font-size:31px}.metric-row{left:26px;right:26px;bottom:25px}.search-card{width:210px;bottom:2px}.expectations{padding:24px 0}.expectations-grid{grid-template-columns:1fr}.expectations article{border-right:0;border-bottom:1px solid #d5d0c6;padding-bottom:18px}.section{padding:75px 0}.section-heading h2{font-size:38px}.lead-services{grid-template-columns:1fr}.service-lead{grid-template-columns:1fr;padding:30px;min-height:auto}.service-lead h3{font-size:32px}.support-services{grid-template-columns:1fr}.project-preview{height:260px;padding:22px}.mini-site{height:170px;padding:23px}.mini-site strong{font-size:22px}.project-content{padding:28px}.founder-grid{gap:55px}.founder-image:before{inset:16px -10px -10px 16px}.founder-image span{right:-5px}.process-list{grid-template-columns:1fr}.process-list li{min-height:auto}.faq-grid,.contact-grid{gap:35px}.field-pair{grid-template-columns:1fr;gap:0}.project-form{padding:25px}.footer-grid{grid-template-columns:1fr;gap:30px}.footer-bottom{flex-direction:column}.footer-bottom span:last-child{flex-wrap:wrap}.footer-brand .footer-logo{width:150px;height:auto}}


/* WordPress integration */
body.admin-bar .site-header{top:32px}.site-main{min-height:60vh}.entry-shell{width:var(--shell);margin-inline:auto;padding:90px 0}.entry-shell h1{font-size:clamp(44px,5vw,72px);line-height:1.02;letter-spacing:-.045em;margin:0 0 28px}.entry-content{max-width:850px;font-size:17px;color:#cbc7bd}.entry-content h2{font-size:clamp(30px,3.4vw,48px);line-height:1.08;margin:54px 0 18px;color:#fff}.entry-content h3{font-size:25px;margin:35px 0 12px}.entry-content p,.entry-content li{color:#bbb8b0}.entry-content a{color:var(--gold2);text-decoration:underline;text-underline-offset:3px}.entry-content ul{padding-left:22px}.page-hero{padding:100px 0 60px;background:radial-gradient(circle at 78% 35%,rgba(205,165,77,.12),transparent 28%),#090908;border-bottom:1px solid #24231f}.page-hero p{max-width:740px;color:#c9c5bb;font-size:19px}.page-cta{margin-top:36px}.wp-block-image img{border-radius:10px}.alignwide{max-width:1180px;margin-left:auto;margin-right:auto}.alignfull{width:100vw;margin-left:calc(50% - 50vw)}
.dsm-notice{padding:14px 18px;border-radius:6px;margin:0 0 22px;font-size:14px}.dsm-notice-success{background:#e8f6eb;color:#184f25;border:1px solid #b6dfbf}.dsm-notice-error{background:#fff0ef;color:#74251e;border:1px solid #efc2bd}.dsm-honeypot{position:absolute!important;left:-9999px!important;opacity:0!important;height:0!important;overflow:hidden!important}.project-form .field-help{display:block;margin-top:5px;font-size:11px;color:#746e64;text-transform:none;letter-spacing:0;font-weight:500}.project-form input:focus,.project-form select:focus,.project-form textarea:focus{outline:2px solid var(--gold);outline-offset:2px}.browser-stage{transform:none!important;right:0!important}.browser-top,.browser-content{transform:none!important}.project-shot{width:92%;height:230px;object-fit:cover;object-position:top;border-radius:8px;box-shadow:0 26px 55px rgba(0,0,0,.35);background:#ddd}.project-shot-frame{position:relative;width:92%;padding-top:28px;background:#111;border-radius:10px;box-shadow:0 26px 55px rgba(0,0,0,.35)}.project-shot-frame:before{content:' ';position:absolute;left:14px;top:10px;width:7px;height:7px;border-radius:50%;background:#7b776d;box-shadow:13px 0 #7b776d,26px 0 #7b776d}.project-shot-frame img{width:100%;height:230px;object-fit:cover;object-position:center;border-radius:0 0 10px 10px}.project-placeholder{width:92%;height:230px;background:linear-gradient(135deg,#eef2eb,#c9d4c6);border-radius:0 0 10px 10px;display:flex;align-items:center;justify-content:center;text-align:center;color:#17341a;padding:25px}.project-placeholder strong{font-size:28px;line-height:1.05}.dsm-legal-note{padding:18px;background:#171714;border-left:3px solid var(--gold);color:#c2beb4;margin:28px 0}.elementor-page .entry-shell{padding:0}.elementor-page .entry-content{max-width:none}.elementor-page .entry-header{display:none}.privacy-policy .entry-content{max-width:900px}
@media(max-width:782px){body.admin-bar .site-header{top:46px}}
@media(max-width:650px){.project-shot,.project-shot-frame img,.project-placeholder{height:170px}}

/* v1.0.2 refinements */
.brand .header-logo{display:block}.project-card:first-child .project-shot{object-position:center 62%}.project-card:nth-child(2) .project-shot{object-position:center}.quality-image{overflow:hidden}.quality-image img{display:block}.contact-details span{color:#d4d1c8}

/* v1.0.3 refinements */
.brand{min-width:260px}
.brand-lockup{display:flex;align-items:center;gap:10px;height:66px}
.brand .header-symbol{display:block;width:64px;height:58px;object-fit:cover;transform:translateY(-10px)}
.brand .header-wordmark{display:block;width:158px;height:auto;object-fit:contain}
.support-services article{display:flex;flex-direction:column}
.support-services small{margin-top:auto;padding-top:18px}
.support-services a{display:inline-flex;align-items:center;gap:8px;color:var(--gold2);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.065em;margin-top:14px}
.support-services a b{font-size:14px}
.project-preview{height:360px;overflow:hidden}
.project-mobile-frame{position:relative;height:310px;width:174px;padding:18px 7px 7px;background:#10100f;border:1px solid rgba(255,255,255,.18);border-radius:24px;box-shadow:0 28px 60px rgba(0,0,0,.4)}
.project-mobile-frame:before{content:"";position:absolute;top:7px;left:50%;transform:translateX(-50%);width:46px;height:4px;border-radius:99px;background:#3d3c39}
.project-mobile-frame img{width:100%;height:100%;object-fit:cover;object-position:top;border-radius:16px;background:#fff}
.founder-image{max-width:676px}
.founder-image img{width:100%;height:auto;aspect-ratio:676/485;object-fit:contain;object-position:center;filter:none}
.quality-image img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center}
@media(max-width:1000px){.founder-image{max-width:676px}}
@media(max-width:650px){.brand-lockup{height:56px;gap:7px}.brand .header-symbol{width:51px;height:47px;transform:translateY(-8px)}.brand .header-wordmark{width:126px}.project-preview{height:320px}.project-mobile-frame{height:275px;width:154px}.support-services article{min-height:285px}}

/* v1.0.4 refinements */
.brand .header-symbol{transform:none}
.support-services{grid-template-columns:repeat(6,minmax(0,1fr))}
.support-services article{grid-column:span 2}
.support-services article:nth-last-child(-n+2){grid-column:span 3}
.contact-section .eyebrow{max-width:520px}
@media(max-width:1000px){.support-services{grid-template-columns:1fr 1fr}.support-services article,.support-services article:nth-last-child(-n+2){grid-column:auto}}
@media(max-width:650px){.brand .header-symbol{transform:none}.support-services{grid-template-columns:1fr}.support-services article,.support-services article:nth-last-child(-n+2){grid-column:auto}}


/* v1.0.5 refinements */
.brand .header-symbol{transform:translateY(-4px)}
.hero{isolation:isolate}
.hero:after{content:"";position:absolute;inset:-8% -6%;z-index:0;pointer-events:none;opacity:.72;background:
  radial-gradient(46% 40% at 18% 24%, rgba(255,255,255,.05) 0%, rgba(255,255,255,0) 62%),
  radial-gradient(34% 28% at 78% 24%, rgba(205,165,77,.16) 0%, rgba(205,165,77,0) 68%),
  radial-gradient(40% 34% at 70% 76%, rgba(255,255,255,.04) 0%, rgba(255,255,255,0) 66%),
  linear-gradient(125deg, rgba(255,255,255,.02) 10%, rgba(205,165,77,.06) 40%, rgba(0,0,0,0) 70%);
  filter: blur(34px) saturate(112%);
  transform: translate3d(0,0,0) scale(1.02);
  animation:dsmHeroFlow 22s ease-in-out infinite alternate;
}
.hero-grid{z-index:1}
@keyframes dsmHeroFlow{
  0%{transform:translate3d(-1.5%,0,0) scale(1.02) rotate(0deg);opacity:.62}
  50%{transform:translate3d(1.5%,-1.2%,0) scale(1.05) rotate(.5deg);opacity:.8}
  100%{transform:translate3d(0.5%,1.5%,0) scale(1.03) rotate(-.4deg);opacity:.68}
}
@media(max-width:650px){.brand .header-symbol{transform:translateY(-3px)}.hero:after{opacity:.52;animation-duration:28s;filter:blur(26px)}}
@media(prefers-reduced-motion:reduce){.hero:after{animation:none}}

/* v1.0.6 service, about, work and contact page system */
.service-hero{position:relative;overflow:hidden;padding:118px 0 96px;background:radial-gradient(circle at 82% 20%,rgba(205,165,77,.15),transparent 29%),linear-gradient(145deg,#080807,#11100e);border-bottom:1px solid #2b2923}
.service-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(to bottom,#000,transparent 93%)}
.service-hero-grid{position:relative;display:grid;grid-template-columns:1.22fr .78fr;gap:78px;align-items:center}
.service-hero-copy h1{font-size:clamp(48px,5.3vw,78px);line-height:1;letter-spacing:-.052em;margin:0 0 28px;max-width:830px}
.service-intro{font-size:19px;line-height:1.72;color:#cfcbc2;max-width:760px;margin:0}
.service-hero-card{background:rgba(245,241,232,.97);color:var(--ink);padding:36px;border-radius:16px;border:1px solid rgba(205,165,77,.38);box-shadow:0 34px 80px rgba(0,0,0,.38)}
.service-card-label{margin:0 0 10px;text-transform:uppercase;letter-spacing:.13em;font-size:10px;font-weight:850;color:#947029}
.service-hero-card>strong{display:block;font-size:31px;line-height:1.1;letter-spacing:-.035em;margin-bottom:16px;overflow-wrap:anywhere}
.service-hero-card>p:not(.service-card-label){color:#5d5951;font-size:14px;margin:0 0 22px}
.service-hero-card ul{list-style:none;padding:0;margin:0;border-top:1px solid #d7d0c2}
.service-hero-card li{position:relative;padding:13px 0 13px 23px;border-bottom:1px solid #d7d0c2;font-size:13px;font-weight:700}
.service-hero-card li:before{content:"";position:absolute;left:0;top:19px;width:8px;height:8px;border-radius:50%;background:var(--gold)}
.service-confidence{background:var(--cream);color:var(--ink);padding:28px 0;border-bottom:1px solid #d9d3c8}
.service-confidence-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.service-confidence-grid>div{padding:2px 26px;border-right:1px solid #d1cbc0}
.service-confidence-grid>div:first-child{padding-left:0}.service-confidence-grid>div:last-child{border-right:0;padding-right:0}
.service-confidence span{display:block;color:#9a7429;font-size:10px;font-weight:900;letter-spacing:.12em;margin-bottom:5px}
.service-confidence strong{display:block;font-size:13px;text-transform:uppercase;letter-spacing:.045em}.service-confidence small{display:block;color:#6e6960;font-size:11px;margin-top:3px}
.service-section{padding:105px 0;background:#0b0b0a}.service-section.service-light{background:var(--cream);color:var(--ink)}
.service-section-heading{max-width:800px;margin-bottom:52px}.service-section-heading h2{font-size:clamp(38px,4.4vw,62px);line-height:1.04;letter-spacing:-.045em;margin:0}.service-section-heading>p:last-child{font-size:17px;color:#aaa79f;max-width:720px;margin:20px 0 0}.service-light .service-section-heading>p:last-child{color:#67625a}
.service-outcome-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.service-outcome-grid article{background:#fff;border:1px solid #d9d3c8;border-radius:14px;padding:34px;min-height:285px;box-shadow:0 16px 38px rgba(29,24,16,.06)}
.service-outcome-grid article>span,.about-business-grid article>span{font-size:11px;color:#9b752c;font-weight:900;letter-spacing:.13em}
.service-outcome-grid h3{font-size:25px;line-height:1.13;letter-spacing:-.025em;margin:34px 0 15px}.service-outcome-grid p{color:#666158;margin:0;font-size:14px}
.service-included-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #35332d}
.service-included-grid article{display:grid;grid-template-columns:54px 1fr;gap:20px;padding:31px 28px 31px 0;border-bottom:1px solid #35332d}
.service-included-grid article:nth-child(odd){border-right:1px solid #35332d;padding-right:42px}.service-included-grid article:nth-child(even){padding-left:42px}
.service-included-grid>article>span{color:var(--gold2);font-size:11px;font-weight:900;letter-spacing:.13em}
.service-included-grid h3{font-size:20px;line-height:1.18;margin:0 0 10px}.service-included-grid p{font-size:13px;color:#aaa79f;margin:0}
.service-fit-section{background:#11110f;border-top:1px solid #292821;border-bottom:1px solid #292821}
.service-fit-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:72px;align-items:start}
.service-fit-copy h2{font-size:clamp(38px,4.3vw,58px);line-height:1.04;letter-spacing:-.043em;margin:0 0 32px}.service-fit-copy ul{list-style:none;padding:0;margin:0;display:grid;gap:13px}.service-fit-copy li{position:relative;padding:14px 18px 14px 46px;background:#171715;border:1px solid #302f2a;border-radius:7px;color:#d2cec5}.service-fit-copy li:before{content:"✓";position:absolute;left:18px;color:var(--gold2);font-weight:900}
.service-alternative{background:var(--cream);color:var(--ink);padding:36px;border-radius:14px}.service-alternative>p:not(.service-card-label){color:#5f5a52;font-size:16px;line-height:1.7}.service-alternative .text-link{margin-top:12px;color:#8d6924}
.service-process-section{background:#080807}.service-process-list{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;list-style:none;padding:0;margin:0}.service-process-list li{background:#131311;border-top:2px solid #6b5730;padding:28px 22px;min-height:250px}.service-process-list span{display:block;color:var(--gold2);font-size:11px;font-weight:900;letter-spacing:.13em;margin-bottom:44px}.service-process-list h3{font-size:19px;margin:0 0 12px}.service-process-list p{font-size:13px;color:#a9a69e;margin:0}
.service-proof-block{background:#ece8df;color:var(--ink)}.service-proof-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:74px;align-items:center}
.service-proof-visual{aspect-ratio:1.15/1;background:linear-gradient(145deg,#090908,#25231e);border-radius:18px;padding:44px;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:0 24px 65px rgba(0,0,0,.18);position:relative;overflow:hidden}.service-proof-visual:before{content:"";position:absolute;inset:-15%;background:radial-gradient(circle at 70% 20%,rgba(205,165,77,.33),transparent 30%);filter:blur(12px)}.service-proof-visual>*{position:relative}.service-proof-visual span{color:var(--gold2);font-size:12px;letter-spacing:.2em;font-weight:900}.service-proof-visual b{color:#fff;font-size:33px;line-height:1.08;margin:14px 0}.service-proof-visual small{color:#aaa79f;max-width:310px}.service-proof-copy h2{font-size:clamp(38px,4.3vw,58px);line-height:1.04;letter-spacing:-.043em;margin:0 0 26px}.service-proof-copy>p:not(.eyebrow){color:#605b53;font-size:16px}.service-proof-copy .text-link{color:#8b6721;margin-top:16px}
.service-faq-section{background:var(--cream);color:var(--ink)}.service-faq-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:80px}.service-faq-section .service-section-heading{margin:0}.service-faq-section .service-section-heading p:last-child{color:#666158}
.about-hero-image{position:relative}.about-hero-image:before{content:"";position:absolute;inset:24px -17px -17px 24px;border:1px solid var(--gold)}.about-hero-image img{position:relative;width:100%;height:auto;aspect-ratio:676/485;object-fit:contain;background:#111}.about-hero-image>span{position:absolute;right:-7px;bottom:20px;background:var(--gold);color:#111;padding:14px 22px;font-size:20px;font-weight:850;line-height:1}.about-hero-image small{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.13em;margin-top:6px}
.about-story-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px}.about-story-grid .service-section-heading{margin:0}.about-story-copy p{font-size:18px;color:#5f5a52;margin:0 0 22px}
.about-business-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.about-business-grid article{background:#151513;border:1px solid #302f2a;border-radius:14px;padding:36px}.about-business-grid h3{font-size:30px;margin:30px 0 14px}.about-business-grid p{color:#aaa79f}.about-business-grid .text-link{margin-top:15px}
.case-study-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:center}.case-study-reverse{grid-template-columns:1.2fr .8fr}.case-study-image{min-height:480px;background:linear-gradient(145deg,#191815,#37332c);display:flex;align-items:center;justify-content:center;border-radius:18px}.case-study-image .project-mobile-frame{height:410px;width:228px}.case-study-copy h3{font-size:31px;margin:0 0 22px}.case-study-copy ul{list-style:none;padding:0;margin:0 0 28px;display:grid;gap:10px}.case-study-copy li{position:relative;padding-left:26px;color:#58534b}.service-section:not(.service-light) .case-study-copy li{color:#bbb8b0}.case-study-copy li:before{content:"✓";position:absolute;left:0;color:#9a7429;font-weight:900}.case-study-copy>p{color:#aaa79f}.case-proof{background:#fff;border-left:4px solid var(--gold);padding:22px;margin:25px 0}.case-proof strong{display:block;color:#8d6924;text-transform:uppercase;font-size:10px;letter-spacing:.12em;margin-bottom:8px}.case-proof p{color:#5e5951;margin:0}.case-study-copy .text-link{color:#8b6721}.service-section:not(.service-light) .case-study-copy .text-link{color:var(--gold2)}
.contact-page-form{padding-top:95px}.contact-page-hero .service-hero-card>strong{font-size:19px}
@media(max-width:1000px){.service-hero-grid,.service-fit-grid,.service-proof-grid,.service-faq-grid,.about-story-grid,.case-study-grid,.case-study-reverse{grid-template-columns:1fr}.service-hero{padding:90px 0 75px}.service-hero-card{max-width:650px}.service-confidence-grid{grid-template-columns:1fr 1fr;gap:22px}.service-confidence-grid>div,.service-confidence-grid>div:first-child,.service-confidence-grid>div:last-child{padding:0 20px 0 0;border-right:0}.service-outcome-grid{grid-template-columns:1fr 1fr}.service-process-list{grid-template-columns:1fr 1fr}.service-proof-visual{max-width:650px}.about-hero-image{max-width:650px}.case-study-image{max-width:650px}.case-study-reverse .case-study-copy{order:2}.case-study-reverse .case-study-image{order:1}}
@media(max-width:650px){.service-hero{padding:68px 0 58px}.service-hero-copy h1{font-size:44px}.service-intro{font-size:16px}.service-hero-card{padding:27px}.service-confidence-grid{grid-template-columns:1fr}.service-confidence-grid>div{padding:0 0 16px;border-bottom:1px solid #d1cbc0}.service-confidence-grid>div:last-child{border-bottom:0;padding-bottom:0}.service-section{padding:72px 0}.service-section-heading h2,.service-fit-copy h2,.service-proof-copy h2{font-size:38px}.service-outcome-grid,.about-business-grid{grid-template-columns:1fr}.service-outcome-grid article{min-height:auto;padding:27px}.service-included-grid{grid-template-columns:1fr}.service-included-grid article,.service-included-grid article:nth-child(odd),.service-included-grid article:nth-child(even){border-right:0;padding:26px 0}.service-fit-grid{gap:34px}.service-alternative{padding:27px}.service-process-list{grid-template-columns:1fr}.service-process-list li{min-height:auto}.service-process-list span{margin-bottom:22px}.service-proof-grid{gap:38px}.service-proof-visual{padding:30px}.service-proof-visual b{font-size:27px}.service-faq-grid{gap:34px}.about-hero-image:before{inset:15px -8px -8px 15px}.about-hero-image>span{right:0}.about-story-grid{gap:35px}.about-story-copy p{font-size:16px}.case-study-grid{gap:38px}.case-study-image{min-height:390px}.case-study-image .project-mobile-frame{height:335px;width:186px}}


/* v1.0.7 visibility, scope and alignment refinements */
.hero{background:#080807;isolation:isolate}
.hero:after{display:none}
.hero:before{z-index:1;opacity:.58}
.hero-grid{z-index:2}
.hero-liquid-metal{position:absolute;inset:-18%;z-index:0;pointer-events:none;overflow:hidden;background:radial-gradient(circle at 42% 48%,rgba(76,74,68,.16),transparent 43%)}
.hero-liquid-metal span{position:absolute;display:block;will-change:transform,opacity;background-position;mix-blend-mode:screen}
.hero-liquid-metal .liquid-silver{left:-7%;top:-4%;width:72%;height:62%;border-radius:44% 56% 62% 38%;background:radial-gradient(ellipse at 50% 50%,rgba(235,232,222,.17) 0%,rgba(132,128,116,.11) 32%,rgba(31,31,29,0) 70%);filter:blur(34px);animation:dsmLiquidSilver 17s ease-in-out infinite alternate}
.hero-liquid-metal .liquid-gold{right:-8%;top:2%;width:64%;height:76%;border-radius:58% 42% 38% 62%;background:radial-gradient(ellipse at 46% 46%,rgba(225,189,105,.34) 0%,rgba(157,117,46,.18) 31%,rgba(37,31,19,0) 71%);filter:blur(42px);animation:dsmLiquidGold 21s ease-in-out infinite alternate}
.hero-liquid-metal .liquid-sweep{left:4%;bottom:4%;width:94%;height:24%;border-radius:50%;background:linear-gradient(102deg,transparent 8%,rgba(223,220,209,.08) 31%,rgba(225,189,105,.22) 49%,rgba(104,99,88,.10) 65%,transparent 88%);filter:blur(25px);transform:rotate(-12deg);animation:dsmLiquidSweep 15s ease-in-out infinite alternate}
@keyframes dsmLiquidSilver{0%{transform:translate3d(-4%,1%,0) scale(1) rotate(-4deg);opacity:.66}50%{transform:translate3d(12%,8%,0) scale(1.16) rotate(5deg);opacity:.92}100%{transform:translate3d(5%,20%,0) scale(1.06) rotate(-1deg);opacity:.74}}
@keyframes dsmLiquidGold{0%{transform:translate3d(8%,-2%,0) scale(1.02) rotate(4deg);opacity:.70}50%{transform:translate3d(-12%,7%,0) scale(1.17) rotate(-5deg);opacity:.96}100%{transform:translate3d(-3%,18%,0) scale(1.08) rotate(2deg);opacity:.78}}
@keyframes dsmLiquidSweep{0%{transform:translate3d(-8%,0,0) rotate(-13deg) scaleX(.92);opacity:.45}50%{transform:translate3d(4%,-20%,0) rotate(-8deg) scaleX(1.08);opacity:.82}100%{transform:translate3d(11%,-5%,0) rotate(-15deg) scaleX(.97);opacity:.56}}
.service-fit-grid{align-items:center}
@media(max-width:1000px){.service-fit-grid{align-items:stretch}}
@media(max-width:650px){.hero-liquid-metal{inset:-12%;opacity:.78}.hero-liquid-metal .liquid-silver{width:92%;height:58%;filter:blur(28px)}.hero-liquid-metal .liquid-gold{width:82%;height:66%;filter:blur(32px)}.hero-liquid-metal .liquid-sweep{height:20%;filter:blur(20px)}}
@media(prefers-reduced-motion:reduce){.hero-liquid-metal span{animation:none!important}.hero-liquid-metal .liquid-silver{transform:translate3d(4%,10%,0)}.hero-liquid-metal .liquid-gold{transform:translate3d(-4%,8%,0)}.hero-liquid-metal .liquid-sweep{transform:rotate(-12deg)}}


/* v1.0.8 quality, accessibility and internal-journey refinements */
:focus-visible{outline:3px solid var(--gold2);outline-offset:3px}
.button:focus-visible,.menu-toggle:focus-visible{outline-color:#fff}
.primary-nav a,.site-footer a,.text-link,.project-content a{text-underline-offset:4px}
.primary-nav a:hover,.primary-nav a:focus-visible,.site-footer a:hover,.site-footer a:focus-visible,.text-link:hover,.text-link:focus-visible,.project-content a:hover,.project-content a:focus-visible{text-decoration:underline}
.menu-toggle{color:#fff;border-radius:4px}
.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.menu-toggle span:not(.sr-only){transition:transform .2s ease,opacity .2s ease}
.reveal{opacity:1;transform:none}
.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}
.js .reveal.visible{opacity:1;transform:none}
.faq-list details{border-color:#c9c2b6}
.faq-list summary{cursor:pointer;min-height:48px;padding-right:38px}
.faq-list summary:focus-visible{outline-offset:5px}
.service-confidence small{color:#5f5a52;font-size:12px}
.service-process-list p,.support-services p,.site-footer p{color:#b9b6ae}
.project-form button[disabled]{opacity:.65;cursor:wait;transform:none}
.project-form select:invalid{color:#777168}
.form-note a{text-decoration:underline;text-underline-offset:3px}
.service-related-section{background:#0d0d0b;border-top:1px solid #292821;border-bottom:1px solid #292821}
.service-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.service-related-card{display:flex;flex-direction:column;min-height:250px;padding:30px;background:#151513;border:1px solid #302f2a;border-radius:13px;transition:transform .2s ease,border-color .2s ease}
.service-related-card:hover,.service-related-card:focus-within{transform:translateY(-3px);border-color:#6f5a31}
.service-related-card>span{color:var(--gold2);font-size:10px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.service-related-card h3{font-size:24px;line-height:1.15;margin:20px 0 12px}
.service-related-card p{color:#b5b1a8;font-size:14px;margin:0 0 24px}
.service-related-card .text-link{margin-top:auto}
.hero-liquid-metal{opacity:1}
.hero-liquid-metal:before{content:"";position:absolute;inset:8% 4% 14% 12%;border-radius:48% 52% 42% 58%;background:conic-gradient(from 215deg at 56% 46%,transparent 0 17%,rgba(225,189,105,.12) 27%,rgba(239,236,226,.08) 38%,transparent 52%,rgba(205,165,77,.15) 67%,transparent 82%);filter:blur(28px);animation:dsmLiquidTurn 26s ease-in-out infinite alternate}
.hero-liquid-metal:after{content:"";position:absolute;left:16%;right:2%;top:23%;height:24%;border-radius:50%;background:linear-gradient(106deg,transparent 3%,rgba(246,242,229,.10) 31%,rgba(225,189,105,.30) 49%,rgba(255,255,255,.08) 61%,transparent 91%);filter:blur(22px);transform:rotate(-11deg);animation:dsmLiquidGlint 12s ease-in-out infinite alternate}
@keyframes dsmLiquidTurn{0%{transform:translate3d(-3%,0,0) rotate(-7deg) scale(.96);opacity:.58}50%{transform:translate3d(5%,4%,0) rotate(5deg) scale(1.08);opacity:.92}100%{transform:translate3d(-1%,10%,0) rotate(-2deg) scale(1.01);opacity:.7}}
@keyframes dsmLiquidGlint{0%{transform:translate3d(-10%,8%,0) rotate(-13deg) scaleX(.88);opacity:.35}50%{transform:translate3d(6%,-12%,0) rotate(-7deg) scaleX(1.08);opacity:.8}100%{transform:translate3d(12%,2%,0) rotate(-12deg) scaleX(.96);opacity:.48}}
@media(max-width:1000px){.service-related-grid{grid-template-columns:1fr 1fr}.service-related-card:last-child{grid-column:1/-1}}
@media(max-width:650px){.service-related-grid{grid-template-columns:1fr}.service-related-card:last-child{grid-column:auto}.service-related-card{min-height:auto}.hero-liquid-metal:before{inset:8% -8% 22% 0}.hero-liquid-metal:after{left:0;right:-12%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .reveal{opacity:1;transform:none;transition:none}.hero-liquid-metal:before,.hero-liquid-metal:after{animation:none!important}.button,.service-related-card,.menu-toggle span:not(.sr-only){transition:none}}


/* v1.0.9 insights and metadata release */
.primary-nav{gap:24px}
.insights-hero{position:relative;overflow:hidden;padding:118px 0 96px;background:radial-gradient(circle at 78% 18%,rgba(205,165,77,.18),transparent 31%),linear-gradient(145deg,#070706,#11100e);border-bottom:1px solid #2a2924}
.insights-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:58px 58px;mask-image:linear-gradient(to bottom,#000,transparent 92%)}
.insights-hero-grid{position:relative;display:grid;grid-template-columns:1.15fr .65fr;align-items:end;gap:80px}
.insights-hero h1{font-size:clamp(50px,5.5vw,78px);line-height:1;letter-spacing:-.052em;margin:0 0 26px;max-width:850px}
.insights-hero>div p:not(.eyebrow),.insights-hero-grid>div>p:not(.eyebrow){max-width:720px;color:#c7c3b9;font-size:18px;margin:0}
.insights-hero-note{background:rgba(244,241,234,.97);color:var(--ink);border:1px solid rgba(205,165,77,.4);border-radius:15px;padding:32px;box-shadow:0 28px 70px rgba(0,0,0,.35)}
.insights-hero-note>span{display:block;color:#927029;text-transform:uppercase;letter-spacing:.13em;font-size:10px;font-weight:900}
.insights-hero-note>strong{display:block;font-size:25px;line-height:1.15;letter-spacing:-.03em;margin:18px 0 14px}
.insights-hero-note p{color:#5f5a51;margin:0;font-size:14px}
.insights-section{padding:100px 0;background:var(--cream);color:var(--ink)}
.insights-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.insight-card{display:flex;flex-direction:column;background:#fff;border:1px solid #d7d1c6;border-radius:16px;overflow:hidden;box-shadow:0 18px 48px rgba(31,25,16,.08);transition:transform .22s ease,box-shadow .22s ease}
.insight-card:hover{transform:translateY(-4px);box-shadow:0 24px 60px rgba(31,25,16,.13)}
.insight-card-image{display:block;aspect-ratio:1200/630;overflow:hidden;background:#0b0b09}
.insight-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.insight-card:hover .insight-card-image img{transform:scale(1.025)}
.insight-card-content{display:flex;flex-direction:column;flex:1;padding:29px}
.insight-meta{display:flex;flex-wrap:wrap;gap:10px 18px;color:#8b6a28;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}
.insight-card h2{font-size:27px;line-height:1.13;letter-spacing:-.035em;margin:18px 0 14px}
.insight-card h2 a:hover{color:#8d6920}
.insight-card p{color:#625e55;font-size:14px;margin:0 0 25px}
.insight-card .text-link{margin-top:auto;color:#8d6920}
.insights-section .navigation.pagination{margin-top:48px}
.insights-section .nav-links{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.insights-section .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 13px;border:1px solid #c9c2b5;border-radius:4px;color:#312e28;font-size:13px;font-weight:750}
.insights-section .page-numbers.current,.insights-section .page-numbers:hover{background:#171714;color:#fff;border-color:#171714}
.insights-bottom-cta{background:#0b0b09;border-top:1px solid #292820}
.insights-bottom-cta p{color:#bdb9af}
.insights-bottom-cta .button{margin-top:18px}
.insight-article-hero{padding:104px 0 78px;background:radial-gradient(circle at 82% 18%,rgba(205,165,77,.17),transparent 30%),linear-gradient(145deg,#080807,#11100e);border-bottom:1px solid #292821}
.insight-article-hero-inner{max-width:970px}
.article-breadcrumb{display:flex;align-items:center;gap:10px;margin:0 0 30px;color:#99958b;font-size:12px}
.article-breadcrumb a:hover{color:var(--gold2)}
.insight-article-hero h1{font-size:clamp(48px,5.4vw,76px);line-height:1;letter-spacing:-.052em;margin:0 0 28px}
.insight-excerpt{max-width:790px;color:#cbc7bd;font-size:19px;line-height:1.62;margin:0}
.article-byline{display:flex;gap:12px 25px;flex-wrap:wrap;margin-top:32px;color:#d7b86e;font-size:11px;text-transform:uppercase;letter-spacing:.09em;font-weight:800}
.article-byline span+span{position:relative}
.article-byline span+span:before{content:"";position:absolute;left:-14px;top:50%;width:3px;height:3px;background:#6f6758;border-radius:50%}
.insight-feature-image{margin-top:56px;max-width:1180px}
.insight-feature-image img{width:100%;border-radius:15px;border:1px solid #38352e;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.insight-layout{display:grid;grid-template-columns:250px minmax(0,780px);justify-content:center;gap:70px;padding:72px 0 105px}
.article-aside{min-width:0}
.article-author-card{position:sticky;top:118px;background:#151513;border:1px solid #34322c;border-radius:13px;padding:20px}
.article-author-card img{width:100%;aspect-ratio:676/485;object-fit:cover;border-radius:8px;margin-bottom:18px}
.article-author-card>span{display:block;color:var(--gold2);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}
.article-author-card p{font-size:13px;color:#aaa69c;line-height:1.55;margin:12px 0 15px}
.article-author-card a{color:var(--gold2);font-size:12px;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.insight-content{max-width:780px;font-size:17px;color:#cac6bc}
.insight-content>p,.insight-content>ul,.insight-content>ol,.insight-content>.article-table-wrap{margin-bottom:25px}
.insight-content h2{font-size:clamp(31px,3.3vw,46px);line-height:1.1;letter-spacing:-.038em;margin:58px 0 20px;color:#fff}
.insight-content h3{font-size:24px;line-height:1.2;margin:36px 0 12px;color:#fff}
.insight-content p,.insight-content li{color:#bbb7ad}
.insight-content ul{padding-left:22px}
.insight-content li{margin:9px 0}
.insight-content a:not(.button){color:var(--gold2);text-decoration:underline;text-underline-offset:3px}
.article-lead{font-size:20px!important;line-height:1.65;color:#e2ded4!important;margin-top:0!important}
.article-answer{margin:35px 0 45px;padding:28px 30px;background:#f2eee5;color:var(--ink);border-left:4px solid var(--gold);border-radius:0 10px 10px 0}
.article-answer strong{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:10px;color:#8d6920;margin-bottom:9px}
.article-answer p{margin:0!important;color:#3f3a32!important;font-size:16px}
.article-table-wrap{overflow-x:auto;border:1px solid #39372f;border-radius:10px}
.article-table{width:100%;border-collapse:collapse;min-width:690px;background:#121210}
.article-table th,.article-table td{text-align:left;vertical-align:top;padding:17px 19px;border-bottom:1px solid #34322d;font-size:14px}
.article-table th{color:#171714;background:#e7e0d3;font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.article-table td{color:#bdb9af}
.article-table tr:last-child td{border-bottom:0}
.article-cta{margin:62px 0 45px;padding:38px;background:radial-gradient(circle at 92% 18%,rgba(205,165,77,.17),transparent 32%),#151513;border:1px solid #3d392f;border-radius:14px}
.article-cta h2{font-size:34px;margin:0 0 14px}
.article-cta>p:not(.eyebrow){margin:0 0 23px;color:#bbb7ad}
.article-source-note{font-size:13px!important;color:#929087!important;border-top:1px solid #34322d;padding-top:20px}
.related-insights{padding:90px 0;background:var(--cream);color:var(--ink)}
.related-insights .section-heading h2{color:var(--ink)}
.related-insights-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.related-insights-grid article{display:grid;grid-template-columns:180px 1fr;background:#fff;border:1px solid #d8d2c7;border-radius:13px;overflow:hidden}
.related-insights-grid img{width:100%;height:100%;object-fit:cover}
.related-insights-grid article>div{padding:24px}
.related-insights-grid span{color:#8d6920;font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:850}
.related-insights-grid h3{font-size:21px;line-height:1.18;margin:10px 0 18px}
.related-insights-grid .text-link{color:#8d6920;font-size:11px}
.insights-empty{padding:50px;background:#fff;border:1px solid #d7d1c6;border-radius:14px}
@media(max-width:1000px){.insights-hero-grid{grid-template-columns:1fr;gap:45px}.insights-hero-note{max-width:650px}.insights-grid{grid-template-columns:1fr 1fr}.insight-layout{grid-template-columns:1fr;gap:40px}.article-aside{order:2}.article-author-card{position:static;max-width:520px}.related-insights-grid{grid-template-columns:1fr}}
@media(max-width:650px){.primary-nav{gap:0}.insights-hero{padding:72px 0 60px}.insights-hero h1,.insight-article-hero h1{font-size:43px}.insights-hero-grid>div>p:not(.eyebrow),.insight-excerpt{font-size:16px}.insights-hero-note{padding:26px}.insights-section{padding:72px 0}.insights-grid{grid-template-columns:1fr}.insight-card-content{padding:25px}.insight-article-hero{padding:70px 0 58px}.article-byline{gap:9px 18px}.article-byline span+span:before{left:-10px}.insight-feature-image{margin-top:28px;width:calc(100% - 28px)}.insight-layout{padding:54px 0 78px}.insight-content{font-size:16px}.article-lead{font-size:18px!important}.article-answer,.article-cta{padding:25px}.article-cta h2{font-size:30px}.related-insights{padding:72px 0}.related-insights-grid article{grid-template-columns:1fr}.related-insights-grid img{aspect-ratio:1200/630}.related-insights-grid article>div{padding:22px}}
@media(prefers-reduced-motion:reduce){.insight-card,.insight-card-image img{transition:none}.insight-card:hover,.insight-card:hover .insight-card-image img{transform:none}}


/* v1.0.10 refinements */
@media(min-width:1001px){.support-services article:nth-last-child(-n+2){grid-column:span 2}}

/* v1.0.11 legal, London, analytics and CTA refinements */
.hero-location-link{display:inline-flex;align-items:center;gap:8px;margin-top:20px;color:var(--gold2);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.075em;text-decoration:none}
.hero-location-link:hover,.hero-location-link:focus-visible{color:#f0cc7a}
.secondary-text-link{margin-left:18px}
.footer-bottom small{display:inline-block;max-width:720px;margin-top:7px;color:#77746e;line-height:1.55;font-size:10px}
.dsm-manage-cookies{display:inline-flex!important;align-items:center;color:#77746e!important;font:inherit!important;background:none!important;border:0!important;padding:0!important;margin:0!important;box-shadow:none!important;text-decoration:none!important;cursor:pointer}
.dsm-manage-cookies:hover{color:#c2beb4!important}
.legal-updated{color:#9d998f;font-size:13px;margin:0 0 30px}
.entry-content .dsm-legal-note{border-radius:7px;padding:20px 22px;background:#171714;border:1px solid #37342c;border-left:4px solid var(--gold);color:#cbc7bd}
.entry-content .dsm-legal-note strong{color:#fff}
.entry-content h2+ul{margin-top:0}
.entry-content>ul li{margin:9px 0}
.page-id-0 .entry-content{max-width:900px}
.service-web-design-london .service-hero{background:radial-gradient(circle at 82% 22%,rgba(205,165,77,.17),transparent 30%),linear-gradient(145deg,#080807,#11100e)}
.service-web-design-london .service-hero-card:before{content:"LONDON";position:absolute;right:20px;top:14px;color:rgba(205,165,77,.12);font-size:52px;font-weight:900;letter-spacing:.08em}
@media(max-width:650px){.hero-location-link{font-size:11px}.secondary-text-link{display:flex;margin:12px 0 0}.footer-bottom small{font-size:10px}.service-web-design-london .service-hero-card:before{font-size:40px}}
.footer-bottom span:last-child{flex-wrap:wrap;align-content:flex-start}
.cmplz-cookiebanner{background:#11110f!important;color:#f4f1e9!important;border:1px solid #3a372f!important;border-radius:12px!important;box-shadow:0 24px 65px rgba(0,0,0,.45)!important}
.cmplz-cookiebanner .cmplz-title{color:#fff!important;font-weight:800!important}
.cmplz-cookiebanner .cmplz-message,.cmplz-cookiebanner .cmplz-category-title{color:#c7c3b9!important}
.cmplz-cookiebanner .cmplz-btn{min-height:44px!important;border-radius:4px!important;font-weight:800!important;letter-spacing:.04em!important}
.cmplz-cookiebanner .cmplz-accept,.cmplz-cookiebanner .cmplz-deny{border:1px solid var(--gold)!important}
.cmplz-cookiebanner .cmplz-accept{background:var(--gold)!important;color:#0b0a08!important}
.cmplz-cookiebanner .cmplz-deny{background:transparent!important;color:#fff!important}
.cmplz-cookiebanner .cmplz-view-preferences,.cmplz-cookiebanner .cmplz-save-preferences{color:var(--gold2)!important}


/* v1.0.13 article depth */
.article-toc{margin:34px 0;padding:24px 26px;background:#f3efe5;border:1px solid #d9d1c1;border-left:4px solid var(--gold);border-radius:8px;color:#29271f}
.article-toc strong{display:block;margin-bottom:10px;font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#72571d}
.article-toc ul{margin:0;padding-left:20px;columns:2;column-gap:34px}
.article-toc li{break-inside:avoid;margin:7px 0;color:#4e493f}
.article-toc a{color:#29271f;text-decoration:underline;text-underline-offset:3px}
.insight-content h2[id]{scroll-margin-top:110px}
@media(max-width:650px){.article-toc{padding:20px}.article-toc ul{columns:1}}


/* v1.0.14 contrast, service depth, and long-tail content */
.button,.button:link,.button:visited,.entry-content .button,.insight-content .button,.article-cta .button,.contact-section .button{color:#0b0a08!important}
.button:hover,.button:focus-visible,.button:active,.entry-content .button:hover,.insight-content .button:hover{color:#0b0a08!important}
.button-outline,.button-outline:link,.button-outline:visited{color:#fff!important;background:transparent!important}
.button-outline:hover,.button-outline:focus-visible,.button-outline:active{color:#0b0a08!important;background:var(--gold2)!important}
.service-depth-section{background:#0d0d0b;border-top:1px solid #292821;border-bottom:1px solid #292821}
.service-depth-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.service-depth-card{background:#171715;border:1px solid #34322d;border-radius:14px;padding:32px}
.service-depth-card h3{font-size:25px;line-height:1.2;margin:0 0 14px}
.service-depth-card p{color:#bbb8b0;margin:0}
.service-depth-card ul{margin:20px 0 0;padding-left:20px;color:#d0ccc2}
.service-depth-card li{margin:8px 0}
.service-detail-table-wrap{margin-top:28px;overflow-x:auto;border:1px solid #3a382f;border-radius:12px}
.service-detail-table{width:100%;min-width:760px;border-collapse:collapse;background:#131311}
.service-detail-table th,.service-detail-table td{text-align:left;vertical-align:top;padding:17px 19px;border-bottom:1px solid #34322d;font-size:14px}
.service-detail-table th{background:#e7e0d3;color:#171714;text-transform:uppercase;letter-spacing:.07em;font-size:11px}
.service-detail-table td{color:#c7c3ba}
.service-detail-table tr:last-child td{border-bottom:0}
@media(max-width:760px){.service-depth-grid{grid-template-columns:1fr}.service-depth-card{padding:26px}}


/* v1.0.16 release refinements */
.dsm-our-work-page .site-header{background:#0b0906;-webkit-backdrop-filter:none;backdrop-filter:none}


/* v1.0.17 final visual refinements */
.dsm-our-work-page .site-header{background:#000!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.brand .header-symbol,.brand .header-wordmark{background:transparent}
.related-insights-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.related-insights-grid article{display:flex;flex-direction:column;min-width:0}
.related-insights-grid img{display:block;width:100%;height:auto;aspect-ratio:1200/630;object-fit:contain;object-position:center;background:#0b0b09}
.related-insights-grid article>div{display:flex;flex-direction:column;flex:1}
.related-insights-grid .text-link{margin-top:auto}
@media(max-width:1000px){.related-insights-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.related-insights-grid{grid-template-columns:1fr}}


/* v1.0.18 homepage expectations introduction */
.expectations{padding:36px 0}
.expectations-intro{margin-bottom:24px}
.expectations-intro h2{max-width:720px;margin:0;font-size:clamp(22px,2.1vw,30px);line-height:1.15;letter-spacing:-.025em;color:var(--ink)}
@media(max-width:650px){.expectations{padding:30px 0}.expectations-intro{margin-bottom:22px}.expectations-intro h2{font-size:25px;max-width:330px}}


/* v1.0.19 footer readability, Blog navigation and confidence introductions */
.service-confidence{padding:34px 0}
.service-confidence-intro{margin-bottom:22px}
.service-confidence-intro h2{max-width:760px;margin:0;color:var(--ink);font-size:clamp(22px,2vw,29px);line-height:1.16;letter-spacing:-.025em}
.footer-bottom{align-items:flex-start;color:#8e8a82;font-size:inherit}
.footer-legal-copy{max-width:760px}
.footer-copyright{margin:0!important;color:#a9a69f!important;font-size:15px!important;line-height:1.45!important}
.footer-registration{margin:7px 0 0!important;max-width:760px;color:#85827b!important;font-size:12.5px!important;line-height:1.65!important}
.footer-legal-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px 20px;max-width:390px}
.footer-legal-links a{color:#99968f;font-size:12.5px;line-height:1.5}
.footer-legal-links a:hover{color:var(--gold2)}
@media(max-width:650px){
  .service-confidence{padding:30px 0}
  .service-confidence-intro{margin-bottom:22px}
  .service-confidence-intro h2{font-size:25px;max-width:330px}
  .footer-bottom{gap:20px}
  .footer-copyright{font-size:15px!important}
  .footer-registration{font-size:13px!important;line-height:1.65!important}
  .footer-legal-links{justify-content:flex-start;gap:12px 18px;max-width:none}
  .footer-legal-links a{font-size:13px}
}


/* v1.0.20 light-panel contrast audit */
.insights-hero-note,.insights-hero-note>strong,.insights-hero-note p{color:#171714!important}
.insights-hero-note p{font-size:15px;line-height:1.65}
.work-section .section-heading>p:last-child,.faq-section .section-heading>p:last-child,.proof-section .section-heading>p:last-child,.related-insights .section-heading>p:last-child{color:#4f4a42}
.service-light .case-study-copy>p{color:#5f5a52}


/* v1.0.23 mobile spacing, responsive tables and approved stacked header logo */
.brand{min-width:126px}
.brand .header-logo-stacked{
  display:block;
  width:105px;
  height:auto;
  object-fit:contain;
  background:transparent;
}
.header-inner{min-height:116px}

@media(max-width:650px){
  .header-inner{min-height:102px}
  .brand{min-width:0}
  .brand .header-logo-stacked{width:92px}

  .service-confidence-grid>div{
    padding:0 0 25px;
    margin:0;
  }
  .service-confidence-grid>div+div{
    padding-top:25px;
  }
  .service-confidence-grid>div:last-child{
    padding-bottom:0;
  }

  .expectations article{
    padding-bottom:22px;
    margin:0;
  }
  .expectations article+article{
    padding-top:22px;
  }
  .expectations article:last-child{
    padding-bottom:0;
  }

  .article-table-wrap,
  .service-detail-table-wrap{
    overflow:visible;
    border:0;
    border-radius:0;
    background:transparent;
  }
  .article-table,
  .service-detail-table{
    display:block;
    width:100%;
    min-width:0;
    background:transparent;
  }
  .article-table thead,
  .service-detail-table thead{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
  }
  .article-table tbody,
  .service-detail-table tbody{
    display:grid;
    gap:16px;
  }
  .article-table tr,
  .service-detail-table tr{
    display:block;
    overflow:hidden;
    border:1px solid #3a382f;
    border-radius:11px;
    background:#131311;
  }
  .article-table td,
  .service-detail-table td{
    display:block;
    width:100%;
    padding:15px 17px;
    border-bottom:1px solid #34322d;
    font-size:14px;
    line-height:1.55;
    color:#c7c3ba;
  }
  .article-table td:last-child,
  .service-detail-table td:last-child{
    border-bottom:0;
  }
  .article-table td::before,
  .service-detail-table td::before{
    content:attr(data-label);
    display:block;
    margin:0 0 6px;
    color:var(--gold2);
    font-size:10px;
    font-weight:850;
    line-height:1.35;
    letter-spacing:.08em;
    text-transform:uppercase;
  }
}

/* v1.0.23 final mobile containment, image ratios and spacing refinements */
html,body{max-width:100%;overflow-x:hidden}
.insight-single,.insight-single article,.insight-layout,.insight-content,.entry-content{min-width:0;max-width:100%}
.insight-feature-image{overflow:hidden}
.insight-feature-image img,.insight-card-image img,.related-insights-grid img{display:block;width:100%;height:auto!important;aspect-ratio:1200/630;object-fit:contain}
.insight-content p,.insight-content li,.insight-content h1,.insight-content h2,.insight-content h3{overflow-wrap:anywhere}
.article-table-wrap,.service-detail-table-wrap{max-width:100%}

@media(max-width:650px){
  .brand .header-logo-stacked{width:86px}
  .header-inner{min-height:102px}

  .service-confidence-grid>div:not(:last-child),
  .expectations article:not(:last-child){
    padding-bottom:26px;
    border-bottom:1px solid #d1cbc0;
  }
  .service-confidence-grid>div+div,
  .expectations article+article{
    padding-top:26px;
  }

  .insight-feature-image{
    width:var(--shell);
    max-width:100%;
    margin-top:28px;
  }
  .insight-layout,.insight-content,.entry-content{width:100%;min-width:0}
  .article-table-wrap,.service-detail-table-wrap{width:100%;overflow:visible}
  .article-table,.service-detail-table{width:100%;max-width:100%;min-width:0}
  .article-table td,.service-detail-table td{overflow-wrap:anywhere;word-break:normal}
  pre,code,iframe,video,svg{max-width:100%}
}


/* v1.0.25 inclusive collaboration, integrated lists and final stacked-logo asset */
.service-depth-card .service-depth-points{
  list-style:none;
  display:grid;
  gap:12px;
  margin:24px 0 0;
  padding:20px 0 0;
  border-top:1px solid #34322d;
}
.service-depth-card .service-depth-points li{
  position:relative;
  margin:0;
  padding-left:24px;
  color:#d0ccc2;
  line-height:1.6;
}
.service-depth-card .service-depth-points li::before{
  content:"";
  position:absolute;
  left:0;
  top:.78em;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--gold2);
  transform:translateY(-50%);
}
.insight-content>ul:not(.article-toc ul),
.insight-content>ol{
  margin:22px 0 32px;
  padding:22px 24px 22px 46px;
  background:#151513;
  border:1px solid #34322d;
  border-left:3px solid var(--gold);
  border-radius:10px;
}
.insight-content>ul:not(.article-toc ul) li,
.insight-content>ol li{
  margin:9px 0;
  padding-left:3px;
}
.brand .header-logo-stacked{
  content-visibility:auto;
  object-fit:contain;
  object-position:center;
}
@media(max-width:650px){
  .service-depth-card .service-depth-points{margin-top:22px;padding-top:18px;gap:11px}
  .insight-content>ul:not(.article-toc ul),.insight-content>ol{padding:19px 19px 19px 39px;margin:18px 0 28px}
}


/* v1.0.25 contextual list framing, service-specific outcome introductions and location-line consistency */
.service-depth-card .service-depth-points-intro{
  margin:22px 0 10px;
  color:var(--gold2);
  font-size:11px;
  font-weight:850;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.service-depth-card .service-depth-points{
  margin:0;
  padding:0;
  border-top:0;
  gap:10px;
}
.service-depth-card .service-depth-points li{
  padding-left:23px;
}
.insight-content>ul:not(.article-toc ul),
.insight-content>ol{
  background:transparent;
  border:0;
  border-left:2px solid rgba(225,189,105,.55);
  border-radius:0;
  padding:2px 0 2px 28px;
  margin:20px 0 30px;
}
@media (max-width:1000px) and (min-width:651px){
  .service-outcome-grid article:nth-child(3){grid-column:1 / -1;min-height:auto}
}
@media(max-width:650px){
  .service-outcome-grid article:nth-child(3){grid-column:auto}
  .service-depth-card .service-depth-points-intro{margin-top:20px}
  .insight-content>ul:not(.article-toc ul),.insight-content>ol{padding:1px 0 1px 24px;margin:18px 0 28px}
}
.footer-legal-links .dsm-manage-cookies{
  color:#99968f!important;
  font-family:inherit!important;
  font-size:12.5px!important;
  font-weight:400!important;
  line-height:1.5!important;
  letter-spacing:normal!important;
  background:none!important;
  border:0!important;
  padding:0!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}
.footer-legal-links .dsm-manage-cookies:hover,
.footer-legal-links .dsm-manage-cookies:focus-visible{
  color:var(--gold2)!important;
}
@media(max-width:650px){
  .footer-legal-links .dsm-manage-cookies{font-size:13px!important}
}


/* v1.0.26 purpose-led mobile table layouts */
.service-table-intro{
  max-width:780px;
  margin:28px 0 14px;
  color:#aaa79f;
  font-size:15px;
  line-height:1.7;
}

@media(max-width:650px){
  .service-table-intro{
    margin:24px 0 16px;
    font-size:14px;
    line-height:1.65;
  }

  /* Matrix tables: use the first cell as the card heading, then label only the supporting fields. */
  .table-mobile-matrix tbody,
  .table-mobile-comparison tbody{
    gap:18px;
  }
  .table-mobile-matrix tr,
  .table-mobile-comparison tr{
    border-color:#3b3932;
    background:#151513;
    box-shadow:0 12px 30px rgba(0,0,0,.12);
  }
  .table-mobile-matrix td:first-child,
  .table-mobile-comparison td:first-child{
    padding:19px 18px 16px;
    color:#fff;
    font-size:16px;
    font-weight:760;
    line-height:1.35;
    background:rgba(255,255,255,.018);
  }
  .table-mobile-matrix td:first-child::before,
  .table-mobile-comparison td:first-child::before{
    display:none;
  }
  .table-mobile-matrix td:not(:first-child),
  .table-mobile-comparison td:not(:first-child){
    padding:15px 18px 17px;
  }
  .table-mobile-matrix td:not(:first-child)::before,
  .table-mobile-comparison td:not(:first-child)::before{
    margin-bottom:7px;
  }

  /* Comparison tables keep the row subject prominent and present the two routes as an intentional pair. */
  .table-mobile-comparison tr{
    border-left:3px solid rgba(225,189,105,.72);
  }
  .table-mobile-comparison td:nth-child(2),
  .table-mobile-comparison td:nth-child(3){
    background:transparent;
  }

  /* Process tables become a connected vertical timeline instead of repeated form-like cards. */
  .article-table-wrap.table-mobile-timeline,
  .service-detail-table-wrap.table-mobile-timeline{
    padding:4px 0 0;
  }
  .table-mobile-timeline tbody{
    position:relative;
    display:block;
    counter-reset:dsm-stage;
  }
  .table-mobile-timeline tbody::before{
    content:"";
    position:absolute;
    left:18px;
    top:18px;
    bottom:28px;
    width:1px;
    background:linear-gradient(to bottom,rgba(225,189,105,.75),rgba(225,189,105,.16));
  }
  .table-mobile-timeline tr{
    position:relative;
    display:block;
    margin:0;
    padding:0 0 30px 52px;
    overflow:visible;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    counter-increment:dsm-stage;
  }
  .table-mobile-timeline tr:last-child{
    padding-bottom:4px;
  }
  .table-mobile-timeline tr::before{
    content:counter(dsm-stage,decimal-leading-zero);
    position:absolute;
    left:0;
    top:0;
    z-index:1;
    display:grid;
    place-items:center;
    width:36px;
    height:36px;
    border:1px solid rgba(225,189,105,.7);
    border-radius:50%;
    background:#11110f;
    color:var(--gold2);
    font-size:10px;
    font-weight:900;
    letter-spacing:.08em;
  }
  .table-mobile-timeline td{
    display:block;
    width:100%;
    padding:0;
    border:0;
    color:#c7c3ba;
    background:transparent;
  }
  .table-mobile-timeline td:first-child{
    margin:2px 0 14px;
    color:#fff;
    font-size:18px;
    font-weight:780;
    line-height:1.3;
  }
  .table-mobile-timeline td:first-child::before{
    display:none;
  }
  .table-mobile-timeline td:not(:first-child){
    margin-top:12px;
    padding:0 0 0 14px;
    border-left:1px solid #3a382f;
    font-size:14px;
    line-height:1.55;
  }
  .table-mobile-timeline td:not(:first-child)::before{
    margin:0 0 4px;
    color:var(--gold2);
    font-size:9px;
    line-height:1.3;
  }
}


/* v1.0.27 engagement choices and CRM service card */
.engagement-options{margin:0 0 30px;padding:30px;border:1px solid #34322d;border-radius:14px;background:#121210}
.engagement-options-heading{display:grid;grid-template-columns:.42fr 1fr;gap:34px;align-items:end;margin-bottom:24px}
.engagement-options-heading .eyebrow{margin:0}
.engagement-options-heading h3{margin:0;font-size:clamp(26px,3vw,38px);line-height:1.12;letter-spacing:-.035em}
.engagement-options-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.engagement-options-grid article{padding:24px;border:1px solid #2f2d28;border-radius:10px;background:#181816}
.engagement-options-grid span{color:var(--gold2);font-size:10px;font-weight:900;letter-spacing:.12em}
.engagement-options-grid h4{margin:12px 0 8px;font-size:19px;line-height:1.25}
.engagement-options-grid p{margin:0;color:#b9b6ae;font-size:13px}
@media(min-width:1001px){.support-services article:nth-last-child(-n+2){grid-column:span 2}.support-services article:last-child{grid-column:span 6;min-height:210px}}
@media(max-width:1000px){.engagement-options-heading{grid-template-columns:1fr;gap:8px}.engagement-options-grid{grid-template-columns:1fr}.support-services article:last-child{grid-column:auto}}
@media(max-width:650px){.engagement-options{padding:24px}.engagement-options-heading h3{font-size:29px}.engagement-options-grid article{padding:21px}}


/* v1.0.30 Blog graphic, contents-panel contrast and footer type consistency */
.insight-content .article-toc a:not(.button),
.insight-content .article-toc a:link,
.insight-content .article-toc a:visited{
  color:#29271f!important;
  text-decoration-color:#8f6c25!important;
}
.insight-content .article-toc a:hover,
.insight-content .article-toc a:focus-visible{
  color:#5f4819!important;
  text-decoration-color:#5f4819!important;
}
.footer-copyright{
  font-size:12.5px!important;
  line-height:1.65!important;
}
@media(max-width:650px){
  .footer-copyright{font-size:13px!important;line-height:1.65!important}
}


/* v1.0.30 cookie-preferences footer correction */
.footer-legal-links .cmplz-show-banner{white-space:normal;text-align:left}


/* v1.0.31 editorial Blog tables and site-wide structured-card audit */
.article-table-intro{
  max-width:780px;
  margin:22px 0 13px;
  color:#c7c3ba;
  font-size:15px;
  line-height:1.7;
}

@media(max-width:650px){
  .insight-content .article-table-intro{
    margin:21px 0 8px;
    color:#c9c5bc;
    font-size:14px;
    line-height:1.65;
  }

  /* Blog matrices and comparisons become one editorial list, not a stack of detached cards. */
  .insight-content .article-table-wrap.table-mobile-matrix,
  .insight-content .article-table-wrap.table-mobile-comparison{
    margin:0 0 34px;
    padding:2px 0;
    border-top:1px solid #3a382f;
    border-bottom:1px solid #3a382f;
  }
  .insight-content .article-table.table-mobile-matrix tbody,
  .insight-content .article-table.table-mobile-comparison tbody{
    display:block;
  }
  .insight-content .article-table.table-mobile-matrix tr,
  .insight-content .article-table.table-mobile-comparison tr{
    display:block;
    margin:0;
    padding:22px 0 23px 16px;
    overflow:visible;
    border:0;
    border-bottom:1px solid #2f2e29;
    border-left:2px solid rgba(225,189,105,.58);
    border-radius:0;
    background:transparent;
    box-shadow:none;
  }
  .insight-content .article-table.table-mobile-matrix tr:last-child,
  .insight-content .article-table.table-mobile-comparison tr:last-child{
    border-bottom:0;
  }
  .insight-content .article-table.table-mobile-matrix td,
  .insight-content .article-table.table-mobile-comparison td{
    display:block;
    width:100%;
    padding:0;
    border:0;
    background:transparent;
  }
  .insight-content .article-table.table-mobile-matrix td:first-child,
  .insight-content .article-table.table-mobile-comparison td:first-child{
    margin:0 0 14px;
    padding:0;
    color:#fff;
    font-size:18px;
    font-weight:780;
    line-height:1.32;
    background:transparent;
  }
  .insight-content .article-table.table-mobile-matrix td:first-child::before,
  .insight-content .article-table.table-mobile-comparison td:first-child::before{
    display:none;
  }
  .insight-content .article-table.table-mobile-matrix td:not(:first-child),
  .insight-content .article-table.table-mobile-comparison td:not(:first-child){
    margin-top:12px;
    padding:0 0 0 14px;
    border-left:1px solid #3a382f;
    color:#c7c3ba;
    font-size:14px;
    line-height:1.58;
  }
  .insight-content .article-table.table-mobile-matrix td:not(:first-child)::before,
  .insight-content .article-table.table-mobile-comparison td:not(:first-child)::before{
    margin:0 0 5px;
    color:var(--gold2);
    font-size:9px;
    line-height:1.3;
    letter-spacing:.09em;
  }

  /* Existing timeline tables already use a connected editorial treatment. */
  .insight-content .article-table-wrap.table-mobile-timeline{
    margin-bottom:34px;
  }
}


/* v1.0.32 site-wide mobile spacing, numbered-component alignment and micro-typography */
/* v1.0.33 tightens the stacked divider rhythm for numbered strips. */
.section-heading>p:last-child{
  margin:20px 0 0;
}

/* Keep short display headings together where the browser supports balanced wrapping. */
.hero h1,
.service-hero-copy h1,
.page-hero h1,
.insights-hero h1,
.insight-article-hero h1,
.section-heading h2,
.service-section-heading h2,
.service-fit-copy h2,
.service-proof-copy h2,
.contact-copy h2{
  text-wrap:balance;
}
.hero-text,
.service-intro,
.section-heading>p:last-child,
.service-section-heading>p:last-child,
.contact-copy>p:not(.eyebrow){
  text-wrap:pretty;
}

/* Numbered summary strips: one aligned number column and one text column. */
.expectations article{
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  column-gap:14px;
  align-items:start;
}
.expectations span{
  padding-top:1px;
  line-height:1.35;
}
.expectations strong{
  display:block;
  line-height:1.35;
}
.expectations p{
  margin:6px 0 0;
  line-height:1.55;
}

.service-confidence-grid>div{
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  grid-template-rows:auto auto;
  column-gap:14px;
  align-items:start;
}
.service-confidence-grid>div>span{
  grid-column:1;
  grid-row:1 / span 2;
  margin:0;
  padding-top:1px;
  line-height:1.35;
}
.service-confidence-grid>div>strong{
  grid-column:2;
  grid-row:1;
  line-height:1.35;
}
.service-confidence-grid>div>small{
  grid-column:2;
  grid-row:2;
  margin:5px 0 0;
  line-height:1.55;
}

/* Numbered cards: align the number with the heading and keep supporting copy underneath. */
.service-outcome-grid article{
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  grid-template-areas:
    "number title"
    ". copy";
  column-gap:16px;
  align-content:start;
  min-height:250px;
}
.service-outcome-grid article>span{
  grid-area:number;
  padding-top:4px;
  line-height:1.35;
}
.service-outcome-grid h3{
  grid-area:title;
  margin:0;
}
.service-outcome-grid p{
  grid-area:copy;
  margin:12px 0 0;
  line-height:1.65;
}

.engagement-options-grid article{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  grid-template-areas:
    "number title"
    ". copy";
  column-gap:13px;
  align-content:start;
}
.engagement-options-grid article>span{
  grid-area:number;
  padding-top:3px;
  line-height:1.35;
}
.engagement-options-grid h4{
  grid-area:title;
  margin:0;
}
.engagement-options-grid p{
  grid-area:copy;
  margin:9px 0 0;
  line-height:1.6;
}

.about-business-grid article{
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  grid-template-areas:
    "number title"
    ". copy"
    ". link";
  column-gap:16px;
  align-content:start;
}
.about-business-grid article>span{
  grid-area:number;
  padding-top:5px;
  line-height:1.35;
}
.about-business-grid h3{
  grid-area:title;
  margin:0;
}
.about-business-grid p{
  grid-area:copy;
  margin:13px 0 0;
  line-height:1.65;
}
.about-business-grid .text-link{
  grid-area:link;
  margin-top:18px;
}

.support-services h3{
  margin:16px 0 12px;
}

/* Connected numbered lists: remove the oversized gap between number and heading. */
.process-list span,
.service-process-list span{
  margin-bottom:17px;
  line-height:1.35;
}
.process-list h3,
.service-process-list h3{
  margin:0 0 10px;
  line-height:1.3;
}
.process-list p,
.service-process-list p{
  margin:0;
  line-height:1.6;
}
.service-process-list li{
  min-height:225px;
}

.service-included-grid article{
  grid-template-columns:46px minmax(0,1fr);
  gap:17px;
  align-items:start;
}
.service-included-grid>article>span{
  padding-top:3px;
  line-height:1.35;
}

/* The FAQ heading block and the first question should read as one section. */
.faq-section .section-heading{
  margin-bottom:0;
}
.faq-list{
  margin:0;
}

@media(max-width:650px){
  /* Remove inherited multi-column grid gaps when these strips become one column. */
  .expectations-grid,
  .service-confidence-grid{
    gap:0;
  }

  /* One shared mobile section rhythm across the principal page templates. */
  .section,
  .service-section,
  .insights-section,
  .related-insights{
    padding-top:72px;
    padding-bottom:72px;
  }
  .contact-section{
    padding:72px 0;
  }
  .page-hero{
    padding:72px 0 54px;
  }
  .contact-page-form{
    padding-top:72px;
  }

  .section-heading{
    margin-bottom:36px;
  }
  .service-section-heading{
    margin-bottom:36px;
  }
  .about-story-grid .service-section-heading,
  .service-faq-section .service-section-heading{
    margin:0;
  }

  /* Equal top and bottom spacing around every item in the compact confidence strips. */
  .expectations .expectations-grid article,
  .service-confidence .service-confidence-grid>div{
    padding:18px 0;
    margin:0;
  }
  .expectations .expectations-grid article:first-child,
  .service-confidence .service-confidence-grid>div:first-child{
    padding-top:0;
  }
  .expectations .expectations-grid article:not(:last-child),
  .service-confidence .service-confidence-grid>div:not(:last-child){
    padding-bottom:18px;
    border-bottom:1px solid #d1cbc0;
  }
  .expectations .expectations-grid article+article,
  .service-confidence .service-confidence-grid>div+div{
    padding-top:18px;
  }
  .expectations .expectations-grid article:last-child,
  .service-confidence .service-confidence-grid>div:last-child{
    padding-bottom:0;
    border-bottom:0;
  }

  .service-lead{
    row-gap:14px;
  }

  .service-outcome-grid{
    gap:16px;
  }
  .service-outcome-grid article{
    min-height:auto;
    padding:26px 24px;
  }

  .engagement-options-grid{
    gap:12px;
  }
  .engagement-options-grid article{
    padding:22px;
  }

  .support-services article,
  .support-services article:nth-last-child(-n+2),
  .support-services article:last-child{
    display:grid;
    grid-template-columns:38px minmax(0,1fr);
    grid-template-areas:
      "number title"
      ". copy"
      ". price"
      ". link";
    column-gap:15px;
    align-content:start;
    min-height:auto;
    padding:24px;
  }
  .support-services article>span{
    grid-area:number;
    padding-top:4px;
    line-height:1.35;
  }
  .support-services h3{
    grid-area:title;
    margin:0;
  }
  .support-services p{
    grid-area:copy;
    margin:10px 0 0;
    line-height:1.6;
  }
  .support-services small{
    grid-area:price;
    margin:17px 0 0;
    padding:0;
  }
  .support-services a{
    grid-area:link;
    margin-top:13px;
  }

  .about-business-grid article{
    padding:27px 24px;
  }

  .process-list,
  .service-process-list{
    gap:12px;
  }
  .process-list li,
  .service-process-list li{
    min-height:auto;
    padding:25px 24px 26px;
  }
  .process-list span,
  .service-process-list span{
    margin-bottom:16px;
  }

  .service-included-grid article,
  .service-included-grid article:nth-child(odd),
  .service-included-grid article:nth-child(even){
    grid-template-columns:42px minmax(0,1fr);
    gap:15px;
    padding:24px 0;
  }

  .faq-grid{
    gap:24px;
  }
  .faq-section .section-heading{
    margin-bottom:0;
  }
  .faq-section .section-heading>p:last-child{
    margin:18px 0 0;
  }
  .faq-list details{
    padding:19px 0;
  }
  .service-faq-grid{
    gap:26px;
  }
}


/* v1.0.35 site-wide section rhythm audit
   Keep opening heroes generous, while standard content sections start sooner
   and retain enough closing space to separate the next section. */
.section,
.service-section{
  padding-top:88px;
  padding-bottom:92px;
}
.contact-section{
  padding-top:90px;
  padding-bottom:96px;
}
.insights-section{
  padding-top:88px;
  padding-bottom:92px;
}
.related-insights{
  padding-top:80px;
  padding-bottom:88px;
}
.entry-shell{
  padding-top:78px;
  padding-bottom:88px;
}
.insight-layout{
  padding-top:64px;
  padding-bottom:92px;
}

@media(max-width:1000px){
  .section,
  .service-section,
  .insights-section{
    padding-top:76px;
    padding-bottom:82px;
  }
  .contact-section{
    padding-top:78px;
    padding-bottom:84px;
  }
  .related-insights{
    padding-top:72px;
    padding-bottom:80px;
  }
  .entry-shell{
    padding-top:70px;
    padding-bottom:80px;
  }
  .insight-layout{
    padding-top:58px;
    padding-bottom:84px;
  }
}

@media(max-width:650px){
  .section,
  .service-section,
  .insights-section,
  .related-insights{
    padding-top:56px;
    padding-bottom:64px;
  }
  .contact-section{
    padding-top:58px;
    padding-bottom:66px;
  }
  .contact-page-form{
    padding-top:58px;
  }
  .entry-shell{
    padding-top:56px;
    padding-bottom:66px;
  }
  .insight-layout{
    padding-top:50px;
    padding-bottom:70px;
  }
}

/* v1.0.36 continuous dark-section rhythm
   Consecutive dark service sections use a closer shared boundary than
   light-to-dark transitions, preventing their bottom and top padding from
   combining into an oversized empty band. */
.service-included-section,
.service-depth-section,
.service-fit-section,
.service-related-section{
  padding-bottom:68px;
}
.service-depth-section,
.service-fit-section,
.service-related-section,
.service-process-section{
  padding-top:64px;
}

@media(max-width:1000px){
  .service-included-section,
  .service-depth-section,
  .service-fit-section,
  .service-related-section{
    padding-bottom:56px;
  }
  .service-depth-section,
  .service-fit-section,
  .service-related-section,
  .service-process-section{
    padding-top:52px;
  }
}

@media(max-width:650px){
  .service-included-section,
  .service-depth-section,
  .service-fit-section,
  .service-related-section{
    padding-bottom:42px;
  }
  .service-depth-section,
  .service-fit-section,
  .service-related-section,
  .service-process-section{
    padding-top:38px;
  }
}


/* v1.0.37 service hierarchy and final confidence-strip rhythm */
.lead-services{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.service-lead{
  grid-template-columns:38px minmax(0,1fr);
  gap:16px;
  padding:32px;
  min-height:430px;
}
.service-lead>div:last-child{
  display:flex;
  flex-direction:column;
  min-width:0;
  height:100%;
}
.service-lead h3{
  font-size:32px;
  line-height:1.08;
  margin:8px 0 16px;
}
.service-lead p{
  font-size:14px;
  line-height:1.65;
}
.service-lead .price-line{
  margin:auto 0 22px;
  padding-top:26px;
}
.service-lead a{
  align-self:flex-start;
}
.support-services-heading{
  margin:42px 0 18px;
  max-width:720px;
}
.support-services-heading .eyebrow{
  margin-bottom:10px;
}
.support-services-heading h3{
  margin:0;
  font-size:clamp(25px,2.6vw,36px);
  line-height:1.15;
  letter-spacing:-.03em;
}
.support-services{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:15px;
  margin-top:0;
}
.support-services article,
.support-services article:nth-last-child(-n+2),
.support-services article:last-child{
  grid-column:auto!important;
  min-height:285px;
}

@media(max-width:1120px){
  .lead-services{
    grid-template-columns:1fr;
  }
  .service-lead{
    min-height:auto;
  }
}

@media(max-width:1000px){
  .support-services{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:650px){
  .service-lead{
    grid-template-columns:38px minmax(0,1fr);
    gap:15px;
    padding:26px 24px;
    min-height:auto;
  }
  .service-lead h3{
    font-size:31px;
  }
  .service-lead .price-line{
    margin:0 0 20px;
    padding-top:24px;
  }
  .support-services-heading{
    margin:34px 0 16px;
  }
  .support-services-heading h3{
    font-size:28px;
  }
  .support-services{
    grid-template-columns:1fr;
  }
  .support-services article,
  .support-services article:nth-last-child(-n+2),
  .support-services article:last-child{
    min-height:auto;
  }

  /* Match the last row's text-to-boundary space to the internal divider rhythm. */
  .expectations,
  .service-confidence{
    padding-bottom:18px;
  }
}

/* v1.0.39 numbered-card relationship refinements */
/* Retain the boxed process-card treatment, while connecting each number to its heading. */
.service-process-list span{
  margin-bottom:10px;
}

@media(max-width:650px){
  .service-process-list span{
    margin-bottom:9px;
  }
}

/* v1.0.40 About-page business-card alignment */
/* Size the number column to its content so it cannot create an artificial gap before the title. */
.about-business-grid article{
  grid-template-columns:max-content minmax(0,1fr);
  column-gap:12px;
}
.about-business-grid article>span{
  padding-top:6px;
}

@media(max-width:650px){
  .about-business-grid article{
    grid-template-columns:max-content minmax(0,1fr);
    column-gap:10px;
  }
  .about-business-grid article>span{
    padding-top:5px;
  }
}



/* v1.0.41 semantic numbering audit */
/* Decorative numbers are removed from independent choices and examples. */
.engagement-options-grid article{
  display:block;
}
.engagement-options-grid h4{
  margin:0 0 8px;
}

.service-lead{
  grid-template-columns:minmax(0,1fr);
  gap:0;
}

.support-services article,
.support-services article:nth-last-child(-n+2),
.support-services article:last-child{
  display:flex;
  flex-direction:column;
}
.support-services h3{
  margin:0 0 12px;
}
.support-services p{
  margin:0;
}
.support-services small{
  margin-top:auto;
  padding-top:18px;
}
.support-services a{
  margin-top:14px;
}

.about-business-grid article{
  display:flex;
  flex-direction:column;
}
.about-business-grid h3{
  margin:0;
}
.about-business-grid p{
  margin:18px 0 0;
}
.about-business-grid .text-link{
  margin-top:18px;
}

@media(max-width:650px){
  .service-lead{
    grid-template-columns:minmax(0,1fr);
    gap:0;
  }
  .support-services article,
  .support-services article:nth-last-child(-n+2),
  .support-services article:last-child{
    display:flex;
    flex-direction:column;
  }
  .about-business-grid article{
    display:flex;
    flex-direction:column;
  }
  .about-business-grid p{
    margin-top:16px;
  }
}

/* v1.0.43 homepage core-service strip optical centring */
.hero-points{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  width:min(100%,560px);
  max-width:560px;
  margin:38px auto 0;
  gap:0;
  align-items:center;
  justify-items:stretch;
  flex-wrap:initial;
}
.hero-points span{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  padding:0 14px;
  border-left:1px solid #4b473d;
  text-align:center;
  white-space:nowrap;
}
.hero-points span:first-child{
  border-left:0;
}
.hero-location-link{
  display:flex;
  width:fit-content;
  max-width:100%;
  justify-content:center;
  margin:20px auto 0;
  text-align:center;
}
@media(max-width:650px){
  .hero-points{
    width:94%;
    max-width:560px;
    margin:38px auto 0;
    gap:0;
    font-size:11px;
    letter-spacing:.06em;
  }
  .hero-points span{
    padding:0 8px;
    border-left:1px solid #4b473d;
  }
  .hero-points span:first-child{
    border-left:0;
  }
  .hero-location-link{
    margin-top:20px;
    justify-content:center;
    text-align:center;
  }
}

/* v1.0.44 tonal hierarchy and site-wide colour-rhythm audit
   The three homepage lead services become the principal light interruption
   within the long dark services section. The shared Best Suited For section
   also becomes a warm-stone break on service and About pages, where several
   dark content sections otherwise run consecutively. */
.service-lead{
  background:linear-gradient(145deg,#f8f5ee 0%,#ece5d8 100%);
  color:var(--ink);
  border-color:#d7cebf;
  box-shadow:0 22px 54px rgba(0,0,0,.2);
}
.service-lead:after{
  border-color:rgba(166,125,39,.3);
}
.service-lead .service-kicker{
  color:#87641f;
}
.service-lead h3{
  color:var(--ink);
}
.service-lead p{
  color:#5d5850;
}
.service-lead .price-line{
  color:#29261f;
}
.service-lead .price-line strong{
  color:#88631d;
}
.service-lead a{
  color:#7f5c18;
}

/* Create one deliberate light interruption within the long sequence of
   detailed service-page sections, while keeping a contrasting dark advisory card. */
.service-fit-section{
  background:#ece8df;
  color:var(--ink);
  border-top-color:#d5cec1;
  border-bottom-color:#d5cec1;
  padding-top:88px;
  padding-bottom:92px;
}
.service-fit-section .eyebrow{
  color:#916c22;
}
.service-fit-copy li{
  background:#fff;
  color:#4e4941;
  border-color:#d6d0c5;
  box-shadow:0 10px 26px rgba(35,29,19,.06);
}
.service-fit-copy li:before{
  color:#9a7429;
}
.service-fit-section .service-alternative{
  background:#171715;
  color:#fff;
  border:1px solid #36342e;
  box-shadow:0 18px 42px rgba(35,29,19,.13);
}
.service-fit-section .service-alternative .service-card-label{
  color:var(--gold2);
}
.service-fit-section .service-alternative>p:not(.service-card-label){
  color:#c5c1b7;
}
.service-fit-section .service-alternative .text-link{
  color:var(--gold2);
}

@media(max-width:1000px){
  .service-fit-section{
    padding-top:76px;
    padding-bottom:82px;
  }
}

@media(max-width:650px){
  .service-lead{
    box-shadow:0 16px 38px rgba(0,0,0,.18);
  }
  .service-fit-section{
    padding-top:56px;
    padding-bottom:64px;
  }
}

/* v1.0.45 clean ivory-card system
   Remove decorative rings from light lead cards and use the same restrained
   warm-ivory treatment for large explanatory service cards across every
   service template. Process, supporting-service and alternative-route cards
   remain dark so colour continues to communicate hierarchy and function. */
.service-lead:after{
  content:none;
  display:none;
}

.service-depth-card{
  background:linear-gradient(145deg,#f8f5ee 0%,#eee7da 100%);
  color:var(--ink);
  border-color:#d7cebf;
  box-shadow:0 18px 44px rgba(0,0,0,.16);
}
.service-depth-card h3{
  color:var(--ink);
}
.service-depth-card p{
  color:#5d5850;
}
.service-depth-card ul,
.service-depth-card .service-depth-points li{
  color:#514c44;
}
.service-depth-card .service-depth-points-intro{
  color:#87641f;
}
.service-depth-card .service-depth-points li::before{
  background:#a27a2a;
}

@media(max-width:650px){
  .service-depth-card{
    box-shadow:0 14px 34px rgba(0,0,0,.14);
  }
}

/* v1.0.46 contextual gold contrast on light surfaces
   Bright champagne gold remains reserved for black and charcoal backgrounds.
   Cream, stone, white and ivory components use a deeper bronze-gold so small
   uppercase headings, links, prices, arrows, bullets and controls remain clear. */
.work-section .eyebrow,
.proof-section .eyebrow,
.faq-section .eyebrow,
.service-section.service-light .eyebrow,
.service-proof-block .eyebrow,
.service-faq-section .eyebrow,
.service-fit-section .eyebrow,
.insights-section .eyebrow,
.related-insights .eyebrow{
  color:var(--gold-on-light);
}

/* Light cards and panels embedded inside dark sections. */
.service-lead .service-kicker,
.service-lead .price-line strong,
.service-lead a,
.service-hero-card .service-card-label,
.service-depth-card .service-depth-points-intro,
.service-depth-card .text-link,
.insights-hero-note>span,
.article-answer strong{
  color:var(--gold-on-light);
}

/* Compact numbered and card accents on cream, stone and white surfaces. */
.expectations span,
.service-confidence span,
.service-outcome-grid article>span,
.project-card .project-type,
.project-card .text-link,
.project-content a,
.case-proof strong,
.insight-meta,
.insight-card .text-link,
.related-insights-grid span,
.related-insights-grid .text-link{
  color:var(--gold-on-light);
}

/* Links and list accents that sit directly on light section backgrounds. */
.work-section .text-link,
.proof-section .text-link,
.service-section.service-light .text-link,
.service-proof-block .text-link,
.service-proof-copy .text-link,
.insights-section .text-link,
.related-insights .text-link,
.service-fit-section .service-fit-copy li:before,
.service-section.service-light .case-study-copy li:before{
  color:var(--gold-on-light);
}

/* FAQ controls and in-article light callouts. */
.faq-list summary:after,
.insight-content .article-toc a:not(.button),
.insight-content .article-answer a:not(.button){
  color:var(--gold-on-light);
}

/* v1.0.47 related-service contrast and editorial Blog reading surface
   Related-service navigation cards use a restrained warm-stone treatment so
   their dark section does not merge into the following process section.
   Individual Blog posts now move from the dark hero and feature graphic into
   one continuous light editorial reading area, while author and CTA panels
   remain dark to preserve hierarchy and visual rhythm. */
.service-related-card{
  background:linear-gradient(145deg,#f7f3eb 0%,#eee7da 100%);
  color:var(--ink);
  border-color:#d6cdbc;
  box-shadow:0 14px 34px rgba(0,0,0,.15);
}
.service-related-card:hover,
.service-related-card:focus-within{
  transform:translateY(-3px);
  border-color:#a47c2d;
  box-shadow:0 19px 42px rgba(0,0,0,.2);
}
.service-related-card>span,
.service-related-card .text-link{
  color:var(--gold-on-light);
}
.service-related-card h3{
  color:var(--ink);
}
.service-related-card p{
  color:#5c574f;
}
.service-related-card a:focus-visible{
  outline:2px solid #8d6920;
  outline-offset:5px;
  border-radius:2px;
}

.insight-reading-section{
  margin-top:56px;
  background:linear-gradient(180deg,#eee8dd 0%,#f3efe7 100%);
  color:var(--ink);
  border-top:1px solid #d6cec0;
  border-bottom:1px solid #d8d0c3;
}
.insight-reading-section .insight-layout{
  margin-inline:auto;
}
.insight-reading-section .insight-content{
  color:#504b43;
}
.insight-reading-section .insight-content h2,
.insight-reading-section .insight-content h3{
  color:var(--ink);
}
.insight-reading-section .insight-content p,
.insight-reading-section .insight-content li{
  color:#514c44;
}
.insight-reading-section .insight-content .article-lead{
  color:#2f2b26!important;
}
.insight-reading-section .insight-content a:not(.button){
  color:var(--gold-on-light);
  text-decoration-color:rgba(127,92,24,.55);
}
.insight-reading-section .insight-content a:not(.button):hover,
.insight-reading-section .insight-content a:not(.button):focus-visible{
  color:#5f4514;
  text-decoration-color:#5f4514;
}
.insight-reading-section .insight-content>ul:not(.article-toc ul),
.insight-reading-section .insight-content>ol{
  border-left-color:rgba(127,92,24,.58);
}
.insight-reading-section .article-toc,
.insight-reading-section .article-answer{
  background:#fff;
  border-color:#d7cebf;
  box-shadow:0 12px 28px rgba(47,38,25,.08);
}
.insight-reading-section .article-toc{
  border-left-color:#8d6920;
}
.insight-reading-section .article-answer{
  border-left-color:#8d6920;
}
.insight-reading-section .article-table-intro{
  color:#5a554d;
}
.insight-reading-section .article-table-wrap{
  border-color:#d4ccbe;
  background:#fff;
  box-shadow:0 13px 30px rgba(47,38,25,.08);
}
.insight-reading-section .article-table{
  background:#fff;
}
.insight-reading-section .article-table th{
  color:#171714;
  background:#e6ded1;
  border-bottom-color:#d2c8b9;
}
.insight-reading-section .article-table td{
  color:#514c44;
  border-bottom-color:#ddd5c8;
}
.insight-reading-section .article-source-note{
  color:#6d675e!important;
  border-top-color:#cbc2b4;
}
/* Preserve the intentionally dark conversion panel inside the light article. */
.insight-reading-section .article-cta{
  color:#fff;
  background:radial-gradient(circle at 92% 18%,rgba(205,165,77,.17),transparent 32%),#151513;
  border-color:#3d392f;
  box-shadow:0 18px 40px rgba(0,0,0,.14);
}
.insight-reading-section .article-cta h2,
.insight-reading-section .article-cta h3{
  color:#fff;
}
.insight-reading-section .article-cta .eyebrow,
.insight-reading-section .article-cta a:not(.button){
  color:var(--gold2);
}
.insight-reading-section .article-cta>p:not(.eyebrow),
.insight-reading-section .article-cta p,
.insight-reading-section .article-cta li{
  color:#bbb7ad;
}
.related-insights{
  border-top:1px solid #d7cfc2;
  background:#f8f5ee;
}

@media(max-width:650px){
  .service-related-card{
    box-shadow:0 12px 28px rgba(0,0,0,.14);
  }
  .insight-reading-section{
    margin-top:28px;
  }
  .insight-reading-section .article-table-wrap{
    background:transparent;
    box-shadow:none;
  }
  .insight-reading-section .article-table tr{
    border-color:#d4ccbe;
    background:#fff;
    box-shadow:0 9px 22px rgba(47,38,25,.07);
  }
  .insight-reading-section .article-table td{
    color:#514c44;
    border-bottom-color:#ddd5c8;
  }
  .insight-reading-section .article-table td::before{
    color:var(--gold-on-light);
  }
  .insight-reading-section .article-table-wrap.table-mobile-matrix,
  .insight-reading-section .article-table-wrap.table-mobile-comparison{
    border-top-color:#cfc6b8;
    border-bottom-color:#cfc6b8;
  }
  .insight-reading-section .article-table.table-mobile-matrix tr,
  .insight-reading-section .article-table.table-mobile-comparison tr{
    border-bottom-color:#d7cfc2;
    border-left-color:rgba(127,92,24,.58);
    background:transparent;
    box-shadow:none;
  }
  .insight-reading-section .article-table.table-mobile-matrix td:first-child,
  .insight-reading-section .article-table.table-mobile-comparison td:first-child{
    color:var(--ink);
  }
  .insight-reading-section .article-table.table-mobile-matrix td:not(:first-child),
  .insight-reading-section .article-table.table-mobile-comparison td:not(:first-child){
    border-left-color:#cfc6b8;
    color:#514c44;
  }
  .insight-reading-section .article-table.table-mobile-matrix td:not(:first-child)::before,
  .insight-reading-section .article-table.table-mobile-comparison td:not(:first-child)::before{
    color:var(--gold-on-light);
  }
}

/* v1.0.48 clean editorial list markers on light Blog reading surfaces */
.insight-reading-section .insight-content>ul:not(.article-toc ul),
.insight-reading-section .insight-content>ol{
  border-left:0;
  padding:0 0 0 1.55em;
  background:transparent;
  border-radius:0;
}
.insight-reading-section .insight-content>ul:not(.article-toc ul)>li,
.insight-reading-section .insight-content>ol>li{
  padding-left:.22em;
}
.insight-reading-section .insight-content>ul:not(.article-toc ul)>li::marker,
.insight-reading-section .insight-content>ol>li::marker{
  color:var(--gold-on-light);
  font-weight:800;
}
@media(max-width:650px){
  .insight-reading-section .insight-content>ul:not(.article-toc ul),
  .insight-reading-section .insight-content>ol{
    padding-left:1.45em;
  }
}

/* v1.0.49 responsive homepage core-service alignment
   Normal mobile retains the centred three-service strip. Wider effective
   viewports, including tablets, desktop, and mobile browser zoom-out states,
   use a compact left-aligned row tied to the hero copy and button alignment. */
@media(min-width:651px){
  .hero-points{
    display:inline-grid;
    grid-template-columns:repeat(3,max-content);
    width:auto;
    max-width:100%;
    margin:38px 0 0;
    justify-items:start;
    justify-content:start;
  }
  .hero-points span{
    width:auto;
    justify-content:flex-start;
    padding:0 18px;
    text-align:left;
  }
  .hero-points span:first-child{
    padding-left:0;
  }
  .hero-location-link{
    width:fit-content;
    justify-content:flex-start;
    margin:20px 0 0;
    text-align:left;
  }
}


/* v1.0.57: Services & Pricing visual refinement and portfolio preview palette alignment */
.services-pricing-page{background:#0b0b09;color:#fff}
.pricing-hero{position:relative;overflow:hidden;padding:108px 0 94px;background:radial-gradient(circle at 80% 38%,rgba(205,165,77,.14),transparent 30%),linear-gradient(145deg,#080807,#11100e);border-bottom:1px solid #2b2923}
.pricing-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(to bottom,#000,transparent 92%)}
.pricing-hero-inner{position:relative;max-width:900px}
.pricing-hero h1{font-size:clamp(50px,5.5vw,78px);line-height:1;letter-spacing:-.052em;margin:0 0 28px}
.pricing-hero p{max-width:760px;margin:0;color:#c9c5bb;font-size:18px;line-height:1.75}
.pricing-fit-section{padding:92px 0;background:var(--cream);color:var(--ink)}
.pricing-fit-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:72px;align-items:center}
.pricing-fit-copy h2,.pricing-section-heading h2,.pricing-combined-copy h2{font-size:clamp(40px,4.4vw,62px);line-height:1.04;letter-spacing:-.045em;margin:0 0 24px}
.pricing-fit-copy>p:not(.eyebrow){font-size:17px;color:#625e56;max-width:700px}
.pricing-small-note{font-size:13px!important;font-weight:700;color:#8b6721!important;margin-top:22px}
.pricing-fit-action{background:#fff;border:1px solid #d8d1c5;border-radius:18px;padding:36px;box-shadow:0 20px 55px rgba(31,27,20,.08)}
.pricing-fit-action>span{display:block;color:#8b6721;text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:800;margin-bottom:8px}
.pricing-fit-action>strong{display:block;font-size:30px;line-height:1.1;letter-spacing:-.035em;margin-bottom:16px}
.pricing-fit-action>p{color:#625e56;margin:0 0 26px}
.pricing-services-section{padding:100px 0}
.pricing-services-dark{background:#0b0b09;color:#fff}
.pricing-services-light{background:#ebe6dd;color:var(--ink)}
.pricing-section-heading{max-width:820px;margin-bottom:48px}
.pricing-section-heading .eyebrow{margin-bottom:14px}
.pricing-services-dark .pricing-section-heading h2{color:#fff}
.pricing-card-grid{display:grid;gap:22px}
.pricing-card-grid-lead{grid-template-columns:repeat(3,minmax(0,1fr))}
.pricing-card-grid-support{grid-template-columns:repeat(2,minmax(0,1fr))}
.pricing-card{border-radius:16px;padding:32px;min-width:0}
.pricing-card-dark{background:linear-gradient(145deg,#141411,#1b1a16);border:1px solid #343129;box-shadow:0 18px 45px rgba(0,0,0,.2)}
.pricing-card-light{background:#f8f5ef;border:1px solid #d4cdc0;box-shadow:0 15px 34px rgba(37,31,22,.06)}
.pricing-card-top{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:21px}
.pricing-card h3{margin:0;font-size:clamp(25px,2.2vw,34px);line-height:1.08;letter-spacing:-.035em;overflow-wrap:normal;word-break:normal}
.pricing-card h3 a{color:var(--gold2);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.pricing-card h3 a:hover{color:#efd27f}
.pricing-price{margin:0!important;font-size:18px!important;line-height:1.3!important;font-weight:800;color:#f3efe6!important}
.pricing-card-light .pricing-price{color:#26231e!important}
.pricing-card>p:not(.pricing-price):not(.pricing-combinations){color:#b8b4aa;margin:0;font-size:15px;line-height:1.7}
.pricing-card-light>p:not(.pricing-price):not(.pricing-combinations){color:#625d54}
.pricing-combinations{display:flex;flex-wrap:wrap;gap:7px;margin:25px 0 0!important}
.pricing-combinations strong{width:100%;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#d8d3c8;margin-bottom:3px}
.pricing-combinations span{display:inline-flex;border:1px solid #4b463b;border-radius:999px;padding:5px 9px;font-size:11px;color:#d4d0c6}
.pricing-combined-section{padding:100px 0;background:radial-gradient(circle at 16% 24%,rgba(205,165,77,.11),transparent 28%),#10100e;color:#fff}
.pricing-combined-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:72px;align-items:center}
.pricing-combined-copy>p:not(.eyebrow){color:#bcb8ae;font-size:17px;max-width:700px}
.pricing-combined-card{background:#f1ece3;color:var(--ink);border-radius:18px;padding:36px;border:1px solid rgba(205,165,77,.36)}
.pricing-combined-card p{margin:0 0 28px;color:#605b52}
.preview-shop{background:radial-gradient(circle at 50% 34%,rgba(205,165,77,.18),transparent 46%),linear-gradient(145deg,#080807,#171611)}
.preview-service{background:linear-gradient(145deg,#f0ece4,#d9d2c6)}
.case-study-image-shop{background:radial-gradient(circle at 50% 34%,rgba(205,165,77,.18),transparent 46%),linear-gradient(145deg,#080807,#171611)}
.case-study-image-service{background:linear-gradient(145deg,#f0ece4,#d9d2c6)}
@media(max-width:1000px){.pricing-fit-grid,.pricing-combined-grid{grid-template-columns:1fr;gap:42px}.pricing-card-grid-lead{grid-template-columns:1fr}.pricing-card-grid-support{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.pricing-hero{padding:68px 0 62px}.pricing-hero h1{font-size:44px;margin-bottom:22px}.pricing-hero p{font-size:16px}.pricing-fit-section,.pricing-services-section,.pricing-combined-section{padding:72px 0}.pricing-fit-grid,.pricing-combined-grid{gap:32px}.pricing-fit-copy h2,.pricing-section-heading h2,.pricing-combined-copy h2{font-size:38px}.pricing-fit-action,.pricing-card,.pricing-combined-card{padding:26px}.pricing-card-grid-support{grid-template-columns:1fr}.pricing-card{border-radius:14px}.pricing-card h3{font-size:28px;line-height:1.1}.pricing-price{font-size:16px!important}.pricing-card>p:not(.pricing-price):not(.pricing-combinations){font-size:15px}.pricing-combinations{margin-top:22px!important}.preview-shop{background:radial-gradient(circle at 50% 32%,rgba(205,165,77,.17),transparent 50%),linear-gradient(145deg,#080807,#171611)}.preview-service{background:linear-gradient(145deg,#f2eee7,#ddd6cb)}}


/* v1.0.58 Services & Pricing contrast and portfolio-preview refinement
   Reuse the established DSM light-card / dark-section hierarchy, reserve gold
   for accents, and increase phone separation on the Charlie Scott's preview. */
.pricing-fit-copy .eyebrow,
.pricing-services-light .pricing-section-heading .eyebrow{
  color:var(--gold-on-light);
}
.pricing-services-dark .pricing-section-heading .eyebrow,
.pricing-combined-copy .eyebrow{
  color:#e8c875;
}
.pricing-small-note{
  display:inline-block;
  margin-top:24px!important;
  padding:10px 14px;
  color:#765315!important;
  background:rgba(205,165,77,.11);
  border-left:3px solid var(--gold);
  border-radius:0 6px 6px 0;
  font-size:13px!important;
  font-weight:800;
}

/* Lead-service cards deliberately echo the homepage lead-service treatment. */
.pricing-card-dark{
  position:relative;
  overflow:hidden;
  background:linear-gradient(145deg,#f8f5ee 0%,#ece5d8 100%);
  color:var(--ink);
  border:1px solid #d7cebf;
  box-shadow:0 22px 54px rgba(0,0,0,.22);
}
.pricing-card-dark:after{
  content:"";
  position:absolute;
  width:230px;
  height:230px;
  right:-128px;
  top:-112px;
  border:1px solid rgba(166,125,39,.24);
  border-radius:50%;
  pointer-events:none;
}
.pricing-card-dark>*{position:relative;z-index:1}
.pricing-card h3 a{
  color:var(--ink);
  text-decoration-color:var(--gold);
  text-decoration-thickness:1px;
  text-underline-offset:6px;
}
.pricing-card h3 a:hover,
.pricing-card h3 a:focus-visible{
  color:#6f5018;
}
.pricing-card-dark .pricing-price{
  color:#29261f!important;
}
.pricing-card-dark>p:not(.pricing-price):not(.pricing-combinations){
  color:#5d5850;
}
.pricing-card-dark .pricing-combinations strong{
  color:#73551c;
}
.pricing-card-dark .pricing-combinations span{
  border-color:#c9bead;
  color:#514c44;
  background:rgba(255,255,255,.4);
}

/* Supporting cards stay light, but use black typography and a gold structural accent. */
.pricing-services-light{
  background:#ece8df;
}
.pricing-card-light{
  position:relative;
  background:#fff;
  border:1px solid #d6cfc3;
  border-top:3px solid var(--gold);
  box-shadow:0 16px 38px rgba(37,31,22,.07);
}
.pricing-card-light h3 a{
  color:var(--ink);
  text-decoration-color:#b4862f;
}
.pricing-card-light h3 a:hover,
.pricing-card-light h3 a:focus-visible{
  color:#6f5018;
}
.pricing-card-light .pricing-price{
  color:#27231d!important;
}
.pricing-card-light>p:not(.pricing-price):not(.pricing-combinations){
  color:#5e5951;
}

/* The final conversion area is integrated into the section rather than nested in a cream card. */
.pricing-combined-card{
  background:transparent;
  color:#fff;
  border:0;
  border-left:2px solid var(--gold);
  border-radius:0;
  padding:10px 0 10px 34px;
}
.pricing-combined-card p{
  margin:0 0 30px;
  color:#d1cdc4;
  font-size:16px;
  line-height:1.75;
}
.pricing-combined-card .button{
  min-width:280px;
}

/* Give the black handset a clear silhouette against a warmer mid-tone DSM stone. */
.preview-shop,
.case-study-image-shop{
  background:radial-gradient(circle at 50% 34%,rgba(225,189,105,.25),transparent 48%),linear-gradient(145deg,#61584d,#3c3730);
}

@media(max-width:650px){
  .pricing-small-note{display:block}
  .pricing-combined-card{
    border-left:0;
    border-top:1px solid rgba(225,189,105,.5);
    padding:28px 0 0;
  }
  .pricing-combined-card .button{
    width:100%;
    min-width:0;
  }
  .preview-shop,
  .case-study-image-shop{
    background:radial-gradient(circle at 50% 32%,rgba(225,189,105,.25),transparent 52%),linear-gradient(145deg,#655c50,#403a33);
  }
}

/* v1.0.59 Services & Pricing final card-system alignment
   Reuse the homepage service-card palette literally, remove decorative framing,
   and make the combined-project journey read as one continuous composition. */

/* The Project Fit Call explanation is complete without a defensive qualification. */
.pricing-small-note{display:none!important}

/* Lead services: same surfaces, borders, radius and restrained gold use as homepage lead cards. */
.pricing-card-dark{
  position:relative;
  overflow:visible;
  background:linear-gradient(145deg,#191917,#11110f);
  color:#fff;
  border:1px solid #33312b;
  border-radius:var(--radius);
  box-shadow:none;
  padding:32px;
}
.pricing-card-dark:after{content:none!important;display:none!important}
.pricing-card-dark>*{position:static}
.pricing-card h3 a,
.pricing-card-dark h3 a{
  color:#fff;
  text-decoration:none;
}
.pricing-card h3 a:hover,
.pricing-card h3 a:focus-visible,
.pricing-card-dark h3 a:hover,
.pricing-card-dark h3 a:focus-visible{
  color:var(--gold2);
  text-decoration:none;
}
.pricing-card-dark .pricing-price{
  color:var(--gold2)!important;
  font-weight:800;
}
.pricing-card-dark>p:not(.pricing-price):not(.pricing-combinations){
  color:#bbb8b0;
}
.pricing-card-dark .pricing-combinations strong{
  color:var(--gold2);
}
.pricing-card-dark .pricing-combinations span{
  border:1px solid #4b473d;
  color:#d4d0c6;
  background:transparent;
}

/* Supporting services: literal homepage supporting-card treatment on the warm-stone section. */
.pricing-services-light{
  background:#ece8df;
}
.pricing-card-light{
  position:relative;
  background:#141412;
  color:#fff;
  border:1px solid #2c2b27;
  border-radius:12px;
  box-shadow:none;
  padding:28px;
}
.pricing-card-light:before,
.pricing-card-light:after{content:none!important;display:none!important}
.pricing-card-light h3 a{
  color:#fff;
  text-decoration:none;
}
.pricing-card-light h3 a:hover,
.pricing-card-light h3 a:focus-visible{
  color:var(--gold2);
  text-decoration:none;
}
.pricing-card-light .pricing-price{
  color:var(--gold2)!important;
  font-weight:800;
}
.pricing-card-light>p:not(.pricing-price):not(.pricing-combinations){
  color:#aaa79f;
}

/* Preserve the homepage hierarchy inside both card families. */
.pricing-card-top{gap:10px;margin-bottom:22px}
.pricing-card h3{
  font-size:clamp(24px,2vw,32px);
  line-height:1.08;
  letter-spacing:-.035em;
}
.pricing-card-grid-lead .pricing-card{min-height:430px;display:flex;flex-direction:column}
.pricing-card-grid-lead .pricing-combinations{margin-top:auto!important;padding-top:26px}
.pricing-card-grid-support .pricing-card{min-height:285px}

/* One narrative from explanation to next step, with no divider or nested card. */
.pricing-combined-section{
  padding:100px 0;
  background:radial-gradient(circle at 16% 24%,rgba(205,165,77,.11),transparent 28%),#10100e;
  color:#fff;
}
.pricing-combined-inner{max-width:920px}
.pricing-combined-inner>.eyebrow{color:#e8c875}
.pricing-combined-inner>h2{
  font-size:clamp(40px,4.4vw,62px);
  line-height:1.04;
  letter-spacing:-.045em;
  margin:0 0 26px;
}
.pricing-combined-inner>p{
  max-width:820px;
  color:#bcb8ae;
  font-size:17px;
  line-height:1.75;
  margin:0 0 22px;
}
.pricing-combined-next{
  margin-top:46px;
  max-width:760px;
}
.pricing-combined-next h3{
  margin:0 0 14px;
  color:#fff;
  font-size:clamp(25px,2.8vw,36px);
  line-height:1.12;
  letter-spacing:-.03em;
}
.pricing-combined-next p{
  margin:0 0 28px;
  color:#cbc7bd;
  font-size:16px;
  line-height:1.72;
}
.pricing-combined-next .button{min-width:280px}

@media(max-width:1000px){
  .pricing-card-grid-lead{grid-template-columns:1fr}
}
@media(max-width:650px){
  .pricing-card-grid-lead .pricing-card,
  .pricing-card-grid-support .pricing-card{min-height:auto}
  .pricing-card-dark{padding:30px}
  .pricing-card-light{padding:28px}
  .pricing-combined-inner>h2{font-size:38px}
  .pricing-combined-next{margin-top:36px}
  .pricing-combined-next .button{width:100%;min-width:0}
}

/* Explicit card links mirror the homepage service cards and make destinations clear. */
.pricing-card h3{color:#fff}
.pricing-card-grid-support .pricing-card,
.pricing-card-grid-lead .pricing-card{display:flex;flex-direction:column}
.pricing-card-link{
  display:inline-flex;
  align-items:center;
  gap:9px;
  align-self:flex-start;
  margin-top:20px;
  color:var(--gold2);
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.065em;
}
.pricing-card-link:hover,
.pricing-card-link:focus-visible{text-decoration:underline;text-underline-offset:4px}
.pricing-card-grid-support .pricing-card-link{margin-top:auto;padding-top:22px}
.pricing-card-grid-lead .pricing-card-link{margin-top:18px}

/* v1.0.60 Services & Pricing final optical alignment
   Centre the isolated Project Fit Call conversion card, restore the homepage's
   final light treatment for lead-service cards, and tighten the secondary
   handoff inside Flexible Combinations. Supporting-service cards stay unchanged. */
.pricing-fit-action{
  text-align:center;
}
.pricing-fit-action>span,
.pricing-fit-action>strong,
.pricing-fit-action>p{
  margin-left:auto;
  margin-right:auto;
}
.pricing-fit-action>p{
  max-width:520px;
}
.pricing-fit-action .button{
  margin-inline:auto;
}

/* Lead services use the homepage's final warm-light card palette. */
.pricing-card-grid-lead .pricing-card-dark{
  background:linear-gradient(145deg,#f8f5ee 0%,#ece5d8 100%);
  color:var(--ink);
  border:1px solid #d7cebf;
  border-radius:var(--radius);
  box-shadow:0 22px 54px rgba(0,0,0,.20);
}
.pricing-card-grid-lead .pricing-card-dark h3{
  color:var(--ink);
}
.pricing-card-grid-lead .pricing-card-dark .pricing-price{
  color:#88631d!important;
}
.pricing-card-grid-lead .pricing-card-dark>p:not(.pricing-price):not(.pricing-combinations){
  color:#5d5850;
}
.pricing-card-grid-lead .pricing-card-dark .pricing-combinations strong{
  color:#73551c;
}
.pricing-card-grid-lead .pricing-card-dark .pricing-combinations span{
  border-color:#c9bead;
  color:#514c44;
  background:rgba(255,255,255,.42);
}
.pricing-card-grid-lead .pricing-card-link{
  color:#7f5c18;
}
.pricing-card-grid-lead .pricing-card-link:hover,
.pricing-card-grid-lead .pricing-card-link:focus-visible{
  color:#5f4310;
}

/* Keep the final question clearly within the same Flexible Combinations section. */
.pricing-combined-next{
  margin-top:30px;
}
.pricing-combined-next h3{
  font-size:clamp(23px,2.35vw,32px);
  margin-bottom:12px;
}
.pricing-combined-next p{
  margin-bottom:26px;
}

@media(max-width:650px){
  .pricing-fit-action{
    text-align:center;
  }
  .pricing-fit-action .button{
    width:100%;
  }
  .pricing-combined-next{
    margin-top:24px;
  }
  .pricing-combined-next h3{
    font-size:27px;
  }
}


/* v1.0.63 approved homepage optical hierarchy refinements
   Increase the two Selected Work labels and project names, and apply a tiny
   mobile-only optical correction to the homepage hero H1. */
.project-card .project-type{font-size:12px}
.project-card .project-content h3{font-size:34px}
@media(max-width:650px){
  .hero .hero-copy>h1{margin-left:2px}
}


/* v1.0.64 approved Website Maintenance & Support pricing-card addition only. */
.pricing-card-grid-support .pricing-card-maintenance{grid-column:1/-1}

/* v1.0.65 approved Website Maintenance hero CTA alignment only. */
.service-website-maintenance-support .service-hero-copy .button-row .button:first-child{
  text-align:center;
}

/* v1.0.66 approved B3/B4 internal-link additions only. */
.service-guidance-section{
  background:#0d0d0b;
  border-top:1px solid #292821;
  border-bottom:1px solid #292821;
}
.service-guidance-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.service-guidance-grid-single .service-guidance-card{
  grid-column:1/-1;
}
.service-guidance-card{
  display:flex;
  flex-direction:column;
  min-height:185px;
  padding:30px;
  background:#151513;
  border:1px solid #302f2a;
  border-radius:13px;
  transition:transform .2s ease,border-color .2s ease;
}
.service-guidance-card:hover,
.service-guidance-card:focus-within{
  transform:translateY(-3px);
  border-color:#6f5a31;
}
.service-guidance-card h3{
  max-width:690px;
  margin:0 0 28px;
  font-size:25px;
  line-height:1.16;
  letter-spacing:-.025em;
}
.service-guidance-card h3 a:hover,
.service-guidance-card h3 a:focus-visible{
  text-decoration:underline;
  text-underline-offset:4px;
}
.service-guidance-card .text-link{
  margin-top:auto;
}
.article-case-study-callout{
  margin:52px 0 34px;
  padding:28px 30px;
  background:#fff;
  border:1px solid #d7cebf;
  border-left:4px solid var(--gold-on-light);
  border-radius:0 10px 10px 0;
  box-shadow:0 12px 28px rgba(47,38,25,.08);
}
.insight-reading-section .article-case-study-callout .eyebrow{
  margin-bottom:11px;
  color:var(--gold-on-light);
}
.insight-reading-section .article-case-study-callout>p:not(.eyebrow){
  margin:0 0 18px;
  color:#514c44;
  font-size:16px;
  line-height:1.7;
}
.insight-reading-section .article-case-study-callout .text-link{
  color:var(--gold-on-light);
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}
@media(max-width:650px){
  .service-guidance-grid{grid-template-columns:1fr}
  .service-guidance-grid-single .service-guidance-card{grid-column:auto}
  .service-guidance-card{min-height:auto;padding:26px}
  .service-guidance-card h3{font-size:23px;margin-bottom:22px}
  .article-case-study-callout{margin:42px 0 28px;padding:24px}
}
@media(prefers-reduced-motion:reduce){
  .service-guidance-card{transition:none}
}

/* v1.0.69 approved homepage hero glow tone-down only.
   Preserve the v1.0.68 hero content, layout, mockup, cards, spacing, grid and
   interactions; reduce and tighten the champagne-gold illumination so the
   headline and CTAs remain the dominant visual anchors. */
.hero{
  background:
    radial-gradient(ellipse at 52% 43%,rgba(232,199,119,.105) 0%,rgba(205,165,77,.052) 18%,rgba(116,87,34,.018) 30%,transparent 47%),
    linear-gradient(180deg,#050504 0%,#070605 48%,#050504 100%);
}
.hero:before{
  opacity:.27;
  background-image:
    linear-gradient(rgba(255,255,255,.013) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.013) 1px,transparent 1px);
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.86),transparent 91%);
}
.hero-liquid-metal{
  inset:-6%;
  opacity:.66;
  background:radial-gradient(ellipse at 51% 43%,rgba(226,196,123,.048) 0%,rgba(205,165,77,.018) 25%,transparent 49%);
}
.hero-liquid-metal .liquid-silver{
  left:12%;
  top:10%;
  width:42%;
  height:40%;
  background:radial-gradient(ellipse at 52% 50%,rgba(244,239,224,.065) 0%,rgba(173,160,126,.028) 31%,rgba(31,31,29,0) 64%);
  filter:blur(44px);
}
.hero-liquid-metal .liquid-gold{
  right:14%;
  top:13%;
  width:44%;
  height:55%;
  background:radial-gradient(ellipse at 48% 46%,rgba(236,203,125,.185) 0%,rgba(205,165,77,.082) 28%,rgba(72,55,25,0) 62%);
  filter:blur(50px);
}
.hero-liquid-metal .liquid-sweep{
  left:23%;
  bottom:15%;
  width:58%;
  height:15%;
  background:linear-gradient(102deg,transparent 12%,rgba(239,230,204,.03) 34%,rgba(225,189,105,.085) 50%,rgba(126,105,66,.03) 63%,transparent 87%);
  filter:blur(33px);
}
.hero-liquid-metal:before{
  inset:18% 19% 26% 21%;
  background:conic-gradient(from 215deg at 55% 46%,transparent 0 23%,rgba(225,189,105,.042) 31%,rgba(241,234,214,.023) 39%,transparent 53%,rgba(205,165,77,.047) 65%,transparent 78%);
  filter:blur(38px);
}
.hero-liquid-metal:after{
  left:28%;
  right:20%;
  top:31%;
  height:15%;
  background:linear-gradient(106deg,transparent 7%,rgba(246,239,217,.03) 33%,rgba(230,197,116,.085) 49%,rgba(255,255,255,.024) 60%,transparent 88%);
  filter:blur(32px);
}
@media(max-width:650px){
  .hero{
    background:
      radial-gradient(ellipse at 50% 42%,rgba(232,199,119,.095) 0%,rgba(205,165,77,.045) 19%,rgba(106,79,31,.015) 31%,transparent 49%),
      linear-gradient(180deg,#050504 0%,#070605 47%,#050504 100%);
  }
  .hero:before{opacity:.22}
  .hero-liquid-metal{inset:-3%;opacity:.64}
  .hero-liquid-metal .liquid-silver{left:8%;top:10%;width:62%;height:38%;filter:blur(40px)}
  .hero-liquid-metal .liquid-gold{right:4%;top:14%;width:62%;height:50%;filter:blur(46px)}
  .hero-liquid-metal .liquid-sweep{left:20%;bottom:18%;width:64%;height:14%;filter:blur(30px)}
  .hero-liquid-metal:before{inset:18% 7% 30% 10%;filter:blur(36px)}
  .hero-liquid-metal:after{left:17%;right:8%;top:33%;height:14%;filter:blur(30px)}
}

