
/* Kevin Garzón — foundations. Keep brand-case palettes scoped. */
:root{
 --font-sans:Arial,Helvetica,sans-serif;--font-editorial:Georgia,'Times New Roman',serif;
 --paper:#ffffff;--ink:#151515;--muted:#666666;--asterisk-gray:#a6a6a6;--line:#d9d9d9;
 --coral:#f3a48f;--accent:#bc431e;--lilac:#eeeeee;
 --hero-dark:#101010;--hero-light:var(--paper);--hero-soft:#cccccc;--hero-orange:#f17c52;
 --panel-dark:#161616;--panel-soft:#cccccc;--photo-opacity:.28;
 --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--space-24:96px;
 --radius-sm:8px;--radius-card:20px;--radius-pill:999px;
 --text-xs:14px;--text-sm:14px;--text-body:16px;--text-lead:clamp(18px,2vw,24px);--text-title:clamp(36px,5vw,72px);
 --content-width:1440px;--measure:65ch;--gutter:clamp(24px,5vw,80px);
 --duration-fast:180ms;--duration-ui:320ms;--duration-enter:1000ms;--ease-out:cubic-bezier(.16,1,.3,1);
 --shadow-card:0 20px 55px #17151b18;
}
.ahead-case{--case-purple:#5c1f63;--case-dark:#26082f;--case-lilac:#efebfd;--case-cream:#f4f0e8;--case-orange:#f76f26;--case-terra:#d8451d;--case-line:#ffffff25}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:36px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px}a{color:inherit;text-decoration:none}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:6px}img{display:block;width:100%;height:100%;object-fit:cover}header,main,footer{max-width:1600px;margin:auto}header{padding:32px 5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.wordmark{font-size:26px;letter-spacing:-1.7px;font-weight:700}.wordmark span{font-size:12px;vertical-align:top;margin-left:4px}nav{display:flex;gap:36px;font-size:13px}nav a:hover{color:var(--accent)}.skip{position:absolute;top:-80px;left:20px;background:var(--ink);color:white;padding:15px;z-index:20}.skip:focus{top:8px}.hero{padding:35px 5% 42px;overflow:hidden}.eyebrow,.label{font-size:11px;font-weight:500;letter-spacing:1.4px;text-transform:uppercase}.eyebrow{display:flex;justify-content:space-between}.hero-title{position:relative;min-height:430px;display:flex;align-items:center}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:Arial,Helvetica,sans-serif}h1{font-size:clamp(70px,8.8vw,140px);line-height:.98;font-weight:500;letter-spacing:-.075em;z-index:2;padding:62px 0 70px;pointer-events:none}em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.06em}.playground{width:40%;height:100%;position:absolute;right:0;top:0;--mx:0px;--my:0px}.spark{font-family:Arial,sans-serif;color:var(--accent);position:absolute;top:19%;left:27%;font-size:230px;line-height:1;animation:spin 40s linear infinite}.orbit{position:absolute;width:300px;height:300px;border:1px solid #dad8d0;border-radius:50%;top:17%;left:15%}.floating{width:135px;position:absolute;background:white;padding:6px;box-shadow:0 16px 32px #2221;transition:transform .4s ease-out}.floating img{height:103px}.floating figcaption{font-size:7px;letter-spacing:1px;padding:8px 2px 3px}.one{top:14%;left:4%;transform:translate(calc(var(--mx)*-1),calc(var(--my)*-1)) rotate(-12deg)}.two{bottom:13%;right:2%;transform:translate(var(--mx),var(--my)) rotate(9deg)}.coordinate{font-size:8px;letter-spacing:2px;position:absolute;bottom:13%;left:8%;writing-mode:vertical-rl}.hero-bottom{display:flex;align-items:center;justify-content:space-between;padding-top:22px;border-top:1px solid var(--line)}.hero-bottom p{font-size:14px;line-height:1.65}.round-link{font-size:12px;display:flex;gap:20px;align-items:center}.round-link span,.image-arrow{border:1px solid var(--ink);border-radius:50%;width:42px;height:42px;display:grid;place-items:center;font-size:20px;transition:all .25s}.round-link:hover span{background:var(--ink);color:var(--paper);transform:translateY(3px)}.work{padding:55px 5% 90px}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.section-head h2{font-size:16px;letter-spacing:-.5px}.section-head h2 span{font-size:10px;color:var(--muted);margin-left:12px;letter-spacing:0}.section-head>span{font-size:11px;color:var(--muted)}.project-image{display:block;position:relative;overflow:hidden;background:#e0ded5;aspect-ratio:1.38}.project-image>img{transition:transform .7s}.project-image:hover>img{transform:scale(1.025)}.ahead-image{aspect-ratio:2.12;background:#bbb}.ahead-image>img{filter:brightness(.65);object-position:center 55%}.ahead-art{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-around;color:white;padding:5%}.ahead-art>span{font-weight:700;letter-spacing:-10px;font-size:clamp(70px,12vw,190px)}.ahead-art p{font-size:clamp(16px,2.6vw,38px);letter-spacing:-1.5px;line-height:1.15}.dot{color:#c7b4e5}.badge{position:absolute;left:24px;top:24px;background:var(--paper);padding:9px 12px;border-radius:2px;font-size:8px;letter-spacing:1px}.image-arrow{position:absolute;bottom:22px;right:22px;color:var(--ink);background:var(--paper);border:0}.project-image:hover .image-arrow{transform:rotate(45deg)}.project-caption{padding:20px 0 26px;display:flex;justify-content:space-between;gap:20px}.project-caption h3{font-size:21px;letter-spacing:-.8px}.project-caption p{font-size:12px;color:var(--muted);margin-top:5px;line-height:1.5}.project-caption>span{font-size:10px;color:var(--muted);padding-top:7px;text-align:right}.case{display:grid;grid-template-columns:1fr 1.1fr;gap:12%;padding:40px 0 70px;border-bottom:1px solid var(--line);margin-bottom:60px;scroll-margin-top:32px}.case-intro h2{font-size:46px;line-height:1.1;letter-spacing:-2.5px;margin:20px 0}.case p{font-size:14px;line-height:1.75;color:var(--muted)}.text-link{display:inline-block;font-size:12px;border-bottom:1px solid var(--ink);padding-bottom:6px;margin-top:22px}.case-content>div+div{margin-top:30px}.case-content h3{font-size:20px;letter-spacing:-.6px;margin:12px 0}.case-content .label{color:var(--muted);font-size:9px}details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:27px}summary{display:flex;justify-content:space-between;font-size:13px;padding:18px 0;cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}summary span{font-size:20px}details[open] summary span{transform:rotate(45deg)}.detail-body{padding-bottom:24px}.detail-body p+p{margin-top:15px}.tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:18px}.tags span{border:1px solid var(--line);border-radius:20px;padding:6px 10px;font-size:10px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px 30px}.colonia-image img{object-position:center 42%}.archive{padding:30px 12%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;border:1px solid var(--line);margin-bottom:85px}.archive h3{font-size:clamp(36px,4.5vw,65px);letter-spacing:-3px;line-height:1.05;margin-top:28px}.archive:hover{background:#eceae3}.about{padding:65px 5% 80px;display:grid;grid-template-columns:1fr 2.2fr;border-top:1px solid var(--line);gap:5%}.about h2{font-size:clamp(32px,4.4vw,62px);letter-spacing:-2.5px;line-height:1.1}.about-columns{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin:35px 0}.about p{font-size:14px;line-height:1.8;color:var(--muted)}.disciplines{display:flex;flex-wrap:wrap;gap:10px}.disciplines span{font-size:10px;border:1px solid var(--line);border-radius:22px;padding:9px 15px}.contact{padding:65px 5% 55px;background:#242420;color:var(--paper)}.contact h2{font-size:clamp(62px,9vw,138px);line-height:1;letter-spacing:-.06em;font-weight:500;margin:40px 0 60px;position:relative}.orange{color:#ed794e;position:absolute;right:4%;top:20%;font-family:Arial;font-size:1.4em}.contact-bottom{display:flex;justify-content:space-between;align-items:end;border-top:1px solid #54544c;padding-top:25px}.contact-bottom p{font-size:13px;line-height:1.6;color:#c2c2b8}.contact-bottom>div{display:flex;gap:30px;font-size:13px}.contact a:hover{color:#ed794e}footer{padding:30px 5%;display:flex;justify-content:space-between;align-items:center}footer>span,footer>a:last-child{font-size:10px;color:var(--muted)}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:1600px){h1{font-size:140px}}@media(max-width:800px){header{padding:24px 6%}nav{gap:18px;font-size:11px}.wordmark{font-size:23px}.hero{padding:26px 6% 30px}.hero-title{min-height:410px;align-items:flex-start}h1{font-size:clamp(64px,12vw,96px);padding:48px 0 170px}.playground{width:50%;height:230px;top:auto;bottom:15px}.spark{font-size:150px;left:15%;top:20%}.orbit{width:190px;height:190px;left:0;top:15%}.floating{width:83px}.floating img{height:64px}.floating figcaption{font-size:5px;padding:4px 0}.one{top:5%;left:0}.two{right:0;bottom:3%}.coordinate{display:none}.hero-bottom p{font-size:12px}.round-link{font-size:10px;gap:10px}.work{padding:40px 6% 50px}.case{gap:7%;grid-template-columns:1fr 1fr}.case-intro h2{font-size:34px}.case p{font-size:12px}.case-content h3{font-size:17px}.project-caption{display:block}.project-caption>span{display:block;text-align:left}.project-grid{gap:20px}.archive{margin-bottom:90px}.about{grid-template-columns:1fr;padding:45px 6%;gap:24px}.contact{padding:45px 6%}.contact h2{font-size:70px}.eyebrow{font-size:9px}.ahead-art>span{letter-spacing:-5px}.badge{left:14px;top:14px;font-size:7px;padding:7px 9px}.image-arrow{width:34px;height:34px;right:14px;bottom:14px}}@media(max-width:520px){nav{gap:15px}nav a:nth-child(2){display:none}.hero-title{min-height:430px}h1{font-size:18vw;padding-top:45px}.playground{width:62%;bottom:5px}.hero-bottom{align-items:flex-start;gap:18px}.hero-bottom p{max-width:60%}.desktop{display:none}.round-link{max-width:95px;line-height:1.5}.round-link span{flex-shrink:0;width:32px;height:32px}.section-head>span{display:none}.section-head h2{font-size:14px}.ahead-image{aspect-ratio:1.25}.ahead-art{flex-direction:column;justify-content:center;gap:10px}.ahead-art>span{font-size:88px}.ahead-art p{font-size:18px;letter-spacing:-.5px;text-align:center}.case{grid-template-columns:1fr;gap:30px;padding:20px 0 40px;margin-bottom:35px}.case-intro h2{font-size:40px}.case p{font-size:14px}.project-grid{grid-template-columns:1fr;gap:12px}.archive{padding:35px;margin-bottom:0;min-height:260px}.archive h3{font-size:48px}.about-columns{grid-template-columns:1fr;gap:16px}.about h2{font-size:36px}.contact h2{font-size:62px}.orange{font-size:80px;right:0;top:30%}.contact-bottom{align-items:start;gap:25px;flex-direction:column}footer{gap:20px;flex-wrap:wrap}footer .wordmark{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.one{transform:rotate(-12deg)}.two{transform:rotate(9deg)}}

.photo-links{border-top:1px solid var(--line);padding:24px 0 30px}.photo-links p{margin-top:12px;max-width:500px}.photo-links>div{display:flex;gap:28px;flex-wrap:wrap}.contact-bottom .social-links{display:flex;max-width:52%;flex-wrap:wrap;justify-content:flex-end;gap:16px 25px}.social-links .whatsapp{width:100%;text-align:right;color:#f4f3ef;font-size:16px}.social-links a{padding:5px 0}@media(max-width:520px){.contact-bottom .social-links{max-width:100%;justify-content:flex-start}.social-links .whatsapp{text-align:left;font-size:15px}}
.services{padding:55px 5% 65px;border-top:1px solid var(--line)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:35px}.service-grid article{border-top:2px solid var(--ink);padding-top:24px}.service-grid h3{font-size:30px;line-height:1.12;letter-spacing:-1.1px;margin:28px 0 20px}.service-grid p,.working-note p{font-size:14px;line-height:1.75;color:var(--muted)}.working-note{margin-top:42px;padding-top:24px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 2fr;gap:30px}.working-note p{max-width:650px}@media(max-width:800px){nav{gap:14px}.service-grid{gap:20px}.service-grid h3{font-size:25px}}@media(max-width:600px){.services{padding:40px 6%}.service-grid{grid-template-columns:1fr;gap:30px}.service-grid h3{margin:18px 0 14px}.working-note{grid-template-columns:1fr;gap:14px}nav a[href="#sobre-mi"]{display:none}nav a[href="#servicios"]{display:block}}

/* Hero editorial: proyectos reales sobre una mesa visual. */
.hero-v2{padding:28px 5% 0}.hero-layout{display:grid;grid-template-columns:1.02fr 1fr;gap:4%;align-items:center;padding:45px 0 35px}.hero-kicker{font-size:10px;letter-spacing:1.5px}.hero-copy h1{font-size:clamp(58px,6.5vw,102px);padding:25px 0;line-height:.98;letter-spacing:-.065em;font-weight:500}.hero-copy h1 em{color:var(--accent)}.hero-copy>p{font-size:16px;line-height:1.7;max-width:420px;color:var(--muted)}.hero-actions{display:flex;align-items:center;gap:25px;margin:28px 0}.primary-link{display:inline-flex;gap:25px;align-items:center;padding:17px 22px;border-radius:50px;background:var(--ink);color:var(--paper);font-size:13px}.primary-link:hover{background:var(--accent)}.secondary-link{font-size:13px;border-bottom:1px solid var(--line);padding:10px 0}.hero-footnote{display:block;font-size:10px;line-height:1.7;color:var(--muted)}.hero-board{position:relative;height:540px;isolation:isolate;--mx:0px;--my:0px}.board-grid{position:absolute;inset:6% 0 5%;border-radius:48% 48% 10px 10px;background-color:var(--lilac);background-image:linear-gradient(#fff5 1px,transparent 1px),linear-gradient(90deg,#fff5 1px,transparent 1px);background-size:35px 35px;transform:rotate(5deg);z-index:-2}.board-card{position:absolute;display:block;padding:9px;background:var(--paper);box-shadow:0 15px 35px #24242024;transition:transform .35s}.board-card>img{object-fit:cover;height:calc(100% - 28px)}.board-card>span{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1px;padding:10px 3px 0}.board-card b{font-size:12px}.board-ahead{width:72%;height:250px;left:1%;top:15%;transform:translate(var(--mx),var(--my)) rotate(-9deg);z-index:2}.board-ahead>img{filter:brightness(.65)}.board-logo{position:absolute;left:17%;right:17%;top:22%}.board-logo img{object-fit:contain;height:auto}.board-centauro{width:44%;height:200px;right:-1%;bottom:10%;transform:translate(calc(var(--mx)*-.6),calc(var(--my)*-.6)) rotate(9deg);z-index:3}.board-viajero{width:39%;height:190px;left:10%;bottom:2%;transform:rotate(-5deg);z-index:1}.board-card:hover,.board-card:focus-visible{transform:rotate(0deg) translateY(-8px);z-index:4}.board-star{position:absolute;right:1%;top:3%;font-size:145px;line-height:1;color:var(--hero-orange);transform:rotate(12deg);z-index:3}.board-note{position:absolute;left:5%;top:1%;font-size:11px;line-height:1.5;transform:rotate(-6deg)}.board-stamp{position:absolute;right:2%;top:42%;font-size:19px;line-height:1.1;transform:rotate(8deg);z-index:4}.board-stamp em{font-size:29px}.hero-strip{display:flex;align-items:center;gap:26px;border-top:1px solid var(--line);padding:22px 0;font-size:10px;letter-spacing:1.6px}.hero-strip i{font-size:22px;color:var(--accent);font-style:normal}.hero-strip a{margin-left:auto;letter-spacing:0;font-size:11px}.ahead-art>.ahead-logo{width:48%;height:auto;object-fit:contain}.brandbook-links{display:flex;flex-wrap:wrap;gap:0 20px}.brandbook-links .text-link{line-height:1.5}
@media(max-width:900px){.hero-layout{gap:3%}.hero-board{height:450px}.board-ahead{height:210px}.board-centauro{height:170px}.board-viajero{height:150px}.hero-copy h1{font-size:7vw}.hero-actions{gap:14px}.primary-link{padding:15px 17px;gap:12px}.board-star{font-size:115px}.hero-copy>p{font-size:14px}.hero-strip{gap:16px}}
@media(max-width:650px){.hero-v2{padding:25px 6% 0}.hero-v2 .eyebrow{font-size:8px;gap:15px}.hero-layout{grid-template-columns:1fr;padding:32px 0 20px;gap:20px}.hero-copy h1{font-size:clamp(58px,12.5vw,82px);padding:20px 0}.hero-copy>p{max-width:440px;font-size:15px}.hero-actions{margin:24px 0 17px}.hero-board{height:430px;width:100%;max-width:470px;margin:auto}.board-ahead{height:220px}.board-centauro{height:180px}.board-viajero{height:170px}.hero-strip{gap:12px;flex-wrap:wrap;font-size:8px}.hero-strip a{width:100%;margin-left:0;padding-top:8px}.ahead-art>.ahead-logo{width:80%;max-height:140px}.board-note{top:3%}.board-star{top:4%}.board-stamp{font-size:16px}.board-stamp em{font-size:25px}}
@media(prefers-reduced-motion:reduce){.hero-board{--mx:0px!important;--my:0px!important}.board-card{transition:none}.board-card:hover{transform:none}}

.project-gallery{margin-top:0;margin-bottom:25px}.project-gallery img{height:auto;object-fit:contain}.project-gallery figcaption{font-size:12px;line-height:1.6;color:var(--muted);padding:15px 0}

.campaigns{padding:0 5% 65px}.campaign-case{border-top:1px solid var(--line);padding:55px 0;scroll-margin-top:30px}.campaign-heading{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:end;margin-bottom:35px}.campaign-heading h2{font-size:clamp(32px,4vw,58px);letter-spacing:-2px;line-height:1.1;margin-top:20px}.campaign-heading p{font-size:14px;line-height:1.8;color:var(--muted)}.campaign-heading .project-context{font-size:11px;margin-top:18px}.campaign-gallery{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.campaign-gallery img,.campaign-banner{height:auto;object-fit:contain}.campaign-gallery figcaption,.motion-sample figcaption{font-size:11px;line-height:1.7;color:var(--muted);padding:12px 0}.campaign-detail{margin:25px 0}.campaign-detail .campaign-gallery{padding-top:10px}.project-credits{padding:25px 0}.project-credits h3{font-size:20px;margin-bottom:15px}.project-credits p{font-size:13px;line-height:1.8;color:var(--muted);margin-top:8px}.motion-sample video{display:block;width:100%;height:auto;background:var(--ink);max-height:650px}.campaign-cover{aspect-ratio:1.38}.campaign-cover img{object-position:50% 30%}.ml-cover{aspect-ratio:1.38}.ml-cover img{object-fit:contain;background:#153b75}@media(max-width:650px){.campaigns{padding:0 6% 30px}.campaign-heading,.campaign-gallery{grid-template-columns:1fr;gap:24px}.campaign-case{padding:35px 0}.campaign-heading h2{letter-spacing:-1.4px}}

.explorations{padding:60px 5%;border-top:1px solid var(--line)}.exploration-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.exploration-grid img{height:auto;aspect-ratio:16/9;object-fit:contain}.exploration-grid figcaption{padding:22px 0}.exploration-grid h3{font-size:24px;letter-spacing:-.7px;margin:12px 0}.exploration-grid p{font-size:13px;color:var(--muted);line-height:1.7}.exploration-grid a{display:block}.exploration-grid a:hover{opacity:.9}@media(max-width:650px){.explorations{padding:40px 6%}.exploration-grid{grid-template-columns:1fr;gap:20px}}

.brand-process{padding:5px 0 65px;margin-bottom:50px;border-bottom:1px solid var(--line);scroll-margin-top:35px}.process-steps{list-style:none;padding:0;margin:0 0 35px;display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.process-steps li{padding-top:20px;border-top:1px solid var(--line)}.process-steps h3{font-size:21px;letter-spacing:-.6px;margin:14px 0}.process-steps p,.process-result p{font-size:13px;line-height:1.8;color:var(--muted)}.process-gallery{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.process-gallery img{height:auto;aspect-ratio:16/9;object-fit:contain}.process-gallery a{display:block}.process-gallery figcaption{font-size:12px;line-height:1.7;color:var(--muted);padding:15px 0}.process-gallery figcaption strong{color:var(--ink)}.process-gallery figcaption span{display:block;margin-top:5px}.territory-list{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;padding:10px 0 30px;font-size:13px;line-height:1.7}.process-deep{margin:22px 0 35px}.process-result{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center;padding:30px;background:var(--lilac)}.process-result img{height:auto;object-fit:contain}.process-result h3{font-size:26px;letter-spacing:-.7px;margin:16px 0}.process-jump{display:table}.process-result p{color:var(--ink)}@media(max-width:700px){.process-steps,.process-gallery,.process-result,.territory-list{grid-template-columns:1fr}.process-steps{gap:22px}.process-result{padding:24px}.brand-process{margin-bottom:30px;padding-bottom:35px}}

.project-shell{padding:35px 5% 65px}.project-heading{padding:12px 0 45px;max-width:1000px}.back-link{display:inline-block;font-size:12px;margin-bottom:45px;color:var(--muted)}.project-heading .label{line-height:1.8}.project-heading h1{font-size:clamp(44px,7vw,98px);padding:22px 0;letter-spacing:-.06em;line-height:1.03;pointer-events:auto;overflow-wrap:anywhere}.project-lead{font-size:clamp(16px,2vw,22px);line-height:1.6;max-width:750px;color:var(--muted)}.project-cover{width:100%;height:auto;max-height:680px;object-fit:contain;background:var(--paper);margin-bottom:40px}.project-story{max-width:1000px;margin:50px auto}.project-story h2{font-size:clamp(28px,4vw,48px);letter-spacing:-1.5px;margin-bottom:24px}.project-story p{font-size:16px;line-height:1.8;max-width:720px;color:var(--muted);margin-bottom:20px}.project-story figure{margin:35px 0}.project-story img{height:auto;object-fit:contain}.project-story figcaption{font-size:12px;line-height:1.7;color:var(--muted);padding-top:15px}.project-next{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding:30px 0;font-size:14px;line-height:1.6}.social-icon{width:20px;height:20px;flex-shrink:0}.social-links a{display:inline-flex;align-items:center;gap:8px}.social-links .whatsapp{justify-content:flex-end}.project-page .campaign-case{border-top:0}.project-page .case{padding-top:20px}.project-page footer{font-size:12px}@media(max-width:650px){.project-shell{padding:25px 6% 35px}.project-heading{padding-bottom:30px}.back-link{margin-bottom:30px}.project-next{flex-direction:column}.social-links .whatsapp{justify-content:flex-start}.project-page nav{gap:18px}.project-page .wordmark{font-size:20px}}

.case-index{display:flex;flex-wrap:wrap;gap:18px 30px;padding:25px 0;border-block:1px solid var(--line);font-size:12px;line-height:1.7}.project-story{scroll-margin-top:30px}.wedding-highlight{grid-column:1/-1}.wedding-highlight .project-image{aspect-ratio:2.15}.wedding-highlight img{object-position:50% 50%}@media(max-width:650px){.wedding-highlight .project-image{aspect-ratio:1.4}.case-index{gap:16px}}

.hero-dark{background:var(--hero-dark);color:var(--hero-light);position:relative}.hero-dark .hero-copy h1 em{color:var(--coral)}.hero-dark .hero-copy>p,.hero-dark .hero-footnote{color:var(--hero-soft)}.hero-dark .primary-link{background:var(--coral);color:var(--hero-dark)}.hero-dark .primary-link:hover{background:white}.hero-dark .secondary-link,.hero-dark .hero-strip{border-color:#46504b}.hero-dark .hero-strip i{color:var(--coral)}.hero-dark .hero-board{height:570px;background:radial-gradient(ellipse at center,#44403560,transparent 65%)}.hero-fallback{position:absolute;inset:0}.hero-dark .board-grid{background-color:#333c36;background-image:linear-gradient(#fff1 1px,transparent 1px),linear-gradient(90deg,#fff1 1px,transparent 1px)}.hero-dark .board-card{color:var(--ink)}.hero-dark .board-star{color:var(--coral)}.hero-dark .board-stamp{color:var(--hero-light)}.hero-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.is-3d .hero-fallback{display:none}.scene-controls{display:flex;align-items:center;justify-content:flex-end;gap:20px;flex-wrap:wrap;padding:0 0 24px;font-size:10px;color:var(--hero-soft)}.scene-links{display:flex;gap:18px}.scene-links a{padding:8px 0;border-bottom:1px solid #647061}.motion-toggle{font:inherit;color:inherit;background:transparent;border:1px solid #65705e;border-radius:30px;padding:9px 13px;cursor:pointer}.motion-toggle:focus-visible{outline:2px solid var(--coral);outline-offset:4px}.hero-dark .hero-layout{gap:0;grid-template-columns:1fr 1.1fr}.hero-dark .hero-copy h1{font-size:clamp(58px,6.6vw,100px)}@media(max-width:850px){.hero-dark .hero-layout{grid-template-columns:1fr}.hero-dark .hero-copy h1{font-size:clamp(56px,11vw,84px)}.hero-dark .hero-board{height:460px;max-width:500px;margin:25px auto 0;width:100%}.scene-controls{justify-content:flex-start}.hero-dark .hero-copy>p{max-width:520px}.hero-dark .hero-copy{padding-top:10px}}@media(max-width:420px){.hero-dark .hero-board{height:370px}.hero-dark .board-ahead{height:190px}.hero-dark .board-viajero{height:145px}.hero-dark .board-centauro{height:155px}.scene-controls{gap:12px}}

@media(max-width:850px){.hero-board.is-3d .hero-fallback{display:block}.hero-canvas{display:none}.motion-toggle{display:none}}@media(prefers-reduced-motion:reduce){.hero-board.is-3d .hero-fallback{display:block}.hero-canvas,.motion-toggle{display:none}}
/* Warm accents, quiet atmosphere and cleaner project surfaces. */
.hero-dark{isolation:isolate;background:#1d1b20}.hero-dark>.eyebrow,.hero-layout,.hero-strip,.scene-controls,.palette-options{position:relative;z-index:1}.hero-atmosphere{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;opacity:.6}.hero-dark .hero-board{background:none}.hero-dark .board-grid,.board-star,.board-stamp,.board-note{display:none}.board-card{padding:5px;border-radius:12px;overflow:hidden;box-shadow:0 25px 70px #0004}.board-card>img{border-radius:8px}.hero-dark .eyebrow{gap:20px;line-height:1.6}.palette-options{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding-bottom:20px;font-size:11px;color:var(--hero-soft)}.palette-options>span{margin-right:8px}.palette-options button{font:inherit;border:1px solid #ffffff40;border-radius:30px;background:transparent;color:var(--hero-light);padding:9px 14px;cursor:pointer}.palette-options button[aria-pressed=true]{background:var(--coral);color:#211d24;border-color:transparent}.palette-options button:focus-visible{outline:2px solid var(--coral);outline-offset:3px}.project-image{border-radius:16px}.project-grid>article{border-bottom:1px solid var(--line)}.image-arrow{background:var(--paper);width:44px;height:44px}.project-caption{padding:22px 4px 28px}.project-caption h3{font-size:24px;letter-spacing:-.8px}.badge{border-radius:30px}.about-personal{grid-template-columns:.85fr 1.3fr;gap:8%;padding-block:85px}.about-visual>.label{display:block;margin-bottom:28px}.portrait{border-radius:18px;overflow:hidden;aspect-ratio:4/5}.portrait img{object-position:50% 30%}.analog-photo{width:78%;margin:-35px 0 0 27%;position:relative;transform:rotate(-4deg);border:7px solid var(--paper);background:var(--paper);box-shadow:0 12px 30px #24242015}.analog-photo img{aspect-ratio:1.5;height:auto}.analog-photo figcaption{font-size:10px;padding:10px 2px;color:var(--muted)}.about-personal h2{margin-top:20px}.ux-profile{padding:26px;background:#e8e0ee;border-radius:16px;margin-bottom:28px}.ux-profile h3{font-size:26px;letter-spacing:-1px;line-height:1.15;margin:18px 0}.ux-profile dl{margin:22px 0 0}.ux-profile dl>div{padding:12px 0;border-top:1px solid #c9bed2}.ux-profile dt{font-size:11px;font-weight:700;margin-bottom:5px}.ux-profile dd{margin:0;font-size:12px;line-height:1.6;color:#5c5264}.about-personal .about-columns{gap:22px}.social-icon{stroke:none}.scene-links a,.motion-toggle{border-color:#ffffff45}@media(max-width:800px){.about-personal{grid-template-columns:1fr}.about-visual{max-width:430px;margin:0 auto 30px}.about-personal .about-columns{grid-template-columns:1fr}.hero-dark .eyebrow{flex-direction:column;gap:8px}.hero-atmosphere{opacity:.3}}@media(prefers-reduced-motion:reduce){.hero-atmosphere{display:none}}
.hero-dark::before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,#1d1b20 10%,transparent 85%),url('assets/kevin-analoga.jpg') center 42%/cover;opacity:.12;pointer-events:none}.hero-atmosphere{mix-blend-mode:screen}
/* Photographic sequence shared by the opening and closing sections. */
.hero-dark::before{display:none}.photo-backdrop{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:#1d1b20}.photo-backdrop img{position:absolute;inset:-3%;width:106%;height:106%;object-fit:cover;opacity:0;filter:saturate(.55);animation:photo-drift 40s linear infinite;animation-delay:calc(var(--slide)*10s)}.photo-backdrop img:first-child{opacity:1}.photo-backdrop::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,18,23,.9),rgba(20,18,23,.78) 55%,rgba(20,18,23,.74))}.background-paused .photo-backdrop img{animation-play-state:paused}.backdrop-toggle{font:inherit;font-size:10px;padding:9px 13px;border:1px solid #ffffff45;border-radius:30px;background:#17151b55;color:var(--hero-light);cursor:pointer}.backdrop-toggle:focus-visible{outline:2px solid var(--coral);outline-offset:4px}.hero-copy>p{max-width:490px}.hero-footnote{max-width:420px}.contact{position:relative;isolation:isolate;overflow:hidden;background:#1d1b20}.contact>.label,.contact h2,.contact-bottom,.contact-top{position:relative;z-index:2}.contact-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.contact::after{content:"";position:absolute;inset:-15%;pointer-events:none;z-index:1;opacity:.12;background-image:radial-gradient(#f3a48f 1px,transparent 1px);background-size:7px 7px;mask-image:radial-gradient(ellipse at 75% 35%,black,transparent 70%);animation:grain-drift 18s ease-in-out infinite alternate}.contact.background-paused::after{animation-play-state:paused}.contact .orange{color:var(--coral)}.contact .photo-backdrop::after{background:linear-gradient(110deg,#19171ee8,#19171ec9)}
.working-note{position:relative;display:grid;grid-template-columns:90px 1.5fr 1fr;gap:32px;align-items:center;background:#edd1c5;border:0;border-radius:20px;padding:42px;margin-top:55px;overflow:hidden}.start-symbol{font-size:84px;line-height:1;align-self:start;color:#a4402b}.start-copy h3{font-size:clamp(28px,3vw,43px);line-height:1.08;letter-spacing:-1.6px;margin:18px 0}.working-note p{color:#51413d;max-width:510px}.start-copy .primary-link{margin-top:24px;background:#242020}.start-steps{list-style:none;margin:0;padding:0}.start-steps li{padding:20px 0;border-bottom:1px solid #bc9e9380;font-size:13px;display:flex;align-items:center;gap:16px}.start-steps span{display:grid;place-items:center;flex-shrink:0;width:30px;height:30px;border:1px solid #bc9e93;border-radius:50%;font-size:10px;color:#7d4b3d}
@keyframes photo-drift{0%{opacity:0;transform:translateX(-1.5%) scale(1.04)}5%,25%{opacity:1}30%,100%{opacity:0;transform:translateX(1.5%) scale(1.1)}}@keyframes grain-drift{to{transform:translate(2%,-2%) rotate(2deg)}}
@media(max-width:850px){.working-note{grid-template-columns:1fr;gap:20px;padding:30px}.start-symbol{position:absolute;right:25px;top:28px;font-size:46px}.start-copy h3{padding-right:35px}.start-steps{display:flex;gap:18px;flex-wrap:wrap}.start-steps li{flex:1;min-width:130px;align-items:flex-start;flex-direction:column}.photo-backdrop::after{background:#18161cdb}}
@media(prefers-reduced-motion:reduce){.photo-backdrop img{animation:none;opacity:0;transform:none}.photo-backdrop img:first-child{opacity:1}.contact::after{animation:none}.backdrop-toggle{display:none}}
.photo-backdrop{opacity:.58}.photo-backdrop img{object-position:50% 35%}.photo-backdrop img[src$="photo-slide-3.webp"]{object-position:50% 20%}
/* Final art direction: almost invisible monochrome photography. */
.photo-backdrop{opacity:var(--photo-opacity)}.photo-backdrop img{filter:grayscale(1)}.contact h2 em{color:var(--coral)}.contact .orange{font-size:1.05em;top:17%;line-height:1}.analog-photo{width:65%;margin:-45px 0 0 37%;padding:10px 10px 32px;border:0;transform:rotate(-5deg);box-shadow:0 15px 40px #0002}.analog-photo img{aspect-ratio:1;object-fit:cover;object-position:50% 50%;height:auto}.portrait{animation:portrait-drift 9s ease-in-out infinite alternate}.analog-photo{animation:film-drift 8s ease-in-out infinite alternate}.about-visual:hover figure{animation-play-state:paused}.about-visual{align-self:start}.working-note{background:var(--panel-dark);color:var(--paper);isolation:isolate;transition:box-shadow .4s ease;--spot-x:70%;--spot-y:40%}.working-note::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.65;background:radial-gradient(340px circle at var(--spot-x) var(--spot-y),#f3a48f20,transparent 75%);pointer-events:none}.working-note:hover,.working-note:focus-within{box-shadow:0 20px 50px #211e2320}.working-note p{color:var(--panel-soft)}.start-symbol{color:var(--coral);font-size:74px;transition:transform .9s ease}.working-note:hover .start-symbol,.working-note:focus-within .start-symbol{transform:rotate(45deg)}.start-copy .primary-link{background:var(--coral);color:var(--panel-dark);transition:transform .25s,background .25s}.start-copy .primary-link:hover{transform:translateY(-3px);background:#f5b9a8}.start-steps li{border-color:#ffffff25}.start-steps span{color:var(--coral);border-color:#ffffff35}.about-visual.motion-away figure{animation-play-state:paused}@keyframes portrait-drift{from{transform:translateY(0)}to{transform:translateY(-7px)}}@keyframes film-drift{from{transform:translateY(0) rotate(-5deg)}to{transform:translateY(6px) rotate(-3deg)}}@media(max-width:600px){.contact .orange{font-size:64px;top:24%}.analog-photo{margin-top:-30px}.start-symbol{font-size:45px}}@media(prefers-reduced-motion:reduce){.portrait,.analog-photo{animation:none}.working-note:hover .start-symbol,.working-note:focus-within .start-symbol{transform:none}.start-copy .primary-link:hover{transform:none}}
/* Edge-to-edge hero, one global motion control, and explanatory steps. */
main{max-width:none}main>section:not(.hero){max-width:1600px;margin-inline:auto}.hero-dark{width:100%;margin:0;padding-inline:max(5%,calc((100% - 1440px)/2));padding-bottom:28px}.hero-dark .hero-layout{padding-top:20px;padding-bottom:10px;min-height:620px}.hero-dark .hero-copy h1{padding-top:0}.animation-switch{position:fixed;right:20px;bottom:18px;z-index:30;display:flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid #ffffff30;border-radius:30px;background:#242027ed;color:#f4efe6;font:14px Arial,sans-serif;box-shadow:0 4px 18px #0002;cursor:pointer}.switch-track{width:25px;height:14px;border-radius:20px;background:#6d636c;position:relative}.switch-track::after{content:"";position:absolute;left:2px;top:2px;width:10px;height:10px;border-radius:50%;background:#fff;transition:transform .2s}.animation-switch[aria-checked=true] .switch-track{background:var(--coral)}.animation-switch[aria-checked=true] .switch-track::after{transform:translateX(11px);background:#242027}.animation-switch:focus-visible{outline:2px solid var(--coral);outline-offset:4px}.animation-switch:disabled{cursor:default;opacity:.7}.start-steps li{display:block;padding:0}.start-steps button{display:flex;width:100%;align-items:center;gap:16px;text-align:left;color:var(--paper);font:16px Arial,sans-serif;background:none;border:0;padding:20px 0;cursor:pointer}.start-steps button b{margin-left:auto;color:var(--coral);font-size:17px;font-weight:400}.start-steps button[aria-expanded=true] b{transform:rotate(45deg)}.start-steps button:focus-visible{outline:2px solid var(--coral);outline-offset:4px}.start-steps p{font-size:16px;line-height:1.7;padding:0 0 20px 46px;max-width:320px}.start-steps p[hidden]{display:none}html[data-motion=off]{scroll-behavior:auto}html[data-motion=off] *,html[data-motion=off] *::before,html[data-motion=off] *::after{animation-play-state:paused!important;transition:none!important}html[data-motion=off] .working-note:hover .start-symbol{transform:none}@media(max-width:850px){.hero-dark .hero-layout{min-height:0;padding-top:35px}.start-steps{display:block}.start-steps p{max-width:none}.animation-switch{right:12px;bottom:12px}}@media(prefers-reduced-motion:reduce){.animation-switch .switch-track::after{transition:none}}

body,h1,h2,h3,button{font-family:var(--font-sans)}em{font-family:var(--font-editorial)}
.primary-link,.case-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-4);min-height:46px;padding:14px 22px;border-radius:var(--radius-pill);font-size:var(--text-sm);line-height:1.4;transition:transform var(--duration-ui) var(--ease-out),background var(--duration-ui)}
.primary-link:hover,.case-button:hover{transform:translateY(-3px)}
.case-button{background:var(--coral);color:var(--ink);border:1px solid transparent}.case-button.outline{background:transparent;color:inherit;border-color:currentColor}
.label,.eyebrow{font-size:var(--text-xs);letter-spacing:.12em;line-height:1.6}.project-image,.portrait,.ux-profile,.working-note{border-radius:var(--radius-card)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.animation-switch{position:relative;inset:auto;box-shadow:none;width:max-content;margin:0}.section-motion{display:flex;justify-content:flex-end;padding-top:var(--space-4);position:relative;z-index:2}.contact-top .animation-switch{order:2;margin-left:auto}.contact-top>.label{order:1}
.analog-photo{background:#141316;border:1px solid #353139;padding:14px 14px 38px;box-shadow:0 22px 50px #0003}.analog-photo::after{content:"35 MM / FRAME 01";position:absolute;left:14px;bottom:13px;color:#f3a48f;font:8px var(--font-sans);letter-spacing:2px}.analog-photo img{filter:grayscale(1)}
.portrait{animation:portrait-drift 7s ease-in-out infinite alternate}.analog-photo{animation:film-drift 6s ease-in-out infinite alternate}@keyframes portrait-drift{from{transform:translateY(0) rotate(.3deg)}to{transform:translateY(-12px) rotate(-.4deg)}}@keyframes film-drift{from{transform:translateY(-3px) rotate(-6deg)}to{transform:translateY(9px) rotate(-2deg)}}
.photo-backdrop img{animation-name:photo-cycle;animation-duration:48s;animation-delay:calc(var(--slide)*8s);transform-origin:50% 50%}@keyframes photo-cycle{0%{opacity:0;transform:translate(-2%,-1%) scale(1.08) rotate(-1.3deg)}4%,16.67%{opacity:1}21%,100%{opacity:0;transform:translate(2%,1%) scale(1.16) rotate(1.3deg)}}
.ds-page{padding:var(--space-16) var(--gutter);max-width:var(--content-width);margin:auto}.ds-page h1{font-size:clamp(48px,7vw,88px);padding:24px 0}.ds-page h2{font-size:32px;margin-bottom:24px}.ds-page p{max-width:var(--measure);line-height:1.75}.ds-block{padding:48px 0;border-top:1px solid var(--line);margin-top:36px}.ds-swatches{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.ds-swatch{padding:70px 16px 16px;border-radius:var(--radius-card);border:1px solid #0002;font-size:13px}.ds-examples{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.ds-type{font-size:48px;letter-spacing:-2px;margin:20px 0}.ds-page code{font-size:13px}.ds-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.ds-page table{border-collapse:collapse;width:100%;font-size:14px}.ds-page td,.ds-page th{padding:14px;text-align:left;border-bottom:1px solid var(--line)}
@media(max-width:700px){.ds-swatches{grid-template-columns:1fr 1fr}.ds-grid{grid-template-columns:1fr}.animation-switch{font-size:10px}.section-motion{padding-bottom:12px}}
@media(prefers-reduced-motion:reduce){.photo-backdrop img{animation:none;opacity:0;transform:none}.photo-backdrop img:first-child{opacity:1}.portrait,.analog-photo{animation:none}.primary-link:hover,.case-button:hover{transform:none}}

/* Neutral editorial frame: project artwork carries its own color. */
.project-image{background:#e9e9e9}.archive:hover{background:#eeeeee}.ux-profile{background:#ededed}.contact{background:#111}.wordmark span{display:inline-block;transition:transform .7s var(--ease-out)}.wordmark:hover span{transform:rotate(180deg)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){html:not([data-motion=off]) .project-image{transition:transform .7s var(--ease-out),box-shadow .7s var(--ease-out)}html:not([data-motion=off]) .project-image:hover{transform:perspective(1200px) rotateX(2deg) translateY(-7px);box-shadow:0 26px 55px #0002}html:not([data-motion=off]) .project-image:hover>img{transform:scale(1.055)}html:not([data-motion=off]) .project-image:hover .image-arrow{transform:rotate(90deg)}}
html[data-motion=off] .wordmark:hover span{transform:none}
@media(prefers-reduced-motion:reduce){.wordmark:hover span{transform:none}}

/* Ahead case — scoped visual theme using the portfolio's component grammar. */
.case-study{background:var(--case-cream);color:#28162d}.case-study header{max-width:none;background:#1b1020;color:var(--case-cream);border-color:#ffffff20}.case-study main>section{max-width:none}.case-study .case-opening{min-height:850px;min-height:min(950px,calc(100svh - 90px));position:relative;isolation:isolate;overflow:hidden;padding:32px var(--gutter);color:var(--case-cream);background:#26082f;display:flex;flex-direction:column;justify-content:space-between}.case-opening-bg{position:absolute;inset:0;z-index:-2;object-fit:cover;opacity:.32;transform:scale(1.04)}.case-opening::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,#26082ff2,#26082f40 80%)}.case-opening-top,.case-opening-bottom{display:flex;justify-content:space-between;gap:24px;font-size:11px;line-height:1.7}.case-opening-top>span{letter-spacing:1.5px}.case-opening-copy{padding:60px 0 45px;max-width:1100px}.case-opening h1{font-size:clamp(62px,7.5vw,118px);font-weight:500;line-height:1;letter-spacing:-.065em;padding:20px 0 28px;pointer-events:auto}.case-opening h1 em{color:#e6b5ff}.case-opening .ahead-hero-logo{width:clamp(220px,27vw,400px);height:auto;object-fit:contain;margin:4px 0 22px;max-height:150px;object-position:left}.case-opening p{max-width:500px;font-size:16px;line-height:1.7;color:#dfcedf}.case-opening-bottom{padding-top:20px;border-top:1px solid #ffffff35}.chapter-nav{position:sticky;top:0;z-index:15;background:#1b1020f5;backdrop-filter:blur(12px);color:#d9c7dc;display:flex;justify-content:space-between;gap:24px;padding:22px var(--gutter);overflow-x:auto;white-space:nowrap;font-size:11px;scrollbar-width:thin}.chapter-nav a{padding:6px 0}.chapter-nav a span{opacity:.55;margin-right:6px}.chapter-nav a[aria-current=step]{color:white}.chapter-nav a[aria-current=step] span{color:#f3a48f;opacity:1}.case-progress{position:absolute;bottom:0;left:0;height:2px;width:var(--progress,0%);background:#f3a48f;transition:width .15s linear}.case-chapter{padding:100px var(--gutter);scroll-margin-top:80px}.case-chapter.light{background:var(--case-cream)}.case-chapter.dark{background:#18121d;color:var(--case-cream)}.case-chapter.purple{background:var(--case-purple);color:var(--case-cream)}.chapter-heading{display:grid;grid-template-columns:100px 1fr;gap:35px;align-items:start;margin-bottom:50px}.chapter-number{font-size:clamp(46px,6vw,80px);line-height:1;letter-spacing:-5px;opacity:.35}.chapter-heading h2{font-size:clamp(38px,5.6vw,80px);line-height:1.04;font-weight:500;letter-spacing:-.055em;margin-top:18px}.case-split{display:grid;grid-template-columns:1fr 1fr;gap:10%;margin:40px 0 56px}.case-chapter p{font-size:16px;line-height:1.8;max-width:65ch}.case-chapter p+p{margin-top:20px}.case-chapter .case-intro-text{font-size:clamp(22px,2.8vw,38px);line-height:1.3;letter-spacing:-1px}.case-chapter.dark p,.case-chapter.purple p{color:#d8c9db}.case-chapter h3{font-size:clamp(23px,2.6vw,36px);line-height:1.14;letter-spacing:-1px}.strategy-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:48px}.strategy-pair article{padding:40px;border:1px solid #5c1f6330;border-radius:var(--radius-card)}.strategy-pair h3{margin:24px 0 18px}.case-figure{margin:0}.case-figure img{width:100%;height:auto;object-fit:contain;border-radius:var(--radius-sm)}.case-figure a{display:block;overflow:hidden;border-radius:var(--radius-sm)}.case-figure figcaption,.case-caption{font-size:11px!important;line-height:1.7;padding:12px 0 0;opacity:.7}.case-duo{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:40px 0}.concept-list{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 40px}.concept-list span{padding:10px 16px;border:1px solid #ffffff35;border-radius:var(--radius-pill);font-size:12px}.identity-stage{min-height:350px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:var(--case-dark);border-radius:var(--radius-card);padding:50px 8%;overflow:hidden}.identity-stage img{width:65%;height:auto;object-fit:contain}.identity-stage>span{font-size:18px;letter-spacing:-.5px;color:#d5addd}.identity-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin:50px 0}.identity-principles article{border-top:1px solid #ffffff45;padding-top:20px}.identity-principles article>span{font-size:11px;letter-spacing:1.2px;color:#e6b5ff}.identity-principles h3{margin:20px 0}.identity-principles p{font-size:14px}.brand-colors{display:grid;grid-template-columns:repeat(5,1fr);margin:40px 0;overflow:hidden;border-radius:var(--radius-card)}.brand-colors>div{min-height:200px;padding:25px 20px;display:flex;flex-direction:column;justify-content:flex-end;background:var(--swatch);color:#fff;font-size:16px}.brand-colors small{margin-top:8px;font-size:11px;opacity:.7}.brand-colors .light-swatch{color:#3b0b45}.application-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:50px 0}.application-grid img{aspect-ratio:1.2;object-fit:cover}.launch-sequence{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.launch-sequence img{aspect-ratio:4/5;object-fit:contain;background:#211625}.launch-film{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:10%;padding:70px 8%;margin:64px 0;background:#2d1636;border-radius:var(--radius-card)}.launch-film h3{font-size:clamp(38px,4vw,62px);margin:22px 0}.launch-film video{width:100%;max-height:650px;border-radius:var(--radius-card);background:#190c20}.case-note{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-top:24px;border-top:1px solid #ffffff30}.case-note strong{font-size:26px;font-weight:500;letter-spacing:-1px}.web-tabs{display:flex;border-bottom:1px solid #5c1f6330;margin-bottom:30px;gap:8px}.web-tabs button{background:transparent;border:0;padding:18px 24px;font:13px var(--font-sans);color:#58485d;border-bottom:3px solid transparent;cursor:pointer}.web-tabs button[aria-selected=true]{color:#3b0b45;border-bottom-color:#5c1f63}.web-panel[hidden]{display:none}.browser-frame{border:1px solid #26082f25;border-radius:var(--radius-card);overflow:hidden;background:#e7dfeb;box-shadow:var(--shadow-card)}.browser-frame>span{display:block;font-size:11px;padding:14px 24px;color:#66516c}.browser-frame img{height:auto;width:100%}.web-description{display:grid;grid-template-columns:1fr 1fr;gap:10%;margin:35px 0 65px}.web-description h3{font-size:38px;margin-top:18px}.web-description .case-button{margin-top:22px;background:#5c1f63;color:white}.digital-decisions{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;border-top:1px solid #5c1f6330;padding-top:35px}.digital-decisions h3{margin:20px 0}.digital-decisions p{font-size:14px}.social-case-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.social-case-grid img{aspect-ratio:4/5;object-fit:contain;background:#3b0b45}.case-actions{display:flex;gap:20px;flex-wrap:wrap}.case-study .project-next{padding:40px var(--gutter);background:var(--case-cream)}.case-study .contact{max-width:none}.case-study .case-button:focus-visible,.chapter-nav a:focus-visible{outline-color:var(--coral)}.case-chapter .case-figure a:hover img{filter:brightness(1.03)}
@media(min-width:1800px){.case-chapter{padding-inline:max(var(--gutter),calc((100vw - 1440px)/2))}}@media(max-width:900px){.chapter-nav{gap:26px;padding:16px 24px;justify-content:flex-start}.chapter-heading{grid-template-columns:60px 1fr;gap:20px}.case-chapter{padding:65px var(--gutter)}.social-case-grid{grid-template-columns:1fr 1fr}.identity-principles{gap:20px}.identity-principles h3{font-size:24px}.brand-colors>div{padding:16px 12px;font-size:13px;min-height:150px}.strategy-pair article{padding:28px}.case-opening-top>span{max-width:200px;text-align:right}.case-opening h1{font-size:70px}}
@media(max-width:600px){.case-study .case-opening{min-height:730px}.case-opening-top{font-size:9px}.case-opening-top>span{max-width:160px}.case-opening-copy{padding:45px 0}.case-opening h1{font-size:clamp(47px,11vw,64px)}.case-opening .ahead-hero-logo{width:250px;max-width:80%;margin:15px 0}.case-opening-bottom{font-size:10px}.chapter-heading{grid-template-columns:1fr;gap:14px;margin-bottom:28px}.chapter-number{font-size:40px;letter-spacing:-2px}.chapter-heading h2{font-size:40px;margin-top:12px}.case-split,.strategy-pair,.case-duo,.launch-film,.web-description,.case-note{grid-template-columns:1fr;gap:26px}.case-split{margin:30px 0}.case-chapter p{font-size:14px}.case-chapter .case-intro-text{font-size:26px}.identity-principles,.digital-decisions{grid-template-columns:1fr}.identity-stage{min-height:250px;padding:30px 10px}.identity-stage img{width:85%}.identity-stage>span{font-size:15px}.brand-colors{grid-template-columns:repeat(2,1fr)}.brand-colors>div:last-child{grid-column:1/-1}.application-grid{gap:14px}.application-grid img{aspect-ratio:1}.launch-sequence{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:18px}.launch-sequence>figure{flex:0 0 80%;scroll-snap-align:start}.launch-film{padding:30px 24px;margin:40px 0}.launch-film video{max-height:520px}.web-tabs{gap:0}.web-tabs button{flex:1;padding:16px 6px;font-size:11px}.web-description h3{font-size:32px}.social-case-grid{gap:14px}.case-actions{gap:12px}.case-button{font-size:12px}.case-study header nav a{display:block}.case-study header{gap:16px}.case-study .wordmark{font-size:20px}.case-study .project-next{gap:18px}}
@media(prefers-reduced-motion:reduce){.case-progress{transition:none}.case-opening-bg{transform:none}}
/* Documentary chapters: real launch footage and the design process. */
.live-launch{margin-top:100px;padding-top:70px;border-top:1px solid #ffffff30}.live-launch .chapter-heading h3{font-size:clamp(38px,5vw,70px)}.event-mosaic{display:grid;grid-template-columns:1.3fr 1fr;gap:24px;margin:40px 0}.event-mosaic figure:first-child{grid-row:span 2}.event-mosaic figure a{height:calc(100% - 36px)}.event-mosaic img{height:100%;object-fit:cover;min-height:250px}.event-film{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:8%;margin:70px 0 20px}.event-film video{display:block;width:100%;max-height:680px;background:#120c15;border-radius:20px}.event-film h3{font-size:clamp(40px,5vw,72px);margin:24px 0}.design-journey{margin:80px calc(-1 * var(--gutter)) 70px;padding:80px var(--gutter);background:#201625;color:#f4f0e8}.design-journey p{color:#d8c9db}.journey-intro{max-width:720px;margin-bottom:65px}.journey-intro h3{font-size:clamp(38px,5vw,72px);margin:24px 0}.journey-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:7%;align-items:start}.journey-visual{position:sticky;top:110px;aspect-ratio:1.12;overflow:hidden;background:#eeeaf0;border-radius:20px;box-shadow:0 28px 70px #0004}.journey-frame{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;transform:translateY(45px) scale(.96);transition:opacity .7s,transform 1s cubic-bezier(.16,1,.3,1),visibility .7s}.journey-frame.is-active{opacity:1;visibility:visible;transform:none}.journey-frame a{display:block;height:calc(100% - 48px);padding:24px;overflow:hidden}.journey-frame img{width:100%;height:100%;object-fit:contain}.journey-frame:first-child img{object-fit:cover;object-position:top}.journey-frame figcaption{font-size:11px;color:#56445c;padding:10px 24px}.journey-step{min-height:72vh;display:flex;flex-direction:column;justify-content:center;padding:35px 0;border-top:1px solid #ffffff20}.journey-count{font-size:60px;color:#c39bdd;letter-spacing:-4px;margin-bottom:40px}.journey-step h3{margin:20px 0;font-size:clamp(30px,3.3vw,48px)}.component-spotlight{display:grid;grid-template-columns:1.35fr 1fr;gap:7%;align-items:center;border-top:1px solid #ffffff30;padding-top:65px;margin-top:50px}.component-spotlight h3{margin:24px 0}.component-spotlight .case-button{margin-top:24px}.project-story .case-figure{margin:42px 0}.project-story .case-figure img{width:100%;border-radius:12px}.project-story h2:not(:first-child){margin-top:50px}
@media(max-width:700px){.event-mosaic{grid-template-columns:1fr}.event-mosaic figure:first-child{grid-row:auto}.event-mosaic figure a{height:auto}.event-mosaic img{max-height:500px;min-height:0}.event-film,.component-spotlight{grid-template-columns:1fr;gap:30px}.journey-layout{grid-template-columns:1fr;gap:0}.journey-visual{top:67px;z-index:2;aspect-ratio:1.55;margin-bottom:28px}.journey-step{min-height:65vh;padding-top:35px}.journey-count{font-size:38px;margin-bottom:20px}.journey-frame a{padding:12px}.journey-frame figcaption{font-size:10px;padding:8px 12px}.design-journey{padding-block:50px}.event-film video{max-height:540px}}
@media(prefers-reduced-motion:reduce){.journey-frame{transition:none;transform:none}}
html[data-motion=off] .journey-frame{transition:none;transform:none}
.ecosystem-expanded{padding:70px 0;border-top:1px solid #5c1f6330}.ecosystem-feature{display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:7%;margin:65px 0 100px}.ecosystem-feature h3{font-size:clamp(30px,3.4vw,48px);margin:24px 0}.ecosystem-feature .case-button{margin-top:24px}.ecosystem-feature.reversed>.browser-frame{order:2}.ecosystem-feature.reversed{grid-template-columns:1fr 1.3fr}.console-story{margin-top:90px}.console-story h3{font-size:clamp(32px,4vw,54px)}.console-diagram{display:grid;grid-template-columns:180px minmax(0,1fr);gap:22px;padding:16px;background:white;border:1px solid #5c1f6320;border-radius:24px;box-shadow:0 30px 70px #26082f13}.console-diagram aside{display:flex;flex-direction:column;gap:18px;background:linear-gradient(155deg,#4f1a59,#8738a1);color:#f4e9f7;padding:24px 18px;border-radius:18px;font-size:12px}.console-diagram aside img{width:120px;margin:-12px 0}.console-diagram aside small{font-size:9px;letter-spacing:2px;color:#d3abd9;margin-top:10px}.console-diagram aside b{background:#ffffff20;padding:12px;border-left:3px solid #ff7429;border-radius:8px}.console-workspace{padding:10px 8px 35px 0;min-width:0}.console-welcome{padding:30px;background:linear-gradient(110deg,#551c60,#71367b);border-radius:18px;color:#fff}.console-welcome>span{font-size:10px;letter-spacing:2px;color:#ff9153}.console-welcome strong{display:block;font-size:40px;letter-spacing:-2px;margin:10px 0}.console-welcome p{font-size:13px;color:#e3cfe8}.console-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:28px}.console-summary span{border:1px solid #ffffff30;padding:22px 12px;border-radius:14px;background:#ffffff0b;font-size:11px}.console-modules{display:grid;grid-template-columns:1.2fr 1fr;gap:18px;margin-top:22px}.console-modules>div{border:1px solid #5c1f6320;border-radius:18px;padding:24px}.console-modules p{font-size:13px;margin:20px 0}.console-modules small{font-size:10px;color:#95849a}.placeholder-row{display:block;height:30px;margin:16px 0;background:linear-gradient(90deg,#eee8f2 50%,transparent 50%);border-bottom:1px solid #eee;border-radius:3px}.console-pills{display:flex;flex-wrap:wrap;gap:8px}.console-pills span{font-size:11px;padding:8px 10px;border:1px solid #703079;border-radius:30px}
@media(max-width:800px){.ecosystem-feature,.ecosystem-feature.reversed{grid-template-columns:1fr;gap:30px;margin-bottom:65px}.ecosystem-feature.reversed>.browser-frame{order:0}.console-diagram{grid-template-columns:110px minmax(0,1fr);gap:10px;padding:8px}.console-diagram aside{padding:18px 10px;font-size:10px;gap:15px}.console-diagram aside img{width:90px}.console-welcome{padding:20px}.console-welcome strong{font-size:30px}.console-summary{grid-template-columns:1fr 1fr;gap:8px}.console-summary span{padding:14px 8px;font-size:9px}.console-modules{grid-template-columns:1fr}.console-modules>div{padding:16px}.console-workspace{padding-right:0}.console-welcome p{font-size:11px}}
.console-diagram aside img{height:auto;object-fit:contain;flex:none}

/* Wedding Art uses the shared case grammar with a photographic, monochrome palette. */
.wedding-case{--case-cream:#ffffff;--case-purple:#444444;--case-dark:#141414;background:var(--case-cream)}
.wedding-case header,.wedding-case .chapter-nav{background:#141414f5}.wedding-case .case-opening{min-height:calc(100svh - 90px);background:#141414}.wedding-case .case-opening-bg{width:100%;height:100%;opacity:.72;object-position:50% 48%}.wedding-case .case-opening::after{background:linear-gradient(90deg,#141714c9,#15171315 85%),linear-gradient(0deg,#15171390,transparent 60%)}.wedding-case .case-opening h1{font-size:clamp(78px,12vw,180px);letter-spacing:-.07em}.wedding-case .case-opening h1 em{color:#f3a48f}.wedding-case .case-opening p{font-size:clamp(20px,2.5vw,34px);color:#ffffff}.wedding-case .case-chapter.dark{background:#141414}.wedding-case .case-chapter.light{background:var(--case-cream)}.wedding-case .chapter-nav a[aria-current=step] span{color:#f3a48f}.wedding-case .case-progress{background:#f3a48f}.wedding-case .case-chapter h2{font-family:Georgia,serif;font-weight:400;letter-spacing:-.055em}.wedding-diptych{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start;margin:55px 0}.wedding-diptych .case-figure:nth-child(2){margin-top:100px}.wedding-diptych img{height:auto;object-fit:contain}.wedding-scope{display:flex;gap:12px;flex-wrap:wrap;padding-top:30px;border-top:1px solid #14141430}.wedding-scope span{border:1px solid #14141435;border-radius:50px;padding:12px 20px;font-size:var(--text-sm)}.wedding-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px;margin:55px 0}.gallery-item{display:block;min-width:0}.gallery-item img{aspect-ratio:2/3;height:auto;object-fit:cover;transition:transform .8s cubic-bezier(.16,1,.3,1),filter .5s;border-radius:8px}.gallery-item:nth-child(6n+2){padding-top:60px}.gallery-item:nth-child(6n+4){grid-column:span 2}.gallery-item:nth-child(6n+4) img{aspect-ratio:4/3;object-position:center 42%}.gallery-item>span{display:flex;justify-content:space-between;padding-top:12px;font-size:var(--text-sm);letter-spacing:1px;color:#bcbcbc}.gallery-item b{font-weight:400}.gallery-item:hover img{transform:translateY(-6px);filter:brightness(1.08)}.gallery-item:focus-visible{outline:2px solid #f3a48f;outline-offset:8px}.wedding-cinema{display:grid;grid-template-columns:1fr minmax(300px,.8fr);gap:12%;align-items:center}.wedding-cinema video{width:100%;height:auto;max-height:80vh;object-fit:contain;background:#111;border-radius:16px;box-shadow:0 30px 80px #0006}.film-label{display:block;margin-top:45px;border-top:1px solid #ffffff35;padding-top:20px;font-size:var(--text-sm);letter-spacing:1px;color:#f3a48f}.invitation-showcase{display:grid;grid-template-columns:1.25fr .75fr;gap:8%;align-items:start;margin-top:60px}.invitation-showcase aside{position:sticky;top:120px;padding-top:40px}.invitation-showcase h3{font-size:clamp(30px,4vw,52px);margin:20px 0 35px}.invitation-showcase ol{list-style:none;padding:0;margin:0 0 40px}.invitation-showcase li{padding:20px 0;border-top:1px solid #14141430;line-height:1.7;font-size:14px}.invitation-showcase li span{color:#666666;margin-right:12px}.wedding-credits{display:grid;grid-template-columns:repeat(2,1fr);gap:50px;margin:55px 0}.wedding-credits>div{padding-top:22px;border-top:1px solid #14141430}.wedding-credits span{font-size:var(--text-sm);color:#666666}.wedding-credits h3{font-size:30px;margin-top:20px}.wedding-case #creditos>.case-figure{max-width:850px;margin:60px auto}.wedding-case #direccion>.case-figure{margin-top:45px}.photo-dialog{border:0;padding:20px;background:#111111;color:#ffffff;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;overflow:hidden}.photo-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:16px}.photo-dialog::backdrop{background:#000e}.photo-full{width:100%;height:100%;object-fit:contain;min-height:0}.photo-dialog-top,.photo-dialog-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px}.photo-dialog button{border:1px solid #ffffff45;background:none;color:inherit;padding:12px 18px;border-radius:50px;cursor:pointer;font:14px var(--font-sans)}.photo-dialog button:hover{background:#ffffff15}.photo-dialog button:focus-visible{outline:3px solid var(--coral);outline-offset:3px}.photo-dialog p{font-size:var(--text-sm);text-align:center}.photo-dialog-top span{font-size:var(--text-sm);letter-spacing:2px}html.gallery-open{overflow:hidden}
/* The shorter projects keep the same editorial hierarchy, chapter navigation and motion. */
.case-study.compact-case{background:var(--paper);color:var(--ink)}.compact-case .project-heading{padding:60px 0}.compact-case .project-heading h1{font-size:clamp(60px,8vw,115px)}.compact-case .project-cover{border-radius:18px}.compact-case .project-story{scroll-margin-top:100px;padding-block:65px}.compact-case .project-story h2{font-size:clamp(32px,4.5vw,64px);letter-spacing:-.05em;line-height:1.1}.compact-case .chapter-nav{margin:30px calc(-1 * var(--gutter));padding-inline:var(--gutter);gap:25px;justify-content:flex-start}.compact-case .project-story:nth-of-type(even){border-top:1px solid var(--line)}
@media(max-width:700px){.wedding-case .case-opening{min-height:720px}.wedding-case .case-opening h1{font-size:clamp(68px,17vw,110px)}.wedding-case .case-opening-bg{object-position:60% center}.wedding-diptych{gap:16px}.wedding-diptych .case-figure:nth-child(2){margin-top:50px}.wedding-gallery{grid-template-columns:1fr 1fr;gap:25px 14px}.gallery-item:nth-child(6n+2){padding-top:0}.gallery-item:nth-child(6n+4){grid-column:auto}.gallery-item:nth-child(6n+4) img{aspect-ratio:2/3}.gallery-item:nth-child(5n){grid-column:1/-1}.gallery-item:nth-child(5n) img{aspect-ratio:4/3}.gallery-item>span{font-size:var(--text-sm)}.wedding-cinema,.invitation-showcase{grid-template-columns:1fr;gap:40px}.wedding-cinema video{max-height:75vh}.invitation-showcase aside{position:static;padding-top:0}.wedding-credits{gap:30px}.wedding-credits h3{font-size:22px}.photo-dialog{padding:14px}.photo-dialog-bottom{flex-wrap:wrap}.photo-dialog-bottom p{order:3;width:100%;font-size:var(--text-sm)}.wedding-case .chapter-heading h2{font-size:42px}.wedding-case .case-opening-top>span{max-width:140px;font-size:var(--text-sm)}}
@media(prefers-reduced-motion:reduce){.gallery-item img{transition:none}.gallery-item:hover img{transform:none}}html[data-motion=off] .gallery-item:hover img{transform:none}

/* A finite-height photographic stage; all images remain available without JS. */
.wedding-gallery{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;perspective:1400px;margin:40px 0 20px;touch-action:pan-y;isolation:isolate}
.wedding-gallery .gallery-item{flex:0 0 65%;padding:0;scroll-snap-align:center;grid-column:auto}
.wedding-gallery .gallery-item img{width:100%;height:100%;aspect-ratio:auto;object-fit:contain;border-radius:3px}
.wedding-gallery:not(.is-carousel) .gallery-item{height:470px}
.wedding-gallery.is-carousel{display:block;position:relative;height:clamp(330px,48vw,560px);overflow:hidden;scroll-snap-type:none;cursor:grab}
.wedding-gallery.is-carousel:active{cursor:grabbing}
.is-carousel .gallery-item{position:absolute;left:50%;top:18px;bottom:18px;width:clamp(220px,34vw,420px);opacity:0;pointer-events:none;transform:translateX(calc(-50% + var(--offset)*68%)) translateZ(calc(var(--distance)*-100px)) rotateY(calc(var(--offset)*-12deg)) rotateZ(calc(var(--offset)*3deg));transition:transform 800ms var(--ease-out),opacity 600ms var(--ease-out),filter 600ms;filter:brightness(.55);will-change:transform}
.is-carousel .gallery-item.is-near{opacity:1;pointer-events:auto}
.is-carousel .gallery-item.is-selected{filter:brightness(1)}
.is-carousel .gallery-item img{box-shadow:0 24px 50px #0005;transform:none}
.is-carousel .gallery-item>span{display:none}
.is-carousel .gallery-item:focus-visible{outline-offset:0}
.gallery-controls{display:flex;align-items:center;justify-content:center;gap:22px;margin:0 auto 40px;max-width:760px;min-height:64px}
.gallery-controls p{flex:1;text-align:center;font:14px/1.6 var(--font-sans);color:#bcbcbc}
.gallery-controls button{flex-shrink:0;width:52px;height:52px;border:1px solid #ffffff50;border-radius:50%;background:transparent;color:#fff;font:22px var(--font-sans);cursor:pointer;transition:background .25s,color .25s,transform .25s}
.gallery-controls button:hover{background:#fff;color:#111;transform:scale(1.08)}
@media(max-width:700px){.wedding-gallery.is-carousel{height:390px;margin-inline:-18px}.is-carousel .gallery-item{width:65%;transform:translateX(calc(-50% + var(--offset)*75%)) translateZ(calc(var(--distance)*-100px)) rotateY(calc(var(--offset)*-10deg)) rotateZ(calc(var(--offset)*3deg))}.gallery-controls{gap:12px}.gallery-controls p{font-size:var(--text-sm)}.gallery-controls button{width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){.is-carousel .gallery-item,.gallery-controls button{transition:none}.gallery-controls button:hover{transform:none}}
html[data-motion=off] .gallery-controls button:hover{transform:none}
.wedding-gallery:not(.is-carousel){touch-action:auto}

/* Full-screen openings and shared scroll choreography. */
.hero-dark{min-height:100svh;display:flex;flex-direction:column;justify-content:space-between}
.hero-dark .hero-layout{flex:1;min-height:0;align-items:center;padding-block:50px}
.case-study .case-opening,.wedding-case .case-opening{min-height:100svh}
.compact-case .project-heading{min-height:calc(100svh - 100px);display:flex;flex-direction:column;justify-content:center}
.scroll-copy{translate:0 var(--scroll-y,0px);opacity:var(--scroll-opacity,1);will-change:translate}
.scroll-frame>img,.scroll-frame>a>img{translate:0 var(--frame-y,0px);scale:1.045}
.case-figure.scroll-frame{overflow:hidden}.case-figure.scroll-frame figcaption{position:relative;background:inherit;z-index:1}
/* The focal plane is sharp; surrounding frames fall back into shadow. */
.wedding-gallery.is-carousel{perspective:1100px;height:clamp(400px,52vw,620px);overflow:visible;clip-path:inset(-120px 0);background:transparent}
.is-carousel .gallery-item{top:30px;bottom:35px;width:clamp(220px,32vw,400px);transform:translateX(calc(-50% + var(--offset)*105%)) translateZ(calc(var(--distance)*-210px)) rotateY(calc(var(--offset)*-18deg)) rotateZ(calc(var(--offset)*3deg));filter:blur(calc(var(--distance)*1.7px)) brightness(.33);opacity:0;transition:transform 950ms var(--ease-out),opacity 800ms,filter 900ms;}
.is-carousel .gallery-item.is-near{opacity:.65}
.is-carousel .gallery-item.is-selected{opacity:1;filter:none}
.is-carousel .gallery-item{display:flex;align-items:center;justify-content:center}
.wedding-gallery.is-carousel .gallery-item img{width:auto;height:auto;max-width:100%;max-height:100%;border:0;border-radius:0;background:transparent;box-shadow:0 16px 30px -12px #0007;object-fit:contain}
.wedding-gallery.is-carousel .gallery-item.is-selected img{box-shadow:0 20px 42px -16px #0009}
@media(max-width:700px){.hero-dark .hero-layout{padding-block:28px}.wedding-gallery.is-carousel{height:450px;margin-inline:-18px}.is-carousel .gallery-item{width:68%;transform:translateX(calc(-50% + var(--offset)*110%)) translateZ(calc(var(--distance)*-260px)) rotateY(calc(var(--offset)*-18deg)) rotateZ(calc(var(--offset)*3deg))}}
@media(prefers-reduced-motion:reduce){.scroll-copy,.scroll-frame>img,.scroll-frame>a>img{translate:none;scale:1;opacity:1}.is-carousel .gallery-item{transition:none}}
html[data-motion=off] .scroll-copy,html[data-motion=off] .scroll-frame>img,html[data-motion=off] .scroll-frame>a>img{translate:none;scale:1;opacity:1}
/* Contain offstage frames horizontally without cutting their vertical shadows. */
.wedding-case #galeria{overflow-x:clip;overflow-y:visible}

/* Sistema v2 compartido (prefijo de componentes av-). Todo bajo .v2: las páginas que aún no migran no cambian. */
.v2{
 --av-ink:#0d0d0d;--av-ink-2:#171717;--av-paper:#ffffff;--av-soft:#f3f3f1;--av-line:#e2e2e2;--av-line-dark:#ffffff1f;
 --av-purple:#5c1f63;--av-purple-deep:#2b0b33;--av-coral:var(--coral);--av-accent:var(--accent);
 --av-pad:clamp(20px,5vw,80px);--av-gap:clamp(16px,2vw,28px);--av-radius:22px;
 --av-display:clamp(46px,7.4vw,128px);
 --av-ease:cubic-bezier(.16,1,.3,1);
 background:var(--av-paper);color:var(--av-ink);
}
.v2 main{overflow-x:clip}
.v2 img{max-width:100%}
body.v2>header{background:var(--av-ink);color:#fff;border-bottom:1px solid var(--av-line-dark);padding:22px var(--av-pad)}
body.v2>header a{color:inherit}
body.v2>header nav{display:flex;gap:22px;font-size:14px}

/* Shared type */
.v2 .av-label{margin:0;font:600 var(--text-sm)/1.4 var(--font-sans);letter-spacing:.14em;text-transform:uppercase;opacity:.85}
.v2 .av-display{margin:0;font:700 var(--av-display)/.93 var(--font-sans);letter-spacing:-.05em;text-wrap:balance;max-width:14ch}
.v2 .av-display em,.v2 h1 em{font:italic 400 1em/1 var(--font-editorial);letter-spacing:-.02em;color:var(--av-accent)}
.v2 .av-ink .av-display em,.v2 .av-purple .av-display em,.v2 h1 em{color:var(--av-coral)}
.v2 .av-display-md{--av-display:clamp(40px,6vw,96px)}
.v2 .av-display-sm{--av-display:clamp(32px,4.4vw,64px);max-width:18ch}
.v2 .av-big{margin:0;font:400 clamp(22px,2.4vw,34px)/1.22 var(--font-sans);letter-spacing:-.02em;text-wrap:balance}
.v2 p{text-wrap:pretty}
.v2 figure{margin:0}
.v2 figcaption{margin-top:12px;font-size:var(--text-sm);line-height:1.5;opacity:.85}
.v2 .av-note{font-size:var(--text-sm);line-height:1.6;opacity:.85;max-width:70ch}
.v2 :focus-visible{outline:2px solid var(--av-coral);outline-offset:4px;border-radius:6px}

/* Buttons */
.v2 .av-button{display:inline-flex;align-items:center;gap:8px;padding:14px 22px;border-radius:999px;background:var(--av-ink);color:#fff;font:600 14px/1 var(--font-sans);text-decoration:none;transition:transform .35s var(--av-ease),background .25s}
.v2 .av-ink .av-button,.v2 .av-purple .av-button{background:#fff;color:var(--av-ink)}
.v2 .av-button:hover{transform:translateY(-2px);background:var(--av-accent);color:#fff}
.v2 .av-button-outline{background:transparent!important;color:inherit!important;box-shadow:inset 0 0 0 1px currentColor}
.v2 .av-button-outline:hover{background:var(--av-coral)!important;color:var(--av-ink)!important;box-shadow:none}
.v2 .av-link{color:inherit;font-weight:600;text-underline-offset:4px}

/* ---------- HERO ---------- */
.v2 .av-hero{position:relative;min-height:calc(100svh - 70px);display:grid;grid-template-rows:auto auto 1fr auto auto;gap:clamp(12px,2.2vh,28px);padding:20px var(--av-pad) 28px;background:var(--av-ink);color:#fff;isolation:isolate;overflow:hidden}
.v2 .av-hero::before{content:"";position:absolute;inset:-10%;z-index:-1;background:radial-gradient(60% 50% at 50% 62%,#5c1f6355,transparent 70%);pointer-events:none}
.v2 .av-hero-top{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:var(--text-sm)}
.v2 .av-hero-top a{color:inherit;text-decoration:none;opacity:.75}
.v2 .av-hero-top a:hover{opacity:1}
.v2 .av-hero-top>span{opacity:.85;letter-spacing:.08em;text-transform:uppercase;font-size:var(--text-sm)}
.v2 .av-switch{position:relative;inset:auto;right:auto;bottom:auto;box-shadow:none;background:#ffffff12}
.v2 .av-hero-title{text-align:center;display:grid;gap:18px;justify-items:center;padding-top:clamp(4px,2vh,28px)}
.v2 .av-hero-title .av-label span{color:var(--av-coral);opacity:1}
.v2 h1{margin:0;font:700 clamp(44px,6.6vw,116px)/.92 var(--font-sans);letter-spacing:-.055em;text-wrap:balance}
.v2 .av-hero .av-scroll-copy{transform:translateY(var(--scroll-y,0))}

/* Fan of key pieces (Spencer-like stack that opens on scroll) */
.v2 .av-fan{--s:.38;--mx:0;--my:0;position:relative;min-height:clamp(220px,23vw,340px);perspective:1400px}
.v2 .av-card{--w:clamp(150px,17.5vw,300px);position:absolute;left:50%;top:50%;width:var(--w);aspect-ratio:1/1;margin:0;border-radius:var(--av-radius);overflow:hidden;background:#222;box-shadow:0 30px 60px -20px #000c,0 0 0 1px #ffffff14;
 transform:translate(-50%,-50%) translateX(var(--drag,0px)) translateX(calc(var(--i) * (34% + 70% * var(--s)))) translateY(calc(var(--a) * (8px + 22px * var(--s)))) rotate(calc(var(--i) * (7deg - 3deg * var(--s)))) rotateY(calc(var(--mx) * 10deg)) rotateX(calc(var(--my) * -8deg));
 z-index:calc(10 - var(--a));transition:transform .7s var(--av-ease),box-shadow .4s}
.v2 .av-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s var(--av-ease)}
.v2 .av-card:hover{z-index:20;box-shadow:0 40px 80px -24px #000,0 0 0 1px #ffffff30}
.v2 .av-card:hover img{transform:scale(1.06)}
/* Navigation stays outside the moving cards, with touch scrolling preserved. */
.v2 .av-fan.is-navigable{touch-action:pan-y pinch-zoom;cursor:grab;user-select:none}
.v2 .av-fan.is-dragging,.v2 .av-fan.is-dragging a{cursor:grabbing}
.v2 .av-fan.is-dragging .av-card{transition:none;pointer-events:none}
.v2 .av-fan .av-card:focus-visible{z-index:21;outline:3px solid #fff;outline-offset:5px}
.v2 .av-fan-controls{position:relative;z-index:22;display:flex;align-items:center;justify-content:center;gap:8px;width:min(100%,360px);justify-self:center;margin:12px auto 0;color:#fff}
.v2 .av-fan-controls>div{flex:1;min-width:0;text-align:center;display:grid;gap:5px}
.v2 .av-fan-count{font-size:14px;line-height:1.4;text-wrap:balance}
.v2 .av-fan-controls button{flex:none;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:#bcbcbc;font:400 18px/1 var(--font-sans);cursor:pointer;transition:color .2s,background .2s}
.v2 .av-fan-controls button:hover{background:#ffffff0a;color:#fff}
.v2 .av-fan-controls button:focus-visible{outline:3px solid #fff;outline-offset:4px}
.v2 .av-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--av-gap);margin:0;padding-top:20px;border-top:1px solid var(--av-line-dark)}
.v2 .av-facts div{display:grid;gap:6px}
.v2 .av-facts dt{font-size:var(--text-sm);letter-spacing:.12em;text-transform:uppercase;opacity:.85}
.v2 .av-facts dd{margin:0;font-size:15px;line-height:1.4}
.v2 .av-cue{justify-self:center;color:#fff;opacity:.7;font-size:var(--text-sm);text-decoration:none;display:inline-flex;gap:8px}
.v2 .av-cue span{display:inline-block}
html[data-motion=on] .v2 .av-cue span{animation:av-nudge 2.4s var(--av-ease) infinite}
@keyframes av-nudge{0%,100%{transform:none}50%{transform:translateY(5px)}}

/* ---------- INDEX ---------- */
.v2 .av-index{position:fixed;left:50%;bottom:18px;z-index:40;display:flex;align-items:center;gap:6px;padding:6px 8px 6px 6px;border-radius:999px;background:#0d0d0de6;color:#fff;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 12px 40px #0004,0 0 0 1px #ffffff1a;
 transform:translate(-50%,140%);opacity:0;pointer-events:none;transition:transform .6s var(--av-ease),opacity .4s;overflow:hidden}
.v2 .av-index.is-visible{transform:translate(-50%,0);opacity:1;pointer-events:auto}
.v2 .av-index ol{display:flex;gap:2px;margin:0;padding:0;list-style:none}
.v2 .av-index a{display:flex;gap:6px;padding:9px 13px;border-radius:999px;color:#ddd;font-size:var(--text-sm);text-decoration:none;white-space:nowrap;transition:background .25s,color .25s}
.v2 .av-index a span{font-variant-numeric:tabular-nums;opacity:.85}
.v2 .av-index a:hover{color:#fff;background:#ffffff14}
.v2 .av-index a[aria-current=step]{background:#fff;color:var(--av-ink)}
.v2 .av-index a[aria-current=step] span{color:var(--av-accent);opacity:1}
.v2 .av-percent{min-width:44px;padding:0 6px;font:600 12px/1 var(--font-sans);font-variant-numeric:tabular-nums;color:var(--av-coral);text-align:right}
.v2 .av-bar{position:absolute;left:0;bottom:0;height:2px;width:var(--progress,0%);background:var(--av-coral)}

/* ---------- ACTS ---------- */
.v2 .av-act{position:relative;padding:clamp(96px,13vw,200px) var(--av-pad);display:grid;gap:clamp(48px,7vw,110px)}
.v2 .av-paper{background:var(--av-paper);color:var(--av-ink)}
.v2 .av-ink{background:var(--av-ink);color:#fff}
.v2 .av-purple{background:var(--av-purple);color:#fff}
.v2 .av-system{padding-top:clamp(80px,10vw,150px)}
.v2 .av-act-head{position:relative;display:grid;gap:22px}
.v2 .av-act-num{position:absolute;right:0;top:-.18em;font:700 clamp(90px,16vw,260px)/.8 var(--font-sans);letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1px currentColor;opacity:.16;pointer-events:none;user-select:none}
.v2 .av-lede{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(24px,6vw,120px);align-items:start}
.v2 .av-lede p:not(.av-big){margin:0 0 1em;font-size:17px;line-height:1.65;max-width:56ch;opacity:.82}
.v2 .av-lede strong{font-weight:700;opacity:1}
.v2 .av-lede-tight{margin-top:calc(clamp(48px,7vw,110px) * -.4)}

/* Entrances */
.av-js[data-motion=on] .v2 [data-reveal]{transition:opacity .9s var(--av-ease),transform 1.1s var(--av-ease)}
.av-js[data-motion=on] .v2 [data-reveal]:not(.is-in){opacity:0;transform:translateY(56px)}

/* Act 01 */
.v2 .av-audiences{display:grid;grid-template-columns:1fr 1fr;gap:var(--av-gap)}
.v2 .av-audiences article{display:grid;gap:18px;align-content:start;padding:clamp(28px,4vw,56px);border-radius:var(--av-radius);background:var(--av-soft);transition:background .4s,color .4s,transform .5s var(--av-ease)}
.v2 .av-audiences article:hover{background:var(--av-ink);color:#fff;transform:translateY(-4px)}
.v2 .av-audiences h3{margin:0;font:700 clamp(32px,4vw,60px)/.98 var(--font-sans);letter-spacing:-.04em}
.v2 .av-audiences article>p:last-child{margin:0;max-width:34ch;opacity:.7;line-height:1.55}

/* Scrubbed full-bleed moments */
.v2 .av-moment{--p:1;margin-inline:calc(var(--av-pad) * -1)}
.v2 .av-moment-media{overflow:hidden;clip-path:inset(calc((1 - var(--p)) * 8%) calc(var(--av-pad) + (1 - var(--p)) * 6%) round calc(var(--av-radius) + (1 - var(--p)) * 30px));will-change:clip-path}
.v2 .av-moment img{display:block;width:100%;max-height:92vh;object-fit:cover;transform:scale(calc(1.14 - .14 * var(--p)));will-change:transform}
.v2 .av-moment figcaption{padding-inline:var(--av-pad)}

/* Act 02 */
.v2 .av-territories{margin:0;padding:0;list-style:none;border-top:1px solid var(--av-line-dark)}
.v2 .av-territories li{display:flex;align-items:baseline;gap:clamp(16px,3vw,48px);padding:clamp(14px,2vw,24px) 0;border-bottom:1px solid var(--av-line-dark);font:700 clamp(28px,4.6vw,76px)/1 var(--font-sans);letter-spacing:-.045em;color:#ffffff59;transition:color .35s,padding-left .5s var(--av-ease)}
.v2 .av-territories li span{font:500 13px/1 var(--font-sans);letter-spacing:.1em;color:var(--av-coral)}
.v2 .av-territories li:hover{color:#fff;padding-left:clamp(8px,2vw,28px)}
.v2 .av-spread{--p:1;display:grid;grid-template-columns:1fr 1.5fr 1fr;align-items:center;gap:var(--av-gap)}
.v2 .av-spread figure{position:relative;z-index:1;transform:translateX(calc(var(--dir) * (1 - var(--p)) * -70%)) rotate(calc(var(--dir) * (1 - var(--p)) * -9deg)) scale(calc(1 - (1 - var(--p)) * .12 * var(--dir) * var(--dir)));transition:transform .2s linear}
.v2 .av-spread .av-spread-main{z-index:2}
.v2 .av-spread img{display:block;width:100%;border-radius:var(--av-radius);box-shadow:0 30px 70px -30px #000}

/* Act 03 — pinned identity reveal */
.v2 .av-purple{background:radial-gradient(80% 60% at 50% 30%,#7a2f83 0%,var(--av-purple) 45%,var(--av-purple-deep) 100%)}
.v2 .av-purple.av-act{padding-top:0}
.v2 .av-reveal{--p:1;position:relative;height:220vh;margin-inline:calc(var(--av-pad) * -1)}
.v2 .av-reveal-inner{position:sticky;top:0;height:100svh;display:grid;place-items:center;align-content:center;gap:clamp(20px,4vh,48px);padding:0 var(--av-pad);text-align:center;overflow:hidden}
.v2 .av-reveal .av-act-num{top:clamp(24px,6vh,64px);right:var(--av-pad)}
.v2 .av-reveal-logo{width:min(64vw,720px);transform:scale(calc(1.5 - .5 * min(1, var(--p) * 1.6))) translateY(calc((1 - min(1, var(--p) * 1.6)) * 6vh));filter:drop-shadow(0 30px 60px #1a041f88);will-change:transform}
.v2 .av-reveal-copy{display:grid;gap:18px;justify-items:center;opacity:calc(min(1, max(0, var(--p) * 2.4 - .5)));transform:translateY(calc((1 - min(1, max(0, var(--p) * 2.4 - .5))) * 40px))}
.v2 .av-reveal-copy .av-display{--av-display:clamp(40px,6vw,104px);max-width:none}
.v2 .av-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--av-gap)}
.v2 .av-principles article{display:grid;gap:12px;align-content:start;padding-top:22px;border-top:1px solid #ffffff3a}
.v2 .av-principles span{font-size:var(--text-sm);letter-spacing:.12em;text-transform:uppercase;color:var(--av-coral)}
.v2 .av-principles h3{margin:0;font:700 clamp(24px,2.6vw,38px)/1.05 var(--font-sans);letter-spacing:-.03em}
.v2 .av-principles p{margin:0;opacity:.75;line-height:1.55}
.v2 .av-duo{display:grid;grid-template-columns:1fr 1fr;gap:var(--av-gap)}
.v2 .av-duo img,.v2 .av-bento img,.v2 .av-event img,.v2 .av-component img{display:block;width:100%;border-radius:var(--av-radius)}
.v2 .av-duo figure,.v2 .av-bento figure,.v2 .av-event figure{overflow:visible}
.v2 .av-duo img{transition:transform .7s var(--av-ease)}
.v2 .av-duo figure:hover img{transform:scale(1.015)}

/* System */
.v2 .av-swatches{display:flex;gap:10px;height:clamp(180px,24vw,320px);margin:0;padding:0;list-style:none}
.v2 .av-swatches li{flex:1;display:flex;flex-direction:column;justify-content:flex-end;gap:4px;padding:18px;border-radius:var(--av-radius);background:var(--swatch);color:#fff;transition:flex-grow .7s var(--av-ease)}
.v2 .av-swatches li.is-light{color:var(--av-ink);box-shadow:inset 0 0 0 1px var(--av-line)}
.v2 .av-swatches li.swatch-terracotta{color:#000}
.v2 .av-swatches .swatch-terracotta small{opacity:1}
.v2 .av-swatches li:hover{flex-grow:2.6}
.v2 .av-swatches b{font-size:15px}
.v2 .av-swatches small{font-size:var(--text-sm);opacity:.85;font-variant-numeric:tabular-nums}
.v2 .av-bento{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--av-gap)}
.v2 .av-bento .av-bento-wide{grid-column:1/-1}
.v2 .av-bento figure:not(.av-bento-wide) img{aspect-ratio:4/3;object-fit:cover}
.v2 .av-bento img{transition:transform .8s var(--av-ease),box-shadow .5s}
.v2 .av-bento figure:hover img{transform:translateY(-6px);box-shadow:0 30px 60px -30px #0007}
.v2 .av-system>.av-button{justify-self:start}

/* Act 04 — film grain */
.v2 .av-grain{isolation:isolate}
.v2 .av-grain::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.09;mix-blend-mode:screen;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
html[data-motion=on] .v2 .av-grain::before{animation:av-grain 1s steps(6) infinite}
@keyframes av-grain{0%{background-position:0 0}20%{background-position:-40px 30px}40%{background-position:60px -20px}60%{background-position:-20px -60px}80%{background-position:30px 50px}100%{background-position:0 0}}
.v2 .av-sequence{--p:1;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--av-gap);margin:0;padding:0;list-style:none;align-items:start}
.v2 .av-sequence>*{transform:translateY(calc((1 - var(--p)) * (40px + var(--k) * 90px)));transition:transform .2s linear}
.v2 .av-sequence>:nth-child(2){margin-top:clamp(24px,6vw,96px)}
.v2 .av-sequence>:nth-child(3){margin-top:clamp(48px,12vw,192px)}
.v2 .av-sequence img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:var(--av-radius)}
.v2 .av-sequence figcaption{opacity:.8}
.v2 .av-sequence b{display:block;margin-bottom:2px;color:var(--av-coral);font-weight:600}
.v2 .av-film{display:grid;grid-template-columns:1fr minmax(0,420px);gap:clamp(24px,6vw,96px);align-items:center;padding:clamp(24px,4vw,56px);border-radius:calc(var(--av-radius) + 8px);background:#ffffff0a;box-shadow:inset 0 0 0 1px var(--av-line-dark)}
.v2 .av-film h3,.v2 .av-event-film h3{margin:14px 0;font:700 clamp(34px,4.6vw,72px)/.95 var(--font-sans);letter-spacing:-.045em}
.v2 .av-film p:not(.av-label){opacity:.7;max-width:40ch}
.v2 video{display:block;width:100%;border-radius:var(--av-radius);background:#000;aspect-ratio:9/16;object-fit:cover}
.v2 .av-event{display:grid;grid-template-columns:1.4fr 1fr;gap:var(--av-gap);align-items:start}
.v2 .av-event-main{grid-row:span 2}
.v2 .av-event-film{display:grid;grid-template-columns:minmax(0,200px) 1fr;gap:var(--av-gap);align-items:end}
.v2 .av-event-film p{opacity:.7}
.v2 .av-continuity{display:grid;gap:clamp(28px,4vw,56px);padding-top:clamp(48px,7vw,110px);border-top:1px solid var(--av-line-dark)}
.v2 .av-continuity .av-lede-tight{margin-top:0}
.v2 .av-social{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,24%);gap:var(--av-gap);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px;scrollbar-width:thin;scrollbar-color:#ffffff40 transparent}
.v2 .av-social figure{scroll-snap-align:start}
.v2 .av-social img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--av-radius);transition:transform .6s var(--av-ease)}
.v2 .av-social figure:hover img{transform:translateY(-8px) rotate(-1deg)}

/* Act 05 — digital */
.v2 .av-journey{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(28px,6vw,110px);align-items:start}
.v2 .av-journey-visual{position:sticky;top:12vh;height:76vh;border-radius:calc(var(--av-radius) + 6px);background:var(--av-soft);overflow:hidden;box-shadow:inset 0 0 0 1px var(--av-line)}
.v2 .av-frame{position:absolute;inset:clamp(16px,3vw,40px);display:grid;place-items:center;opacity:0;transform:translateY(24px) scale(.97);transition:opacity .6s var(--av-ease),transform .8s var(--av-ease)}
.v2 .av-frame.is-active{opacity:1;transform:none}
.v2 .av-frame img{max-width:100%;max-height:100%;object-fit:contain;border-radius:12px;box-shadow:0 24px 50px -24px #0005}
.v2 .av-frame img.av-frame-tall{width:100%;height:100%;object-fit:cover;object-position:top}
html[data-motion=on] .v2 .av-frame.is-active img.av-frame-tall{animation:av-pan 14s ease-in-out .6s infinite alternate}
@keyframes av-pan{to{object-position:bottom}}
.v2 .av-frame-tag{position:absolute;left:16px;bottom:14px;padding:6px 10px;border-radius:999px;background:#fff;font-size:var(--text-sm);box-shadow:0 4px 14px #0001}
.v2 .av-journey-steps{display:grid}
.v2 .av-journey-steps article{min-height:68vh;display:grid;align-content:center;gap:12px;opacity:.96;transition:opacity .5s}
.v2 .av-journey-steps article.is-active{opacity:1}
.v2 .av-journey-steps h3{margin:0;font:700 clamp(30px,3.4vw,52px)/1 var(--font-sans);letter-spacing:-.04em}
.v2 .av-journey-steps p:not(.av-label){margin:0;max-width:44ch;line-height:1.6;opacity:.8}
.v2 .av-count{font:600 14px/1 var(--font-sans);color:var(--av-accent);font-variant-numeric:tabular-nums}
.v2 .av-component{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(24px,6vw,96px);align-items:center;padding:clamp(24px,4vw,56px);border-radius:calc(var(--av-radius) + 8px);background:var(--av-soft)}
.v2 .av-component h3{margin:14px 0;font:700 clamp(28px,3.4vw,52px)/1 var(--font-sans);letter-spacing:-.04em}
.v2 .av-component p:not(.av-label){opacity:.75;line-height:1.6;margin:0 0 24px}
.v2 .av-live{display:grid;gap:28px}
.v2 .av-tabs{display:inline-flex;justify-self:start;gap:4px;padding:5px;border-radius:999px;background:var(--av-soft)}
.v2 .av-tabs button{padding:11px 20px;border:0;border-radius:999px;background:transparent;color:inherit;font:600 14px/1 var(--font-sans);cursor:pointer;transition:background .25s,color .25s}
.v2 .av-tabs button[aria-selected=true]{background:var(--av-ink);color:#fff}
.v2 .av-panel{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(24px,5vw,80px);align-items:center}
.v2 .av-panel[hidden]{display:none}
.v2 .av-panel-copy h4,.v2 .av-tools h4,.v2 .av-decisions h4{margin:0 0 12px;font:700 clamp(22px,2.2vw,32px)/1.08 var(--font-sans);letter-spacing:-.03em}
.v2 .av-panel-copy p{opacity:.75;line-height:1.6;margin:0 0 24px}
.v2 .av-browser{position:relative;padding-top:34px;border-radius:16px;background:#ececea;overflow:hidden;box-shadow:0 40px 80px -40px #0006,inset 0 0 0 1px var(--av-line)}
.v2 .av-browser::before{content:"";position:absolute;left:14px;top:13px;width:9px;height:9px;border-radius:50%;background:#d9d9d6;box-shadow:15px 0 #d9d9d6,30px 0 #d9d9d6}
.v2 .av-browser span{color:var(--av-ink);max-width:85%;overflow:hidden;text-overflow:ellipsis;position:absolute;left:50%;top:8px;transform:translateX(-50%);padding:3px 14px;border-radius:999px;background:#fff;font-size:var(--text-sm);opacity:.75;white-space:nowrap}
.v2 .av-browser img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;object-position:top}
.v2 .av-tools{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--av-gap);align-items:start}
.v2 .av-tools article{display:grid;gap:12px;align-content:start}
.v2 .av-tools article .av-browser{margin-bottom:10px;transition:transform .6s var(--av-ease)}
.v2 .av-tools article:hover .av-browser{transform:translateY(-6px)}
.v2 .av-tools p:not(.av-label){margin:0;opacity:.75;line-height:1.6}
.v2 .av-tool-text{align-self:stretch;padding:clamp(24px,3vw,40px);border-radius:var(--av-radius);background:var(--av-ink);color:#fff}
.v2 .av-tool-text p:not(.av-label){opacity:.7}
.v2 .av-decisions{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--av-gap)}
.v2 .av-decisions article{padding-top:22px;border-top:1px solid var(--av-ink)}
.v2 .av-decisions .av-label{margin-bottom:14px}
.v2 .av-decisions p:not(.av-label){margin:0;opacity:.75;line-height:1.6}

/* Outro + next */
.v2 .av-outro{text-align:left}
.v2 .av-asterisk{font-size:clamp(48px,6vw,90px);line-height:1;color:var(--asterisk-gray)}
html[data-motion=on] .v2 .av-asterisk{display:inline-block;animation:av-spin 16s linear infinite}
@keyframes av-spin{to{transform:rotate(360deg)}}
.v2 .av-outro .av-display{max-width:16ch}
.v2 .av-actions{display:flex;flex-wrap:wrap;gap:12px}
.v2 .av-next{display:grid;gap:18px;padding:clamp(20px,4vw,48px) var(--av-pad) clamp(48px,6vw,80px);background:var(--av-ink);color:#fff}
.v2 .av-next-card{position:relative;display:grid;align-content:end;gap:10px;min-height:clamp(260px,38vw,520px);padding:clamp(24px,4vw,56px);border-radius:calc(var(--av-radius) + 8px);overflow:hidden;color:#fff;text-decoration:none;isolation:isolate}
.v2 .av-next-card img{position:absolute;inset:0;z-index:-1;width:100%;height:100%;object-fit:cover;filter:grayscale(1) brightness(.45);transform:scale(1.04);transition:filter .8s var(--av-ease),transform 1.2s var(--av-ease)}
.v2 .av-next-card:hover img,.v2 .av-next-card:focus-visible img{filter:grayscale(0) brightness(.6);transform:scale(1)}
.v2 .av-next-card .av-label{opacity:.75}
.v2 .av-next-card strong{font:700 clamp(44px,8vw,140px)/.9 var(--font-sans);letter-spacing:-.055em}
.v2 .av-next-card strong span{display:inline-block;transition:transform .6s var(--av-ease)}
.v2 .av-next-card:hover strong span{transform:translateX(16px)}
.v2 .av-next-all{color:#fff;opacity:.85;font-size:14px;text-decoration:none}
.v2 .av-next-all:hover{opacity:1}
.v2 footer{background:var(--av-ink);color:#ffffffa0;border-top:1px solid var(--av-line-dark)}
.v2 footer a{color:inherit}

/* Readable secondary copy on the site's light and dark surfaces. */
.v2 .contact .label,.v2 .contact .contact-links a{font-size:var(--text-sm)}
.v2 .animation-switch{min-height:44px}
.v2 .av-paper .av-principles span{color:var(--av-accent)}
.v2 .av-ink .av-territories li{color:#d6d6d6}
.v2 .contact .contact-bottom>div{font-size:var(--text-sm)}

/* Motion off: static, fully visible compositions */
html[data-motion=off] .v2 .av-reveal{height:auto}
html[data-motion=off] .v2 .av-reveal-inner{position:relative;height:auto;padding-block:clamp(96px,12vw,180px)}
html[data-motion=off] .v2 .av-card,html[data-motion=off] .v2 .av-spread figure,html[data-motion=off] .v2 .av-sequence li{transition:none}
@media (prefers-reduced-motion:reduce){
 .v2 *,.v2 *::before{animation:none!important;transition:none!important}
 .v2 .av-reveal{height:auto}
 .v2 .av-reveal-inner{position:relative;height:auto;padding-block:clamp(96px,12vw,180px)}
}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1100px){
 .v2 .av-tools{grid-template-columns:1fr 1fr}
 .v2 .av-tool-text{grid-column:1/-1}
 .v2 .av-index a{padding:9px 10px;font-size:var(--text-sm)}
}
@media (max-width:760px){
 .v2{--av-radius:16px}
 body.v2>header nav a:first-child{display:none}
 .v2 .av-hero-top>span{display:none}
 .v2 .av-card{--w:44vw}
 .v2 .av-card{transform:translate(-50%,-50%) translateX(var(--drag,0px)) translateX(calc(var(--i) * (22% + 38% * var(--s)))) translateY(calc(var(--a) * (6px + 14px * var(--s)))) rotate(calc(var(--i) * (6deg - 2deg * var(--s))))}
 .v2 .av-fan{min-height:62vw}
 .v2 .av-facts{grid-template-columns:1fr 1fr;row-gap:18px}
 .v2 .av-lede,.v2 .av-audiences,.v2 .av-principles,.v2 .av-duo,.v2 .av-film,.v2 .av-event,.v2 .av-journey,.v2 .av-component,.v2 .av-panel,.v2 .av-tools,.v2 .av-decisions{grid-template-columns:1fr}
 .v2 .av-lede-tight{margin-top:0}
 .v2 .av-spread{grid-template-columns:1fr}
 .v2 .av-spread figure{transform:none}
 .v2 .av-spread .av-spread-main{order:-1}
 .v2 .av-sequence{grid-template-columns:repeat(3,72vw);overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:calc(var(--av-pad) * -1);padding:0 var(--av-pad) 12px}
 .v2 .av-sequence>*{margin-top:0!important;transform:none;scroll-snap-align:center}
 .v2 .av-bento{grid-template-columns:1fr 1fr}
 .v2 .av-swatches{flex-direction:column;height:auto}
 .v2 .av-swatches li{min-height:64px;flex-direction:row;justify-content:space-between;align-items:center}
 .v2 .av-swatches li:hover{flex-grow:1}
 .v2 .av-social{grid-auto-columns:68vw}
 .v2 .av-event-main{grid-row:auto}
 .v2 .av-event-film{grid-template-columns:150px 1fr}
 .v2 .av-reveal{height:180vh}
 .v2 .av-journey-visual{top:64px;height:46vh;z-index:2}
 .v2 .av-journey-steps article{min-height:56vh;align-content:end;padding-bottom:6vh}
 .v2 .av-index{left:12px;right:12px;bottom:12px;transform:translateY(140%)}
 .v2 .av-index.is-visible{transform:none}
 .v2 .av-index ol{flex:1}
 .v2 .av-index li:not(:has([aria-current])){display:none}
 .v2 .av-index li:has([aria-current]){flex:1}
 .v2 .av-moment img{max-height:none;aspect-ratio:4/3}
}

/* ---------- SHARED ADDITIONS ---------- */
.v2 .av-button-coral{background:var(--av-coral)!important;color:var(--av-ink)!important}
.v2 .av-button-coral:hover{background:#fff!important}
.v2 .av-soft{background:var(--av-soft)}
.v2 .av-hero-bg{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05);opacity:.26}
.v2 .av-hero>.photo-backdrop{z-index:-2;background:transparent}
.v2 .av-hero>.photo-backdrop img{opacity:0;filter:grayscale(1)}
.v2 .av-hero>.photo-backdrop img:first-child{opacity:var(--photo-opacity,.28)}
.v2 .home-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.v2 .home-chips li{padding:9px 16px;border-radius:999px;box-shadow:inset 0 0 0 1px currentColor;font-size:var(--text-sm);opacity:.8}
.v2 a.av-card{color:#fff;text-decoration:none}
.v2 a.av-card>span{position:absolute;left:12px;right:12px;bottom:12px;padding:8px 12px;border-radius:999px;background:#0d0d0dcc;font-size:var(--text-sm);font-weight:600;text-align:center;opacity:0;transform:translateY(8px);transition:opacity .3s,transform .4s var(--av-ease);backdrop-filter:blur(6px)}
.v2 a.av-card.is-current>span,.v2 a.av-card:hover>span,.v2 a.av-card:focus-visible>span{opacity:1;transform:none}
.v2 .av-preview{position:fixed;left:0;top:0;z-index:60;width:clamp(240px,22vw,360px);aspect-ratio:4/3;border-radius:18px;overflow:hidden;pointer-events:none;opacity:0;scale:.85;transition:opacity .3s,scale .45s var(--av-ease);box-shadow:0 30px 70px -20px #000c}
.v2 .av-preview.is-visible{opacity:1;scale:1}
.v2 .av-preview img{width:100%;height:100%;object-fit:cover}

/* ---------- HOME ---------- */
.home-v2 .home-hero{min-height:calc(100svh - 70px)}
.home-v2 .av-hero-role span{color:#fff}
.home-v2 .av-hero-top>span{opacity:.7}
.home-v2 .home-hero .av-hero-title{gap:22px}
.home-v2 .home-intro{max-width:52ch;margin:0;font-size:clamp(16px,1.3vw,19px);line-height:1.55;opacity:.78}
.home-v2 .home-hero .av-actions{justify-content:center}
.home-v2 .home-featured{display:grid;grid-template-columns:1.25fr 1fr;gap:var(--av-gap)}
.home-v2 .home-feature{position:relative;display:grid;align-content:start;align-self:start;gap:16px;color:#fff;text-decoration:none}
.home-v2 .home-feature-media{position:relative;display:block;overflow:hidden;border-radius:calc(var(--av-radius) + 6px);aspect-ratio:4/3.1;background:#1a1a1a}
.home-v2 .home-feature:nth-child(2) .home-feature-media{aspect-ratio:4/5}
.home-v2 .home-feature-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.1s var(--av-ease),filter .8s}
.home-v2 .home-feature-logo{position:absolute;left:8%;top:50%;width:46%!important;height:auto!important;transform:translateY(-50%);object-fit:contain!important;filter:drop-shadow(0 18px 40px #0008)}
.home-v2 .home-feature:hover .home-feature-media img:first-child{transform:scale(1.05)}
.home-v2 .home-feature-copy{display:grid;align-content:start;gap:8px}
.home-v2 .home-feature-copy strong{font:700 clamp(30px,3.6vw,56px)/1 var(--font-sans);letter-spacing:-.045em}
.home-v2 .home-feature-copy>span:last-child{opacity:.7;max-width:44ch}
.home-v2 .home-feature-arrow{position:absolute;right:18px;top:18px;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#fff;color:var(--av-ink);font-size:20px;transform:scale(.8) rotate(-20deg);opacity:0;transition:transform .5s var(--av-ease),opacity .3s}
.home-v2 .home-feature:hover .home-feature-arrow,.home-v2 .home-feature:focus-visible .home-feature-arrow{transform:none;opacity:1}
.home-v2 .home-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--av-line-dark)}
.home-v2 .home-list a{display:grid;grid-template-columns:60px minmax(0,1.2fr) minmax(0,1.3fr) minmax(0,.9fr) 40px;align-items:center;gap:24px;padding:clamp(20px,2.4vw,32px) 0;border-bottom:1px solid var(--av-line-dark);color:#fff;text-decoration:none;transition:padding-left .5s var(--av-ease),color .3s}
.home-v2 .home-list img{display:none}
.home-v2 .home-list strong{font:700 clamp(26px,3.4vw,52px)/1 var(--font-sans);letter-spacing:-.045em;color:#ffffffb3;transition:color .3s}
.home-v2 .home-list-num{font-size:var(--text-sm);color:var(--av-coral);font-variant-numeric:tabular-nums}
.home-v2 .home-list-desc{opacity:.85;font-size:15px;line-height:1.5}
.home-v2 .home-list-tags{opacity:.85;font-size:var(--text-sm)}
.home-v2 .home-list-arrow{font-size:22px;opacity:.4;transition:transform .5s var(--av-ease),opacity .3s}
.home-v2 .home-list a:hover,.home-v2 .home-list a:focus-visible{padding-left:clamp(8px,1.6vw,24px)}
.home-v2 .home-list a:hover strong,.home-v2 .home-list a:focus-visible strong{color:#fff}
.home-v2 .home-list a:hover .home-list-arrow{opacity:1;transform:rotate(45deg)}
.home-v2 .home-work{padding-bottom:clamp(64px,8vw,120px)}
.home-v2 .home-explore{padding-top:0;background:var(--av-ink-2)}
.home-v2 .home-explore.av-act{padding-top:clamp(96px,12vw,180px)}
.home-v2 .home-explore-lede{max-width:34ch;margin-top:calc(clamp(48px,7vw,110px) * -.5)}
.home-v2 .home-explore-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--av-gap)}
.home-v2 .home-explore-card{display:grid;gap:10px;color:#fff;text-decoration:none}
.home-v2 .home-explore-card img{width:100%;aspect-ratio:16/11;object-fit:cover;border-radius:calc(var(--av-radius) + 6px);margin-bottom:10px;transition:transform .9s var(--av-ease),border-radius .6s}
.home-v2 .home-explore-card:nth-child(2){margin-top:clamp(40px,8vw,140px)}
.home-v2 .home-explore-card:hover img{transform:scale(.98) rotate(-.6deg);border-radius:40px}
.home-v2 .home-explore-card strong{font:700 clamp(26px,2.8vw,42px)/1 var(--font-sans);letter-spacing:-.04em}
.home-v2 .home-explore-card>span:last-child{opacity:.85;line-height:1.5;max-width:44ch}
.home-v2 .home-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--av-gap)}
.home-v2 .home-service-grid article{display:grid;gap:16px;align-content:start;padding:clamp(26px,3vw,44px);border-radius:var(--av-radius);background:var(--av-soft);transition:background .45s,color .45s,transform .6s var(--av-ease)}
.home-v2 .home-service-grid article:hover{background:var(--av-ink);color:#fff;transform:translateY(-6px)}
.home-v2 .home-service-grid article:hover .av-count{color:var(--av-coral)}
.home-v2 .home-service-grid h3{margin:0;font:700 clamp(26px,2.6vw,40px)/1.02 var(--font-sans);letter-spacing:-.04em}
.home-v2 .home-service-grid p{margin:0;opacity:.72;line-height:1.6}
.home-v2 .home-service-grid .av-link{margin-top:6px}
.home-v2 .working-note{margin:0;padding:clamp(28px,4vw,60px);border-radius:calc(var(--av-radius) + 8px);grid-template-columns:90px 1.4fr 1fr}
.home-v2 .working-note .av-label{color:var(--av-coral);opacity:1}
.home-v2 .start-copy h3{font-weight:700;letter-spacing:-.04em}
.home-v2 .start-copy .av-button{margin-top:22px}
.home-v2 .home-about{grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);align-items:start;column-gap:clamp(32px,7vw,120px)}
.home-v2 .home-about .about-visual{position:sticky;top:110px;max-width:440px;margin:0}
.home-v2 .home-about-copy{display:grid;gap:clamp(36px,5vw,64px)}
.home-v2 .home-about .av-act-num{right:auto;left:auto;top:-.5em;right:0}
.home-v2 .home-about-columns{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,48px)}
.home-v2 .home-about-columns p{margin:0;line-height:1.7;opacity:.8}
.home-v2 .home-ai{display:grid;gap:16px;padding-block:28px;border-block:1px solid var(--av-line)}
.home-v2 .home-ai h3{margin:0;font:700 clamp(25px,2.5vw,36px)/1.12 var(--font-sans);letter-spacing:-.035em}
.home-v2 .home-ai>p:not(.av-label){margin:0;line-height:1.7;color:var(--av-ink-2);max-width:65ch}
.home-v2 .home-profile{display:grid;gap:14px;padding:clamp(26px,3vw,44px);border-radius:var(--av-radius);background:var(--av-ink);color:#fff}
.home-v2 .home-profile h3{margin:0;font:700 clamp(26px,2.6vw,40px)/1.02 var(--font-sans);letter-spacing:-.04em}
.home-v2 .home-profile>p:not(.av-label){margin:0;opacity:.72;line-height:1.6;max-width:56ch}
.home-v2 .home-profile dl{display:grid;gap:0;margin:10px 0 0}
.home-v2 .home-profile dl div{display:grid;grid-template-columns:160px 1fr;gap:16px;padding:14px 0;border-top:1px solid var(--av-line-dark)}
.home-v2 .home-profile dt{font-size:var(--text-sm);letter-spacing:.12em;text-transform:uppercase;color:var(--av-coral)}
.home-v2 .home-profile dd{margin:0;opacity:.85}
.home-v2 .home-links{display:grid;gap:10px}
.home-v2 .home-links>p:not(.av-label){margin:0;opacity:.7}
.home-v2 .home-links div{display:flex;flex-wrap:wrap;gap:22px}
.home-v2 footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:28px var(--av-pad)}

/* ---------- WEDDING ART ---------- */
.wedding-v2{--av-display:clamp(48px,7.6vw,132px)}
.wedding-v2 .av-display,.wedding-v2 h1{font-family:var(--font-editorial);font-weight:400;letter-spacing:-.035em;line-height:.95}
.wedding-v2 h1{font-size:clamp(64px,11vw,190px)}
.wedding-v2 .av-display em,.wedding-v2 h1 em{font-style:italic;color:var(--av-coral)}
.wedding-v2 .av-paper .av-display em{color:var(--av-accent)}
.wedding-v2 .wedding-hero::before{background:linear-gradient(180deg,#0d0d0d00 30%,#0d0d0d 92%)}
.wedding-v2 .wedding-hero-line{margin:0;font:italic 400 clamp(18px,1.8vw,26px)/1.4 var(--font-editorial);opacity:.85}
.wedding-v2 .av-card{aspect-ratio:1/1;--w:clamp(130px,14vw,240px)}
.wedding-v2 .av-card img{filter:saturate(.9)}
.wedding-v2 .wedding-duo figure:nth-child(2){margin-top:clamp(40px,8vw,140px)}
.wedding-v2 .wedding-duo img{aspect-ratio:4/5;object-fit:cover}
.wedding-v2 .wedding-gallery-wrap{margin-inline:calc(var(--av-pad) * -1)}
.wedding-v2 .wedding-flickr{justify-self:center}
.wedding-v2 .wedding-film{grid-template-columns:1fr minmax(0,400px);background:transparent;box-shadow:none;padding:0;position:relative}
.wedding-v2 .wedding-film .av-act-num{position:static;display:block;margin-bottom:8px;font-size:clamp(70px,10vw,160px)}
.wedding-v2 .wedding-film .av-display{margin:16px 0 24px}
.wedding-v2 .wedding-film p:not(.av-label){max-width:44ch;opacity:.75;line-height:1.6}
.wedding-v2 .wedding-wide img{display:block;width:100%;border-radius:var(--av-radius)}
.wedding-v2 .wedding-invite{background:#fff}
.wedding-v2 .wedding-invite h3{font-family:var(--font-editorial);font-weight:400;letter-spacing:-.02em}
.wedding-v2 .wedding-steps{margin:0 0 28px;padding:0;list-style:none;border-top:1px solid var(--av-line)}
.wedding-v2 .wedding-steps li{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid var(--av-line);font-size:17px}
.wedding-v2 .wedding-steps span{color:var(--av-accent);font-variant-numeric:tabular-nums}
.wedding-v2 .wedding-spread{grid-template-columns:1fr 1fr}
.v2 .wedding-credits-list{display:grid;grid-template-columns:repeat(2,1fr);gap:0 var(--av-gap);margin:0}
.v2 .wedding-credits-list div{display:grid;gap:8px;padding:26px 0;border-top:1px solid var(--av-ink)}
.v2 .wedding-credits-list dt{font-size:var(--text-sm);letter-spacing:.12em;text-transform:uppercase;opacity:.85}
.v2 .wedding-credits-list dd{margin:0;font:400 clamp(28px,3.4vw,52px)/1.05 var(--font-editorial);letter-spacing:-.025em}
.wedding-v2 #creditos>.av-button{justify-self:start}
.wedding-v2 .av-next-card strong{font-family:var(--font-sans)}

@media (max-width:760px){
 .home-v2 .home-featured,.home-v2 .home-explore-grid,.home-v2 .home-service-grid,.home-v2 .home-about,.home-v2 .home-about-columns{grid-template-columns:1fr}
 .home-v2 .home-feature:nth-child(2) .home-feature-media{aspect-ratio:4/3.1}
 .home-v2 .home-explore-card:nth-child(2){margin-top:0}
 .home-v2 .home-list a{grid-template-columns:84px 1fr 24px;grid-template-areas:"img title arrow" "img desc desc";gap:6px 16px}
 .home-v2 .home-list img{display:block;grid-area:img;grid-row:1/3;width:84px;height:84px;object-fit:cover;border-radius:12px}
 .home-v2 .home-list-num,.home-v2 .home-list-tags{display:none}
 .home-v2 .home-list strong{grid-area:title;font-size:24px}
 .home-v2 .home-list-desc{grid-area:desc;font-size:14px}
 .home-v2 .home-list-arrow{grid-area:arrow}
 .home-v2 .home-about .about-visual{position:relative;top:0;max-width:340px}
 .home-v2 .home-profile dl div{grid-template-columns:1fr;gap:4px}
 .home-v2 .working-note{grid-template-columns:1fr}
 .home-v2 .av-hero-top>span:not(.av-hero-role){display:none}
 .home-v2 .av-hero-role{font-size:var(--text-sm);max-width:60%}
 .home-v2 footer{flex-direction:column;align-items:flex-start}
 .wedding-v2 .wedding-film,.v2 .wedding-credits-list,.wedding-v2 .wedding-spread{grid-template-columns:1fr}
 .wedding-v2 .wedding-duo figure:nth-child(2){margin-top:0}
 .wedding-v2 .av-card{--w:34vw}
}
.home-v2 .about-visual>.av-label{display:block;margin-bottom:22px}
.wedding-v2 #galeria{overflow-x:clip}

/* ---------- PARTE 3 ---------- */
/* Header y footer claros para contrastar con los actos oscuros */
body.v2>header{background:#fff;color:var(--av-ink);border-bottom:1px solid var(--av-line)}
.v2 footer{background:#fff!important;color:var(--av-ink)!important;border-top:1px solid var(--av-line)!important}
.v2 footer a{color:inherit}
.v2 .wedding-wide img{display:block;width:100%;border-radius:var(--av-radius)}
/* Portada: cuadrícula única de proyectos */
.home-v2 .home-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,3vw,44px) var(--av-gap)}
.home-v2 .home-tile{display:grid;gap:8px;align-content:start;color:#fff;text-decoration:none}
.home-v2 .home-tile-media{display:block;overflow:hidden;border-radius:var(--av-radius);aspect-ratio:4/3;margin-bottom:8px;background:#1a1a1a}
.home-v2 .home-tile-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s var(--av-ease)}
.home-v2 .home-tile:hover .home-tile-media img,.home-v2 .home-tile:focus-visible .home-tile-media img{transform:scale(1.05)}
.home-v2 .home-tile strong{font:700 clamp(22px,1.9vw,30px)/1.05 var(--font-sans);letter-spacing:-.035em}
.home-v2 .home-tile>span:last-child{opacity:.85;line-height:1.5;font-size:15px;max-width:40ch}
.home-v2 .home-tile .av-label{font-size:var(--text-sm)}
.home-v2 .home-behance{display:grid;gap:10px;padding:clamp(28px,4vw,56px);border-radius:calc(var(--av-radius) + 6px);color:var(--av-ink);background:var(--av-coral);text-decoration:none;transition:transform .6s var(--av-ease),background .3s}
.home-v2 .home-behance strong{font:700 clamp(30px,4vw,64px)/1 var(--font-sans);letter-spacing:-.045em}
.home-v2 .home-behance strong span{display:inline-block;transition:transform .5s var(--av-ease)}
.home-v2 .home-behance:hover{transform:translateY(-4px);background:#fff}
.home-v2 .home-behance:hover strong span{transform:translate(6px,-6px)}
.home-v2 .home-behance>span:last-child{opacity:.75}
/* Menos aire entre "Un buen comienzo" y "Sobre mí" */
.home-v2 .home-services{padding-bottom:clamp(40px,5vw,72px)}
.home-v2 .home-about.av-act{padding-top:clamp(40px,5vw,72px);border-top:1px solid var(--av-line);margin-inline:var(--av-pad);padding-inline:0}
/* Variantes de color en héroes */
.bimbo-v2 .av-hero::before{background:radial-gradient(60% 50% at 50% 62%,#1f4fd877,transparent 70%)}
.bimbo-v2 .av-display em,.bimbo-v2 h1 em{color:#ff6b57}
.breakers-v2 .av-hero::before{background:radial-gradient(60% 50% at 50% 62%,#b04ad877,transparent 70%)}
.breakers-v2 .av-display em,.breakers-v2 h1 em{font-family:var(--font-sans);font-style:italic;font-weight:800;color:#ff8a1f}
.breakers-v2 .av-sequence img{aspect-ratio:auto}
.v2 .av-card img{background:#222}
@media (max-width:1100px){.home-v2 .home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){
 .home-v2 .home-grid{grid-template-columns:1fr}
 .home-v2 .home-about.av-act{margin-inline:var(--av-pad)}
 .breakers-v2 .av-sequence{grid-template-columns:repeat(3,86vw)}
}
.v2 .av-act>.av-button{justify-self:start}

/* ---------- PARTE 4 ---------- */
/* Ancho completo: los fondos llegan al borde; el contenido se limita con el padding lateral */
.v2{--av-pad:max(clamp(20px,5vw,80px),calc((100vw - 1640px) / 2))}
body.v2>header,body.v2>footer,.v2 main,.v2 main>section,.v2 main>section:not(.hero){max-width:none!important;margin-inline:0!important}
body.v2>header{padding-inline:var(--av-pad)}
.v2 .contact{padding-inline:var(--av-pad)!important}
/* Nav alineada */
body.v2>header nav{display:flex;align-items:center;gap:clamp(18px,2.4vw,32px);font-size:14px}
body.v2>header nav a{display:inline-flex;align-items:center;gap:5px;line-height:1;padding:6px 0}
body.v2>header nav a span{display:inline-block;line-height:1;font-size:1em;transform:translateY(-1px)}
/* Bogotá junto al switch */
.v2 .av-hero-tools{display:flex;align-items:center;gap:18px}
.v2 .av-hero-tools>span{opacity:.7;letter-spacing:.08em;text-transform:uppercase;font-size:var(--text-sm)}
/* Derechos */
.v2 .av-rights{margin:0;font-size:var(--text-sm);line-height:1.5;opacity:.85;text-align:center}
/* Tarjeta Behance blanca con overlay coral */
.home-v2 .home-behance{position:relative;overflow:hidden;isolation:isolate;background:#fff}
.home-v2 .home-behance::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--av-coral);transform:scaleY(0);transform-origin:bottom;transition:transform .6s var(--av-ease)}
.home-v2 .home-behance:hover,.home-v2 .home-behance:focus-visible{background:#fff}
.home-v2 .home-behance:hover::before,.home-v2 .home-behance:focus-visible::before{transform:scaleY(1)}
/* Miniatura tipográfica (Skipper) */
.home-v2 .home-tile-type .home-tile-media{display:grid;place-content:center;gap:6px;text-align:center;background:linear-gradient(135deg,#ec111a,#8f0b11);transition:filter .5s}
.home-v2 .home-tile-type .home-tile-media b{font:800 clamp(34px,4vw,64px)/1 var(--font-sans);letter-spacing:-.05em;color:#fff;transition:transform .9s var(--av-ease)}
.home-v2 .home-tile-type .home-tile-media i{font:italic 400 16px/1 var(--font-editorial);color:#ffffffcc}
.home-v2 .home-tile-type:hover .home-tile-media b{transform:scale(1.06)}
/* Polaroid con movimiento */
.home-v2 .about-visual{--p:1}
.home-v2 .analog-photo{transform:translateY(calc((1 - var(--p)) * 90px)) rotate(calc(-14deg + 9deg * var(--p)));transition:transform .2s linear;animation:none!important}
html[data-motion=on] .home-v2 .analog-photo img{animation:av-sway 5.5s ease-in-out infinite alternate;transform-origin:50% 0}
@keyframes av-sway{from{rotate:-1.6deg;translate:0 0}to{rotate:1.6deg;translate:0 -6px}}
.home-v2 .about-visual:hover .analog-photo{transform:translateY(-8px) rotate(-1deg) scale(1.03);transition:transform .6s var(--av-ease)}
html[data-motion=on] .home-v2 .portrait{animation:av-breathe 9s ease-in-out infinite alternate}
@keyframes av-breathe{to{transform:scale(1.015)}}
/* Contacto con la gráfica del hero */
.v2 .contact{position:relative;isolation:isolate;text-align:center;background:var(--av-ink)!important;padding-block:clamp(96px,12vw,180px) clamp(48px,6vw,80px)!important}
.v2 .contact::after{content:"";position:absolute;inset:-10%;z-index:-1;background:radial-gradient(55% 45% at 50% 55%,#5c1f6355,transparent 70%);pointer-events:none}
.v2 .contact .contact-top{display:flex;justify-content:space-between;align-items:center;position:absolute;left:var(--av-pad);right:var(--av-pad);top:24px}
.v2 .contact h2{position:relative;margin:clamp(40px,5vw,72px) auto 0;font:700 clamp(52px,9vw,160px)/.92 var(--font-sans);letter-spacing:-.055em}
.v2 .contact h2 em{font:italic 400 1em/1 var(--font-editorial);letter-spacing:-.02em;color:var(--av-coral)}
.v2 .contact h2 .orange{position:absolute;left:50%;top:-.95em;margin-left:-.25em;font-size:.45em;line-height:1;color:#fff}
html[data-motion=on] .v2 .contact h2 .orange{animation:av-spin 16s linear infinite}
.v2 .contact .contact-bottom{display:grid;justify-items:center;gap:26px;text-align:center;border-top:0!important;margin-top:clamp(28px,4vw,48px)}
.v2 .contact .contact-bottom p{margin:0 auto;max-width:44ch;font-size:var(--text-body);color:#eee;opacity:1}
.v2 .contact .social-links{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px 22px}
.v2 .contact .social-links .whatsapp{flex-basis:100%;display:flex;justify-content:center}
.v2 .contact .social-links .whatsapp{width:max-content;margin-inline:auto;padding:14px 24px;border-radius:999px;background:var(--av-coral);color:var(--av-ink)!important;font-weight:600}
/* Internas: varios */
.v2 .av-event-film{grid-column:1/-1}
.v2 .av-principles-2{grid-template-columns:repeat(2,1fr)}
.v2 .av-tall img{height:auto}
.v2 .av-credits-dark div{border-color:#ffffff40!important}
.wedding-v2 .wedding-scope{padding-top:28px;margin-top:8px}
.colombia-v2 .av-film{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr)}
.colombia-v2 .av-film video{aspect-ratio:16/9}
.colombia-v2 .av-hero::before{background:radial-gradient(60% 50% at 50% 62%,#1f4fd877,transparent 70%)}
.colombia-v2 .av-display em,.colombia-v2 h1 em{color:#ffb21f}
.colombia-v2 .ml-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--av-gap);margin:0;padding:0;list-style:none}
.colombia-v2 .ml-stats li{display:grid;gap:8px;padding-top:20px;border-top:1px solid #ffffff40}
.colombia-v2 .ml-stats b{font:700 clamp(36px,4.6vw,72px)/1 var(--font-sans);letter-spacing:-.04em;color:#ffb21f}
.colombia-v2 .ml-stats span{opacity:.7;line-height:1.4}
.centauro-v2 .av-hero::before{background:radial-gradient(60% 50% at 50% 62%,#1b5fd877,transparent 70%)}
.centauro-v2 .av-display em,.centauro-v2 h1 em{color:#8fd14f}
.viajero-v2 .av-hero::before{background:radial-gradient(60% 50% at 50% 62%,#f2a20077,transparent 70%)}
.viajero-v2 .av-display em,.viajero-v2 h1 em{color:#ffb21f}
@media (max-width:760px){
 .v2 .av-hero-tools>span{display:none}
 .v2 .contact .contact-top{position:static;margin-bottom:28px}
 .v2 .av-principles-2,.colombia-v2 .av-film{grid-template-columns:1fr}
 .colombia-v2 .ml-stats{grid-template-columns:1fr 1fr}
}
.v2 .wedding-credits-list dd{font-family:var(--font-sans);font-weight:700;letter-spacing:-.035em}
.wedding-v2 .wedding-credits-list dd{font-family:var(--font-editorial);font-weight:400;letter-spacing:-.025em}

/* ---------- PARTE 5 ---------- */
.v2 .contact .contact-bottom{display:flex!important;flex-direction:column;align-items:center;width:100%;max-width:none!important;grid-template-columns:none!important}
.v2 .contact .contact-bottom>p{text-align:center}
.v2 .contact .social-links{width:100%;max-width:760px;margin-inline:auto;justify-content:center!important;align-items:center}
.v2 .contact .social-links .whatsapp{background:#fff!important;color:var(--av-ink)!important;padding:16px 28px;font-size:16px;box-shadow:0 18px 40px -18px #000;transition:transform .4s var(--av-ease),background .3s}
.v2 .contact .social-links .whatsapp:hover{background:var(--av-coral)!important;transform:translateY(-2px)}
.v2 .contact .social-links .whatsapp .social-icon{color:var(--av-ink)}
.v2 .contact .social-links>a:not(.whatsapp){opacity:.8}
.v2 .contact .social-links>a:not(.whatsapp):hover{opacity:1}
.viajero-v2 .av-card img{object-position:top}
.viajero-v2 .viajero-screens{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--av-gap)}
.viajero-v2 .viajero-screens figure{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-content:start}
.viajero-v2 .viajero-screens img{display:block;width:100%;aspect-ratio:834/1402;object-fit:cover;border-radius:14px}
.viajero-v2 .viajero-screens figcaption{grid-column:1/-1}
@media (max-width:1100px){.viajero-v2 .viajero-screens{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.viajero-v2 .viajero-screens{grid-template-columns:1fr}}

/* ---------- PARTE 6 · íconos vectoriales (no emojis) ---------- */
.ic{display:inline-block;width:.78em;height:.78em;vertical-align:-.06em;flex:none;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.ic-ast{width:.9em;height:.9em;stroke-width:2.8;stroke-linecap:butt;stroke-linejoin:miter;vertical-align:-.1em;color:#000}
.v2 :is(.av-hero,.av-ink,.av-purple,.working-note,.contact,.gallery-item) .ic-ast{color:#fff}
.v2 .av-outro .av-asterisk .ic-ast{color:var(--asterisk-gray)}
.wordmark .ic-ast{width:1em;height:1em;stroke-width:3}
.orange .ic-ast,.av-asterisk .ic-ast,.start-symbol .ic-ast{width:1em;height:1em;stroke-width:2.2;vertical-align:top}
.ic-left{margin-right:.15em}

/* ---------- PARTE 6 · ajustes móviles ---------- */
.wordmark{white-space:nowrap}
body.v2>header nav a{white-space:nowrap}
@media (max-width:760px){
 body.v2>header{padding-block:16px;flex-wrap:wrap;gap:12px}
 body.v2>header nav{gap:16px;font-size:var(--text-sm)}
 body.v2>header nav a:first-child{display:inline-flex}
 body.v2>header nav a:not(:first-child):not(:last-child){display:none}
 [data-reveal]:not(.is-in){transform:translateY(18px)}
 .home-v2 .av-hero.home-hero{min-height:0;grid-template-rows:auto auto auto auto;gap:28px;padding-bottom:36px}
 .home-v2 .home-hero .av-hero-title{padding-top:28px}
 .v2 .av-index{left:auto;right:12px;bottom:12px;padding:4px 10px 4px 4px;gap:8px}
 .v2 .av-index li:has([aria-current]){flex:none}
 .v2 .av-index a{padding:8px 12px;font-size:var(--text-sm)}
 .v2 .av-index .av-bar{display:none}
 .v2 .av-journey-visual{position:static;height:auto;display:none}
 .v2 .av-journey-steps{gap:40px}
 .v2 .av-journey-steps article{min-height:0;opacity:1;padding:0;align-content:start}
 .v2 .av-journey-steps article::before{content:"";display:block;aspect-ratio:4/3;border-radius:var(--av-radius);background:var(--av-soft) var(--frame) center/contain no-repeat;box-shadow:inset 0 0 0 1px var(--av-line);margin-bottom:8px}
 .v2 .contact h2 .orange{top:-1.1em}
 .v2 .contact .social-links{gap:12px 18px}
 .v2 .contact .social-links .whatsapp{font-size:15px;padding:14px 22px}
}
.v2 .av-hero h1{padding:0!important}

/* ---------- PARTE 7 · Behance, Wedding, Colonia ---------- */
/* Behance: tarjeta blanca; el coral entra de izquierda a derecha sin mover la tarjeta */
.home-v2 .home-behance,.home-v2 .home-behance:hover,.home-v2 .home-behance:focus-visible{transform:none!important;background:#fff!important}
.home-v2 .home-behance::before{transform:none!important;clip-path:inset(0 100% 0 0 round calc(var(--av-radius) + 6px));transition:clip-path .7s var(--av-ease)!important}
.home-v2 .home-behance:hover::before,.home-v2 .home-behance:focus-visible::before{clip-path:inset(0 0 0 0 round calc(var(--av-radius) + 6px))}
.home-v2 .home-behance[data-reveal]{transition:opacity .9s var(--av-ease),transform 1.1s var(--av-ease)}
.home-v2 .home-behance strong .ic{transition:transform .5s var(--av-ease)}
.home-v2 .home-behance:hover strong .ic{transform:translate(6px,-6px)}
/* Wedding: foto activa más grande */
@media (min-width:701px){
 .wedding-v2 .wedding-gallery.is-carousel{height:clamp(520px,58vw,760px)}
 .wedding-v2 .is-carousel .gallery-item{width:clamp(240px,30vw,430px)}
 .wedding-v2 .is-carousel .gallery-item.is-selected{width:clamp(320px,40vw,580px);transform:translateX(-50%) translateZ(0)}
}
@media (max-width:700px){
 .wedding-v2 .wedding-gallery.is-carousel{height:500px}
 .wedding-v2 .is-carousel .gallery-item.is-selected{width:82%;transform:translateX(-50%)}
}
/* Colonia: maquetas */
.v2 .av-phone{border-radius:34px;padding:9px;background:#0e0e0e;box-shadow:0 40px 80px -40px #0008,inset 0 0 0 1px #ffffff1a}
.v2 .av-phone img{display:block;width:100%;height:auto;aspect-ratio:750/1624;object-fit:cover;object-position:top;border-radius:26px}
.colonia-v2 .colonia-stage{position:relative;display:grid;grid-template-columns:1fr minmax(160px,22%);gap:clamp(16px,3vw,40px);align-items:end;margin-top:clamp(28px,4vw,56px)}
.colonia-v2 .colonia-stage figcaption{grid-column:1/-1}
.colonia-v2 .colonia-stage .av-browser img{aspect-ratio:8/5}
.colonia-v2 .colonia-gallery{display:grid;grid-template-columns:1fr 1fr minmax(150px,.55fr);gap:var(--av-gap);align-items:start;margin-top:clamp(28px,4vw,56px)}
.colonia-v2 .colonia-gallery .av-phone{grid-column:3;grid-row:1/3}
.colonia-v2 .colonia-gallery .av-browser img{aspect-ratio:8/5}
.colonia-v2 .colonia-gallery .av-browser:last-child img{aspect-ratio:2/1}
.colonia-v2 .av-ink .av-browser span{color:var(--av-ink)}
@media (max-width:900px){
 .colonia-v2 .colonia-gallery{grid-template-columns:1fr 1fr}
 .colonia-v2 .colonia-gallery .av-phone{grid-column:auto;grid-row:auto}
}
@media (max-width:600px){
 .colonia-v2 .colonia-stage{grid-template-columns:1fr}
 .colonia-v2 .colonia-stage .av-phone{width:58%;margin:-90px 0 0 auto;position:relative}
 .colonia-v2 .colonia-gallery{grid-template-columns:1fr}
 .colonia-v2 .colonia-gallery .av-phone{width:70%;justify-self:center}
}
.colonia-v2 .colonia-hero-devices{position:relative;width:min(100%,980px,calc((100svh - 300px)*1.6 + 120px));margin:clamp(8px,2vw,24px) auto 0;padding-right:clamp(40px,9vw,120px)}
.colonia-v2 .colonia-hero-devices .av-browser img{aspect-ratio:8/5}
.colonia-v2 .colonia-hero-devices .av-browser span{color:var(--av-ink)}
.colonia-v2 .colonia-hero-devices .av-phone{position:absolute;right:0;bottom:-6%;width:clamp(110px,21%,210px)}
.colonia-v2 .av-hero-bg{opacity:.28}
@media (min-width:761px) and (max-width:1100px) and (orientation:portrait){
 .v2 .av-hero{min-height:0;grid-template-rows:auto auto auto auto auto;padding-bottom:48px}
 .v2 .av-hero .av-fan{margin-block:24px}
}
@media (max-width:900px){.colonia-v2 .colonia-gallery .av-phone{width:min(100%,280px);justify-self:center}}
/* Colonia: velo inferior para leer los datos sobre la foto */
.colonia-v2 .av-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:62%;z-index:-1;pointer-events:none;background:linear-gradient(180deg,transparent 0%,#0d0d0dcc 45%,#0d0d0df5 100%)}
.colonia-v2 .av-hero .av-facts,.colonia-v2 .av-hero .av-rights{text-shadow:0 1px 12px #000a}

/* Accessible chapter navigation: invisible means unavailable to focus. */
.v2 .av-index{visibility:hidden}
.v2 .av-index.is-visible{visibility:visible}
.v2 .av-index-toggle{display:none}
.v2 .av-index ol[hidden]{display:none!important}
.v2 .av-index :focus-visible{outline:2px solid #fff;outline-offset:-3px}
@media(max-width:900px){
 .v2 .av-index{left:auto;right:16px;bottom:max(16px,env(safe-area-inset-bottom));width:min(340px,calc(100vw - 32px));display:flex;flex-direction:column;align-items:stretch;gap:0;padding:6px;border-radius:22px;transform:translateY(140%);max-height:calc(100svh - 32px);overflow-y:auto}
 .v2 .av-index.is-visible{transform:none}
 .v2 .av-index .av-percent,.v2 .av-index .av-bar{display:none}
 .v2 .av-index-toggle{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;padding:10px 14px;border:0;border-radius:16px;color:#fff;background:transparent;font:600 14px/1.3 var(--font-sans);cursor:pointer;text-align:left}
 .v2 .av-index-current{margin-left:auto;font-size:var(--text-sm);font-weight:400;color:#ddd;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .v2 .av-index-toggle .ic{transition:transform .2s}
 .v2 .av-index-toggle[aria-expanded=true] .ic{transform:rotate(180deg)}
 .v2 .av-index ol{display:flex;flex-direction:column;flex:0 1 auto;gap:4px;padding:6px 0 0;border-top:1px solid #ffffff30}
 .v2 .av-index li,.v2 .av-index li:not(:has([aria-current])),.v2 .av-index li:has([aria-current]){display:block;flex:none}
 .v2 .av-index a{min-height:44px;align-items:center;padding:12px 14px;font-size:14px;white-space:normal;border-radius:12px;color:#ddd}
 .v2 .av-index a[aria-current=step]:focus-visible{outline-color:#111}
}
/* Without JS, keep every destination available as ordinary in-page navigation. */
html:not(.av-js) .v2 .av-index{position:relative;inset:auto;transform:none;visibility:visible;opacity:1;pointer-events:auto;margin:20px auto;width:fit-content;max-width:calc(100% - 32px)}
html:not(.av-js) .v2 .av-index ol{display:flex;flex-wrap:wrap}

/* Keep the introduction readable before the desktop three-column layout fits. */
@media(max-width:1050px){
 .home-v2 .working-note{grid-template-columns:minmax(0,1fr);gap:28px}
 .home-v2 .working-note .start-symbol{position:absolute;right:28px;top:28px;font-size:46px}
 .home-v2 .start-copy{min-width:0}
 .home-v2 .start-copy .av-label{display:block;padding-right:64px}
 .home-v2 .start-copy h3{max-width:22ch;padding-right:64px}
 .home-v2 .start-steps{display:block;width:100%;min-width:0}
 .home-v2 .start-steps p{max-width:60ch}
 .home-v2 .start-copy .av-button{max-width:100%;box-sizing:border-box}
}

/* Focus remains distinct on both photographs and flat light/dark surfaces. */
.v2 :focus-visible{outline:3px solid #171717;outline-offset:3px;box-shadow:0 0 0 6px #fff}
.v2 :is(.av-ink,.av-hero,.working-note,.contact,.av-next,.av-index) :focus-visible{outline-color:#fff;box-shadow:0 0 0 6px #171717}
.v2 .av-index a[aria-current=step]:focus-visible{outline-color:#171717;outline-offset:-4px;box-shadow:none}
.viajero-v2 .viajero-screens{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 32px;margin-block:32px 60px}
.viajero-v2 .viajero-screens figure{margin:0;gap:16px}
.viajero-v2 .viajero-screens img{height:auto;aspect-ratio:auto;object-fit:contain}
.v2 .screen-detail{display:block;min-width:0;color:inherit;text-decoration:none;border-radius:14px}
.v2 .screen-detail span{display:block;text-align:center;padding:12px 4px;font-size:var(--text-sm);text-decoration:underline;text-underline-offset:4px}
.v2 .screen-help{max-width:65ch;line-height:1.6}
.v2 .screen-dialog{width:min(1000px,calc(100vw - 32px));max-width:none;height:calc(100dvh - 32px);max-height:none;padding:0;border:1px solid #555;border-radius:18px;background:#171717;color:#fff;overflow:hidden}
.v2 .screen-dialog::backdrop{background:#000c}
.v2 .screen-dialog[open]{display:flex;flex-direction:column}
.v2 .screen-dialog-toolbar{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid #555;flex-wrap:wrap}
.v2 .screen-dialog-toolbar h2{font:600 17px/1.4 var(--font-sans);margin:0 auto 0 0}
.v2 .screen-dialog-toolbar button{min-height:44px;padding:10px 16px;border:1px solid #999;border-radius:24px;background:#fff;color:#171717;font:inherit;cursor:pointer}
.v2 .screen-dialog-view{flex:1;min-height:0;overflow:auto;padding:20px;overscroll-behavior:contain}
.v2 .screen-dialog-view img{display:block;max-width:100%;width:auto;height:100%;object-fit:contain;margin:auto}
.v2 .screen-dialog.is-zoomed .screen-dialog-view img{width:834px;max-width:none;height:auto}
body:has(.screen-dialog[open]){overflow:hidden}
@media(max-width:1000px){.viajero-v2 .viajero-screens{grid-template-columns:minmax(0,1fr)}}
@media(max-width:480px){.viajero-v2 .viajero-screens figure{gap:12px}.v2 .screen-dialog-toolbar h2{flex-basis:100%}.v2 .screen-dialog-view{padding:12px}}

.home-v2 .home-feature-media .wedding-cover{object-position:50% 80%}

/* Editorial figures must reserve space for the image AND its caption. */
.v2 .av-duo{align-items:start;row-gap:32px}
.v2 .av-duo figure{min-width:0;align-self:start}
.v2 .av-duo img,.v2 .wedding-wide>img{height:auto}
.v2 .av-duo figcaption,.v2 .wedding-wide figcaption{position:static;margin:12px 0 0;line-height:1.5}
.v2 .wedding-wide+.av-button,.v2 .av-duo+.av-button{margin-top:24px}
.v2 .av-paper .av-territories{border-color:var(--av-line)}
.v2 .av-paper .av-territories li{color:var(--av-ink);border-color:var(--av-line)}
.v2 .av-paper .av-territories li span{color:var(--av-accent)}
.colonia-v2 #rondas .av-territories{margin-bottom:32px}
.colonia-v2 #rondas .av-territories li{font-size:clamp(22px,3vw,42px);line-height:1.25;padding-block:18px}
@media(max-width:760px){
 .v2 .av-duo figure:hover img{transform:none}
 .colonia-v2 #rondas .av-act-head{margin-bottom:28px}
 .colonia-v2 #rondas .av-territories li{gap:16px;padding-block:14px}
}

/* Case accents keep their hue on white while meeting large-text contrast. */
.centauro-v2 .av-paper .av-display em{color:#4c7527}
.bimbo-v2 .av-paper .av-display em{color:#b9392b}
.breakers-v2 .av-paper .av-display em{color:#a54b00}
.viajero-v2 .av-paper .av-display em,.colombia-v2 .av-paper .av-display em{color:#885500}
@media(max-width:760px){body.v2>header nav{flex-wrap:wrap;max-width:100%}.v2 .av-hero-title,.v2 .av-hero-top,.v2 .av-facts>*{min-width:0}.v2 .av-action,.v2 .av-button{white-space:normal}}

@media (max-width:760px){
 .v2 main{overflow-wrap:anywhere}
 .v2 :is(.av-act,.av-hero,.av-act-head,.av-lede,.av-story,.home-about-copy,.av-duo)>*{min-inline-size:0}
}
