@font-face{font-family:Geist;src:url(/assets/d8bce822db092746889bcf3f57350b41f53708b025458fe7af30729ec4ce0df2.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap;}
@font-face{font-family:Geist;src:url(/assets/b0a0867cda44efef4529a4b13ce37fd9fd6e1597708615287542a51bc7452ab4.woff2) format("woff2");font-style:normal;font-weight:500;font-display:swap;}
@font-face{font-family:GeistMono;src:url(/assets/e4507fb4fb5f832fbbb6c06aea4206274ba3083007f23fa8cbc0e87a10acf95b.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap;}
@font-face{font-family:GeistPixel;src:url(/assets/80887afede26bc861e92dbfbb17a775d769e46e7c84f336b1c9f17959f60606d.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap;}

:root{--font-sans:Geist,Arial,sans-serif;--font-display:Geist,Arial,sans-serif;--font-mono:GeistMono,ui-monospace,monospace;--font-pixel:GeistPixel,ui-monospace,monospace;--ease-out-strong:cubic-bezier(.23,1,.32,1);--duration-press:120ms;--duration-reveal:500ms;--duration-modal:220ms}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-gutter:stable}body{margin:0;background:#f7f8f4;font-family:var(--font-sans);-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button,a{touch-action:manipulation}img,svg{max-width:100%}button{font-weight:400}button:focus-visible,a:focus-visible{outline-offset:4px}p{text-wrap:pretty}h1,h2,h3,h4{text-wrap:balance}section[id]{scroll-margin-top:24px}.skip-link{position:fixed;top:-70px;left:20px;z-index:60;padding:12px 18px;background:#fff;color:#111}.skip-link:focus{top:15px}#stage{min-height:100vh}dialog::backdrop{backdrop-filter:blur(4px)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.connected{--c-bg:#f7f8f4;--c-ink:#182023;--c-muted:#626b6b;--c-line:#d9ded8;--accent:#315cf5;--c-soft:#edf0e9;--c-radius:4px;background:var(--c-bg);color:var(--c-ink);font-family:var(--font-sans);font-weight:400;overflow:clip}
.connected :is(h1,h2,h3,p){margin:0}.connected :is(h1,h2,h3){font-weight:400;text-wrap:balance}.connected p{text-wrap:pretty}.connected a{color:inherit;text-decoration:none}.connected button{font:inherit;cursor:pointer}.connected a:focus-visible,.connected button:focus-visible,.connected summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.connected :is(button,a){-webkit-tap-highlight-color:transparent}.connected button:active{transform:scale(.97)}
.connected .c-nav{height:104px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--c-line);position:relative;z-index:10}.connected .c-logo{display:block;width:141px}.connected .c-logo svg{width:100%;height:auto;display:block}.connected .c-nav nav{display:flex;align-items:center;gap:40px;font-size:14px}.connected .c-nav-contact{border:1px solid var(--c-line);border-radius:var(--c-radius);background:transparent;display:flex;align-items:center;gap:24px;padding:12px 16px}.connected .c-nav svg:not(.c-logo svg){width:18px;height:18px}.connected .c-nav a:hover{color:var(--accent)}
.connected .c-hero{min-height:calc(100svh - 104px);max-height:970px;position:relative;display:grid;grid-template-columns:1fr 1.17fr;align-items:center;padding:65px 5% 96px;gap:1%}.connected .c-hero-copy{position:relative;z-index:2}.connected .c-kicker{font:11px var(--font-mono);letter-spacing:.05em;line-height:17px;display:flex;align-items:center;gap:10px}.connected .c-tiny-square{display:inline-block;width:6px;height:6px;background:var(--accent);flex:none}.connected .c-hero h1{font-size:clamp(64px,6.35vw,105px);line-height:calc(1em + 1px);letter-spacing:-.065em;margin:34px 0 26px}.connected .c-hero h1>span{font-family:var(--font-pixel);color:var(--accent);letter-spacing:-.075em;font-size:1.06em}.connected .c-lead{font-size:17px;line-height:26px;color:var(--c-muted);max-width:440px}.connected .c-primary{background:var(--c-ink);color:#fff;border:0;border-radius:var(--c-radius);min-height:52px;padding:15px 19px;display:inline-flex;align-items:center;gap:34px;font-size:14px;margin-top:31px;transition:background-color var(--duration-press) ease-out,transform var(--duration-press) ease-out}.connected .c-primary svg{width:22px;height:22px}.connected .c-primary:hover{background:var(--accent)}
.connected .c-hero-visual{min-width:0;position:relative;margin-left:-30px;margin-right:-35px;transform:translateY(var(--hero-shift,0px))}.connected .c-scene{position:relative;min-width:0}.connected .c-system-art{display:block;width:100%;height:auto;overflow:visible;color:var(--c-line)}.connected .c-art-big{font:500 30px var(--font-sans);letter-spacing:-1px}.connected .c-art-small{font:400 22px var(--font-sans);letter-spacing:-.5px}.connected .c-art-meta{font:9px var(--font-mono);letter-spacing:.4px}.connected .c-scene-caption{font:10px var(--font-mono);letter-spacing:.02em;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--c-muted);margin-top:-3px}.connected .c-scene-caption>span:last-child{margin-left:14px}.connected .c-hero-footer{position:absolute;bottom:25px;left:5%;right:5%;display:flex;justify-content:space-between;color:var(--c-muted);font:10px var(--font-mono);letter-spacing:.03em}.connected .c-hero-footer a{display:flex;align-items:center;gap:28px}.connected .c-hero-footer a span{font-size:19px}.connected .c-hero-footer a:hover{color:var(--accent)}
.connected .c-intro{border-top:1px solid var(--c-line);padding:110px 5% 90px;display:grid;grid-template-columns:.52fr 1.5fr 1fr;gap:32px;align-items:start}.connected .c-intro>.c-kicker{padding-top:12px}.connected .c-intro h2{font-size:clamp(38px,4vw,64px);line-height:calc(1em + 4px);letter-spacing:-.05em}.connected .c-intro h2 span{color:var(--c-muted)}.connected .c-intro-copy{display:flex;flex-direction:column;gap:22px;padding-top:10px;font-size:16px;line-height:25px;color:var(--c-muted)}
.connected .c-story{padding:0 5%;display:grid;grid-template-columns:1.23fr 1fr;gap:9%;background:var(--c-soft);border-top:1px solid var(--c-line);border-bottom:1px solid var(--c-line)}.connected .c-story-visual{min-width:0;position:relative}.connected .c-story-sticky{position:sticky;top:25px;padding:35px 0 40px;min-height:min(700px,100svh);display:flex;flex-direction:column;justify-content:center;gap:20px}.connected .c-story-index{display:flex;justify-content:space-between;font:10px var(--font-mono);letter-spacing:.05em;color:var(--c-muted);border-bottom:1px solid var(--c-line);padding-bottom:20px}.connected .c-story .c-scene-caption{display:none}.connected .c-scene-controls{display:flex;justify-content:space-between;border-top:1px solid var(--c-line);padding-top:15px;gap:8px}.connected .c-scene-controls button{font:11px var(--font-mono);border:0;padding:12px 4px;background:transparent;color:var(--c-muted);border-bottom:1px solid transparent}.connected .c-scene-controls button[aria-pressed=true]{color:var(--accent);border-color:var(--accent)}.connected .c-chapter{min-height:620px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:70px 0;gap:25px}.connected .c-chapter:not(:last-child){border-bottom:1px solid var(--c-line)}.connected .c-chapter-number{font:19px var(--font-pixel);color:var(--accent)}.connected .c-chapter h3{font-size:clamp(36px,3.75vw,59px);line-height:calc(1em + 4px);letter-spacing:-.05em}.connected .c-chapter>p{max-width:365px;font-size:16px;line-height:25px;color:var(--c-muted)}.connected .c-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:3px}.connected .c-tags span{font:10px var(--font-mono);padding:8px 10px;border:1px solid var(--c-line);border-radius:var(--c-radius)}
.connected .c-story .c-art-website,.connected .c-story .c-art-discovery,.connected .c-story .c-art-enquiry{transition:opacity var(--duration-reveal) ease-out,transform var(--duration-reveal) var(--ease-out-strong);transform-box:fill-box;transform-origin:center}.connected .c-story [data-scene-state="0"] .c-art-website{opacity:.4;transform:translateY(16px)}.connected .c-story [data-scene-state="0"] .c-art-enquiry{opacity:.25;transform:translateY(22px)}.connected .c-story [data-scene-state="1"] .c-art-discovery{opacity:.6}.connected .c-story [data-scene-state="1"] .c-art-enquiry{opacity:.4;transform:translateY(12px)}.connected .c-story [data-scene-state="2"] .c-art-discovery{opacity:.65}.connected .c-story [data-scene-state="2"] .c-art-website{opacity:.85}.connected .c-story .c-art-cursor{transition:transform var(--duration-reveal) var(--ease-out-strong)}.connected .c-story [data-scene-state="0"] .c-art-cursor{transform:translate(-350px,-120px)}.connected .c-story [data-scene-state="1"] .c-art-cursor{transform:translate(-100px,-110px)}.connected .c-story [data-scene-state="2"] .c-art-cursor{transform:translate(-112px,79px)}
.connected .c-capabilities{padding:120px 5%;display:grid;grid-template-columns:1fr 1.1fr;gap:10%}.connected .c-cap-title h2{margin-top:34px;font-size:clamp(36px,3.5vw,55px);line-height:calc(1em + 4px);letter-spacing:-.05em}.connected .c-cap-title h2 span{color:var(--c-muted)}.connected .c-cap-title>p:last-child{margin-top:30px;color:var(--c-muted);font-size:16px;line-height:25px}.connected .c-cap-list{border-top:1px solid var(--c-line)}.connected details{border-bottom:1px solid var(--c-line)}.connected summary{list-style:none;display:flex;align-items:center;gap:22px;min-height:83px;font-size:22px;letter-spacing:-.035em;cursor:pointer}.connected summary::-webkit-details-marker{display:none}.connected summary>span:first-child{font:10px var(--font-mono);color:var(--c-muted)}.connected summary>.c-detail-icon{margin-left:auto;font-size:23px;color:var(--c-muted);font-weight:400}.connected details[open] .c-detail-icon{transform:rotate(45deg)}.connected details[open] summary{color:var(--accent)}.connected details>p{padding:0 38px 28px;max-width:485px;font-size:15px;line-height:24px;color:var(--c-muted)}
.connected .c-close{padding:65px 5% 35px;background:#e9eefc;position:relative;border-top:1px solid #d3dcf5}.connected .c-close-top{display:flex;align-items:center;justify-content:space-between}.connected .c-small-mark{display:block;width:37px;height:auto}.connected .c-small-mark svg{display:block;width:100%;height:auto}.connected .c-close h2{font-size:clamp(50px,6.2vw,96px);line-height:calc(1em + 4px);letter-spacing:-.06em;margin-top:55px}.connected .c-close h2>span{font-family:var(--font-pixel);color:var(--accent);letter-spacing:-.07em}.connected .c-close-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #cdd6eb;padding-top:25px;margin-top:70px;margin-bottom:55px;font:10px var(--font-mono);color:var(--c-muted)}
@media(hover:hover) and (pointer:fine){.connected summary:hover{color:var(--accent)}.connected .c-nav-contact:hover{border-color:var(--accent);color:var(--accent)}}
@media(min-width:1600px){.connected .c-nav,.connected .c-hero,.connected .c-intro,.connected .c-story,.connected .c-capabilities,.connected .c-close{padding-left:max(5%,calc((100vw - 1440px)/2));padding-right:max(5%,calc((100vw - 1440px)/2))}.connected .c-hero-footer{left:max(5%,calc((100vw - 1440px)/2));right:max(5%,calc((100vw - 1440px)/2))}}
@media(max-width:1000px){.connected .c-nav{height:86px}.connected .c-nav nav{gap:26px}.connected .c-hero{min-height:730px;padding-top:45px;padding-bottom:80px;grid-template-columns:1fr 1fr}.connected .c-hero h1{font-size:clamp(58px,7.7vw,78px)}.connected .c-hero-visual{margin-left:-60px;margin-right:-26px}.connected .c-kicker{font-size:9px}.connected .c-lead{font-size:16px;line-height:25px}.connected .c-intro{grid-template-columns:1fr 1fr;gap:30px;padding-top:80px;padding-bottom:70px}.connected .c-intro>.c-kicker{grid-column:1/-1;padding:0}.connected .c-intro h2{font-size:42px}.connected .c-story{gap:6%}.connected .c-story-sticky{top:60px;min-height:580px}.connected .c-chapter{min-height:600px}.connected .c-chapter h3{font-size:36px}.connected .c-chapter>p{font-size:15px;line-height:24px}.connected .c-scene-controls{gap:4px}.connected .c-scene-controls button{font-size:9px}.connected .c-story-index{font-size:9px}.connected .c-capabilities{gap:8%;padding-top:90px;padding-bottom:90px}.connected summary{font-size:19px;gap:15px}.connected details>p{padding-left:29px;padding-right:0}.connected .c-cap-title h2{font-size:36px}}
@media(max-width:620px){.connected .c-nav{height:79px;padding:0 6%}.connected .c-logo{width:119px}.connected .c-nav nav{gap:0}.connected .c-nav nav>a{display:none}.connected .c-nav-contact{min-height:43px;padding:9px 12px;gap:13px;font-size:13px}.connected .c-hero{min-height:0;max-height:none;display:flex;flex-direction:column;align-items:stretch;padding:53px 6% 69px}.connected .c-kicker{font-size:9px}.connected .c-hero h1{font-size:clamp(56px,15.4vw,87px);margin-top:27px;margin-bottom:23px;line-height:calc(1em + 1px)}.connected .c-lead{font-size:15px;line-height:24px}.connected .c-primary{min-height:49px;font-size:13px;margin-top:26px}.connected .c-hero-visual{margin:16px -4% 3px;transform:none}.connected .c-hero-footer{left:6%;right:6%;bottom:22px;font-size:8px}.connected .c-hero-footer>span{max-width:155px;line-height:14px}.connected .c-hero-footer a{gap:12px}.connected .c-scene-caption{font-size:8px;margin-top:-8px}.connected .c-intro{display:flex;flex-direction:column;gap:29px;padding:64px 6%}.connected .c-intro h2{font-size:39px}.connected .c-intro-copy{font-size:15px;line-height:24px;gap:17px;padding-top:0}.connected .c-story{display:block;padding:0 6%}.connected .c-story-visual{position:sticky;top:0;z-index:10;background:var(--c-soft)}.connected .c-story-sticky{position:relative;top:0;min-height:0;gap:0;padding:16px 0 9px}.connected .c-story-index{font-size:8px;padding-bottom:10px}.connected .c-story .c-scene{max-width:300px;margin:-12px auto -14px;width:100%}.connected .c-scene-controls{padding-top:2px}.connected .c-scene-controls button{font-size:9px;min-height:40px;padding:8px 2px}.connected .c-chapter{min-height:500px;padding:50px 0 75px;gap:21px;scroll-margin-top:270px}.connected .c-chapter h3{font-size:38px}.connected .c-chapter>p{max-width:100%;font-size:15px;line-height:24px}.connected .c-tags span{font-size:9px}.connected .c-capabilities{display:block;padding:69px 6%}.connected .c-cap-title h2{font-size:37px;margin-top:24px}.connected .c-cap-title>p:last-child{font-size:15px;line-height:24px;margin-top:22px}.connected .c-cap-list{margin-top:39px}.connected summary{font-size:20px;min-height:76px}.connected details>p{font-size:14px;line-height:23px}.connected .c-close{padding:37px 6% 24px}.connected .c-small-mark{width:30px}.connected .c-close h2{font-size:clamp(44px,11vw,62px);margin-top:40px;line-height:calc(1em + 3px)}.connected .c-close-footer{margin-top:51px;margin-bottom:65px;flex-wrap:wrap;font-size:9px;row-gap:20px}.connected .c-close-footer>span:nth-child(2){order:3;width:100%}}
@media(prefers-reduced-motion:reduce){.connected .c-hero-visual{transform:none!important}.connected .c-story :is(.c-art-website,.c-art-discovery,.c-art-enquiry,.c-art-cursor){transition:none!important;transform:none!important;opacity:1!important}}

.connected .j-journey{background:var(--c-soft);border-block:1px solid var(--c-line);padding:88px 5% 0;scroll-margin-top:0}
.connected .j-heading-row{display:grid;grid-template-columns:.85fr 1.5fr 1fr;gap:30px;align-items:start;padding-bottom:30px}
.connected .j-heading-row>.c-kicker{padding-top:11px}
.connected .j-heading-row h2{font-size:clamp(40px,3.9vw,62px);line-height:1.07;letter-spacing:-.055em}
.connected .j-heading-row h2 span{color:var(--c-muted)}
.connected .j-heading-row>p:last-child{font-size:16px;line-height:25px;color:var(--c-muted);padding-top:8px}
.connected .j-scroll-story{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:9%}
.connected .j-desktop-stage{min-width:0;position:relative}
.connected .j-sticky-stage{position:sticky;top:0;min-height:min(600px,100svh);display:flex;flex-direction:column;justify-content:center;padding:24px 0}
.connected .j-stage-meta{display:flex;align-items:center;justify-content:flex-end;font:10px var(--font-mono);letter-spacing:.045em;color:var(--c-muted);padding-bottom:20px;border-bottom:1px solid var(--c-line)}
.connected .j-current-count{font-variant-numeric:tabular-nums;color:var(--accent)}
.connected .j-stage-canvas{position:relative;aspect-ratio:760/600;max-height:min(450px,calc(100svh - 150px));margin:16px -7% 3px}
.connected .j-stage-scene{position:absolute;inset:0;opacity:0;transform:none;pointer-events:none;transition:opacity var(--duration-reveal) ease-out}
.connected .j-stage-scene.is-active{opacity:1;transform:none}
.connected .j-art{width:100%;height:auto;display:block;overflow:visible}
.connected .j-stage-scene .j-art{height:100%}
.connected .j-chapter-nav{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--c-line);gap:14px}
.connected .j-chapter-nav a{display:flex;align-items:center;gap:9px;min-height:52px;color:var(--c-muted);font:11px var(--font-mono);border-top:1px solid transparent;margin-top:-1px;padding:8px 0}
.connected .j-chapter-nav a>span{font-size:10px;opacity:.65}
.connected .j-chapter-nav a>svg{width:15px;height:15px;margin-left:auto;opacity:0}
.connected .j-chapter-nav a[aria-current]{color:var(--accent);border-color:var(--accent)}
.connected .j-chapter-nav a[aria-current]>svg{opacity:1}
.connected .j-chapter{min-height:600px;display:flex;flex-direction:column;justify-content:center;padding:66px 0;scroll-margin-top:40px}
.connected .j-chapter:not(:last-child){border-bottom:1px solid var(--c-line)}
.connected .j-chapter-number{display:flex;align-items:center;gap:16px;font:22px var(--font-pixel);color:var(--accent);margin-bottom:25px}
.connected .j-chapter-number>span{height:1px;width:41px;background:currentColor;opacity:.4}
.connected .j-chapter h3{font-size:clamp(42px,4.1vw,65px);line-height:1.045;letter-spacing:-.055em}
.connected .j-chapter h3>span{font-family:var(--font-pixel);color:var(--accent);letter-spacing:-.06em}
.connected .j-service-list{margin:32px 0 0;display:flex;flex-direction:column;gap:19px;max-width:340px}
.connected .j-service-list>div{display:grid;grid-template-columns:112px 1fr;gap:16px}
.connected .j-service-list dt,.connected .j-service-name{font-size:14px;line-height:22px;font-weight:500}
.connected .j-service-list dd{margin:0;color:var(--c-muted);font-size:15px;line-height:24px;text-wrap:pretty}
.connected .j-service-name{margin-top:31px}
.connected .j-chapter-body{font-size:17px;line-height:27px;color:var(--c-muted);margin-top:14px;max-width:340px}
.connected .j-mobile-art{display:none}
.connected .j-instant .j-stage-scene{transition:none}
@media(hover:hover) and (pointer:fine){.connected .j-chapter-nav a:hover{color:var(--accent)}}
@media(min-width:1600px){.connected .j-journey{padding-inline:max(5%,calc((100vw - 1440px)/2))}}
@media(max-width:1100px){.connected .j-heading-row{grid-template-columns:1fr 1.45fr;gap:24px}.connected .j-heading-row>.c-kicker{grid-column:1/-1;padding:0}.connected .j-heading-row h2{font-size:43px}.connected .j-heading-row>p:last-child{padding-top:9px;justify-self:end}.connected .j-scroll-story{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:6%}.connected .j-chapter h3{font-size:44px}.connected .j-service-list>div{grid-template-columns:1fr;gap:4px}.connected .j-service-list{gap:16px}.connected .j-chapter{min-height:600px;padding-block:54px}.connected .j-sticky-stage{min-height:600px}.connected .j-chapter-nav{gap:8px}.connected .j-chapter-nav a{font-size:10px;gap:5px}.connected .j-chapter-nav a>svg{display:none}.connected .j-stage-meta{font-size:9px}}
@media(max-width:700px){.connected .j-journey{padding:62px 6% 0}.connected .j-heading-row{display:flex;flex-direction:column;gap:24px;padding-bottom:18px}.connected .j-heading-row h2{font-size:39px}.connected .j-heading-row>p:last-child{font-size:15px;line-height:24px;padding:0}.connected .j-heading-row>p:last-child br{display:none}.connected .j-scroll-story{display:block}.connected .j-desktop-stage{display:none}.connected .j-chapter{min-height:0;padding:46px 0 30px;scroll-margin-top:20px;gap:0}.connected .j-chapter-number{font-size:20px;margin-bottom:22px}.connected .j-chapter h3{font-size:clamp(40px,11vw,62px)}.connected .j-service-list{max-width:none;margin-top:27px;gap:17px}.connected .j-service-list>div{grid-template-columns:112px 1fr;gap:16px}.connected .j-service-list dt,.connected .j-service-list dd{font-size:14px;line-height:22px}.connected .j-service-name{font-size:14px;margin-top:26px}.connected .j-chapter-body{font-size:16px;line-height:25px;max-width:380px;margin-top:12px}.connected .j-mobile-art{display:block;margin:28px -6% 0}.connected .j-art{max-width:580px;margin:auto}.connected .j-svg-label,.connected .j-stamp-label,.connected .j-small-label{font-size:13px}.connected .j-chapter:last-child{padding-bottom:36px}}
@media(max-width:360px){.connected .j-service-list>div{grid-template-columns:98px 1fr;gap:12px}.connected .j-heading-row h2{font-size:35px}}
@media(prefers-reduced-motion:reduce){.connected .j-stage-scene{transform:none;transition:none}}

.connected .f-funnel{--duration-funnel-cycle:28000ms;--duration-funnel-stream:3600ms;padding:52px 5% 40px;border-bottom:1px solid var(--c-line);background:var(--c-bg)}
.connected .f-head{display:grid;grid-template-columns:1.18fr 1fr;gap:8%;align-items:end}
.connected .f-head h2{margin-top:22px;font-size:clamp(42px,4vw,58px);line-height:calc(1em + 4px);letter-spacing:-.052em}
.connected .f-head h2 span{color:var(--c-muted)}
.connected .f-intro{max-width:365px;padding-bottom:4px;color:var(--c-muted);font-size:16px;line-height:25px}
.connected .f-body{display:grid;grid-template-columns:1.18fr 1fr;gap:8%;align-items:center;margin-top:28px}
.connected .f-sculpture{min-width:0;align-self:stretch;display:flex;align-items:center}
.connected .f-flow-art{display:block;width:100%;height:100%;max-height:475px;overflow:visible}
.connected .f-opening{stroke:var(--accent);stroke-width:.8;opacity:.4}
.connected .f-flow-line{stroke:var(--accent);stroke-width:1;stroke-opacity:var(--f-line-opacity)}
.connected .f-return-line{stroke:var(--accent);stroke-width:1;stroke-opacity:.34}
.connected .f-return-arrow{stroke:var(--accent);stroke-width:1.3;stroke-opacity:.5;stroke-linecap:round;stroke-linejoin:round}
.connected .f-flow-pulse{stroke:var(--accent);stroke-width:2;stroke-linecap:round;stroke-dasharray:7 93;opacity:0}
.connected .f-return-pulse{stroke-dasharray:5 95;stroke-width:1.6}
.connected .f-art-caption{fill:var(--c-muted);font:8px var(--font-mono);letter-spacing:.08em}
.connected .f-marker-point{fill:var(--c-bg);stroke:var(--accent);stroke-width:1.1}
.connected .f-marker text{fill:var(--c-muted);font:11px var(--font-sans)}
.connected .f-marker-halo{fill:var(--accent);opacity:0;transform-box:fill-box;transform-origin:center}
.connected .f-marker[data-active=true] .f-marker-point{fill:var(--accent)}
.connected .f-marker[data-active=true] .f-marker-halo{opacity:.16}
.connected .f-marker[data-active=true] text{fill:var(--accent)}
.connected .f-focus-orbit{stroke:var(--accent);stroke-width:.8;stroke-opacity:.18}
.connected .f-focus-paper{fill:var(--c-bg);stroke:var(--accent);stroke-width:1;stroke-opacity:.3}
.connected .f-glyph{color:var(--accent);opacity:0}
.connected .f-glyph[data-active=true]{opacity:1}
.connected .f-explorer{min-width:0;padding:8px 0 0}
.connected .f-readout{display:grid;min-height:142px}
.connected .f-panel{grid-area:1/1;min-width:0}
.connected .f-panel[hidden]{display:block;visibility:hidden;pointer-events:none}
.connected .f-panel-kicker{color:var(--accent);font:10px/16px var(--font-mono);letter-spacing:.035em}
.connected .f-panel h3{font-size:28px;line-height:33px;letter-spacing:-.035em;margin:12px 0 10px;max-width:430px}
.connected .f-panel-detail{font-size:15px;line-height:23px;color:var(--c-muted);max-width:435px}
.connected .f-stage-controls{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin-top:18px}
.connected .f-stage-controls button{display:flex;align-items:center;gap:10px;min-width:0;min-height:49px;border:0;border-bottom:1px solid var(--c-line);padding:9px 0;background:none;color:var(--c-muted);font:15px/21px var(--font-sans);text-align:left;white-space:nowrap}
.connected .f-stage-controls button[aria-pressed=true]{color:var(--accent);border-color:var(--accent)}
.connected .f-stage-number{font:10px var(--font-mono);flex:none;opacity:.8}
.connected .f-stage-controls button svg{width:16px;height:16px;margin-left:auto;flex:none;opacity:0}
.connected .f-stage-controls button[aria-pressed=true] svg{opacity:1}
.connected .f-footer{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:44px;margin-top:4px}
.connected .f-footer>p{color:var(--c-muted);font-size:12px;line-height:18px}
.connected .f-resume{display:inline-flex;align-items:center;gap:14px;min-height:44px;padding:4px 0;border:0;background:none;color:var(--accent);font:12px var(--font-sans)}
.connected .f-footer [hidden]{display:none}
.connected .f-footer .g-motion-control{flex:none;min-height:44px;padding-inline:8px;margin-right:-8px}
@media(hover:hover) and (pointer:fine){.connected .f-stage-controls button:hover{color:var(--accent)}.connected .f-resume:hover{text-decoration:underline;text-underline-offset:4px}}
@media(min-width:1600px){.connected .f-funnel{padding-inline:max(5%,calc((100vw - 1440px)/2))}}
@media(max-width:1100px){.connected .f-head,.connected .f-body{grid-template-columns:1.05fr 1fr;gap:5%}.connected .f-readout{min-height:155px}.connected .f-panel h3{font-size:24px;line-height:29px}.connected .f-stage-controls{gap:0 15px}.connected .f-stage-controls button{font-size:14px;gap:7px}.connected .f-stage-controls button svg{display:none}.connected .f-intro{font-size:15px;line-height:24px}}
@media(max-width:700px){.connected .f-funnel{padding:38px 6% 32px}.connected .f-head{display:block}.connected .f-head h2{font-size:clamp(34px,8.9vw,48px);margin-top:18px;letter-spacing:-.045em}.connected .f-intro{margin-top:17px;max-width:425px;padding:0;font-size:14px;line-height:22px}.connected .f-body{display:flex;flex-direction:column;gap:5px;margin-top:16px}.connected .f-sculpture{height:250px;width:100%;justify-content:center}.connected .f-flow-art{width:auto;height:100%;max-width:100%}.connected .f-explorer{width:100%;padding:0}.connected .f-readout{min-height:120px}.connected .f-panel h3{font-size:23px;line-height:27px;margin:9px 0}.connected .f-panel-detail{font-size:14px;line-height:21px}.connected .f-panel-kicker{font-size:9px;line-height:15px}.connected .f-stage-controls{margin-top:8px;gap:0 18px}.connected .f-stage-controls button{min-height:44px;padding:8px 0;font-size:14px;gap:8px}.connected .f-stage-number{font-size:9px}.connected .f-footer{margin-top:13px;gap:14px}.connected .f-footer>p,.connected .f-resume{font-size:11px}.connected .f-footer .g-motion-control{font-size:9px}.connected .f-marker text{font-size:12px}.connected .f-art-caption{font-size:9px}}
@media(prefers-reduced-motion:reduce){.connected .f-flow-pulse{opacity:0!important}.connected .f-glyph{transition:none}.connected .f-marker-halo{animation:none!important}}

/* Distinct visual chapters and shorter copy; original light palette retained. */
.connected{--c-white:#fff;--c-blue-wash:#e9eefc;--c-photo-shade:#091722;--c-inverse-muted:#dce4ff;--c-inverse-line:#7690fa}
.connected .c-nav :is(a,button){min-height:44px;display:inline-flex;align-items:center}
.connected .c-nav .c-logo{display:flex}
.connected .c-primary{transition:transform var(--duration-press) ease-out}
.connected .c-booking{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;margin-left:20px;font-size:14px;vertical-align:middle}
.connected .c-booking svg{width:19px;height:19px;flex:none}
@media(hover:hover) and (pointer:fine){.connected .c-booking:hover{color:var(--accent)}}
@media(max-width:620px){.connected .c-booking{display:flex;width:fit-content;margin:8px 0 0;font-size:13px}}
.connected .c-hero-footer>a{min-height:44px}
.connected .c-hero-footer{align-items:center;bottom:14px}
.connected .c-hero-visual{transform:none}
.connected .x-work{padding:64px 5% 64px}
.connected .x-work-head{display:flex;align-items:flex-start;justify-content:space-between;gap:35px;margin-bottom:32px}
.connected .x-work-head>.c-kicker{padding-top:13px}
.connected .x-work h2{font-size:clamp(40px,4.1vw,58px);line-height:1.05;letter-spacing:-.055em;min-width:53%}
.connected .x-work h2 span{color:var(--accent);font-family:var(--font-pixel);letter-spacing:-.065em}
/* One horizontally scrolling frame keeps the work together. */
.connected .x-work-showcase{--duration-work-change:500ms;min-width:0}
.connected .x-work-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--c-line);border-bottom:1px solid var(--c-line)}
.connected .x-work-tab{position:relative;display:flex;align-items:center;gap:18px;min-height:64px;padding:13px 26px;border:0;background:none;color:var(--c-muted);text-align:left;font-size:16px;line-height:23px;transition:color var(--duration-press) ease-out}
.connected .x-work-tab+button{border-left:1px solid var(--c-line)}
.connected .x-work-tab::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform var(--duration-work-change) var(--ease-out-strong)}
.connected .x-work-tab[aria-pressed="true"]{color:var(--c-ink)}
.connected .x-work-tab[aria-pressed="true"]::after{transform:scaleX(1)}
.connected .x-work-tab-index{color:var(--accent);font:12px var(--font-mono);flex:none}
.connected .x-work-tab-arrow{margin-left:auto;color:var(--accent);font-size:20px}
.connected .x-work-window{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;border-bottom:1px solid var(--c-line);scroll-behavior:smooth}
.connected .x-work-window::-webkit-scrollbar{display:none}
.connected .x-work-window:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.connected .x-work-slide{position:relative;flex:0 0 100%;min-width:0;display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.35fr);gap:7%;align-items:center;padding:24px 26px;scroll-snap-align:start;scroll-snap-stop:always}
.connected .x-work-story{min-width:0}
.connected .x-work-industry{font:10px var(--font-mono);letter-spacing:.05em;color:var(--c-muted)}
.connected .x-work-story h3{font-size:clamp(34px,3.4vw,50px);line-height:1.08;letter-spacing:-.045em;margin:23px 0}
.connected .x-work-description{max-width:390px;font-size:16px;line-height:26px;color:var(--c-muted)}
.connected .x-work-tags{display:flex;flex-wrap:wrap;gap:8px 15px;list-style:none;margin:24px 0 0;padding:0;max-width:390px;color:var(--c-ink);font-size:12px;line-height:19px}
.connected .x-work-tags li+li::before{content:"/";color:#a9b1ad;margin-right:15px}
.connected .x-work-results{margin-top:24px;padding-top:20px;border-top:1px solid var(--c-line);max-width:440px}
.connected .x-work-results dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0}
.connected .x-work-results dl>div{display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:7px}
.connected .x-work-results dt{font-size:11px;line-height:16px;color:var(--c-muted);max-width:105px}
.connected .x-work-results dd{margin:0;font-size:clamp(22px,2.2vw,32px);line-height:1.15;letter-spacing:-.04em;color:var(--accent)}
.connected .x-work-results>p{margin-top:14px;font-size:10px;line-height:16px;color:var(--c-muted)}
.connected .x-work-note{max-width:430px;margin-top:23px;font-size:11px;line-height:18px;color:var(--c-muted)}
.connected [data-case-art]{aspect-ratio:1.5;overflow:hidden;background:var(--c-bg)}
.connected .x-work-visit{border:0;background:none;padding:0;color:inherit;text-align:left;display:inline-flex;align-items:center;gap:18px;min-height:44px;margin-top:25px;font-size:14px}
.connected .x-work-visit svg{width:22px;height:22px;flex:none}
.connected .x-work-image{width:100%;max-width:600px;margin:0 0 0 auto;padding:0;background:var(--c-soft);min-width:0;border:1px solid var(--c-line);border-radius:7px;overflow:hidden}
.connected .x-work-browser{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 17px;height:35px;border-bottom:1px solid var(--c-line);color:var(--c-muted);font:10px var(--font-mono)}
.connected .x-work-browser>span:last-child{font-size:17px}
.connected .x-work-browser-mark{display:block;width:15px;flex:none;opacity:.5}
.connected .x-work-browser-mark svg{display:block;width:15px;height:15px}
.connected .x-work-image>video{display:block;width:100%;height:auto;aspect-ratio:1.5;object-fit:cover;background:var(--c-bg)}
.connected .x-work-image figcaption{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 17px;font:10px var(--font-mono);color:var(--c-muted)}
.connected .x-work-play{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:8px 0 8px 10px;border:0;background:none;color:var(--c-ink);font:10px var(--font-mono);white-space:nowrap;cursor:pointer}
.connected .x-work-play>span{font-size:14px;line-height:1}
.connected .x-work-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.connected .x-work-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0 0}
.connected .x-work-explore{color:var(--c-muted);font-size:12px;line-height:18px}
.connected .x-work-pagination{display:flex;align-items:center;gap:8px}
.connected [data-work-count]{font:11px var(--font-mono);color:var(--c-muted);margin-right:16px}
.connected .x-work-direction{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--c-line);border-radius:50%;background:none;color:var(--c-ink)}
.connected .x-work-direction svg{width:20px;height:20px}
.connected .x-work-previous svg{transform:rotate(180deg)}
.connected .x-work-direction:disabled{opacity:.3;cursor:default}
@media(hover:hover) and (pointer:fine){.connected .x-work-tab:hover,.connected .x-work-play:hover{color:var(--accent)}.connected .x-work-direction:not(:disabled):hover{color:var(--accent);border-color:var(--accent)}}
.connected .x-approach{background:var(--accent);color:var(--c-white);padding:85px 5%;display:grid;grid-template-columns:1.15fr 1fr;gap:8%;align-items:center}
.connected .x-approach .c-tiny-square{background:var(--c-white)}
.connected .x-approach .c-kicker{color:var(--c-inverse-muted)}
.connected .x-approach h2{font-size:clamp(40px,4.5vw,69px);line-height:1.07;letter-spacing:-.05em;margin:35px 0 27px}
.connected .x-approach h2 span{font-family:var(--font-pixel);letter-spacing:-.055em}
.connected .x-approach-copy>p:not(.c-kicker){max-width:455px;font-size:17px;line-height:27px;color:var(--c-inverse-muted)}
.connected .x-approach-copy>p.x-approach-note{font-size:12px;line-height:20px;margin-top:30px;padding-top:20px;border-top:1px solid var(--c-inverse-line)}
.connected .x-faq{padding:90px 5%;display:grid;grid-template-columns:1fr 1.25fr;gap:9%}
.connected .x-faq h2{font-size:clamp(34px,3.1vw,48px);letter-spacing:-.05em;line-height:1.12;margin-top:25px}
.connected .x-faq-list{border-top:1px solid var(--c-line)}
.connected .x-faq summary{min-height:85px;gap:30px;justify-content:space-between;padding:15px 0}
.connected .x-faq summary h3{font-size:19px;line-height:26px;letter-spacing:-.025em;text-wrap:pretty}
.connected .x-faq summary>.x-faq-icon{color:var(--accent);font:24px var(--font-sans);flex:none}
.connected .x-faq details[open] .x-faq-icon{transform:rotate(45deg)}
.connected .x-faq details>p{padding:0 40px 26px 0;font-size:15px;line-height:24px;max-width:550px}
.connected .c-close-footer{margin-bottom:0}
.connected .c-close-footer a{min-height:44px;display:flex;align-items:center}
@media(hover:hover) and (pointer:fine){.connected .x-work-visit:hover{text-decoration:underline;text-underline-offset:5px}}
@media(min-width:1600px){.connected :is(.x-work,.x-approach,.x-faq){padding-left:max(5%,calc((100vw - 1440px)/2));padding-right:max(5%,calc((100vw - 1440px)/2))}}
@media(max-width:1000px){.connected .x-work{padding-top:75px;padding-bottom:70px}.connected .x-work-head{margin-bottom:35px}.connected .x-approach{gap:4%;padding-top:65px;padding-bottom:65px}.connected .x-approach h2{font-size:38px}.connected .x-approach-copy>p:not(.c-kicker){font-size:15px;line-height:24px}.connected .x-art-label{font-size:9px}.connected .x-faq{padding-top:70px;padding-bottom:70px;gap:7%;grid-template-columns:.8fr 1.2fr}}
@media(max-width:700px){.connected .x-work{padding:58px 6% 54px}.connected .x-work-head{display:block;margin-bottom:30px}.connected .x-work-head>.c-kicker{padding:0;margin-bottom:23px}.connected .x-work h2{font-size:40px}.connected .x-work-visit{margin-top:18px;font-size:13px;gap:15px}.connected .x-work-visit svg{width:22px;height:22px}.connected .x-approach{display:flex;flex-direction:column;padding:52px 6% 34px;gap:15px}.connected .x-approach h2{font-size:clamp(35px,9.1vw,52px);margin:29px 0 22px}.connected .x-approach-copy>p:not(.c-kicker){font-size:15px;line-height:24px;max-width:100%}.connected .x-approach-copy>p.x-approach-note{font-size:11px;margin-top:23px;padding-top:17px}.connected .x-approach-art{width:87%;max-width:350px}.connected .x-faq{display:block;padding:56px 6%}.connected .x-faq h2{font-size:36px;margin-top:21px}.connected .x-faq-list{margin-top:29px}.connected .x-faq summary{min-height:84px;padding:19px 0;gap:20px}.connected .x-faq summary h3{font-size:18px;line-height:25px}.connected .x-faq details>p{font-size:14px;line-height:23px;padding-right:20px}.connected .c-close-footer{margin-bottom:0}}

@media(max-width:1100px){.connected .x-work-slide{grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:5%;padding:32px 16px}.connected .x-work-story h3{font-size:37px}.connected .x-work-description{font-size:15px;line-height:24px}.connected .x-work-tab{padding-inline:16px;font-size:14px;gap:12px}.connected .x-work-browser{font-size:8px;padding-inline:12px}.connected .x-work-image figcaption{padding-inline:12px;font-size:8px}.connected .x-work-play{font-size:9px}.connected .x-work-tags{font-size:11px;gap:6px 10px}.connected .x-work-tags li+li::before{margin-right:10px}}
@media(max-width:700px){.connected .x-work-tabs{grid-template-columns:1fr 1fr}.connected .x-work-tab:nth-child(odd){border-left:0}.connected .x-work-tab:nth-child(n+3){border-top:1px solid var(--c-line)}.connected .x-work-slide{grid-template-columns:1fr;gap:26px;padding:26px 0 30px;align-content:start}.connected .x-work-image{grid-row:1}.connected .x-work-story{padding:0 3px}.connected .x-work-story h3{font-size:34px;margin:17px 0}.connected .x-work-description{font-size:14px;line-height:23px}.connected .x-work-tags{margin-top:18px;font-size:11px}.connected .x-work-tab{min-height:80px;padding:13px 10px;gap:9px;font-size:12px;line-height:18px}.connected .x-work-tab-index{font-size:10px}.connected .x-work-tab-arrow{display:none}.connected .x-work-browser{height:35px}.connected .x-work-image figcaption{font-size:8px;gap:4px;padding:2px 10px}.connected .x-work-play{font-size:8px;padding-left:6px}.connected .x-work-visit{margin-top:18px}.connected .x-work-controls{gap:15px}.connected .x-work-explore{font-size:11px;max-width:160px}.connected [data-work-count]{font-size:10px;margin-right:4px}.connected .x-work-pagination{gap:6px}}
@media(prefers-reduced-motion:reduce){.connected .x-work-window{scroll-behavior:auto}.connected .x-work-tab::after{transition:none}}

.mr-art{display:block;width:100%;height:100%;font-family:var(--font-sans,'Geist',sans-serif);color:var(--accent,#4c64ff)}
.mr-background{fill:var(--c-bg,#f6f7f2)}
.mr-eyebrow{fill:var(--c-ink,#202a2c);font:16px var(--font-mono,'Geist Mono',monospace);letter-spacing:.06em}
.mr-note{fill:var(--c-muted,#647070);font:16px var(--font-mono,'Geist Mono',monospace);letter-spacing:.02em}
.mr-number{fill:var(--c-ink,#202a2c);font-size:70px;letter-spacing:-.055em;font-weight:450}
.mr-label{fill:var(--c-muted,#647070);font-size:23px;letter-spacing:-.015em}
.mr-card-title{fill:var(--c-ink,#202a2c);font-size:25px;letter-spacing:-.025em}
.mr-accent-text{fill:var(--accent,#4c64ff)}
.mr-paper{fill:var(--c-bg,#f6f7f2);stroke:var(--c-line,#d5dcda);stroke-width:1.5;stroke-linejoin:round}
.mr-rule{fill:none;stroke:var(--c-line,#d5dcda);stroke-width:1.5}
.mr-line{fill:none;stroke:var(--c-muted,#647070);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.mr-page-accent{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;opacity:0}
.mr-bar-base{fill:currentColor;fill-opacity:.16}
.mr-bar-ink{fill:currentColor;opacity:0;transform-box:fill-box}
.mr-fish{fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round}
.mr-accent-fill{fill:currentColor}
.mr-flow-base{fill:none;stroke:currentColor;stroke-opacity:.23;stroke-width:1.5}
.mr-flow{fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-dasharray:20 80;opacity:0}
.mr-check-disc{fill:currentColor;fill-opacity:.08}
.mr-check-base,.mr-check{fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.mr-check-base{stroke-opacity:.45}
.mr-check{stroke-dasharray:100;opacity:0}
.mr-receipt-outline{fill:none;stroke:currentColor;stroke-width:1.5;opacity:0}

/* Connected contact tokens stay local to the dialog. */
#contact-dialog {
  --cc-paper: #f7f8f4;
  --cc-field: #fbfcf8;
  --cc-ink: #182023;
  --cc-muted: #626b6b;
  --cc-line: #d9dfd8;
  --cc-accent: #315cf5;
  --cc-on-accent: #ffffff;
  --cc-error: #b52e29;
  --cc-backdrop: rgb(13 17 21 / 62%);
  --cc-border-width: 1px;
  --cc-radius: 4px;
  --cc-shadow-modal: 0 28px 100px rgb(0 0 0 / 20%);
  --cc-duration-press: 120ms;
  --cc-duration-modal: 220ms;
  --cc-stage-travel: 32px;
  --cc-ease-out: cubic-bezier(0.23, 1, 0.32, 1);
  box-sizing: border-box;
  width: min(1040px, calc(100vw - 64px));
  max-width: none;
  max-height: calc(100vh - 48px);
  max-height: calc(100dvh - 48px);
  padding: 0;
  margin: auto;
  border: 0;
  border-radius: var(--cc-radius);
  background: var(--cc-paper);
  color: var(--cc-ink);
  box-shadow: var(--cc-shadow-modal);
  font-family: var(--font-sans, "Geist", Arial, sans-serif);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  overflow: hidden;
  color-scheme: light;
}

#contact-dialog::backdrop { background: var(--cc-backdrop); }

#contact-dialog[open] {
  animation: charm-contact-enter var(--cc-duration-modal) var(--cc-ease-out) both;
}

#contact-dialog[open]::backdrop {
  animation: charm-contact-backdrop var(--cc-duration-modal) var(--cc-ease-out) both;
}

#contact-dialog[data-input="keyboard"],
#contact-dialog[data-input="keyboard"]::backdrop { animation: none; }

#contact-dialog *,
#contact-dialog *::before,
#contact-dialog *::after { box-sizing: border-box; }

#contact-dialog [hidden] { display: none !important; }

#contact-dialog button,
#contact-dialog input,
#contact-dialog textarea,
#contact-dialog select { font: inherit; }

#contact-dialog button {
  min-height: 44px;
  cursor: pointer;
  color: inherit;
  border: 0;
  background: none;
  font-weight: 500;
  transition: transform var(--cc-duration-press) var(--cc-ease-out);
}

#contact-dialog button:active { transform: scale(0.97); }

#contact-dialog button:disabled { opacity: 0.5; cursor: not-allowed; pointer-events: none; }

#contact-dialog :is(button, input, textarea, select):focus-visible {
  outline: 2px solid var(--cc-accent);
  outline-offset: 4px;
}

#contact-dialog .charm-contact-form {
  display: flex;
  flex-direction: column;
  max-height: calc(100vh - 48px);
  max-height: calc(100dvh - 48px);
  height: min(680px, calc(100dvh - 48px));
  min-height: 0;
  margin: 0;
}

#contact-dialog .charm-contact-topbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  flex: 0 0 auto;
  padding: 16px 32px;
}

#contact-dialog .charm-contact-identity { display: flex; align-items: center; gap: 16px; }

#contact-dialog .charm-contact-symbol { display: inline-flex; width: 32px; height: 32px; }

#contact-dialog .charm-contact-symbol:empty { display: none; }

#contact-dialog .charm-contact-symbol svg { display: block; width: 100%; height: 100%; }

#contact-dialog .charm-contact-eyebrow,
#contact-dialog .charm-contact-step-label,
#contact-dialog .charm-contact-chapter,
#contact-dialog .charm-contact-review dt {
  font-family: var(--font-mono, "Geist Mono", monospace);
  font-size: 10px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

#contact-dialog .charm-contact-close {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  padding: 0;
  font-size: 12px;
  font-weight: 400;
}

#contact-dialog .charm-contact-close span { font-size: 27px; line-height: 1; font-weight: 400; }

#contact-dialog .charm-contact-scroll {
  display: flex;
  flex-direction: column;
  min-height: 0;
  flex: 1 1 auto;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: var(--cc-line) transparent;
  scroll-padding-block: 12px;
}

#contact-dialog .charm-contact-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.3fr);
  align-items: start;
  gap: 40px;
  padding: 20px 32px 24px;
  flex: 0 0 auto;
  margin-block: auto;
}

#contact-dialog .charm-contact-introduction { display: flex; flex-direction: column; align-items: flex-start; gap: 24px; }

#contact-dialog .charm-contact-progress { display: inline-flex; gap: 16px; align-items: center; }

#contact-dialog .charm-contact-progress-marks { display: inline-grid; grid-template-columns: repeat(4, 5px); gap: 4px; }

#contact-dialog .charm-contact-progress-marks span { display: block; width: 5px; height: 12px; background: var(--cc-line); }

#contact-dialog .charm-contact-progress-marks span[data-active="true"] { background: var(--cc-accent); }

#contact-dialog .charm-contact-step-label { color: var(--cc-muted); letter-spacing: 0.06em; }

#contact-dialog #charm-contact-title {
  margin: 0;
  font-family: var(--font-sans, "Geist", Arial, sans-serif);
  font-size: clamp(38px, 4vw, 48px);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -0.045em;
  white-space: pre-line;
  outline: 0;
}

#contact-dialog #charm-contact-description { margin: 0; max-width: 27ch; font-size: 14px; color: var(--cc-muted); line-height: 1.65; }

#contact-dialog .charm-contact-chapter { margin: 24px 0 0; color: var(--cc-muted); }

#contact-dialog .charm-contact-fields { min-width: 0; }

#contact-dialog .charm-contact-panel { display: flex; flex-direction: column; gap: 24px; }

#contact-dialog .charm-contact-goals { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; min-width: 0; margin: 0; padding: 0; border: 0; }

#contact-dialog .charm-contact-goal {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 96px;
  padding: 16px;
  border: var(--cc-border-width) solid var(--cc-line);
  border-radius: var(--cc-radius);
  cursor: pointer;
}

#contact-dialog .charm-contact-goal:has(input:checked) { border-color: var(--cc-accent); background: color-mix(in srgb, var(--cc-accent) 7%, var(--cc-paper)); }
#contact-dialog .charm-contact-goal:last-of-type:nth-of-type(odd) { grid-column: 1 / -1; min-height: 72px; }

#contact-dialog .charm-contact-goal:has(input:focus-visible) { outline: 2px solid var(--cc-accent); outline-offset: 3px; }

#contact-dialog .charm-contact-goal input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: 0;
  overflow: hidden;
  clip-path: inset(50%);
  opacity: 0;
}

#contact-dialog .charm-contact-goal-copy { display: flex; flex-direction: column; gap: 5px; }

#contact-dialog .charm-contact-goal-copy > span { font-size: 15px; font-weight: 500; line-height: 1.25; }

#contact-dialog .charm-contact-goal-copy small { color: var(--cc-muted); font-size: 12px; font-weight: 400; line-height: 1.45; }

#contact-dialog .charm-contact-checkbox { display: grid; place-items: center; flex: 0 0 16px; height: 16px; border: var(--cc-border-width) solid var(--cc-muted); border-radius: 2px; }

#contact-dialog .charm-contact-goal:has(input:checked) .charm-contact-checkbox { background: var(--cc-accent); border-color: var(--cc-accent); }

#contact-dialog .charm-contact-goal:has(input:checked) .charm-contact-checkbox::after { content: ""; width: 8px; height: 5px; margin-top: -2px; border-left: 2px solid var(--cc-on-accent); border-bottom: 2px solid var(--cc-on-accent); transform: rotate(-45deg); }

#contact-dialog .charm-contact-field { display: flex; flex-direction: column; gap: 8px; }

#contact-dialog .charm-contact-field label { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; font-size: 13px; font-weight: 500; }

#contact-dialog .charm-contact-optional { color: var(--cc-muted); font-size: 11px; font-weight: 400; }

#contact-dialog .charm-contact-field :is(input, textarea, select) {
  display: block;
  width: 100%;
  min-height: 48px;
  margin: 0;
  padding: 13px 14px;
  color: var(--cc-ink);
  background: var(--cc-field);
  border: var(--cc-border-width) solid var(--cc-line);
  border-radius: var(--cc-radius);
  box-shadow: none;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
}

#contact-dialog .charm-contact-field textarea { resize: vertical; min-height: 118px; max-height: 280px; }

#contact-dialog .charm-contact-field :is(input, textarea)::placeholder { color: var(--cc-muted); opacity: 1; font-size: 14px; }

#contact-dialog .charm-contact-field select { cursor: pointer; padding-right: 30px; }

#contact-dialog .charm-contact-field [aria-invalid="true"] { border-color: var(--cc-error); }

#contact-dialog .charm-contact-error { margin: 0; color: var(--cc-error); font-size: 12px; line-height: 1.5; }

#contact-dialog .charm-contact-local-note { display: flex; align-items: flex-start; gap: 12px; padding-top: 8px; }

#contact-dialog .charm-contact-note-mark { flex: 0 0 5px; height: 5px; margin-top: 7px; background: var(--cc-accent); }

#contact-dialog .charm-contact-local-note p { margin: 0; color: var(--cc-muted); font-size: 12px; line-height: 1.65; }

#contact-dialog .charm-contact-review { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin: 0; }

#contact-dialog .charm-contact-review > div:nth-child(3) { grid-column: 1 / -1; }

#contact-dialog .charm-contact-review > div { display: flex; flex-direction: column; gap: 6px; padding-bottom: 18px; border-bottom: var(--cc-border-width) solid var(--cc-line); }

#contact-dialog .charm-contact-review > div:last-child { padding-bottom: 0; border: 0; }

#contact-dialog .charm-contact-review dt { color: var(--cc-muted); }

#contact-dialog .charm-contact-review dd { margin: 0; font-size: 14px; line-height: 1.6; white-space: pre-wrap; overflow-wrap: anywhere; }

#contact-dialog .charm-contact-review-email { color: var(--cc-muted); }

#contact-dialog .charm-contact-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  flex: 0 0 auto;
  padding: 16px 32px;
  border-top: var(--cc-border-width) solid var(--cc-line);
}

#contact-dialog .charm-contact-preview-note { margin: 0; color: var(--cc-muted); font-size: 10px; line-height: 1.5; }

#contact-dialog .charm-contact-feedback { min-width: 0; max-width: 58ch; }

#contact-dialog .charm-contact-send-error { margin-top: 6px; outline: 0; }

#contact-dialog .charm-contact-success { align-items: flex-start; gap: 20px; }

#contact-dialog .charm-contact-success-mark { display: grid; place-items: center; width: 48px; height: 48px; border: var(--cc-border-width) solid var(--cc-line); border-radius: 50%; color: var(--cc-accent); font-size: 24px; }

#contact-dialog .charm-contact-success p { margin: 0; font-size: 14px; line-height: 1.65; overflow-wrap: anywhere; }

#contact-dialog .charm-contact-success strong { font-weight: 500; }

#contact-dialog .charm-contact-success .charm-contact-reference { color: var(--cc-muted); font-family: var(--font-mono, "Geist Mono", monospace); font-size: 10px; letter-spacing: 0.06em; }

#contact-dialog .charm-contact-reference:empty { display: none; }

#contact-dialog .charm-contact-download { display: inline-flex; min-height: 44px; color: var(--cc-ink); gap: 16px; align-items: center; padding: 8px 0; font-size: 12px; text-align: left; text-decoration: underline; text-underline-offset: 4px; }

#contact-dialog .charm-contact-actions { display: flex; align-items: center; gap: 20px; }

#contact-dialog .charm-contact-back { min-width: 44px; padding: 10px 4px; font-size: 12px; font-weight: 400; white-space: nowrap; }

#contact-dialog .charm-contact-primary { display: inline-flex; align-items: center; justify-content: space-between; gap: 24px; min-width: 152px; padding: 14px 20px; border-radius: var(--cc-radius); background: var(--cc-accent); color: var(--cc-on-accent); font-size: 12px; line-height: 1.5; }

#contact-dialog .charm-contact-arrow { font-size: 18px; font-weight: 400; line-height: 1; }

#contact-dialog .charm-contact-visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); padding: 0; margin: -1px; white-space: nowrap; border: 0; }

@media (hover: hover) and (pointer: fine) {
  #contact-dialog .charm-contact-goal:hover { border-color: var(--cc-accent); }
  #contact-dialog .charm-contact-primary:hover { background: color-mix(in srgb, var(--cc-accent) 89%, var(--cc-ink)); }
  #contact-dialog :is(.charm-contact-close, .charm-contact-back):hover { color: var(--cc-accent); }
}

@media (max-width: 900px) {
  #contact-dialog { width: min(640px, calc(100vw - 24px)); max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px); }
  #contact-dialog .charm-contact-form { height: min(720px, calc(100dvh - 24px)); min-height: 0; max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px); }
  #contact-dialog .charm-contact-topbar { padding: 8px 24px; gap: 16px; }
  #contact-dialog .charm-contact-symbol { width: 27px; height: 27px; }
  #contact-dialog .charm-contact-identity { gap: 12px; }
  #contact-dialog .charm-contact-eyebrow { font-size: 9px; }
  #contact-dialog .charm-contact-layout { grid-template-columns: 1fr; gap: 24px; padding: 12px 24px 24px; }
  #contact-dialog .charm-contact-introduction { gap: 12px; }
  #contact-dialog #charm-contact-title { font-size: 34px; line-height: 1.08; white-space: normal; }
  #contact-dialog #charm-contact-description { max-width: 48ch; font-size: 13px; line-height: 1.5; }
  #contact-dialog .charm-contact-chapter { display: none; }
  #contact-dialog .charm-contact-goal { min-height: 96px; padding: 16px; gap: 12px; }
  #contact-dialog .charm-contact-goal-copy > span { font-size: 14px; }
  #contact-dialog .charm-contact-goal-copy small { font-size: 11px; }
  #contact-dialog .charm-contact-footer { padding: 16px 24px; }
  #contact-dialog .charm-contact-actions { justify-content: space-between; gap: 16px; }
  #contact-dialog .charm-contact-primary { margin-left: auto; min-width: 160px; }
  #contact-dialog .charm-contact-preview-note { font-size: 9px; }
  #contact-dialog .charm-contact-panel { gap: 16px; }
}

@media (max-width: 500px) {
  #contact-dialog .charm-contact-topbar { padding-inline: 18px; }
  #contact-dialog .charm-contact-layout { gap: 20px; padding: 8px 18px 20px; }
  #contact-dialog .charm-contact-introduction { gap: 8px; }
  #contact-dialog #charm-contact-title { font-size: 30px; }
  #contact-dialog .charm-contact-goal { min-height: 88px; padding: 12px; gap: 8px; }
  #contact-dialog .charm-contact-goal-copy small { display: none; }
  #contact-dialog .charm-contact-panel { gap: 12px; }
  #contact-dialog .charm-contact-field { gap: 6px; }
  #contact-dialog .charm-contact-field :is(input, textarea, select) { min-height: 44px; padding: 10px 12px; }
  #contact-dialog .charm-contact-field textarea { height: 84px; min-height: 84px; }
  #contact-dialog .charm-contact-review { gap: 14px; }
  #contact-dialog .charm-contact-review > div { gap: 4px; padding-bottom: 12px; }
  #contact-dialog .charm-contact-footer { flex-direction: column; align-items: stretch; gap: 8px; padding: 12px 18px; }
  #contact-dialog .charm-contact-preview-note { text-align: left; }
}

@media (prefers-reduced-motion: reduce) {
  #contact-dialog[open] { animation: charm-contact-backdrop var(--cc-duration-press) ease-out both; }
  #contact-dialog[open]::backdrop { animation-duration: var(--cc-duration-press); }
  #contact-dialog button { transition-duration: 0ms; }
  #contact-dialog button:active { transform: none; }
  #contact-dialog[data-input="keyboard"],
  #contact-dialog[data-input="keyboard"]::backdrop { animation: none; }
}

@keyframes charm-contact-enter {
  from { opacity: 0; transform: translateY(8px) scale(0.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes charm-contact-backdrop {
  from { opacity: 0; }
  to { opacity: 1; }
}

#contact-dialog .charm-contact-privacy{display:inline-flex;align-items:center;min-height:44px;color:var(--cc-ink);font-size:11px;text-decoration:underline;text-underline-offset:3px}

/* The footer uses the existing ink and paper palette, with light focus states. */
.connected .x-footer {
  --footer-bg: var(--c-ink);
  --footer-fg: var(--c-bg);
  --footer-muted: color-mix(in srgb, var(--footer-fg) 65%, var(--footer-bg));
  --footer-line: color-mix(in srgb, var(--footer-fg) 22%, var(--footer-bg));
  padding: 64px 5% 20px;
  color: var(--footer-fg);
  background: var(--footer-bg);
}
.connected .x-footer-top { display: grid; grid-template-columns: 1.5fr .8fr 1fr; gap: 48px; }
.connected .x-footer-label { color: var(--footer-muted); font: 10px/1.5 var(--font-mono); letter-spacing: .07em; }
.connected .x-footer-signoff { margin-top: 24px; font-size: clamp(24px, 2.4vw, 36px); line-height: 1.18; letter-spacing: -.035em; }
.connected .x-footer-contact { display: inline-flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 48px; margin-top: 26px; padding: 12px 16px; border: 1px solid var(--footer-line); border-radius: var(--c-radius); color: inherit; background: transparent; font-size: 14px; }
.connected .x-footer-contact svg { width: 20px; height: 20px; flex: none; }
.connected .x-footer ul { list-style: none; margin: 18px 0 0; padding: 0; }
.connected .x-footer li a { display: flex; align-items: center; width: fit-content; min-height: 44px; padding: 6px 0; font-size: 14px; line-height: 22px; }
.connected .x-footer-logo { display: flex; align-items: center; width: 141px; min-height: 44px; }
.connected .x-footer-logo span, .connected .x-footer-logo svg { display: block; width: 100%; height: auto; }
.connected .x-footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 24px; border-top: 1px solid var(--footer-line); margin-top: 40px; padding-top: 16px; color: var(--footer-muted); font: 10px/1.5 var(--font-mono); }
.connected .x-footer-bottom a { display: inline-flex; align-items: center; gap: 24px; min-height: 44px; color: var(--footer-fg); }
.connected .x-footer-bottom a span { font: 20px/1 var(--font-sans); }
.connected .x-footer :is(a, button):focus-visible { outline-color: var(--footer-fg); }
.connected .c-close { padding-bottom: 75px; }
@media (hover: hover) and (pointer: fine) {
  .connected .x-footer li a:hover, .connected .x-footer-bottom a:hover { text-decoration: underline; text-underline-offset: 5px; }
  .connected .x-footer-contact:hover { background: var(--footer-fg); color: var(--footer-bg); border-color: var(--footer-fg); }
}
@media (min-width: 1600px) {
  .connected .x-footer { padding-inline: max(5%, calc((100vw - 1440px)/2)); }
}
@media (max-width: 900px) {
  .connected .x-footer-top { grid-template-columns: 1.25fr .7fr 1fr; gap: 28px; }
  .connected .x-footer-contact { gap: 16px; padding-inline: 12px; font-size: 13px; }
  .connected .x-footer-disciplines { display: none; }
}
@media (max-width: 620px) {
  .connected .x-footer { padding: 42px 6% 16px; }
  .connected .x-footer-top { grid-template-columns: .8fr 1.2fr; column-gap: 24px; row-gap: 36px; }
  .connected .x-footer-intro { grid-column: 1 / -1; }
  .connected .x-footer-signoff { margin-top: 20px; font-size: 30px; }
  .connected .x-footer-contact { margin-top: 22px; font-size: 14px; padding-inline: 16px; }
  .connected .x-footer ul { margin-top: 14px; }
  .connected .x-footer li a { font-size: 13px; line-height: 20px; }
  .connected .x-footer-bottom { margin-top: 26px; padding-top: 10px; gap: 16px; font-size: 9px; }
  .connected .c-close { padding-bottom: 54px; }
}

.connected .x-footer-legal{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-top:40px;padding-top:24px;border-top:1px solid var(--footer-line)}
.connected .x-footer-legal>p{max-width:660px;color:var(--footer-muted);font-size:12px;line-height:20px}
.connected .x-footer-legal nav{display:flex;flex-wrap:wrap;gap:0 20px;justify-content:flex-end}
.connected .x-footer-legal :is(a,button){display:inline-flex;align-items:center;min-height:44px;padding:5px 0;border:0;background:none;color:var(--footer-fg);font-size:12px;line-height:20px;cursor:pointer}
.connected .x-footer-legal+.x-footer-bottom{margin-top:20px}
@media(max-width:900px){.connected .x-footer-legal{display:block}.connected .x-footer-legal nav{justify-content:flex-start;margin-top:14px}}

/* One graphic system: cobalt geometry and fine paths. No pixel or shimmer backgrounds. */
.connected{--duration-graphic-cycle:10000ms;--g-paper:var(--c-bg);--g-accent:var(--accent);--g-ink:var(--c-ink);--g-line:#bbc4d3;--g-muted:var(--c-muted);--g-tint:#e4eaff}
.connected{--duration-graphic-hero:12000ms;--duration-graphic-find:10000ms;--duration-graphic-experience:9000ms;--duration-graphic-connect:11000ms;--duration-graphic-approach:13000ms;--duration-journey-morph:600ms;--ease-in-out-strong:cubic-bezier(.77,0,.175,1)}
.connected [data-motion="hero-browser"],.connected [data-motion="hero-selection"],.connected [data-motion="experience-cta"],.connected [data-motion="experience-check"],.connected [data-motion="approach-hub"],.connected [data-motion="approach-card"]{transform-box:fill-box;transform-origin:center}
.connected [data-motion="connect-report-bar"]{transform-box:fill-box;transform-origin:center bottom}
.connected .g-graphic{width:100%;height:100%;min-width:0;position:relative}
.connected .g-art text{font-family:var(--font-sans)}
.connected .g-art .g-ui-meta{font-family:var(--font-mono);letter-spacing:.4px}
.connected .g-art{width:100%;height:100%;display:block;overflow:hidden}
.connected .g-hero{max-width:650px;margin-inline:auto;width:100%}
.connected .g-hero>.g-graphic{aspect-ratio:1.075;height:auto}
.connected .g-hero-caption{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:18px;margin-inline:5%;border-top:1px solid var(--c-line)}
.connected .g-hero-caption>span{display:flex;align-items:center;gap:12px;font:9px var(--font-mono);color:var(--c-muted);white-space:nowrap}
.connected .g-hero-caption i{height:1px;width:14px;background:var(--c-line)}
.connected .g-motion-control{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;white-space:nowrap;font:10px var(--font-mono);color:var(--c-muted);background:transparent;border:0;padding:8px 0}
.connected .g-motion-control[hidden]{display:none}
.connected .g-motion-control svg{width:12px;height:12px;flex:none}
.connected .g-play,.connected .g-motion-control[data-paused=true] .g-pause{display:none}
.connected .g-motion-control[data-paused=true] .g-play{display:block}
.connected .j-journey{--g-paper:var(--c-soft)}
.connected .j-stage-canvas{margin:24px 0;aspect-ratio:1.25}
.connected .j-stage-scene .g-graphic{height:100%}
.connected .j-stage-meta{align-items:center;padding-bottom:10px}
.connected .j-stage-meta>span{display:flex;align-items:center;gap:18px}
.connected .j-stage-meta .g-motion-control{font-size:9px}
.connected .j-mobile-art{aspect-ratio:1.1}
.connected .g-approach{min-width:0;width:100%;max-width:520px;margin:auto;--g-paper:var(--accent);--g-accent:var(--c-white);--g-ink:var(--c-white);--g-line:var(--c-inverse-line);--g-muted:var(--c-inverse-muted);--g-tint:transparent}
.connected .g-approach>.g-graphic{aspect-ratio:1.1;height:auto}
.connected .g-approach-caption{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--c-inverse-line);margin-inline:4%;padding-top:10px}
.connected .g-approach-caption>span{font:8px var(--font-mono);color:var(--c-inverse-muted);line-height:16px}
.connected .g-approach .g-motion-control{color:var(--c-white);font-size:9px}
@media(hover:hover) and (pointer:fine){.connected .g-motion-control:hover{color:var(--accent)}.connected .g-approach .g-motion-control:hover{color:var(--c-white);text-decoration:underline;text-underline-offset:5px}}
.connected .g-motion-control:active{transform:translateY(1px)}
@media(max-width:1000px){.connected .g-hero-caption{flex-wrap:wrap;justify-content:center;gap:4px 16px;padding-top:10px}.connected .g-hero-caption>span{font-size:8px;gap:8px}.connected .g-hero-caption i{width:10px}.connected .g-hero-caption .g-motion-control{font-size:9px}.connected .j-stage-meta>span{gap:10px}}
@media(max-width:700px){.connected .g-hero{max-width:510px}.connected .g-hero-caption{flex-wrap:nowrap;justify-content:space-between;margin-inline:0}.connected .j-mobile-art{margin:30px 0 0}.connected .g-approach{max-width:440px}.connected .g-approach-caption{margin-inline:0}.connected .j-mobile-control{display:flex;justify-content:flex-end;margin-top:8px}}
@media(min-width:701px){.connected .j-mobile-control{display:none}}

/* A nonblocking choice; acceptance and rejection have equal prominence. */
.p-privacy-notice,.p-cookie-dialog{box-sizing:border-box;background:var(--c-bg,#f7f8f4);color:var(--c-ink,#182023);font-family:var(--font-sans,Arial,sans-serif);font-weight:400;border:1px solid var(--c-line,#d9ded8);border-radius:4px}
.p-privacy-notice{position:fixed;z-index:60;right:24px;bottom:24px;width:min(420px,calc(100vw - 48px));padding:22px;box-shadow:0 8px 30px #18202312}
.p-privacy-notice[hidden]{display:none!important}
.p-privacy-notice h2,.p-cookie-dialog h2{margin:0;font-weight:400;letter-spacing:-.035em;line-height:1.15}
.p-privacy-notice h2{font-size:22px}
.p-privacy-notice p{margin:12px 0 0;font-size:13px;line-height:1.55;color:var(--c-muted,#626b6b)}
.p-privacy-actions{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;gap:10px;margin-top:18px}
.p-privacy-button{min-height:44px;padding:10px 14px;border:1px solid var(--c-line,#d9ded8);border-radius:3px;background:transparent;color:inherit;font:400 13px var(--font-sans,Arial,sans-serif);cursor:pointer}
.p-privacy-primary{background:var(--c-ink,#182023);border-color:var(--c-ink,#182023);color:var(--c-bg,#f7f8f4)}
.p-cookie-dialog{width:min(580px,calc(100vw - 40px));max-height:calc(100svh - 40px);margin:auto;padding:28px;overflow:auto;overscroll-behavior:contain}
.p-cookie-dialog::backdrop{background:#18202366}
.p-cookie-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}
.p-cookie-dialog h2{font-size:32px;outline:none}
.p-cookie-close{display:flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;border:0;border-radius:3px;background:transparent;color:inherit;font:400 28px var(--font-sans,Arial,sans-serif);cursor:pointer}
.p-cookie-dialog p{margin:0;font-size:14px;line-height:1.6;color:var(--c-muted,#626b6b)}
.p-cookie-categories{margin:24px 0;border-top:1px solid var(--c-line,#d9ded8)}
.p-cookie-categories>div{padding:18px 0;border-bottom:1px solid var(--c-line,#d9ded8)}
.p-cookie-categories dt{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:15px}
.p-cookie-categories dt span{flex:none;font:10px var(--font-mono,monospace);color:var(--c-muted,#626b6b)}
.p-cookie-categories dd{margin:9px 0 0;font-size:13px;line-height:1.55;color:var(--c-muted,#626b6b)}
.p-cookie-dialog .p-cookie-detail{font-size:12px}
.p-cookie-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px}
.p-cookie-footer a{display:inline-flex;align-items:center;min-height:44px;color:inherit;font-size:13px;text-decoration:underline;text-underline-offset:4px}
:is(.p-privacy-notice,.p-cookie-dialog) :is(a,button,input):focus-visible{outline:3px solid var(--accent,#315cf5);outline-offset:4px}
:is(.p-privacy-notice,.p-cookie-dialog) button:active{transform:scale(.97)}
.p-privacy-status{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(hover:hover) and (pointer:fine){.p-privacy-button:hover,.p-cookie-close:hover{border-color:var(--c-ink,#182023)}.p-privacy-primary:hover{background:var(--accent,#315cf5);border-color:var(--accent,#315cf5)}}
@media(max-width:620px){.p-privacy-notice{right:16px;bottom:16px;width:calc(100vw - 32px);padding:18px}.p-privacy-notice h2{font-size:21px}.p-privacy-actions{gap:8px}.p-privacy-button{padding-inline:13px}.p-cookie-dialog{width:calc(100vw - 24px);max-height:calc(100svh - 24px);padding:22px}.p-cookie-dialog h2{font-size:27px}.p-cookie-categories dt{font-size:14px;gap:10px}}
@media(prefers-reduced-motion:reduce){.p-privacy-notice,.p-cookie-dialog,.p-privacy-button,.p-cookie-close{animation:none!important;transition:none!important}}

.p-privacy-settings{grid-column:1/-1;justify-self:center;min-height:44px;padding:8px 12px;border:0;background:transparent;color:inherit;font:inherit;font-size:13px;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.p-cookie-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;width:100%;cursor:pointer;position:relative}
.p-cookie-categories .p-cookie-toggle>span:first-child{font:inherit;color:inherit}
.p-cookie-toggle input{position:absolute;right:0;width:44px;height:28px;margin:0;opacity:0;cursor:pointer}
.p-cookie-switch{display:block;position:relative;width:44px;height:26px;border-radius:20px;background:var(--c-line,#d9ded8);border:1px solid var(--c-muted,#626b6b);pointer-events:none}
.p-cookie-switch::after{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:var(--c-bg,#f7f8f4)}
.p-cookie-toggle input:checked+.p-cookie-switch{background:var(--c-ink,#182023);border-color:var(--c-ink,#182023)}
.p-cookie-toggle input:checked+.p-cookie-switch::after{left:21px}
.p-cookie-toggle input:focus-visible+.p-cookie-switch{outline:3px solid var(--accent,#315cf5);outline-offset:4px}
@media(max-width:380px){.p-privacy-notice .p-privacy-button{padding-inline:7px;font-size:13px}.p-cookie-footer{flex-wrap:wrap;gap:10px}}

#charm-legal-dialog{--l-paper:#f7f8f4;--l-ink:#182023;--l-muted:#626b6b;--l-line:#d9dfd8;--l-accent:#315cf5;box-sizing:border-box;width:min(1000px,calc(100vw - 48px));max-width:none;height:min(920px,calc(100vh - 48px));height:min(920px,calc(100dvh - 48px));max-height:none;padding:0;margin:auto;border:1px solid var(--l-line);border-radius:4px;background:var(--l-paper);color:var(--l-ink);font:16px/1.65 var(--font-sans,"Geist",Arial,sans-serif);overflow:hidden;color-scheme:light;box-shadow:0 24px 90px rgb(0 0 0 / 18%)}
#charm-legal-dialog::backdrop{background:rgb(13 17 21 / 62%)}
#charm-legal-dialog *,#charm-legal-dialog *::before,#charm-legal-dialog *::after{box-sizing:border-box}
#charm-legal-dialog [hidden]{display:none!important}
#charm-legal-dialog .l-shell{height:100%;display:flex;flex-direction:column}
#charm-legal-dialog .l-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 36px;border-bottom:1px solid var(--l-line);flex:none}
#charm-legal-dialog .l-topbar>span{font:10px/1.5 var(--font-mono,monospace);letter-spacing:.055em}
#charm-legal-dialog .l-topbar>span>span{margin:0 10px;color:var(--l-muted)}
#charm-legal-dialog button{font:inherit;cursor:pointer}
#charm-legal-dialog .l-close{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:6px 0 6px 12px;border:0;background:transparent;color:var(--l-ink);font-size:13px}
#charm-legal-dialog .l-close svg{width:20px;height:20px}
#charm-legal-dialog .l-navigation{display:flex;gap:28px;padding:0 36px;border-bottom:1px solid var(--l-line);flex:none}
#charm-legal-dialog .l-navigation a{display:flex;align-items:center;min-height:54px;color:var(--l-muted);font-size:14px;text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-1px}
#charm-legal-dialog .l-navigation a[aria-current]{color:var(--l-accent);border-bottom-color:var(--l-accent)}
#charm-legal-dialog .l-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:42px 70px 32px;scrollbar-gutter:stable}
#charm-legal-dialog .l-date{font:10px/1.6 var(--font-mono,monospace);color:var(--l-muted);margin:0 0 18px}
#charm-legal-dialog h2{font-size:clamp(34px,4.5vw,56px);font-weight:500;line-height:1.08;letter-spacing:-.055em;margin:0}
#charm-legal-dialog .l-summary{font-size:18px;line-height:1.55;color:var(--l-muted);margin:20px 0 36px;max-width:580px;text-wrap:pretty}
#charm-legal-dialog .l-content{max-width:72ch}
#charm-legal-dialog .l-content section+section{margin-top:34px;padding-top:28px;border-top:1px solid var(--l-line)}
#charm-legal-dialog h3{font-size:19px;font-weight:500;line-height:1.4;letter-spacing:-.02em;margin:0 0 13px}
#charm-legal-dialog p{margin:0 0 16px}
#charm-legal-dialog .l-content p:last-child{margin-bottom:0}
#charm-legal-dialog ul{padding-left:22px;margin:16px 0}
#charm-legal-dialog li+li{margin-top:12px}
#charm-legal-dialog strong{font-weight:600}
#charm-legal-dialog a,#charm-legal-dialog .l-text-button{color:var(--l-accent);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;overflow-wrap:anywhere}
#charm-legal-dialog .l-text-button{border:0;background:transparent;padding:0;text-align:left;min-height:44px}
#charm-legal-dialog .l-callout{padding:18px 22px;margin:22px 0;border-left:2px solid var(--l-accent);background:#eef1fc}
#charm-legal-dialog .l-callout p{margin:0}
#charm-legal-dialog code{font:13px/1.6 var(--font-mono,monospace);overflow-wrap:anywhere}
#charm-legal-dialog .l-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;border-top:1px solid var(--l-line);margin-top:38px;padding-top:24px;font-size:12px;color:var(--l-muted)}
#charm-legal-dialog :focus-visible{outline:2px solid var(--l-accent);outline-offset:4px}
#charm-legal-dialog h2:focus{outline:none}
#charm-legal-dialog .l-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
#charm-legal-dialog .l-route-anchor{position:absolute;top:0;left:0;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#charm-legal-dialog .l-route-anchor:focus{outline:none}
#charm-legal-dialog button:active{transform:scale(.97)}
@media(hover:hover) and (pointer:fine){#charm-legal-dialog .l-close:hover{color:var(--l-accent)}#charm-legal-dialog .l-content a:hover,#charm-legal-dialog .l-text-button:hover{text-decoration-thickness:2px}}
@media(max-width:700px){#charm-legal-dialog{width:100%;height:100vh;height:100dvh;border:0;border-radius:0}#charm-legal-dialog .l-topbar{padding:10px 22px}#charm-legal-dialog .l-topbar>span{font-size:9px}#charm-legal-dialog .l-navigation{padding:0 22px;gap:24px}#charm-legal-dialog .l-navigation a{font-size:13px;min-height:50px}#charm-legal-dialog .l-scroll{padding:30px 24px}#charm-legal-dialog h2{font-size:39px}#charm-legal-dialog .l-summary{font-size:17px;margin-bottom:30px}#charm-legal-dialog .l-content{font-size:15px;line-height:1.7}#charm-legal-dialog h3{font-size:18px}#charm-legal-dialog .l-callout{padding:16px;margin-block:20px}#charm-legal-dialog .l-bottom{gap:6px}}
