/*
Theme Name: Loriesthi Final v2
Author: Loriesthi Estudio Gráfico
Version: 2.0
Description: Estilo Loriesthi — loader countdown, cursor, tipografía condensada, GSAP.
*/

@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,300;0,400;0,600;0,700;0,900;1,300;1,700&family=DM+Sans:wght@200;300;400&family=DM+Mono:wght@300;400&display=swap');

:root{--black:#080808;--white:#f2ede6;--gold:#f0b429;--navy:#0f1d35;--dim:rgba(242,237,230,0.35);--rule:rgba(242,237,230,0.08);--ease:cubic-bezier(0.23,1,0.32,1);--cond:'Barlow Condensed',sans-serif;--sans:'DM Sans',sans-serif;--mono:'DM Mono',monospace;}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{font-size:16px;overflow-x:hidden;scroll-behavior:smooth;}
body{background:var(--black);color:var(--white);font-family:var(--sans);font-weight:300;-webkit-font-smoothing:antialiased;cursor:none;overflow-x:hidden;}
@media(max-width:768px){body{cursor:auto;}}
::-webkit-scrollbar{width:3px;}::-webkit-scrollbar-track{background:var(--black);}::-webkit-scrollbar-thumb{background:var(--gold);}

/* LOADER */
#loader{position:fixed;inset:0;background:var(--black);z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;}
.loader-logo{font-family:var(--cond);font-size:clamp(1.8rem,4vw,3rem);font-weight:700;letter-spacing:.25em;text-transform:uppercase;color:var(--white);margin-bottom:3.5rem;opacity:0;animation:fadeUp .6s var(--ease) .2s forwards;}
.loader-logo span{color:var(--gold);}
.loader-count{font-family:var(--cond);font-size:clamp(20vw,28vw,34vw);font-weight:900;line-height:.85;color:var(--white);letter-spacing:-.04em;position:absolute;bottom:-.15em;left:50%;transform:translateX(-50%);white-space:nowrap;opacity:.05;pointer-events:none;user-select:none;}
.loader-progress-wrap{width:min(440px,78vw);}
.loader-bar-bg{width:100%;height:1px;background:var(--rule);position:relative;overflow:hidden;}
.loader-bar{position:absolute;left:0;top:0;bottom:0;background:var(--gold);width:0%;}
.loader-pct{font-family:var(--mono);font-size:.68rem;letter-spacing:.15em;color:var(--gold);text-align:right;margin-top:.8rem;}

/* CURSOR */
.cur-dot{position:fixed;width:6px;height:6px;background:var(--gold);border-radius:50%;pointer-events:none;z-index:8888;transform:translate(-50%,-50%);}
.cur-ring{position:fixed;width:34px;height:34px;border:1px solid rgba(240,180,41,.4);border-radius:50%;pointer-events:none;z-index:8887;transform:translate(-50%,-50%);transition:width .4s var(--ease),height .4s var(--ease),border-color .3s;}
.cur-ring.big{width:56px;height:56px;border-color:var(--gold);}
.cur-ring.proj{width:110px;height:110px;border-color:var(--gold);border-width:2px;}
@media(max-width:768px){.cur-dot,.cur-ring{display:none;}}

/* NAV */
#site-header{position:fixed;top:0;left:0;right:0;z-index:500;display:flex;align-items:center;justify-content:space-between;padding:clamp(1.5rem,3vh,2.2rem) clamp(1.5rem,5vw,5rem);transition:background .4s,padding .4s;}
#site-header.scrolled{background:rgba(8,8,8,.94);backdrop-filter:blur(16px);border-bottom:1px solid var(--rule);padding-top:1.1rem;padding-bottom:1.1rem;}
.nav-logo{font-family:var(--cond);font-size:clamp(1.1rem,2vw,1.35rem);font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--white);text-decoration:none;line-height:1;flex-shrink:0;}
.nav-logo em{color:var(--gold);font-style:normal;}
.nav-right{display:flex;align-items:center;gap:clamp(1.5rem,3vw,2.5rem);}
.nav-links{display:flex;align-items:center;gap:clamp(1.5rem,3vw,2.5rem);list-style:none;}
.nav-links a{font-family:var(--mono);font-size:clamp(.58rem,.7vw,.65rem);letter-spacing:.18em;text-transform:uppercase;color:var(--dim);text-decoration:none;transition:color .25s;position:relative;}
.nav-links a::after{content:'';position:absolute;bottom:-3px;left:0;right:100%;height:1px;background:var(--gold);transition:right .3s var(--ease);}
.nav-links a:hover{color:var(--white);}
.nav-links a:hover::after{right:0;}
.nav-cta{font-family:var(--cond);font-size:clamp(.8rem,1vw,.88rem);font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--black)!important;background:var(--gold);padding:.55rem clamp(1rem,2vw,1.4rem);text-decoration:none;transition:background .25s;white-space:nowrap;flex-shrink:0;}
.nav-cta:hover{background:var(--white);}
.nav-cta::after{display:none!important;}
.nav-hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px;}
.nav-hamburger span{display:block;width:24px;height:1px;background:var(--white);transition:transform .3s,opacity .3s;}
.nav-hamburger.open span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.nav-hamburger.open span:nth-child(2){opacity:0;}
.nav-hamburger.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
.mobile-menu{display:none;position:fixed;inset:0;background:var(--black);z-index:490;flex-direction:column;align-items:center;justify-content:center;gap:2.5rem;}
.mobile-menu.open{display:flex;}
.mobile-menu a{font-family:var(--cond);font-size:clamp(3rem,10vw,5rem);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--white);text-decoration:none;line-height:1;transition:color .25s;}
.mobile-menu a:hover,.mobile-menu a.cta{color:var(--gold);}
@media(max-width:768px){.nav-links{display:none;}.nav-hamburger{display:flex;}}

/* HERO */
#hero{min-height:100vh;display:flex;flex-direction:column;justify-content:flex-end;padding:0 clamp(1.5rem,5vw,5rem) clamp(2.5rem,6vh,5rem);position:relative;overflow:hidden;border-bottom:1px solid var(--rule);}
.hero-bg-word{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:var(--cond);font-size:clamp(35vw,45vw,55vw);font-weight:900;letter-spacing:-.05em;color:rgba(240,180,41,.035);white-space:nowrap;pointer-events:none;user-select:none;line-height:1;}
.hero-top-bar{position:absolute;top:clamp(5rem,10vh,7rem);left:clamp(1.5rem,5vw,5rem);right:clamp(1.5rem,5vw,5rem);display:flex;justify-content:space-between;align-items:flex-start;}
.hero-tag{font-family:var(--mono);font-size:clamp(.55rem,.7vw,.63rem);letter-spacing:.22em;text-transform:uppercase;color:var(--gold);}
.hero-tag-right{font-family:var(--mono);font-size:clamp(.55rem,.7vw,.63rem);letter-spacing:.12em;color:var(--dim);text-align:right;line-height:1.7;}
.hero-title{font-family:var(--cond);font-size:clamp(12vw,17vw,20vw);font-weight:900;line-height:.87;letter-spacing:-.02em;text-transform:uppercase;color:var(--white);position:relative;z-index:2;}
.hero-title .line{display:block;overflow:hidden;}
.hero-title .line-inner{display:block;opacity:0;transform:translateY(110%);}
.hero-title .gold-txt{color:var(--gold);}
.hero-title .outline{-webkit-text-stroke:2px rgba(242,237,230,.2);color:transparent;}
@media(max-width:768px){.hero-title .outline{-webkit-text-stroke:1px rgba(242,237,230,.25);}}
.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;margin-top:2.5rem;position:relative;z-index:2;gap:2rem;}
.hero-desc{font-size:clamp(.85rem,1.1vw,1rem);line-height:1.8;color:var(--dim);max-width:380px;}
@media(max-width:480px){.hero-desc{max-width:100%;}}
.hero-scroll{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;flex-shrink:0;}
.hero-scroll-line{width:1px;height:50px;background:linear-gradient(to bottom,var(--gold),transparent);animation:pulse 2s ease infinite;}
.hero-scroll-label{font-family:var(--mono);font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);writing-mode:vertical-rl;}
@media(max-width:480px){.hero-scroll{display:none;}}



/* ABOUT */
#about{padding:clamp(5rem,12vh,10rem) clamp(1.5rem,5vw,5rem);display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,8vw,10rem);align-items:center;border-bottom:1px solid var(--rule);}
@media(max-width:768px){#about{grid-template-columns:1fr;gap:3rem;}}
.about-eyebrow{font-family:var(--mono);font-size:.63rem;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin-bottom:2rem;display:flex;align-items:center;gap:1rem;}
.about-eyebrow::before{content:'';width:28px;height:1px;background:var(--gold);}
.about-heading{font-family:var(--cond);font-size:clamp(3.5rem,7vw,8.5rem);font-weight:700;line-height:.9;letter-spacing:-.02em;text-transform:uppercase;}
.about-heading em{font-style:italic;color:var(--gold);font-weight:300;display:block;}
.about-body{font-size:clamp(.95rem,1.2vw,1.1rem);line-height:1.9;color:rgba(242,237,230,.6);margin-bottom:1.5rem;}
.stats-strip{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--rule);margin-top:3rem;padding-top:2.5rem;gap:2rem;}
@media(max-width:400px){.stats-strip{grid-template-columns:1fr 1fr;}}
.stat-n{font-family:var(--cond);font-size:clamp(2.5rem,5vw,5rem);font-weight:700;line-height:1;color:var(--gold);letter-spacing:-.02em;}
.stat-n sup{font-size:.4em;vertical-align:super;}
.stat-l{font-family:var(--mono);font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);margin-top:.4rem;}

/* PROYECTOS */
#proyectos{padding:clamp(5rem,10vh,8rem) clamp(1.5rem,5vw,5rem);border-bottom:1px solid var(--rule);position:relative;}
.proyectos-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:clamp(3rem,6vh,5rem);gap:3rem;}
@media(max-width:480px){.proyectos-head{flex-direction:column;align-items:flex-start;gap:1rem;}}
.proyectos-heading{font-family:var(--cond);font-size:clamp(3.5rem,7vw,9rem);font-weight:700;letter-spacing:-.02em;text-transform:uppercase;line-height:.9;}
.proyectos-heading em{display:block;font-style:italic;color:var(--gold);font-weight:300;}
.proyectos-count{font-family:var(--mono);font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);align-self:flex-start;padding-top:.5rem;}
.proyectos-wrap{display:grid;grid-template-columns:55fr 45fr;align-items:start;position:relative;}
@media(max-width:900px){.proyectos-wrap{grid-template-columns:1fr;}}
.proj-list{list-style:none;border-top:1px solid var(--rule);}
.proj-item{border-bottom:1px solid var(--rule);position:relative;overflow:hidden;cursor:none;}
@media(max-width:768px){.proj-item{cursor:pointer;}}
.proj-item::before{content:'';position:absolute;inset:0;background:var(--gold);opacity:0;transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease),opacity .3s;pointer-events:none;z-index:0;}
.proj-item:hover::before{transform:scaleX(1);opacity:.05;}
.proj-row{display:grid;grid-template-columns:3rem 1fr auto;align-items:center;gap:1.5rem;padding:clamp(1.1rem,2vh,1.6rem) 0;position:relative;z-index:1;}
@media(max-width:480px){.proj-row{grid-template-columns:2.5rem 1fr;gap:1rem;}}
.proj-n{font-family:var(--mono);font-size:.6rem;letter-spacing:.12em;color:var(--dim);transition:color .25s;line-height:1;}
.proj-item.active .proj-n,.proj-item:hover .proj-n{color:var(--gold);}
.proj-info{min-width:0;}
.proj-name{font-family:var(--cond);font-size:clamp(1.6rem,3vw,3.2rem);font-weight:700;text-transform:uppercase;letter-spacing:.01em;color:var(--white);line-height:1;transition:color .3s,transform .35s var(--ease);}
.proj-item:hover .proj-name,.proj-item.active .proj-name{color:var(--gold);transform:translateX(10px);}
.proj-meta{font-family:var(--mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);margin-top:.35rem;transition:color .25s;}
@media(max-width:480px){.proj-meta{font-size:.52rem;}}
.proj-item:hover .proj-meta,.proj-item.active .proj-meta{color:rgba(240,180,41,.6);}
.proj-cta{display:flex;flex-direction:column;align-items:flex-end;gap:.4rem;flex-shrink:0;}
@media(max-width:480px){.proj-cta{display:none;}}
.proj-cta-label{font-family:var(--mono);font-size:.58rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);white-space:nowrap;opacity:0;transform:translateX(8px);transition:opacity .3s,transform .3s;}
.proj-item:hover .proj-cta-label,.proj-item.active .proj-cta-label{opacity:1;transform:translateX(0);}
.proj-cta-arrow{font-size:1.2rem;color:var(--dim);opacity:0;transform:translateX(-6px);transition:opacity .3s .05s,transform .3s .05s,color .25s;}
.proj-item:hover .proj-cta-arrow,.proj-item.active .proj-cta-arrow{opacity:1;transform:translateX(0);color:var(--gold);}
.proj-preview{position:sticky;top:calc(clamp(1.5rem,3vh,2.2rem)*2 + 2rem);height:65vh;max-height:580px;overflow:hidden;margin-left:clamp(2rem,4vw,5rem);}
@media(max-width:900px){.proj-preview{display:none;}}
.proj-slide{position:absolute;inset:0;opacity:0;transition:opacity .5s var(--ease),transform .5s var(--ease);transform:scale(1.03);}
.proj-slide.active{opacity:1;transform:scale(1);}
.proj-slide-bg{position:absolute;inset:0;display:flex;align-items:flex-end;}
.p1-bg{background:linear-gradient(135deg,#0f1d35 0%,#1a3a5c 50%,#2a4a6c 100%);}
.p2-bg{background:linear-gradient(135deg,#1a0a00 0%,#3d1a00 50%,#5c2a00 100%);}
.p3-bg{background:linear-gradient(135deg,#080818 0%,#1a1a2e 50%,#16213e 100%);}
.p4-bg{background:linear-gradient(135deg,#0d0d0d 0%,#1a1a00 50%,#2a2a00 100%);}
.p5-bg{background:linear-gradient(135deg,#0a0a1a 0%,#1a0a2e 50%,#2a0a3e 100%);}
.p6-bg{background:linear-gradient(135deg,#001a0d 0%,#003a1a 50%,#004a20 100%);}
.proj-slide-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(240,180,41,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(240,180,41,.07) 1px,transparent 1px);background-size:60px 60px;}
.proj-slide-num{position:absolute;bottom:-.1em;right:-.05em;font-family:var(--cond);font-size:clamp(12rem,20vw,22rem);font-weight:900;line-height:1;letter-spacing:-.05em;color:rgba(240,180,41,.08);pointer-events:none;user-select:none;}
.proj-slide-caption{position:absolute;inset:0;padding:2.5rem;display:flex;flex-direction:column;justify-content:space-between;}
.proj-slide-tag{font-family:var(--mono);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:.8rem;}
.proj-slide-tag::before{content:'';width:24px;height:1px;background:var(--gold);}
.proj-slide-title{font-family:var(--cond);font-size:clamp(2rem,3.5vw,3.5rem);font-weight:700;text-transform:uppercase;letter-spacing:-.01em;line-height:1;color:var(--white);margin-bottom:.8rem;}
.proj-slide-sub{font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);}
.proj-slide-ver{align-self:flex-end;display:inline-flex;align-items:center;gap:1rem;font-family:var(--cond);font-size:1rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--black);background:var(--gold);padding:.7rem 1.5rem;text-decoration:none;transition:background .25s,gap .3s var(--ease);cursor:none;}
.proj-slide-ver:hover{background:var(--white);gap:1.6rem;}
@media(max-width:768px){.proj-slide-ver{cursor:pointer;}}
.proj-mobile-grid{display:none;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2rem;}
@media(max-width:900px){.proj-mobile-grid{display:grid;}}
@media(max-width:500px){.proj-mobile-grid{grid-template-columns:1fr;}}
.proj-card-mob{position:relative;overflow:hidden;aspect-ratio:4/3;}
.proj-card-mob-bg{position:absolute;inset:0;}
.proj-card-mob-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(8,8,8,.92) 0%,transparent 60%);}
.proj-card-mob-info{position:absolute;bottom:0;left:0;right:0;padding:1.2rem;}
.proj-card-mob-name{font-family:var(--cond);font-size:clamp(1.2rem,3vw,1.6rem);font-weight:700;text-transform:uppercase;letter-spacing:.02em;color:var(--white);line-height:1;margin-bottom:.3rem;}
.proj-card-mob-meta{font-family:var(--mono);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(240,180,41,.7);}
.proj-card-mob-cta{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--mono);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);text-decoration:none;margin-top:.6rem;transition:gap .3s;}
.proj-card-mob-cta:hover{gap:1rem;}

/* PROCESS */
#process{padding:clamp(5rem,10vh,8rem) clamp(1.5rem,5vw,5rem);background:var(--navy);border-bottom:1px solid rgba(255,255,255,.06);}
.process-heading{font-family:var(--cond);font-size:clamp(3rem,6vw,8rem);font-weight:700;line-height:.9;letter-spacing:-.02em;text-transform:uppercase;margin-bottom:clamp(3rem,6vh,6rem);}
.process-heading em{font-style:italic;color:var(--gold);font-weight:300;}
.process-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.07);border-left:1px solid rgba(255,255,255,.07);}
@media(max-width:768px){.process-grid{grid-template-columns:1fr;}}
.p-card{border-right:1px solid rgba(255,255,255,.07);border-bottom:1px solid rgba(255,255,255,.07);padding:clamp(2rem,4vw,3.5rem) clamp(1.5rem,3vw,3rem);position:relative;overflow:hidden;transition:background .4s;}
@media(max-width:768px){.p-card{border-right:none;}}
.p-card:hover{background:rgba(240,180,41,.04);}
.p-card-bg-n{position:absolute;bottom:-.2em;right:.5rem;font-family:var(--cond);font-size:clamp(6rem,12vw,9rem);font-weight:900;color:rgba(240,180,41,.05);line-height:1;pointer-events:none;user-select:none;}
.p-card-step{font-family:var(--mono);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:2.5rem;display:block;}
.p-card-title{font-family:var(--cond);font-size:clamp(1.4rem,2.2vw,2.4rem);font-weight:600;text-transform:uppercase;line-height:1.05;letter-spacing:-.01em;margin-bottom:1.5rem;}
.p-card-title em{color:var(--gold);font-style:italic;font-weight:300;}
.p-card-body{font-size:clamp(.82rem,.95vw,.9rem);line-height:1.8;color:rgba(242,237,230,.4);}

/* CLIENTS */
#clients{padding:clamp(5rem,10vh,8rem) clamp(1.5rem,5vw,5rem);border-bottom:1px solid var(--rule);}
.clients-head{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:4rem;margin-bottom:clamp(3rem,6vh,5rem);}
@media(max-width:600px){.clients-head{grid-template-columns:1fr;gap:1.5rem;}}
.clients-heading{font-family:var(--cond);font-size:clamp(3.5rem,7vw,9rem);font-weight:700;line-height:.9;letter-spacing:-.02em;text-transform:uppercase;}
.clients-heading em{color:var(--gold);font-style:italic;font-weight:300;}
.clients-sub{font-size:.9rem;line-height:1.8;color:var(--dim);}
.t-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--rule);border-left:1px solid var(--rule);}
@media(max-width:768px){.t-grid{grid-template-columns:1fr;}}
.t-card{border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:clamp(2rem,3vw,3rem) clamp(1.5rem,2.5vw,2.5rem);transition:background .3s;}
@media(max-width:768px){.t-card{border-right:none;}}
.t-card:hover{background:rgba(240,180,41,.03);}
.t-open{font-family:var(--cond);font-size:4rem;line-height:.8;color:var(--gold);opacity:.12;display:block;margin-bottom:1.5rem;}
.t-text{font-size:clamp(.85rem,.95vw,.9rem);line-height:1.85;color:rgba(242,237,230,.5);font-style:italic;margin-bottom:2rem;}
.t-name{font-family:var(--cond);font-size:1rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--white);}
.t-role{font-family:var(--mono);font-size:.6rem;letter-spacing:.12em;color:var(--gold);margin-top:.3rem;}

/* CONTACT */
#contact{padding:clamp(5rem,10vh,8rem) clamp(1.5rem,5vw,5rem);border-top:1px solid var(--rule);}
.contact-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:clamp(3rem,6vh,5rem);gap:3rem;}
@media(max-width:600px){.contact-head{flex-direction:column;align-items:flex-start;gap:1.5rem;}}
.contact-heading{font-family:var(--cond);font-size:clamp(4rem,10vw,13rem);font-weight:900;line-height:.85;letter-spacing:-.03em;text-transform:uppercase;}
.contact-heading em{color:var(--gold);font-style:italic;font-weight:300;}
.contact-tagline{font-size:.9rem;line-height:1.8;color:var(--dim);max-width:280px;text-align:right;}
@media(max-width:600px){.contact-tagline{text-align:left;max-width:100%;}}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,8vw,10rem);align-items:start;}
@media(max-width:700px){.contact-grid{grid-template-columns:1fr;gap:3rem;}}
.c-info-list{display:flex;flex-direction:column;gap:2.5rem;}
.c-info-label{font-family:var(--mono);font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;color:var(--dim);margin-bottom:.4rem;}
.c-info-val{font-family:var(--cond);font-size:clamp(1.1rem,1.5vw,1.4rem);font-weight:400;letter-spacing:.02em;color:rgba(242,237,230,.75);line-height:1.3;}
.c-info-val.gold{color:var(--gold);font-style:italic;}
.f-row{border-bottom:1px solid var(--rule);padding:1.3rem 0;}
.f-row:first-child{border-top:1px solid var(--rule);}
.f-label{display:block;font-family:var(--mono);font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);margin-bottom:.6rem;}
.f-row input,.f-row textarea,.f-row select{width:100%;background:transparent;border:none;outline:none;font-family:var(--cond);font-size:clamp(1.1rem,1.4vw,1.3rem);font-weight:400;color:var(--white);resize:none;-webkit-appearance:none;appearance:none;}
.f-row input::placeholder,.f-row textarea::placeholder{color:rgba(242,237,230,.18);}
.f-row select option{background:#111;}
.f-submit{display:inline-flex;align-items:center;gap:1.5rem;margin-top:3rem;font-family:var(--cond);font-size:1.1rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--black);background:var(--gold);border:none;padding:1rem 2.5rem;cursor:none;transition:background .25s,gap .3s var(--ease);}
@media(max-width:768px){.f-submit{cursor:pointer;width:100%;justify-content:center;}}
.f-submit:hover{background:var(--white);gap:2.2rem;}

/* FOOTER */
#site-footer{background:var(--black);border-top:1px solid var(--rule);padding:2.5rem clamp(1.5rem,5vw,5rem);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;}
@media(max-width:600px){#site-footer{flex-direction:column;align-items:flex-start;gap:1.5rem;}}
.footer-logo{font-family:var(--cond);font-size:1rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:rgba(242,237,230,.28);}
.footer-logo em{color:var(--gold);font-style:normal;}
.footer-copy{font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;color:rgba(242,237,230,.16);}
.footer-socials{display:flex;gap:2rem;list-style:none;}
.footer-socials a{font-family:var(--mono);font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(242,237,230,.22);text-decoration:none;transition:color .25s;}
.footer-socials a:hover{color:var(--gold);}

/* REVEAL */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s var(--ease),transform .9s var(--ease);}
.reveal.vis{opacity:1;transform:none;}
.d1{transition-delay:.1s;}.d2{transition-delay:.22s;}.d3{transition-delay:.38s;}.d4{transition-delay:.55s;}

/* KEYFRAMES */
@keyframes fadeUp{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.3;}}
