/* ============================================================
   LE'ALEOT — shared styles
   Identity: Ascendant mark · Modern Luxe type
   Palette: champagne gold + espresso + warm neutrals
   ============================================================ */
:root{
  --ivory:#F5F1EA;
  --alabaster:#FBFAF8;
  --greige:#CFC6B8;
  --taupe:#A4937C;
  --ink:#1B1714;
  --ink-soft:#2E2823;
  --gold:#C2A878;
  --gold-light:#DCC9A6;
  --line:rgba(27,23,20,0.12);
  --line-light:rgba(245,241,234,0.16);
  --muted:#6B6456;

  --display:'Cinzel',serif;
  --serif:'Cormorant Garamond',Georgia,serif;
  --hebrew:'Frank Ruhl Libre',serif;
  --sans:'Raleway',system-ui,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--ivory);color:var(--ink);
  font-family:var(--sans);font-weight:300;line-height:1.8;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}

h1,h2,h3{font-family:var(--display);font-weight:500;line-height:1.12;letter-spacing:.04em;}
.serif{font-family:var(--serif);}
.eyebrow{font-family:var(--sans);font-weight:400;font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:var(--taupe);}
.wrap{max-width:1240px;margin:0 auto;padding:0 48px;}
.center{text-align:center;}

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

/* ---------- NAV ---------- */
nav{position:fixed;top:0;left:0;width:100%;z-index:60;padding:24px 0;transition:background .5s,padding .5s,border-color .5s;border-bottom:1px solid transparent;}
nav.scrolled{background:rgba(245,241,234,.9);backdrop-filter:blur(12px);padding:14px 0;border-bottom:1px solid var(--line);}
nav.on-dark:not(.scrolled){border-bottom-color:transparent;}
.nav-inner{display:flex;align-items:center;justify-content:space-between;}
.brand{display:flex;align-items:center;gap:12px;}
.brand svg{display:block;}
.brand .wordmark{font-family:var(--display);font-weight:500;font-size:17px;letter-spacing:.34em;color:var(--ink);}
nav.on-dark:not(.scrolled) .brand .wordmark{color:var(--ivory);}
.nav-links{display:flex;gap:38px;align-items:center;}
.nav-links a{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft);font-weight:400;position:relative;transition:color .3s;}
nav.on-dark:not(.scrolled) .nav-links a{color:rgba(245,241,234,.78);}
.nav-links a::after{content:'';position:absolute;left:0;bottom:-6px;width:0;height:1px;background:var(--gold);transition:width .4s;}
.nav-links a:hover{color:var(--gold);}
.nav-links a:hover::after{width:100%;}
.nav-links a.active{color:var(--gold);}
.btn-gold{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink)!important;border:1px solid var(--gold);padding:13px 24px;border-radius:2px;transition:all .45s;background:transparent;}
.btn-gold::after{display:none;}
.btn-gold:hover{background:var(--gold);color:var(--ink)!important;}
nav.on-dark:not(.scrolled) .btn-gold{color:var(--ivory)!important;}
nav.on-dark:not(.scrolled) .btn-gold:hover{color:var(--ink)!important;}
@media(max-width:900px){.nav-links a:not(.btn-gold){display:none;}}

/* ---------- BUTTONS ---------- */
.btn{display:inline-flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;padding:17px 34px;border-radius:2px;transition:all .4s;cursor:pointer;font-family:var(--sans);font-weight:400;border:1px solid var(--gold);}
.btn.solid{background:var(--gold);color:var(--ink);}
.btn.solid:hover{background:var(--gold-light);transform:translateY(-2px);}
.btn.ghost{color:var(--ink);}
.btn.ghost:hover{background:var(--gold);}
.btn.ghost.light{color:var(--ivory);}
.btn.ghost.light:hover{color:var(--ink);}

/* ---------- HERO / PAGE HEAD ---------- */
.hero{min-height:100vh;display:flex;align-items:center;position:relative;background:var(--ivory);overflow:hidden;}
.hero-bg{position:absolute;inset:0;background:
  radial-gradient(120% 90% at 80% 8%, rgba(207,198,184,.5), transparent 60%),
  radial-gradient(90% 80% at 8% 92%, rgba(220,201,166,.3), transparent 55%);
  animation:drift 20s ease-in-out infinite alternate;}
@keyframes drift{from{transform:scale(1) translate(0,0);}to{transform:scale(1.08) translate(-2%,1%);}}
.hero-inner{position:relative;z-index:2;max-width:1020px;}
.hero h1{font-size:clamp(38px,6.4vw,92px);font-weight:500;margin:28px 0 30px;letter-spacing:.05em;}
.hero .lead{max-width:600px;font-size:17px;color:var(--ink-soft);font-weight:300;font-family:var(--sans);}
.hero .accent{font-family:var(--serif);font-style:italic;color:var(--taupe);font-weight:400;letter-spacing:0;}
.kicker{margin-top:36px;font-family:var(--serif);font-style:italic;font-size:22px;color:var(--taupe);}
.rotator{display:inline-block;position:relative;color:var(--gold);}
.rotator span{position:absolute;left:0;opacity:0;white-space:nowrap;transition:opacity .8s,transform .8s;transform:translateY(10px);}
.rotator span.active{opacity:1;transform:none;position:relative;}
.scrollcue{position:absolute;bottom:36px;left:50%;transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:10px;}
.scrollcue .line{width:1px;height:52px;background:linear-gradient(var(--taupe),transparent);animation:pulse 2.4s ease-in-out infinite;}
@keyframes pulse{0%,100%{opacity:.3;transform:scaleY(.7);}50%{opacity:1;transform:scaleY(1);}}
.scrollcue span{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--taupe);}

.page-head{padding:200px 0 90px;background:var(--ink);color:var(--ivory);text-align:center;}
.page-head .eyebrow{color:var(--gold-light);}
.page-head h1{color:var(--ivory);font-size:clamp(40px,6vw,78px);margin-top:18px;letter-spacing:.06em;}
.page-head p{max-width:600px;margin:26px auto 0;color:rgba(245,241,234,.62);font-weight:300;}

/* ---------- MARQUEE ---------- */
.marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px 0;overflow:hidden;white-space:nowrap;background:var(--alabaster);}
.marquee-track{display:inline-block;animation:scroll 36s linear infinite;}
.marquee-track span{font-family:var(--serif);font-style:italic;font-size:26px;color:var(--taupe);margin:0 42px;}
.marquee-track span::after{content:'·';color:var(--gold);margin-left:42px;}
@keyframes scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ---------- SECTION ---------- */
section{padding:130px 0;}
.sec-head{margin-bottom:64px;max-width:680px;}
.sec-head h2{font-size:clamp(30px,4.4vw,52px);font-weight:500;margin-top:18px;letter-spacing:.05em;}
.sec-head .lede{font-family:var(--serif);font-style:italic;font-size:22px;color:var(--taupe);margin-top:20px;}
.dark{background:var(--ink);color:var(--ivory);}
.dark .eyebrow{color:var(--gold-light);}
.dark h2,.dark h3{color:var(--ivory);}
.alabaster{background:var(--alabaster);}

/* teaser link */
.more{display:inline-flex;align-items:center;gap:10px;margin-top:30px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);transition:gap .3s;}
.more:hover{gap:18px;}

/* ---------- ORIGIN BLOCK ---------- */
.origin-block{text-align:center;}
.origin-block .heb{font-family:var(--hebrew);font-size:clamp(56px,11vw,128px);color:var(--gold-light);line-height:1;margin:24px 0 8px;direction:rtl;}
.origin-block .translit{font-family:var(--serif);font-style:italic;font-size:28px;}
.origin-block .root{margin-top:26px;font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--muted);}
.dark .origin-block .root{color:rgba(245,241,234,.55);}
.origin-block .root b{color:var(--gold);font-weight:400;}
.dark .origin-block .root b{color:var(--gold-light);}
.origin-block .story{max-width:680px;margin:42px auto 0;font-family:var(--serif);font-size:24px;font-style:italic;font-weight:300;line-height:1.6;}
.dark .origin-block .story{color:rgba(245,241,234,.82);}

/* ---------- ASCENTS ---------- */
.ascent-list{border-top:1px solid var(--line);}
.dark .ascent-list{border-top-color:var(--line-light);}
.ascent{display:grid;grid-template-columns:110px 1fr 2fr;gap:40px;padding:52px 0;border-bottom:1px solid var(--line);align-items:start;transition:padding-left .5s;}
.dark .ascent{border-bottom-color:var(--line-light);}
.ascent:hover{padding-left:18px;}
.ascent .num{font-family:var(--serif);font-style:italic;font-size:42px;color:var(--gold);line-height:1;}
.ascent h3{font-size:26px;font-weight:500;letter-spacing:.05em;}
.ascent h3 small{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--taupe);margin-bottom:14px;font-weight:400;}
.ascent p{font-family:var(--serif);font-size:19px;font-weight:300;line-height:1.7;color:var(--ink-soft);max-width:560px;}
.dark .ascent p{color:rgba(245,241,234,.72);}
@media(max-width:880px){.ascent{grid-template-columns:1fr;gap:14px;}}

/* ---------- SERVICES STRIP ---------- */
.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);}
.svc{background:var(--ivory);padding:46px 36px;min-height:280px;display:flex;flex-direction:column;transition:background .5s;}
.svc:hover{background:var(--alabaster);}
.svc .no{font-size:11px;letter-spacing:.2em;color:var(--gold);margin-bottom:auto;}
.svc h3{font-size:24px;font-weight:500;margin:28px 0 14px;letter-spacing:.05em;}
.svc p{font-size:14px;color:var(--ink-soft);font-weight:300;font-family:var(--serif);font-size:17px;line-height:1.6;}
.svc.feature{background:var(--ink);color:var(--ivory);}
.svc.feature h3{color:var(--ivory);}
.svc.feature p{color:rgba(245,241,234,.65);}
.svc.feature .no{color:var(--gold-light);}

/* ---------- PORTFOLIO ---------- */
.audience-note{max-width:700px;font-family:var(--serif);font-style:italic;font-size:23px;line-height:1.6;color:var(--ink-soft);margin-bottom:50px;}
.audience-note span{color:var(--taupe);font-style:normal;font-family:var(--sans);font-size:12px;letter-spacing:.2em;text-transform:uppercase;display:block;margin-top:20px;}
.port-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;}
.port-item{position:relative;aspect-ratio:4/3;background:linear-gradient(135deg,var(--greige),var(--taupe));border-radius:2px;overflow:hidden;display:flex;align-items:flex-end;cursor:pointer;}
.port-item:nth-child(4n+2),.port-item:nth-child(4n+3){background:linear-gradient(135deg,#bcae9a,#8a7a64);}
.port-item .ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:rgba(245,241,234,.85);font-family:var(--serif);font-style:italic;font-size:20px;transition:opacity .5s;}
.port-item .meta{position:relative;z-index:2;padding:28px;color:var(--alabaster);opacity:0;transform:translateY(12px);transition:all .5s;background:linear-gradient(transparent,rgba(27,23,20,.58));width:100%;}
.port-item:hover .meta{opacity:1;transform:none;}
.port-item:hover .ph{opacity:.22;}
.port-item .meta .eyebrow{color:var(--gold-light);}
.port-item .meta h4{font-family:var(--serif);font-size:23px;font-weight:400;margin-top:6px;}
@media(max-width:880px){.port-grid{grid-template-columns:1fr;}}

/* ---------- MISSION BAND ---------- */
.mission{text-align:center;}
.mission p{font-family:var(--serif);font-weight:300;font-size:clamp(26px,3.6vw,44px);line-height:1.45;max-width:920px;margin:0 auto;}
.mission p em{font-style:italic;color:var(--taupe);}

/* ---------- AUDIT / FORM ---------- */
.audit-inner{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center;}
.audit h2{font-size:clamp(34px,4.6vw,60px);font-weight:500;letter-spacing:.05em;}
.audit .lead{color:rgba(245,241,234,.66);font-size:16px;margin:24px 0 34px;max-width:440px;font-weight:300;}
.audit .or{display:block;margin-top:22px;font-size:11px;letter-spacing:.16em;color:rgba(245,241,234,.4);text-transform:uppercase;}
form{display:flex;flex-direction:column;gap:20px;}
form .row{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.field{display:flex;flex-direction:column;gap:8px;}
.field label{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:rgba(245,241,234,.5);}
.field input,.field textarea{background:transparent;border:none;border-bottom:1px solid var(--line-light);color:var(--ivory);font-family:var(--sans);font-weight:300;font-size:15px;padding:9px 0;outline:none;transition:border-color .4s;}
.field input:focus,.field textarea:focus{border-color:var(--gold);}
.field textarea{resize:none;min-height:54px;}
form button{margin-top:8px;align-self:flex-start;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink);background:var(--gold);border:none;padding:17px 38px;border-radius:2px;cursor:pointer;transition:all .4s;font-family:var(--sans);}
form button:hover{background:var(--gold-light);}
@media(max-width:880px){.audit-inner{grid-template-columns:1fr;gap:48px;}form .row{grid-template-columns:1fr;}}

/* ---------- FOOTER ---------- */
footer{background:var(--ink);color:var(--ivory);padding:80px 0 50px;}
.foot-top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:50px;padding-bottom:54px;border-bottom:1px solid var(--line-light);}
.foot-brand .wordmark{font-family:var(--display);font-weight:500;font-size:22px;letter-spacing:.34em;color:var(--ivory);}
.foot-brand p{margin-top:18px;color:rgba(245,241,234,.55);font-size:14px;font-weight:300;max-width:300px;}
.foot-col h5{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-light);margin-bottom:18px;font-weight:400;}
.foot-col a,.foot-col p{display:block;color:rgba(245,241,234,.7);font-size:14px;font-weight:300;margin-bottom:12px;transition:color .3s;}
.foot-col a:hover{color:var(--gold-light);}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:28px;flex-wrap:wrap;gap:14px;}
.foot-bottom span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(245,241,234,.4);}
@media(max-width:880px){.foot-top{grid-template-columns:1fr;gap:36px;}}

.note-banner{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);text-align:center;padding:20px;background:var(--greige);}
