/* Portfolio and media controls. Opening styles live in inline intro.css. */
.ambient-controls{position:absolute;z-index:4;top:115px;right:4vw;display:flex;align-items:center;gap:8px;opacity:0;transition:opacity .35s;pointer-events:none}
.hero.controls-awake .ambient-controls,.ambient-controls:hover,.ambient-controls:focus-within{opacity:.9;pointer-events:auto}
.intro-pending .ambient-controls{opacity:.35;pointer-events:auto}.intro-pending .ambient-controls:hover,.intro-pending .ambient-controls:focus-within{opacity:.9}
.ambient-button{display:grid;place-items:center;min-width:44px;min-height:44px;padding:10px;color:#fff;background:#0e0b0950;border:1px solid #ffffff28;border-radius:50%;backdrop-filter:blur(8px)}
.ambient-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
#motion-toggle{background:none;border:0;backdrop-filter:none;opacity:.7}#motion-toggle:hover,#motion-toggle:focus-visible{opacity:1}#motion-toggle svg{width:26px;height:26px;filter:drop-shadow(0 2px 5px #0008)}
.sound-control{display:flex;gap:8px;min-width:44px;border-radius:30px;font-size:12px;padding:10px 14px}.sound-label{white-space:nowrap}.ambient-button:hover{background:#0e0b0977}.ambient-button:focus-visible{opacity:1}
.pause-icon{display:none}.is-playing .pause-icon{display:block}.is-playing .play-icon{display:none}.sound-waves{display:none}.sound-on .sound-waves{display:block}.sound-on .sound-cross{display:none}
.floating-sound{position:fixed;right:22px;bottom:max(22px,env(safe-area-inset-bottom));z-index:35;background:#0e0b09b8;box-shadow:0 3px 20px #0003}.floating-sound[hidden]{display:none}
.screen-reader{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.product-signature{display:block;color:var(--text);font-size:14px;letter-spacing:-.02em;margin:0 0 24px}.product-signature span{color:var(--muted)}
.project-media .project-label{font-size:12px;letter-spacing:.03em}.project-copy p{font-size:16px}.project-tags{flex-wrap:wrap;gap:10px 20px;font-size:12px}.text-link{min-height:44px;font-size:14px}
.project-media.dispatch-stage{background:radial-gradient(ellipse at 60% 40%,#3a3027 0,#1d1712 70%)}.dispatch-stage .big-a{font-size:130px;bottom:18px;left:30px;line-height:.75;color:#ffffff08}
.dispatch-stage .available-window{height:400px;width:77%;border-radius:5px;box-shadow:24px 22px 50px #0007}.dispatch-stage .available-window img{transform:translateY(-43%)}
.theranotes-stage{height:640px;background:radial-gradient(ellipse at 38% 37%,#dae9e2,#8ca59d);padding:75px 20px 55px;gap:12px;overflow:hidden}.theranotes-stage .project-label{color:#143e3e;top:28px;left:28px}.phone-screen{height:93%;width:auto;border-radius:26px;box-shadow:15px 18px 32px #0e35312e;transition:transform .6s var(--ease)}.phone-screen.primary{transform:rotate(-5deg);z-index:1}.phone-screen.secondary{height:81%;transform:rotate(6deg) translateY(24px);opacity:.92}.theranotes-stage:hover .phone-screen.primary{transform:rotate(-2deg) translateY(-5px)}
.cadence-stage{background:radial-gradient(ellipse at 50% 35%,#f0e6e0,#c4b4a7)}.cadence-stage>img{max-height:88%;width:auto;max-width:80%;object-fit:contain;box-shadow:0 20px 45px #241b1626;border-radius:20px}
.photography-stage{height:590px}.photography-stage .cover{object-position:50% 35%;filter:none}.project-media .open-label{font-size:13px}.project-media .cover{transition:transform .8s var(--ease)}.project-media:hover .cover{transform:scale(1.025)}
.gallery-section{border-top:1px solid var(--line);padding:65px 0 70px;scroll-margin-top:30px}.gallery-section[hidden],.film-library[hidden],.software-index[hidden]{display:none}
.gallery-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:32px}.gallery-head h3{font:600 clamp(48px,6vw,80px)/.95 var(--display);letter-spacing:-.04em;margin:16px 0 0}.gallery-head p{max-width:340px;color:var(--muted);font-size:15px;margin:0;line-height:1.6}
.collection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 22px}.collection-card{text-align:left;min-width:0}.collection-image{position:relative;overflow:hidden;aspect-ratio:4/3;background:var(--panel)}.collection-image img{width:100%;height:100%;object-fit:cover;transition:transform .65s var(--ease)}.collection-card:hover img{transform:scale(1.035)}.collection-image .collection-arrow{position:absolute;bottom:14px;right:14px;display:grid;place-items:center;width:38px;height:38px;border:1px solid #ffffff65;border-radius:50%;background:#0e0b0960;color:white;font-size:22px}.collection-caption{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;font-size:15px}.collection-caption small{font-size:12px;color:var(--muted)}
.film-library{padding:20px 0 80px}.film-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.film-card{text-align:left;min-width:0}.film-poster{background:var(--panel);aspect-ratio:16/10;position:relative;overflow:hidden}.film-poster img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}.film-card:hover img{transform:scale(1.035)}.film-play{position:absolute;left:18px;bottom:18px;border:1px solid #ffffff70;background:#0e0b0970;border-radius:50%;height:45px;width:45px;display:grid;place-items:center;font-size:14px}.film-card h4{font:600 28px var(--display);margin:16px 0 8px}.film-card p{font-size:13px;line-height:1.5;color:var(--muted);margin:0}
.software-index .index-title{margin-bottom:18px}.software-index summary b{font-size:30px}
.testimonials{padding:90px 4vw 110px;background:#16110e;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.testimonials-heading{display:grid;grid-template-columns:2fr 1fr;gap:5vw;align-items:end;margin:20px 0 50px}.testimonials h2{font-size:clamp(60px,8vw,122px);margin:0}.testimonials-heading p{color:var(--muted);font-size:16px;max-width:300px;margin:0}.testimonials-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.testimonial-card{text-align:left;min-width:0}.testimonial-portrait{aspect-ratio:4/5;position:relative;overflow:hidden;background:var(--bg)}.testimonial-portrait img{width:100%;height:100%;object-fit:cover;filter:saturate(.6);transition:filter .4s,transform .7s}.testimonial-card:hover img{filter:saturate(1);transform:scale(1.025)}.testimonial-portrait:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#0e0b09cc)}.testimonial-play{position:absolute;bottom:22px;left:22px;z-index:1;display:flex;align-items:center;gap:12px;font-size:13px}.testimonial-play b{display:grid;place-items:center;border:1px solid #ffffff8a;height:42px;width:42px;border-radius:50%;font-weight:400}.testimonial-card h3{font:600 32px var(--display);margin:20px 0 8px}.testimonial-card p{font-size:14px;color:var(--muted);margin:0;line-height:1.5}
.story-more{display:flex;align-items:center;gap:20px;margin-top:25px}.story-more img{width:82px;height:104px;object-fit:cover}.story-more span{font-size:13px;max-width:190px;color:var(--muted);line-height:1.6}.story-photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:35px 0}.story-photo-pair figure{margin:0}.story-photo-pair img{width:100%;height:420px;object-fit:contain;background:var(--panel)}.story-photo-pair figcaption{margin-top:10px;font-size:13px;color:var(--muted)}
dialog{width:min(1200px,96vw);max-height:94svh}dialog .dialog-top{padding:15px 25px}dialog .dialog-body{padding:28px}dialog .close{min-height:44px;font-size:14px}dialog h3{font-size:clamp(40px,5vw,64px)}dialog .dialog-body>p{font-size:16px}.gallery-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.gallery-toolbar p{margin:0;color:var(--muted);font-size:13px}.gallery-back{min-height:44px;border-bottom:1px solid var(--accent);font-size:14px}.gallery-view{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.gallery-thumb{background:var(--panel);position:relative;aspect-ratio:4/3;overflow:hidden}.gallery-thumb img{width:100%;height:100%;object-fit:cover}.gallery-thumb span{position:absolute;bottom:8px;right:8px;border-radius:50%;background:#0e0b0980;width:30px;height:30px;display:grid;place-items:center;font-size:20px}.photo-view{position:relative}.photo-view img{display:block;width:auto!important;max-width:100%;height:auto;max-height:69svh;object-fit:contain;margin:0 auto;background:var(--panel)}.photo-caption{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:16px 0 0;color:var(--muted);font-size:13px}.photo-nav{display:flex;gap:8px}.photo-nav button{width:46px;height:44px;border:1px solid var(--line);font-size:22px;color:var(--text)}.demo-screens{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start;max-width:800px;margin:35px auto}.demo-screens figure{margin:0}.demo-screens img{border-radius:22px}.demo-screens figcaption{font-size:14px;margin:14px 0;color:var(--muted)}.capture-note{font-size:13px!important;color:var(--muted)}.dispatch-demo{max-width:860px!important}.media-fallback{padding:16px;color:var(--muted);font-size:14px!important}.media-fallback a{border-bottom:1px solid var(--accent)}
@media(hover:none),(pointer:coarse){.ambient-controls{opacity:.85;pointer-events:auto}.sound-label{display:none}.sound-control{padding:10px}.project-media:hover .cover,.collection-card:hover img,.film-card:hover img{transform:none}}
@media(max-width:1100px){.theranotes-stage{height:560px}.phone-screen.secondary{display:none}.phone-screen.primary{height:97%}.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.testimonials-heading{grid-template-columns:3fr 2fr}}
@media(max-width:700px){.ambient-controls{top:92px;right:24px;gap:6px}.ambient-button{min-height:42px;min-width:42px}.project-copy p{font-size:16px}.project-copy h3{font-size:56px}.project-copy .product-signature{font-size:14px;margin-bottom:20px}.theranotes-stage{height:500px;padding:55px 20px 40px}.phone-screen.primary{height:100%;border-radius:20px}.theranotes-stage .project-label{top:22px;left:22px;font-size:11px}.dispatch-stage .available-window{height:310px}.dispatch-stage .big-a{font-size:85px}.photography-stage{height:390px}.gallery-head{display:block}.gallery-head p{font-size:15px;margin-top:20px;max-width:100%}.gallery-section{padding:40px 0 50px}.gallery-head h3{font-size:57px}.collection-grid{gap:24px 13px}.collection-image{aspect-ratio:3/4}.collection-caption{align-items:start;font-size:14px;flex-direction:column;gap:4px}.collection-caption small{font-size:12px}.collection-image .collection-arrow{width:31px;height:31px;right:9px;bottom:9px;font-size:19px}.film-grid{grid-template-columns:1fr;gap:30px}.film-poster{aspect-ratio:16/10}.film-library{padding-bottom:45px}.testimonials{padding:65px 24px 75px}.testimonials-heading{grid-template-columns:1fr;gap:24px;margin-bottom:32px}.testimonials h2{font-size:70px}.testimonials-heading p{font-size:15px;max-width:100%}.testimonials-grid{display:flex;overflow-x:auto;gap:18px;scroll-snap-type:x mandatory;padding-bottom:18px;scrollbar-color:var(--accent) var(--panel)}.testimonial-card{flex:0 0 82%;scroll-snap-align:start}.testimonial-card h3{font-size:30px}.story-more{margin-top:28px}.story-photo-pair{grid-template-columns:1fr;gap:25px}.story-photo-pair img{height:auto;max-height:65svh}.gallery-view{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}dialog .dialog-body{padding:20px}dialog .dialog-top{padding:12px 20px}dialog .dialog-top .eyebrow{font-size:10px}.gallery-toolbar{gap:10px;align-items:start;flex-direction:column}.gallery-thumb{aspect-ratio:3/4}.photo-view img{max-height:62svh}.photo-caption{font-size:12px}.demo-screens{grid-template-columns:1fr;gap:30px;max-width:340px}.demo-screens img{max-height:72svh;width:auto;margin:auto}.demo-screens figcaption{text-align:center}.riri-card img{height:380px}.contact .contact-main p{font-size:16px}}
@media(prefers-reduced-motion:reduce){.ambient-controls{opacity:1;pointer-events:auto}.phone-screen.primary,.phone-screen.secondary{transform:none}.project-media .cover,.collection-image img,.testimonial-portrait img{transition:none}}

/* Falú's review: clearer work, quieter type, and a centered studio identity. */
:root{--signature:'Allura','Brush Script MT',cursive}
.brand-words{display:flex;flex-direction:column;align-items:center;text-align:center}
.brand-words span{width:100%;text-align:center;padding-left:0;text-indent:.38em}
header{justify-content:flex-end}header nav{width:100%;gap:30px}header .nav-contact{margin-left:auto}
.hero-home-brand{position:absolute;left:50%;top:102px;z-index:5;transform:translateX(-50%);gap:8px;transition:opacity 1.2s .7s,transform 1.2s .7s}
.hero-home-brand img{width:56px;height:60px}.hero-home-brand b{font-size:35px;line-height:1}.hero-home-brand span{font-size:10px;letter-spacing:.24em;text-indent:.24em;margin-top:5px}
.intro-pending .hero-home-brand{opacity:0;pointer-events:none;transform:translate(-50%,12px);transition-delay:0s}
.hero-soften{color:var(--text);-webkit-text-stroke:1px var(--text);transition:color 2.3s ease,-webkit-text-stroke-color 2.3s ease}
.hero-settled .hero-soften{color:transparent;-webkit-text-stroke-color:#ddd4c9b3}
.hero .outline{-webkit-text-stroke-color:#ddd4c9b3}
.ambient-button{color:var(--text)}
.floating-sound{width:44px;height:44px;min-width:44px;min-height:44px;right:16px;bottom:max(16px,env(safe-area-inset-bottom));padding:12px;border:0;opacity:.5;box-shadow:none;background:#0e0b0970;transition:opacity .4s;animation:sound-arrives .55s ease}
.floating-sound svg{width:18px;height:18px}.floating-sound:hover,.floating-sound:focus-visible{opacity:1}
@keyframes sound-arrives{from{opacity:0;transform:translateY(7px)}to{opacity:.5;transform:none}}
.product-signature{font-size:15px;margin-bottom:22px;color:var(--muted)}
.courtesy-signature{position:absolute;right:22px;bottom:22px;display:flex;flex-direction:column;align-items:flex-end;gap:0;color:#363129;pointer-events:none;z-index:3;font-family:var(--body);line-height:1}
.courtesy-signature small{font-size:8px;letter-spacing:.08em;font-weight:400;text-transform:lowercase}
.courtesy-signature i{font-family:var(--signature);font-style:normal;font-size:25px;line-height:1.1;margin-top:3px}
dialog h3 .courtesy-signature{position:static;align-items:flex-start;color:var(--muted);margin-top:12px}dialog h3 .courtesy-signature i{font-size:28px}
.project-media .open-label{right:auto;max-width:64%;font-size:12px;gap:15px}
.dispatch-stage.project-media{display:flex;flex-direction:column;aspect-ratio:auto;height:auto!important;min-height:0;padding:0;overflow:hidden;clip-path:none;border-radius:14px;background:#f5f3ef;animation:app-drift 8s ease-in-out infinite}
.dispatch-stage .dispatch-interface{width:100%;height:auto;max-width:none;display:block;filter:brightness(.97)}
.dispatch-stage .open-label{position:static;width:100%;max-width:none;min-height:65px;padding:18px 165px 18px 22px;color:#363129;background:#ece7df;justify-content:flex-start;font-size:12px}
.dispatch-stage .courtesy-signature{bottom:14px}.dispatch-stage:hover{animation-play-state:paused}
@keyframes app-drift{0%,100%{transform:translateY(0) rotate(-.35deg)}50%{transform:translateY(-6px) rotate(.35deg)}}
.theranotes-stage .courtesy-signature{color:#23433a}
.cadence-stage>img{position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:center;box-shadow:none;border-radius:0}
.cadence-stage .open-label{color:#363129}.cadence-stage .courtesy-signature{color:#363129}
.beauty-centered.project-media{height:auto;min-height:0;aspect-ratio:4/5}
.beauty-centered .cover{object-position:100% 50%;transform:none}.beauty-centered:hover .cover{transform:none}
#kon .kon-tight{object-position:51% 100%;transform:scale(1.24) rotate(-1.3deg);transform-origin:51% 100%}
.intro{padding-top:95px;padding-bottom:85px}.intro-copy{grid-template-columns:minmax(0,1fr) minmax(0,1.8fr);align-items:center;gap:6vw}
.studio-photos{position:relative;min-height:350px;padding:0 38px 34px 0}.studio-photo{display:block;overflow:hidden;background:var(--panel)}
.studio-photo img{height:100%;width:100%;object-fit:cover;transition:transform .7s}.studio-photo:hover img{transform:scale(1.025)}
.studio-photo-main{width:88%;height:315px}.studio-photo-inset{position:absolute;right:0;bottom:65px;width:46%;height:150px;border:6px solid var(--bg)}
.studio-photos>.eyebrow{display:block;margin-top:24px;font-size:9px;letter-spacing:.04em}
.studio-statement .typing-line{display:block;position:relative;width:max-content;max-width:100%;color:var(--text);white-space:nowrap}
.studio-statement .typing-line:last-child{color:var(--muted)}
.typing-ghost{visibility:hidden}.typing-ink{position:absolute;left:0;top:0;color:inherit!important}
.typing-ink.is-current:after{content:'';display:inline-block;width:2px;height:.78em;margin-left:5px;background:var(--accent);animation:type-caret 1s steps(1,end) infinite}
@keyframes type-caret{0%,48%{opacity:1}49%,100%{opacity:0}}
.intro-note{margin-top:30px;max-width:470px}
.testimonial-upcoming{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:25px;border-top:1px solid var(--line);padding:30px 0 0;margin-top:15px}
.testimonial-upcoming h3{font:600 36px var(--display);margin:12px 0 0}.testimonial-upcoming h3 span{font:14px var(--body);color:var(--muted);margin-left:10px}
.testimonial-upcoming p{font-size:14px;color:var(--muted);margin:0}
.contact .contact-main{width:min(860px,100%);min-height:740px;aspect-ratio:1;margin:65px auto;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:30px;text-align:center;padding:70px;border:1px solid var(--line);background:radial-gradient(ellipse at 50% 25%,#2a1d16,var(--panel) 72%)}
.contact .contact-main h2{font-size:clamp(80px,10vw,150px)}
.contact .contact-main p{max-width:560px;font-size:16px;margin:0}
.contact .contact-main .cta{max-width:510px;min-height:70px;justify-content:center;position:relative;font-size:14px}.contact .contact-main .cta .arrow{position:absolute;right:26px}
@media(max-width:1100px){header nav{gap:20px;font-size:12px}.intro-copy{gap:4vw;grid-template-columns:minmax(0,1fr) minmax(0,1.8fr)}.intro h2{font-size:5.8vw}.studio-photo-main{height:270px}.studio-photos{min-height:300px}.studio-photo-inset{height:130px}.hero-home-brand{top:94px}}
@media(max-width:700px){header nav{width:auto;font-size:14px;gap:12px}.nav-contact{margin-left:0!important}.hero-home-brand{top:85px}.hero-home-brand img{width:49px;height:52px}.hero-home-brand b{font-size:32px}.hero-home-brand span{font-size:9px}.hero-inner{padding-top:173px}.hero-kicker{margin-bottom:22px}.hero-aside{margin-top:22px}.intro{padding:65px 24px}.intro-copy{grid-template-columns:1fr;gap:34px}.studio-photos{display:flex;gap:12px;align-items:start;min-height:0;padding:0 0 26px}.studio-photo-main{width:57%;height:200px}.studio-photo-inset{position:static;width:43%;height:160px;margin-top:30px;border:0}.studio-photos>.eyebrow{position:absolute;left:0;bottom:0;margin:0;font-size:8px}.intro h2{font-size:clamp(34px,10.7vw,49px)}.intro-note{font-size:14px}.courtesy-signature{right:16px;bottom:19px}.courtesy-signature i{font-size:22px}.courtesy-signature small{font-size:8px}.dispatch-stage .open-label{padding-left:16px;padding-right:130px;font-size:10px;gap:8px;min-height:60px}.dispatch-stage .courtesy-signature{bottom:14px}.project-media .open-label{font-size:11px;gap:10px}.testimonial-upcoming{flex:0 0 82%;padding:28px;flex-direction:column;align-items:flex-start;justify-content:center;margin:0;border:1px solid var(--line);background:#241a14;min-height:340px}.testimonial-upcoming h3{font-size:45px}.testimonial-upcoming h3 span{display:block;margin:10px 0 0}.contact .contact-main{aspect-ratio:auto;min-height:470px;margin:45px auto;padding:35px 22px;gap:22px}.contact .contact-main h2{font-size:clamp(60px,17vw,90px)}.contact .contact-main p{font-size:14px}.contact .contact-main p br{display:none}.contact .contact-main .cta{font-size:12px;min-height:62px;padding:18px 44px 18px 15px}.contact .contact-main .cta .arrow{right:18px}}
@media(prefers-reduced-motion:reduce){.dispatch-stage.project-media,.typing-ink:after,.floating-sound{animation:none!important}.hero-home-brand,.hero-soften,.studio-photo img{transition:none}.hero-settled .hero-soften{color:transparent}.floating-sound{opacity:.7}}
