/* Concept: quiet editorial wedding studio. Warm paper ground, black ink, photos carry the colour.
   Instrument Serif = condensed display + long text. DM Serif Text = nav, wordmark, UI. Single (light) look by brand choice. */
:root{
  --paper:#f3eee7;
  --ink:#0b0b0b;
  --ink-soft:#4a4642;
  --night:#4d4d4d;
  --white:#ffffff;
  --veil:rgba(243,238,231,.88);
  --display:"Instrument Serif","Times New Roman",serif;
  --text:"DM Serif Text",Georgia,serif;
  --ease-out:cubic-bezier(0.23,1,0.32,1);
  --ease-in-out:cubic-bezier(0.77,0,0.175,1);
  --nav-h:76px;
  --gutter:6.4vw;
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{background:var(--paper);scroll-behavior:auto;-webkit-text-size-adjust:100%}
html.snap{scroll-snap-type:y proximity}
body{
  margin:0;background:var(--paper);color:var(--ink);font-family:var(--text);
  overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  padding-left:0;padding-right:0;
}
/* Protección: sin selección, sin arrastre, sin impresión */
*{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}
img{-webkit-user-drag:none;pointer-events:none;max-width:100%}
@media print{body{display:none!important}}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
:focus-visible{outline:2px solid currentColor;outline-offset:4px;border-radius:2px}
i,em{font-style:italic}
b{font-weight:400}

/* ============ NAV ============ */
.nav{
  position:fixed;left:0;right:0;top:0;height:var(--nav-h);z-index:50;
  display:flex;align-items:center;justify-content:space-between;
  padding:env(safe-area-inset-top,0px) max(16px,var(--gutter)) 0 max(16px,var(--gutter));
  background:var(--veil);
  -webkit-backdrop-filter:saturate(1.6) blur(18px);backdrop-filter:saturate(1.6) blur(18px);
  font-size:clamp(15px,1.15vw,22px);
  transition:background .4s ease;
}
.nav-group{display:flex;align-items:center;gap:clamp(22px,4.6vw,110px)}
.nav a.nl{position:relative;padding:8px 0;display:inline-block;transition:opacity .2s ease}
.nav a.nl::after{
  content:"";position:absolute;left:0;right:0;bottom:3px;height:1px;background:currentColor;
  transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease-out);
}
.nav a.nl[aria-current="page"]{font-style:italic}
.nav a.nl[aria-current="page"]::after{transform:scaleX(1)}
@media (hover:hover) and (pointer:fine){.nav a.nl:hover::after{transform:scaleX(1)}}
.lang{display:inline-flex;gap:.45em;align-items:center;font-size:.78em;letter-spacing:.08em;margin-left:clamp(0px,1.2vw,28px);padding:7px 11px;border:1px solid rgba(11,11,11,.28);border-radius:99px;transition:border-color .2s ease,transform .12s ease-out}
.lang span{opacity:.42;transition:opacity .2s ease}
.lang span.on{opacity:1}
.lang:active{transform:scale(.96)}
@media (hover:hover) and (pointer:fine){.lang:hover{border-color:var(--ink)}}
.menu-btn{display:none;font-size:15px;padding:10px 0}
.brand-sm{display:none;font-size:22px}
.sheet{
  position:fixed;inset:0;z-index:60;background:var(--paper);display:flex;flex-direction:column;justify-content:center;
  gap:6px;padding:calc(var(--nav-h) + 10px) max(24px,env(safe-area-inset-left,0px)) 40px;
  opacity:0;visibility:hidden;transition:opacity .28s var(--ease-out),visibility 0s linear .28s;
}
.sheet.open{opacity:1;visibility:visible;transition-delay:0s}
.sheet a{font-family:var(--display);font-size:clamp(40px,12vw,64px);line-height:1.15;display:block;transform:translateY(10px);opacity:0;transition:transform .45s var(--ease-out),opacity .45s var(--ease-out)}
.sheet.open a{transform:none;opacity:1}
.sheet.open a:nth-child(2){transition-delay:.04s}.sheet.open a:nth-child(3){transition-delay:.08s}
.sheet.open a:nth-child(4){transition-delay:.12s}.sheet.open a:nth-child(5){transition-delay:.16s}.sheet.open a:nth-child(6){transition-delay:.2s}
.sheet a[aria-current="page"]{font-style:italic}
.sheet-close{position:absolute;top:calc(env(safe-area-inset-top,0px) + 24px);right:max(16px,env(safe-area-inset-right,0px));font-size:15px;padding:10px 0}

/* ============ PÁGINAS ============ */
.page[hidden]{display:none}
.page{animation:pageIn .42s var(--ease-out) both}
@keyframes pageIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
body.swapping main,body.swapping .nav-group,body.swapping .sheet{opacity:0}
main,.nav-group{transition:opacity .15s ease}
.screen{position:relative;min-height:100vh;min-height:100svh;overflow:hidden;scroll-snap-align:start}
.screen.plain{overflow:visible}

/* reveal */
[data-reveal]{opacity:0;transform:translateY(14px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out);transition-delay:var(--d,0ms)}
[data-reveal].in{opacity:1;transform:none}

/* Placeholders y slideshows */
.ss{position:absolute;inset:0;overflow:hidden;background:#2b2b2b}
.slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.045);transition:opacity 1.5s ease,transform 9s linear}
.slide.on{opacity:1;transform:scale(1)}
.ph{background:radial-gradient(120% 95% at 28% 18%,var(--a) 0%,var(--b) 58%,var(--c) 100%)}
.ph::after{
  content:"";position:absolute;inset:0;opacity:.16;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}
.shield{position:absolute;inset:0;z-index:3}
.ph-label{position:absolute;left:18px;bottom:16px;z-index:2;font:11px/1 var(--text);letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.62)}

/* ============ HOME · HERO ============ */
.hero{background:var(--night);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.hero .scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.32),rgba(0,0,0,.08) 40%,rgba(0,0,0,.42))}
.hero-core{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:clamp(18px,2.6vw,48px);padding:0 16px;margin-top:2vh}
.logo{display:block;overflow:visible}
.logo .ring{fill:none;stroke:currentColor;stroke-width:9;stroke-linejoin:round;stroke-linecap:round}
.logo text{font-family:var(--text);fill:currentColor}
.logo-hero{width:clamp(260px,25vw,540px);height:auto}
.hero .logo .ring{stroke-dasharray:1;stroke-dashoffset:1}
.hero.go .logo .ring{animation:draw 1.5s var(--ease-in-out) .15s forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.hero .logo text{opacity:0}
.hero.go .logo text{animation:fadeUp .9s var(--ease-out) .9s forwards}
.hero .tagline{opacity:0}
.hero.go .tagline{animation:fadeUp 1s var(--ease-out) 1.25s forwards}
.hero .explore{opacity:0}
.hero.go .explore{animation:fadeUp 1s var(--ease-out) 1.7s forwards}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.tagline{font-family:var(--text);font-size:clamp(19px,1.9vw,38px);line-height:1.12;text-align:left;margin:0;text-wrap:balance}
.explore{
  position:relative;display:inline-block;font-family:var(--display);font-style:italic;font-size:clamp(18px,1.55vw,30px);padding:6px 2px;
}
.explore::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:currentColor;transform:scaleX(.0);transform-origin:left;transition:transform .45s var(--ease-out)}
.explore .arr{display:inline-block;margin-left:.35em;transition:transform .35s var(--ease-out)}
@media (hover:hover) and (pointer:fine){.explore:hover::after{transform:scaleX(1)}.explore:hover .arr{transform:translateX(5px)}}
.explore:active{opacity:.7}
.hero .explore-wrap{position:absolute;left:0;right:0;bottom:11%;z-index:2;display:flex;justify-content:center}

/* ============ Texto sobre foto (siempre negro, medidas del diseño 2000x1250) ============ */
.split{--fl:50%;--fr:6.5%;--ft:9.5%;--fb:9.6%}
.split .frame{position:absolute;left:var(--fl);right:var(--fr);top:var(--ft);bottom:var(--fb);overflow:hidden;background:#333}
.split .txt{position:absolute;inset:0;pointer-events:none;color:var(--ink);z-index:2}
.txt-in{position:absolute;will-change:transform}
.txt-in a{pointer-events:auto}
.s1 .txt-in{left:7.9%;top:19.2%;width:58%;font-family:var(--display);font-size:clamp(26px,4.25vw,92px);line-height:1.07;letter-spacing:-.022em}
.s1 .txt-in p{margin:0 0 .9em}
.s1 .txt-in p:last-of-type{margin:0}
.s1 .txt-in .explore{margin-top:3.4vw;font-size:clamp(16px,1.4vw,28px);letter-spacing:0;line-height:1.3}
.s2{--fl:28.2%;--fr:28.2%}
.s2 .txt-in{left:26.2%;right:26.7%;top:7%;bottom:7.4%;display:flex;flex-direction:column;justify-content:space-between;font-family:var(--display);font-size:clamp(40px,7.85vw,170px);line-height:1;text-transform:uppercase}
.s2 .pair{display:flex;flex-direction:column;gap:.14em}
.s2 .row{display:flex;justify-content:space-between;align-items:baseline}
.s2 .spread{display:flex;justify-content:space-between}
.s2 .spread span{display:block}
.s2 .explore-wrap{position:absolute;z-index:4;left:0;right:0;bottom:3.2%;display:flex;justify-content:center}
.s2 .explore{font-size:clamp(17px,1.4vw,28px)}
.logo-sm{position:absolute;z-index:4;left:42.9%;bottom:4.4%;width:13.6%}
.logo-sm .logo{width:100%;height:auto}
.logo-sm .logo .ring{stroke-width:11}

/* ============ DOTS ============ */
.dots{position:fixed;right:max(14px,env(safe-area-inset-right,0px));top:50%;transform:translateY(-50%);z-index:40;display:flex;flex-direction:column;gap:2px;mix-blend-mode:difference;color:#fff}
.dots button{width:22px;height:22px;display:grid;place-items:center}
.dots button::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.45;transition:opacity .3s ease,transform .35s var(--ease-out)}
.dots button[aria-current="true"]::before{opacity:1;transform:scale(1.5)}
.dots[hidden]{display:none}

/* ============ PORTAFOLIO ============ */
.gal-head{padding:calc(var(--nav-h) + clamp(36px,5.4vw,100px)) 16px clamp(22px,2.3vw,44px);text-align:center;font-size:clamp(26px,2.9vw,56px);line-height:1.1;display:flex;justify-content:center;align-items:baseline;gap:.3em;flex-wrap:wrap}
.wm{font-family:var(--text);font-size:1.28em;letter-spacing:-.01em}
.gal-head .rest{font-family:var(--text)}
.grid{padding:0 max(16px,8.1vw) clamp(70px,8vw,140px);display:flex;flex-direction:column;gap:var(--gap,24px)}
.grid-in{display:flex;flex-direction:column;gap:var(--gap,24px)}
.g-row{display:flex;gap:var(--gap,24px)}
.g-item{position:relative;display:block;overflow:hidden;flex:none;background:#ddd5c9;cursor:zoom-in;
  opacity:0;transform:translateY(14px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out),box-shadow .5s ease}
.g-item.in{opacity:1;transform:none}
.g-item .ph,.g-item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease-out)}
@media (hover:hover) and (pointer:fine){.g-item:hover .ph,.g-item:hover img{transform:scale(1.025)}}
.g-item:active{transform:scale(.995)}

/* Lightbox */
.lb{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:rgba(243,238,231,.8);
  -webkit-backdrop-filter:blur(20px) saturate(1.2);backdrop-filter:blur(20px) saturate(1.2);
  opacity:0;visibility:hidden;transition:opacity .3s var(--ease-out),visibility 0s linear .3s}
.lb.open{opacity:1;visibility:visible;transition-delay:0s}
.lb-stage{position:relative;--r:1;width:min(82vw,calc(82svh * var(--r)));aspect-ratio:var(--r);max-width:82vw;background:#e4dccf;box-shadow:0 30px 80px -30px rgba(40,30,20,.35)}
.lb-stage .ph,.lb-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lb-btn{position:absolute;z-index:5;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;transition:background .2s ease,transform .12s ease-out;font-size:24px;line-height:1}
@media (hover:hover) and (pointer:fine){.lb-btn:hover{background:rgba(11,11,11,.08)}}
.lb-btn:active{transform:scale(.94)}
.lb-close{top:max(16px,env(safe-area-inset-top,0px));right:max(16px,env(safe-area-inset-right,0px))}
.lb-prev,.lb-next{top:50%;margin-top:-23px}
.lb-prev{left:max(10px,2vw)}.lb-next{right:max(10px,2vw)}
.lb-count{position:absolute;bottom:max(18px,env(safe-area-inset-bottom,0px));left:0;right:0;text-align:center;font-size:14px;letter-spacing:.12em;font-variant-numeric:tabular-nums}

/* ============ VIDEO ============ */
.video{display:grid;place-items:center;padding:calc(var(--nav-h) + 4svh) max(16px,var(--gutter)) 8svh;min-height:100svh}
.video-in{width:min(100%,1100px);display:grid;gap:22px}
.video h1{margin:0;text-align:center;font-weight:400;font-size:clamp(26px,2.9vw,56px)}
.vframe{position:relative;aspect-ratio:16/9;overflow:hidden;background:#333}
.video p{margin:0;text-align:center;font-family:var(--display);font-style:italic;font-size:clamp(17px,1.4vw,26px);color:var(--ink-soft)}

/* ============ NOSOTROS ============ */
.n1{--pw:min(31.5vw,50svh);display:grid;grid-template-columns:var(--pw) 1fr;column-gap:calc(50.1vw - 15.9vw - var(--pw));padding:20.7svh 15.9vw 12.2svh 15.9vw;align-items:start}
.portrait{position:relative;width:100%;aspect-ratio:3/4;overflow:hidden;background:#333}
.n1-text{min-height:calc(var(--pw) * 1.3334);display:flex;flex-direction:column;justify-content:space-between;gap:7svh;min-width:0}
.n1 h1{margin:0;font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:clamp(30px,5.6vw,120px);line-height:.85;letter-spacing:-.025em;white-space:nowrap}
.n1 .body{font-size:clamp(15px,1.3vw,27px);line-height:1.22;max-width:34vw}
.n1 .body p{margin:0 0 .95em}.n1 .body p:last-child{margin:0}
.n1 .wm{font-size:1.25em}
.n2{position:relative}
.n2-text{position:absolute;left:13.5%;top:25.6%;width:33%;font-size:clamp(15px,1.3vw,27px);line-height:1.2}
.n2 .lead{margin:0}
.n2 .lead+.lead{margin-top:1.2em}
.polaroids{display:contents}
.pol{position:absolute;width:16.8%;aspect-ratio:3/4;overflow:hidden;background:#333;rotate:var(--rot,0deg);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out),scale .6s var(--ease-out);box-shadow:0 18px 40px -26px rgba(30,20,10,.45)}
.pol:nth-child(1){left:37.2%;top:31.6%;--rot:-.7deg}
.pol:nth-child(2){left:57.05%;top:30.9%;--rot:.7deg}
.pol:nth-child(3){left:76.6%;top:30.1%;--rot:.8deg}
@media (hover:hover) and (pointer:fine){.pol:hover{scale:1.015}}
.quote-wrap{position:absolute;left:13.75%;top:77.5%;width:29.5%;display:grid}
.quote{margin:0;font-family:var(--display);font-style:italic;text-transform:uppercase;font-size:clamp(14px,1.2vw,25px);line-height:1.12;text-align:justify;text-align-last:left}
.quote q{quotes:"“" "”"}
.quote-by{margin-top:.9em;text-align:center;font-size:clamp(14px,1.1vw,23px)}
.quote-item{grid-area:1/1;opacity:0;transition:opacity .8s ease}
.quote-item.on{opacity:1}
.pager{position:absolute;right:max(16px,var(--gutter));bottom:calc(4svh + env(safe-area-inset-bottom,0px));font-size:clamp(14px,1.05vw,20px);z-index:4}
.pager a{display:inline-flex;gap:.5em;align-items:center;padding:8px 0;position:relative}
.pager a::after{content:"";position:absolute;left:0;right:0;bottom:3px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease-out)}
.pager .arr{display:inline-block;transition:transform .35s var(--ease-out)}
@media (hover:hover) and (pointer:fine){.pager a:hover::after{transform:scaleX(1)}.pager a:hover .arr{transform:translateX(5px)}}

/* ============ CONTACTO ============ */
.c1{display:grid;place-items:center;text-align:center;padding:calc(var(--nav-h) + 4svh) max(16px,var(--gutter)) 10svh}
.c1-in{display:grid;gap:clamp(14px,1.6vw,30px);justify-items:center;max-width:min(100%,900px)}
.c1 h1{margin:0;font-style:italic;font-weight:400;font-size:clamp(38px,3.7vw,76px);line-height:1.05}
.c1 .sub{margin:0;font-size:clamp(21px,2.2vw,44px);line-height:1.18;text-wrap:balance}
.c1 .p{margin:0;font-size:clamp(16px,1.42vw,28px);line-height:1.33;max-width:29em;text-wrap:balance}
.c1 .links{display:grid;gap:6px;margin-top:clamp(18px,2.4vw,44px);justify-items:center}
.c1 .links a.big{position:relative;font-size:clamp(22px,2.7vw,54px);line-height:1.2;padding:2px 0}
.c1 .links a.big::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease-out)}
@media (hover:hover) and (pointer:fine){.c1 .links a.big:hover::after{transform:scaleX(1)}}
.mail-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:center}
.copy{font-size:clamp(13px,.95vw,18px);letter-spacing:.06em;border:1px solid rgba(11,11,11,.3);border-radius:99px;padding:6px 14px;transition:border-color .2s ease,background .2s ease,transform .12s ease-out}
.copy:active{transform:scale(.96)}
@media (hover:hover) and (pointer:fine){.copy:hover{border-color:var(--ink)}}
.c2{display:grid;place-items:center;padding:calc(var(--nav-h) + 3svh) max(16px,var(--gutter)) 8svh}
.team{display:grid;grid-template-columns:repeat(3,auto);justify-content:space-around;align-items:end;width:100%;max-width:1500px;gap:2vw}
.team figure{margin:0;display:grid;place-items:center;opacity:0;transform:translateY(16px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out);transition-delay:var(--d,0ms)}
.team.in figure{opacity:1;transform:none}
.team img{height:clamp(240px,47svh,560px);width:auto;max-width:100%}
.team figure:nth-child(1) img{filter:url(#w1)}
.team figure:nth-child(2) img{filter:url(#w2)}
.team figure:nth-child(3) img{filter:url(#w3)}

/* ============ SERVICIOS ============ */
.sv{display:flex;flex-direction:column;justify-content:flex-end;width:50%;min-height:100svh;padding:calc(var(--nav-h) + 4svh) 4vw 7svh var(--gutter)}
.sv-frame{position:absolute;right:0;top:var(--nav-h);bottom:0;width:50%;overflow:hidden;background:#333}
.sv h1{margin:0 0 clamp(18px,1.8vw,34px);font-weight:400;font-style:italic;font-size:clamp(19px,1.45vw,30px)}
.sv .copy-body{font-family:var(--display);font-size:clamp(18px,1.5vw,31px);line-height:1.22;max-width:32em}
.sv .copy-body p{margin:0 0 1.15em}
.sv u{text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;padding-bottom:1px}
.cta{position:relative;align-self:center;margin-top:clamp(20px,3vw,56px);display:grid;place-items:center;width:clamp(150px,11vw,230px);aspect-ratio:2.05;color:var(--ink);transition:transform .45s var(--ease-out)}
.cta svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.cta .ring{fill:none;stroke:currentColor;stroke-width:5;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0}
.cta span{position:relative;font-family:var(--display);font-style:italic;font-size:clamp(18px,1.45vw,30px)}
@media (hover:hover) and (pointer:fine){.cta:hover{transform:scale(1.04)}.cta:hover .ring{animation:redraw 1s var(--ease-in-out)}}
.cta:active{transform:scale(.97)}

/* ============ Toast ============ */
.toast{position:fixed;left:50%;bottom:calc(28px + env(safe-area-inset-bottom,0px));transform:translate(-50%,12px);background:var(--ink);color:var(--paper);padding:11px 20px;border-radius:99px;font-size:15px;z-index:120;opacity:0;pointer-events:none;transition:opacity .25s var(--ease-out),transform .3s var(--ease-out)}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* ============ MÓVIL ============ */
@media (max-width:860px){
  :root{--nav-h:64px;--gutter:20px}
  .nav-group{display:none}
  .menu-btn,.brand-sm{display:inline-block}
  .nav .right{display:flex;align-items:center;gap:18px}
  .lang{margin-left:0}
  .dots{right:6px}
  .s1{display:flex;flex-direction:column;padding:calc(var(--nav-h) + 28px) 20px 44px;gap:26px;min-height:0}
  .s1 .txt{position:static;order:1}
  .s1 .txt-in{position:static;width:auto;font-size:clamp(24px,6.6vw,34px)}
  .s1 .txt-in .explore{margin-top:22px;font-size:17px}
  .s1 .frame{position:relative;inset:auto;order:2;height:54svh}
  .s1 .logo-sm{position:static;order:3;align-self:center;width:130px}
  .s2{--fl:14%;--fr:14%;--ft:12%;--fb:22%}
  .s2 .txt-in{left:9%;right:9%;top:10%;bottom:20%;font-size:clamp(34px,13vw,70px)}
  .s2 .explore-wrap{bottom:7%}
  .n1{display:flex;flex-direction:column;padding:calc(var(--nav-h) + 24px) 20px 60px;gap:28px}
  .portrait{width:min(100%,420px);align-self:center}
  .n1-text{min-height:0;gap:22px}
  .n1 h1{font-size:clamp(32px,9.4vw,52px);white-space:normal}
  .n1 .body{font-size:17px;max-width:none}
  .n2{display:flex;flex-direction:column;padding:calc(var(--nav-h) + 24px) 20px 80px;gap:30px}
  .n2-text{position:static;width:auto;font-size:18px}
  .polaroids{display:grid;grid-template-columns:repeat(3,1fr);gap:2.6vw}
  .pol{position:relative;width:auto;left:auto!important;top:auto!important}
  .quote-wrap{position:static;width:auto}
  .quote{font-size:15px}
  .quote-by{text-align:left;font-size:15px}
  .pager{position:static}
  .c1 .p{font-size:17px}
  .team{grid-template-columns:1fr;gap:34px}
  .team img{height:clamp(200px,34svh,320px)}
  .sv{width:100%;min-height:0;padding:20px 20px 70px;justify-content:flex-start}
  .sv-frame{position:relative;width:100%;height:46svh;top:auto;right:auto;margin-top:var(--nav-h)}
  .sv .copy-body{font-size:19px}
  .sv h1{font-size:20px}
  .cta{width:170px}
  .gal-head{font-size:26px}
  .lb-prev,.lb-next{top:auto;bottom:max(12px,env(safe-area-inset-bottom,0px));margin:0}
  .lb-prev{left:20px}.lb-next{right:20px}
}

/* ============ Movimiento reducido ============ */
@media (prefers-reduced-motion:reduce){
  .page{animation:none}
  .slide{transition:opacity .6s ease;transform:none}
  [data-reveal],.g-item,.team figure{transform:none;transition:opacity .4s ease}
  .hero .logo .ring{stroke-dashoffset:0;animation:none!important}
  .hero .logo text,.hero .tagline,.hero .explore{opacity:1;animation:none!important}
  .txt-in{transform:none!important}
}

/* ============ Logos en PNG (assets/logo/) ============ */
/* brightness(0) vuelve negro cualquier color; con invert(1) queda blanco: sirve sin importar el color del PNG original */
.logo-hero{filter:brightness(0) invert(1);clip-path:inset(0 100% 0 0)}
.hero.go .logo-hero{animation:wipe 1.5s var(--ease-in-out) .15s forwards}
@keyframes wipe{to{clip-path:inset(0 0 0 0)}}
.logo-sm img{display:block;width:100%;height:auto;filter:brightness(0)}
.wm-img{display:block;width:clamp(120px,10.8vw,230px);height:auto;position:relative;top:var(--wm-shift,.3em)}
.cta .cta-ring{position:absolute;inset:0;width:100%;height:100%;filter:brightness(0)}
@media (prefers-reduced-motion:reduce){.logo-hero{clip-path:none;animation:none!important}}
