/*
Theme Name: ARAY STUDIO
Theme URI: https://aray.studio
Author: ARAY STUDIO
Author URI: https://aray.studio
Description: Tema oscuro con interfaz de cristal para ARAY STUDIO (bodas, fotografía, vídeo, redes sociales y desarrollo web). Incluye galería de bodas editable, tipo de contenido Trabajos y formulario de contacto.
Version: 2.0.0
Requires at least: 6.3
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: aray-studio
*/
/* ARAY STUDIO v3 — "Cristal" · dark glass UI · Poppins */
:root{
  --bg:#0A0B0F; --bg-2:#101218; --bg-3:#161922;
  --ink:#F2EEE7; --ink-2:rgba(242,238,231,.74); --ink-3:rgba(242,238,231,.56); --ink-4:rgba(242,238,231,.14);
  --acc:#E7D0A8; --acc-2:#F4E6CC; --acc-ink:#1B160E;
  --blue:#3557FF; --teal:#1FB5A6; --rose:#C9897A;
  --gl:rgba(255,255,255,.055); --gl-2:rgba(255,255,255,.085); --gl-b:rgba(255,255,255,.12); --gl-b2:rgba(255,255,255,.2);
  --blur:saturate(150%) blur(22px);
  --r:clamp(14px,1.5vw,20px); --r-s:12px; --r-l:clamp(20px,2.2vw,30px); --r-in:calc(var(--r) - 6px);
  --wrap:1320px; --gut:clamp(16px,4vw,48px);
  --ease:cubic-bezier(.2,.7,.1,1);
  --sh:0 30px 80px -20px rgba(0,0,0,.55);
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-padding-top:110px}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Poppins,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:16px;line-height:1.6;font-weight:300;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
h1,h2,h3,h4,p{margin:0}
ul{margin:0;padding:0;list-style:none}
:focus-visible{outline:2px solid var(--acc);outline-offset:3px;border-radius:6px}
::selection{background:var(--acc);color:var(--acc-ink)}
.skip{position:absolute;left:16px;top:-60px;z-index:200;background:var(--acc);color:var(--acc-ink);padding:10px 16px;border-radius:999px;font-weight:500}
.skip:focus{top:16px}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.mono{font-variant-numeric:tabular-nums;letter-spacing:.04em}

/* ambient light */
.amb{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background:radial-gradient(120% 80% at 50% -10%,#141824 0%,var(--bg) 60%)}
.amb i{position:absolute;border-radius:50%;filter:blur(90px);opacity:.55;will-change:transform}
.amb i:nth-child(1){width:52vw;height:52vw;left:-14vw;top:-12vw;background:radial-gradient(circle,rgba(53,87,255,.55),transparent 65%);animation:drift 26s ease-in-out infinite alternate}
.amb i:nth-child(2){width:46vw;height:46vw;right:-12vw;top:24vh;background:radial-gradient(circle,rgba(231,208,168,.38),transparent 65%);animation:drift 32s ease-in-out infinite alternate-reverse}
.amb i:nth-child(3){width:40vw;height:40vw;left:24vw;bottom:-18vw;background:radial-gradient(circle,rgba(31,181,166,.32),transparent 65%);animation:drift 38s ease-in-out infinite alternate}
.amb::after{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");opacity:.05;mix-blend-mode:overlay}
@keyframes drift{to{transform:translate3d(6vw,4vh,0) scale(1.12)}}

/* glass primitive */
.glass{background:linear-gradient(160deg,rgba(255,255,255,.09),rgba(255,255,255,.025) 60%);border:1px solid var(--gl-b);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:inset 0 1px 0 rgba(255,255,255,.14),var(--sh);border-radius:var(--r)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.glass,.bar__in,.chip,.vtag,.mmenu{background:rgba(22,24,32,.94)!important}}

/* type */
.meta{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
.meta--acc{color:var(--acc)}
.meta--acc::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--acc);box-shadow:0 0 12px var(--acc)}
.mega{font-size:clamp(50px,9vw,148px);line-height:.92;letter-spacing:-.045em;font-weight:600;display:grid}
.mega span{font-weight:200;color:var(--ink-2);background:linear-gradient(90deg,var(--acc-2),var(--acc) 40%,#9fb2ff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.h1{font-size:clamp(40px,6vw,92px);line-height:.98;letter-spacing:-.04em;font-weight:600}
.h2{font-size:clamp(32px,4.2vw,62px);line-height:1.02;letter-spacing:-.035em;font-weight:600}
.h3{font-size:clamp(22px,2.2vw,30px);line-height:1.15;letter-spacing:-.02em;font-weight:500}
.h1 em,.h2 em,.h3 em,.mega em{font-style:normal;font-weight:200;color:var(--acc)}
.lead{font-size:clamp(17px,1.5vw,21px);line-height:1.55;color:var(--ink-2);font-weight:300}
.body{color:var(--ink-2)}
.manifesto{font-size:clamp(24px,3vw,44px);line-height:1.22;letter-spacing:-.025em;font-weight:300;color:var(--ink-2);max-width:34ch}
.manifesto strong{color:var(--ink);font-weight:500}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;border-radius:999px;font-size:15px;font-weight:500;letter-spacing:.005em;border:1px solid transparent;transition:transform .35s var(--ease),background .3s,border-color .3s,box-shadow .3s;white-space:nowrap}
.btn svg{transition:transform .35s var(--ease)}
.btn:hover svg{transform:translateX(3px)}
.btn--acc{background:linear-gradient(180deg,var(--acc-2),var(--acc));color:var(--acc-ink);box-shadow:0 10px 30px -8px rgba(231,208,168,.55),inset 0 1px 0 rgba(255,255,255,.6)}
.btn--acc:hover{transform:translateY(-2px);box-shadow:0 16px 40px -10px rgba(231,208,168,.7),inset 0 1px 0 rgba(255,255,255,.6)}
.btn--glass{background:rgba(255,255,255,.06);border-color:var(--gl-b);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);color:var(--ink)}
.btn--glass:hover{background:rgba(255,255,255,.12);border-color:var(--gl-b2)}
.btn--sm{min-height:44px;padding:0 18px;font-size:14px}
.ulink{display:inline-flex;align-items:center;gap:8px;color:var(--ink);border-bottom:1px solid var(--ink-4);padding-bottom:3px;transition:border-color .3s,color .3s}
.ulink:hover{color:var(--acc);border-color:var(--acc)}

/* header */
.bar{position:fixed;top:14px;left:0;right:0;z-index:100;padding:0 clamp(10px,2vw,24px);pointer-events:none}
.bar__in{pointer-events:auto;max-width:calc(var(--wrap) + 40px);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;height:64px;padding:0 10px 0 22px;border-radius:999px;background:rgba(14,16,22,.5);border:1px solid var(--gl-b);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 20px 50px -20px rgba(0,0,0,.6);transition:background .4s}
.is-scrolled .bar__in{background:rgba(14,16,22,.72)}
.logo{display:inline-flex;align-items:baseline;gap:6px;font-size:18px;letter-spacing:.08em}
.logo b{font-weight:700}
.logo span{font-weight:200}
.nav{display:flex;gap:4px}
.nav a{position:relative;display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border-radius:999px;font-size:14px;font-weight:400;color:var(--ink-2);transition:color .25s,background .25s}
.nav a:hover{color:var(--ink);background:rgba(255,255,255,.06)}
.nav a[aria-current=page]{color:var(--ink);background:rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}
.nav a.is-wed::after{content:"";position:absolute;top:10px;right:7px;width:5px;height:5px;border-radius:50%;background:var(--acc);box-shadow:0 0 8px var(--acc)}
.bar__end{display:flex;align-items:center;gap:8px}
.lang{display:inline-flex;padding:3px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid var(--gl-b)}
.lang button{min-width:40px;min-height:38px;border:0;background:none;border-radius:999px;font-size:12px;font-weight:500;letter-spacing:.06em;color:var(--ink-3)}
.lang button[aria-pressed=true]{background:rgba(255,255,255,.14);color:var(--ink)}
.burger{display:none;width:48px;height:48px;border-radius:50%;border:1px solid var(--gl-b);background:rgba(255,255,255,.06);position:relative}
.burger span,.burger span::before{position:absolute;left:15px;right:15px;height:1.5px;background:var(--ink);transition:transform .3s}
.burger span{top:20px}.burger span::before{content:"";left:0;right:0;top:7px}
.menu-open .burger span{transform:translateY(3.5px) rotate(45deg)}
.menu-open .burger span::before{transform:translateY(-7px) rotate(-90deg)}
.mmenu{position:fixed;inset:90px 12px auto;z-index:99;padding:20px;border-radius:var(--r);background:rgba(14,16,22,.82);border:1px solid var(--gl-b);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);display:grid;gap:18px;opacity:0;visibility:hidden;transform:translateY(-10px);transition:.35s var(--ease)}
.menu-open .mmenu{opacity:1;visibility:visible;transform:none}
.mmenu nav{display:grid}
.mmenu .mm{display:flex;align-items:center;gap:14px;min-height:54px;font-size:22px;font-weight:500;border-bottom:1px solid var(--ink-4)}
.mmenu .mm i{font-style:normal;font-size:12px;color:var(--ink-3)}
.mmenu .mm[aria-current=page]{color:var(--acc)}

/* layout */
main{display:block}
.sec{padding:clamp(80px,11vw,150px) 0}
.sec--t0{padding-top:0}
.g{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
.s3{grid-column:span 3}.s4{grid-column:span 4}.s5{grid-column:span 5}.s6{grid-column:span 6}.s7{grid-column:span 7}.s8{grid-column:span 8}.s12{grid-column:span 12}
.shead{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(20px,4vw,64px);align-items:end;margin-bottom:clamp(40px,5vw,64px)}
.shead .h2{margin-top:18px}

/* frames */
.frame{position:relative;overflow:hidden;border-radius:var(--r);background:var(--bg-3);isolation:isolate}
.frame::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);pointer-events:none;z-index:2}
.frame img,.frame video{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
a.frame:hover img,.card:hover .frame img{transform:scale(1.04)}
.r916{aspect-ratio:9/16}.r45{aspect-ratio:4/5}.r11{aspect-ratio:1}.r32{aspect-ratio:3/2}.r169{aspect-ratio:16/9}.r219{aspect-ratio:21/9}.r34{aspect-ratio:3/4}
.chip,.vtag{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;font-size:12px;font-weight:500;letter-spacing:.02em;background:rgba(12,14,20,.42);border:1px solid rgba(255,255,255,.16);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);color:var(--ink)}
.vtag{position:absolute;left:12px;bottom:12px;z-index:3;max-width:calc(100% - 76px)}
.vtag b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vtag i{font-style:normal;color:var(--ink-3)}
.vtag b{font-weight:500;line-height:1.35}
.vbtn{position:absolute;right:12px;bottom:12px;z-index:3;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:rgba(12,14,20,.42);border:1px solid rgba(255,255,255,.18);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}
.vbtn .i-pause{display:none}
.is-playing .vbtn .i-play{display:none}.is-playing .vbtn .i-pause{display:block}

/* hero */
.hero{padding-top:clamp(120px,14vw,170px);padding-bottom:clamp(60px,8vw,110px)}
.hero__meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:clamp(28px,4vw,48px)}
.hero__meta .chip{color:var(--ink-2);background:rgba(255,255,255,.04)}
.hero__meta .chip--acc{color:var(--acc)}
.hero__meta .chip--acc::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--acc);box-shadow:0 0 10px var(--acc)}
.hero__head{display:grid;grid-template-columns:1.35fr 1fr;gap:clamp(24px,4vw,72px);align-items:end}
.hero__side{display:grid;gap:28px;padding-bottom:10px}
.hero__acts{display:flex;flex-wrap:wrap;gap:10px}
.trip{display:grid;grid-template-columns:1fr 2.7fr 1fr;gap:clamp(10px,1.4vw,20px);margin-top:clamp(40px,6vw,80px);align-items:stretch}
.trip .frame--main{height:100%;min-height:320px;border-radius:var(--r);box-shadow:var(--sh)}
.trip .r916{border-radius:var(--r)}

/* services index */
.idx{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(20px,3vw,48px);align-items:start}
.idx__list{display:grid;gap:10px}
.idx__row{display:grid;grid-template-columns:56px 1fr 48px;align-items:center;gap:16px;padding:22px 22px;border-radius:var(--r);border:1px solid transparent;transition:background .35s,border-color .35s,transform .35s var(--ease)}
.idx__row:hover,.idx__row.is-active{background:linear-gradient(160deg,rgba(255,255,255,.08),rgba(255,255,255,.02));border-color:var(--gl-b);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}
.idx__n{font-size:13px;color:var(--ink-3)}
.idx__t{display:block;font-size:clamp(24px,2.6vw,38px);font-weight:500;letter-spacing:-.025em;line-height:1.1}
.idx__d{display:block;margin-top:6px;color:var(--ink-3);font-size:15px}

.idx__go{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--gl-b);color:var(--ink-2);transition:.35s var(--ease)}
.idx__row.is-active .idx__go,.idx__row:hover .idx__go{background:var(--acc);color:var(--acc-ink);border-color:var(--acc);transform:rotate(-45deg)}
.idx__pv{position:sticky;top:110px;padding:8px}
.idx__pv .frame{border-radius:var(--r-in)}
.wedf__media .frame{border-radius:calc(var(--r-l) - clamp(8px,1vw,12px))}
.idx__pv .frame{aspect-ratio:4/5}
.idx__pv img{position:absolute;inset:0;opacity:0;transform:scale(1.05);transition:opacity .6s var(--ease),transform 1s var(--ease)}
.idx__pv img.is-on{opacity:1;transform:none}

/* wedding feature */
.wedf{position:relative;padding:clamp(14px,1.6vw,22px);border-radius:var(--r-l);overflow:hidden}
.wedf::before{content:"";position:absolute;width:60%;height:120%;right:-20%;top:-30%;background:radial-gradient(circle,rgba(231,208,168,.22),transparent 60%);pointer-events:none}
.wedf__grid{position:relative;display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(20px,3vw,48px);align-items:stretch}
.wedf__media{display:grid;grid-template-columns:1.25fr 1fr;grid-template-rows:1fr 1fr;gap:12px;min-height:560px}
.wedf__media .frame:first-child{grid-row:span 2}
.wedf__txt{display:grid;align-content:center;gap:26px;padding:clamp(10px,3vw,40px) clamp(6px,2vw,28px) clamp(10px,3vw,40px) 0}
.feats{display:grid;gap:10px}
.feat{display:grid;grid-template-columns:40px 1fr;gap:14px;align-items:start;padding:16px 18px;border-radius:var(--r-s);background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.feat__i{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:rgba(231,208,168,.12);color:var(--acc)}
.feat b{display:block;font-weight:500}
.feat span{color:var(--ink-3);font-size:15px}
.wedf__acts{display:flex;flex-wrap:wrap;gap:10px}

/* filmstrip */
.film{position:relative;overflow:hidden;padding:clamp(80px,10vw,130px) 0}
.film__head{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:end;margin-bottom:48px}
.film__head .h2{margin-top:18px}
.film__track{display:flex;gap:clamp(14px,1.6vw,24px);padding:0 var(--gut);width:max-content;will-change:transform}
.film__item{position:relative;width:clamp(260px,26vw,400px);flex:none;display:grid;gap:12px}
.film__item .frame{aspect-ratio:4/5}
.film__item:nth-child(even) .frame{aspect-ratio:3/4;margin-top:44px}
.film__meta{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:0 4px}
.film__meta b{font-weight:500}
.film__meta span{font-size:13px;color:var(--ink-3)}
.film__item .chip{position:absolute;left:12px;top:12px;z-index:3}
.film__item:nth-child(even) .chip{top:56px}
.film__end{width:clamp(240px,22vw,320px);flex:none;display:grid;align-content:center;gap:20px;padding:32px;border-radius:var(--r)}
.film.is-native .film__track{width:auto;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:16px;scrollbar-width:thin}
.film.is-native .film__item,.film.is-native .film__end{scroll-snap-align:start}

/* stats & steps */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.stat{padding:28px 26px;display:grid;gap:8px}
.stat__n{font-size:clamp(44px,5vw,72px);font-weight:600;letter-spacing:-.04em;line-height:1;background:linear-gradient(180deg,var(--ink),rgba(242,238,231,.55));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.stat__l{color:var(--ink-3);font-size:15px}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.step{padding:28px 26px;display:grid;gap:12px;align-content:start;min-height:240px}
.step__n{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-size:13px;color:var(--acc);border:1px solid rgba(231,208,168,.35);background:rgba(231,208,168,.06);margin-bottom:12px}
.step h3{font-size:22px;font-weight:500;letter-spacing:-.015em}
.step p{color:var(--ink-3);font-size:15px}

/* clients */
.clients{display:flex;flex-wrap:wrap;gap:10px}
.clients .chip{font-size:15px;font-weight:400;padding:12px 20px;color:var(--ink-2);background:rgba(255,255,255,.04)}

/* cta */
.cta{position:relative;overflow:hidden;padding:clamp(40px,6vw,88px);border-radius:var(--r-l)}
.cta::before{content:"";position:absolute;width:70%;height:160%;left:-20%;top:-60%;background:radial-gradient(circle,rgba(53,87,255,.32),transparent 60%);pointer-events:none}
.cta::after{content:"";position:absolute;width:60%;height:140%;right:-20%;bottom:-70%;background:radial-gradient(circle,rgba(231,208,168,.26),transparent 60%);pointer-events:none}
.cta>*{position:relative;z-index:1}
.cta__grid{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:end}
.cta .h1{margin-top:18px}
.cta__mail{display:inline-block;margin-top:clamp(36px,5vw,64px);font-size:clamp(21px,6vw,76px);font-weight:200;letter-spacing:-.035em;line-height:1.05;border-bottom:1px solid var(--ink-4);padding-bottom:8px;transition:color .3s,border-color .3s;overflow-wrap:anywhere}
.cta__mail:hover{color:var(--acc);border-color:var(--acc)}
.cta__row{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;margin-top:32px}

/* page head */
.phead{padding-top:clamp(130px,15vw,190px);padding-bottom:clamp(40px,5vw,72px)}
.phead__top{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.phead__grid{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(24px,4vw,72px);align-items:end}
.phead__side{display:grid;gap:24px}

/* weddings hero */
.whero{position:relative;min-height:min(92vh,980px);display:grid;align-items:end;padding:120px 0 clamp(28px,4vw,56px)}
.whero__bg{position:absolute;inset:0;z-index:0;overflow:hidden}
.whero .wrap{position:relative;z-index:1}
.whero__bg img{width:100%;height:100%;object-fit:cover;object-position:52% 40%}
.whero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,11,15,.55) 0%,rgba(10,11,15,0) 45%),linear-gradient(180deg,rgba(10,11,15,.5) 0%,rgba(10,11,15,0) 30%,rgba(10,11,15,.35) 75%,var(--bg) 100%)}
.whero__card{border-radius:var(--r-l);max-width:560px;padding:clamp(26px,4vw,48px);display:grid;gap:22px;background:linear-gradient(160deg,rgba(14,16,22,.55),rgba(14,16,22,.3))}
.whero__card .h1{font-size:clamp(36px,4.4vw,68px)}
.whero__card .lead{color:rgba(242,238,231,.86)}
.whero__acts{display:flex;flex-wrap:wrap;gap:10px}

@media (min-width:961px){
  .whero__bg{left:30%;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 30%),linear-gradient(180deg,#000 72%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0,#000 30%),linear-gradient(180deg,#000 72%,transparent 100%);mask-composite:intersect}
  .whero__bg::after{background:linear-gradient(180deg,rgba(10,11,15,.45) 0%,rgba(10,11,15,0) 22%)}
  .whero{align-items:center}
}
@media (max-width:960px){
  .whero{display:block;min-height:0;padding:0 0 24px}
  .whero__bg{position:relative;height:68vh;min-height:420px}
  .whero__bg{-webkit-mask-image:linear-gradient(180deg,#000 60%,transparent 100%);mask-image:linear-gradient(180deg,#000 60%,transparent 100%)}
  .whero__bg::after{background:linear-gradient(180deg,rgba(10,11,15,.5) 0%,rgba(10,11,15,0) 25%)}
  .whero .wrap{margin-top:-90px;position:relative}
}
/* cards (3 cols) */
.cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.cardg{padding:30px 28px;display:grid;gap:14px;align-content:start}
.cardg h3{font-size:24px;font-weight:500;letter-spacing:-.02em}
.cardg p{color:var(--ink-3)}
.cardg .feat__i{margin-bottom:10px}
.pk{padding:32px 28px;display:grid;gap:16px;align-content:start;position:relative}
.pk--hi{border-color:rgba(231,208,168,.45);background:linear-gradient(160deg,rgba(231,208,168,.14),rgba(255,255,255,.03) 60%)}
.pk__k{justify-self:start}
.pk h3{font-size:clamp(24px,2.4vw,32px);font-weight:500;letter-spacing:-.02em}
.pk p{color:var(--ink-2)}
.pk .ulink{justify-self:start;margin-top:8px}

/* masonry gallery */
.mas{columns:3;column-gap:12px}
.mas a{display:block;margin-bottom:12px;break-inside:avoid}
.mas .frame img{height:auto}

/* reels row */
.reels{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:980px;margin:0 auto}

/* services page */
.svcs{display:grid;gap:16px}
.svc{display:grid;grid-template-columns:.8fr 1.6fr;gap:clamp(24px,4vw,64px);padding:clamp(24px,3.5vw,48px);border-radius:var(--r-l)}
.svc--wed{border-color:rgba(231,208,168,.35);background:linear-gradient(160deg,rgba(231,208,168,.1),rgba(255,255,255,.02) 60%)}
.svc__aside{display:grid;gap:14px;align-content:start}
.svc__n{font-size:13px;color:var(--acc)}
.svc__main{display:grid;gap:26px}
.ticks{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px}
.ticks li{position:relative;padding-left:26px;color:var(--ink-2)}
.ticks li::before{content:"";position:absolute;left:0;top:.62em;width:12px;height:6px;border-left:1.5px solid var(--acc);border-bottom:1.5px solid var(--acc);transform:rotate(-45deg) translateY(-3px)}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:12px}

/* faq */
.faq{display:grid;gap:10px}
.faq details{border-radius:var(--r-s);background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);transition:background .3s,border-color .3s}
.faq details[open]{background:rgba(255,255,255,.07);border-color:var(--gl-b)}
.faq summary{list-style:none;display:grid;grid-template-columns:36px 1fr 24px;gap:12px;align-items:center;padding:20px 22px;cursor:pointer;font-size:18px;font-weight:500;letter-spacing:-.01em;min-height:56px}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{font-style:normal;font-size:13px;color:var(--ink-3);font-weight:400}
.faq summary::after{content:"+";font-size:24px;font-weight:200;color:var(--acc);transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 22px 22px 70px;color:var(--ink-2)}

/* work */
.filters{display:flex;flex-wrap:wrap;gap:6px;padding:5px;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid var(--gl-b)}
.filters button{min-height:44px;padding:0 18px;border:0;border-radius:999px;background:none;color:var(--ink-3);font-size:14px;font-weight:500}
.filters button[aria-pressed=true]{background:rgba(255,255,255,.14);color:var(--ink);box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}
.sheet{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card{padding:10px;display:grid;gap:12px;align-content:start;border-radius:var(--r)}
.card .frame{aspect-ratio:4/5;border-radius:var(--r-in)}
.card .frame--logo{background:#14161d}
.card .frame--logo img{object-fit:contain;padding:18%}
.card__meta{display:grid;gap:6px;padding:4px 10px 10px}
.card__top{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.card__top b{font-weight:500;font-size:18px}
.card__top span{font-size:13px;color:var(--ink-3)}
.card__tags{display:flex;flex-wrap:wrap;gap:6px}
.tag{font-size:12px;padding:4px 10px;border-radius:999px;border:1px solid var(--ink-4);color:var(--ink-3)}
.tag--wed{border-color:rgba(231,208,168,.4);color:var(--acc)}
.card .chip{position:absolute;left:12px;top:12px;z-index:3}
.card .plus{position:absolute;right:12px;top:12px;z-index:3;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:rgba(12,14,20,.42);border:1px solid rgba(255,255,255,.18);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}

/* studio */
.portrait{aspect-ratio:4/5;border-radius:var(--r-l);display:grid;place-items:center;text-align:center;padding:24px;color:var(--acc);font-size:15px;border:1px dashed rgba(231,208,168,.4);background:rgba(231,208,168,.04)}
.tools{display:flex;flex-wrap:wrap;gap:8px}
.vals{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}

/* contact */
.ctc{display:grid;grid-template-columns:1.35fr 1fr;gap:clamp(20px,3vw,40px);align-items:start}
.form,.ok{padding:clamp(24px,3.5vw,44px);display:grid;gap:20px;border-radius:var(--r-l)}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:grid;gap:8px}
.field label{font-size:14px;font-weight:500;color:var(--ink-2)}
.req{color:var(--acc)}
.field input,.field select,.field textarea{width:100%;min-height:52px;padding:14px 16px;border-radius:var(--r-s);border:1px solid rgba(255,255,255,.14);background:rgba(8,9,13,.45);color:var(--ink);font:inherit;font-size:16px;transition:border-color .25s,box-shadow .25s,background .25s;color-scheme:dark}
.field textarea{min-height:140px;resize:vertical}
.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23E7D0A8' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:44px}
.field select option{background:#14161d;color:var(--ink)}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px rgba(231,208,168,.18);background:rgba(8,9,13,.6)}
.field__help{font-size:13px;color:var(--ink-3)}
.field__help a{color:var(--ink-2);text-decoration:underline}
.field__msg{font-size:14px;color:#FF9C8A}
.field.is-error input{border-color:#FF9C8A}
.reach{display:grid;gap:10px}
.reach>a,.reach>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 20px;border-radius:var(--r-s);background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);transition:background .3s,border-color .3s;min-height:64px}
.reach>a:hover{background:rgba(255,255,255,.08);border-color:var(--gl-b)}
.reach small{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.reach b{font-weight:500;overflow-wrap:anywhere}

/* legal */
.legal{max-width:760px;display:grid;gap:18px;padding:clamp(24px,4vw,48px);border-radius:var(--r-l)}
.legal h2{font-size:24px;font-weight:500;margin-top:16px}
.legal p{color:var(--ink-2)}
.ph{color:var(--acc)}

/* footer */
.ftr{padding:clamp(60px,8vw,110px) 0 28px;margin-top:clamp(40px,6vw,80px);border-top:1px solid var(--ink-4);background:linear-gradient(180deg,rgba(255,255,255,.02),transparent)}
.ftr__top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:32px}
.ftr__claim{margin-top:16px;color:var(--ink-3);max-width:36ch}
.ftr h4{margin-bottom:14px}
.ftr ul{display:grid;gap:8px;color:var(--ink-2)}
.ftr ul a{display:inline-flex;min-height:32px;align-items:center;transition:color .25s}
.ftr ul a:hover{color:var(--acc)}
.ftr__big{display:block;margin:clamp(48px,7vw,96px) 0 20px;font-size:calc((min(100vw,var(--wrap)) - 2*var(--gut)) / 5.82);line-height:.85;letter-spacing:-.05em;white-space:nowrap;background:linear-gradient(180deg,rgba(242,238,231,.22),rgba(242,238,231,.02));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;user-select:none}
.ftr__big b{font-weight:700}.ftr__big span{font-weight:200}
.ftr__legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:13px;color:var(--ink-3)}
.ftr__legal a:hover{color:var(--ink)}

/* lightbox */
.lb{position:fixed;inset:0;z-index:300;display:grid;grid-template-rows:1fr auto;background:rgba(6,7,10,.82);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);opacity:0;transition:opacity .3s}
.lb.is-open{opacity:1}
.lb__stage{display:grid;place-items:center;padding:72px 16px 8px;min-height:0}
.lb__stage img{max-width:100%;max-height:calc(100vh - 170px);border-radius:var(--r-s);box-shadow:var(--sh)}
.lb__bar{display:flex;justify-content:center;align-items:center;gap:16px;padding:16px}
.lb__btn{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--gl-b);background:rgba(255,255,255,.06)}
.lb__btn:hover{background:rgba(255,255,255,.14)}
.lb__close{position:absolute;top:16px;right:16px}
.lb__count{font-size:14px;color:var(--ink-2);min-width:70px;text-align:center}

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

/* responsive */
@media (min-width:1600px){
  :root{--wrap:1480px}
  body{font-size:17px}
}
@media (max-width:1180px){
  .steps{grid-template-columns:1fr 1fr}
  .nav a{padding:0 10px}
  .bar__end .btn{display:none}
}
@media (max-width:960px){
  .nav,.bar__end .lang{display:none}
  .burger{display:block}
  .bar__in{padding-left:20px}
  .mmenu .lang{display:inline-flex;justify-self:start}
  .hero__head,.phead__grid,.shead,.film__head,.cta__grid,.ctc,.idx,.wedf__grid,.svc{grid-template-columns:1fr}
  .idx__pv{display:none}
  .trip{grid-template-columns:1fr 2fr 1fr}
  .trip .frame--main{min-height:0}
  .trip .r916 .vtag{display:none}
  .wedf__media{min-height:0;grid-template-rows:auto auto}
  .wedf__media .frame:first-child{aspect-ratio:4/5}
  .wedf__txt{padding:8px 8px 16px}
  .sheet{grid-template-columns:1fr 1fr}
  .ftr__top{grid-template-columns:1fr 1fr}
  .ftr__top>div:first-child{grid-column:1/-1}
  .mas{columns:2}
  .g>[class*=s]{grid-column:span 12}
}
@media (max-width:699px){
  .trip{grid-template-columns:1fr 1fr}
  .trip>:nth-child(2){grid-column:1/-1;order:-1}
  .trip .frame--main{aspect-ratio:16/10;height:auto;min-height:0}
  .cols3,.vals{grid-template-columns:1fr}
}
@media (max-width:620px){
  .trip .r916 .vtag{display:none}
  body{font-size:15px}
  .bar{top:10px}
  .bar__in{height:58px}
  .burger{width:44px;height:44px}
  .burger span{top:21px;left:13px;right:13px}
  .cols3,.vals,.sheet,.stats,.steps,.ticks,.f2{grid-template-columns:1fr}
  .reels{gap:8px}
  .reels .vtag{display:none}
  .reels .vbtn{width:36px;height:36px;right:8px;bottom:8px}
  .duo{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr}
  .stat{padding:22px 18px}
  .step{min-height:0}
  .idx__row{grid-template-columns:36px 1fr 44px;padding:18px 14px;gap:10px}
  .idx__go{width:44px;height:44px}
  .faq summary{grid-template-columns:28px 1fr 20px;padding:18px 16px;font-size:16px}
  .faq details p{padding:0 16px 18px 56px}
  .film__item{width:76vw}
  .whero{min-height:88vh}
  .mas{columns:2;column-gap:8px}.mas a{margin-bottom:8px}
  .cta{padding:28px 22px}
  .lb__stage img{max-height:calc(100vh - 160px)}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  [data-reveal]{opacity:1;transform:none}
}

/* ==================================================================
   Block editor layer — page content built with WordPress blocks
   ================================================================== */
.aray-s figure{margin:0}
/* spacing that WordPress' own block spacing would otherwise reset */
.aray-s .hero__meta{margin-bottom:clamp(28px,4vw,48px)}
.aray-s .trip{margin-top:clamp(40px,6vw,80px)}
.aray-s .shead{margin-bottom:clamp(40px,5vw,64px)}
.aray-s .shead .h2,.aray-s .film__head .h2,.aray-s .cta .h1{margin-top:18px}
.aray-s .film__head{margin-bottom:48px}
.aray-s .film__item:nth-child(even) > .frame{margin-top:44px}
.aray-s .phead__top{margin-bottom:28px}
.aray-s .cta__mail{margin-top:clamp(36px,5vw,64px)}
.aray-s .cta__row{margin-top:32px}
.aray-s .step__n{margin-bottom:12px}
.aray-s .idx__d{margin-top:6px}
.aray-s .pk .ulink{margin-top:8px}
.aray-s .legal h2{margin-top:16px}
.aray-s .wrap{margin-left:auto;margin-right:auto}
.ftr .ftr__big{margin:clamp(48px,7vw,96px) 0 20px}
.ftr .ftr__claim{margin-top:16px}
.ftr .ftr__col .meta{margin-bottom:14px}
@media (max-width:960px){.aray-s.whero .wrap{margin-top:-90px}}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.is-in{opacity:1;transform:none}
.sec--first{padding-top:20px}
.aray-s .reels{max-width:none}
.stack{display:grid;gap:28px}
.stack-s{display:grid;gap:12px}
.stack-l{display:grid;gap:28px;padding-top:8px;align-content:start}
.stack-xl{display:grid;gap:clamp(48px,6vw,80px)}
.split{display:grid;grid-template-columns:4fr 8fr;gap:clamp(16px,2vw,28px);align-items:start}
.split57{display:grid;grid-template-columns:5fr 7fr;gap:clamp(20px,3vw,48px);align-items:start}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip--acc{color:var(--acc)}
.pk .chip,.cardg .chip,.whero__card .chip{justify-self:start}
.phead__top .chip,.hero__meta .chip{width:auto}
.shead__l .h2{margin-top:18px}
.shead__r{display:grid;gap:18px;justify-items:start}
.film__side{display:grid;gap:16px;justify-items:start}
.film__h .h2{margin-top:18px}

/* buttons */
.wp-block-buttons.acts,.aray-s .wp-block-buttons{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.wp-block-button[class*="is-style-aray-"] .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;border-radius:999px;font-family:inherit;font-size:15px;font-weight:500;line-height:1.2;text-decoration:none;border:1px solid transparent;transition:transform .35s var(--ease),background .3s,border-color .3s,box-shadow .3s;white-space:nowrap}
.wp-block-button[class*="is-style-aray-"] .wp-block-button__link::after{content:"";width:18px;height:18px;flex:none;background:currentColor;-webkit-mask:var(--arrow) center/contain no-repeat;mask:var(--arrow) center/contain no-repeat;transition:transform .35s var(--ease)}
.wp-block-button[class*="is-style-aray-"] .wp-block-button__link:hover::after{transform:translateX(3px)}
.is-style-aray-acc .wp-block-button__link{background:linear-gradient(180deg,var(--acc-2),var(--acc))!important;color:var(--acc-ink)!important;box-shadow:0 10px 30px -8px rgba(231,208,168,.55),inset 0 1px 0 rgba(255,255,255,.6)}
.is-style-aray-acc .wp-block-button__link:hover{transform:translateY(-2px)}
.is-style-aray-glass .wp-block-button__link{background:rgba(255,255,255,.06)!important;border-color:var(--gl-b)!important;color:var(--ink)!important;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}
.is-style-aray-glass .wp-block-button__link:hover{background:rgba(255,255,255,.12)!important}
.is-style-aray-link .wp-block-button__link{background:none!important;color:var(--ink)!important;padding:0 0 3px!important;min-height:0!important;border-radius:0!important;border-bottom:1px solid var(--ink-4)!important}
.is-style-aray-link .wp-block-button__link::after{-webkit-mask:var(--diag) center/contain no-repeat!important;mask:var(--diag) center/contain no-repeat!important;width:16px!important;height:16px!important}
.is-style-aray-link .wp-block-button__link:hover{color:var(--acc)!important;border-color:var(--acc)!important}
:root{--arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='M13 6l6 6-6 6'/%3E%3C/svg%3E");--diag:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7'/%3E%3Cpath d='M7 7h10v10'/%3E%3C/svg%3E")}
p.ulink{display:block;border:0;padding:0}
p.ulink a{display:inline-flex;align-items:center;gap:8px;color:var(--ink);border-bottom:1px solid var(--ink-4);padding-bottom:3px;transition:color .3s,border-color .3s}
p.ulink a::after{content:"";width:16px;height:16px;background:currentColor;-webkit-mask:var(--arrow) center/contain no-repeat;mask:var(--arrow) center/contain no-repeat}
p.ulink a:hover{color:var(--acc);border-color:var(--acc)}

/* images & videos as frames */
.wp-block-image.frame,.wp-block-video.frame{margin:0}
.wp-block-image.frame img,.wp-block-video.frame video{width:100%;height:100%;object-fit:cover;border-radius:0;display:block}
.wp-block-image.frame a{display:block;width:100%;height:100%}
.wp-block-image.frame:not([class*=" r"]) img{height:100%}
.frame .wp-element-caption,.frame figcaption{position:absolute;left:12px;bottom:12px;z-index:3;margin:0!important;max-width:calc(100% - 76px);display:inline-flex;align-items:center;padding:7px 12px;border-radius:999px;font-size:12px;font-weight:500;line-height:1.3;color:var(--ink)!important;background:rgba(12,14,20,.42);border:1px solid rgba(255,255,255,.16);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}
.wp-block-image.frame figcaption{bottom:12px}

/* hero */
.mega strong{font-weight:600}
.mega em{font-style:normal;font-weight:200;background:linear-gradient(90deg,var(--acc-2),var(--acc) 40%,#9fb2ff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.trip > .wp-block-video{height:100%}
.trip > .wp-block-video.r916{height:auto}

/* services index */
.idx__row{cursor:pointer;grid-template-columns:56px 1fr 48px}
.idx__row::after{content:"";width:48px;height:48px;border-radius:50%;border:1px solid var(--gl-b);background:var(--ink-2);-webkit-mask:none;transition:.35s var(--ease);background:transparent}
.idx__row .idx__img{display:none}
.idx__row p.idx__n{font-size:13px;color:var(--ink-3)}
.idx__row .idx__t{font-size:clamp(24px,2.6vw,38px);font-weight:500;letter-spacing:-.025em;line-height:1.1}
.idx__row .idx__t a{color:inherit}
.idx__row .idx__go{display:none}
.idx__row{position:relative}
.idx__row::before{content:"";position:absolute;right:37px;top:50%;width:18px;height:18px;margin-top:-9px;background:var(--ink-2);-webkit-mask:var(--arrow) center/contain no-repeat;mask:var(--arrow) center/contain no-repeat;transition:transform .35s var(--ease),background .3s;z-index:1}
.idx__row.is-active::after,.idx__row:hover::after{background:var(--acc);border-color:var(--acc)}
.idx__row.is-active::before,.idx__row:hover::before{background:var(--acc-ink);transform:rotate(-45deg)}

/* weddings feature + feature icons */
.feat{grid-template-columns:40px 1fr}
.feat p{color:var(--ink-3);font-size:15px}
.feat p strong{display:block;color:var(--ink);font-weight:500}
.feat::before,.cardg[class*="ic-"]::before{content:"";width:40px;height:40px;border-radius:10px;background:rgba(231,208,168,.12) center/20px no-repeat;display:block}
.cardg[class*="ic-"]::before{margin-bottom:10px}
.ic-cam::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E7D0A8' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8h3l2-3h6l2 3h3v11H4z'/%3E%3Ccircle cx='12' cy='13' r='3.5'/%3E%3C/svg%3E")!important}
.ic-film::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E7D0A8' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='6' width='13' height='12' rx='2'/%3E%3Cpath d='m16 10 5-3v10l-5-3'/%3E%3C/svg%3E")!important}
.ic-phone::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E7D0A8' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='7' y='3' width='10' height='18' rx='2'/%3E%3Cpath d='M11 18h2'/%3E%3C/svg%3E")!important}
.ic-sun::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E7D0A8' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 3v2M12 19v2M3 12h2M19 12h2M5.6 5.6l1.4 1.4M17 17l1.4 1.4M5.6 18.4 7 17M17 7l1.4-1.4'/%3E%3C/svg%3E")!important}
.wedf__media > .wp-block-image{height:100%}

/* filmstrip */
.film__item{position:relative}
.film__item > .frame{aspect-ratio:4/5}
.film__item:nth-child(even) > .frame{aspect-ratio:3/4}
.film__meta{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:0 4px}
.film__name{font-weight:500}
.film__year{font-size:13px;color:var(--ink-3)}
.film__end .h3{font-size:clamp(22px,2.2vw,30px)}

/* steps / cards: keep the numbers gold */
.step p.step__n,.cardg p.step__n{color:var(--acc);font-size:13px}
.stat p.stat__l{color:var(--ink-3);font-size:15px}

/* gallery (masonry) */
.wp-block-gallery.mas{display:block!important;columns:3;column-gap:12px}
.wp-block-gallery.mas figure.wp-block-image{width:100%!important;margin:0 0 12px!important;break-inside:avoid;display:block!important;border-radius:var(--r);overflow:hidden;position:relative;cursor:zoom-in}
.wp-block-gallery.mas figure.wp-block-image img{width:100%!important;height:auto!important;display:block;transition:transform 1.2s var(--ease)}
.wp-block-gallery.mas figure.wp-block-image:hover img{transform:scale(1.04)}
.wp-block-gallery.mas figure.wp-block-image::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);pointer-events:none}

/* lists */
.aray-s ul.wp-block-list{margin:0;padding:0}
.ticks li{list-style:none}
.ftr__list{display:grid;gap:8px;margin:0;padding:0;list-style:none;color:var(--ink-2)}
.ftr__list a{display:inline-flex;min-height:32px;align-items:center;transition:color .25s}
.ftr__list a:hover{color:var(--acc)}

/* FAQ (details block) */
.faq{counter-reset:q}
.faq .wp-block-details{border-radius:var(--r-s);background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);transition:background .3s,border-color .3s;margin:0}
.faq .wp-block-details[open]{background:rgba(255,255,255,.07);border-color:var(--gl-b)}
.faq .wp-block-details summary{list-style:none;display:grid;grid-template-columns:36px 1fr 24px;gap:12px;align-items:center;padding:20px 22px;cursor:pointer;font-size:18px;font-weight:500;letter-spacing:-.01em;min-height:56px}
.faq .wp-block-details summary::-webkit-details-marker{display:none}
.faq .wp-block-details summary::before{counter-increment:q;content:counter(q,decimal-leading-zero);font-size:13px;color:var(--ink-3);font-weight:400}
.faq .wp-block-details summary::after{content:"+";font-size:24px;font-weight:200;color:var(--acc);transition:transform .3s}
.faq .wp-block-details[open] summary::after{transform:rotate(45deg)}
.faq .wp-block-details > p{padding:0 22px 22px 70px;color:var(--ink-2)}

/* CTA */
.cta__mail a{color:inherit}
.cta__mail:hover{color:var(--acc);border-color:var(--acc)}

/* contact */
.reach > p{display:block;padding:18px 20px;border-radius:var(--r-s);background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);line-height:1.5;transition:background .3s,border-color .3s}
.reach > p:has(a){padding:0}
.reach > p > a{display:block;padding:18px 20px;color:var(--ink-3)}
.reach > p:hover{background:rgba(255,255,255,.08);border-color:var(--gl-b)}
.reach strong{display:block;font-size:16px;letter-spacing:0;text-transform:none;color:var(--ink);font-weight:500;overflow-wrap:anywhere}

/* studio */
.portrait-img{aspect-ratio:4/5}

/* footer built with blocks */
.ftr p.logo{font-weight:200;font-size:18px;letter-spacing:.08em}
.ftr p.logo strong,.ftr__big strong{font-weight:700}
.ftr__big{font-weight:200}
.ftr__col .meta{display:block;margin-bottom:14px}
.ftr__legal p{margin:0}
.ftr__legal a:hover{color:var(--ink)}

/* placeholders for theme blocks in the editor */
.aray-ph{padding:28px;border:1px dashed rgba(231,208,168,.5);border-radius:var(--r);color:var(--ink-2)}
.aray-ph strong{color:var(--acc)}

@media (max-width:960px){
  .split,.split57{grid-template-columns:1fr}
  .wp-block-gallery.mas{columns:2}
}
@media (max-width:620px){
  .wp-block-gallery.mas{columns:2;column-gap:8px}
  .wp-block-gallery.mas figure.wp-block-image{margin:0 0 8px!important}
  .trip .r916 figcaption,.trip .r916 .wp-element-caption,.reels .wp-element-caption,.duo .wp-element-caption{display:none}
  .idx__row::before{right:27px}
  .idx__row::after{width:44px;height:44px}
  .idx__row{grid-template-columns:36px 1fr 44px}
}

/* WordPress */
.admin-bar .bar{top:46px}.admin-bar .mmenu{top:122px}
@media (max-width:782px){.admin-bar .bar{top:56px}.admin-bar .mmenu{top:132px}}
@media (max-width:600px){#wpadminbar{position:fixed}}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.entry{display:grid;gap:18px}
.entry>*{margin:0}
.entry h2,.entry h3{font-weight:500;letter-spacing:-.015em;margin-top:12px}
.entry a{color:var(--acc);text-decoration:underline;text-underline-offset:3px}
.entry img{border-radius:var(--r-s);height:auto}
.entry ul,.entry ol{padding-left:22px;list-style:revert;color:var(--ink-2)}
.entry figure{margin:0}
.entry .wp-block-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
.mas img{height:auto}
.nav-links{display:flex;gap:10px;margin-top:20px}
