/* AVORI — website styles. Palette and type from the AVORI Brand Book (Tulu Design Studio, 2026). */
:root{
  --warm-ivory:#F7F2E9;
  --limestone:#D9D1C4;
  --parchment:#E9DECD;
  --oat:#D9CDB9;
  --soft-taupe:#918171;
  --sand:#C7B398;
  --bronze:#77675A;
  --ink:#2E2A25;
  --body:#4A433C;
  --deep:#5E5248;
  --head:'Tenor Sans',Georgia,serif;
  --sans:'Montserrat',Helvetica,Arial,sans-serif;
  --wrap:1280px;
  --gutter:24px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--warm-ivory);color:var(--ink);font-family:var(--sans);font-weight:300;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--bronze)}
a:hover{color:#4F433A}
:focus-visible{outline:2px solid var(--bronze);outline-offset:3px}
.skip{position:absolute;left:-9999px;top:0;background:var(--bronze);color:var(--warm-ivory);padding:12px 18px;z-index:100}
.skip:focus{left:12px;top:12px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}

/* Type */
.label{font-family:var(--sans);font-weight:500;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--bronze);margin:0}
.h2{font-family:var(--head);font-weight:400;font-size:clamp(32px,4.2vw,56px);line-height:1.12;letter-spacing:.01em;color:var(--ink);margin:0}
.body{font-family:var(--sans);font-weight:300;font-size:18px;line-height:1.65;color:var(--body);margin:0}
.quote{font-family:var(--head);font-size:clamp(20px,2vw,26px);line-height:1.4;color:var(--bronze);margin:0}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 32px;font-family:var(--sans);font-weight:400;font-size:13px;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.btn--bronze{background:var(--bronze);color:var(--warm-ivory)}
.btn--bronze:hover{background:#5E5248;color:var(--warm-ivory)}
.btn--ivory{background:var(--warm-ivory);color:var(--ink)}
.btn--ivory:hover{background:var(--parchment);color:var(--ink)}
.btn--ghost{border-color:var(--parchment);color:var(--warm-ivory)}
.btn--ghost:hover{background:rgba(247,242,233,.12);color:var(--warm-ivory)}

/* Header */
.header{position:sticky;top:0;z-index:50;background:rgba(247,242,233,.95);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--limestone)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px}
.nav__logo{display:block;line-height:0}
.nav__logo img{width:132px;height:auto}
.nav__links{display:flex;align-items:center;gap:32px;margin:0;padding:0;list-style:none}
.nav__links a:not(.btn){font-size:13px;font-weight:400;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;padding:12px 0;color:var(--bronze)}
.nav__links .btn{min-height:44px;padding:0 24px}
.nav__toggle{display:none;background:none;border:0;width:44px;height:44px;padding:10px;cursor:pointer;color:var(--bronze)}
.nav__toggle svg{width:24px;height:24px}
@media (max-width:900px){
  .nav__toggle{display:block}
  .nav__links{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;background:var(--warm-ivory);border-bottom:1px solid var(--limestone);padding:8px var(--gutter) 24px}
  .nav__links.is-open{display:flex}
  .nav__links a:not(.btn){display:block;padding:16px 0;border-bottom:1px solid var(--limestone)}
  .nav__links li:last-child{margin-top:20px}
  .nav__links .btn{width:100%}
}

/* Hero */
.hero{position:relative;min-height:min(86vh,820px);display:flex;align-items:flex-end;overflow:hidden;background:var(--ink)}
.hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%}
.hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(30,26,22,.74) 0%,rgba(30,26,22,.46) 45%,rgba(30,26,22,.06) 82%)}
.hero__inner{position:relative;width:100%;padding-top:120px;padding-bottom:96px;display:flex;flex-direction:column;gap:28px}
.hero h1{font-family:var(--head);font-weight:400;font-size:clamp(36px,5.4vw,76px);line-height:1.08;letter-spacing:.02em;text-transform:uppercase;color:var(--warm-ivory);margin:0;max-width:820px}
.hero__sub{font-family:var(--head);font-size:clamp(19px,1.8vw,24px);line-height:1.45;color:var(--parchment);margin:0;max-width:560px}
.hero .label{color:var(--parchment)}
.hero__ctas{display:flex;flex-wrap:wrap;gap:16px;margin-top:12px}
@media (max-width:700px){.hero__shade{background:linear-gradient(0deg,rgba(30,26,22,.82) 0%,rgba(30,26,22,.5) 60%,rgba(30,26,22,.2) 100%)}}

/* Split sections */
.split{display:flex;flex-wrap:wrap}
.split--rev{flex-wrap:wrap-reverse}
.split__text{flex:1 1 520px;min-width:0;padding:clamp(64px,8vw,128px) clamp(24px,6vw,96px);display:flex;flex-direction:column;justify-content:center;gap:32px}
.split__media{flex:1 1 440px;min-width:0;min-height:520px;position:relative}
.split__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.stack{display:flex;flex-direction:column;gap:24px}

/* Rows (from → to, positioning) */
.rows{display:flex;flex-direction:column}
.row{display:flex;flex-wrap:wrap;gap:8px 32px;padding:22px 0;border-top:1px solid var(--limestone)}
.row:last-child{border-bottom:1px solid var(--limestone)}
.row .label{flex:0 0 200px;padding-top:5px}
.row .body{flex:1 1 260px}

/* Band sections */
.band{padding:clamp(72px,9vw,136px) 0}
.band--parchment{background:var(--parchment)}
.band--oat{background:var(--oat)}
.cols{display:flex;flex-wrap:wrap;gap:56px 80px;align-items:center}
.cols--rev{flex-wrap:wrap-reverse}
.col{flex:1 1 440px;min-width:0;display:flex;flex-direction:column;gap:32px}
.col img.tall{width:100%;height:clamp(380px,48vw,600px);object-fit:cover}
.feel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 32px}
.feel .body{font-size:17px}
@media (max-width:520px){.feel{grid-template-columns:1fr}}
.rule{border-top:1px solid var(--sand);padding-top:28px;display:flex;flex-direction:column;gap:14px}

/* Pillars */
.pillars{background:var(--bronze);color:var(--warm-ivory);padding:clamp(72px,9vw,136px) 0}
.pillars .label{color:var(--parchment)}
.pillars .h2{color:var(--warm-ivory)}
.pillars__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:64px}
.pillars__head .body{color:var(--parchment);flex:0 1 420px}
.pillars__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--soft-taupe);border:1px solid var(--soft-taupe);margin:0;padding:0;list-style:none}
.pillar{background:var(--bronze);padding:36px 28px;min-height:190px;display:flex;flex-direction:column;justify-content:space-between;gap:32px}
@media (max-width:980px){.pillars__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.pillars__grid{grid-template-columns:1fr}.pillar{min-height:150px}}
.pillar__num{font-family:var(--head);font-size:18px;color:var(--oat)}
.pillar h3{font-family:var(--head);font-weight:400;font-size:23px;line-height:1.3;margin:0;color:var(--warm-ivory)}
.pillar--cta{background:var(--parchment)}
.pillar--cta img{width:56px;height:auto}
.pillar--cta a{font-size:13px;font-weight:400;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);padding:12px 0}

/* Mission */
.mission{position:relative;overflow:hidden;background:var(--ink)}
.mission > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mission__shade{position:absolute;inset:0;background:rgba(30,26,22,.68)}
.mission__inner{position:relative;padding-top:clamp(88px,10vw,160px);padding-bottom:clamp(88px,10vw,160px);display:flex;flex-wrap:wrap;gap:56px 96px}
.mission__col{flex:1 1 400px;min-width:0;display:flex;flex-direction:column;gap:20px}
.mission .label{color:var(--oat)}
.mission__col p:not(.label){font-family:var(--head);font-size:clamp(23px,2.4vw,32px);line-height:1.35;color:var(--warm-ivory);margin:0}

/* Enquire */
.enquire{padding:clamp(72px,9vw,136px) 0}
.enquire__grid{display:flex;flex-wrap:wrap;gap:56px 96px}
.enquire__intro{flex:1 1 400px;min-width:0;display:flex;flex-direction:column;gap:28px}
.contact{margin-top:12px;padding-top:28px;border-top:1px solid var(--limestone);display:flex;flex-direction:column;gap:10px;font-style:normal}
.contact .body{font-size:16px}
.form{flex:1 1 480px;min-width:0;display:flex;flex-direction:column;gap:22px;background:var(--parchment);padding:clamp(28px,4vw,48px)}
.form__row{display:flex;flex-wrap:wrap;gap:22px}
.field{flex:1 1 200px;display:flex;flex-direction:column;gap:8px}
.field label{font-size:13px;font-weight:400;letter-spacing:.08em;color:var(--body)}
.field input,.field select,.field textarea{width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--sand);border-radius:0;background:#FDFBF6;font-family:var(--sans);font-weight:300;font-size:16px;color:var(--ink);-webkit-appearance:none;appearance:none}
.field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2377675A' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px}
.field textarea{resize:vertical;min-height:120px}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--bronze);outline:none;box-shadow:0 0 0 1px var(--bronze)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form .btn{align-self:flex-start}
.form__note{margin:0;padding:16px 18px;font-size:15px;line-height:1.5;background:var(--warm-ivory);border:1px solid var(--sand);color:var(--ink)}
.form__note[hidden]{display:none}

/* Footer */
.footer{background:var(--parchment);border-top:1px solid var(--oat);padding:64px 0 40px}
.footer__top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:40px}
.footer__brand{display:flex;flex-direction:column;gap:18px}
.footer__brand img{width:200px;height:auto}
.footer__brand .label{letter-spacing:.3em}
.footer__links{display:flex;flex-wrap:wrap;gap:8px 32px;margin:0;padding:0;list-style:none}
.footer__links a{font-size:14px;font-weight:400;text-decoration:none;padding:12px 0;display:inline-block}
.footer__base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;border-top:1px solid var(--sand);padding-top:24px}
.footer__base p{font-size:13px;color:var(--deep);margin:0}

/* Gentle reveal */
.js .reveal{opacity:0;transform:translateY(16px);transition:opacity .9s ease,transform .9s ease}
.js .reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none;transition:none}}

/* Announcement bar */
.announce{background:var(--ink);color:var(--parchment);text-align:center;padding:10px var(--gutter)}
.announce p{margin:0;font-size:12px;font-weight:400;letter-spacing:.14em;text-transform:uppercase;line-height:1.6}
.announce a{color:var(--warm-ivory);text-underline-offset:3px;white-space:nowrap}
.announce a:hover{color:var(--parchment)}

/* Founding members */
.founding{background:var(--bronze);padding:clamp(72px,9vw,136px) 0}
.founding__grid{display:flex;flex-wrap:wrap;gap:56px 96px;align-items:center}
.founding__intro{flex:1 1 400px;min-width:0;display:flex;flex-direction:column;gap:24px}
.founding__mark{width:64px;height:auto;filter:brightness(0) invert(.93) sepia(.15)}
.founding .label{color:var(--parchment)}
.founding .h2{color:var(--warm-ivory)}
.founding .body{color:var(--parchment)}
.form--founding{background:rgba(247,242,233,.08);border:1px solid var(--soft-taupe)}
.form--founding .field label,.form--founding .check{color:var(--parchment)}
.form--founding .field input,.form--founding .field select{border-color:var(--soft-taupe)}
.check{display:flex;align-items:center;gap:12px;font-size:15px;line-height:1.4;color:var(--body);cursor:pointer;min-height:44px}
.check input{width:20px;height:20px;margin:0;accent-color:var(--ink);flex:0 0 auto}

/* Newsletter */
.newsletter{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px 64px;padding:40px 0;margin-bottom:24px;border-top:1px solid var(--sand)}
.newsletter__text{flex:1 1 320px;display:flex;flex-direction:column;gap:12px;max-width:520px}
.newsletter__text .body{font-size:16px}
.newsletter__form{flex:1 1 380px;display:flex;flex-direction:column;gap:12px;max-width:560px}
.newsletter__row{display:flex;flex-wrap:wrap;gap:12px}
.newsletter__row input{flex:1 1 220px;min-width:0;min-height:48px;padding:12px 14px;border:1px solid var(--sand);border-radius:0;background:#FDFBF6;font-family:var(--sans);font-weight:300;font-size:16px;color:var(--ink);-webkit-appearance:none;appearance:none}
.newsletter__row input:focus{border-color:var(--bronze);outline:none;box-shadow:0 0 0 1px var(--bronze)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media (max-width:980px){.nav__links{gap:24px}}
.form > .field{flex:0 0 auto}
