/* Xdot Studio — public site. Intentionally independent of portal styles. */
:root{--paper:#f8f8f5;--white:#fff;--ink:#171717;--muted:#62625e;--line:#deded8;--soft:#eeeee8;--radius:24px;--font:"Montserrat",Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}
::selection{color:var(--paper);background:var(--ink)}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
img,svg{max-width:100%;display:block}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:5px}
p,h1,h2,h3{margin:0}
.wrap{width:calc(100% - 96px);max-width:1376px;margin-inline:auto}
.section{padding-block:112px}
.eyebrow{font-size:10px;line-height:1.7;font-weight:600;letter-spacing:1.6px;text-transform:uppercase}
.skip-link{position:fixed;left:20px;top:-80px;z-index:100;background:var(--ink);color:white;padding:16px;border-radius:8px}
.skip-link:focus{top:16px}
.site-header{position:relative;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:32px;width:calc(100% - 64px);max-width:1440px;min-height:84px;margin:24px auto 0;padding:20px 28px;background:var(--white);border:1px solid var(--line);border-radius:60px}
.brand{display:block;flex:0 0 auto}
.brand img{width:145px;height:auto}
.site-nav{display:flex;align-items:center;gap:34px}
.site-nav a{font-size:11px;font-weight:500;position:relative;line-height:1.5}
.site-nav a:not(.portal-link)::after{content:"";height:1px;background:currentColor;position:absolute;bottom:-7px;left:0;right:100%;transition:right .2s}
.site-nav a:hover::after{right:0}
.site-nav .portal-link{border-left:1px solid var(--line);padding-left:30px;display:flex;gap:20px;align-items:center}
.portal-link span{font-size:19px}
.nav-toggle{display:none}
.hero{display:grid;grid-template-columns:1.12fr 1fr;align-items:center;gap:56px;padding-top:74px;padding-bottom:80px}
.hero-copy>.eyebrow{display:flex;align-items:center;gap:9px;margin-bottom:26px}
.signal,.label-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor;flex:0 0 auto}
h1{font-size:clamp(64px,6.75vw,100px);font-weight:600;letter-spacing:-6px;line-height:1.055}
.hero-last{position:relative;display:inline-block}
.hero-last svg{position:absolute;bottom:-8px;left:0;width:100%;height:18px;overflow:visible;fill:none;stroke:var(--ink);stroke-width:2.5;stroke-linecap:round}
.hero-description{max-width:480px;margin-top:32px;color:var(--muted);font-size:14px;line-height:1.9}
.hero-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:28px}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:18px 23px;min-height:54px;border:1px solid transparent;border-radius:99px;font-size:11px;font-weight:600;line-height:1.5;transition:background .2s,transform .2s;max-width:100%}
.button:hover{transform:translateY(-3px)}
.button span{font-size:19px;line-height:1}
.button-dark{background:var(--ink);color:var(--white)}
.button-dark:hover{background:#353532}
.button-outline{border-color:#c8c8c1}
.button-outline:hover{background:var(--white)}
.button-light{background:var(--paper);color:var(--ink)}
.text-link{display:inline-flex;align-items:center;gap:20px;min-height:44px;font-size:11px;font-weight:600}
.text-link span{font-size:20px;transition:transform .2s}
.text-link:hover span{transform:translate(3px,-3px)}
.hero-footnote{display:flex;align-items:center;gap:10px;margin-top:42px;font-size:10px;color:var(--muted)}
.mini-star{font-size:24px;line-height:1;color:var(--ink)}
.hero-art{position:relative;isolation:isolate;aspect-ratio:.94;max-height:590px;width:100%;border-radius:var(--radius);background:#171817;color:var(--paper);overflow:hidden;background-image:linear-gradient(#ffffff05 1px,transparent 1px),linear-gradient(90deg,#ffffff05 1px,transparent 1px);background-size:54px 54px}
.art-topline,.art-bottomline{position:absolute;left:28px;right:28px;display:flex;align-items:center;justify-content:space-between;z-index:3;font-size:8px;letter-spacing:1.3px}
.art-topline{top:29px;color:#b7b8b2}
.art-bottomline{bottom:24px;color:#b7b8b2}
.art-star{font-size:34px;font-weight:400;color:var(--paper)}
.art-mark{position:absolute;top:4%;left:-13%;width:126%;height:auto;max-width:none;mix-blend-mode:screen;filter:invert(1);transform:rotate(-12deg);animation:mark-arrive 1.2s cubic-bezier(.2,.7,.3,1) both}
.orbit{position:absolute;left:9%;top:15%;width:82%;height:70%;border:1px solid #ffffff19;border-radius:50%;z-index:2;pointer-events:none}
.orbit-one{transform:rotate(-35deg) scaleY(.6)}
.orbit-two{transform:rotate(48deg) scaleY(.7);border-style:dashed}
.art-cross{position:absolute;color:#8d8f87;font-size:18px;font-weight:400;z-index:3}
.art-cross-one{top:17%;left:15%}.art-cross-two{right:13%;bottom:20%}
.floating-label{position:absolute;z-index:3;display:flex;align-items:center;gap:9px;padding:12px 17px;border-radius:99px;font-size:10px;font-weight:500;box-shadow:0 10px 40px #0002;white-space:nowrap}
.floating-label-one{top:21%;right:6%;background:var(--paper);color:var(--ink);transform:rotate(7deg)}
.floating-label-two{bottom:19%;left:6%;border:1px solid #66675f;background:#252624;transform:rotate(-6deg)}
.code-mark{font-family:monospace;font-size:15px;margin-right:5px}
.capabilities{display:flex;justify-content:space-between;align-items:center;gap:22px;padding-block:29px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:10px;font-weight:500;letter-spacing:1px}
.capabilities [aria-hidden]{font-size:21px;font-weight:400}
.section-heading>.eyebrow{margin-bottom:25px;color:var(--muted)}
.heading-row{display:flex;justify-content:space-between;align-items:flex-end;gap:70px}
h2{font-size:clamp(32px,3.55vw,52px);line-height:1.15;font-weight:500;letter-spacing:-2.1px}
.heading-row>p{max-width:355px;color:var(--muted);font-size:13px;line-height:1.9}
.service-grid{margin-top:48px;display:grid;grid-template-columns:1fr 1fr;gap:24px}
.service-feature{min-width:0;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.service-art{position:relative;height:330px;overflow:hidden}
.web-art{background:#e8e8e0;padding:40px 34px}
.browser-preview{position:relative;width:91%;background:var(--paper);border:1px solid #d1d1c9;border-radius:10px;box-shadow:0 18px 35px #343a2322;transform:rotate(-4deg);transform-origin:50% 50%;transition:transform .5s}
.service-feature:hover .browser-preview{transform:rotate(-1deg) translateY(-3px)}
.browser-top{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:10px 14px;font-size:7px;color:#787a72}
.browser-dots{font-size:6px;letter-spacing:3px}
.browser-content{padding:18px}
.sample-nav{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:5px}
.sample-nav strong{font-size:10px;letter-spacing:-.6px}
.sample-body{display:grid;grid-template-columns:1fr .7fr;gap:8px;padding-block:27px 12px}
.sample-label{font-size:4.5px;letter-spacing:1px;display:block;margin-bottom:9px}
.sample-body strong{display:block;font-size:27px;line-height:1.08;letter-spacing:-1.4px;font-weight:600}
.sample-button{display:inline-block;margin-top:13px;padding:7px 10px;border-radius:20px;background:var(--ink);color:var(--white);font-size:5px}
.sample-sculpture{position:relative;display:flex;align-items:center;justify-content:center}
.sample-sculpture i{display:block;width:34px;height:125px;background:#bbbdb1;border:1px solid #93978b;transform:skewY(-25deg);margin-left:-4px}
.sample-sculpture i:nth-child(2){background:#cbd0be;height:100px}
.sample-sculpture i:nth-child(3){background:#dce0d1;height:75px}
.sample-sculpture span{position:absolute;right:0;top:0;font-size:33px}
.phone-preview{position:absolute;right:33px;bottom:28px;width:112px;height:201px;padding:19px 11px 10px;border:5px solid #242522;background:#d6dbc8;border-radius:21px;transform:rotate(8deg);box-shadow:0 10px 30px #0002;overflow:hidden;transition:transform .5s}
.service-feature:hover .phone-preview{transform:rotate(3deg) translateY(-4px)}
.phone-speaker{position:absolute;width:28px;height:5px;top:4px;background:#242522;left:calc(50% - 14px);border-radius:9px}
.phone-preview>span{display:block;font-size:7px;font-weight:600;letter-spacing:-.4px}
.phone-preview strong{font-size:18px;line-height:1.1;letter-spacing:-.8px;display:block;margin-top:15px}
.phone-star{position:absolute;right:5px;bottom:13px;font-size:45px}
.phone-preview .phone-link{position:absolute;bottom:16px;font-size:5px;letter-spacing:0}
.art-caption{position:absolute;left:30px;bottom:19px;font-size:7px;letter-spacing:.9px;color:#676a5f}
.service-copy{padding:30px}
.service-index{display:block;font-size:8px;line-height:1.6;letter-spacing:1.3px;font-weight:600;color:var(--muted);margin-bottom:12px}
.service-copy h3{font-size:25px;letter-spacing:-1px;font-weight:500;line-height:1.3}
.service-copy>p{margin-top:12px;color:var(--muted);font-size:12px;line-height:1.9;max-width:480px}
.service-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:24px}
.tags{display:flex;gap:7px;flex-wrap:wrap}
.tags span{border:1px solid var(--line);border-radius:30px;padding:7px 10px;font-size:8px;line-height:1.5}
.circle-link{display:grid;place-items:center;min-width:42px;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);font-size:23px;transition:background .2s,color .2s}
.circle-link:hover{background:var(--ink);color:white}
.software-art{background:#212321;color:#edece7;display:grid;align-content:center;padding:25px 20px}
.flow-label{font-size:7px;letter-spacing:1.1px;display:flex;align-items:center;gap:8px;position:absolute;top:27px;left:28px;color:#b9bcb2}
.flow-map{position:relative;width:100%;height:224px}
.flow-connections{position:absolute;inset:0;width:100%;height:100%;stroke:#5a5f55;stroke-width:1;stroke-dasharray:4 5;fill:none;z-index:0}
.flow-center{position:absolute;top:calc(50% - 35px);left:calc(50% - 35px);width:70px;height:70px;border:1px solid #767a70;z-index:2;border-radius:16px;overflow:hidden;background:#f9f9f5;box-shadow:0 0 0 9px #ffffff06,0 0 0 18px #ffffff03}
.flow-center img{width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply}
.flow-node{position:absolute;z-index:1;padding:12px;border:1px solid #55584f;border-radius:8px;background:#2b2e29;display:flex;align-items:center;gap:8px;font-size:8px;white-space:nowrap}
.flow-node span{font-size:17px;line-height:1;color:#bcc4ae}
.flow-node-top{top:9px;left:50%;transform:translateX(-50%)}
.flow-node-bottom{bottom:9px;left:50%;transform:translateX(-50%)}
.flow-node-left{left:5px;top:50%;transform:translateY(-50%)}
.flow-node-right{right:5px;top:50%;transform:translateY(-50%)}
.code-note{position:absolute;bottom:15px;left:29px;font-size:8px;line-height:1.9;font-family:monospace;letter-spacing:.3px;color:#b7bbb0}
.code-note span{color:#686e61;margin-right:15px}
.code-note b{font-weight:400;color:#eef1e8}
.service-support{display:grid;grid-template-columns:52px 1.2fr 1fr auto;align-items:center;gap:25px;margin-top:26px;padding:28px 0;border-bottom:1px solid var(--line)}
.support-symbol{font-size:44px;line-height:1}
.service-support .service-index{margin-bottom:7px}
.service-support h3{font-size:17px;letter-spacing:-.6px;font-weight:500;line-height:1.4}
.service-support>p{font-size:11px;line-height:1.8;color:var(--muted);max-width:300px}
.process-band{background:#eaeae3}
.process-list{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;padding:0;margin:58px 0 0;list-style:none}
.process-list li{position:relative;border-top:1px solid #bdbeb4;padding-top:24px;display:flex;flex-direction:column;align-items:flex-start}
.step-number{display:inline-grid;place-items:center;border:1px solid #b7b9ae;border-radius:50%;width:36px;height:36px;font-size:10px;margin-bottom:38px}
.process-list h3{font-size:17px;font-weight:500;letter-spacing:-.6px;line-height:1.4;margin-bottom:12px}
.process-list p{font-size:11px;line-height:1.9;color:var(--muted);margin-bottom:26px}
.step-output{display:block;font-size:9px;line-height:1.6;margin-top:auto;border-bottom:1px solid #b8baaf;padding-bottom:6px;font-weight:500}
.studio{display:grid;grid-template-columns:1fr 1fr;gap:96px;align-items:center}
.studio-art{position:relative;display:grid;place-items:center;aspect-ratio:1.12;background:#eeeee8;border-radius:var(--radius);overflow:hidden}
.studio-art-label,.studio-art-bottom{position:absolute;left:26px;font-size:7px;letter-spacing:1px;color:var(--muted)}
.studio-art-label{top:27px}.studio-art-bottom{bottom:27px}
.venn{width:90%;height:65%;position:relative;isolation:isolate}
.venn-circle{position:absolute;width:64%;aspect-ratio:1;border-radius:50%;top:50%;transform:translateY(-50%)}
.venn-design{left:0;border:1px solid #9da18f;background:#dbded3}
.venn-code{right:0;background:#333a32;mix-blend-mode:multiply}
.venn-word{position:absolute;top:50%;transform:translateY(-50%);font-size:19px;letter-spacing:-.8px}
.venn-word-left{left:10%}.venn-word-right{right:10%;color:#f0f0e8}
.venn-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:50px;color:#f0f0e8}
.studio-copy>.eyebrow{margin-bottom:24px;color:var(--muted)}
.studio-copy h2{font-size:clamp(32px,3.1vw,46px);letter-spacing:-1.8px;margin-bottom:24px}
.studio-copy h2>span{color:#777b70}
.studio-copy>p:not(.eyebrow){font-size:12px;line-height:1.9;color:var(--muted);margin-top:16px;max-width:470px}
.studio-copy .text-link{margin-top:17px}
.client-space{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:30px;padding:30px 34px;border:1px solid var(--line);border-radius:20px}
.portal-icon{display:grid;place-items:center;width:48px;height:48px;border:1px solid #cbcec2;border-radius:13px;font-size:28px}
.client-space .eyebrow{font-size:8px;color:var(--muted);letter-spacing:1px;margin-bottom:9px}
.client-space h2{font-size:20px;letter-spacing:-.6px;font-weight:500}
.client-space p:not(.eyebrow){font-size:11px;line-height:1.8;color:var(--muted);margin-top:9px;max-width:560px}
.faq{display:grid;grid-template-columns:1fr 1.15fr;gap:100px}
.faq .eyebrow{color:var(--muted);margin-bottom:24px}
.faq h2{font-size:38px;letter-spacing:-1.6px}
.faq-intro{margin-top:26px;font-size:12px;color:var(--muted);line-height:1.9}
.faq-intro a{text-decoration:underline;text-underline-offset:4px;color:var(--ink)}
.faq-list details{border-top:1px solid var(--line)}
.faq-list details:last-child{border-bottom:1px solid var(--line)}
.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:25px;list-style:none;padding:24px 0;font-size:12px;font-weight:500;line-height:1.6;cursor:pointer}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary span{font-size:24px;font-weight:400;flex-shrink:0;transition:transform .2s}
.faq-list details[open] summary span{transform:rotate(45deg)}
.faq-list details>p{padding:0 36px 24px 0;font-size:12px;line-height:1.9;color:var(--muted)}
.contact-section{background:var(--ink);color:var(--paper)}
.contact-content{padding-top:72px;padding-bottom:65px}
.contact-top{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:30px}
.contact-top>.eyebrow{color:#b8bab0;font-size:9px}
.contact-top>span{font-size:52px;font-weight:400;line-height:1}
.contact-content h2{font-size:clamp(55px,7.2vw,106px);letter-spacing:-5px;line-height:1.03;font-weight:500}
.contact-content h2>span{color:#a4a99a}
.contact-bottom{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-top:46px}
.contact-bottom>p{font-size:13px;line-height:1.9;color:#b8bab0}
.contact-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.contact-email{font-size:11px;min-height:44px;display:inline-flex;align-items:center;gap:14px;text-decoration:underline;text-underline-offset:5px}
.contact-email span{font-size:18px}
.site-footer{padding-top:45px;padding-bottom:24px}
.footer-top{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:36px;border-bottom:1px solid var(--line)}
.footer-top p{font-size:11px;color:var(--muted)}
.footer-top nav{display:flex;gap:22px;font-size:10px}
.footer-top nav a{padding-block:12px}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-top:18px;font-size:8px;color:var(--muted)}
.legal-links{display:flex;gap:22px}
.legal-links button{border:0;background:none;padding:12px 0;color:inherit;font:inherit}
.back-top{font-size:9px;min-height:44px;display:flex;align-items:center;gap:8px;color:var(--ink)}
.legal-modal{width:min(640px,calc(100% - 32px));max-height:85svh;border:1px solid var(--line);border-radius:20px;padding:0;color:var(--ink);background:var(--paper)}
.legal-modal::backdrop{background:#0008;backdrop-filter:blur(4px)}
.modal-panel{padding:35px;position:relative}
.modal-close{position:absolute;top:12px;right:12px;width:40px;height:40px;border:0;background:transparent;font-size:25px;border-radius:50%}
.modal-panel h2{font-size:25px;letter-spacing:-.6px;margin:18px 20px 25px 0}
.modal-copy p{font-size:12px;line-height:1.9;margin-bottom:14px;color:var(--muted)}
.modal-copy a{text-decoration:underline;overflow-wrap:anywhere}
@keyframes mark-arrive{from{opacity:0;transform:translateY(20px) rotate(-4deg)}to{opacity:1;transform:translateY(0) rotate(-12deg)}}
@media(min-width:1650px){.hero{gap:85px;padding-top:92px}.hero-art{max-height:620px}.hero h1{font-size:108px}.service-art{height:370px}.browser-preview{max-width:490px}.sample-body strong{font-size:32px}.phone-preview{height:220px;width:125px}.phone-preview strong{font-size:22px}.phone-star{font-size:52px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.hero{gap:30px;padding-top:58px;padding-bottom:60px}h1{font-size:clamp(58px,7.7vw,84px);letter-spacing:-4px}.hero-art{aspect-ratio:.81}.hero-description{font-size:12px}.hero-actions{gap:13px}.hero-footnote{margin-top:28px}.button{padding:16px 19px;font-size:10px;gap:20px}.site-nav{gap:22px}.site-nav a{font-size:10px}.site-nav .portal-link{padding-left:20px}.heading-row{gap:40px}.heading-row>p{max-width:290px;font-size:12px}.service-support{grid-template-columns:42px 1fr 1fr}.service-support .text-link{grid-column:2/-1}.service-art{height:290px}.web-art{padding:40px 24px}.sample-body strong{font-size:22px}.sample-sculpture i{width:24px;height:100px}.phone-preview{right:18px;width:96px;height:178px}.phone-preview strong{font-size:15px}.phone-star{font-size:38px}.browser-content{padding:14px}.flow-node{padding:10px 7px;font-size:7px;gap:5px}.flow-node-left{left:0}.flow-node-right{right:0}.flow-center{width:56px;height:56px;top:calc(50% - 28px);left:calc(50% - 28px)}.flow-map{height:200px}.service-copy{padding:25px}.service-copy h3{font-size:22px}.service-copy>p{font-size:11px}.process-list{gap:24px}.process-list h3{font-size:15px}.studio{gap:50px}.client-space{grid-template-columns:40px 1fr;gap:20px}.client-space .button{grid-column:2;justify-self:start}.faq{gap:45px}.faq h2{font-size:33px}.contact-actions{gap:12px}.contact-bottom{align-items:flex-start}.contact-actions{flex-direction:column;align-items:flex-start}.footer-top p{font-size:10px}}
@media(max-width:760px){html{scroll-padding-top:25px}.wrap{width:calc(100% - 40px)}.section{padding-block:72px}.site-header{width:calc(100% - 32px);min-height:68px;margin-top:16px;padding:15px 20px;border-radius:28px;flex-wrap:wrap;gap:15px}.brand img{width:120px}.site-nav{width:100%;flex-wrap:wrap;justify-content:space-between;gap:14px;padding-top:10px}.site-nav .portal-link{padding-left:0;border:0}.js-ready .nav-toggle{display:flex;align-items:center;gap:12px;min-height:38px;border:0;border-radius:10px;padding:8px 2px 8px 12px;background:transparent;font-size:10px}.menu-lines{width:17px;height:10px;border-top:1px solid;border-bottom:1px solid}.js-ready .site-nav{display:none;padding:16px 0 2px;border-top:1px solid var(--line);gap:0}.js-ready .site-nav.is-open{display:flex;flex-direction:column;align-items:stretch}.js-ready .site-nav a{font-size:13px;padding:13px 0}.site-nav a::after{display:none}.site-nav .portal-link{justify-content:space-between}.hero{grid-template-columns:1fr;gap:42px;padding-top:42px;padding-bottom:40px}.hero-copy>.eyebrow{font-size:8px;margin-bottom:23px}.hero h1{font-size:clamp(53px,12.8vw,90px);letter-spacing:-3.7px;line-height:1.07}.hero-description{font-size:12px;max-width:440px;margin-top:28px;line-height:1.85}.hero-actions{gap:20px;margin-top:25px}.hero-footnote{font-size:9px;margin-top:28px}.hero-art{aspect-ratio:1.18;max-height:490px}.art-mark{top:-20%;left:-2%;width:104%}.orbit{top:9%;height:85%;left:17%;width:65%}.art-topline{top:23px;font-size:6px;left:23px;right:23px}.art-bottomline{bottom:17px;font-size:6px;left:23px;right:23px}.floating-label{font-size:8px;padding:10px 12px}.floating-label-one{top:24%}.floating-label-two{bottom:20%}.art-star{font-size:28px}.art-cross-one{top:24%;left:10%}.capabilities{display:grid;grid-template-columns:1fr 1fr;gap:17px 18px;padding:23px 0;font-size:8px;letter-spacing:.8px}.capabilities [aria-hidden]{display:none}.capabilities>span:not([aria-hidden])::before{content:"✳";margin-right:9px;font-size:11px}.section-heading>.eyebrow{font-size:8px;margin-bottom:20px}.heading-row{display:block}.heading-row>p{margin-top:20px;max-width:420px;font-size:12px}.heading-row h2,h2{font-size:34px;letter-spacing:-1.5px}.service-grid{grid-template-columns:1fr;gap:22px;margin-top:32px}.service-art{height:320px}.web-art{padding:33px 25px}.browser-preview{max-width:450px;width:85%}.browser-content{padding:16px}.sample-body strong{font-size:27px}.sample-nav strong{font-size:11px}.sample-sculpture i{width:27px;height:115px}.phone-preview{right:27px;bottom:28px;height:195px;width:109px}.phone-preview strong{font-size:18px}.phone-star{font-size:44px}.service-copy{padding:25px}.service-copy h3{font-size:24px;letter-spacing:-.7px}.service-copy>p{font-size:12px}.tags span{font-size:7px}.service-index{font-size:7px}.flow-map{max-width:450px;margin-inline:auto;height:225px}.flow-node{font-size:8px;padding:12px 10px}.flow-center{width:64px;height:64px;top:calc(50% - 32px);left:calc(50% - 32px)}.service-support{grid-template-columns:32px 1fr;gap:15px;padding-block:25px}.support-symbol{font-size:32px;align-self:start}.service-support>p,.service-support>.text-link{grid-column:2;max-width:none}.service-support h3{font-size:18px}.service-support>.text-link{font-size:10px}.process-list{grid-template-columns:1fr 1fr;gap:35px 24px;margin-top:37px}.step-number{margin-bottom:25px}.process-list h3{font-size:17px}.process-list p{font-size:11px}.step-output{font-size:8px}.studio{grid-template-columns:1fr;gap:36px}.studio-art{aspect-ratio:1.3}.studio-copy h2{font-size:36px;letter-spacing:-1.4px}.studio-copy>p:not(.eyebrow){font-size:12px}.studio-copy>.eyebrow{font-size:8px}.studio-art-label,.studio-art-bottom{font-size:6px;left:22px}.client-space{padding:24px;grid-template-columns:1fr;gap:20px}.client-space .button{grid-column:auto}.portal-icon{width:40px;height:40px}.client-space h2{font-size:23px;line-height:1.35;letter-spacing:-.6px}.client-space .eyebrow{font-size:7px}.faq{grid-template-columns:1fr;gap:30px}.faq h2{font-size:33px}.faq>.eyebrow{font-size:8px}.faq-intro{font-size:11px;margin-top:22px}.faq-list summary{font-size:12px;padding:21px 0}.faq-list details>p{font-size:11px;padding-right:15px}.contact-content{padding-block:48px}.contact-top{margin-bottom:32px}.contact-top>.eyebrow{max-width:230px;font-size:7px;line-height:1.8}.contact-top>span{font-size:42px}.contact-content h2{font-size:clamp(43px,10vw,70px);letter-spacing:-2px}.contact-bottom{flex-direction:column;gap:25px;margin-top:30px}.contact-bottom>p{font-size:12px}.contact-actions{align-items:flex-start;gap:16px}.contact-actions .button{font-size:10px;min-height:54px}.contact-email{font-size:11px}.footer-top{flex-wrap:wrap;justify-content:space-between;gap:20px}.footer-top p{order:3;width:100%;font-size:10px}.footer-top nav{gap:16px;font-size:9px}.footer-top .brand img{width:112px}.footer-bottom{flex-wrap:wrap;gap:8px 20px;font-size:8px}.footer-bottom>p{width:100%;padding-block:8px}.legal-links{gap:17px}.back-top{margin-left:auto}.modal-panel{padding:27px}.modal-panel h2{font-size:23px}.modal-copy p{font-size:12px}}
@media(max-width:370px){.hero h1{font-size:49px;letter-spacing:-3px}.hero-actions{gap:8px}.hero-actions .text-link{font-size:10px}.hero-art{aspect-ratio:1.02}.art-mark{top:-8%}.service-art{height:270px}.browser-preview{width:92%}.browser-content{padding:12px}.sample-body strong{font-size:21px}.sample-sculpture i{width:18px}.phone-preview{right:15px;height:175px;width:94px}.phone-preview strong{font-size:15px}.phone-star{font-size:37px}.flow-node{font-size:6.5px;padding:10px 7px}.flow-node span{font-size:13px}.software-art{padding-inline:13px}.flow-center{width:50px;height:50px;top:calc(50% - 25px);left:calc(50% - 25px)}.flow-map{height:196px}.process-list{grid-template-columns:1fr}.process-list li{padding-top:20px}.step-number{margin-bottom:18px}.process-list p{max-width:270px}.venn-word{font-size:16px}.service-copy h3{font-size:21px}.service-copy{padding:22px}.service-bottom{gap:8px}.tags{gap:5px}.tags span{padding:5px 7px}}
/* Keep real content comfortably readable; small type is reserved for artwork. */
.service-copy>p,.studio-copy>p:not(.eyebrow),.faq-list details>p{font-size:14px}
.service-support>p,.process-list p,.client-space p:not(.eyebrow),.faq-intro{font-size:13px}
.faq-list summary{font-size:14px}
.heading-row>p{font-size:14px}
.service-index{font-size:9px}
.tags span{font-size:9px}
.step-output{font-size:10px}
.footer-bottom{font-size:10px}
.legal-links button{min-height:44px}
.footer-top nav a{min-height:44px;display:inline-flex;align-items:center}
.site-nav a{min-height:44px;display:inline-flex;align-items:center}
@media(max-width:760px){.hero-description{font-size:14px}.hero-footnote{font-size:10px}.hero-actions .text-link{font-size:11px}.js-ready .nav-toggle{min-height:44px}.service-copy>p,.studio-copy>p:not(.eyebrow),.faq-list details>p,.heading-row>p{font-size:14px}.service-support>p,.process-list p,.client-space p:not(.eyebrow),.faq-intro,.contact-bottom>p{font-size:13px}.faq-list summary{font-size:13px}.service-index{font-size:8px}.step-output{font-size:9px}.tags span{font-size:8px}.footer-bottom{font-size:9px}.hero-art{margin-top:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.button:hover{transform:none}}
