@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--paper:#f2f0e9;--ink:#20231e;--orange:#e95128;--line:#d4d3ca;--muted:#666b60}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}button,a,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:4px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,Arial,sans-serif;font-weight:500;letter-spacing:-.065em}em{font-family:Georgia,'Times New Roman',serif;font-weight:400}header{height:104px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 4.5%;gap:30px}header nav{display:flex;gap:38px;font-size:13px}nav a:hover{color:var(--orange)}.brand{font-weight:700;font-size:26px;letter-spacing:-1.5px;line-height:1}.brand span{display:block;font-size:9px;letter-spacing:3.5px;margin-top:9px}.header-cta{border-bottom:1px solid;padding:10px 0;font-size:13px}.wrap{width:91%;max-width:1440px;margin:0 auto}.hero{padding-top:44px}.eyebrow,.small{font-size:10px;letter-spacing:1.3px;font-weight:600;line-height:1.6}.hero .eyebrow{display:flex;align-items:center;gap:9px}.dot{height:6px;width:6px;background:var(--orange);border-radius:50%}.hero .eyebrow>span{margin-left:auto;color:var(--muted);font-size:9px}.hero h1{font-size:clamp(58px,7.8vw,116px);line-height:1.02;margin-top:42px;position:relative;letter-spacing:-.075em}.hero h1 em{color:var(--orange)}.asterisk{position:absolute;right:4%;top:10px;font-size:135px;color:var(--orange);font-weight:400;line-height:1;animation:turn 35s linear infinite}.hero-bottom{display:flex;justify-content:space-between;align-items:center;margin:30px 0 44px}.hero-bottom p{font-size:14px;line-height:1.75;color:#575b52}.hero-bottom strong{font-weight:500;color:var(--ink)}.round-link{display:flex;align-items:center;gap:25px;font-size:11px;line-height:1.5}.round-link b{font-size:22px;font-weight:400;border:1px solid #adafa4;width:55px;height:55px;border-radius:50%;display:grid;place-items:center;transition:.3s}.round-link:hover b{background:var(--orange);color:white;border-color:var(--orange)}.hero-art{height:430px;position:relative;overflow:hidden;background:#d7d6c7;padding:35px 7%;display:flex;align-items:center;justify-content:center;gap:4%;isolation:isolate}.hero-art:before{content:'';position:absolute;inset:0;z-index:-1;opacity:.28;background:repeating-linear-gradient(100deg,transparent 0,transparent 2px,#eee 3px,#bbb 4px)}.art-main{background:var(--orange);height:350px;width:600px;position:relative;padding:28px 35px;box-shadow:12px 16px 20px #393b2633;transform:rotate(-5deg);color:#201f19;overflow:hidden;background-image:linear-gradient(90deg,transparent 49.8%,#1b241b33 50%,transparent 50.2%),linear-gradient(transparent 49.8%,#1b241b33 50%,transparent 50.2%);background-size:100px 100px}.art-label{font-size:8px;letter-spacing:2px}.art-word{font-size:96px;line-height:.83;letter-spacing:-7px;position:relative;margin-top:34px;z-index:1}.art-word em{color:#f5eee3}.orb{position:absolute;right:20px;top:100px;font-size:130px;line-height:1;border:2px solid #222;border-radius:50%;height:148px;width:148px;text-align:center}.art-foot,.art-year{position:absolute;bottom:25px;font-size:8px;letter-spacing:2px}.art-year{right:30px}.art-small{width:195px;height:260px;background:#242b23;color:#f5f3e7;transform:rotate(7deg);padding:28px;box-shadow:5px 10px 20px #2223}.art-small>span{font-size:29px;line-height:1.05;font-weight:700;letter-spacing:-1px}.art-small small{display:block;margin-top:65px;font-size:8px;letter-spacing:2px}.art-tag{position:absolute;right:30px;bottom:25px;font-size:8px;line-height:1.5;letter-spacing:1px}.ticker{overflow:hidden;padding:21px 0;border-bottom:1px solid var(--line);font-size:12px;letter-spacing:2px;margin-top:35px}.ticker div{width:max-content;animation:marquee 55s linear infinite}.section{padding-top:100px;padding-bottom:100px}.section-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px}.section-top .small{font-size:8px;color:var(--muted)}h2{font-size:clamp(42px,4.7vw,68px);line-height:1.05}h2 em{letter-spacing:-.05em}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.section-heading>p{font-size:13px;line-height:1.7;color:var(--muted);padding-bottom:4px}.demo-note{font-size:10px;line-height:1.6;color:var(--muted);margin-top:26px;max-width:750px}.filters{display:flex;flex-wrap:wrap;gap:8px;margin:25px 0 30px}.filters button{border:1px solid var(--line);background:transparent;padding:9px 17px;border-radius:30px;font-size:11px;color:var(--ink);transition:.2s}.filters button.active,.filters button:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px 24px}.project-card{min-width:0}.project-open{display:block;width:100%;padding:0;border:0;background:none;text-align:left;color:var(--ink)}.project-visual{height:360px;overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center;transition:filter .3s}.project-open:hover .visual-inner{transform:scale(1.035) rotate(-2deg)}.project-visual>img{height:100%;width:100%;object-fit:cover;transition:transform .4s}.project-open:hover img{transform:scale(1.04)}.project-caption{display:flex;justify-content:space-between;gap:12px;align-items:start;padding-top:16px}.project-caption h3{font-size:19px;letter-spacing:-.5px}.project-caption p{font-size:10px;color:var(--muted);margin-top:6px}.project-caption>span{font-size:23px}.concept-label{position:absolute;top:16px;left:16px;font-size:8px;letter-spacing:1px;border:1px solid currentColor;border-radius:20px;padding:5px 8px;z-index:2}.visual-inner{transition:transform .4s;position:relative}.v-brand{background:#e6552e;color:#241f1b}.identity{font-size:100px;letter-spacing:-12px;line-height:.8;font-weight:700;transform:rotate(-9deg)}.identity:after{content:'CONEXIONES QUE MUEVEN.';display:block;font-size:8px;letter-spacing:3px;margin-top:30px}.v-editorial{background:#b7c5bb;color:#162c2c}.book{background:#f7f0de;width:210px;height:280px;box-shadow:12px 15px 0 #264b4b,16px 19px 25px #132e3840;transform:rotate(-9deg);padding:23px;font-size:31px;font-weight:700;line-height:.93;letter-spacing:-1.5px;border-left:8px solid #e0d7c4}.book small{font-size:7px;display:block;letter-spacing:2px;margin-bottom:24px}.book-circle{width:120px;height:120px;border:25px solid #df502b;border-radius:50%;margin-top:22px}.v-event{background:#2b3029;color:#f0f5b4}.poster{background:#d9ed88;padding:25px;width:220px;height:280px;transform:rotate(6deg);color:#252b21;box-shadow:12px 12px 30px #0005;font-size:39px;letter-spacing:-2px;line-height:.95}.poster b{font-size:120px;display:block;line-height:1;margin-top:10px}.poster small{font-size:8px;letter-spacing:2px}.v-digital{background:#cabde2;color:#31274f}.phone{width:156px;height:290px;border:6px solid #24222b;border-radius:25px;box-shadow:18px 15px 25px #30254730;transform:rotate(10deg);background:#e9e1f4;padding:35px 14px 15px;font-size:32px;letter-spacing:-1px;line-height:1;position:relative}.phone:before{content:'';position:absolute;width:50px;height:11px;background:#24222b;border-radius:15px;top:6px;left:47px}.phone b{font-size:100px;color:#6a4fa5;display:block}.phone small{font-size:7px;letter-spacing:1px;line-height:1.5;display:block}.v-print{background:#c6c2b3;color:#292a24}.stationery{height:230px;width:325px;transform:rotate(-8deg)}.sheet{background:#eee9d8;position:absolute;top:0;left:60px;width:170px;height:235px;padding:20px;font-size:17px;letter-spacing:-.8px;box-shadow:8px 10px 20px #3333}.sheet:after{content:'';display:block;background:repeating-linear-gradient(#c1bbad 0 1px,transparent 1px 13px);height:90px;margin-top:35px}.card{position:absolute;bottom:-10px;left:5px;background:#e7552d;width:150px;height:90px;padding:22px;font-size:25px;letter-spacing:-1px;box-shadow:6px 6px 10px #3333}.v-motion{background:#d7e1ea;color:#264d6c}.motion-art{font-size:70px;letter-spacing:-5px;font-weight:600;line-height:.9;transform:rotate(-6deg)}.motion-art span{font-family:Georgia,serif;font-style:italic}.motion-art b{font-size:130px;font-weight:400;color:#e6532b;display:block;text-align:center;animation:float 5s ease-in-out infinite}.services{background:#e8e7de}.service-layout{display:grid;grid-template-columns:1fr 1fr;gap:9%}.service-intro{font-size:14px;line-height:1.8;color:var(--muted);max-width:370px;margin:25px 0}.text-link{display:inline-block;font-size:12px;border-bottom:1px solid;padding-bottom:7px}.service-list details,.faq details{border-top:1px solid #bfc2b5;padding:22px 0}.service-list details:last-child,.faq details:last-child{border-bottom:1px solid #bfc2b5}summary{cursor:pointer;list-style:none;font-size:18px;display:flex;gap:20px;align-items:center}summary::-webkit-details-marker{display:none}summary span{font-size:9px;color:var(--muted)}summary b{margin-left:auto;font-weight:400;transition:transform .2s}details[open] summary b{transform:rotate(45deg)}details p{font-size:13px;line-height:1.8;color:var(--muted);margin-top:15px;max-width:440px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:55px}.steps article{border-top:1px solid var(--line);padding-top:20px}.steps span{font-size:9px;letter-spacing:1px}.steps h3{font-size:24px;letter-spacing:-1px;margin-top:35px}.steps p{font-size:13px;line-height:1.8;color:var(--muted);margin-top:12px;max-width:310px}.rates{background:#232820;color:var(--paper)}.rates .small{color:#bbc0af}.rates h2 em{color:#d7eaa6}.rates .section-heading>p{color:#b5bcaa}.rate-notice{display:flex;gap:25px;align-items:center;border-top:1px solid #4c5145;border-bottom:1px solid #4c5145;padding:20px 0;margin:30px 0}.rate-notice>span{white-space:nowrap;font-size:10px;letter-spacing:1px;background:#d7eaa6;color:#232820;padding:7px 9px}.rate-notice p{color:#b9c0ae;font-size:11px;line-height:1.7;max-width:680px}.rate-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:50px;align-items:start}.search{border-bottom:1px solid #69705e;display:flex;align-items:center;gap:10px;padding:12px 0}.search span{font-size:24px}.search input{border:0;background:transparent;color:var(--paper);padding:10px;width:100%;font-size:12px;min-width:0}.search input::placeholder{color:#b9c0ae}.search kbd{font-size:10px;border:1px solid #626958;padding:3px 7px}.rates .filters{margin:20px 0}.rates .filters button{border-color:#59614f;color:#c4cbb8;font-size:10px;padding:7px 10px}.rates .filters button.active,.rates .filters button:hover{color:#222;background:#d7eaa6;border-color:#d7eaa6}.rate-group-title{font-size:9px;letter-spacing:1.5px;color:#d7eaa6;margin:30px 0 6px}.rate-row{display:grid;grid-template-columns:minmax(0,1fr) 90px 32px;align-items:center;gap:15px;border-bottom:1px solid #444c3e;padding:17px 0}.rate-row h4{font-size:13px;font-weight:400;margin:0 0 5px}.rate-row p{font-size:10px;line-height:1.7;color:#b5beaa}.rate-price{font-size:14px;text-align:right;white-space:nowrap}.rate-add{border:1px solid #718064;width:30px;height:30px;background:transparent;color:#d7eaa6;border-radius:50%;font-size:19px}.rate-add:hover{background:#d7eaa6;color:#232820}.rate-fine{font-size:10px;color:#b5beaa;line-height:1.8;margin-top:25px}.rate-fine b{color:#d7eaa6;font-weight:400}.selection{border:1px solid #5b6550;padding:25px;position:sticky;top:24px;background:#2e3529}.selection-head{display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:1px;color:#d7eaa6}.selection-head span{font-size:24px}.selection h3{font-size:39px;line-height:1.05;margin:22px 0}.muted{color:#b5beaa;font-size:12px;line-height:1.7}.selected-item{display:flex;gap:10px;justify-content:space-between;font-size:11px;border-bottom:1px solid #515947;padding:10px 0;align-items:center}.selected-item small{font-size:10px;color:#b9c3ad}.selected-controls{display:flex;gap:5px;align-items:center;white-space:nowrap}.selected-controls button{border:1px solid #647157;color:#d7eaa6;background:none;width:22px;height:24px;padding:0}.total{border-top:1px solid #626d56;display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:24px;padding-top:20px;font-size:10px}.total strong{font-size:20px;font-weight:400;white-space:nowrap}.selection>small{display:block;font-size:9px;color:#c2cab7;line-height:1.6;margin-top:8px}.button{padding:17px 20px;background:var(--orange);color:#fff;display:inline-flex;justify-content:space-between;align-items:center;gap:30px;font-size:12px}.selection .button{display:flex;background:#d7eaa6;color:#242a20;margin-top:25px;gap:8px}.clear{display:block;background:none;color:#b9c3ad;border:0;margin:15px auto 0;font-size:10px;text-decoration:underline}.faq{display:grid;grid-template-columns:1fr 1fr;gap:8%}.faq h2{margin-top:25px}.faq summary{font-size:14px;line-height:1.5}.contact{background:var(--orange);padding:65px 0;color:#241f19}.contact h2{font-size:clamp(58px,8vw,118px);position:relative;line-height:.95;margin-top:35px}.contact h2 em{color:#f6f0e4}.contact h2>span{position:absolute;right:5%;top:10px;font-size:135px;font-family:Arial,sans-serif;font-weight:400}.contact-bottom{display:flex;justify-content:space-between;margin-top:55px;gap:30px;align-items:end}.contact-bottom p{font-size:13px;line-height:1.8}.contact-bottom>div{display:flex;flex-direction:column;align-items:flex-start;gap:17px;font-size:12px}.button.light{background:#f4f0e5;color:#25281f;min-width:260px}footer{padding-top:45px;padding-bottom:45px;display:flex;align-items:center;justify-content:space-between;gap:25px}footer .brand{font-size:23px}footer p{font-size:8px;letter-spacing:1px}footer>a:last-child{font-size:10px}dialog{padding:0;border:0;background:var(--paper);color:var(--ink);width:min(900px,94vw);max-height:90vh;overflow-y:auto}dialog::backdrop{background:#111b}.dialog-head{position:sticky;top:0;background:var(--paper);z-index:10;display:flex;justify-content:space-between;align-items:center;padding:18px 25px;font-size:10px;letter-spacing:1px}.dialog-head button{border:1px solid var(--line);background:none;border-radius:50%;width:32px;height:32px}.dialog-copy{padding:35px}.dialog-copy h2{font-size:44px;margin:12px 0 20px}.dialog-copy>p:not(.eyebrow){line-height:1.8;font-size:14px;max-width:700px}.dialog-copy .text-link{margin-top:25px}#dialogArt .project-visual{height:440px}#dialogGallery img{max-width:100%;display:block;margin-top:20px}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,20px);background:var(--ink);color:white;padding:14px 25px;border-radius:30px;font-size:12px;z-index:100;opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:var(--ink);color:white;padding:15px}.skip:focus{top:10px}@keyframes turn{to{transform:rotate(360deg)}}@keyframes marquee{to{transform:translateX(-40%)}}@keyframes float{50%{transform:translateY(-8px) rotate(8deg)}}
@media(max-width:950px){header{height:85px}header nav{gap:20px}.hero .eyebrow>span{display:none}.asterisk{font-size:100px;right:0;top:20px}.hero h1{font-size:8.5vw}.hero-art{height:350px}.art-main{height:280px;width:480px;padding:20px}.art-word{font-size:80px}.orb{width:100px;height:100px;font-size:90px;right:10px}.art-small{width:160px;height:220px;padding:20px}.art-small>span{font-size:25px}.art-small small{margin-top:45px}.art-tag{display:none}.project-visual{height:300px}.section{padding:75px 0}.rate-layout{grid-template-columns:minmax(0,1fr) 255px;gap:25px}.selection{padding:20px}.section-heading>p{max-width:220px}.small{max-width:250px;text-align:right}.service-layout{gap:5%}.identity{font-size:85px}.book,.poster{transform:scale(.85) rotate(-9deg)}.phone{transform:scale(.85) rotate(10deg)}}
@media(max-width:650px){header{height:78px;padding:0 5%;gap:10px}.brand{font-size:22px}.brand span{font-size:8px;letter-spacing:2.7px}header nav{gap:17px;font-size:10px}header nav a:nth-child(2),.header-cta{display:none}.wrap{width:90%}.hero{padding-top:26px}.eyebrow{font-size:8px;letter-spacing:1px}.hero h1{font-size:10vw;margin-top:30px;letter-spacing:-.075em}.asterisk{font-size:48px;top:-7px;right:0}.hero-bottom{margin:24px 0 30px;align-items:flex-end;gap:15px}.hero-bottom p{font-size:11px;line-height:1.8}.round-link{gap:0}.round-link span{display:none}.round-link b{width:40px;height:40px;font-size:18px}.hero-art{height:270px;padding:25px 15px;gap:4%}.art-main{height:210px;width:72%;padding:15px;transform:rotate(-6deg)}.art-label{font-size:5px;letter-spacing:1px}.art-word{font-size:57px;letter-spacing:-4px;margin-top:25px}.orb{width:65px;height:65px;font-size:60px;top:75px;right:5px}.art-foot,.art-year{font-size:5px;letter-spacing:1px;bottom:15px}.art-small{width:27%;height:150px;padding:12px}.art-small>span{font-size:17px;letter-spacing:-.5px}.art-small small{font-size:5px;letter-spacing:1px;margin-top:25px}.ticker{margin-top:22px;padding:16px 0;font-size:9px}.section{padding:55px 0}.section-top{margin-bottom:24px}.section-top>.small{font-size:7px;max-width:135px}.section-heading{display:block}h2{font-size:42px}.section-heading>p{max-width:none;font-size:12px;margin-top:20px}.demo-note{font-size:9px;margin-top:17px}.filters{gap:6px;margin:22px 0}.filters button{font-size:10px;padding:8px 12px}.project-grid{grid-template-columns:1fr;gap:28px}.project-visual{height:330px}.project-caption h3{font-size:18px}.service-layout{grid-template-columns:1fr;gap:35px}.service-intro{font-size:13px}.steps{grid-template-columns:1fr;gap:25px;margin-top:30px}.steps h3{margin-top:15px}.steps p{max-width:none}.service-list details{padding:20px 0}summary{font-size:17px}.rate-notice{display:block;padding:20px 0}.rate-notice>span{display:inline-block;margin-bottom:10px}.rate-layout{grid-template-columns:1fr;gap:30px}.selection{position:static}.rate-row{gap:10px;grid-template-columns:minmax(0,1fr) 70px 30px}.rate-row h4{font-size:12px}.rate-price{font-size:12px}.faq{grid-template-columns:1fr;gap:30px}.contact{padding:45px 0}.contact h2{font-size:13vw;margin-top:30px}.contact h2>span{font-size:58px;right:0;top:-5px}.contact-bottom{display:block;margin-top:30px}.contact-bottom>div{margin-top:25px}.contact-bottom .button{width:100%}footer{padding:35px 0;flex-wrap:wrap;align-items:flex-start}footer p{order:3;width:100%;font-size:7px}footer>a:last-child{font-size:9px;padding-top:8px}.dialog-copy{padding:25px}.dialog-copy h2{font-size:33px}#dialogArt .project-visual{height:330px}.toast{width:max-content;max-width:90%;text-align:center}.identity{font-size:100px}.stationery{transform:scale(.9) rotate(-8deg)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Official service logo supplied in EPS; converted to SVG outlines. */
header .brand,footer .brand{display:block;flex-shrink:0;line-height:0;}
header .brand img,footer .brand img{display:block;width:310px;max-width:100%;height:auto;}
@media(max-width:950px){header .brand img,footer .brand img{width:245px;}}
@media(max-width:650px){header .brand img{width:175px;}footer .brand img{width:210px;}header nav{gap:13px;font-size:10px;}}
@media(max-width:350px){header .brand img{width:148px;}header nav{gap:9px;font-size:9px;}}

/* Shared route back to the main Todologistica website. */
.tl-network-bar{min-height:66px;padding:16px 4.5%;display:flex;align-items:center;justify-content:space-between;gap:24px;background:#fff;border-bottom:1px solid #deded8;}
.tl-network-logo{display:block;line-height:0;flex-shrink:0;}
.tl-network-logo img{display:block;width:190px;height:auto;}
.tl-network-back{display:flex;align-items:center;gap:18px;font-size:12px;font-weight:500;color:#263e56;line-height:1.4;}
.tl-network-back span{font-size:19px;color:#009fcb;}
.tl-network-back:hover{color:#0087ac;text-decoration:underline;text-underline-offset:4px;}
@media(max-width:650px){.tl-network-bar{min-height:58px;padding:14px 5%;gap:14px;}.tl-network-logo img{width:140px;}.tl-network-back{font-size:10px;gap:8px;}.tl-network-back span{font-size:16px;}}
@media(max-width:350px){.tl-network-logo img{width:118px;}.tl-network-back{font-size:9px;gap:5px;}}

/* v1.4: the WordPress theme provides the website header, menu and footer. */
.studio-intro-bar{display:flex;align-items:center;justify-content:space-between;gap:28px;padding-bottom:28px;border-bottom:1px solid var(--line);}
.studio-intro-logo{display:block;line-height:0;flex-shrink:0;}
.studio-intro-logo img{display:block;width:245px;height:auto;}
.studio-intro-bar nav{display:flex;gap:25px;align-items:center;font-size:12px;}
.hero .studio-intro-label{display:flex;align-items:center;justify-content:flex-end;gap:9px;font-size:8px;line-height:1.7;letter-spacing:1px;text-align:right;}
.hero .studio-intro-label>span{display:block;margin:0;color:var(--muted);font-size:8px;}
@media(max-width:950px){.studio-intro-bar{gap:20px;flex-wrap:wrap;}.studio-intro-logo img{width:220px;}.studio-intro-bar nav{gap:20px;font-size:11px;}.hero .studio-intro-label{width:100%;margin-top:0;}.hero h1{margin-top:30px;}}
@media(max-width:650px){.studio-intro-bar{gap:18px;padding-bottom:20px;}.studio-intro-logo img{width:210px;}.studio-intro-bar nav{width:100%;justify-content:space-between;order:3;gap:12px;font-size:11px;padding-top:5px;}.hero .studio-intro-label{width:auto;flex:1;min-width:85px;margin-left:auto;font-size:6px;gap:5px;}.hero .studio-intro-label>span{display:block;font-size:6px;line-height:1.6;letter-spacing:.5px;}.studio-intro-label .dot{width:4px;height:4px;flex-shrink:0;}}
@media(max-width:380px){.studio-intro-logo img{width:175px;}.studio-intro-bar{gap:12px;}}

/* v1.6: start immediately under the site's navigation. */
.hero{padding-top:24px;}
.hero h1{margin-top:32px;}
.studio-intro-bar{padding-bottom:22px;}
@media(max-width:650px){.hero{padding-top:20px;}.hero h1{margin-top:26px;}}

/* v1.7: gallery fitted to the visible viewport. */
#projectDialog{width:min(1200px,96vw);height:var(--viewer-height,94dvh);max-height:none;overflow:hidden;box-sizing:border-box;}
#projectDialog[open]{display:flex;flex-direction:column;}
#projectDialog .dialog-head{position:relative;flex:none;padding:10px 18px;}
#viewerStage{position:relative;flex:1 1 0;min-height:0;overflow:hidden;background:#e4e3de;}
#dialogArt{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:10px 58px;box-sizing:border-box;}
#dialogArt .viewer-image{display:block;width:100%;height:100%;object-fit:contain;}
#dialogArt .project-visual{width:100%;height:100%;min-height:0;overflow:hidden;}
#projectDialog .dialog-copy{flex:none;max-height:30%;overflow:auto;padding:16px 26px;border-top:1px solid var(--line);background:var(--paper);}
#projectDialog .dialog-copy h2{font-size:clamp(22px,3vw,32px);margin:5px 0 8px;}
#projectDialog .dialog-copy>p:not(.eyebrow){font-size:12px;line-height:1.5;}
#projectDialog .dialog-copy .text-link{margin-top:10px;font-size:11px;}
.viewer-arrow{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:48px;border:1px solid #ccc;background:#f7f4edee;color:var(--ink);border-radius:24px;font-size:32px;z-index:2;}
#prevImage{left:8px;}#nextImage{right:8px;}
.viewer-tools{display:flex;flex:none;justify-content:flex-end;align-items:center;gap:12px;padding:7px 18px;background:var(--paper);font-size:12px;}
#zoomImage{background:transparent;border:1px solid var(--line);border-radius:20px;padding:6px 12px;color:var(--ink);}
#projectDialog [hidden]{display:none!important;}
#projectDialog button:focus-visible{outline:2px solid var(--ink);outline-offset:2px;}
#viewerStage.zoomed{overflow:auto;touch-action:none;}
.zoomed #dialogArt{display:block;width:max-content;height:max-content;padding:0;}
.zoomed #dialogArt .viewer-image{width:var(--zoom-width);height:var(--zoom-height);max-width:none;cursor:grab;}
.zoomed #dialogArt .viewer-image:active{cursor:grabbing;}
.zoomed .viewer-arrow{display:none;}
@media(max-width:650px){#projectDialog{width:96vw;height:var(--viewer-height,96dvh);}#dialogArt{padding:8px 38px;}#projectDialog .dialog-copy{padding:12px 16px;max-height:34%;}.viewer-arrow{width:30px;height:42px;}#prevImage{left:4px;}#nextImage{right:4px;}}

/* v1.8: project information on the left, commercial information on the right. */
#projectDialog .dialog-copy{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.85fr);gap:20px 30px;}
.dialog-info{min-width:0;}
#projectDialog .dialog-info #dialogDescription{font-size:12px;line-height:1.5;white-space:pre-line;}
.dialog-commercial{min-width:0;border-left:1px solid var(--line);padding-left:26px;align-self:center;}
#projectDialog .dialog-price{font-size:clamp(20px,2.6vw,30px);line-height:1.15;margin:7px 0;font-weight:500;letter-spacing:-.6px;}
.dialog-price-note{font-size:10px;line-height:1.5;color:var(--muted);}
.dialog-commercial-links{display:flex;gap:12px 20px;align-items:center;flex-wrap:wrap;}
#projectDialog .dialog-commercial-links .text-link{font-size:11px;margin-top:12px;}
@media(max-width:760px){#projectDialog .dialog-copy{grid-template-columns:1fr;gap:14px;max-height:42%;}.dialog-commercial{border-left:0;border-top:1px solid var(--line);padding:12px 0 0;}.dialog-commercial-links{gap:12px 20px;}#projectDialog .dialog-price{font-size:23px;}}

/* v1.9: ten typographic cards, transparent stage, invisible floor. */
.hero-art.motion-scene{height:430px;display:block;padding:0;background:transparent;isolation:isolate;overflow:hidden;}
.hero-art.motion-scene:before{display:none;}
.motion-card{position:absolute;left:50%;bottom:10px;width:clamp(250px,33vw,440px);aspect-ratio:1.62;padding:25px 28px;color:#f2f0e9;background:#242b23;border:1px solid #20231e18;box-shadow:0 6px 14px #20231e0d;transform-origin:center;overflow:hidden;will-change:transform,opacity;}
.motion-card-label{display:block;font-size:8px;letter-spacing:1.6px;}
.motion-card strong{position:relative;z-index:1;display:block;margin-top:30px;max-width:90%;font-size:clamp(25px,3.1vw,43px);font-weight:500;letter-spacing:-1.8px;line-height:1.04;}
.motion-card em{font-family:Georgia,serif;color:inherit;}
.motion-card-symbol{position:absolute;right:18px;bottom:33px;font-size:78px;line-height:1;opacity:.23;}
.motion-card-footer,.motion-card-number{position:absolute;bottom:20px;font-size:7px;letter-spacing:1.2px;}
.motion-card-number{right:25px;}
.motion-card--orange{background:#e95128;color:#211f19;}.motion-card--orange em{color:#fff5e6;}
.motion-card--sage{background:#d7e3ba;color:#283522;}.motion-card--cream{background:#e8e3d4;color:#282b22;}.motion-card--lilac{background:#d2c3e4;color:#342740;}
.motion-scene:not(.motion-ready) .motion-card{display:none;}
.motion-scene:not(.motion-ready) .motion-card:nth-child(1){display:block;transform:translateX(-112%) rotate(-8deg);bottom:28px;}
.motion-scene:not(.motion-ready) .motion-card:nth-child(2){display:block;transform:translateX(-15%) rotate(6deg);bottom:30px;}
.motion-scene:not(.motion-ready) .motion-card:nth-child(3){display:block;transform:translateX(-60%) rotate(-2deg);bottom:75px;}
.motion-ready .motion-card{opacity:0;}
.motion-toggle{position:absolute;z-index:20;right:5px;top:10px;display:flex;gap:7px;align-items:center;border:1px solid var(--line);border-radius:25px;padding:8px 12px;background:var(--paper);color:var(--muted);font-size:10px;}
.motion-toggle[hidden]{display:none;}
@media(max-width:650px){.hero-art.motion-scene{height:290px;}.motion-card{width:260px;padding:20px 22px;}.motion-card strong{font-size:27px;margin-top:22px;}.motion-card-label{font-size:6px;letter-spacing:1px;}.motion-card-footer,.motion-card-number{font-size:6px;bottom:16px;}.motion-card-symbol{font-size:56px;bottom:30px;}.motion-scene:not(.motion-ready) .motion-card:nth-child(1){display:none;}.motion-scene:not(.motion-ready) .motion-card:nth-child(2){transform:translateX(-48%) rotate(5deg);bottom:35px;}.motion-scene:not(.motion-ready) .motion-card:nth-child(3){display:none;}}

@media(max-width:650px){.motion-card strong{font-size:24px;margin-top:16px;max-width:100%;letter-spacing:-1px;}}

#projectDialog .dialog-tax-note{font-size:10px;line-height:1.6;color:var(--muted);margin:8px 0;max-width:420px;}

/* Galería independiente de exploraciones IA */
.ia-section[hidden],.dialog-commercial[hidden]{display:none!important}
.ia-section{border-top:1px solid var(--line)}.ia-section .section-heading>p{max-width:340px}
.ia-actions{display:flex;justify-content:space-between;gap:20px;margin:28px 0}.ia-actions button{background:none;color:var(--ink);border:0;border-bottom:1px solid currentColor;cursor:pointer}
.ia-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));column-gap:16px}
.ia-tile{position:relative;align-self:start;min-width:0;overflow:visible;background:none;border:0;padding:0;color:var(--ink);text-align:left;cursor:pointer}
.ia-tile img{width:100%;height:auto;display:block;object-fit:contain;transition:opacity .4s}
.ia-tile span{display:block;padding:9px 0 0;font-size:11px;line-height:1.4;overflow-wrap:anywhere}
.ia-tile:focus-visible{outline:3px solid var(--orange);outline-offset:4px}
.ia-caption{font-size:10px;color:var(--muted);margin-top:18px}
.ia-tile img.ia-incoming{opacity:0}.ia-tile img.ia-incoming.ia-show{opacity:1}
@media(max-width:650px){.ia-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px}.ia-tile span{font-size:10px;padding:8px 0 0}.ia-actions{gap:14px}.ia-actions button{font-size:11px}}
.ia-actions [hidden]{display:none!important}

.ia-viewer .dialog-copy{grid-template-columns:minmax(0,1fr)}

/* Masonry: natural image heights, compact placement, original DOM/tab order. */
#projects{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:24px}
#projects,.ia-grid{grid-auto-rows:1px;row-gap:0;align-items:start}
#projects>.project-card{align-self:start;min-width:0}
#projects .project-visual.has-image{height:auto;min-height:0;display:block;overflow:visible;background:none}
#projects .project-visual.has-image>img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain;transform:none}
#projects .project-caption{padding-top:12px}#projects .project-caption h3{font-size:18px}
@media(max-width:1000px){.ia-grid{grid-template-columns:repeat(3,minmax(0,1fr))}#projects{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.ia-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#projects{grid-template-columns:minmax(0,1fr)}}

.ia-tile span[hidden]{display:none!important}

.ia-tile img{transition:opacity .65s ease-in-out}
