/* ============================================================
   ORA — shared design system
   Palette: parchment cream · espresso · dark leaf green · navy
   Type: Instrument Serif (display serif) + Inter Tight (grotesque sans)
   ============================================================ */
:root{
  --paper:#E8E1D0; --paper2:#DFD7C3; --paper3:#D5CBB4;
  --espresso:#2A211A; --espresso-soft:#3A2E23;
  --leaf:#2C3623; --leaf2:#39472E;
  --gold:#27304F; --gold-soft:#9FB0D2;
  --cream:#EDE7D9; --ink:#2A211A; --line:rgba(42,33,26,.16); --line-cream:rgba(237,231,217,.22);
  --serif:'Cormorant Garamond','Instrument Serif',Georgia,serif;
  --sans:'Inter Tight',system-ui,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:300;line-height:1.7;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.wrap{max-width:1280px;margin:0 auto;padding:0 48px}
.wrap-narrow{max-width:980px;margin:0 auto;padding:0 48px}
.eyebrow{text-transform:uppercase;letter-spacing:.42em;font-size:10.5px;font-weight:500}
.serif{font-family:var(--serif)}
.gold{color:var(--gold)}

/* reveals */
.reveal{opacity:0;transform:translateY(34px);transition:opacity 1.2s cubic-bezier(.2,.7,.2,1),transform 1.2s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
.d1{transition-delay:.12s}.d2{transition-delay:.24s}.d3{transition-delay:.36s}
/* GREENSWARD-style image transition: clip + scale in */
.img-reveal{overflow:hidden}
.img-reveal img{clip-path:inset(0 0 100% 0);transform:scale(1.14);transition:clip-path 1.4s cubic-bezier(.16,1,.3,1),transform 1.8s cubic-bezier(.16,1,.3,1)}
.img-reveal.in img{clip-path:inset(0 0 0 0);transform:scale(1)}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:60;display:flex;align-items:center;justify-content:space-between;
  padding:26px 48px;transition:background .5s,padding .5s}
nav.scrolled,nav.solid{background:rgba(44,54,35,.95);backdrop-filter:blur(10px);padding:15px 48px}
nav .logo{height:40px;transition:height .5s}
nav.scrolled .logo,nav.solid .logo{height:32px}
nav .links{display:flex;gap:38px;align-items:center}
nav .links a{color:var(--cream);font-size:11px;letter-spacing:.24em;text-transform:uppercase;font-weight:400;opacity:.82;transition:opacity .25s}
nav .links a:hover,nav .links a.active{opacity:1}
nav .links a.active{border-bottom:1px solid var(--gold);padding-bottom:3px}
nav .apply{border:1px solid rgba(237,231,217,.45);padding:10px 22px;border-radius:2px;opacity:1}
nav .apply:hover{background:var(--cream);color:var(--leaf)!important}
.menu-btn{display:none;background:none;border:none;color:var(--cream);font-size:22px;cursor:pointer}

/* HERO (full-bleed) */
.hero{position:relative;height:100vh;min-height:640px;display:flex;align-items:flex-end;overflow:hidden;color:var(--cream)}
.hero.center{align-items:center;text-align:center}
.hero video,.hero .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(44,54,35,.45) 0%,rgba(42,33,26,.15) 45%,rgba(42,33,26,.78) 100%)}
.hero .inner{position:relative;z-index:2;width:100%;padding:0 48px 8vh}
.hero.center .inner{padding:0 48px}
.hero .corner{position:absolute;top:120px;z-index:2;font-size:10px;letter-spacing:.34em;text-transform:uppercase;opacity:.7;line-height:1.9}
.hero .corner.l{left:48px}.hero .corner.r{right:48px;text-align:right}
.hero .eyebrow{color:var(--gold);margin-bottom:22px}
.hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(48px,9vw,128px);line-height:.95;letter-spacing:-.01em;max-width:15ch}
.hero.center h1{margin:0 auto;max-width:16ch}
.hero h1 em{font-style:italic}
.hero .tag{margin-top:24px;font-size:13px;letter-spacing:.36em;text-transform:uppercase;opacity:.9}
.scrolldown{position:absolute;right:48px;bottom:7vh;z-index:2;color:var(--cream);font-size:10px;letter-spacing:.34em;text-transform:uppercase;opacity:.8;writing-mode:vertical-rl}
.scrolldown::after{content:"";display:block;width:1px;height:50px;background:var(--gold);margin:14px auto 0}

/* big editorial statement (GREENSWARD) */
.statement{padding:clamp(120px,18vh,210px) 0;text-align:center}
.statement.dark{background:var(--espresso);color:var(--cream)}
.statement.leaf{background:var(--leaf);color:var(--cream)}
.statement .anno{display:inline-block;margin-bottom:30px}
.statement .anno .eyebrow{color:var(--gold)}
.statement h2{font-family:var(--serif);font-weight:500;font-size:clamp(34px,5.6vw,82px);line-height:1.08;max-width:18ch;margin:0 auto;letter-spacing:-.01em}
.statement h2 em{font-style:italic}
.statement .sub{max-width:600px;margin:34px auto 0;font-size:16px;opacity:.82}

/* annotation block (small label + sentence, GREENSWARD) */
.annoblock{max-width:420px}
.annoblock .eyebrow{color:var(--gold);display:block;margin-bottom:14px}
.annoblock p{font-size:15px;opacity:.8}

/* full-bleed image band */
.band{position:relative;height:78vh;min-height:480px;overflow:hidden}
.band img{width:100%;height:100%;object-fit:cover}
.band .cap{position:absolute;left:48px;bottom:44px;z-index:2;color:var(--cream);max-width:520px}
.band::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(42,33,26,.05),rgba(42,33,26,.55))}
.band .cap .eyebrow{color:var(--gold-soft)}
.band .cap h3{font-family:var(--serif);font-weight:500;font-size:clamp(28px,4vw,52px);margin-top:10px;line-height:1.04}

/* editorial split row */
.erow{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,110px);align-items:center}
.erow.flip .media{order:2}
.erow .media{aspect-ratio:4/5}
.erow .media.tall{aspect-ratio:3/4}
.erow .media img{width:100%;height:100%;object-fit:cover}
.erow .copy .num{font-family:var(--serif);font-style:italic;font-size:20px;color:var(--gold)}
.erow .copy .k{font-family:var(--sans);font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}
.erow .copy h3{font-family:var(--serif);font-weight:500;font-size:clamp(30px,4vw,54px);line-height:1.04;margin:14px 0 18px}
.erow .copy p{font-size:16px;opacity:.82;max-width:460px}

.section{padding:clamp(90px,13vh,150px) 0}
.shead{text-align:center;margin-bottom:84px}
.shead .eyebrow{color:var(--gold)}
.shead h2{font-family:var(--serif);font-weight:500;font-size:clamp(36px,5.5vw,76px);margin-top:18px;line-height:1.02}

/* buttons & links */
.btn{display:inline-block;background:var(--gold);color:var(--cream);padding:17px 40px;border-radius:2px;font-size:11px;letter-spacing:.28em;text-transform:uppercase;font-weight:500;transition:transform .25s,filter .25s}
.btn:hover{transform:translateY(-2px);filter:brightness(1.08)}
.btn.ghost{background:transparent;border:1px solid var(--gold);color:var(--gold)}
.btn.ghost:hover{background:var(--gold);color:var(--cream)}
.linklink{display:inline-block;margin-top:26px;font-size:11px;letter-spacing:.26em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:6px}

/* grid of cards */
.cardgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.gcard{position:relative;overflow:hidden;aspect-ratio:3/4;color:var(--cream)}
.gcard img{width:100%;height:100%;object-fit:cover;transition:transform 1.3s ease}
.gcard:hover img{transform:scale(1.06)}
.gcard::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(42,33,26,0) 38%,rgba(42,33,26,.82) 100%)}
.gcard .cap{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:30px}
.gcard .cap .k{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-soft)}
.gcard .cap h3{font-family:var(--serif);font-weight:500;font-size:28px;margin-top:8px;line-height:1.05}

/* quote */
.quote{padding:clamp(110px,16vh,180px) 0;text-align:center;background:var(--paper2)}
.quote blockquote{font-family:var(--serif);font-weight:500;font-style:italic;font-size:clamp(30px,5.2vw,68px);line-height:1.14;max-width:1040px;margin:0 auto;letter-spacing:-.01em}
.quote .by{margin-top:36px;color:var(--gold)}

/* strip */
.strip{display:grid;grid-template-columns:repeat(4,1fr)}
.strip img{width:100%;height:340px;object-fit:cover}

/* CTA */
.cta{position:relative;color:var(--cream);text-align:center;padding:clamp(120px,18vh,200px) 0;overflow:hidden}
.cta img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.cta::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(44,54,35,.7),rgba(42,33,26,.78));z-index:1}
.cta .inner{position:relative;z-index:2}
.cta .eyebrow{color:var(--gold)}
.cta h2{font-family:var(--serif);font-weight:500;font-size:clamp(42px,7vw,92px);line-height:1;margin:18px 0 16px}
.cta p{max-width:540px;margin:0 auto 40px;opacity:.88;font-size:16px}

/* FOOTER */
footer{background:var(--espresso);color:var(--cream);padding:84px 0 40px}
footer .ftop{display:flex;justify-content:space-between;align-items:flex-start;gap:50px;flex-wrap:wrap;border-bottom:1px solid var(--line-cream);padding-bottom:44px}
footer .flogo{height:50px;margin-bottom:18px}
footer .col h4{font-size:10.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:18px}
footer .col a{display:block;opacity:.85;margin-bottom:11px;font-size:14px}
footer .fbottom{display:flex;justify-content:space-between;margin-top:28px;font-size:11.5px;opacity:.55;flex-wrap:wrap;gap:10px;letter-spacing:.04em}

@media(max-width:920px){
  .wrap,.wrap-narrow{padding:0 26px}
  nav{padding:18px 26px}
  nav .links{display:none}
  .menu-btn{display:block}
  .hero .inner{padding:0 26px 10vh}
  .hero .corner{display:none}
  .erow{grid-template-columns:1fr;gap:32px}
  .erow.flip .media{order:0}
  .cardgrid{grid-template-columns:1fr}
  .strip{grid-template-columns:repeat(2,1fr)}
  .band .cap{left:26px;right:26px}
}

/* gallery masonry (event pages) */
.gallery{padding:clamp(60px,9vh,120px) 0}
.masonry{column-count:3;column-gap:18px}
.masonry .cell{break-inside:avoid;margin:0 0 18px;overflow:hidden}
.masonry .cell img{width:100%;height:auto;display:block;transition:transform 1.2s ease}
.masonry .cell:hover img{transform:scale(1.04)}
.backlink{display:inline-flex;gap:10px;align-items:center;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
@media(max-width:920px){.masonry{column-count:2;column-gap:12px}.masonry .cell{margin-bottom:12px}}
@media(max-width:560px){.masonry{column-count:1}}

/* even uniform grid (for galleries of same-ratio images) */
.evengrid{column-count:unset!important;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.evengrid .cell{margin:0;break-inside:auto}

/* ===== mobile pass ===== */
@media(max-width:920px){
  nav{position:fixed}
  nav .links{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:flex-start;
    background:rgba(44,54,35,.985);backdrop-filter:blur(10px);padding:22px 26px 28px;gap:20px;border-top:1px solid var(--line-cream)}
  nav .links a{font-size:13px;opacity:.95}
  nav .links a.active{border-bottom:none}
  nav .apply{align-self:flex-start}
  .hero{min-height:560px}
  .hero h1{font-size:clamp(34px,8.4vw,58px);max-width:none}
  .hero .tag{font-size:11px}
  .statement{padding:80px 0}
  .statement h2{font-size:clamp(27px,6.6vw,40px);max-width:22ch}
  .statement .sub{font-size:15px}
  .shead{margin-bottom:46px}
  .shead h2{font-size:clamp(30px,7.6vw,46px)}
  .band{height:58vh;min-height:340px}
  .band .cap h3{font-size:clamp(23px,6vw,34px)}
  .quote{padding:90px 0}
  .quote blockquote{font-size:clamp(25px,6.6vw,40px)}
  .cta h2{font-size:clamp(34px,8.6vw,56px)}
  .evengrid{grid-template-columns:repeat(2,1fr);gap:12px}
  .feature li{flex-wrap:wrap;gap:2px 12px}
  .strip img{height:240px}
}
@media(max-width:560px){
  .wrap,.wrap-narrow{padding:0 20px}
  .hero .inner{padding:0 20px 13vh}
  .hero h1{font-size:clamp(32px,9.5vw,46px)}
  .evengrid{grid-template-columns:1fr}
  .strip{grid-template-columns:repeat(2,1fr)}
  .vgrid{grid-template-columns:1fr}
}

/* circular gallery — the "circle" feeling (non-cover photos) */
.circles{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:clamp(22px,3vw,44px);align-items:start;padding-top:10px}
.circles .cell{aspect-ratio:1/1;border-radius:50%;overflow:hidden}
.circles .cell img{width:100%;height:100%;object-fit:cover;object-position:center}
.circles .cell:nth-child(3n-1){transform:translateY(34px)}
@media(max-width:920px){
  .circles{grid-template-columns:repeat(2,1fr);gap:18px}
  .circles .cell:nth-child(3n-1){transform:none}
  .circles .cell:nth-child(even){transform:translateY(24px)}
}
@media(max-width:480px){
  .circles .cell:nth-child(even){transform:translateY(18px)}
}


/* circle gallery — hover ring + zoom (keeps the staggered layout above) */
.circles .cell{position:relative}
.circles .cell img{transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.circles .cell:hover img{transform:scale(1.06)}
.circles .cell::after{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(42,33,26,.12);transition:box-shadow .45s;pointer-events:none}
.circles .cell:hover::after{box-shadow:inset 0 0 0 2px var(--gold)}

/* circular media inside editorial split rows */
.erow .media.circle{aspect-ratio:1/1;border-radius:50%;max-width:470px;width:100%;margin:0 auto;overflow:hidden;position:relative}
.erow .media.circle img{width:100%;height:100%;object-fit:cover}
.erow .media.circle::after{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(42,33,26,.14);pointer-events:none}

/* typography polish — tighter editorial display (GREENSWARD) */
.hero h1,.statement h2,.cta h2,.shead h2,.quote blockquote,.band .cap h3{letter-spacing:-.018em}

/* navy accent (was gold) — keep small labels legible on dark grounds */
body .hero .eyebrow,
body .feature .eyebrow,
body .feature .eyebrow.gold,
body .feature .fwhen,
body .feature li span,
body .cta .eyebrow,
body .statement.leaf .anno .eyebrow,
body .statement.dark .anno .eyebrow,
body .statement.leaf .eyebrow,
body .pill .n,
body .pillars .head .eyebrow,
body .dgrid .dt .k,
body .incl .k.gold,
body .leaders .ld .ro{color:var(--gold-soft)}
body nav .links a.active{border-bottom-color:var(--gold-soft)}
