@font-face{font-family:Archivo;src:url("assets/fonts/archivo-latin.woff2") format("woff2");font-style:normal;font-weight:300 800;font-stretch:75% 125%;font-display:swap}
@font-face{font-family:"Atkinson Hyperlegible";src:url("assets/fonts/atkinson-400-latin.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Atkinson Hyperlegible";src:url("assets/fonts/atkinson-700-latin.woff2") format("woff2");font-style:normal;font-weight:700;font-display:swap}
:root{--red:#bd1437;--red-dark:#8f0b2a;--ink:#1e1016;--ink-soft:#5e4a52;--white:#fff;--pale:#f6f2f3;--line:#d8cbd0;--red-soft-text:#ffe4ea;--max:1440px;--ease:cubic-bezier(.16,1,.3,1);--z-header:20;color-scheme:light}
html[data-theme="dark"]{color-scheme:dark}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;background:var(--white);color:var(--ink);font-family:"Atkinson Hyperlegible",Arial,sans-serif;-webkit-font-smoothing:antialiased;transition:background-color .3s var(--ease),color .3s var(--ease)}
body.menu-open{overflow:hidden}
a{color:inherit}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:Archivo,Arial,sans-serif;font-weight:680;letter-spacing:-.04em;text-wrap:balance}
p{text-wrap:pretty}
.skip{position:fixed;left:1rem;top:-8rem;background:var(--ink);color:white;padding:.8rem 1rem;z-index:100}
.skip:focus{top:1rem}
.page-progress{position:fixed;inset:0 auto auto 0;width:100%;height:3px;background:var(--red);transform:scaleX(0);transform-origin:left;z-index:30}
.site-header{height:76px;padding:0 clamp(1.25rem,3vw,3.5rem);display:flex;align-items:center;gap:clamp(1.5rem,3vw,3rem);position:fixed;inset:0 0 auto;z-index:var(--z-header);background:rgba(255,255,255,.94);border-bottom:1px solid transparent;transition:border-color .3s,background .3s}
.site-header.scrolled{border-color:var(--line);background:rgba(255,255,255,.98)}
.brand{display:flex;margin-right:auto}
.brand img{width:132px}
.site-header nav{display:flex;gap:clamp(1.25rem,2.4vw,2.6rem)}
.site-header nav a,.header-cta{text-decoration:none;font-size:.82rem;font-weight:600}
.site-header nav a{position:relative;color:var(--ink-soft);min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.site-header nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:var(--red);transition:right .35s var(--ease)}
.site-header nav a:hover:after,.site-header nav a[aria-current="true"]:after{right:0}
.site-header nav a:hover{color:var(--ink)}
.header-cta{min-height:44px;padding:.75rem 1rem;background:var(--ink);color:white;display:inline-flex;align-items:center}
.header-cta span{display:inline-block;transition:transform .3s var(--ease)}
.header-cta:hover span{transform:translate(3px,-3px)}
.header-tools{display:flex;align-items:center;gap:.35rem}
.language-switch{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);color:var(--ink);font-size:.72rem;font-weight:700;text-decoration:none;transition:background .25s var(--ease),color .25s var(--ease)}
.language-switch:hover{background:var(--red);border-color:var(--red);color:white}
.theme-toggle{width:44px;height:44px;padding:0;border:1px solid var(--line);background:transparent;color:var(--ink);display:grid;place-items:center;position:relative;cursor:pointer;transition:border-color .25s var(--ease),background .25s var(--ease),color .25s var(--ease)}
.theme-toggle:hover{border-color:var(--red);background:var(--red);color:white}
.theme-icon{position:absolute;width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:opacity .2s,transform .4s var(--ease)}
.theme-icon-moon{opacity:1;transform:rotate(0) scale(1)}
.theme-icon-sun{opacity:0;transform:rotate(-45deg) scale(.55)}
html[data-theme="dark"] .theme-icon-moon{opacity:0;transform:rotate(35deg) scale(.55)}
html[data-theme="dark"] .theme-icon-sun{opacity:1;transform:rotate(0) scale(1)}
.menu{display:none;position:relative;width:44px;height:44px;padding:0;border:0;background:transparent;color:var(--ink);cursor:pointer}
.menu span{position:absolute;left:9px;width:26px;height:2px;background:currentColor;transform-origin:center;transition:transform .3s var(--ease),top .3s var(--ease)}
.menu span:first-child{top:17px}
.menu span:last-child{top:25px}
.menu[aria-expanded="true"] span:first-child{top:21px;transform:rotate(45deg)}
.menu[aria-expanded="true"] span:last-child{top:21px;transform:rotate(-45deg)}

.hero{min-height:100svh;position:relative;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);grid-template-rows:auto 1fr auto;overflow:hidden;background:var(--red);color:white;padding:110px clamp(1.25rem,4vw,4.5rem) 2rem}
.hero-noise{display:none}
.hero-topline{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.45);padding-top:.8rem;text-transform:uppercase;letter-spacing:.08em;font-size:.68rem;position:relative}
.hero-copy{align-self:center;position:relative;z-index:1;min-width:0}
.hero h1{font-size:clamp(4.4rem,9.7vw,8.8rem);line-height:.79;letter-spacing:-.04em;margin:clamp(3rem,8vh,7rem) 0 2rem;font-variation-settings:"wdth" 82}
.hero h1 em{font-style:normal;color:#000;font-variation-settings:"wdth" 120}
.hero-copy>p{max-width:31rem;font-size:clamp(1rem,1.35vw,1.25rem);line-height:1.5;margin:0 0 1rem;color:rgba(255,255,255,.88)}
.hero-route{align-self:center;position:relative;aspect-ratio:8/5;max-width:800px}
.hero-route svg{width:100%;height:100%;overflow:visible}
.route-shadow,.route-line{fill:none;stroke-linecap:round}
.route-shadow{stroke:rgba(30,16,22,.18);stroke-width:24}
.route-line{stroke:white;stroke-width:3;stroke-dasharray:8 13}
.route-node{position:absolute;display:flex;flex-direction:column;font-size:.76rem;font-weight:600}
.route-node b{width:34px;height:34px;border:1px solid white;border-radius:50%;display:grid;place-items:center;margin-bottom:.45rem;font-size:.66rem;background:var(--red)}
.node-1{left:1%;bottom:3%}
.node-2{left:36%;top:4%}
.node-3{left:69%;bottom:9%}
.node-4{right:0;top:12%}
.route-orb{fill:var(--ink);stroke:var(--white);stroke-width:4;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 7px rgba(255,255,255,.45));will-change:transform}
.hero-cta{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;color:white;text-decoration:none;border-top:1px solid rgba(255,255,255,.45);padding-top:1rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.07em}
.hero-cta b{font-size:1.3rem}
.manifesto{padding:clamp(5rem,12vw,11rem) clamp(1.25rem,6vw,7rem);max-width:var(--max);margin:auto}
.manifesto p{font-size:clamp(2.4rem,5.8vw,6.1rem);line-height:1.02;letter-spacing:-.04em;margin:0;font-weight:350;font-variation-settings:"wdth" 92}
.manifesto p:first-child{color:#8f7d86}
.manifesto i{font-style:normal;text-decoration:line-through;text-decoration-thickness:.07em}
.manifesto strong{color:var(--red);font-weight:700}

.services{background:var(--ink);color:white;padding:clamp(5rem,10vw,9rem) clamp(1.25rem,5vw,6rem)}
.section-intro{display:grid;grid-template-columns:1fr 2fr 1fr;gap:2rem;max-width:var(--max);margin:0 auto clamp(5rem,8vw,8rem)}
.section-intro>*{min-width:0}
.section-intro>span,.work-heading>span,.package-intro>span,.audience>div>span,.contact-copy>span{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--red)}
.services .section-intro>span{color:#ed4566}
.section-intro h2,.work-heading h2,.package-intro h2,.audience h2{font-size:clamp(3rem,6vw,6.2rem);line-height:.92;margin:0}
.section-intro p{color:#cdbfc4;max-width:28rem;line-height:1.65;margin:0}
.service-route{max-width:var(--max);margin:auto;position:relative}
.rail{position:absolute;left:3.4rem;top:4rem;bottom:4rem;width:1px;background:#4c3b42}
.rail i{display:block;width:3px;height:var(--rail,0%);background:var(--red);margin-left:-1px}
.service-route article{display:grid;grid-template-columns:7rem minmax(250px,1.1fr) minmax(280px,1fr) minmax(250px,.9fr);gap:clamp(1.5rem,3vw,4rem);padding:3.2rem 0;border-top:1px solid #4c3b42;position:relative}
.service-route article:last-child{border-bottom:1px solid #4c3b42}
.service-index{width:3rem;height:3rem;border:1px solid #6f5a62;border-radius:50%;display:grid;place-items:center;font-size:.7rem;background:var(--ink);position:relative;z-index:1;transition:.3s}
.service-route article.is-current .service-index{background:var(--red);border-color:var(--red);color:white}
.service-title span{font-size:.72rem;color:#9f8992}
.service-title h3{font-size:clamp(1.7rem,2.6vw,3rem);margin:.45rem 0 0}
.service-route article>p{color:#cdbfc4;line-height:1.65;margin:0}
.service-route ul{list-style:none;margin:0;padding:0;display:grid;align-content:start;gap:.7rem;color:#a9949c;font-size:.82rem}
.service-route li:before{content:"↗";color:var(--red);margin-right:.7rem}

.work{padding:clamp(5rem,10vw,10rem) clamp(1.25rem,4vw,4.5rem)}
.work-heading{display:grid;grid-template-columns:1fr 2fr 1fr;gap:2rem;max-width:var(--max);margin:0 auto clamp(4rem,8vw,8rem)}
.work-heading p{max-width:25rem;color:var(--ink-soft);line-height:1.65}
.work-feature{max-width:var(--max);margin:0 auto clamp(3rem,8vw,8rem);display:grid;grid-template-columns:1.35fr .65fr;min-height:590px}
.work-feature.work-madev{grid-template-columns:.65fr 1.35fr}
.work-visual{position:relative;background:#dce4df;overflow:hidden;display:grid;place-items:center;padding:clamp(2rem,5vw,5rem)}
.work-copy{padding:clamp(2rem,5vw,5rem);background:var(--pale);display:flex;flex-direction:column;justify-content:center}
.work-copy>span{font-size:.68rem;color:var(--red);text-transform:uppercase;letter-spacing:.09em}
.work-copy h3{font-size:clamp(2.1rem,4vw,4rem);line-height:1;margin:1.5rem 0}
.work-copy p{line-height:1.7;color:var(--ink-soft)}
.work-copy ul{display:flex;gap:.5rem;flex-wrap:wrap;list-style:none;padding:0;margin:2rem 0 0}
.work-copy li{border:1px solid var(--line);border-radius:30px;padding:.55rem .8rem;font-size:.7rem}
.isg-visual{background:#dbe1d7}
.isg-window{width:min(650px,100%);background:white;box-shadow:12px 12px 0 #1e2b20;transform:rotate(-2deg)}
.isg-bar{height:44px;border-bottom:1px solid #d5dcd3;display:flex;align-items:center;gap:.7rem;padding:0 1rem;font-size:.7rem;color:#425044}
.isg-bar i{width:9px;height:9px;background:#d4af37;border-radius:50%}
.isg-bar b{margin-left:auto;font-size:1rem}
.isg-screen{position:relative;min-height:clamp(320px,38vw,455px);overflow:hidden;background:#1e2b20;color:white}
.isg-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.48}
.isg-screen:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(30,43,32,.94),rgba(30,43,32,.25))}
.isg-nav,.isg-hero{position:relative;z-index:1}
.isg-nav{display:flex;align-items:center;gap:1rem;padding:1.2rem clamp(1.25rem,3vw,2rem);border-bottom:1px solid rgba(255,255,255,.22)}
.isg-nav img{width:52px;filter:brightness(0) invert(1)}
.isg-nav span{max-width:18rem;font-size:.55rem;line-height:1.35;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.isg-hero{display:flex;flex-direction:column;align-items:flex-start;padding:clamp(3.5rem,8vw,7rem) clamp(1.25rem,5vw,3.5rem) 2rem}
.isg-hero strong,.isg-hero em{font-family:Archivo,Arial,sans-serif;font-size:clamp(1.8rem,4vw,3.8rem);line-height:1.02;letter-spacing:-.04em}
.isg-hero em{font-style:normal;color:#d4af37}
.isg-hero span{margin-top:1.5rem;font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.75)}
.work-stamp{position:absolute;right:4%;bottom:6%;background:var(--red);color:white;padding:.7rem 1rem;transform:rotate(4deg);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}
.madev-visual{background:var(--red);color:white;grid-template-columns:repeat(2,1fr);gap:1px;padding:0}
.madev-visual:before{content:"";position:absolute;inset:50% 0 auto;height:1px;background:rgba(255,255,255,.35)}
.madev-visual:after{content:"";position:absolute;inset:0 auto 0 50%;width:1px;background:rgba(255,255,255,.35)}
.madev-visual img{position:absolute;width:28%;z-index:2;filter:brightness(0) invert(1)}
.madev-visual span{width:100%;height:100%;display:flex;padding:1.5rem;align-items:flex-end;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}
.madev-visual span:nth-of-type(-n+2){align-items:flex-start}
.madev-visual[data-logo-motion]{cursor:crosshair;isolation:isolate;perspective:900px}
.madev-visual[data-logo-motion] img{transform:translate3d(0,0,0);transform-style:preserve-3d;transition:transform .42s var(--ease),filter .3s var(--ease);will-change:transform}
.madev-visual[data-logo-motion] span{position:relative;z-index:2;transition:transform .42s var(--ease);will-change:transform}
.madev-motion-field{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;transition:opacity .25s var(--ease)}
.madev-visual.is-motion-active .madev-motion-field{opacity:1}
.madev-visual[data-logo-motion="magnetic"] .madev-motion-field{background:radial-gradient(circle 150px at var(--motion-x,50%) var(--motion-y,50%),rgba(255,255,255,.22),rgba(255,255,255,.06) 42%,transparent 72%)}
.madev-motion-tether{position:absolute;left:50%;top:50%;width:0;height:1px;z-index:1;transform-origin:0 50%;background:linear-gradient(90deg,rgba(255,255,255,.7),rgba(255,255,255,.08));opacity:0;pointer-events:none;transition:opacity .2s var(--ease),width .35s var(--ease)}
.madev-visual[data-logo-motion="tether"].is-motion-active .madev-motion-tether{opacity:1}
.madev-visual[data-logo-motion="tether"] img{filter:brightness(0) invert(1) drop-shadow(0 0 14px rgba(255,255,255,.22))}
.madev-visual[data-logo-motion="orbit"] .madev-motion-field{inset:50%;width:10px;height:10px;border:1px solid rgba(255,255,255,.7);border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 18px rgba(255,255,255,.05),0 0 0 42px rgba(255,255,255,.025)}

.audience{padding:clamp(5rem,10vw,9rem) clamp(1.25rem,5vw,6rem);background:var(--pale);display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(3rem,8vw,10rem)}
.audience h2{margin:1rem 0}
.audience-list{border-top:1px solid var(--line)}
.audience-list article{width:100%;display:grid;grid-template-columns:3rem 1fr 1fr auto;align-items:center;gap:1.5rem;padding:1.75rem 0;border-bottom:1px solid var(--line);color:var(--ink)}
.audience-list article:after{content:"→";font-size:1.4rem;color:var(--red)}
.audience-list article span{font-size:.68rem;color:var(--red)}
.audience-list article b{font-size:1.05rem}
.audience-list article i{font-style:normal;color:var(--ink-soft);font-size:.8rem}

.packages{padding:clamp(5rem,10vw,9rem) clamp(1.25rem,5vw,6rem)}
.package-intro{max-width:var(--max);margin:0 auto clamp(4rem,8vw,7rem);display:grid;grid-template-columns:1fr 2fr 1fr;gap:2rem}
.package-intro p{color:var(--ink-soft);line-height:1.65}
.package-list{max-width:var(--max);margin:auto;border-top:1px solid var(--ink)}
.package-list article{display:grid;grid-template-columns:1.2fr .6fr 1fr auto;gap:2rem;align-items:center;padding:2.3rem 0;border-bottom:1px solid var(--line);position:relative}
.package-list article.recommended:before{content:"";position:absolute;inset:0 calc(-1 * clamp(1rem,2vw,2rem));background:var(--red);z-index:-1}
.package-list article.recommended{color:white;border-color:transparent;isolation:isolate}
.package-list article>div span{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:var(--red)}
.package-list article.recommended>div span{color:var(--red-soft-text)}
.package-list h3{font-size:clamp(1.7rem,3vw,3rem);margin:.55rem 0}
.package-list p{font-size:.78rem;color:var(--ink-soft);margin:0}
.package-list article.recommended p{color:var(--red-soft-text)}
.package-list strong{font-size:clamp(1.2rem,2vw,2rem)}
.package-list ul{list-style:none;padding:0;margin:0;color:var(--ink-soft);font-size:.76rem}
.package-list article.recommended ul{color:var(--red-soft-text)}
.package-list a{text-decoration:none;font-size:.76rem;font-weight:700}
.package-list a b{display:inline-block;transition:transform .3s var(--ease)}
.package-list a:hover b{transform:translate(4px,-4px)}
.custom-strip{max-width:var(--max);margin:4rem auto 0;background:var(--ink);color:white;padding:2rem;display:flex;justify-content:space-between;gap:2rem;align-items:center}
.custom-strip p{margin:0;color:#cdbfc4}
.custom-strip a{color:white;text-decoration:none;font-weight:700}
.custom-strip a span{color:var(--red);font-size:1.3rem;margin-left:.6rem}

.studio{display:grid;grid-template-columns:.75fr 1.25fr;min-height:700px}
.studio-mark{background:var(--red);display:grid;place-items:center;position:relative;overflow:hidden}
.studio-mark:after{content:"";position:absolute;width:75%;aspect-ratio:1;border:1px solid rgba(255,255,255,.4);border-radius:50%}
.studio-mark img{width:35%;filter:brightness(0) invert(1);z-index:1}
.studio-mark span{position:absolute;left:2rem;bottom:2rem;color:white;font-size:.72rem;text-transform:uppercase;letter-spacing:.09em}
.portrait-mark{background:#0b090a;isolation:isolate;cursor:crosshair}
.portrait-mark:after{display:none}
.portrait-mark:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(circle at var(--portrait-x,50%) var(--portrait-y,50%),rgba(181,18,54,.18),transparent 28%);opacity:0;transition:opacity .3s cubic-bezier(.22,1,.36,1)}
.portrait-mark.is-portrait-active:before{opacity:1}
.portrait-mark .portrait-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1);opacity:.82;transition:opacity .18s linear}
.portrait-particles{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;transition:opacity .18s linear}
.portrait-mark.is-rendered .portrait-fallback{opacity:0}
.portrait-mark.is-rendered .portrait-particles{opacity:1}
.portrait-mark span{z-index:2;padding:.55rem .7rem;background:rgba(11,9,10,.72);backdrop-filter:blur(8px);text-wrap:balance}
.portrait-mark noscript,.portrait-mark noscript img{width:100%;height:100%}
.portrait-mark noscript img{object-fit:cover;filter:grayscale(1)}
.studio-copy{background:var(--ink);color:white;padding:clamp(3rem,8vw,8rem);display:flex;flex-direction:column;justify-content:center}
.studio-copy h2{font-size:clamp(2.8rem,5.5vw,6rem);line-height:.95}
.studio-copy>p{max-width:48rem;color:#cdbfc4;font-size:1.05rem;line-height:1.7}
.principles{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:2.5rem}
.principles span{border:1px solid #5b4750;border-radius:30px;padding:.7rem 1rem;font-size:.72rem}

.contact{padding:clamp(5rem,10vw,9rem) clamp(1.25rem,6vw,7rem);display:grid;grid-template-columns:1fr 1fr;gap:clamp(4rem,10vw,12rem);background:var(--pale)}
.contact>*{min-width:0}
.contact-copy h2{font-size:clamp(3.4rem,7vw,7.5rem);line-height:.88;margin:1.5rem 0}
.contact-copy p{color:var(--ink-soft)}
.contact-copy>a{display:inline-flex;margin-top:2rem;font-size:1.1rem;font-weight:700;text-decoration:none;border-bottom:2px solid var(--red);padding-bottom:.4rem}
.contact form{display:grid;align-content:center;gap:1.5rem}
.contact label{display:grid;gap:.55rem}
.contact label>span{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}
.contact input,.contact textarea{background:transparent;border:0;border-bottom:1px solid #8f7b83;border-radius:0;padding:1rem 0;color:var(--ink);font:inherit}
.contact textarea{min-height:120px;resize:vertical}
.contact input:focus,.contact textarea:focus{outline:0;border-color:var(--red);box-shadow:0 1px var(--red)}
.contact button{justify-self:start;background:var(--red);color:white;border:0;padding:1rem 1.3rem;font:700 .82rem Archivo,Arial,sans-serif;cursor:pointer}
.contact button b{display:inline-block;margin-left:.6rem;transition:transform .3s var(--ease)}
.contact button:hover b{transform:translate(4px,-4px)}
.contact button:disabled{opacity:.55;cursor:not-allowed}
.contact small{color:var(--ink-soft)}
footer{padding:3rem clamp(1.25rem,4vw,4.5rem);display:grid;grid-template-columns:1fr 2fr 1fr auto;align-items:end;gap:3rem;border-top:1px solid var(--line);font-size:.75rem}
footer img{width:130px}
footer p{max-width:24rem;color:var(--ink-soft);margin:0}
footer div{display:flex;gap:1.2rem}
footer a{text-decoration:none}
footer>span{color:var(--ink-soft)}

html[data-theme="dark"] body{background:#110a0d;color:#f7f1f3}
html[data-theme="dark"] .site-header{background:rgba(17,10,13,.94)}
html[data-theme="dark"] .site-header.scrolled{background:rgba(17,10,13,.98);border-color:#49343d}
html[data-theme="dark"] .site-header nav a{color:#cbbdc3}
html[data-theme="dark"] .site-header nav a:hover{color:#fff}
html[data-theme="dark"] .header-cta{background:#f7f1f3;color:#1e1016}
html[data-theme="dark"] .language-switch,html[data-theme="dark"] .theme-toggle{border-color:#5a424c;color:#f7f1f3}
html[data-theme="dark"] .theme-toggle:hover,html[data-theme="dark"] .language-switch:hover{border-color:var(--red);color:white}
html[data-theme="dark"] .menu{color:#f7f1f3}
html[data-theme="dark"] .manifesto p:first-child{color:#9e8c93}
html[data-theme="dark"] .section-intro>span,html[data-theme="dark"] .work-heading>span,html[data-theme="dark"] .package-intro>span,html[data-theme="dark"] .audience>div>span,html[data-theme="dark"] .contact-copy>span,html[data-theme="dark"] .work-copy>span,html[data-theme="dark"] .package-list article>div span,html[data-theme="dark"] .audience-list article span,html[data-theme="dark"] .service-route li:before{color:#ed4566}
html[data-theme="dark"] .package-list article.recommended>div span{color:var(--red-soft-text)}
html[data-theme="dark"] .work{background:#110a0d}
html[data-theme="dark"] .work-heading p,html[data-theme="dark"] .work-copy p{color:#cbbdc3}
html[data-theme="dark"] .work-copy{background:#1a1015}
html[data-theme="dark"] .work-copy li{border-color:#49343d}
html[data-theme="dark"] .audience{background:#171015}
html[data-theme="dark"] .audience-list{border-color:#49343d}
html[data-theme="dark"] .audience-list article{border-color:#49343d;color:#f7f1f3}
html[data-theme="dark"] .audience-list article i{color:#cbbdc3}
html[data-theme="dark"] .packages{background:#110a0d}
html[data-theme="dark"] .package-intro p,html[data-theme="dark"] .package-list p,html[data-theme="dark"] .package-list ul{color:#cbbdc3}
html[data-theme="dark"] .package-list article.recommended p,html[data-theme="dark"] .package-list article.recommended ul{color:var(--red-soft-text)}
html[data-theme="dark"] .package-list{border-color:#f7f1f3}
html[data-theme="dark"] .package-list article{border-color:#49343d}
html[data-theme="dark"] .contact{background:#171015}
html[data-theme="dark"] .contact-copy p,html[data-theme="dark"] .contact small{color:#cbbdc3}
html[data-theme="dark"] .contact input,html[data-theme="dark"] .contact textarea{color:#f7f1f3;border-color:#79616b}
html[data-theme="dark"] footer{background:#110a0d;border-color:#49343d}
html[data-theme="dark"] footer p,html[data-theme="dark"] footer>span{color:#cbbdc3}

@media (hover:none),(pointer:coarse){.madev-visual[data-logo-motion]{cursor:default}.madev-motion-field,.madev-motion-tether{display:none}.madev-visual[data-logo-motion] img,.madev-visual[data-logo-motion] span{transform:none!important}}

::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}
html.theme-changing::view-transition-new(root){z-index:100;animation:theme-reveal .7s var(--ease) both}
html.theme-changing::view-transition-old(root){z-index:99}
@keyframes theme-reveal{from{clip-path:circle(0 at var(--theme-x,90%) var(--theme-y,38px))}to{clip-path:circle(var(--theme-radius,150vmax) at var(--theme-x,90%) var(--theme-y,38px))}}

.reveal{opacity:1;transform:none}
.js .reveal{opacity:1;transform:translateY(18px);transition:transform .65s var(--ease)}
.js .reveal.is-visible{transform:none}
:focus-visible{outline:3px solid var(--white);outline-offset:2px;box-shadow:0 0 0 6px var(--ink)}
.contact input:focus-visible,.contact textarea:focus-visible{outline:3px solid var(--white);outline-offset:2px;box-shadow:0 0 0 6px var(--ink)}
.hero-cta,.package-list a,.custom-strip a,.contact-copy>a,footer a{min-height:44px;display:inline-flex;align-items:center}
footer a{min-width:44px;justify-content:center}

@media(max-width:1100px){.hero{grid-template-columns:1fr;min-height:auto}
.hero-route{width:min(760px,100%);margin:1rem auto}
.hero-copy>p{max-width:40rem}
.section-intro,.work-heading,.package-intro{grid-template-columns:1fr}
.section-intro h2,.work-heading h2,.package-intro h2{max-width:800px}
.service-route article{grid-template-columns:5rem 1fr 1fr}
.service-route ul{grid-column:2/-1;display:flex;flex-wrap:wrap}
.rail{left:2.4rem}
.work-feature,.work-feature.work-madev{grid-template-columns:1fr}
.work-madev .work-copy{order:2}
.work-visual{min-height:500px}
.audience{grid-template-columns:1fr}
.package-list article{grid-template-columns:1fr 1fr}
.package-list ul{grid-column:1/2}
.package-list a{justify-self:end}
.studio{grid-template-columns:1fr}
.studio-mark{min-height:430px}
.contact{grid-template-columns:1fr}
footer{grid-template-columns:1fr 2fr}
footer div,footer>span{justify-self:start}
}

@media(max-width:900px){.site-header nav,.header-cta{display:none}
.header-tools{margin-left:auto}
.site-header{gap:.65rem}
.menu{display:block;flex:0 0 44px}
.site-header nav.open{display:flex;position:fixed;inset:76px 0 0;background:white;flex-direction:column;padding:3rem 1.5rem;gap:2rem}
.site-header nav.open a{font-size:2rem;color:var(--ink)}
html[data-theme="dark"] .site-header nav.open{background:#110a0d}
html[data-theme="dark"] .site-header nav.open a{color:#f7f1f3}
}

@media(max-width:760px){
.hero{padding-top:100px}
.hero h1{font-size:clamp(3.7rem,18vw,6.5rem)}
.hero-topline span:last-child{display:none}
.route-node{font-size:.62rem}
.route-node b{width:28px;height:28px}
.manifesto p{font-size:clamp(2.2rem,11vw,4rem)}
.section-intro h2{overflow-wrap:break-word;hyphens:auto}
.contact-copy h2{overflow-wrap:break-word;hyphens:auto}
.service-route article{grid-template-columns:3.5rem minmax(0,1fr);padding:2.5rem 0}
.service-route article>p,.service-route ul{grid-column:2}
.rail{left:1.5rem}
.work{padding-inline:0}
.work-heading{padding-inline:1.25rem}
.work-feature{margin-bottom:1px}
.work-copy{padding:2rem 1.25rem}
.audience-list article{grid-template-columns:2rem minmax(0,1fr) auto}
.audience-list article i{display:none}
.package-list article{grid-template-columns:1fr}
.package-list ul,.package-list a{grid-column:auto;justify-self:start}
.custom-strip{align-items:flex-start;flex-direction:column}
.studio-mark{min-height:330px}
.contact{padding-inline:1.25rem}
footer{grid-template-columns:1fr;gap:1.5rem}
footer div{flex-wrap:wrap;gap:.25rem 1.2rem}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*:before,*:after{animation:none!important;transition:none!important}
.js .reveal{opacity:1;transform:none}
html.theme-changing::view-transition-new(root){animation:none}
}

@media print{.site-header,.page-progress,.hero-cta,.menu,.theme-toggle{display:none!important}.js .reveal{opacity:1!important;transform:none!important}main{display:block}.hero{min-height:auto;padding-top:2rem}}

/* Legal pages */
.legal-body{background:var(--pale)}
.legal-header .brand{margin-right:auto}
.legal-header .legal-back{min-height:44px;display:inline-flex;align-items:center;text-decoration:none;font-size:.82rem;font-weight:700;color:var(--ink-soft)}
.legal-header .legal-back:hover{color:var(--red)}
.legal-main{padding:clamp(8.5rem,14vw,12rem) clamp(1.25rem,6vw,7rem) clamp(5rem,10vw,9rem)}
.legal-hero{max-width:var(--max);margin:0 auto clamp(4rem,8vw,7rem);display:grid;grid-template-columns:minmax(0,1.65fr) minmax(230px,.35fr);gap:clamp(2rem,6vw,8rem);align-items:end;border-bottom:1px solid var(--line);padding-bottom:clamp(2.5rem,5vw,5rem)}
.legal-hero h1{font-size:clamp(3.7rem,8.5vw,8rem);line-height:.84;margin:0;font-variation-settings:"wdth" 86}
.legal-hero h1 em{display:block;font-style:normal;color:var(--red)}
.legal-hero p{color:var(--ink-soft);line-height:1.65;margin:0;max-width:31rem}
.legal-updated{display:block;margin-top:1rem;font-size:.76rem;color:var(--ink-soft)}
.legal-layout{max-width:var(--max);margin:auto;display:grid;grid-template-columns:minmax(190px,.32fr) minmax(0,.68fr);gap:clamp(3rem,8vw,10rem);align-items:start}
.legal-toc{position:sticky;top:110px;border-top:2px solid var(--red);padding-top:1.25rem}
.legal-toc strong{font-family:Archivo,Arial,sans-serif;font-size:.78rem}
.legal-toc ol{list-style:none;padding:0;margin:1.1rem 0 0;display:grid;gap:.25rem}
.legal-toc a{min-height:40px;display:flex;align-items:center;text-decoration:none;color:var(--ink-soft);font-size:.78rem;line-height:1.35}
.legal-toc a:hover{color:var(--red)}
.legal-content{max-width:76ch}
.legal-note{background:var(--ink);color:white;padding:1.4rem 1.5rem;margin:0 0 3rem;line-height:1.55}
.legal-note strong{color:#ff7895}
.legal-section{padding:0 0 clamp(2.8rem,5vw,4.5rem);margin-bottom:clamp(2.8rem,5vw,4.5rem);border-bottom:1px solid var(--line);scroll-margin-top:110px}
.legal-section:last-child{border-bottom:0;margin-bottom:0}
.legal-section h2{font-size:clamp(1.7rem,3vw,2.7rem);line-height:1.05;margin-bottom:1.3rem}
.legal-section h3{font-size:1.08rem;letter-spacing:-.02em;margin:2rem 0 .7rem}
.legal-section p,.legal-section li,.legal-address{font-size:1rem;line-height:1.72;color:var(--ink-soft)}
.legal-section ul{padding-left:1.25rem}
.legal-section a{color:var(--red);text-underline-offset:.18em}
.legal-address{font-style:normal}
.phone-reveal{min-height:44px;padding:.7rem 1rem;border:1px solid var(--ink);background:transparent;color:var(--ink);font:700 .82rem Archivo,Arial,sans-serif;cursor:pointer}
.phone-reveal:hover{background:var(--ink);color:white}
.legal-sources{font-size:.8rem!important}
html[data-theme="dark"] .legal-body{background:#160d11}
html[data-theme="dark"] .legal-note{background:#f7eff2;color:#24151b}
html[data-theme="dark"] .legal-note strong{color:var(--red-dark)}
html[data-theme="dark"] .phone-reveal{border-color:#f7eff2;color:#f7eff2}
html[data-theme="dark"] .phone-reveal:hover{background:#f7eff2;color:#24151b}
@media(max-width:900px){.legal-header .legal-back{display:none}.legal-layout{grid-template-columns:1fr}.legal-toc{position:static;display:none}.legal-hero{grid-template-columns:1fr}.legal-hero h1{font-size:clamp(3.5rem,16vw,6.2rem)}}
@media print{.legal-body{background:white}.legal-main{padding:1rem}.legal-hero{margin-bottom:2rem}.legal-hero h1{font-size:38pt}.legal-layout{display:block}.legal-toc,.legal-note{display:none}.legal-section{break-inside:avoid-page}.phone-reveal{border:0;padding:0}}

/* Error page */
.error-body{min-height:100svh;background:var(--red);color:white;display:grid;grid-template-rows:auto 1fr auto}
.error-header{position:relative;background:rgba(255,255,255,.96)}
.error-main{min-height:calc(100svh - 150px);padding:clamp(3rem,7vw,7rem) clamp(1.25rem,5vw,6rem);display:grid;grid-template-columns:minmax(0,.95fr) minmax(360px,1.05fr);align-items:center;gap:clamp(3rem,8vw,9rem);overflow:hidden}
.error-copy{position:relative;z-index:2;max-width:780px}
.error-code,.error-route-label,.error-node{text-transform:uppercase;letter-spacing:.09em;font-size:.7rem;font-weight:700}
.error-code{display:block;margin-bottom:clamp(2rem,5vw,4rem)}
.error-copy h1{font-size:clamp(4rem,8vw,8.8rem);line-height:.84;margin:0;font-variation-settings:"wdth" 85}
.error-copy h1 em{display:block;color:var(--ink);font-style:normal}
.error-copy p{max-width:38rem;margin:clamp(2rem,4vw,3rem) 0 0;color:var(--red-soft-text);font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.65}
.error-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2.25rem}
.error-actions a{min-height:48px;padding:.9rem 1.15rem;display:inline-flex;align-items:center;gap:.8rem;text-decoration:none;font:700 .82rem Archivo,Arial,sans-serif;transition:background .25s var(--ease),color .25s var(--ease)}
.error-primary{background:var(--ink);color:white}
.error-secondary{border:1px solid rgba(255,255,255,.65);color:white}
.error-actions a span{transition:transform .3s var(--ease)}
.error-actions a:hover span{transform:translateX(4px)}
.error-actions .error-secondary:hover{background:white;color:var(--red)}
.error-route{position:relative;min-height:clamp(410px,52vw,650px);isolation:isolate}
.error-route:before{content:"404";position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);font:750 clamp(12rem,28vw,30rem)/.8 Archivo,Arial,sans-serif;letter-spacing:-.04em;color:rgba(79,0,22,.16);z-index:-1}
.error-route-label{position:absolute;right:0;top:0}
.error-route svg{position:absolute;inset:5% 0 0;width:100%;height:90%;overflow:visible}
.error-track,.error-progress,.error-detour,.error-cross{fill:none;stroke-linecap:round;stroke-linejoin:round}
.error-track{stroke:rgba(64,0,18,.28);stroke-width:20}
.error-progress{stroke:var(--ink);stroke-width:3;stroke-dasharray:1050;stroke-dashoffset:0}
.error-detour{stroke:white;stroke-width:3;stroke-dasharray:160;animation:error-route-draw 1.2s .25s var(--ease) both}
.error-cross{stroke:white;stroke-width:3}
.error-orb{fill:white;filter:drop-shadow(0 0 8px rgba(255,255,255,.75));animation:error-orb-pulse 2.3s ease-in-out infinite}
.error-node{position:absolute;padding:.45rem .6rem;border:1px solid rgba(255,255,255,.45);background:var(--red)}
.error-node-start{left:2%;bottom:6%}
.error-node-lost{right:0;top:38%}
.error-node-home{right:4%;top:8%}
.error-footer{padding:1.35rem clamp(1.25rem,5vw,6rem);display:flex;justify-content:space-between;align-items:center;gap:2rem;border-top:1px solid rgba(255,255,255,.35);color:var(--red-soft-text);font-size:.75rem}
.error-footer div{display:flex;gap:1.3rem}
.error-footer a{text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
html[data-theme="dark"] .error-body{background:#8f0b2a;color:white}
html[data-theme="dark"] .error-header{background:rgba(17,10,13,.96)}
html[data-theme="dark"] .error-copy h1 em{color:#16090e}
@keyframes error-route-draw{from{stroke-dashoffset:160}to{stroke-dashoffset:0}}
@keyframes error-orb-pulse{50%{transform:scale(1.18);transform-origin:620px 54px}}
@media(max-width:900px){.error-main{grid-template-columns:1fr;min-height:auto;align-items:start;padding-top:3.5rem;gap:1rem}.error-copy h1{font-size:clamp(3.6rem,15vw,6.5rem)}.error-route{min-height:360px}.error-route:before{font-size:clamp(11rem,58vw,18rem)}.error-route-label{left:0;right:auto;top:1rem}.error-footer{align-items:flex-start}}
@media(max-width:520px){.error-main{padding-bottom:2.5rem}.error-actions{display:grid}.error-actions a{justify-content:space-between}.error-route{min-height:300px}.error-node{font-size:.58rem}.error-footer{flex-direction:column;gap:.2rem}.error-footer div{width:100%;justify-content:space-between}}
@media(prefers-reduced-motion:reduce){.error-detour{animation:none}.error-orb{animation:none}}
@media print{.error-header,.error-footer,.error-route{display:none}.error-body{display:block;background:white;color:black}.error-main{display:block;min-height:auto;padding:2rem}.error-copy h1 em,.error-copy p{color:black}.error-actions{display:none}}

.hp-field{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0;overflow:hidden;pointer-events:none}
.cf-turnstile{margin:.4rem 0}
