@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#080808;--ink:#f2f2ef;--muted:#a2a2a2;--line:#292929;--lime:#c9ff5c;--blue:#73a5ff;--coral:#ff947e;font-family:'DM Sans',Arial,sans-serif;scroll-behavior:smooth}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}a{color:inherit;text-decoration:none}::selection{background:var(--lime);color:#080808}a:focus-visible,video:focus-visible{outline:2px solid var(--blue);outline-offset:5px}main,.site-header,footer{max-width:1600px;margin:auto}.site-header{height:78px;padding:0 clamp(22px,5vw,80px);display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}.wordmark{font:600 26px 'Space Grotesk',sans-serif;letter-spacing:-.07em}.mark-dot,.name-dot{color:var(--lime)}.header-note,.header-link,.intro-kicker,.section-heading>span,.piece-heading,.eyebrow,.about-index,.section-tag,footer{font-size:12px;font-weight:500;letter-spacing:.09em}.header-note{color:var(--muted)}.header-note span{margin:0 10px;color:var(--blue)}.header-link{font-size:14px;letter-spacing:0}.header-link span{color:var(--lime);margin-left:12px}.header-link:hover{color:var(--lime)}
.intro{padding:46px clamp(22px,5vw,80px) 44px;display:grid;grid-template-columns:1.5fr 1fr;gap:28px 40px;align-items:end}.intro-kicker{grid-column:1/-1;color:var(--muted);display:flex;align-items:center;gap:12px}.asterisk{color:var(--blue);font-size:20px}.intro h1{font:500 clamp(56px,8.5vw,132px)/.96 'Space Grotesk',Arial,sans-serif;letter-spacing:-.075em;margin:0}.intro h1 em{font-style:normal}.intro-bottom{padding-bottom:5px;display:flex;align-items:end;justify-content:space-between;gap:20px}.intro-bottom p{font-size:clamp(16px,1.6vw,23px);line-height:1.4;max-width:270px;margin:0;color:#c5c5c5}.circle-link{width:40px;height:40px;display:grid;place-items:center;font-size:28px;color:var(--coral);flex-shrink:0;transition:transform .2s}.circle-link:hover{transform:translateY(4px)}
.work{padding:0 clamp(22px,5vw,80px) 90px}.section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;border-top:1px solid var(--line);padding:24px 0 36px}.section-heading h2{font:500 23px/1.2 'Space Grotesk',sans-serif;letter-spacing:-.025em;margin:0}.section-heading>span{color:var(--muted)}.section-heading>span span{margin:0 10px;color:var(--lime)}.piece-heading{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px}.piece-number{color:var(--lime)}.eyebrow{color:var(--muted)}.feature-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.8fr);gap:clamp(24px,4vw,65px);align-items:center}.film-frame{background:#111;overflow:hidden}.film-frame video,.vertical-frame video{display:block;width:100%;height:100%;object-fit:contain}.landscape{aspect-ratio:16/9}.piece-copy h3{font:500 clamp(28px,2.6vw,42px)/1.12 'Space Grotesk',sans-serif;letter-spacing:-.045em;margin:22px 0}.piece-copy h3 i{font-style:normal;color:#a4a4a4}.piece-copy p,.moments-intro p,.vertical-copy p{font-size:16px;line-height:1.65;color:#bcbcbc;margin:0;max-width:480px}
.moments,.verticals{margin-top:82px;border-top:1px solid var(--line);padding-top:30px}.moments-intro{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:36px;margin-bottom:30px}.moments-intro h3,.vertical-heading h3{font:500 clamp(30px,3.5vw,50px)/1.1 'Space Grotesk',sans-serif;letter-spacing:-.05em;margin:0}.moments-intro h3 i{font-style:normal;color:#a4a4a4}.moments-intro h3:before{content:'';display:block;width:24px;height:3px;background:var(--blue);margin-bottom:20px}.moments-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.moment{min-width:0}.moment .piece-number{color:var(--blue)}.moment .eyebrow{letter-spacing:.03em}
.vertical-heading{margin-bottom:36px}.section-tag{display:block;color:var(--coral);margin-bottom:16px}.vertical-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,80px)}.vertical-card{min-width:0}.vertical-card .piece-number{color:var(--coral)}.vertical-frame{height:560px;background:#101010;overflow:hidden}.vertical-frame video{max-width:315px;margin:auto;background:#050505}.vertical-copy{padding-top:25px}.vertical-copy h4{font:500 clamp(29px,3vw,42px)/1.1 'Space Grotesk',sans-serif;letter-spacing:-.045em;margin:16px 0}.vertical-copy p{max-width:440px}
.about{margin:0 clamp(22px,5vw,80px) 70px;border-top:1px solid var(--line);padding:32px 0 40px;display:grid;grid-template-columns:1fr 2fr;gap:24px 40px}.about-index{color:var(--muted);line-height:1.6}.about h2{font:500 clamp(31px,4vw,60px)/1.06 'Space Grotesk',sans-serif;letter-spacing:-.055em;margin:0}.about h2 i{font-style:normal;color:#a4a4a4}.about p{grid-column:2;font-size:17px;line-height:1.65;color:#bcbcbc;max-width:650px;margin:0}footer{border-top:1px solid var(--line);padding:25px clamp(22px,5vw,80px);display:flex;justify-content:space-between;gap:20px;color:var(--muted)}footer a{color:var(--ink);font-size:14px;letter-spacing:0}
@media(max-width:900px){.feature-grid{grid-template-columns:1fr;gap:24px}.piece-copy{max-width:650px}.piece-copy h3{font-size:32px}.vertical-frame{height:480px}.vertical-frame video{max-width:270px}.about{grid-template-columns:1fr;gap:24px}.about p{grid-column:1}}
@media(max-width:620px){.site-header{height:64px}.header-note{display:none}.intro{padding-top:32px;grid-template-columns:1fr;gap:25px}.intro-kicker{grid-column:1;font-size:11px}.intro h1{font-size:clamp(48px,13vw,80px)}.intro-bottom{align-items:center}.intro-bottom p{max-width:240px;font-size:17px}.section-heading{padding:22px 0}.section-heading>span{display:none}.moments,.verticals{margin-top:54px}.moments-intro,.moments-grid,.vertical-grid{grid-template-columns:1fr}.moments-intro{gap:20px}.moments-grid{gap:26px}.vertical-grid{gap:42px}.vertical-frame{height:auto;aspect-ratio:9/16;max-width:350px;margin:auto}.vertical-frame video{max-width:none}.about{margin-bottom:30px}.work{padding-bottom:60px}.piece-copy h3{font-size:29px}.piece-heading,.eyebrow{font-size:12px}.moments-intro h3{font-size:32px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*{transition:none!important}}

/* Clean typographic cover: the portfolio begins with Sebastián's name. */
.cover-intro{min-height:560px;height:clamp(560px,51vw,760px);padding:54px clamp(22px,5vw,80px);background:radial-gradient(circle at 78% 25%,rgba(115,165,255,.13),transparent 24%),radial-gradient(circle at 62% 82%,rgba(201,255,92,.08),transparent 24%),#080808;overflow:hidden}
.cover-intro:before{content:'';position:absolute;inset:0;z-index:-1;opacity:.4;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(90deg,#000,transparent 78%)}
.cover-intro:after{content:'SB';position:absolute;right:5%;top:3%;z-index:-1;font:700 clamp(260px,35vw,560px)/1 'Space Grotesk',sans-serif;letter-spacing:-.12em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.11);transform:rotate(-8deg);pointer-events:none}
.cover-content{width:100%;max-width:1050px;padding:0;align-self:center}.cover-intro .intro-kicker{margin-bottom:34px;color:var(--muted)}
.cover-intro h1{font-size:clamp(75px,11.5vw,190px);line-height:.82;letter-spacing:-.1em;color:var(--ink);margin:0 0 42px;text-shadow:none;transform:none}.cover-intro h1 em{color:var(--ink)}.cover-intro .name-dot{color:var(--lime);text-shadow:none}
.cover-intro h1:after{content:'';display:inline-block;width:clamp(12px,1.2vw,20px);height:clamp(12px,1.2vw,20px);margin:0 0 .1em .12em;border-radius:50%;background:var(--coral);box-shadow:0 0 28px rgba(255,148,126,.65)}
.cover-intro .intro-bottom{max-width:420px;border-top:1px solid var(--line);padding-top:17px}.cover-intro .intro-bottom p{font-size:clamp(16px,1.4vw,21px);color:#c5c5c5;text-shadow:none}.cover-intro .circle-link{color:var(--blue)}
@media(max-width:620px){.cover-intro{height:470px;min-height:470px;padding:30px 22px}.cover-intro:after{right:-5%;top:28%;font-size:260px}.cover-intro:before{background-size:55px 55px}.cover-intro .intro-kicker{margin-bottom:22px}.cover-intro h1{font-size:clamp(54px,15vw,92px);line-height:.88;margin-bottom:30px}.cover-intro h1:after{width:10px;height:10px}.cover-intro .intro-bottom{max-width:250px}.cover-intro .intro-bottom p{font-size:15px}.cover-intro .circle-link{display:none}}

/* Portrait cover with live dimensional typography. */
.cover-intro{position:relative;isolation:isolate;display:flex;align-items:center;min-height:470px;height:clamp(470px,48vw,710px);padding:50px clamp(22px,5vw,80px);overflow:hidden;background:#080808;grid-template-columns:none;gap:0}
.cover-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 42%;z-index:-3}
.cover-intro:before{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(0,0,0,.73) 0%,rgba(0,0,0,.46) 29%,rgba(0,0,0,.12) 47%,transparent 62%)}
.cover-intro:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#080808 0%,rgba(8,8,8,.45) 12%,transparent 35%,transparent 85%,rgba(8,8,8,.14) 100%)}
.cover-content{width:46%;position:relative;padding-bottom:25px}.cover-intro .intro-kicker{font-size:11px;letter-spacing:.1em;color:#dad4cc;margin-bottom:28px}.cover-intro .asterisk{font-size:18px;color:#d2e7fb}
.cover-intro h1{font-size:clamp(47px,6.6vw,104px);font-weight:700;line-height:1.02;letter-spacing:-.065em;color:#f3eee5;margin:0 0 28px;text-shadow:1px 1px 0 #b7afa4,2px 2px 0 #a59b8f,3px 3px 0 #93877b,4px 4px 0 #807468,5px 5px 0 #6a5e53,6px 6px 0 #51473e,8px 11px 12px rgba(0,0,0,.75),0 1px 0 #fff;transform:perspective(1000px) rotateY(-5deg);transform-origin:left center}
.cover-intro h1 em{font-style:normal}.cover-intro .name-dot{color:var(--lime);text-shadow:1px 1px 0 #789e2c,2px 2px 0 #637d2d,3px 3px 0 #4c6222,5px 6px 6px #000}.cover-intro .intro-bottom{align-items:center;max-width:340px}.cover-intro .intro-bottom p{font-size:clamp(15px,1.4vw,20px);color:#ece5db;max-width:250px;text-shadow:0 2px 7px #000}.cover-intro .circle-link{color:#f0d5be;font-size:24px}
@media(max-width:900px){.cover-intro{min-height:400px;height:51vw;padding-top:35px;padding-bottom:35px}.cover-intro h1{font-size:clamp(40px,6.8vw,66px)}.cover-intro .intro-kicker{font-size:10px;letter-spacing:.04em;gap:7px}.cover-intro .intro-bottom p{font-size:15px}.cover-intro .circle-link{display:none}}
@media(max-width:620px){.cover-intro{height:82vw;min-height:290px;max-height:440px;padding:25px 22px;align-items:center}.cover-photo{object-position:65% 40%}.cover-content{width:48%;padding-bottom:0}.cover-intro h1{font-size:clamp(28px,7.6vw,47px);margin-bottom:20px;text-shadow:1px 1px 0 #b7afa4,2px 2px 0 #93877b,3px 3px 0 #6a5e53,4px 4px 0 #51473e,6px 8px 10px #000}.cover-intro .intro-kicker{font-size:9px;line-height:1.5;letter-spacing:.04em;margin-bottom:18px;display:block;max-width:145px}.cover-intro .asterisk{display:none}.cover-intro .intro-bottom p{font-size:13px;max-width:145px;line-height:1.45}.cover-intro:before{background:linear-gradient(90deg,rgba(0,0,0,.7),rgba(0,0,0,.45) 32%,rgba(0,0,0,.08) 60%,transparent 75%)}.cover-intro:after{background:linear-gradient(0deg,#080808,rgba(8,8,8,.55) 12%,transparent 33%)} }

.playback-error{font-size:14px;line-height:1.4;padding:12px;background:#161616;color:#eee;position:absolute;bottom:0;left:0;right:0;margin:0}.vertical-frame{position:relative}
 .managed-pieces{padding:5rem 0;border-top:1px solid rgba(255,255,255,.14)}.managed-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2rem}.managed-card h3{font-size:1.5rem;margin:1rem 0 .4rem}.managed-card p{color:#aaa;margin:0}
