/* Matheson-Hazzard, bespoke solar-responsive design system. */
:root,[data-phase="morning"]{--bg:#eee7d9;--surface:#fffaf0;--surface-alt:#ddd0ba;--ink:#1d211f;--muted:#4c4f49;--fine:#645f52;--line:rgba(62,50,34,.23);--gold:#8b5923;--gold-shine:#dbad65;--photo-tint:rgba(236,180,92,.13);--shade:rgba(46,32,16,.24);--accent-bg:#d7bd90;--header:rgba(249,242,226,.94);--page-glow:rgba(180,117,37,.24);color-scheme:light}
[data-phase="dawn"]{--bg:#e4d1bd;--surface:#fff0dd;--surface-alt:#cfb79b;--ink:#30251f;--muted:#57453a;--fine:#655346;--line:rgba(88,52,30,.23);--gold:#925321;--gold-shine:#e4ad6a;--photo-tint:rgba(225,118,57,.21);--shade:rgba(84,48,22,.28);--accent-bg:#dfb687;--header:rgba(238,217,191,.94);--page-glow:rgba(214,110,58,.23);color-scheme:light}
[data-phase="afternoon"]{--bg:#dce3e4;--surface:#f5f9f7;--surface-alt:#c1cbd1;--ink:#1c2932;--muted:#45525a;--fine:#566168;--line:rgba(31,57,74,.21);--gold:#805c2b;--gold-shine:#d7ab64;--photo-tint:rgba(85,135,173,.17);--shade:rgba(25,52,70,.26);--accent-bg:#d2c3a7;--header:rgba(224,234,233,.94);--page-glow:rgba(67,105,141,.23);color-scheme:light}
[data-phase="dusk"]{--bg:#282638;--surface:#343347;--surface-alt:#444153;--ink:#fff2e3;--muted:#ded0c2;--fine:#c8baa8;--line:rgba(245,216,183,.25);--gold:#e2b274;--gold-shine:#f2cc8d;--photo-tint:rgba(167,87,113,.25);--shade:rgba(5,3,13,.68);--accent-bg:#55424a;--header:rgba(39,35,51,.94);--page-glow:rgba(213,117,83,.18);color-scheme:dark}
[data-phase="night"]{--bg:#0b0f17;--surface:#171e2b;--surface-alt:#202a39;--ink:#fff6e9;--muted:#d2d5d6;--fine:#b0b9c2;--line:rgba(227,208,178,.23);--gold:#e2b46c;--gold-shine:#f3d395;--photo-tint:rgba(31,67,119,.31);--shade:rgba(0,0,0,.77);--accent-bg:#393529;--header:rgba(15,22,33,.94);--page-glow:rgba(166,110,44,.20);color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',system-ui,-apple-system,sans-serif;font-weight:400;letter-spacing:-.013em;-webkit-font-smoothing:antialiased;transition:background-color 1.8s ease,color 1.5s ease;min-height:100vh}body,button,input,textarea,select{font-family:'DM Sans',system-ui,sans-serif}a{color:inherit;text-decoration:none}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{font-family:Manrope,Arial,sans-serif;letter-spacing:-.07em;font-weight:500}h1{line-height:1.13}h2{line-height:1.15}h2 em,h1 em,.display-italic{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;letter-spacing:-.02em;font-style:italic}p{line-height:1.78;color:var(--muted)}::selection{background:var(--gold-shine);color:#171717}:focus-visible{outline:2px solid var(--gold);outline-offset:5px}.wrap{width:min(1360px,calc(100% - 8vw));margin:auto}.section-pad{padding-top:clamp(95px,11vw,180px);padding-bottom:clamp(95px,11vw,180px)}.section-number,.eyebrow,.footer-label,.small-photo-caption{font-size:10px;font-weight:700;letter-spacing:.23em;text-transform:uppercase;color:var(--gold)}.eyebrow{display:flex;align-items:center;gap:16px}.tiny-line{width:35px;height:1px;background:var(--gold)}.section-number{color:var(--fine)}.page-glow{position:fixed;z-index:-1;inset:0;background:radial-gradient(ellipse at 86% 9%,var(--page-glow),transparent 47%),radial-gradient(ellipse at 8% 65%,var(--page-glow),transparent 60%);pointer-events:none;transition:background 2s ease}.grain{position:fixed;z-index:99;inset:0;opacity:.13;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 150 150' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E");background-size:175px}.skip-link{position:absolute;z-index:999;top:-80px;left:24px;background:var(--surface);padding:13px 22px}.skip-link:focus{top:12px}.site-header{position:sticky;top:0;z-index:95;background:var(--header);border-bottom:1px solid var(--line);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);transition:background-color 1.5s ease}.header-inner{height:90px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand-mark{width:50px;height:50px;background:#080808;border:1px solid #3c3526;display:grid;place-items:center;overflow:hidden}.brand-mark img{width:100%;height:100%;object-fit:cover}.brand-name{font-family:Manrope,sans-serif;font-size:13px;letter-spacing:.15em;font-weight:700;white-space:nowrap;line-height:1.25}.brand-hyphen{color:var(--gold)}.brand-name small{display:block;font-size:7px;letter-spacing:.29em;color:var(--fine);margin-top:6px;font-weight:600}.desktop-nav{display:flex;align-items:center;gap:clamp(12px,2.1vw,31px)}.nav-link{position:relative;font-size:12px;font-weight:600;letter-spacing:.008em;color:var(--muted);padding:20px 0}.nav-link:after{content:'';position:absolute;bottom:12px;left:0;width:0;height:1px;background:var(--gold);transition:width .3s}.nav-link:hover,.nav-link.active{color:var(--ink)}.nav-link:hover:after,.nav-link.active:after{width:100%}.header-actions{display:flex;align-items:center;gap:15px}.theme-switch{display:inline-flex;align-items:center;border:1px solid var(--line);padding:4px;background:var(--surface-alt);border-radius:40px;gap:2px}.theme-switch button{font-size:10px;font-weight:700;letter-spacing:.035em;padding:7px 9px;border:0;border-radius:20px;color:var(--muted);background:transparent;transition:color .3s,background .3s;line-height:1}.theme-switch button[aria-pressed="true"]{background:var(--ink);color:var(--bg);box-shadow:0 1px 6px var(--shade)}.menu-toggle{display:none;width:39px;height:38px;background:transparent;border:1px solid var(--line);place-content:center;gap:5px}.menu-toggle span{width:18px;height:1px;background:var(--ink);display:block}.mobile-menu{display:none}.arrow-icon{height:17px;width:17px;flex:none;vertical-align:middle}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:25px;min-width:165px;padding:17px 20px;font-size:12px;font-weight:700;letter-spacing:.025em;border:1px solid var(--gold);transition:transform .32s,background-color .32s,box-shadow .32s}.button:hover{transform:translateY(-3px);box-shadow:0 12px 30px var(--shade)}.button-primary{background:var(--gold-shine);color:#201e18;border-color:var(--gold-shine)}.button-outline{background:transparent;color:var(--ink);border-color:var(--line)}.text-link{display:inline-flex;align-items:center;gap:17px;font-size:12px;color:var(--ink);font-weight:700;border-bottom:1px solid var(--line);padding:13px 0}.text-link span{font-size:17px;color:var(--gold)}.under-link{display:inline-flex;align-items:center;gap:25px;font-size:12px;color:var(--ink);font-weight:700;padding-bottom:8px;border-bottom:1px solid var(--gold)}.under-link svg{color:var(--gold)}
/* Home */
.hero-home{min-height:calc(100svh - 90px);padding-top:clamp(60px,7vw,120px);padding-bottom:clamp(65px,7vw,120px);display:grid;grid-template-columns:1.03fr .97fr;align-items:center;gap:min(7vw,100px)}.hero-copy{position:relative;z-index:2}.hero h1{font-size:clamp(58px,6.25vw,109px);margin:30px 0 33px;letter-spacing:-.08em;line-height:1.04}.hero h1 .display-italic{color:var(--gold);font-size:1.09em}.hero-lede{max-width:525px;font-size:clamp(15px,1.33vw,20px);line-height:1.8}.hero-buttons{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:38px}.hero-meta{display:flex;align-items:center;gap:15px;margin-top:clamp(65px,8vw,130px);font-size:9px;letter-spacing:.19em;color:var(--fine);font-weight:700}.meta-rule{height:1px;width:50px;background:var(--line)}.hero-visual{height:min(68vw,640px);min-height:450px;position:relative}.hero-frame{position:absolute;inset:5% 5% 5% 7%;border:1px solid var(--line);padding:12px;background:var(--surface);box-shadow:0 40px 95px -35px var(--shade);transform:rotate(-1.5deg);transition:background-color 1.5s ease}.hero-image{width:100%;height:100%;overflow:hidden;position:relative}.hero-image img{height:100%;width:100%;object-fit:cover;filter:saturate(.65) contrast(1.08);transform:scale(1.06);transition:filter 1.9s,transform 1.9s}.hero-visual:hover .hero-photo{transform:scale(1.11)}.hero-mist{position:absolute;inset:12px;background:linear-gradient(115deg,var(--photo-tint),transparent 75%),linear-gradient(to top,var(--shade),transparent 42%);pointer-events:none;transition:background 2s}.hero-image-caption{position:absolute;bottom:28px;left:32px;right:32px;display:flex;justify-content:space-between;font-size:9px;color:white;letter-spacing:.19em;font-weight:700;text-shadow:0 1px 6px #000}.hero-floating{position:absolute;z-index:3;bottom:10%;left:-2%;padding:29px 31px;width:215px;background:var(--surface);box-shadow:0 18px 45px var(--shade);border:1px solid var(--line);display:flex;flex-direction:column;gap:11px;transform:rotate(1deg)}.floating-title{font-size:9px;letter-spacing:.22em;color:var(--gold);font-weight:700}.floating-body{font-family:'Cormorant Garamond',serif;font-size:27px;font-style:italic;line-height:1.06}.floating-rule{width:35px;height:1px;background:var(--gold)}.hero-index{position:absolute;right:-3%;top:0;font-size:10px;letter-spacing:.18em;color:var(--gold);writing-mode:vertical-rl}.ticker-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;padding:18px 0}.ticker-track{min-width:max-content;display:flex;justify-content:space-around;align-items:center;gap:clamp(25px,4vw,70px);width:100%;padding:0 6vw}.ticker-track span{letter-spacing:.2em;font-weight:700;font-size:11px;color:var(--muted)}.ticker-track b{font-size:10px;color:var(--gold)}.intro-grid{display:grid;grid-template-columns:1fr .74fr;gap:14%;align-items:end;margin-top:65px}.section-intro h2{font-size:clamp(55px,6vw,97px);margin-bottom:0}.intro-side{padding-bottom:10px}.gold-dash{height:2px;width:34px;background:var(--gold);display:block;margin:0 0 28px}.intro-side p{font-size:15px;max-width:470px;margin-bottom:24px}.intro-side .under-link{margin-top:26px}.services-strip{padding:60px 0 110px}.service-strip-top{display:flex;justify-content:space-between;align-items:start;gap:30px;margin-bottom:45px}.service-strip-top h2{font-size:clamp(38px,3.6vw,62px);margin:0;text-align:right}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{min-height:365px;display:flex;flex-direction:column;justify-content:space-between;padding:25px;position:relative;overflow:hidden;border-bottom:1px solid var(--line);border-right:1px solid var(--line);transition:background .5s;isolation:isolate}.service-card:hover{background:var(--surface)}.service-count{font-size:10px;color:var(--gold);letter-spacing:.18em;position:relative;z-index:2}.service-card h3{font-size:21px;letter-spacing:-.06em;line-height:1.32;position:relative;z-index:1}.service-card p{font-size:12px;line-height:1.7;margin:0 0 4px;position:relative;z-index:1}.service-abstract{position:absolute;width:200px;height:200px;left:40%;top:5%;opacity:.14;pointer-events:none;transition:transform .6s,opacity .6s}.service-card:hover .service-abstract{transform:scale(1.16) rotate(-10deg);opacity:.3}.abstraction-one{border:20px double var(--gold);border-radius:50%;transform:skew(14deg)}.abstraction-two{border:2px solid var(--gold);box-shadow:17px 19px 0 -2px var(--gold),36px 38px 0 -4px var(--gold);transform:rotate(-26deg);width:155px;height:155px}.abstraction-three{background:repeating-linear-gradient(90deg,var(--gold) 0 1px,transparent 2px 16px);transform:rotate(-35deg)}.abstraction-four{border-radius:50%;background:conic-gradient(var(--gold),transparent 15%,var(--gold) 35%,transparent 65%,var(--gold))}.service-go{position:absolute;right:25px;top:24px;color:var(--gold)}.image-feature{background:var(--surface-alt);position:relative;transition:background 1.8s}.image-feature-grid{display:grid;grid-template-columns:1.09fr .91fr;align-items:center;gap:clamp(55px,8vw,130px)}.image-feature-img{height:650px;max-height:68vw;position:relative;box-shadow:35px 35px 0 -20px var(--bg)}.image-feature-img img{height:100%;width:100%;object-fit:cover;filter:saturate(.65) contrast(1.08)}.image-label{position:absolute;bottom:18px;left:23px;color:#fff;font-size:9px;letter-spacing:.2em;text-shadow:0 1px 9px #000}.image-feature-copy h2{font-size:clamp(51px,5vw,79px);margin:36px 0}.image-feature-copy p{font-size:15px;max-width:400px;margin-bottom:35px}.work-preview .section-flex{align-items:end}.section-flex{display:flex;justify-content:space-between;gap:40px;align-items:center}.section-flex h2,.work-preview h2{font-size:clamp(46px,5vw,80px);margin:27px 0 0}.work-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px;margin-top:55px}.work-image{height:410px;position:relative;overflow:hidden;background:var(--surface-alt)}.work-image img{height:100%;width:100%;object-fit:cover;filter:grayscale(.35) contrast(1.03);transition:transform .8s}.work-item:hover img{transform:scale(1.07)}.work-image-flag,.case-label{position:absolute;top:22px;left:22px;padding:9px 12px;background:var(--surface);font-size:9px;letter-spacing:.15em;color:var(--ink);font-weight:700}.work-item-bottom{padding:19px 0;display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line)}.work-item-bottom h3{font-size:19px;margin:0}.work-item-bottom span{font-size:11px;color:var(--muted);text-align:right}.concept-disclaimer,.work-note{font-size:11px;color:var(--fine);margin-top:20px;line-height:1.65}.closing-statement{background:var(--surface);padding:clamp(100px,12vw,180px) 0;border-top:1px solid var(--line);transition:background 1.8s}.closing-statement h2{font-size:clamp(50px,7vw,111px);margin:32px 0 45px;line-height:1.1}.closing-statement h2 em{color:var(--gold)}
/* Shared secondary pages */
.page-hero{padding-top:clamp(95px,11vw,160px);padding-bottom:clamp(75px,9vw,130px);position:relative;overflow:hidden}.page-hero:after{content:'M—H';position:absolute;right:0;top:23%;font-family:Manrope,sans-serif;font-size:clamp(105px,18vw,280px);font-weight:700;letter-spacing:-.1em;color:var(--ink);opacity:.022;z-index:-1;pointer-events:none}.page-hero h1{font-size:clamp(65px,8vw,125px);margin:25px 0 35px;line-height:1.04}.page-hero h1 em{color:var(--gold)}.page-lede{font-size:clamp(17px,1.5vw,23px);max-width:720px;line-height:1.7}.service-detail{display:grid;grid-template-columns:7% 1fr .75fr;gap:6%;padding:85px 0;border-top:1px solid var(--line);scroll-margin-top:105px}.service-detail-num{font-size:12px;color:var(--gold);padding-top:12px}.service-detail h2{font-size:clamp(36px,4vw,62px)}.service-detail h2 em{color:var(--gold)}.service-detail p{max-width:600px}.clean-list{margin:27px 0 0;padding:0;list-style:none}.clean-list li{padding:12px 0;border-bottom:1px solid var(--line);font-size:13px;color:var(--ink);display:flex;gap:15px}.clean-list li:before{content:'↗';color:var(--gold)}.detail-image{width:100%;max-height:390px;object-fit:cover;border:9px solid var(--surface)}.service-inline-panel{background:var(--surface-alt);padding:35px;border-left:2px solid var(--gold)}.service-inline-panel h3{font-size:24px}.service-inline-panel p{font-size:13px}.service-end{border-top:1px solid var(--line)}.end-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:end}.end-grid h2{font-size:clamp(49px,5vw,84px);margin:25px 0 0}.end-grid p{font-size:16px;max-width:440px}.end-grid .button{margin-top:20px}.work-list{display:grid;gap:clamp(80px,10vw,160px);padding-bottom:clamp(100px,14vw,190px)}.work-row{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.work-row.reverse .work-row-image{order:2}.work-row-image{height:clamp(370px,45vw,620px);position:relative}.work-row-image img{height:100%;width:100%;object-fit:cover;filter:saturate(.7)}.work-row-content{padding:30px 0}.work-row-content .eyebrow{margin-bottom:35px}.work-row-content h2{font-size:clamp(43px,4.5vw,76px);margin-bottom:30px}.pill-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:40px}.pill-list span{font-size:10px;letter-spacing:.08em;padding:9px 12px;border:1px solid var(--line);color:var(--muted);border-radius:30px}.method-intro{display:grid;grid-template-columns:1.1fr .9fr;gap:10%;align-items:center}.method-photo{height:530px;width:100%;object-fit:cover}.method-quote{font-family:'Cormorant Garamond',serif;font-size:clamp(36px,4vw,60px);line-height:1.2;font-style:italic;letter-spacing:-.01em;color:var(--ink)}.process{padding-bottom:160px}.process-step{display:grid;grid-template-columns:12% .75fr 1fr;gap:5%;padding:60px 0;border-top:1px solid var(--line);align-items:baseline}.process-count{font-size:12px;letter-spacing:.17em;color:var(--gold)}.process-word{font-family:Manrope,sans-serif;font-size:clamp(44px,5vw,75px);letter-spacing:-.07em}.process-step p{max-width:570px;font-size:15px}.about-main{display:grid;grid-template-columns:.9fr 1.1fr;gap:9%;align-items:start}.about-aside{position:sticky;top:115px}.about-portrait{height:500px;object-fit:cover;width:100%;filter:grayscale(.3)}.small-photo-caption{margin-top:20px}.about-story h2{font-size:clamp(45px,4.6vw,75px);margin:34px 0}.about-story p{font-size:16px;max-width:640px}.founder-line{display:flex;gap:20px;align-items:center;margin-top:60px}.founder-rule{height:1px;background:var(--gold);width:45px}.founder-line p{font-size:12px;margin:0}.values-panel{background:var(--surface-alt);transition:background 1.5s}.values-intro{font-size:clamp(44px,5.3vw,80px)}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:60px}.value-grid>div{padding:35px 35px 35px 0;border-right:1px solid var(--line)}.value-grid>div+div{padding-left:35px}.value-grid h3{font-size:26px}.value-grid p{font-size:14px}.contact-head{padding-bottom:65px}.contact-layout{display:grid;grid-template-columns:.81fr 1.19fr;gap:10%;padding-top:30px}.contact-rail h2{font-size:clamp(45px,5vw,75px);margin:30px 0}.contact-rail>p{max-width:440px}.contact-details{margin-top:50px;display:grid;gap:15px}.contact-details>span{font-size:10px;font-weight:700;color:var(--gold);letter-spacing:.17em}.contact-details a{font-size:16px;display:flex;align-items:center;gap:12px;width:fit-content;border-bottom:1px solid var(--line);padding-bottom:13px;overflow-wrap:anywhere}.contact-details>p{margin:0 0 15px}.contact-mini-photo{height:230px;max-width:440px;margin-top:60px;overflow:hidden}.contact-mini-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(.3)}.contact-form-shell{background:var(--surface);border:1px solid var(--line);padding:clamp(28px,4vw,62px);box-shadow:0 18px 60px var(--shade);align-self:start}.form-topline{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:25px;gap:20px}.form-topline span:last-child{font-size:10px;letter-spacing:.14em;color:var(--fine)}.form-mount{padding-top:34px}.form-loading{padding:50px 0;text-align:center}.loading-stroke{height:2px;background:linear-gradient(to right,transparent,var(--gold),transparent);animation:shimmer 1.4s infinite}.form-policy{font-size:11px;line-height:1.6;color:var(--fine);margin-top:28px}.enquiry-form{display:grid;grid-template-columns:1fr 1fr;column-gap:24px;row-gap:25px}.field{display:flex;flex-direction:column;gap:9px}.field.full{grid-column:1/-1}.field label{font-size:11px;font-weight:700;color:var(--ink);letter-spacing:.025em}.field label span{color:var(--gold)}.field input,.field textarea,.field select{width:100%;background:var(--bg);border:1px solid var(--line);padding:15px;color:var(--ink);border-radius:0;outline:0;font-size:14px;transition:border-color .2s}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}.field textarea{resize:vertical;min-height:145px}.enquiry-form .button{grid-column:1/-1;justify-content:space-between}.form-feedback{grid-column:1/-1;font-size:13px;line-height:1.55;margin:0}.form-feedback.error{color:#b85d4a}.success-panel{padding:42px 0}.success-panel h3{font-size:32px;color:var(--ink)}.success-panel p{font-size:15px}
/* Footer */
.site-footer{border-top:1px solid var(--line);background:var(--surface-alt);transition:background 1.8s}.footer-top{padding:100px 0 80px;display:flex;align-items:end;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line)}.footer-top h2{font-size:clamp(46px,5vw,80px);margin:25px 0 0}.round-link{display:grid;place-items:center;border-radius:50%;width:88px;height:88px;background:var(--gold-shine);color:#151515;transition:transform .3s}.round-link:hover{transform:rotate(45deg)}.round-link svg{height:31px;width:31px}.footer-main{padding:74px 0;display:flex;justify-content:space-between;gap:55px}.footer-wordmark{font-family:Manrope,sans-serif;font-size:clamp(22px,2vw,36px);letter-spacing:-.06em;font-weight:700}.footer-brand p{font-size:13px;line-height:1.7;margin-top:18px}.footer-links{display:flex;gap:90px}.footer-links>div{display:flex;flex-direction:column;gap:12px}.footer-links a{font-size:12px;color:var(--muted)}.footer-links a:hover{color:var(--gold)}.footer-label{margin-bottom:15px}.footer-bottom{padding:20px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);font-size:9px;font-weight:700;letter-spacing:.08em;color:var(--fine)}.footer-weather{display:flex;align-items:center;gap:10px}.solar-dot{width:7px;height:7px;background:var(--gold-shine);border-radius:50%;box-shadow:0 0 0 3px var(--accent-bg)}#locate-btn{font-size:9px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--fine);padding:0 0 3px;margin-left:8px}.footer-weather button:hover{color:var(--ink)}
[data-reveal]{transition:opacity .8s,transform .8s}[data-reveal].is-pending{opacity:0;transform:translateY(25px)}[data-reveal].is-visible{opacity:1;transform:none}@keyframes shimmer{0%{opacity:.3}50%{opacity:1}100%{opacity:.3}}
@media(max-width:1200px){.desktop-nav{gap:15px}.header-inner{gap:18px}.brand-name{font-size:11px}.brand-mark{width:46px;height:46px}.hero h1{font-size:clamp(60px,6.2vw,84px)}.service-card{padding:19px;min-height:335px}.service-card h3{font-size:19px}}
@media(max-width:990px){.desktop-nav{display:none}.menu-toggle{display:grid}.mobile-menu{display:block;background:var(--surface);position:absolute;left:0;right:0;border-bottom:1px solid var(--line);box-shadow:0 20px 35px var(--shade);padding:20px max(4vw,30px) 32px}.mobile-menu[hidden]{display:none}.mobile-nav{display:grid;grid-template-columns:1fr 1fr;gap:0 35px}.mobile-nav a{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:18px 0;font-size:16px;font-weight:600}.mobile-nav a span{color:var(--gold)}.mobile-theme-row{display:flex;justify-content:space-between;align-items:center;margin-top:27px;color:var(--fine);font-size:10px;letter-spacing:.15em}.hero-home{gap:40px}.hero h1{font-size:clamp(54px,6.7vw,80px)}.hero-visual{min-height:385px}.hero-floating{left:-2%;bottom:-1%}.service-grid{grid-template-columns:repeat(2,1fr)}.image-feature-img{height:500px}.image-feature-grid{gap:45px}.intro-grid{gap:8%}.footer-links{gap:35px}}
@media(max-width:700px){.wrap{width:calc(100% - 42px)}.header-inner{height:72px}.brand-mark{width:42px;height:42px}.brand-name{font-size:10px}.brand-name small{font-size:6px}.header-actions>.theme-switch{display:none}.site-header .mobile-menu{top:72px}.hero-home{grid-template-columns:1fr;padding-top:70px;padding-bottom:85px;gap:28px}.hero h1{font-size:clamp(58px,10.5vw,82px);margin:26px 0}.hero-lede{font-size:16px}.hero-meta{margin-top:55px}.hero-visual{height:125vw;max-height:590px;min-height:390px;margin:0 15px 0 15px}.hero-frame{inset:0 0 7% 9%}.hero-floating{left:-7%;bottom:5%;padding:22px 25px;width:185px}.floating-body{font-size:24px}.hero-image-caption{font-size:8px;bottom:20px;left:22px;right:22px}.ticker-section{padding:16px 0}.ticker-track{gap:22px}.ticker-track span{font-size:9px}.ticker-track b{font-size:8px}.section-pad{padding-top:95px;padding-bottom:95px}.intro-grid{grid-template-columns:1fr;gap:35px;margin-top:38px}.section-intro h2{font-size:clamp(54px,10vw,80px)}.service-strip-top{flex-direction:column;gap:18px}.service-strip-top h2{text-align:left;font-size:44px}.service-grid{grid-template-columns:1fr 1fr}.service-card{min-height:310px;padding:19px}.service-card h3{font-size:17px}.service-card p{font-size:11px}.image-feature-grid{grid-template-columns:1fr}.image-feature-img{height:420px;max-height:none}.image-feature-copy h2{font-size:60px}.work-preview .section-flex{align-items:start}.section-flex{flex-direction:column;gap:25px}.work-preview-grid{grid-template-columns:1fr;gap:40px}.work-image{height:330px}.closing-statement h2{font-size:clamp(50px,10vw,72px)}.page-hero{padding-top:95px}.page-hero h1{font-size:clamp(65px,12vw,100px)}.page-lede{font-size:17px}.service-detail{grid-template-columns:1fr;gap:17px;padding:55px 0}.service-detail-num{font-size:12px}.service-detail h2{font-size:50px}.service-detail .detail-image{max-height:340px}.end-grid,.method-intro,.about-main,.contact-layout,.work-row{grid-template-columns:1fr;gap:30px}.work-row.reverse .work-row-image{order:0}.work-row-image{height:400px}.work-row-content h2{font-size:56px}.method-photo{height:400px}.process-step{grid-template-columns:50px 1fr;gap:15px;padding:45px 0}.process-step p{grid-column:2}.process-word{font-size:56px}.about-aside{position:static}.about-portrait{height:400px}.value-grid{grid-template-columns:1fr}.value-grid>div{border-right:0;border-bottom:1px solid var(--line);padding:25px 0!important}.contact-mini-photo{display:none}.contact-form-shell{padding:27px}.footer-top{padding:70px 0 50px}.footer-top h2{font-size:55px}.round-link{width:64px;height:64px}.footer-main{flex-direction:column;gap:35px;padding:50px 0}.footer-bottom{flex-wrap:wrap;gap:15px;line-height:1.6}.footer-weather{order:3;width:100%}}
@media(max-width:440px){.brand-name{font-size:9px}.brand-mark{width:37px;height:37px}.hero h1{font-size:55px}.service-grid{grid-template-columns:1fr}.service-card{min-height:245px}.service-abstract{left:55%}.enquiry-form{grid-template-columns:1fr}.footer-links{gap:60px}.footer-top h2{font-size:47px}.page-hero h1{font-size:58px}.work-row-image{height:330px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}[data-reveal].is-pending{opacity:1;transform:none}}

/* Privacy: concise editorial typography, not legal-text wallpaper. */
.privacy-layout{display:grid;grid-template-columns:minmax(200px,.42fr) minmax(0,.9fr);gap:12%;align-items:start;padding-top:20px}
.privacy-intro{position:sticky;top:130px}.privacy-intro p{font-size:14px;line-height:1.85;max-width:300px}.privacy-intro p strong{font-weight:600;color:var(--ink)}
.privacy-content{max-width:760px}.privacy-content h2{font-family:Manrope,Arial,sans-serif;font-size:clamp(22px,2.3vw,31px);letter-spacing:-.05em;margin:48px 0 16px}.privacy-content h2:first-child{margin-top:0}
.privacy-content p{font-size:15px;line-height:1.85}.privacy-content a,.form-policy a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:4px}.privacy-content a:hover,.form-policy a:hover{color:var(--gold)}
.privacy-note{border-top:1px solid var(--line);padding-top:24px;margin-top:45px;color:var(--fine)!important;font-size:12px!important}
@media(max-width:700px){.privacy-layout{grid-template-columns:1fr;gap:15px}.privacy-intro{position:static}.privacy-content h2{margin-top:36px}}

/* REFINEMENT 03 — fluid floating agency experience */
:root {--hero-wash:rgba(238,231,217,.99);--hero-wash-mid:rgba(238,231,217,.94);--hero-wash-end:rgba(238,231,217,.10)}
[data-phase="dawn"]{--hero-wash:rgba(228,209,189,.99);--hero-wash-mid:rgba(228,209,189,.95);--hero-wash-end:rgba(228,209,189,.12)}
[data-phase="afternoon"]{--hero-wash:rgba(220,227,228,.99);--hero-wash-mid:rgba(220,227,228,.95);--hero-wash-end:rgba(220,227,228,.10)}
[data-phase="dusk"]{--hero-wash:rgba(40,38,56,.99);--hero-wash-mid:rgba(40,38,56,.95);--hero-wash-end:rgba(40,38,56,.13)}
[data-phase="night"]{--hero-wash:rgba(11,15,23,.99);--hero-wash-mid:rgba(11,15,23,.96);--hero-wash-end:rgba(11,15,23,.18)}
html{scroll-padding-top:128px}
main{padding-top:102px}
.site-header{position:fixed;left:clamp(12px,2.1vw,35px);right:clamp(12px,2.1vw,35px);top:16px;border:1px solid var(--line);border-radius:24px;box-shadow:0 15px 55px -26px var(--shade),0 2px 10px var(--shade);background:var(--header);transition:box-shadow .4s,background-color 1.4s,transform .4s;isolation:isolate}
.site-header:hover{box-shadow:0 23px 65px -22px var(--shade),0 4px 16px var(--shade)}
.site-header.scrolled{transform:translateY(-5px)}
.header-inner.wrap{width:calc(100% - 42px);max-width:none;height:82px;gap:clamp(15px,1.2vw,26px)}
.brand{gap:12px}.brand-mark{width:50px;height:50px;background:transparent!important;border:0!important;overflow:visible}.brand-mark img{object-fit:contain;mix-blend-mode:normal;filter:drop-shadow(0 3px 4px rgba(0,0,0,.05));width:100%;height:100%}
.brand-name{font-size:12px}.desktop-nav{gap:clamp(12px,1.3vw,22px)}.nav-link{font-size:13px;padding:15px 0}
.theme-switch button{font-size:11px;padding:10px 12px}.social-links{display:flex;align-items:center;gap:6px}.social-icon{width:37px;height:37px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--ink);background:var(--surface);transition:background .3s,transform .3s,border-color .3s,color .3s}.social-icon:hover{transform:translateY(-3px);color:var(--gold);border-color:var(--gold);box-shadow:0 6px 15px var(--shade)}
.button{border-radius:16px;padding:18px 24px;min-height:53px;font-size:13px;box-shadow:0 8px 28px -22px var(--shade)}.button:hover{transform:translateY(-5px)}.button-glass{background:var(--surface);border-color:var(--line);color:var(--ink)}.button span{font-size:19px}.text-link{border-radius:3px}.under-link{border-radius:3px}.menu-toggle{border-radius:13px}.mobile-menu{border-radius:0 0 22px 22px}.mobile-nav a{border-radius:7px}.field input,.field textarea,.field select{border-radius:11px}.contact-form-shell{border-radius:22px}
.footer-social-row{display:flex;align-items:center;gap:25px;border-top:1px solid var(--line);padding:21px 0}.footer-social-row>span{font-size:10px;letter-spacing:.19em;color:var(--fine);font-weight:700}.footer-social-row .social-icon{background:transparent}
/* full-bleed hero photograph, atmospheric rather than picture-in-a-box */
.hero-home-v3{position:relative;isolation:isolate;min-height:min(790px,calc(100svh - 90px));overflow:hidden;display:flex;align-items:stretch;background:var(--bg);border-bottom:1px solid var(--line)}
.hero-backdrop{position:absolute;inset:0;z-index:-2;pointer-events:none}.hero-backdrop img{position:absolute;right:0;top:0;width:70%;height:100%;object-fit:cover;object-position:center center;filter:saturate(.45) contrast(1.05);opacity:.8;transform:scale(1.03);animation:hero-drift 18s ease-in-out infinite alternate}.hero-backdrop-wash{position:absolute;inset:0;background:linear-gradient(90deg,var(--hero-wash) 0%,var(--hero-wash-mid) 33%,var(--hero-wash-end) 100%),linear-gradient(0deg,var(--bg) 0%,transparent 34%,transparent 72%,var(--bg) 100%)}
.hero-v3-inner{padding-top:clamp(55px,6vw,100px);padding-bottom:39px;display:flex;flex-direction:column;justify-content:space-between;gap:44px;min-height:640px}.hero-copy-v3{max-width:825px;position:relative;z-index:2}.hero-eyebrow{font-size:11px}.eyebrow-sep{opacity:.45;color:var(--muted)}.hero-copy-v3 h1{font-size:clamp(57px,6.5vw,112px);letter-spacing:-.075em;line-height:.99;margin:25px 0 23px}.hero-copy-v3 h1 .display-italic{color:var(--gold);letter-spacing:-.04em;font-size:1.04em}.hero-declaration{font-size:clamp(17px,1.6vw,24px);line-height:1.48;letter-spacing:-.026em;color:var(--ink);max-width:750px;margin-bottom:13px}.hero-declaration strong{font-weight:700}.hero-secondary{font-size:clamp(13px,1.1vw,16px);line-height:1.7;max-width:610px;margin:0}.hero-copy-v3 .hero-buttons{margin-top:27px;gap:13px}
.hero-capability-strip{z-index:1;padding:14px 17px 17px;border-radius:21px;background:var(--header);border:1px solid var(--line);backdrop-filter:blur(16px);box-shadow:0 14px 44px -27px var(--shade);animation:float-small 7s ease-in-out infinite alternate}.capability-strip-heading{display:flex;align-items:center;gap:14px;font-size:9px;font-weight:700;letter-spacing:.16em;color:var(--fine);padding-bottom:12px}.capability-line{display:inline-block;height:1px;flex:1;background:var(--line)}.capability-chips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.capability-chips a{display:flex;align-items:center;gap:11px;border:1px solid var(--line);padding:13px 13px;border-radius:12px;font-size:12px;font-weight:700;line-height:1.35;background:var(--surface);transition:transform .25s,border-color .25s,background .25s}.capability-chips a:hover{transform:translateY(-5px);border-color:var(--gold);background:var(--accent-bg)}.capability-chips b{font-size:10px;color:var(--gold)}.capability-chips span{margin-left:auto;color:var(--gold)}.hero-edition{position:absolute;right:3%;top:28px;color:var(--fine);font-size:9px;letter-spacing:.2em;writing-mode:vertical-rl}
.discipline-path{background:var(--ink);color:var(--bg);padding:33px 0 29px;position:relative;isolation:isolate}.discipline-path:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 65% 0%,var(--gold),transparent 67%);opacity:.14;pointer-events:none}.discipline-overline{font-size:10px;letter-spacing:.2em;color:var(--gold-shine);font-weight:700}.discipline-steps{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;margin:17px 0 10px}.discipline-steps a{display:flex;align-items:center;gap:9px;border-radius:15px;font-family:Manrope,sans-serif;font-size:clamp(13px,1.6vw,20px);font-weight:700;letter-spacing:-.045em;color:var(--bg);padding:12px 16px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.045);transition:transform .3s,box-shadow .3s,background .3s}.discipline-steps a:hover{transform:translateY(-7px);box-shadow:0 13px 36px rgba(0,0,0,.25);background:var(--gold);color:#17191a}.discipline-steps a b{font-size:10px;letter-spacing:.03em;color:var(--gold-shine)}.discipline-steps a span{font-size:14px;color:var(--gold-shine)}.discipline-steps i{font-style:normal;color:var(--gold-shine);font-size:13px}.discipline-inner>p{font-size:11px;margin:5px 0 0;color:var(--gold-shine);opacity:.84}
/* reactive 3D cards */
.service-strip-top{align-items:start}.service-strip-top>div{max-width:770px}.service-strip-top h2{margin:0 0 12px}.service-intro{font-size:15px;margin:0;max-width:600px}.services-interactive{padding-top:110px;padding-bottom:140px;scroll-margin-top:130px}.service-grid-v3{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-top:35px;perspective:1400px;align-items:stretch}.service-flip-card{height:480px;position:relative;cursor:pointer;outline-offset:5px;border-radius:20px;transform:translateY(0);transition:transform .4s}.service-flip-card:hover{transform:translateY(-9px)}.service-card-inner{position:relative;display:block;width:100%;height:100%;transform-style:preserve-3d;transition:transform .72s cubic-bezier(.2,.77,.2,1);border-radius:20px;box-shadow:0 18px 45px -25px var(--shade)}.service-flip-card.is-flipped .service-card-inner{transform:rotateY(180deg)}.service-face{position:absolute;inset:0;overflow:hidden;border-radius:20px;backface-visibility:hidden;-webkit-backface-visibility:hidden;padding:23px;display:flex;flex-direction:column;justify-content:space-between;isolation:isolate;border:1px solid var(--line)}.service-front{background:#25272b;color:white}.service-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.3) saturate(.5) contrast(1.08);z-index:-2;transition:transform .7s,filter .7s}.service-flip-card:hover .service-photo{transform:scale(1.09);filter:grayscale(.05) saturate(.7)}.service-photo-shade{z-index:-1;position:absolute;inset:0;background:linear-gradient(to top,rgba(8,10,13,.95) 0%,rgba(8,10,13,.76) 40%,rgba(8,10,13,.1) 100%)}.service-card-top,.service-back-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.service-flip-card .service-count{color:#f1d49a;font-size:10px;letter-spacing:.17em}.service-card-hint{font-size:8px;letter-spacing:.09em;color:#f4e2c2;white-space:nowrap}.service-card-hint span{font-size:16px}.service-card-main{display:flex;flex-direction:column;align-items:start}.service-card-main h3{font-size:clamp(20px,1.8vw,26px);letter-spacing:-.06em;margin:0 0 14px;color:white;line-height:1.15}.service-summary{font-size:13px;line-height:1.5;color:rgba(255,255,255,.87);margin:0}.service-hover-detail{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .45s,opacity .4s,margin .4s;margin-top:0;width:100%}.service-hover-detail>p{overflow:hidden;font-size:12px;line-height:1.5;color:rgba(255,255,255,.78);margin:0}.service-hover-detail .gold-line{display:none}.service-flip-card:hover .service-hover-detail,.service-flip-card:focus-visible .service-hover-detail{grid-template-rows:1fr;opacity:1;margin-top:11px}.service-card-explore{border-top:1px solid rgba(255,255,255,.25);font-size:9px;letter-spacing:.12em;font-weight:700;margin-top:18px;padding-top:17px;width:100%;display:flex;justify-content:space-between;color:#ead0a1}.service-card-explore span{font-size:18px}.service-back{transform:rotateY(180deg);background:var(--surface);color:var(--ink);border-color:var(--gold);padding:27px}.service-back .service-count{color:var(--gold)}.service-back-symbol{color:var(--gold);font-size:25px}.service-back h3{font-size:clamp(20px,1.8vw,28px);line-height:1.18;color:var(--ink);margin:10px 0 5px}.service-back p{font-size:12px;line-height:1.72;color:var(--muted);margin:0}.service-back-actions{display:flex;flex-direction:column;align-items:stretch;gap:8px}.service-back .button{min-height:44px;padding:10px 14px;font-size:11px;border-radius:12px;min-width:0;gap:10px}.service-flip-close{align-self:center;font-size:11px;border:0;background:transparent;padding:9px;color:var(--muted);text-decoration:underline;text-underline-offset:4px}.service-gesture-hint{margin-top:19px;font-size:10px;letter-spacing:.13em;font-weight:700;color:var(--fine)}.service-gesture-hint span{color:var(--gold);padding:0 10px}
/* atmospheric photo seamlessly within its full-bleed section */
.image-feature-v3{position:relative;isolation:isolate;min-height:650px;display:flex;align-items:center;overflow:hidden;background:var(--surface-alt)}.feature-backdrop{position:absolute;inset:0;z-index:-1}.feature-backdrop img{width:100%;height:100%;object-fit:cover;object-position:center;filter:grayscale(.55) contrast(1.1);opacity:.45}.feature-backdrop:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--bg) 0%,var(--hero-wash-mid) 38%,transparent 100%),linear-gradient(0deg,var(--bg),transparent 25%,transparent 75%,var(--bg));pointer-events:none}.feature-v3-content{padding-top:50px;padding-bottom:50px}.feature-v3-content h2{font-size:clamp(55px,6.5vw,105px);margin:29px 0;max-width:800px}.feature-v3-content p{max-width:510px;color:var(--ink);font-size:clamp(15px,1.4vw,20px)}.feature-v3-content .button{margin-top:20px}
@keyframes float-small{to{transform:translateY(-8px)}}@keyframes hero-drift{to{transform:scale(1.075) translateX(-1%)}}
@media(min-width:1450px){.hero-home-v3{min-height:690px}}
@media(max-width:1330px){.header-inner.wrap{gap:14px}.brand-name{font-size:10px}.desktop-nav{gap:12px}.nav-link{font-size:12px}.header-actions{gap:8px}.social-icon{width:32px;height:32px}.theme-switch button{padding:9px 9px}.service-grid-v3{grid-template-columns:repeat(2,minmax(0,1fr))}.service-flip-card{height:420px}.service-back p{font-size:13px}.service-card-main h3{font-size:27px}}
@media(max-width:990px){.header-inner.wrap{height:70px}.site-header{border-radius:20px}.social-icon{width:36px;height:36px}.mobile-menu{top:68px;left:0;right:0}.hero-home-v3{min-height:660px}.hero-v3-inner{min-height:600px}.hero-copy-v3 h1{font-size:clamp(62px,8.8vw,86px)}.hero-backdrop img{width:92%;opacity:.52}.hero-backdrop-wash{background:linear-gradient(90deg,var(--hero-wash) 0%,var(--hero-wash-mid) 45%,var(--hero-wash-end) 100%),linear-gradient(0deg,var(--bg),transparent 30%,transparent 70%,var(--bg))}}
@media(max-width:700px){main{padding-top:82px}.site-header{top:10px;left:10px;right:10px;border-radius:17px}.header-inner.wrap{height:62px;width:calc(100% - 25px)}.brand-mark{width:39px;height:39px}.header-actions>.social-links{gap:4px}.header-actions>.social-links .social-icon{width:29px;height:29px}.header-actions>.social-links svg{width:14px;height:14px}.menu-toggle{width:35px;height:35px}.site-header .mobile-menu{top:61px}.hero-home-v3{min-height:0}.hero-v3-inner{padding-top:62px;padding-bottom:23px;min-height:0;gap:45px}.hero-copy-v3 h1{font-size:clamp(54px,10.7vw,72px);margin:24px 0}.hero-declaration{font-size:18px}.hero-secondary{font-size:14px}.hero-backdrop img{width:100%;height:100%;opacity:.32}.hero-backdrop-wash{background:linear-gradient(90deg,var(--hero-wash) 0%,var(--hero-wash-mid) 58%,var(--hero-wash-end) 100%),linear-gradient(0deg,var(--bg),transparent 36%,transparent 60%,var(--bg))}.hero-edition{display:none}.hero-copy-v3 .hero-buttons{gap:8px}.hero-copy-v3 .hero-buttons .button{flex:1;justify-content:space-between;min-width:140px;font-size:11px;padding:14px 12px;border-radius:12px}.hero-capability-strip{animation:none;margin-top:7px}.capability-chips{grid-template-columns:repeat(2,1fr)}.capability-chips a{font-size:11px;padding:11px}.discipline-steps{display:grid;grid-template-columns:1fr 1fr;gap:10px}.discipline-steps i{display:none}.discipline-steps a{font-size:15px}.discipline-path{padding:32px 0}.discipline-overline{font-size:9px}.service-grid-v3{grid-template-columns:1fr 1fr;gap:12px}.services-interactive{padding-top:95px;padding-bottom:95px}.service-flip-card{height:390px}.service-face{padding:17px}.service-card-main h3{font-size:21px}.service-summary{font-size:12px}.service-back h3{font-size:19px}.service-back p{font-size:11px;line-height:1.55}.service-back .button{font-size:10px;padding:9px}.service-card-hint{font-size:7px}.feature-v3-content h2{font-size:61px}.image-feature-v3{min-height:550px}.footer-social-row{margin-top:10px}}
@media(max-width:500px){.hero-v3-inner{padding-top:47px}.hero-copy-v3 h1{font-size:clamp(46px,11vw,60px)}.hero-declaration{font-size:16px}.hero-secondary{font-size:13px}.hero-capability-strip{padding:12px}.capability-chips a{gap:6px;font-size:10px}.capability-chips b{font-size:9px}.service-grid-v3{grid-template-columns:1fr}.service-flip-card{height:410px}.service-face{padding:25px}.service-card-main h3{font-size:28px}.service-summary{font-size:14px}.service-back h3{font-size:27px}.service-back p{font-size:13px}.service-gesture-hint{font-size:9px}.feature-v3-content h2{font-size:51px}}
@media(prefers-reduced-motion:reduce){.hero-backdrop img,.hero-capability-strip{animation:none!important}.service-card-inner{transition-duration:.01ms!important}}

/* REFINEMENT 04 — richer, clearer, more connected. Across all solar phases. */
:root{
  --path-text:#fff9f0;--path-muted:#f0e3cc;--path-gold:#f2d097;
  --path-shadow:0 22px 60px rgba(0,0,0,.30),0 2px 16px rgba(0,0,0,.2);
}
.section-pad{padding-top:clamp(61px,6.2vw,100px);padding-bottom:clamp(61px,6.2vw,100px)}
.section-number{font-size:clamp(13px,1.04vw,15px);font-weight:800;letter-spacing:.135em;color:var(--gold);display:inline-flex;align-items:center;gap:12px;line-height:1.45}
.section-number:before{content:'';display:inline-block;width:21px;height:3px;border-radius:3px;background:currentColor;box-shadow:0 0 15px var(--gold)}
.eyebrow{font-size:clamp(11px,1vw,13px);letter-spacing:.15em}
.hero-backdrop img{filter:saturate(.82) contrast(1.12)}
.hero-home-v3{min-height:clamp(620px,calc(100svh - 96px),760px)}
.hero-v3-inner{padding-top:clamp(46px,5vw,78px);padding-bottom:26px;gap:30px;min-height:570px}
.hero-copy-v3 h1{font-size:clamp(53px,6.15vw,106px);line-height:1.02;margin:17px 0 21px}
.hero-declaration{font-size:clamp(18px,1.6vw,23px);max-width:755px;line-height:1.47}
.hero-secondary{font-size:clamp(15px,1.05vw,18px);line-height:1.64;max-width:700px}
.hero-capability-strip{border:1px solid var(--line);box-shadow:0 18px 42px -18px var(--shade),0 7px 18px -12px var(--shade)}
.capability-strip-heading{font-size:11px;color:var(--muted)}
.capability-chips a{font-size:13px;border-radius:15px;min-height:55px;box-shadow:0 3px 15px -12px var(--shade)}
/* Signature floating process panel: intentionally dark, with an independent colour system.
   Never borrow --ink for a background: in Night mode --ink is very light. */
.discipline-path{
  margin:18px clamp(12px,3.6vw,56px) 10px;padding:clamp(11px,1.5vw,20px);
  border-radius:31px;overflow:hidden;position:relative;isolation:isolate;
  background-image:linear-gradient(102deg,rgba(9,17,29,.63),rgba(22,15,20,.49)),url('https://static.wixstatic.com/media/b21764_36921bc5b28a48d2a235c54f5cf53238~mv2.jpg');
  background-size:cover;background-position:center 44%;background-attachment:scroll,fixed;
  border:1px solid rgba(241,210,155,.40);box-shadow:var(--path-shadow);
  color:var(--path-text);transition:box-shadow .35s,transform .35s;
}
.discipline-path:before{content:'';position:absolute;inset:-30px;background:radial-gradient(ellipse at 68% 0%,rgba(236,180,89,.17),transparent 58%);opacity:1;pointer-events:none}
.discipline-path:hover{box-shadow:0 28px 85px rgba(0,0,0,.34),0 4px 16px rgba(0,0,0,.20)}
.discipline-inner.wrap{width:100%;max-width:none;margin:0;background:linear-gradient(120deg,rgba(14,19,30,.91),rgba(20,23,34,.81));border:1px solid rgba(241,219,177,.24);border-radius:22px;backdrop-filter:blur(17px);-webkit-backdrop-filter:blur(17px);padding:clamp(18px,2.4vw,31px) clamp(18px,3vw,40px);box-shadow:0 12px 37px rgba(0,0,0,.23)}
.discipline-overline{font-size:clamp(11px,1vw,13px);letter-spacing:.16em;color:var(--path-gold)}
.discipline-steps{margin:17px 0 13px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.discipline-steps i{display:none}
.discipline-steps a{color:var(--path-text)!important;min-height:74px;justify-content:space-between;gap:clamp(4px,.8vw,13px);border:1px solid rgba(251,233,203,.32);background:rgba(255,255,255,.10);font-size:clamp(14px,1.45vw,20px);padding:14px 18px;border-radius:16px;box-shadow:0 5px 16px rgba(0,0,0,.08);transition:transform .3s,box-shadow .3s,background .3s,border-color .3s}
.discipline-steps a b{color:var(--path-gold);font-size:12px}
.discipline-steps a span{color:var(--path-gold);font-size:19px}
.discipline-steps a:hover,.discipline-steps a:focus-visible{background:#edc47d;color:#11151d!important;border-color:#f3d59f;transform:translateY(-7px);box-shadow:0 15px 37px rgba(0,0,0,.3)}
.discipline-steps a:hover b,.discipline-steps a:hover span,.discipline-steps a:focus-visible b,.discipline-steps a:focus-visible span{color:#29313a}
.discipline-inner>p{font-size:clamp(13px,1.04vw,15px);line-height:1.62;color:var(--path-muted);opacity:1;margin:0}
/* Tightened editorial narrative, readable copy, and more meaningful CTA. */
.section-intro{padding-top:clamp(60px,6.3vw,95px);padding-bottom:clamp(62px,6.2vw,95px)}
.intro-grid{grid-template-columns:1.04fr 1fr;align-items:center;gap:clamp(35px,6vw,90px);margin-top:23px}
.section-intro h2{font-size:clamp(47px,5vw,82px);letter-spacing:-.069em;line-height:1.10;margin:0;max-width:820px}
.section-intro h2 em{color:var(--gold)}
.intro-side{padding-bottom:0}
.intro-side .gold-dash{height:4px;width:58px;border-radius:3px;margin:0 0 20px;box-shadow:0 0 19px var(--page-glow)}
.intro-side p{font-size:clamp(17px,1.28vw,20px);line-height:1.62;color:var(--muted);max-width:640px;margin-bottom:16px}
.approach-cta{--pointer-x:50%;--pointer-y:50%;isolation:isolate;display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-width:min(100%,375px);padding:8px 8px 8px 23px;margin-top:17px;border:1px solid var(--gold);background:linear-gradient(125deg,var(--gold-shine),var(--accent-bg));border-radius:20px;box-shadow:0 14px 34px -17px var(--shade),inset 0 1px 0 rgba(255,255,255,.28);color:#202016;font-size:15px;font-weight:800;position:relative;overflow:hidden;transition:transform .35s,box-shadow .35s,border-color .3s}
.approach-cta:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at var(--pointer-x) var(--pointer-y),rgba(255,255,255,.53),transparent 54%);opacity:0;transition:opacity .3s}
.approach-cta:hover{transform:translateY(-5px);box-shadow:0 22px 44px -14px var(--shade)}
.approach-cta:hover:before{opacity:1}
.approach-cta-arrow{width:52px;height:52px;flex:none;border-radius:15px;background:#20251f;color:#f4d7a4;display:grid;place-items:center;font-size:27px;transition:transform .35s,background .35s}
.approach-cta:hover .approach-cta-arrow{transform:rotate(35deg) scale(1.05);background:#111e23}
/* Make what we do explicit at a glance. */
.services-interactive{padding-top:clamp(40px,4.2vw,64px);padding-bottom:clamp(65px,6.4vw,100px)}
.service-strip-top{gap:22px;margin-bottom:24px;align-items:start}
.service-strip-top>div{max-width:860px}
.service-strip-top h2{font-size:clamp(33px,3.35vw,58px);line-height:1.15;letter-spacing:-.055em;text-align:left;margin:8px 0 13px}
.service-strip-top h2 em{color:var(--gold)}
.service-intro{font-size:clamp(16px,1.25vw,20px);line-height:1.63;max-width:830px;color:var(--muted)}
.service-grid-v3{gap:16px;margin-top:22px}
.service-flip-card{box-shadow:0 11px 30px -20px var(--shade);border-radius:22px}
.service-card-inner,.service-face{border-radius:22px}
.service-card-main h3{font-size:clamp(20px,1.75vw,28px)}
.service-summary{font-size:clamp(12.5px,1.06vw,15px);line-height:1.55;color:#f7f5f0}
.service-photo{filter:grayscale(.08) saturate(.91) contrast(1.12)}
.service-photo-shade{background:linear-gradient(to top,rgba(5,8,15,.98) 0%,rgba(5,9,17,.83) 43%,rgba(5,8,16,.18) 100%)}
.service-flip-card:hover .service-photo{filter:grayscale(0) saturate(1.14) contrast(1.11)}
.service-hover-detail>p{font-size:clamp(12px,1vw,14px);color:#f4e1be}
.service-back{background:var(--surface);border:1px solid var(--gold);overflow:hidden;overscroll-behavior:auto}
.service-back p{font-size:clamp(12px,.88vw,14px);line-height:1.62;color:var(--muted)}
.service-back h3{margin:10px 0 11px}
.service-back-actions{margin-top:16px}
.service-flip-card:hover{transform:translateY(-10px)}
/* The mid-page photo is part of the section, with room for legible copy. */
.image-feature-v3{min-height:clamp(460px,47vw,585px)}
.feature-v3-content h2{font-size:clamp(48px,5.6vw,89px);line-height:1.08;margin:21px 0}
.feature-v3-content p{font-size:clamp(17px,1.5vw,21px);max-width:650px;line-height:1.58}
.feature-backdrop img{filter:grayscale(.1) saturate(.8) contrast(1.11);opacity:.46}
.work-preview-grid{margin-top:28px;gap:22px}
.work-image{height:clamp(290px,30vw,390px);border-radius:18px;overflow:hidden;box-shadow:0 9px 23px -15px var(--shade)}
.work-preview h2{font-size:clamp(41px,4.6vw,76px);margin-top:12px}
.closing-statement{margin:10px clamp(12px,3.6vw,56px);border:1px solid var(--line);border-radius:30px;box-shadow:0 17px 48px -30px var(--shade);padding:clamp(65px,7.8vw,105px) 0;background:radial-gradient(ellipse at 94% 12%,var(--page-glow),transparent 60%),var(--surface)}
.closing-statement h2{font-size:clamp(43px,5.4vw,88px);margin:18px 0 31px;line-height:1.12}
.button{border-radius:17px;transition:transform .3s,box-shadow .3s,background .3s,border-color .3s}
.button:hover{transform:translateY(-5px);box-shadow:0 16px 31px -12px var(--shade)}
/* Spacious, floating footer panels instead of corner-stuffed navigation. */
.site-footer{margin:13px clamp(12px,3.6vw,56px) 23px;border:1px solid var(--line);border-radius:31px;background:var(--surface-alt);box-shadow:0 18px 47px -32px var(--shade);overflow:hidden}
.site-footer>.wrap{display:flex;flex-direction:column;gap:12px;padding:21px 0 23px;width:calc(100% - clamp(34px,4.7vw,72px));max-width:none}
.footer-top,.footer-main,.footer-social-row,.footer-bottom{border:1px solid var(--line);border-radius:23px;background:var(--surface);box-shadow:0 8px 21px -17px var(--shade)}
.footer-top{padding:33px clamp(25px,3.8vw,56px);align-items:center;margin:0}
.footer-top h2{font-size:clamp(38px,4.6vw,75px);margin:13px 0 0}
.round-link{box-shadow:0 13px 32px -13px var(--shade)}
.round-link:hover{transform:rotate(45deg) scale(1.08);box-shadow:0 17px 41px -12px var(--shade)}
.footer-main{padding:clamp(30px,3.8vw,52px);display:grid;grid-template-columns:1fr minmax(390px,.95fr);gap:clamp(35px,5vw,90px);align-items:start}
.footer-brand p{font-size:clamp(14px,1.13vw,17px);max-width:450px;color:var(--muted);line-height:1.65}
.footer-links{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,3vw,55px)}
.footer-links>div{gap:15px}
.footer-label{font-size:12px;color:var(--gold);margin-bottom:9px}
.footer-links a{font-size:clamp(14px,1.12vw,16px);color:var(--ink);width:fit-content;transition:transform .3s,color .3s}
.footer-links a:hover{transform:translateX(5px);color:var(--gold)}
.footer-social-row{padding:19px clamp(25px,3.8vw,56px);margin:0;justify-content:space-between}
.footer-social-row>span{font-size:12px;color:var(--muted)}
.footer-social-row .social-icon{background:var(--surface-alt)}
.footer-bottom{padding:19px clamp(18px,3vw,43px);font-size:10px;color:var(--muted);gap:22px}
/* Tablet layouts */
@media(max-width:1100px){
  .intro-grid{grid-template-columns:1fr 1fr;gap:35px}
  .service-grid-v3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-flip-card{height:440px}
  .service-back p{font-size:13px}
  .footer-main{grid-template-columns:1fr 1fr;gap:38px}
}
@media(max-width:800px){
  .discipline-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .discipline-steps a{min-height:64px}
  .discipline-path{background-attachment:scroll}
  .intro-grid{grid-template-columns:1fr;gap:25px}
  .intro-side p{max-width:720px}
  .footer-main{grid-template-columns:1fr;gap:24px}
  .footer-links{max-width:700px}
  .section-intro h2{font-size:clamp(47px,8vw,76px)}
}
@media(max-width:700px){
  .section-pad{padding-top:58px;padding-bottom:58px}
  .section-number{font-size:12px}
  .hero-home-v3{min-height:0}
  .hero-v3-inner{padding-top:42px;padding-bottom:19px;gap:27px}
  .hero-copy-v3 h1{font-size:clamp(43px,10vw,65px);line-height:1.05}
  .hero-declaration{font-size:17px}
  .hero-secondary{font-size:15px}
  .discipline-path{margin:14px 11px 6px;border-radius:24px;padding:10px}
  .discipline-inner.wrap{padding:20px 14px;border-radius:16px}
  .discipline-overline{font-size:10px}
  .discipline-steps{gap:9px}
  .discipline-steps a{font-size:14px;padding:11px 12px;min-height:61px;border-radius:13px}
  .discipline-steps a b{font-size:10px}
  .discipline-steps a span{font-size:15px}
  .discipline-inner>p{font-size:13px}
  .section-intro{padding-top:55px;padding-bottom:58px}
  .section-intro h2{font-size:clamp(42px,9vw,60px)}
  .intro-grid{margin-top:19px}
  .intro-side p{font-size:16px}
  .approach-cta{width:100%;min-width:0}
  .services-interactive{padding-top:44px;padding-bottom:58px}
  .service-strip-top h2{font-size:clamp(31px,7vw,44px)}
  .service-intro{font-size:16px}
  .service-flip-card{height:440px}
  .service-back p{font-size:12px;line-height:1.58}
  .image-feature-v3{min-height:470px}
  .feature-v3-content h2{font-size:clamp(42px,8vw,61px)}
  .feature-v3-content p{font-size:16px}
  .work-preview-grid{gap:16px}
  .work-image{height:265px}
  .closing-statement{margin:5px 11px;padding:59px 0;border-radius:23px}
  .closing-statement h2{font-size:clamp(39px,8.7vw,59px)}
  .site-footer{margin:11px 11px 16px;border-radius:24px}
  .site-footer>.wrap{width:calc(100% - 22px);padding:11px 0;gap:10px}
  .footer-top,.footer-main,.footer-social-row,.footer-bottom{border-radius:17px}
  .footer-top{padding:23px 19px}
  .footer-top h2{font-size:clamp(38px,8vw,52px)}
  .round-link{width:66px;height:66px}
  .footer-main{padding:25px 19px}
  .footer-links{grid-template-columns:1fr 1fr;gap:20px}
  .footer-social-row{padding:16px 19px}
  .footer-bottom{padding:16px 14px}
}
@media(max-width:500px){
  .service-grid-v3{grid-template-columns:1fr}
  .service-flip-card{height:450px}
  .service-card-main h3{font-size:27px}
  .service-summary{font-size:14px}
  .service-back h3{font-size:26px}
  .service-back p{font-size:13px}
  .work-preview-grid{grid-template-columns:1fr}
  .work-image{height:290px}
  .footer-main{gap:25px}
}
@media(prefers-reduced-motion:reduce){
  .approach-cta,.approach-cta-arrow,.discipline-path,.discipline-steps a,.footer-links a{transition:none!important}
}


/* REFINEMENT 05 — continuous scrolling, no nested scroll traps and seamless Section 03 */
/* Cards remain fully interactive when clicked, but wheel/touch gestures always
   scroll the page. Previous overflow-y:auto + overscroll-behavior:contain
   consumed wheel input even after the card had nowhere left to scroll. */
.service-flip-card{touch-action:pan-y pinch-zoom;overscroll-behavior:auto}
.service-flip-card .service-face,
.service-flip-card .service-back{
  overflow:hidden!important;
  overflow-y:hidden!important;
  overscroll-behavior:auto!important;
  touch-action:pan-y pinch-zoom;
}
/* Section 03 shares the exact canvas colour with its neighbours. The photograph
   dissolves at every edge, rather than producing a rectangular band. */
.image-feature-v3{
  background:transparent!important;
  min-height:clamp(390px,31vw,455px);
  padding:clamp(8px,.8vw,13px) 0;
  border:0;
  overflow:hidden;
}
.feature-backdrop{inset:0;pointer-events:none}
.feature-backdrop img{
  opacity:.52;
  filter:saturate(.86) contrast(1.1);
  -webkit-mask-image:radial-gradient(ellipse 78% 93% at 68% 50%,#000 0%,rgba(0,0,0,.94) 38%,rgba(0,0,0,.68) 58%,transparent 100%);
  mask-image:radial-gradient(ellipse 78% 93% at 68% 50%,#000 0%,rgba(0,0,0,.94) 38%,rgba(0,0,0,.68) 58%,transparent 100%);
}
.feature-backdrop:after{
  background:none;
}
.feature-v3-content{padding-top:clamp(11px,1vw,17px);padding-bottom:clamp(11px,1vw,17px)}
.feature-v3-content h2{font-size:clamp(44px,5.05vw,76px);max-width:1080px;line-height:1.08;margin:clamp(10px,1.2vw,16px) 0}
.feature-v3-content p{max-width:730px}
.feature-v3-content .button{margin-top:14px}
.services-interactive{padding-bottom:clamp(30px,3.2vw,50px)}
.work-preview{padding-top:clamp(32px,3.8vw,60px)}
@media(max-width:700px){
  .image-feature-v3{min-height:0;padding:12px 0 14px}
  .feature-v3-content{padding-top:13px;padding-bottom:14px}
  .feature-v3-content h2{font-size:clamp(42px,8vw,61px)}
  .feature-backdrop img{-webkit-mask-image:radial-gradient(ellipse 110% 88% at 70% 52%,#000 0%,rgba(0,0,0,.62) 52%,transparent 100%);mask-image:radial-gradient(ellipse 110% 88% at 70% 52%,#000 0%,rgba(0,0,0,.62) 52%,transparent 100%)}
  .services-interactive{padding-bottom:28px}
  .work-preview{padding-top:37px}
}


/* R06: A unified visual system for the remaining commercial pages */
.secondary-hero{position:relative;min-height:clamp(610px,83svh,830px);isolation:isolate;display:flex;flex-direction:column;justify-content:center;padding:clamp(145px,13vw,205px) 0 clamp(105px,9vw,140px);overflow:clip}
.secondary-hero-photo{position:absolute;z-index:-2;inset:0;overflow:hidden;pointer-events:none;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 62%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 62%,transparent 100%)}
.secondary-hero-photo img{height:100%;width:100%;object-fit:cover;object-position:center 44%;filter:saturate(.67) contrast(1.16) brightness(.8);opacity:.67;transition:filter 1.5s,opacity 1.5s}
.secondary-hero-wash{position:absolute;inset:0;background:linear-gradient(90deg,var(--bg) 0%,var(--bg) 32%,color-mix(in srgb,var(--bg) 88%,transparent) 52%,color-mix(in srgb,var(--bg) 27%,transparent) 95%),linear-gradient(to bottom,var(--bg),transparent 20%,transparent 68%,var(--bg) 99%)}
[data-phase="night"] .secondary-hero-photo img,[data-phase="dusk"] .secondary-hero-photo img{filter:saturate(.71) contrast(1.12) brightness(.65);opacity:.64}
.secondary-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) .35fr;position:relative;z-index:1;pointer-events:none}
.secondary-hero-copy{max-width:920px;pointer-events:auto}
.secondary-hero .eyebrow{font-size:clamp(11px,.86vw,14px);font-weight:800;letter-spacing:.14em}
.secondary-hero h1{font-size:clamp(57px,6.8vw,111px);line-height:1.06;letter-spacing:-.073em;margin:clamp(23px,3vw,45px) 0 25px;max-width:1040px;text-wrap:balance}
.secondary-hero h1 em{color:var(--gold);font-size:1.02em}
.secondary-hero-lede{max-width:730px;font-size:clamp(17px,1.55vw,23px);line-height:1.65;color:var(--ink);text-wrap:pretty}
.secondary-hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:31px}
.secondary-hero-actions .button{min-width:220px;border-radius:18px;padding:18px 22px}
.secondary-hero-quick{position:absolute;bottom:32px;left:max(4vw,calc((100vw - 1360px)/2));right:max(4vw,calc((100vw - 1360px)/2));display:flex;gap:10px;flex-wrap:wrap;z-index:4}
.secondary-hero-quick a{background:var(--header);border:1px solid var(--line);backdrop-filter:blur(16px);border-radius:999px;padding:11px 14px;display:inline-flex;align-items:center;gap:12px;font-size:12px;font-weight:700;box-shadow:0 9px 23px var(--shade);transition:transform .25s,background .25s}
.secondary-hero-quick a:hover{transform:translateY(-5px);background:var(--surface)}
.secondary-hero-quick b{font-size:10px;color:var(--gold)}.secondary-hero-quick span{color:var(--gold)}
/* Uniform section titles and transparent transitions */
body[data-page] .section-number{font-size:clamp(12px,.95vw,15px);color:var(--gold);letter-spacing:.14em;font-weight:800}
.audience-bridge{padding:clamp(45px,5vw,85px) 0 45px}
.audience-header{display:grid;grid-template-columns:.44fr 1fr;gap:7%;align-items:start}
.audience-header h2,.service-section-heading h2,.approach-orientation h2,.method-journey h2,.responsibility-section h2,.principles-heading h2,.about-promise h2,.contact-intro h2,.contact-next h2{font-size:clamp(43px,4.5vw,76px);line-height:1.11}
.audience-header h2 em,.service-section-heading h2 em,.approach-orientation h2 em,.method-journey h2 em,.responsibility-section h2 em,.principles-heading h2 em,.about-promise h2 em,.contact-intro h2 em,.contact-next h2 em{color:var(--gold)}
.audience-cards{display:grid;grid-template-columns:1fr 1fr;gap:19px;margin-top:30px}
.audience-card{border:1px solid var(--line);border-radius:26px;background:color-mix(in srgb,var(--surface) 78%,transparent);padding:clamp(25px,3.5vw,45px);box-shadow:0 15px 45px -35px var(--shade);transition:transform .35s,border-color .35s,box-shadow .35s}
.audience-card:hover{transform:translateY(-8px);border-color:var(--gold);box-shadow:0 30px 60px -37px var(--shade)}
.audience-index,.audience-card a{font-size:12px;color:var(--gold);font-weight:800;letter-spacing:.07em}
.audience-card h3{font-size:clamp(24px,2.5vw,39px);margin:24px 0 16px}
.audience-card p{font-size:clamp(15px,1.2vw,18px);line-height:1.68;max-width:600px}
.audience-card a{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;margin-top:13px;padding-bottom:7px;border-bottom:1px solid var(--gold);transition:gap .25s}
.audience-card a:hover{gap:45px}
.service-section-heading{display:grid;grid-template-columns:.38fr 1fr;gap:8%;padding:clamp(65px,7vw,110px) 0 25px;scroll-margin-top:130px}
.service-section-heading p{font-size:clamp(16px,1.27vw,20px);max-width:710px;margin-top:22px}
.service-suite{position:relative;isolation:isolate;overflow:clip;padding:clamp(35px,4vw,58px) 0;scroll-margin-top:130px}
.service-suite::before{position:absolute;content:'';inset:8% 4%;border:1px solid var(--line);border-radius:32px;background:color-mix(in srgb,var(--surface) 79%,transparent);box-shadow:0 20px 65px -48px var(--shade);z-index:-1;pointer-events:none}
.suite-image{position:absolute;inset:7.5% 3.6% 7.5% auto;width:56%;z-index:-1;border-radius:32px;overflow:hidden;pointer-events:none;-webkit-mask-image:linear-gradient(to right,transparent 0%,black 42%,black 92%,transparent 100%),linear-gradient(to bottom,transparent,black 11%,black 88%,transparent);mask-image:linear-gradient(to right,transparent 0%,black 42%,black 92%,transparent 100%);}
.suite-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.74) contrast(1.08);opacity:.58;transition:transform .9s,filter .9s,opacity .9s}
.service-suite:hover .suite-image img{transform:scale(1.045);opacity:.69;filter:saturate(.85) contrast(1.12)}
.suite-vignette{pointer-events:none;position:absolute;inset:7% 3.6%;z-index:-1;border-radius:32px;background:linear-gradient(90deg,var(--surface) 3%,color-mix(in srgb,var(--surface) 95%,transparent) 42%,transparent 92%),linear-gradient(to top,var(--surface),transparent 25%);opacity:.90}
.suite-shell{position:relative;display:grid;grid-template-columns:.16fr 1fr;gap:20px;padding:clamp(35px,5vw,77px) clamp(32px,5vw,70px);align-items:start}
.suite-number{color:var(--gold);font-size:clamp(12px,.9vw,15px);letter-spacing:.15em;font-weight:800;padding-top:14px}
.suite-copy{max-width:760px}
.suite-copy h2{font-size:clamp(45px,5.1vw,80px);margin:0 0 24px;line-height:1.09}
.suite-copy h2 em{color:var(--gold)}
.suite-promise{display:block;font-family:Manrope,sans-serif;font-size:clamp(19px,1.55vw,25px);line-height:1.35;font-weight:700;margin-bottom:15px}
.suite-description{font-size:clamp(15px,1.19vw,19px);max-width:675px;line-height:1.68;color:var(--ink)}
.suite-deliverables{margin:25px 0;padding:20px clamp(16px,2.4vw,30px);border:1px solid var(--line);border-radius:21px;background:color-mix(in srgb,var(--surface) 81%,transparent);backdrop-filter:blur(11px);box-shadow:0 8px 40px -30px var(--shade)}
.suite-deliverables>span,.suite-outcome b{color:var(--gold);font-size:11px;font-weight:800;letter-spacing:.12em;display:block;margin-bottom:13px}
.suite-deliverables ul{display:grid;grid-template-columns:1fr 1fr;column-gap:24px;row-gap:9px;list-style:none;margin:0;padding:0}
.suite-deliverables li{font-size:clamp(13px,1.05vw,16px);line-height:1.55;padding-left:20px;position:relative;color:var(--ink)}
.suite-deliverables li::before{content:'↗';position:absolute;left:0;color:var(--gold)}
.suite-outcome{font-size:clamp(14px,1.1vw,17px);line-height:1.6;max-width:660px}
.suite-copy .button{border-radius:15px;margin-top:13px;background:color-mix(in srgb,var(--surface) 78%,transparent);backdrop-filter:blur(8px)}
.service-suite:nth-of-type(even) .suite-image{left:3.6%;right:auto;-webkit-mask-image:linear-gradient(to left,transparent 0%,black 42%,black 92%,transparent 100%);mask-image:linear-gradient(to left,transparent 0%,black 42%,black 92%,transparent 100%)}
.service-suite:nth-of-type(even) .suite-vignette{background:linear-gradient(270deg,var(--surface) 3%,color-mix(in srgb,var(--surface) 95%,transparent) 42%,transparent 92%),linear-gradient(to top,var(--surface),transparent 25%)}
.service-suite:nth-of-type(even) .suite-shell{grid-template-columns:.16fr 1fr;}
.service-suite:nth-of-type(even) .suite-copy{margin-left:auto}
/* A restrained, substantial monthly service card */
.content-engine-section{margin-top:clamp(45px,7vw,90px);margin-bottom:clamp(65px,8vw,115px);display:grid;grid-template-columns:.73fr 1fr;gap:7%;align-items:center;border-radius:36px;border:1px solid var(--line);padding:clamp(28px,5.6vw,90px);background:linear-gradient(125deg,color-mix(in srgb,var(--surface-alt) 70%,transparent),color-mix(in srgb,var(--surface) 92%,transparent));box-shadow:0 30px 75px -43px var(--shade);overflow:hidden}
.engine-visual{position:relative;height:390px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--gold-shine) 29%,transparent),transparent 57%)}
.engine-visual::before{content:'✳';font-size:clamp(80px,11vw,190px);color:var(--gold);filter:drop-shadow(0 0 50px color-mix(in srgb,var(--gold-shine) 42%,transparent));transform-origin:center;animation:engine-breathe 7s ease-in-out infinite}
.engine-visual>span{position:absolute;bottom:18%;font-size:10px;letter-spacing:.18em;font-weight:800;color:var(--ink);white-space:nowrap}.engine-visual i{color:var(--gold)}
.engine-orbit{border:1px solid var(--line);border-radius:50%;position:absolute;inset:8%}.engine-orbit-a{transform:rotate(45deg) scaleX(.6)}.engine-orbit-b{transform:rotate(-45deg) scaleX(.6)}
.engine-copy h2{font-size:clamp(54px,6.5vw,100px);margin:18px 0 20px}.engine-copy h2 em{color:var(--gold)}.engine-copy p{font-size:clamp(15px,1.17vw,18px);line-height:1.67;color:var(--ink)}.engine-note{font-size:13px!important;color:var(--fine)!important}.engine-copy .button{border-radius:17px;margin-top:20px}
@keyframes engine-breathe{50%{transform:scale(1.07) rotate(24deg)}}
.engagement-choice{padding:clamp(45px,5vw,75px) 0 clamp(70px,8vw,125px);display:grid;grid-template-columns:1fr .8fr;gap:9%;border-top:1px solid var(--line)}
.engagement-choice h2{font-size:clamp(42px,5vw,78px);margin:25px 0}.engagement-choice h2 em{color:var(--gold)}.engagement-choice p{font-size:clamp(15px,1.23vw,19px);line-height:1.7}.engagement-choice .button{border-radius:18px;margin-top:15px}
/* Approach */
.approach-orientation{padding:clamp(50px,5vw,90px) 0;display:grid;grid-template-columns:.34fr 1fr .62fr;gap:5%;align-items:start}
.approach-orientation h2{margin:0 0 24px}.approach-orientation p{font-size:clamp(15px,1.18vw,19px);line-height:1.68;color:var(--ink)}
.approach-aside{border:1px solid var(--line);border-radius:25px;background:var(--surface);padding:30px;box-shadow:0 20px 52px -40px var(--shade);transform:translateY(26px);transition:transform .3s}
.approach-aside:hover{transform:translateY(18px)}.approach-aside span{font-size:11px;letter-spacing:.14em;color:var(--gold);font-weight:800}.approach-aside p{font-size:16px;margin:15px 0 0}
.method-journey{position:relative;isolation:isolate;overflow:clip;padding:clamp(60px,8vw,110px) 0 clamp(50px,5vw,85px)}
.method-journey-backdrop{position:absolute;z-index:-1;inset:0;opacity:.37;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 79%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 79%,transparent)}
.method-journey-backdrop img{width:100%;height:100%;object-fit:cover;filter:grayscale(.2) contrast(1.18)}
.method-journey::before{content:'';position:absolute;inset:0;background:linear-gradient(to right,var(--bg),color-mix(in srgb,var(--bg) 95%,transparent) 38%,color-mix(in srgb,var(--bg) 72%,transparent)),linear-gradient(to bottom,var(--bg),transparent 19%,transparent 80%,var(--bg));z-index:-1}
.method-journey h2{margin:23px 0 clamp(32px,4vw,70px)}
.journey-list{display:grid;gap:13px}.journey-step{display:grid;grid-template-columns:85px minmax(0,1fr) 165px;gap:4%;align-items:start;padding:clamp(24px,2.8vw,41px);border:1px solid var(--line);border-radius:23px;background:color-mix(in srgb,var(--surface) 87%,transparent);backdrop-filter:blur(9px);box-shadow:0 12px 35px -32px var(--shade);transition:transform .35s,border-color .35s,box-shadow .35s}
.journey-step:hover{transform:translateX(10px);border-color:var(--gold);box-shadow:0 25px 50px -35px var(--shade)}
.journey-index{font-size:clamp(24px,2vw,36px);font-weight:700;color:var(--gold)}.journey-step h3{font-size:clamp(22px,2.25vw,35px);margin:0 0 9px}.journey-step p{font-size:clamp(15px,1.18vw,18px);line-height:1.7;margin:0;max-width:820px;color:var(--ink)}.journey-result{justify-self:end;font-size:11px;font-weight:800;color:var(--gold);letter-spacing:.09em;text-align:right;padding-top:6px}
.responsibility-section{padding:clamp(70px,7vw,110px) 0}.responsibility-section h2{margin:25px 0 32px}
.responsibility-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.responsibility-grid article{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:clamp(24px,3.6vw,50px);transition:transform .3s}.responsibility-grid article:hover{transform:translateY(-7px)}
.responsibility-grid span{font-size:11px;color:var(--gold);letter-spacing:.13em;font-weight:800}.responsibility-grid h3{font-size:clamp(24px,2.3vw,37px);margin:18px 0 10px}.responsibility-grid p{font-size:clamp(15px,1.15vw,19px);color:var(--ink)}
/* About: resilient layout; portrait and text cannot overlap */
.founder-section{padding:clamp(70px,7vw,115px) 0;display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:clamp(36px,6vw,105px);align-items:start}
.founder-portrait-block,.founder-story{min-width:0;position:relative}
.founder-portrait-block{align-self:start}
.founder-image-wrap{position:relative;aspect-ratio:4/5.25;overflow:hidden;border-radius:29px;border:1px solid var(--line);background:var(--surface-alt);box-shadow:0 34px 60px -40px var(--shade)}
.founder-image-wrap::after{content:'';pointer-events:none;position:absolute;inset:0;background:linear-gradient(to top,rgba(13,16,21,.15),transparent 36%);border-radius:inherit}
.founder-photo{width:100%;height:100%;display:block;object-fit:cover;object-position:center 40%;filter:contrast(1.05) saturate(.9);transition:transform .7s,filter .7s}
.founder-image-wrap:hover .founder-photo{transform:scale(1.025);filter:contrast(1.08) saturate(1.06)}
.founder-caption{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;padding:20px 7px;border-bottom:1px solid var(--line)}
.founder-caption span{font-size:10px;font-weight:800;letter-spacing:.11em;color:var(--gold)}
.founder-story h2{font-size:clamp(44px,4.65vw,78px);margin:20px 0 29px;line-height:1.12;overflow-wrap:anywhere}
.founder-story h2 em{color:var(--gold)}.founder-story p{max-width:710px;font-size:clamp(15px,1.15vw,18px);line-height:1.73;margin-bottom:20px;color:var(--ink)}
.founder-story .founder-emphasis{font-size:clamp(18px,1.65vw,25px);font-weight:600;line-height:1.55}
.founder-signature{display:flex;align-items:center;gap:20px;margin-top:34px}.founder-line-rule{display:block;width:53px;height:2px;background:var(--gold)}
.founder-signature strong{font-size:15px}.founder-signature small{display:block;font-size:12px;color:var(--muted);margin-top:6px}
.agency-principles{position:relative;isolation:isolate;padding:clamp(76px,8vw,118px) 0;overflow:hidden}
.principle-backdrop{position:absolute;inset:0;z-index:-2;opacity:.30;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 15%,#000 83%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 15%,#000 83%,transparent)}
.principle-backdrop img{width:100%;height:100%;object-fit:cover;filter:contrast(1.25) saturate(.5)}
.agency-principles::after{position:absolute;content:'';inset:0;z-index:-1;background:linear-gradient(90deg,var(--bg),color-mix(in srgb,var(--bg) 84%,transparent),var(--bg))}
.principles-heading h2{margin:24px 0 clamp(32px,5vw,65px)}
.principle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.principle-grid article{background:color-mix(in srgb,var(--surface) 86%,transparent);border:1px solid var(--line);border-radius:24px;padding:clamp(23px,3.5vw,48px);backdrop-filter:blur(10px);transition:transform .35s,border-color .35s}
.principle-grid article:hover{transform:translateY(-8px);border-color:var(--gold)}
.principle-grid span{color:var(--gold);font-size:11px;font-weight:800;letter-spacing:.14em}.principle-grid h3{font-size:clamp(24px,2.4vw,38px);margin:20px 0 12px}.principle-grid p{font-size:clamp(15px,1.18vw,18px);line-height:1.68;color:var(--ink)}
.about-promise{display:grid;grid-template-columns:1fr .76fr;gap:9%;padding:clamp(65px,8vw,130px) 0}.about-promise h2{margin:25px 0}.about-promise p{font-size:clamp(15px,1.19vw,19px);line-height:1.7;color:var(--ink)}.about-promise .button{border-radius:18px;margin-top:18px}
/* Contact: decorative background woven behind a fully functional Wix form */
.contact-intro{padding:clamp(50px,5vw,75px) 0;display:grid;grid-template-columns:.35fr 1fr;gap:7%;align-items:start}
.contact-intro h2{margin:0 0 25px}.contact-reasons{display:flex;flex-wrap:wrap;gap:12px}.contact-reasons span{padding:12px 18px;border:1px solid var(--line);border-radius:99px;background:var(--surface);font-size:11px;font-weight:800;color:var(--gold);letter-spacing:.05em;box-shadow:0 8px 24px -20px var(--shade)}
.contact-stage{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(18px,3vw,45px);padding:15px 0 clamp(70px,7vw,115px);align-items:stretch;scroll-margin-top:125px}
.contact-explainer{border:1px solid var(--line);border-radius:32px;overflow:hidden;position:relative;isolation:isolate;min-height:670px;box-shadow:0 24px 65px -48px var(--shade)}
.contact-scene{position:absolute;z-index:-2;inset:0}.contact-scene img{width:100%;height:100%;object-fit:cover;filter:saturate(.62) contrast(1.18);opacity:.63}.contact-scene::after{position:absolute;content:'';inset:0;background:linear-gradient(0deg,var(--surface) 0%,color-mix(in srgb,var(--surface) 90%,transparent) 26%,color-mix(in srgb,var(--surface) 75%,transparent) 55%,color-mix(in srgb,var(--surface) 40%,transparent))}
.contact-explainer-inner{display:flex;flex-direction:column;padding:clamp(28px,4.5vw,62px);height:100%}
.contact-explainer h2{font-size:clamp(43px,4.4vw,72px);line-height:1.11;margin:24px 0}.contact-explainer h2 em{color:var(--gold)}.contact-explainer p{font-size:clamp(15px,1.21vw,19px);line-height:1.68;color:var(--ink)}
.contact-direct{margin-top:auto;padding-top:42px}.contact-direct span,.contact-remote{font-size:11px;letter-spacing:.14em;font-weight:800;color:var(--gold)}
.contact-direct a{font-size:clamp(15px,1.28vw,20px);font-weight:700;display:flex;gap:10px;justify-content:space-between;align-items:center;overflow-wrap:anywhere;border-bottom:1px solid var(--gold);margin-top:12px;padding-bottom:11px}
.contact-direct a span{font-size:19px}.contact-remote{margin-top:35px;display:block;color:var(--fine)}
.contact-form-shell{padding:clamp(28px,3.5vw,51px)!important;border-radius:32px!important;background:color-mix(in srgb,var(--surface) 95%,transparent)!important;backdrop-filter:blur(18px);box-shadow:0 30px 70px -44px var(--shade)!important;min-width:0}
.contact-form-shell h3{font-size:clamp(25px,2.8vw,44px);margin:30px 0 7px}.contact-form-intro{font-size:clamp(15px,1.15vw,18px);line-height:1.6;margin-bottom:15px}
.contact-stage .form-topline{padding-bottom:19px}.contact-stage .enquiry-form{column-gap:18px;row-gap:21px}
.contact-stage .field label{font-size:12px}.contact-stage .field input,.contact-stage .field select,.contact-stage .field textarea{border-radius:14px!important;padding:15px!important}
.contact-stage .enquiry-form button[type=submit]{border-radius:17px;padding:18px 25px;font-size:13px}
.contact-next{padding:clamp(42px,5vw,80px) 0 clamp(85px,8vw,125px);border-top:1px solid var(--line)}
.contact-next h2{margin:25px 0 40px}
.contact-next-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.contact-next article{padding:clamp(23px,3vw,38px);border:1px solid var(--line);border-radius:26px;background:var(--surface);box-shadow:0 14px 34px -33px var(--shade);transition:transform .35s}
.contact-next article:hover{transform:translateY(-7px)}.contact-next article>span{font-size:23px;font-weight:800;color:var(--gold)}
.contact-next h3{font-size:clamp(21px,2vw,32px);margin:22px 0 10px}.contact-next p{font-size:clamp(14px,1.13vw,18px);line-height:1.68;color:var(--ink)}
/* Subpage header and CTA continuity; make the menu breathe after removal of Work */
body[data-page] .desktop-nav{gap:clamp(15px,2.3vw,34px)}
body[data-page] .closing-statement{padding:clamp(75px,8vw,125px) 0;background:transparent}
body[data-page] .closing-statement .button{border-radius:17px}
body[data-page] .footer-main{padding:clamp(35px,5vw,70px) 0}
/* Layering in dark phases */
[data-phase="dusk"] .suite-vignette,[data-phase="night"] .suite-vignette{opacity:.92}
[data-phase="dusk"] .suite-image img,[data-phase="night"] .suite-image img{opacity:.43}
[data-phase="dusk"] .contact-scene img,[data-phase="night"] .contact-scene img{opacity:.42}
/* Responsive, guaranteed no side-column collisions */
@media(max-width:1100px){
 .secondary-hero-grid{grid-template-columns:1fr .1fr}.secondary-hero h1{font-size:clamp(58px,7.7vw,100px)}
 .service-section-heading,.audience-header{grid-template-columns:.3fr 1fr}
 .suite-shell{grid-template-columns:100px minmax(0,1fr)}.suite-vignette{opacity:.96}
 .approach-orientation{grid-template-columns:1fr 1.2fr}.approach-orientation .approach-aside{grid-column:2;transform:none}
 .founder-section{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:38px}
 .founder-story h2{font-size:clamp(42px,5.5vw,67px)}
 .contact-stage{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:16px}
 .contact-explainer-inner{padding:28px}
}
@media(max-width:760px){
 .secondary-hero{min-height:680px;padding:145px 0 116px}
 .secondary-hero-photo img{object-position:70% center;opacity:.52}
 .secondary-hero-wash{background:linear-gradient(90deg,var(--bg),color-mix(in srgb,var(--bg) 90%,transparent) 70%,color-mix(in srgb,var(--bg) 58%,transparent)),linear-gradient(to bottom,var(--bg),transparent 22%,transparent 70%,var(--bg))}
 .secondary-hero-grid{grid-template-columns:1fr}.secondary-hero h1{font-size:clamp(48px,10vw,75px);margin:30px 0 20px}.secondary-hero-lede{font-size:17px;line-height:1.63}
 .secondary-hero-actions .button{min-width:0;width:100%}
 .secondary-hero-quick{bottom:16px;left:5vw;right:5vw;gap:7px}.secondary-hero-quick a{font-size:10px;padding:9px 11px;flex:1 1 40%;justify-content:space-between}
 .audience-header,.service-section-heading,.approach-orientation,.contact-intro,.engagement-choice,.about-promise{grid-template-columns:1fr;gap:18px}
 .audience-cards,.responsibility-grid,.principle-grid,.contact-next-grid{grid-template-columns:1fr;gap:12px}
 .service-section-heading h2,.audience-header h2,.approach-orientation h2,.method-journey h2,.responsibility-section h2,.principles-heading h2,.about-promise h2,.contact-intro h2,.contact-next h2{font-size:clamp(40px,9vw,60px)}
 .service-suite{padding:18px 0}.service-suite::before{inset:2% 0}.suite-shell{grid-template-columns:1fr;padding:32px 25px}.suite-number{padding:0}.suite-copy h2{font-size:clamp(43px,9vw,66px);margin-top:15px}.suite-image{inset:2% 0 2% 0;width:100%}.suite-image img{opacity:.22}.suite-vignette{inset:2% 0;background:linear-gradient(to right,var(--surface) 0%,color-mix(in srgb,var(--surface) 87%,transparent) 75%,var(--surface))!important;opacity:.95}
 .service-suite:nth-of-type(even) .suite-copy{margin-left:0}.service-suite:nth-of-type(even) .suite-image{inset:2% 0;width:100%}
 .suite-deliverables ul{grid-template-columns:1fr}.suite-deliverables{padding:20px}.suite-promise{font-size:19px}
 .content-engine-section{grid-template-columns:1fr;gap:6px;border-radius:24px;padding:28px}.engine-visual{height:250px}.engine-copy h2{font-size:64px}
 .approach-aside{grid-column:1!important;transform:none}.journey-step{grid-template-columns:40px minmax(0,1fr);gap:14px}.journey-result{grid-column:2;justify-self:start}.journey-index{font-size:24px}.journey-step h3{font-size:25px}
 .founder-section{grid-template-columns:1fr;gap:45px}.founder-image-wrap{max-width:520px;margin:auto;aspect-ratio:4/4.7}.founder-caption{max-width:520px;margin:auto}.founder-story h2{font-size:clamp(45px,9vw,63px)}
 .contact-stage{grid-template-columns:1fr;gap:18px}.contact-explainer{min-height:470px}.contact-explainer-inner{padding:30px}.contact-explainer h2{font-size:55px}.contact-form-shell{padding:28px!important}
 .contact-reasons span{font-size:10px}
}
@media(max-width:400px){.secondary-hero{min-height:730px}.secondary-hero h1{font-size:clamp(43px,11vw,55px)}.secondary-hero-quick a{font-size:9px}.contact-stage .enquiry-form{grid-template-columns:1fr}.contact-stage .field{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){.journey-step,.principle-grid article,.audience-card,.suite-image img,.engine-visual::before{animation:none!important;transition:none!important}}

/* Privacy page uses the same atmospheric header and gold typography. */
.secondary-hero--privacy{min-height:490px;padding:150px 0 70px}
.secondary-hero--privacy h1{font-size:clamp(55px,6vw,92px)}
body[data-page="privacy"] .privacy-layout{padding:clamp(45px,6vw,85px) 0 clamp(70px,8vw,125px)}
body[data-page="privacy"] .privacy-content{padding:clamp(26px,3vw,46px);border-radius:28px;background:color-mix(in srgb,var(--surface) 84%,transparent);border:1px solid var(--line);box-shadow:0 15px 50px -38px var(--shade)}
body[data-page="privacy"] .privacy-content h2{color:var(--ink)}
@media(max-width:760px){.secondary-hero--privacy{min-height:420px;padding:145px 0 45px}}


/* Site-wide footer alignment and client access controls - 2026-11-05 */
.site-footer>.wrap{width:calc(100% - clamp(50px,7vw,112px));padding:clamp(24px,3.6vw,48px) 0;gap:clamp(16px,2vw,28px)}
.site-footer .footer-top,.site-footer .footer-main,.site-footer .footer-social-row,.site-footer .footer-bottom{padding-left:clamp(25px,4vw,68px)!important;padding-right:clamp(25px,4vw,68px)!important;min-width:0}
.site-footer .footer-top{min-height:225px;padding-top:clamp(36px,5vw,72px)!important;padding-bottom:clamp(36px,5vw,72px)!important}
.site-footer .footer-main{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(30px,5vw,90px);padding-top:clamp(42px,5vw,72px)!important;padding-bottom:clamp(42px,5vw,72px)!important}
.site-footer .footer-brand{min-width:0}
.site-footer .footer-wordmark{display:block;max-width:100%;font-size:clamp(20px,2.25vw,36px);letter-spacing:-.045em;overflow-wrap:anywhere}
.site-footer .footer-links{min-width:0}
.site-footer .footer-social-row{min-height:82px}
.site-footer .footer-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:clamp(14px,2.5vw,36px);min-height:94px;line-height:1.65;text-align:left}
.site-footer .footer-bottom>span:first-child{min-width:0;overflow-wrap:anywhere}
.site-footer .footer-bottom>.footer-weather{justify-self:center}
.site-footer .footer-bottom>span:last-child{justify-self:end;text-align:right}
@media(max-width:1250px){.header-inner.wrap{gap:10px}.desktop-nav{gap:clamp(10px,1.15vw,18px)}}
@media(max-width:1100px){.desktop-nav{display:none!important}.menu-toggle{display:grid!important}.mobile-menu{display:block;top:68px}.mobile-menu[hidden]{display:none!important}}
@media(max-width:800px){.site-footer .footer-main{grid-template-columns:1fr;gap:30px}.site-footer .footer-bottom{grid-template-columns:1fr;gap:13px;min-height:120px}.site-footer .footer-bottom>.footer-weather{justify-self:start}.site-footer .footer-bottom>span:last-child{justify-self:start;text-align:left}.site-footer .footer-wordmark{font-size:clamp(20px,4vw,31px)}}
@media(max-width:700px){.site-footer>.wrap{width:calc(100% - 34px);padding:17px 0;gap:12px}.site-footer .footer-top,.site-footer .footer-main,.site-footer .footer-social-row,.site-footer .footer-bottom{padding-left:clamp(19px,5vw,29px)!important;padding-right:clamp(19px,5vw,29px)!important}.site-footer .footer-top{min-height:190px}.site-footer .footer-social-row{min-height:75px}.site-footer .footer-bottom{padding-top:24px!important;padding-bottom:24px!important}.mobile-menu{top:61px}}
@media(max-width:400px){.site-footer .footer-wordmark{font-size:19px;letter-spacing:-.055em}}


/* Matheson-Hazzard: content service feature and structured package cards */
.mh-engine-highlight{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(0,.87fr);gap:clamp(26px,6vw,88px);align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.mh-engine-highlight h2,.mh-packages-heading h2{font-size:clamp(35px,4.7vw,70px);line-height:1.12;letter-spacing:-.045em;margin:22px 0}
.mh-engine-highlight h2 em,.mh-packages-heading h2 em{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400}
.mh-engine-highlight p,.mh-packages-heading p{font-size:clamp(15px,1.2vw,18px);max-width:670px}
.mh-engine-highlight-side{background:var(--surface);border:1px solid var(--line);padding:clamp(22px,3vw,38px);border-radius:18px}
.mh-engine-highlight-side>span,.mh-package-card>span{display:block;font-size:10px;letter-spacing:.17em;font-weight:700;color:var(--gold)}
.mh-engine-highlight-side ul,.mh-package-card ul{padding:0;list-style:none;margin:22px 0 28px}
.mh-engine-highlight-side li,.mh-package-card li{font-size:13px;line-height:1.6;padding:11px 0;border-top:1px solid var(--line)}
.mh-engine-highlight-side .button{max-width:100%}
.mh-packages-section{border-top:1px solid var(--line)}
.mh-packages-heading{max-width:880px;margin-bottom:34px}
.mh-packages-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
.mh-package-card{display:flex;flex-direction:column;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:clamp(23px,3vw,38px);min-width:0}
.mh-package-card h3{font-size:clamp(24px,2.3vw,34px);line-height:1.12;margin:18px 0 10px}
.mh-package-card p{font-size:14px;line-height:1.65;max-width:420px}
.mh-package-card ul{margin:20px 0 20px;width:100%;flex:1}
.mh-package-card>a{font-weight:700;font-size:13px;color:var(--gold);text-decoration:none;display:inline-flex;align-items:center;gap:10px}
.mh-package-card>a:hover{text-decoration:underline}
.mh-package-disclaimer{font-size:12px;line-height:1.7;margin-top:27px;color:var(--muted)}
@media(max-width:860px){.mh-engine-highlight{grid-template-columns:1fr}.mh-packages-grid{grid-template-columns:1fr}}


/* Monthly content rhythm and founder statement */
.mh-monthly-flow{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.mh-monthly-flow-intro{max-width:1010px;margin-bottom:40px}
.mh-monthly-flow-intro h2{font-size:clamp(36px,4.7vw,71px);line-height:1.12;letter-spacing:-.04em;margin:23px 0}
.mh-monthly-flow-intro h2 em{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400}
.mh-monthly-flow-intro p{font-size:clamp(15px,1.3vw,18px);max-width:720px}
.mh-monthly-flow-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.mh-monthly-flow-steps article{background:var(--surface);border:1px solid var(--line);border-radius:17px;padding:clamp(20px,2.5vw,35px)}
.mh-monthly-flow-steps article>span{font-size:10px;font-weight:700;letter-spacing:.16em;color:var(--gold)}
.mh-monthly-flow-steps h3{margin:23px 0 13px;font-size:clamp(21px,2vw,29px)}
.mh-monthly-flow-steps p{margin-bottom:0;font-size:13px;line-height:1.7}
.mh-monthly-flow-note{font-size:12px;margin:25px 0 0}
.mh-founder-quote{padding:clamp(48px,7vw,94px) 0;border-top:1px solid var(--line)}
.mh-founder-quote p{font-family:'Cormorant Garamond',Georgia,serif;color:var(--ink);font-style:italic;font-size:clamp(31px,4vw,63px);line-height:1.15;letter-spacing:-.02em;max-width:1150px;margin:0}
@media(max-width:820px){.mh-monthly-flow-steps{grid-template-columns:1fr}}


/* November refinement: tighter rhythm, readable starts, seamless image transitions */
.section-pad{padding-top:clamp(45px,5.5vw,78px);padding-bottom:clamp(45px,5.5vw,78px)}
.hero-v3-inner{padding-top:clamp(31px,4vw,56px);padding-bottom:24px;gap:26px}
.hero-backdrop img{-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 13%,#000 66%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,#000 13%,#000 66%,transparent 100%)}
.hero-backdrop-wash{background:linear-gradient(90deg,var(--hero-wash) 0%,var(--hero-wash-mid) 45%,var(--hero-wash-end) 100%),linear-gradient(to bottom,var(--bg) 0%,transparent 20%,transparent 68%,var(--bg) 100%)}
.image-feature-v3{padding-top:clamp(16px,2.1vw,30px);padding-bottom:clamp(16px,2.1vw,30px)}
.feature-backdrop img{-webkit-mask-image:radial-gradient(ellipse 105% 87% at 70% 50%,#000 0%,rgba(0,0,0,.72) 44%,transparent 86%);mask-image:radial-gradient(ellipse 105% 87% at 70% 50%,#000 0%,rgba(0,0,0,.72) 44%,transparent 86%)}
.feature-backdrop:after{background:linear-gradient(to bottom,var(--bg) 0%,transparent 26%,transparent 65%,var(--bg) 100%),linear-gradient(90deg,var(--bg),transparent 60%,color-mix(in srgb,var(--bg) 28%,transparent))}
.secondary-hero,.secondary-hero--privacy{min-height:0;padding:clamp(44px,5.8svh,76px) 0 clamp(26px,3.5svh,46px);justify-content:flex-start;gap:clamp(22px,3svh,38px);background:transparent}
.secondary-hero h1{font-size:clamp(46px,5.9vw,90px);line-height:1.07;margin:16px 0 18px}
.secondary-hero-lede{font-size:clamp(16px,1.34vw,21px);line-height:1.55}
.secondary-hero-actions{margin-top:22px}
.secondary-hero-actions .button{padding:15px 21px}
.secondary-hero-quick{position:relative;bottom:auto;left:auto;right:auto;width:min(1360px,calc(100% - 8vw));margin:0 auto;display:flex;gap:9px}
.secondary-hero-photo{-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 16%,#000 59%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,#000 16%,#000 59%,transparent 100%)}
.secondary-hero-wash{background:linear-gradient(to bottom,var(--bg) 0%,transparent 23%,transparent 55%,var(--bg) 100%),linear-gradient(90deg,var(--bg) 0%,color-mix(in srgb,var(--bg) 85%,transparent) 48%,color-mix(in srgb,var(--bg) 36%,transparent) 100%)}
.audience-bridge{padding:clamp(30px,3.8vw,58px) 0 25px}
.service-section-heading{padding:clamp(36px,4.5vw,72px) 0 15px}
.service-suite{padding:clamp(18px,2.4vw,36px) 0}
.content-engine-section{margin-top:clamp(25px,3.5vw,55px);margin-bottom:clamp(32px,4.5vw,66px);padding:clamp(23px,3.6vw,58px)}
.engagement-choice{padding:clamp(35px,4vw,64px) 0 clamp(48px,5.5vw,80px)}
.approach-orientation{padding:clamp(30px,3.5vw,55px) 0}
.method-journey{padding:clamp(40px,5vw,75px) 0 clamp(35px,4vw,63px);background:transparent}
.method-journey-backdrop{z-index:-2;opacity:.47;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.17) 15%,#000 35%,#000 65%,rgba(0,0,0,.17) 88%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.17) 15%,#000 35%,#000 65%,rgba(0,0,0,.17) 88%,transparent 100%)}
.method-journey::before{z-index:-1;background:linear-gradient(90deg,var(--bg) 0%,color-mix(in srgb,var(--bg) 77%,transparent) 38%,color-mix(in srgb,var(--bg) 50%,transparent) 100%),linear-gradient(to bottom,var(--bg) 0%,color-mix(in srgb,var(--bg) 72%,transparent) 18%,transparent 36%,transparent 64%,color-mix(in srgb,var(--bg) 78%,transparent) 86%,var(--bg) 100%)}
.method-journey h2{margin:16px 0 clamp(20px,3vw,39px)}
.journey-list{gap:10px}
.journey-step{grid-template-columns:minmax(70px,94px) minmax(0,1fr) minmax(133px,176px);gap:clamp(14px,2.3vw,31px);align-items:center;padding:clamp(22px,2.4vw,32px)}
.journey-index{align-self:center;justify-self:center;font-size:clamp(34px,3.3vw,52px);line-height:1}
.journey-step>div{align-self:center}
.journey-result{align-self:center;justify-self:center;text-align:center;font-size:clamp(14px,1.13vw,17px);line-height:1.4;letter-spacing:.08em;padding-top:0}
.responsibility-section{padding:clamp(40px,4.6vw,70px) 0}
.responsibility-section h2{margin:17px 0 23px}
.founder-section{padding:clamp(39px,5vw,76px) 0}
.agency-principles{padding:clamp(43px,5vw,76px) 0}
.about-promise{padding:clamp(38px,4.6vw,72px) 0}
.contact-intro{padding:clamp(30px,3.6vw,54px) 0}
.contact-stage{padding-bottom:clamp(42px,5vw,75px)}
.contact-next{padding:clamp(34px,4vw,62px) 0 clamp(47px,5vw,78px)}
.contact-next h2{margin:18px 0 27px}
.mh-engine-highlight{column-gap:clamp(22px,4vw,55px)}
.mh-packages-heading{margin-bottom:23px}
.mh-monthly-flow-intro{margin-bottom:27px}
.mh-monthly-flow-intro h2{margin:16px 0}
.mh-monthly-flow-steps{gap:13px}
.closing-statement,body[data-page] .closing-statement{padding-top:clamp(44px,5vw,77px);padding-bottom:clamp(44px,5vw,77px)}
/* Gold captions on service and package cards */
.service-flip-card .service-count,.service-card-hint,.service-card-explore{font-size:clamp(12px,1vw,14px);line-height:1.4}
.suite-number,.suite-deliverables>span,.suite-outcome b,.audience-index,.responsibility-grid article>span,.principle-grid article>span,.mh-monthly-flow-steps article>span,.mh-engine-highlight-side>span,.mh-package-card>span{font-size:clamp(12px,1vw,14px);line-height:1.4}
.service-back-symbol{font-size:clamp(29px,2.7vw,41px)}
/* Content Engine: large self-animating emblem and accelerated hover */
.engine-visual{height:clamp(310px,31vw,445px);isolation:isolate}
.engine-visual::before{font-size:clamp(220px,22vw,335px);line-height:1;animation:mh-engine-spin 12s linear infinite;will-change:transform;filter:drop-shadow(0 0 34px color-mix(in srgb,var(--gold-shine) 46%,transparent))}
.engine-orbit{inset:3%;border-color:color-mix(in srgb,var(--gold) 28%,var(--line))}
.engine-orbit-a{animation:mh-orbit-a 19s linear infinite}
.engine-orbit-b{animation:mh-orbit-b 15s linear infinite}
.content-engine-section:hover .engine-visual::before,.engine-visual:hover::before{animation-duration:2.8s}
.content-engine-section:hover .engine-orbit-a{animation-duration:5.5s}
.content-engine-section:hover .engine-orbit-b{animation-duration:4.2s}
.engine-visual>span{bottom:7%;font-size:clamp(12px,1.04vw,15px);letter-spacing:.14em}
@keyframes mh-engine-spin{0%{transform:rotate(0deg) scale(.92)}50%{transform:rotate(180deg) scale(1.08)}100%{transform:rotate(360deg) scale(.92)}}
@keyframes mh-orbit-a{from{transform:rotate(45deg) scaleX(.72)}to{transform:rotate(405deg) scaleX(.72)}}
@keyframes mh-orbit-b{from{transform:rotate(-45deg) scaleX(.72)}to{transform:rotate(-405deg) scaleX(.72)}}
/* Keep social heading and icon group together, centered */
.footer-social-row{justify-content:center;gap:clamp(14px,2.6vw,30px);flex-wrap:wrap}
.footer-social-row .social-links{display:flex;align-items:center;justify-content:center;gap:10px}
.footer-social-row>span{font-size:clamp(12px,1vw,14px);line-height:1.4}
@media(max-width:800px){
 .secondary-hero,.secondary-hero--privacy{padding:clamp(32px,4svh,48px) 0 28px}
 .secondary-hero h1{font-size:clamp(40px,8.7vw,66px);line-height:1.06}
 .secondary-hero-quick a{flex:1 1 40%;font-size:11px}
 .journey-step{grid-template-columns:minmax(40px,48px) minmax(0,1fr);gap:14px;padding:22px 18px}
 .journey-index{justify-self:center;align-self:center;font-size:30px}
 .journey-result{grid-column:2;justify-self:start;text-align:left;font-size:13px;margin-top:7px}
 .engine-visual{height:clamp(250px,48vw,340px)}
 .engine-visual::before{font-size:clamp(185px,35vw,275px)}
 .engine-visual>span{bottom:3%;font-size:12px}
 .footer-social-row{justify-content:center}
}
@media(max-width:520px){
 .secondary-hero,.secondary-hero--privacy{padding:25px 0 22px}
 .secondary-hero h1{font-size:clamp(35px,9.3vw,49px);margin:12px 0 14px}
 .secondary-hero-lede{font-size:16px;line-height:1.5}
 .secondary-hero-actions{margin-top:17px;gap:9px}
 .secondary-hero-actions .button{padding:12px 14px;min-width:0;font-size:12px}
 .secondary-hero-quick{gap:7px}
 .secondary-hero-quick a{padding:9px 10px;font-size:10px;flex:1 1 43%}
 .hero-v3-inner{padding-top:27px;gap:20px}
 .mh-package-card>span,.mh-monthly-flow-steps article>span{font-size:12px}
 .footer-social-row{gap:10px;text-align:center}
 .engine-visual{height:265px}
 .engine-visual::before{font-size:200px}
}
@media(prefers-reduced-motion:reduce){
 .engine-visual::before,.engine-orbit-a,.engine-orbit-b{animation:none!important;transition:none!important}
}

/* Compact, consistent service description beneath header logo */
.site-header .brand-name small{font-size:clamp(6px,.6vw,8px);letter-spacing:.11em}


/* Responsive floating header: match downward scroll 1:1, reveal quickly at a fixed rate. */
.site-header,
.site-header.scrolled{
  transform:translate3d(0,var(--mh-header-offset,0px),0);
  transition:box-shadow .4s,background-color 1.4s;
  will-change:transform;
}
.site-header.mh-header-returning,
.site-header.scrolled.mh-header-returning{
  transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .4s,background-color 1.4s;
}
/* Centred enquiry CTA; overrides the site's generic spaced-between button rule. */
.contact-stage .enquiry-form button[type="submit"]{
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  width:100%;
}
@media(prefers-reduced-motion:reduce){
  .site-header.mh-header-returning,
  .site-header.scrolled.mh-header-returning{transition:none}
}

/* The Content Engine v2: one idea adapted to several forms.
   All colours inherit the site's solar-responsive CSS variables. */
.content-engine-section .engine-visual.mh-engine-v2 {
  position:relative; display:block; isolation:isolate; flex:none;
  width:100%; max-width:460px; height:auto; aspect-ratio:20 / 19;
  margin-inline:auto; border-radius:50%; overflow:visible;
  background:radial-gradient(ellipse at 50% 50%,color-mix(in srgb,var(--gold-shine) 13%,transparent) 0%,color-mix(in srgb,var(--gold) 4%,transparent) 38%,transparent 68%);
}
.content-engine-section .engine-visual.mh-engine-v2::before {content:none; display:none; animation:none;}
.mh-ce-halo {position:absolute; display:block; pointer-events:none; border:1px solid color-mix(in srgb,var(--gold) 22%,transparent); border-radius:50%; z-index:0;}
.mh-ce-halo-outer {inset:9% 12%; transform:rotate(-23deg) scaleX(.88);}
.mh-ce-halo-inner {inset:17% 23%; border-style:dashed; opacity:.48; transform:rotate(26deg) scaleX(.84);}
.mh-ce-connectors {position:absolute; z-index:1; width:100%; height:100%; inset:0; overflow:visible; pointer-events:none;}
.mh-ce-connectors path {stroke:var(--gold); stroke-width:1; fill:none; opacity:.5; stroke-dasharray:3 9; stroke-linecap:round; animation:mh-ce-travel 18s linear infinite; vector-effect:non-scaling-stroke;}
.mh-ce-connectors path:nth-child(2) {animation-duration:21s; animation-direction:reverse; opacity:.4;}
.mh-ce-connectors path:nth-child(3) {animation-duration:16s; opacity:.45;}
.mh-ce-source {position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); z-index:3; width:36%; min-width:108px; max-width:164px; aspect-ratio:1; border:1px solid color-mix(in srgb,var(--gold) 72%,var(--line)); border-radius:50%; background:radial-gradient(circle at 33% 25%,color-mix(in srgb,var(--gold-shine) 15%,transparent),transparent 59%),color-mix(in srgb,var(--surface) 92%,var(--bg)); box-shadow:0 13px 41px -26px var(--shade),0 0 0 8px color-mix(in srgb,var(--gold) 5%,transparent); display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; line-height:1; animation:mh-ce-breathe 9s ease-in-out infinite;}
.mh-ce-source-kicker {font-size:clamp(7px,.72vw,9px); letter-spacing:.15em; font-weight:800; color:var(--fine); margin-bottom:7px; white-space:nowrap;}
.mh-ce-source-one {font-family:Manrope,Arial,sans-serif; font-size:clamp(20px,2.35vw,28px); font-weight:650; letter-spacing:-.08em; color:var(--ink);}
.mh-ce-source-idea {font-family:'Cormorant Garamond',Georgia,serif; font-size:clamp(40px,4.5vw,56px); font-style:italic; font-weight:400; line-height:.8; letter-spacing:-.055em; color:var(--gold); margin-top:3px;}
.mh-ce-source-point {width:4px; height:4px; margin-top:13px; border-radius:50%; background:var(--gold); opacity:.7;}
.mh-ce-output {position:absolute; z-index:4; width:39%; max-width:170px; min-width:0; padding:clamp(9px,1.15vw,15px) clamp(11px,1.25vw,17px); border:1px solid color-mix(in srgb,var(--gold) 30%,var(--line)); border-radius:12px; background:color-mix(in srgb,var(--surface) 94%,var(--bg)); box-shadow:0 9px 27px -21px var(--shade); display:flex; flex-direction:column; gap:4px; transform:translateY(0); animation:mh-ce-card-pulse 12s ease-in-out infinite;}
.mh-ce-output--posts {top:5%;left:2%;animation-delay:0s;}
.mh-ce-output--threads {top:7%;right:2%;animation-delay:-4s;}
.mh-ce-output--scripts {bottom:5%;right:2%;animation-delay:-8s;}
.mh-ce-output-index {display:flex; align-items:center; gap:6px; font-size:clamp(7px,.7vw,9px); line-height:1.1; font-weight:800; letter-spacing:.065em; color:var(--gold); white-space:nowrap;}
.mh-ce-output-index i {width:12px;height:1px;display:inline-block; flex:none;background:var(--gold);opacity:.64;}
.mh-ce-output strong {font-family:Manrope,Arial,sans-serif; font-size:clamp(14px,1.45vw,19px); font-weight:600; letter-spacing:-.05em; color:var(--ink); line-height:1.15;}
.mh-ce-mini-lines {display:flex;flex-direction:column;gap:4px; margin-top:3px;}
.mh-ce-mini-lines i {display:block;height:2px;width:74%;background:color-mix(in srgb,var(--ink) 16%,transparent);border-radius:5px;}
.mh-ce-mini-lines i:last-child {width:46%;opacity:.8;}
.engine-visual.mh-engine-v2 > .mh-ce-footnote {position:absolute;left:5%;bottom:13%;max-width:43%;font-size:clamp(8px,.9vw,11px);font-weight:700;letter-spacing:.12em;line-height:1.6;color:var(--fine);}
.mh-ce-footnote b {color:var(--gold);font-weight:800;white-space:nowrap;}
@keyframes mh-ce-travel {to {stroke-dashoffset:-240;}}
@keyframes mh-ce-breathe {0%,100% {box-shadow:0 13px 41px -26px var(--shade),0 0 0 8px color-mix(in srgb,var(--gold) 5%,transparent);} 50% {box-shadow:0 16px 44px -24px var(--shade),0 0 0 15px color-mix(in srgb,var(--gold) 8%,transparent);}}
@keyframes mh-ce-card-pulse {0%,17%,100% {transform:translateY(0);border-color:color-mix(in srgb,var(--gold) 30%,var(--line));} 8% {transform:translateY(-4px);border-color:color-mix(in srgb,var(--gold) 68%,var(--line));}}
@media(max-width:800px){
 .content-engine-section .engine-visual.mh-engine-v2 {height:auto;aspect-ratio:20/19;width:min(100%,385px);margin:0 auto 5px;}
}
@media(max-width:520px){
 .content-engine-section .engine-visual.mh-engine-v2 {height:auto;aspect-ratio:20/19;width:100%;max-width:330px;margin:0 auto 2px;}
 .mh-ce-source-kicker{font-size:7px;margin-bottom:5px;letter-spacing:.09em;}
 .mh-ce-source-one{font-size:19px;}
 .mh-ce-source-idea{font-size:40px;}
 .mh-ce-source-point{margin-top:8px;}
 .mh-ce-output{padding:9px 10px;gap:3px;border-radius:10px;}
 .mh-ce-output strong{font-size:14px;}
 .mh-ce-output-index{font-size:7px;gap:4px;letter-spacing:.025em;}
 .mh-ce-output-index i{width:8px;}
 .mh-ce-mini-lines{margin-top:2px;gap:4px;}
 .engine-visual.mh-engine-v2 > .mh-ce-footnote{font-size:8px;letter-spacing:.07em;bottom:11%;}
}
@media(prefers-reduced-motion:reduce){
 .mh-ce-source,.mh-ce-output,.mh-ce-connectors path{animation:none!important;}
}

@media(max-width:360px){
 .content-engine-section .engine-visual.mh-engine-v2{aspect-ratio:10/11;}
 .mh-ce-source{min-width:100px;}
 .mh-ce-output-index{font-size:6.5px;gap:3px;}
 .mh-ce-output-index i{width:6px;}
}

/* Services mobile: prevent alternating points 02 and 04 inheriting desktop grid columns. */
@media(max-width:760px){
 body[data-page="services"] .service-suite:nth-of-type(even) .suite-shell{
  grid-template-columns:minmax(0,1fr);
 }
 body[data-page="services"] .service-suite:nth-of-type(even) .suite-copy{
  width:100%;
  max-width:100%;
  min-width:0;
  margin-left:0;
 }
}

/* Content Engine process diagram v3: one client idea -> managed engine -> platform-native deliverables.
   All appearance draws from the existing solar colour variables. No extra assets or scripts. */
body[data-page="services"] .content-engine-section {
  grid-template-columns:minmax(0,1fr);
  gap:clamp(26px,3.6vw,49px);
  align-items:stretch;
}
body[data-page="services"] .content-engine-section .engine-copy {
  max-width:890px;
  width:100%;
  margin-inline:auto;
}
.mh-flow-v3 {width:100%;min-width:0;color:var(--ink);}
.mh-flow-v3__heading {display:flex;justify-content:space-between;align-items:center;gap:18px;padding:0 0 18px;margin-bottom:15px;border-bottom:1px solid var(--line);font-size:clamp(9px,.9vw,12px);font-weight:750;letter-spacing:.17em;color:var(--gold);}
.mh-flow-v3__heading span:last-child {color:var(--fine);text-align:right;}
.mh-flow-v3__diagram {display:grid;grid-template-columns:minmax(0,.95fr) clamp(32px,3.9vw,64px) minmax(0,1fr) clamp(32px,3.9vw,64px) minmax(0,1.34fr);gap:0;align-items:center;min-width:0;}
.mh-flow-panel {position:relative;min-width:0;border:1px solid color-mix(in srgb,var(--gold) 29%,var(--line));border-radius:22px;padding:clamp(19px,2.5vw,37px) clamp(17px,2.4vw,34px);background:linear-gradient(143deg,color-mix(in srgb,var(--surface) 94%,var(--gold-shine)),var(--surface) 82%);box-shadow:0 20px 48px -36px var(--shade);}
.mh-flow-eyebrow {display:flex;align-items:center;gap:9px;white-space:nowrap;font-size:clamp(9px,.8vw,11px);font-weight:800;letter-spacing:.11em;color:var(--gold);line-height:1.3;}
.mh-flow-dot {width:6px;height:6px;flex:none;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px color-mix(in srgb,var(--gold) 11%,transparent);}
.mh-flow-panel h3 {font-family:Manrope,Arial,sans-serif;font-size:clamp(29px,3vw,42px);line-height:1.08;letter-spacing:-.066em;font-weight:600;margin:27px 0 17px;color:var(--ink);overflow-wrap:normal;}
.mh-flow-panel h3 em {font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.025em;color:var(--gold);}
.mh-flow-input p {font-size:clamp(14px,1.14vw,16px);line-height:1.55;margin:0;color:var(--muted);}
.mh-flow-panel__detail {display:block;font-size:9px;font-weight:700;letter-spacing:.15em;color:var(--fine);margin-top:37px;}
.mh-flow-input {min-height:246px;display:flex;flex-direction:column;justify-content:center;}
.mh-flow-core {min-height:246px;display:flex;flex-direction:column;justify-content:center;border-color:color-mix(in srgb,var(--gold) 64%,var(--line));background:linear-gradient(145deg,color-mix(in srgb,var(--gold-shine) 13%,var(--surface)) 0%,var(--surface) 78%);box-shadow:0 0 0 5px color-mix(in srgb,var(--gold) 5%,transparent),0 18px 44px -33px var(--shade);animation:mh-flow-breathe 9s ease-in-out infinite;}
.mh-flow-core h3 {margin:23px 0 25px;font-size:clamp(27px,2.65vw,38px);}
.mh-flow-method {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;}
.mh-flow-method span {font-size:clamp(10px,.9vw,12px);font-weight:650;letter-spacing:.01em;border:1px solid var(--line);border-radius:30px;padding:7px 8px;text-align:center;color:var(--ink);background:color-mix(in srgb,var(--surface-alt) 37%,transparent);}
.mh-flow-link {position:relative;display:block;min-width:0;height:2px;align-self:center;background:color-mix(in srgb,var(--gold) 45%,transparent);isolation:isolate;}
.mh-flow-link::before {content:"";display:block;position:absolute;width:9px;height:9px;top:50%;left:0;transform:translate(-50%,-50%);border-radius:50%;background:var(--gold-shine);box-shadow:0 0 10px 2px color-mix(in srgb,var(--gold) 30%,transparent);animation:mh-flow-right 5s linear infinite;}
.mh-flow-link--out::before {animation-delay:-1.6s;}
.mh-flow-link::after {content:"";position:absolute;right:1px;top:50%;width:7px;height:7px;border-top:1.5px solid var(--gold);border-right:1.5px solid var(--gold);transform:translateY(-50%) rotate(45deg);}
.mh-flow-results {min-width:0;display:flex;flex-direction:column;gap:15px;}
.mh-flow-results__label {padding-left:26px;}
.mh-flow-results__list {position:relative;display:grid;gap:10px;padding-left:26px;}
.mh-flow-results__list::before {content:"";position:absolute;left:8px;top:37px;bottom:37px;width:1px;background:color-mix(in srgb,var(--gold) 50%,var(--line));}
.mh-flow-result {position:relative;display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:11px;min-height:75px;padding:13px 15px;background:color-mix(in srgb,var(--surface) 96%,var(--bg));border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 24px -23px var(--shade);animation:mh-flow-card 12s ease-in-out infinite;}
.mh-flow-result:nth-child(2) {animation-delay:-3s;}
.mh-flow-result:nth-child(3) {animation-delay:-6s;}
.mh-flow-result:nth-child(4) {animation-delay:-9s;}
.mh-flow-result::before {content:"";position:absolute;right:100%;top:50%;width:18px;height:1px;background:color-mix(in srgb,var(--gold) 62%,var(--line));}
.mh-flow-result::after {content:"";position:absolute;left:-21px;top:calc(50% - 3px);height:6px;width:6px;border-radius:50%;background:var(--gold);}
.mh-flow-result__number {font-size:10px;font-weight:800;letter-spacing:.05em;color:var(--gold);}
.mh-flow-result h4 {font-family:Manrope,Arial,sans-serif;font-size:clamp(14px,1.16vw,17px);font-weight:650;letter-spacing:-.035em;margin:0 0 3px;color:var(--ink);line-height:1.25;}
.mh-flow-result p {font-size:clamp(11px,.93vw,13px);line-height:1.4;color:var(--muted);margin:0;}
@keyframes mh-flow-right {from{left:0;opacity:0;}8%{opacity:1;}92%{opacity:1;}to{left:100%;opacity:0;}}
@keyframes mh-flow-down {from{top:0;opacity:0;}8%{opacity:1;}92%{opacity:1;}to{top:100%;opacity:0;}}
@keyframes mh-flow-breathe {0%,100%{box-shadow:0 0 0 5px color-mix(in srgb,var(--gold) 5%,transparent),0 18px 44px -33px var(--shade);}50%{box-shadow:0 0 0 10px color-mix(in srgb,var(--gold) 9%,transparent),0 18px 44px -33px var(--shade);}}
@keyframes mh-flow-card {0%,18%,100%{border-color:var(--line);transform:translateY(0);}9%{border-color:color-mix(in srgb,var(--gold) 68%,var(--line));transform:translateY(-2px);}}
@media(max-width:1050px){
  .mh-flow-v3__diagram {grid-template-columns:minmax(0,1fr);justify-items:center;}
  .mh-flow-panel {width:min(100%,460px);}
  .mh-flow-panel h3,.mh-flow-core h3 {font-size:clamp(29px,5vw,40px);}
  .mh-flow-input,.mh-flow-core {min-height:0;padding:26px 28px;}
  .mh-flow-input {min-height:190px;}
  .mh-flow-core {min-height:205px;}
  .mh-flow-input h3 {margin-top:17px;margin-bottom:11px;}
  .mh-flow-panel__detail {margin-top:20px;}
  .mh-flow-link {width:2px;height:47px;}
  .mh-flow-link::before {left:50%;top:0;transform:translate(-50%,-50%);animation-name:mh-flow-down;}
  .mh-flow-link::after {top:auto;bottom:0;left:50%;right:auto;transform:translate(-50%,0) rotate(135deg);}
  .mh-flow-results {width:min(100%,460px);}
  .mh-flow-results__label {padding-left:26px;}
}
@media(max-width:520px){
  .mh-flow-v3__heading {font-size:9px;letter-spacing:.08em;line-height:1.5;}
  .mh-flow-panel {border-radius:16px;}
  .mh-flow-input,.mh-flow-core {min-height:0;padding:21px 20px;}
  .mh-flow-panel h3,.mh-flow-core h3 {font-size:clamp(27px,7.6vw,36px);margin:13px 0 12px;}
  .mh-flow-core h3 {margin:14px 0 18px;}
  .mh-flow-link {height:40px;}
  .mh-flow-panel__detail {margin-top:14px;}
  .mh-flow-results__list {gap:9px;}
  .mh-flow-result {grid-template-columns:24px minmax(0,1fr);gap:7px;padding:12px;min-height:70px;}
  .mh-flow-result h4 {font-size:14px;}
  .mh-flow-result p {font-size:11px;}
}
@media(prefers-reduced-motion:reduce){
  .mh-flow-v3 .mh-flow-core,.mh-flow-v3 .mh-flow-result,.mh-flow-v3 .mh-flow-link::before {animation:none!important;transform:none!important;}
  .mh-flow-v3 .mh-flow-link::before {display:none;}
}


/* Output flow mobile: right-aligned step 03 with connected left-hand branch. */
@media(max-width:1050px){
  /* The outgoing connector follows the central engine down, turns left, then joins the output spine. */
  .mh-flow-v3 .mh-flow-link--out{
    --mh-flow-wire:color-mix(in srgb,var(--gold) 58%,transparent);
    width:min(100%,460px);
    height:64px;
    background:
      linear-gradient(var(--mh-flow-wire),var(--mh-flow-wire)) center top / 1px 26px no-repeat,
      linear-gradient(var(--mh-flow-wire),var(--mh-flow-wire)) left 8px top 26px / calc(50% - 8px) 1px no-repeat,
      linear-gradient(var(--mh-flow-wire),var(--mh-flow-wire)) left 8px top 26px / 1px calc(100% - 26px) no-repeat;
  }
  .mh-flow-v3 .mh-flow-link--out::before{
    left:8px;
    top:26px;
    width:7px;
    height:7px;
    transform:translate(-50%,-50%);
    animation:none;
  }
  .mh-flow-v3 .mh-flow-link--out::after{
    left:8px;
    right:auto;
    top:auto;
    bottom:0;
    transform:translate(-50%,0) rotate(135deg);
  }
  .mh-flow-v3 .mh-flow-results{position:relative;gap:0;}
  .mh-flow-v3 .mh-flow-results::before{
    content:'';
    position:absolute;
    left:8px;
    top:0;
    bottom:35px;
    width:1px;
    background:color-mix(in srgb,var(--gold) 58%,transparent);
    pointer-events:none;
  }
  .mh-flow-v3 .mh-flow-results__list::before{display:none;}
  .mh-flow-v3 .mh-flow-results__label{
    align-self:flex-end;
    width:max-content;
    max-width:calc(100% - 30px);
    padding:0;
    margin-bottom:18px;
    text-align:right;
  }
}
