:root{
  --ink:#111;
  --muted:#777772;
  --paper:#fff;
  --soft:#f4f4f1;
  --line:#e8e8e4;
  --max:1680px;
  --radius:4px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--paper)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}
body,button,input,textarea{font:inherit}
a{color:inherit;text-decoration:none}
img{display:block;width:100%;height:100%;object-fit:cover}
button{color:inherit}
.ui-icon{width:1.05em;height:1.05em;display:inline-block;vertical-align:-0.14em;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}.ui-icon .ui-fill{fill:currentColor;stroke:none}.cta-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1}
::selection{background:#111;color:#fff}
.site-nav{height:74px;padding:0 clamp(20px,4vw,68px);display:flex;align-items:center;gap:28px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.96);backdrop-filter:blur(16px);position:relative;z-index:40}
.logo{display:flex;align-items:baseline;gap:5px;font-size:22px;letter-spacing:-.055em;white-space:nowrap}
.logo strong{font-weight:850}.logo span{font-weight:420}
.site-nav nav{display:flex;align-items:center;gap:30px;margin:auto;font-size:12px;font-weight:650}
.site-nav nav a{position:relative;padding:8px 0}
.site-nav nav a:after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:1px;background:#111;transition:right .25s ease}
.site-nav nav a:hover:after{right:0}
.nav-cta{display:inline-flex;gap:16px;align-items:center;background:#111;color:#fff;border-radius:999px;padding:12px 19px;font-size:12px;font-weight:750;white-space:nowrap}
.nav-toggle{display:none;margin-left:auto;border:0;background:none;font-size:22px;padding:9px}
.mobile-menu{position:fixed;z-index:60;inset:66px 0 auto 0;background:#fff;border-bottom:1px solid var(--line);padding:14px 18px 22px;display:grid;gap:0;box-shadow:0 16px 40px #0000000c}
.mobile-menu[hidden]{display:none}.mobile-menu a{padding:17px 3px;border-bottom:1px solid var(--line);font-size:18px}

.home-hero{height:calc(100svh - 74px);min-height:650px;max-height:980px;position:relative;overflow:hidden;background:#fff;border-bottom:1px solid var(--line);isolation:isolate}
.hero-kicker{position:absolute;z-index:9;left:clamp(20px,4vw,68px);top:7%;font-size:10px;font-weight:760;letter-spacing:.28em;color:#5c5c59}
.hero-type{position:absolute;z-index:1;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;line-height:.71;pointer-events:none;user-select:none;overflow:hidden}
.hero-type-line{font-weight:900;letter-spacing:-.09em;white-space:nowrap;color:#111;will-change:transform}
.type-isra{font-size:clamp(150px,23vw,430px);transform:translate3d(var(--hero-a,0),0,0)}
.type-foto{font-size:clamp(95px,15.5vw,290px);transform:translate3d(var(--hero-b,0),0,0)}
.hero-person{position:absolute;z-index:5;left:50%;bottom:-1px;transform:translateX(-50%);width:min(55vw,770px);height:96%;display:flex;align-items:flex-end;justify-content:center;pointer-events:none}
.hero-person img{width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 16px 32px rgba(0,0,0,.08))}
.hero-scroll,.hero-work{position:absolute;z-index:8;bottom:7%;display:grid;gap:8px;font-size:10px;font-weight:760;letter-spacing:.2em;line-height:1.25}
.hero-scroll{left:clamp(20px,4vw,68px)}.hero-work{right:clamp(20px,4vw,68px);text-align:right}
.hero-scroll b,.hero-work b{font-size:18px;font-weight:400;letter-spacing:0;display:inline-flex;align-items:center}
.section-shell{max-width:var(--max);margin:0 auto;padding:clamp(58px,6vw,110px) clamp(18px,4vw,68px)}
.micro-heading{display:flex;align-items:center;gap:14px;margin-bottom:26px;font-size:11px;text-transform:uppercase;letter-spacing:.18em}
.micro-heading span{color:#aaa}.micro-heading strong{font-weight:760}

.album-mosaic{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:84px;gap:10px}
.work-card{position:relative;overflow:hidden;background:var(--soft);border-radius:var(--radius);min-height:280px}
.work-card img{transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .4s ease}
.work-card:hover img{transform:scale(1.018);filter:brightness(.92)}
.work-label{position:absolute;z-index:2;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:space-between;padding:30px 24px 18px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.68));font-size:17px}
.work-label b{font-weight:650}.work-label i{font-style:normal;font-size:18px;font-weight:300;display:inline-flex;align-items:center}
.work-card-1{grid-column:span 4;grid-row:span 7}.work-card-2{grid-column:span 5;grid-row:span 4}.work-card-3{grid-column:span 3;grid-row:span 4}.work-card-4{grid-column:span 3;grid-row:span 6}.work-card-5{grid-column:span 4;grid-row:span 6}.work-card-6{grid-column:span 5;grid-row:span 5}.work-card-7{grid-column:span 5;grid-row:span 4}.work-card-8{grid-column:span 3;grid-row:span 4}.work-card-9{grid-column:span 4;grid-row:span 7}.work-card-10{grid-column:span 8;grid-row:span 5}

.moments-section{border-top:1px solid var(--line)}
.moments-mosaic{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:80px;gap:10px}
.moment-card{margin:0;position:relative;overflow:hidden;background:var(--soft);min-height:250px;border-radius:var(--radius)}
.moment-card img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}.moment-card:hover img{transform:scale(1.018)}
.moment-card figcaption{position:absolute;left:16px;bottom:14px;color:#fff;font-size:11px;text-shadow:0 2px 12px rgba(0,0,0,.5)}
.moment-card-1{grid-column:span 6;grid-row:span 7}.moment-card-2{grid-column:span 3;grid-row:span 5}.moment-card-3{grid-column:span 3;grid-row:span 4}.moment-card-4{grid-column:span 3;grid-row:span 4}.moment-card-5{grid-column:span 3;grid-row:span 5}.moment-card-6{grid-column:span 4;grid-row:span 6}.moment-card-7{grid-column:span 5;grid-row:span 6}.moment-card-8{grid-column:span 3;grid-row:span 6}

.prices-section{border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(230px,1fr) 3fr;gap:50px;align-items:start}
.prices-title span,.contact-section span{font-size:10px;color:#aaa;letter-spacing:.2em}.prices-title h2,.contact-section h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(48px,5vw,84px);letter-spacing:-.055em;line-height:.9;margin:16px 0}.prices-title p{margin:0;color:var(--muted);font-size:12px;max-width:260px;line-height:1.5}
.price-row{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink)}
.price-card{min-height:360px;padding:24px 20px;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;background:#fff}
.price-card:last-child{border-right:0}.price-card.is-featured{background:#111;color:#fff;padding-left:24px;padding-right:24px}
.price-top small{display:block;color:#888;font-size:10px;text-transform:uppercase;letter-spacing:.14em}.price-card.is-featured .price-top small{color:#aaa}
.price-top h3{font:400 38px/1 Georgia,serif;letter-spacing:-.04em;margin:14px 0}.price-top strong{font-size:18px}
.price-card ul{list-style:none;padding:0;margin:26px 0;color:#777;font-size:13px;line-height:1.8}.price-card.is-featured ul{color:#bbb}.price-card li:before{content:"— ";}.price-card a{font-size:12px;font-weight:750;display:flex;justify-content:space-between;gap:12px}

.contact-section{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:flex-end;gap:40px}.contact-actions{display:flex;flex-direction:column;align-items:flex-end;gap:14px;font-size:17px}.contact-actions a{display:inline-flex;align-items:center;gap:10px}
.site-footer{border-top:1px solid var(--line);padding:28px clamp(18px,4vw,68px);display:flex;align-items:center;justify-content:space-between;gap:20px}.site-footer small{color:#8a8a84}

.reveal{opacity:0;transform:translateY(28px);transition:opacity .85s ease,transform .85s cubic-bezier(.2,.7,.2,1)}.reveal.is-visible{opacity:1;transform:none}

/* Album */
.album-page{background:#fff}.album-nav{position:fixed;top:0;left:0;right:0;background:rgba(255,255,255,.9);z-index:70}.album-nav .back-link{margin-left:auto;font-size:12px;font-weight:700}.download-album,.share-album{display:inline-flex;align-items:center;justify-content:center;gap:10px}.download-album{border:1px solid #111;border-radius:999px;padding:10px 14px;font-size:11px;font-weight:800;white-space:nowrap}.share-album{border:0;background:#111;color:#fff;border-radius:999px;padding:11px 17px;font-size:12px;font-weight:750;cursor:pointer}
.album-hero{height:100svh;min-height:680px;position:relative;display:flex;align-items:flex-end;background-image:var(--album-cover);background-size:var(--album-fit,cover);background-repeat:no-repeat;background-position:var(--album-focus-x,50%) var(--album-focus-y,50%);background-color:#111;isolation:isolate}.album-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.58) 0%,rgba(0,0,0,.24) 44%,rgba(0,0,0,.04) 100%);z-index:1}.album-hero-copy{position:relative;z-index:2;color:#fff;max-width:930px;padding:120px clamp(22px,7vw,110px) 72px}.album-hero-copy>span{font-size:10px;font-weight:800;letter-spacing:.26em;text-transform:uppercase}.album-hero-copy h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(58px,8vw,130px);line-height:.88;letter-spacing:-.06em;font-weight:400;margin:18px 0 24px}.album-hero-copy p{font-size:17px;line-height:1.65;max-width:600px;margin:0}.album-hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:40px}.album-hero-copy .album-hero-actions a{margin-top:0}.album-hero-copy .hero-download{border:1px solid rgba(255,255,255,.55);border-radius:999px;padding:11px 15px;letter-spacing:.12em}.album-hero-copy a{display:inline-flex;align-items:center;gap:14px;margin-top:40px;font-size:10px;letter-spacing:.18em}.album-hero-copy a b{font-size:17px;font-weight:400;letter-spacing:0;display:inline-flex;align-items:center}
.album-story{max-width:1600px;margin:auto;padding:clamp(60px,7vw,120px) clamp(18px,5vw,80px);display:grid;grid-template-columns:repeat(12,1fr);gap:14px 14px;align-items:start}.story-photo{margin:0;position:relative;overflow:hidden;background:var(--soft);min-height:500px}.story-photo img{height:100%;object-fit:cover}.story-photo figcaption{position:absolute;left:16px;bottom:14px;color:#fff;font-size:11px;text-shadow:0 2px 10px rgba(0,0,0,.55)}
.story-photo-1{grid-column:1/8;height:min(76vw,980px)}.story-photo-2{grid-column:8/13;height:min(58vw,760px);margin-top:10vw}.story-photo-3{grid-column:1/6;height:min(66vw,850px)}.story-photo-4{grid-column:6/13;height:min(50vw,720px);margin-top:9vw}.story-photo-5{grid-column:3/11;height:min(56vw,820px)}.story-photo-6{grid-column:1/13;height:min(60vw,880px)}
.album-text-slide{grid-column:2/12;padding:clamp(90px,10vw,180px) clamp(20px,6vw,100px)}.album-text-slide p{font-family:Georgia,"Times New Roman",serif;font-size:clamp(38px,5vw,78px);line-height:1.06;letter-spacing:-.045em;margin:0;max-width:1120px}

.album-grid-intro{max-width:1400px;margin:0 auto;padding:clamp(40px,7vw,110px) clamp(20px,7vw,110px)}
.album-grid-intro p{font-family:Georgia,"Times New Roman",serif;font-size:clamp(36px,5vw,74px);line-height:1.04;letter-spacing:-.045em;margin:0;max-width:1080px}
.album-grid4{max-width:1600px;margin:0 auto;padding:0 clamp(18px,5vw,80px) clamp(80px,8vw,140px);display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:minmax(190px,16vw);gap:12px}
.album-grid4-photo{margin:0;position:relative;overflow:hidden;background:var(--soft);min-height:340px}
.album-grid4-photo img{width:100%;height:100%;object-fit:cover}
.album-grid4-photo figcaption{position:absolute;left:14px;bottom:12px;color:#fff;font-size:11px;text-shadow:0 2px 10px rgba(0,0,0,.55)}
.album-grid4-photo-1{grid-column:1/8;grid-row:span 2}.album-grid4-photo-2{grid-column:8/13;grid-row:span 3}.album-grid4-photo-3{grid-column:1/5;grid-row:span 2}.album-grid4-photo-4{grid-column:5/8;grid-row:span 2}

.album-empty{grid-column:1/-1;min-height:50vh;display:grid;place-items:center;color:var(--muted)}
.album-close{min-height:78vh;background:#111;color:#fff;padding:100px 24px;display:grid;place-items:center;text-align:center}.album-close small{font-size:10px;letter-spacing:.26em;color:#aaa}.album-close h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(68px,10vw,160px);font-weight:400;line-height:.84;letter-spacing:-.065em;margin:24px 0 36px}.album-close-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.album-close-actions a,.album-close-actions button{border:1px solid #555;background:transparent;color:#fff;border-radius:999px;padding:13px 18px;font-size:12px;cursor:pointer}

@media(max-width:1100px){
  .home-hero{min-height:700px}.hero-person{width:min(70vw,720px)}
  .album-mosaic{grid-auto-rows:72px}.moments-mosaic{grid-auto-rows:68px}
  .prices-section{grid-template-columns:1fr}.prices-title p{max-width:440px}
}

@media(max-width:760px){
  .site-nav{height:66px;padding:0 16px}.logo{font-size:20px}.site-nav nav,.nav-cta{display:none}.nav-toggle{display:block}.home-hero{height:760px;min-height:0;max-height:none}
  .hero-kicker{left:18px;top:34px;font-size:8px;letter-spacing:.22em}.hero-type{justify-content:flex-start;align-items:flex-start;padding:88px 14px 0 16px;line-height:.73}.hero-type-line{max-width:calc(100vw - 30px);transform-origin:left center}.type-isra{font-size:clamp(102px,35vw,150px)}.type-foto{font-size:clamp(56px,19.5vw,88px);letter-spacing:-.075em}
  .hero-person{width:96vw;height:72%;bottom:0;left:52%}.hero-scroll{left:18px;bottom:24px}.hero-work{right:18px;bottom:24px}
  .section-shell{padding:58px 14px}.micro-heading{margin-bottom:16px}
  .album-mosaic{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;gap:7px}.work-card{grid-column:auto!important;grid-row:auto!important;min-height:0;aspect-ratio:.78}.work-card:nth-child(2),.work-card:nth-child(5),.work-card:nth-child(8),.work-card:nth-child(10){grid-column:span 2!important;aspect-ratio:1.55}.work-label{padding:38px 14px 13px;font-size:14px}.work-label i{font-size:19px}
  .moments-mosaic{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;gap:7px}.moment-card{grid-column:auto!important;grid-row:auto!important;min-height:0;aspect-ratio:.86}.moment-card:nth-child(1),.moment-card:nth-child(4),.moment-card:nth-child(7){grid-column:span 2!important;aspect-ratio:1.45}
  .price-row{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;border-top:0;gap:8px;padding-bottom:8px;margin-right:-14px;padding-right:14px}.price-card{flex:0 0 83vw;min-height:360px;border:1px solid var(--line);scroll-snap-align:start}.price-card.is-featured{border-color:#111}.contact-section{align-items:flex-start;flex-direction:column}.contact-actions{align-items:flex-start}.site-footer{align-items:flex-start;flex-direction:column}.site-footer>a{align-self:flex-end}
  .album-nav .back-link{display:none}.download-album{margin-left:auto;padding:9px 11px;font-size:10px}.share-album{margin-left:0;padding:10px 12px;font-size:10px}.album-hero{min-height:720px}.album-hero-overlay{background:linear-gradient(0deg,rgba(0,0,0,.72),rgba(0,0,0,.04) 66%)}.album-hero-copy{padding:100px 20px 54px}.album-hero-copy h1{font-size:56px}.album-hero-copy p{font-size:15px}
  .album-story{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;gap:8px;padding:28px 14px 42px;scrollbar-width:none}.album-story::-webkit-scrollbar{display:none}.story-photo,.album-text-slide{flex:0 0 89vw!important;grid-column:auto!important;height:72svh!important;min-height:560px!important;max-height:none!important;margin:0!important;scroll-snap-align:center;border-radius:2px}.story-photo img{object-fit:cover}.album-text-slide{padding:38px 28px!important;display:grid;place-items:center;background:#f3f3ef}.album-text-slide p{font-size:38px;line-height:1.04}.album-grid-intro{padding:44px 18px 30px}.album-grid-intro p{font-size:36px}.album-grid4{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;gap:7px;padding:0 10px 70px}.album-grid4-photo{grid-column:auto!important;grid-row:auto!important;min-height:0;aspect-ratio:.78}.album-grid4-photo-1,.album-grid4-photo-4{grid-column:span 2!important;aspect-ratio:1.4}.album-grid4-photo-2{aspect-ratio:.72}.album-grid4-photo-3{aspect-ratio:.9}.album-hero-actions{gap:8px}.album-hero-copy .hero-download{padding:10px 12px}.album-close{min-height:72svh}.album-close-actions{flex-direction:column;width:min(340px,100%)}.album-close-actions a,.album-close-actions button{width:100%}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.hero-type-line,.work-card img,.moment-card img{transition:none!important;transform:none!important}}

/* v2.3 text formatting from the mobile album editor */
.album-hero-copy p strong,.album-text-slide p strong,.album-grid-intro p strong{font-weight:750}
.album-hero-copy p em,.album-text-slide p em,.album-grid-intro p em{font-style:italic}
.story-divider{display:block;width:48px;height:1px;background:currentColor;opacity:.45;margin:20px 0}
.album-text-slide .story-divider,.album-grid-intro .story-divider{margin:24px auto}

/* v2.4 — recorrido de álbum más claro y táctil en móvil */
.album-story-stage{position:relative}
.album-story-guide,.story-next{display:none}

@media(max-width:760px){
  .album-story-stage{position:relative;overflow:clip}
  .album-story-guide{
    --story-progress:0%;
    position:sticky;top:10px;z-index:18;
    margin:18px 14px -2px;
    min-height:42px;padding:0 12px;
    display:grid;grid-template-columns:auto minmax(72px,1fr) auto;align-items:center;gap:12px;
    background:rgba(255,255,255,.88);border:1px solid rgba(17,17,17,.08);border-radius:999px;
    box-shadow:0 8px 30px rgba(0,0,0,.06);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
    transition:opacity .35s ease,transform .35s ease,background .35s ease;
    pointer-events:none;
  }
  .story-guide-copy{font-size:9px;font-weight:820;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap}
  .story-guide-track{height:12px;position:relative;display:block}
  .story-guide-track:before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:#d9d9d5;transform:translateY(-50%)}
  .story-guide-track i{position:absolute;left:0;top:50%;height:1px;width:var(--story-progress);background:#111;transform:translateY(-50%);transition:width .16s linear}
  .story-guide-track b{position:absolute;right:0;top:50%;font-size:17px;line-height:1;font-weight:450;transform:translateY(-54%);animation:storySwipeCue 1.45s cubic-bezier(.4,0,.2,1) infinite}
  .story-guide-count{display:flex;align-items:baseline;gap:3px;font-variant-numeric:tabular-nums;font-size:9px;letter-spacing:.04em;color:#999}
  .story-guide-count strong{font-size:11px;color:#111;font-weight:800}.story-guide-count em{font-style:normal;color:#c4c4c0}
  .album-story-stage.has-interacted .album-story-guide{background:rgba(255,255,255,.76);opacity:.78}
  .album-story-stage.is-at-end .album-story-guide{opacity:.42;transform:translateY(-2px)}
  .album-story-stage.is-at-end .story-guide-track b{animation:none;opacity:.35}

  .album-story{
    scroll-padding-inline:14px;
    padding-top:18px;
    gap:10px;
    -webkit-overflow-scrolling:touch;
  }
  .album-story .story-photo,.album-story .album-text-slide{
    flex-basis:84vw!important;
    opacity:.62;
    transform:scale(.965) translateZ(0);
    transition:opacity .42s ease,transform .55s cubic-bezier(.2,.75,.2,1),box-shadow .55s ease;
    will-change:transform,opacity;
  }
  .album-story .story-photo img{
    transform:scale(1.035);
    transition:transform .8s cubic-bezier(.2,.75,.2,1),filter .5s ease;
    will-change:transform;
  }
  .album-story .story-photo.is-story-active,.album-story .album-text-slide.is-story-active{
    opacity:1;transform:scale(1) translateZ(0);box-shadow:0 14px 46px rgba(0,0,0,.08)
  }
  .album-story .story-photo.is-story-active img{transform:scale(1)}
  .album-story .story-photo:not(.is-story-active) img{filter:saturate(.94) brightness(.98)}

  .story-next{
    display:grid;place-items:center;position:absolute;z-index:17;right:20px;top:50%;
    width:48px;height:48px;border-radius:999px;border:1px solid rgba(17,17,17,.08);
    background:rgba(255,255,255,.90);box-shadow:0 9px 26px rgba(0,0,0,.12);
    backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
    font-size:22px;font-weight:450;cursor:pointer;
    transform:translateY(-50%);
    transition:opacity .3s ease,transform .3s ease,background .2s ease;
  }
  .story-next:active{transform:translateY(-50%) scale(.92);background:#fff}
  .album-story-stage.has-interacted .story-next{opacity:.74}
  .album-story-stage.is-at-end .story-next{opacity:0;transform:translateY(-50%) translateX(12px);pointer-events:none}

  @keyframes storySwipeCue{
    0%,100%{transform:translate(-7px,-54%);opacity:.45}
    55%{transform:translate(1px,-54%);opacity:1}
  }
}

@media(prefers-reduced-motion:reduce){
  .story-guide-track b{animation:none!important}
  .album-story .story-photo,.album-story .album-text-slide,.album-story .story-photo img,.story-next,.album-story-guide{transition:none!important}
}


/* v2.7 · más paquetes sin romper la sección */
@media(min-width:761px){.price-row.has-many{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(245px,30%);grid-template-columns:none;overflow-x:auto;scroll-snap-type:x proximity;overscroll-behavior-x:contain;scrollbar-width:thin;border-top:1px solid var(--ink);padding-bottom:8px}.price-row.has-many .price-card{scroll-snap-align:start;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.price-row.has-many::-webkit-scrollbar{height:6px}.price-row.has-many::-webkit-scrollbar-thumb{background:#c9c9c3;border-radius:999px}.price-row.has-many::-webkit-scrollbar-track{background:transparent}}

/* v2.8 · WhatsApp directo */
.price-card .plan-whatsapp{margin-top:auto;min-height:48px;border:1px solid #111;border-radius:999px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;font-weight:800;letter-spacing:.01em;transition:transform .2s ease,background .2s ease,color .2s ease}
.price-card .plan-whatsapp:hover{transform:translateY(-2px);background:#111;color:#fff}
.price-card.is-featured .plan-whatsapp{border-color:#fff;background:#fff;color:#111}.price-card.is-featured .plan-whatsapp:hover{background:#e9e9e6;color:#111}
.whatsapp-fab{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:70;background:#111;color:#fff;border-radius:999px;min-height:52px;padding:0 17px;display:flex;align-items:center;gap:9px;box-shadow:0 12px 36px rgba(0,0,0,.18);font-size:12px;font-weight:800;letter-spacing:.01em;transition:transform .2s ease,box-shadow .2s ease}.whatsapp-fab:hover{transform:translateY(-2px);box-shadow:0 16px 44px rgba(0,0,0,.22)}.whatsapp-fab .wa-dot{font-size:12px;color:#27c76f}.whatsapp-fab .cta-icon{font-size:15px}
@media(max-width:760px){.whatsapp-fab{right:14px;bottom:max(14px,env(safe-area-inset-bottom));min-height:48px;padding:0 14px}.price-card .plan-whatsapp{min-height:52px;font-size:13px}}

/* v2.9.2 · Descargas visibles en álbumes */
.story-photo,.album-grid4-photo{position:relative}
.photo-download{position:absolute;z-index:6;right:12px;top:12px;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:10px 13px;border-radius:999px;background:rgba(255,255,255,.92);color:#111;font-size:10px;font-weight:850;letter-spacing:.04em;box-shadow:0 6px 24px rgba(0,0,0,.12);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.photo-download:active{transform:scale(.97)}
@media(hover:hover) and (pointer:fine){.photo-download{opacity:.86;transition:opacity .2s ease,transform .2s ease}.story-photo:hover .photo-download,.album-grid4-photo:hover .photo-download{opacity:1;transform:translateY(-1px)}}
@media(max-width:620px){.album-nav{gap:7px;padding-left:12px;padding-right:12px}.album-nav .logo{font-size:18px}.download-album{margin-left:auto;min-height:40px;padding:9px 12px}.share-album{min-height:40px;padding:9px 12px}.photo-download{top:10px;right:10px;min-height:40px;padding:9px 12px;font-size:9px}.album-hero-copy .hero-download{min-height:42px}}

@media(max-width:380px){.hero-type{padding-left:14px;padding-right:12px}.type-isra{font-size:clamp(94px,34vw,128px)}.type-foto{font-size:clamp(52px,19vw,72px)}}

.social-stories{padding-top:26px;padding-bottom:18px}.stories-row{display:flex;gap:16px;overflow-x:auto;padding-bottom:6px;scrollbar-width:none}.stories-row::-webkit-scrollbar{display:none}.story-link{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:10px;min-width:74px}.story-ring{width:72px;height:72px;border-radius:999px;background:#111;display:grid;place-items:center;box-shadow:0 14px 34px rgba(0,0,0,.08)}.story-core{width:56px;height:56px;border-radius:999px;background:#fff;display:grid;place-items:center;color:#111}.story-core .social-icon{width:24px;height:24px;stroke-width:1.8}.story-core .social-icon path,.story-core .social-icon rect,.story-core .social-icon circle{vector-effect:non-scaling-stroke}.story-link small{font-size:11px;font-weight:700;letter-spacing:.02em;color:#111}.story-link:hover .story-ring{transform:translateY(-2px)}.story-ring{transition:transform .2s ease,box-shadow .2s ease}.story-link:hover .story-ring{box-shadow:0 18px 38px rgba(0,0,0,.12)}

@media(max-width:760px){.social-stories{padding-top:18px;padding-bottom:8px}.stories-row{gap:12px}.story-link{min-width:68px}.story-ring{width:64px;height:64px}.story-core{width:50px;height:50px}.story-core .social-icon{width:22px;height:22px}.story-link small{font-size:10px}}


/* v2.9.7 — portada móvil: notas editoriales manuscritas dinámicas */
.album-mosaic{position:relative}
.album-editorial-note,.album-title-rail{display:none}

@media(max-width:760px){
  /* Evita el doble bloque de aire entre Álbumes y Momentos. */
  .work-section{padding-bottom:24px}
  .moments-section{padding-top:34px}

  .album-editorial-note{
    position:absolute;z-index:4;display:flex;align-items:center;justify-content:center;
    overflow:hidden;border-radius:var(--radius);color:#262622;
    background:linear-gradient(150deg,rgba(255,255,255,.82),rgba(247,247,243,.96));
    box-shadow:inset 0 0 0 1px rgba(17,17,17,.025);
    -webkit-tap-highlight-color:transparent;
  }
  .album-editorial-note:before{
    content:"";position:absolute;left:50%;top:11%;height:78%;width:1px;
    background:linear-gradient(transparent,rgba(17,17,17,.16) 14% 86%,transparent);
    transform:rotate(2.5deg);transform-origin:center;opacity:.65;
  }
  .album-editorial-note:after{
    content:"";position:absolute;left:calc(50% + 13px);top:24%;width:18px;height:1px;
    background:rgba(17,17,17,.28);transform:rotate(-9deg);box-shadow:8px 8px 0 rgba(17,17,17,.12);
  }
  .album-editorial-note strong{
    position:relative;z-index:1;writing-mode:vertical-rl;text-orientation:mixed;
    transform:rotate(180deg);white-space:nowrap;
    font-family:Noteworthy,"Bradley Hand","Snell Roundhand","Segoe Print",cursive;
    font-size:clamp(24px,7.3vw,36px);font-weight:400;line-height:1;
    letter-spacing:.035em;color:#222;opacity:.9;
  }
  .album-editorial-note small{
    position:absolute;right:10px;bottom:11px;z-index:1;
    font-size:8px;font-weight:720;letter-spacing:.16em;text-transform:uppercase;color:#9a9a94;
  }
  .album-editorial-note:active{transform:scale(.985)}

  .album-title-rail{
    display:block;position:relative;margin:17px 0 0;min-height:66px;overflow:hidden;
    border-top:1px solid rgba(17,17,17,.07);border-bottom:1px solid rgba(17,17,17,.045);
  }
  .album-title-rail:before{
    content:"";position:absolute;left:3%;right:5%;top:50%;height:1px;background:rgba(17,17,17,.12);
    transform:rotate(-.7deg);transform-origin:center;
  }
  .album-title-rail span{
    position:absolute;left:14px;right:14px;top:50%;transform:translateY(-50%) rotate(-1deg);
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
    font-family:Noteworthy,"Bradley Hand","Snell Roundhand","Segoe Print",cursive;
    font-size:18px;font-weight:400;letter-spacing:.025em;color:#55554f;
    background:rgba(255,255,255,.9);padding:2px 9px;width:max-content;max-width:calc(100% - 28px);
  }
}

@media(prefers-reduced-motion:reduce){.album-editorial-note:active{transform:none}}


/* v2.9.10 · relleno editorial en desktop sin vectores */
:root{--editorial-hand:"Bradley Hand","Segoe Print","Noteworthy","Snell Roundhand","Comic Sans MS",cursive}
.editorial-gap{display:none}

@media(min-width:761px){
  .album-mosaic .editorial-gap{display:block;position:relative;min-height:0;border:1px solid rgba(17,17,17,.07);background:rgba(255,255,255,.62);overflow:hidden}
  .album-mosaic .editorial-gap:before{content:"";position:absolute;inset:12px;border:1px solid rgba(17,17,17,.04);pointer-events:none}
  .album-mosaic .editorial-gap__inner{position:relative;width:100%;height:100%;padding:16px 14px}
  .album-mosaic .editorial-gap__title{position:absolute;display:flex;align-items:center;justify-content:center;font-family:var(--editorial-hand);font-size:clamp(28px,2.2vw,42px);line-height:.9;letter-spacing:.04em;color:rgba(17,17,17,.22);white-space:nowrap}
  .album-mosaic .editorial-gap__meta{position:absolute;font-size:10px;font-weight:720;letter-spacing:.18em;text-transform:uppercase;color:rgba(17,17,17,.26)}
  .album-mosaic .editorial-gap--left .editorial-gap__title{left:18px;top:16px;bottom:16px;writing-mode:vertical-rl;transform:rotate(180deg)}
  .album-mosaic .editorial-gap--left .editorial-gap__meta{left:16px;bottom:12px}
  .album-mosaic .editorial-gap--right .editorial-gap__title{right:18px;top:16px;bottom:16px;writing-mode:vertical-rl;transform:rotate(180deg)}
  .album-mosaic .editorial-gap--right .editorial-gap__meta{right:16px;bottom:12px}
  .album-mosaic .editorial-gap--horizontal .editorial-gap__title{left:20px;right:20px;top:50%;bottom:auto;transform:translateY(-50%);writing-mode:horizontal-tb}
  .album-mosaic .editorial-gap--horizontal.editorial-gap--top .editorial-gap__title{top:34%;transform:translateY(-50%)}
  .album-mosaic .editorial-gap--horizontal .editorial-gap__meta{left:20px;right:auto;bottom:14px}
  .album-mosaic .editorial-gap-1{grid-column:1/5;grid-row:8/11}
  .album-mosaic .editorial-gap-2{grid-column:11/13;grid-row:11/15}
  .album-mosaic .editorial-gap-3{grid-column:1/6;grid-row:16/19}
  .album-mosaic .editorial-gap-4{grid-column:9/13;grid-row:22/24}
}


/* v2.9.12 · Momentos: masonry editorial sin huecos internos en tablet/escritorio */
@media(min-width:761px){
  .moments-section .moments-mosaic.masonry-ready{
    display:grid;
    grid-template-columns:minmax(0,1.42fr) minmax(0,.86fr) minmax(0,.92fr);
    grid-auto-rows:auto;
    gap:7px;
    align-items:start;
  }
  .moments-section .moments-mosaic.masonry-ready .moment-column{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:7px;
    align-self:start;
  }
  .moments-section .moments-mosaic.masonry-ready .moment-card{
    width:100%;
    min-height:0!important;
    height:auto!important;
    aspect-ratio:auto!important;
    grid-column:auto!important;
    grid-row:auto!important;
    margin:0!important;
    display:block;
    break-inside:avoid;
    overflow:hidden;
  }
  .moments-section .moments-mosaic.masonry-ready .moment-card img{
    display:block;
    width:100%;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:auto!important;
    object-fit:contain!important;
  }
}
