@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,300;9..144,400;9..144,600;9..144,700&family=Archivo:wght@400;500;600&display=swap');

/* ARIMA LEISURE LIMITED — leisure & hospitality development
   Architecture: fixed left rail + numbered editorial index
   Type: Fraunces (display) / Archivo (text)
   ONE hairline system: 1px solid var(--rule) everywhere. No exceptions. */

:root{
  --ink:#101f1a;
  --ink-2:#1b3129;
  --ink-3:#2f4a40;
  --paper:#f5f2ea;
  --paper-2:#ebe6d9;
  --paper-3:#ded7c5;
  --brass:#9d6f38;
  --brass-2:#c0954f;
  --rule:rgba(16,31,26,.16);
  --rule-strong:rgba(16,31,26,.34);
  --rule-inv:rgba(245,242,234,.20);
  --display:'Fraunces',Georgia,'Times New Roman',serif;
  --text:'Archivo','Helvetica Neue',Helvetica,sans-serif;
  --rail:250px;
  --pad:clamp(20px,4.2vw,70px);
  --ease:cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
html,body{background:var(--paper);}
body{
  margin:0;font-family:var(--text);color:var(--ink);
  font-size:16.5px;line-height:1.62;font-weight:400;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{margin:0;font-family:var(--display);font-weight:400;letter-spacing:-.02em;line-height:1.04}
p{margin:0 0 1.15em}
p:last-child{margin-bottom:0}

::selection{background:var(--ink);color:var(--paper)}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px}

.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--paper);padding:12px 18px;z-index:200}
.skip:focus{left:8px;top:8px}

/* ---------- fixed left rail ---------- */
.rail{
  position:fixed;inset:0 auto 0 0;width:var(--rail);z-index:60;
  background:var(--ink);color:var(--paper);
  display:flex;flex-direction:column;
  border-right:1px solid var(--ink);
}
.rail__brand{padding:30px 26px 22px;border-bottom:1px solid var(--rule-inv)}
.rail__mark{display:flex;align-items:center;gap:11px}
.rail__mark svg{flex:none}
.rail__name{font-family:var(--display);font-size:20px;letter-spacing:-.025em;line-height:1;font-weight:600}
.rail__sub{
  margin-top:9px;font-size:9.5px;letter-spacing:.20em;text-transform:uppercase;
  color:var(--brass-2);font-weight:500;
}
.rail__nav{padding:20px 0;flex:1;overflow-y:auto}
.rail__nav a{
  display:flex;align-items:baseline;gap:12px;
  padding:11px 26px;font-size:14px;letter-spacing:.005em;
  color:rgba(245,242,234,.72);
  transition:color .3s var(--ease),background .3s var(--ease);
}
.rail__nav a span{
  font-family:var(--display);font-size:10.5px;color:var(--brass);
  min-width:17px;font-weight:600;letter-spacing:.04em;
}
.rail__nav a:hover,.rail__nav a[aria-current="page"]{color:var(--paper);background:rgba(245,242,234,.055)}
.rail__nav a[aria-current="page"] span{color:var(--brass-2)}
.rail__foot{padding:22px 26px 26px;border-top:1px solid var(--rule-inv);font-size:12.5px;line-height:1.6;color:rgba(245,242,234,.62)}
.rail__foot a{color:var(--paper);border-bottom:1px solid var(--rule-inv);transition:border-color .3s var(--ease)}
.rail__foot a:hover{border-color:var(--brass-2)}
.rail__est{font-family:var(--display);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-2);margin-bottom:8px}

/* ---------- mobile bar ---------- */
.mbar{
  display:none;position:fixed;top:0;left:0;right:0;z-index:70;
  background:var(--ink);color:var(--paper);
  padding:13px 16px;align-items:center;justify-content:space-between;
  border-bottom:1px solid var(--rule-inv);
}
.mbar__name{font-family:var(--display);font-size:17px;font-weight:600;letter-spacing:-.02em}
.mbar__row{display:flex;align-items:center;gap:10px}
.burger{
  appearance:none;background:transparent;border:1px solid var(--rule-inv);
  width:42px;height:38px;display:grid;place-items:center;cursor:pointer;padding:0;color:var(--paper);
}
.burger svg{width:19px;height:19px;flex:none}
.mnav{
  display:none;position:fixed;inset:64px 0 0 0;z-index:69;
  background:var(--ink);padding:8px 0 30px;overflow-y:auto;
}
.mnav.is-open{display:block}
.mnav a{
  display:flex;align-items:baseline;gap:13px;padding:15px 20px;
  color:rgba(245,242,234,.82);font-size:16px;border-bottom:1px solid var(--rule-inv);
}
.mnav a span{font-family:var(--display);font-size:11px;color:var(--brass);min-width:18px}

/* ---------- shell ---------- */
.shell{margin-left:var(--rail);min-height:100vh;display:flex;flex-direction:column}
main{flex:1}
.wrap{padding-left:var(--pad);padding-right:var(--pad);max-width:1220px}

/* ---------- section scaffold ---------- */
.sec{padding:clamp(58px,7.5vw,110px) 0;border-bottom:1px solid var(--rule)}
.sec:last-of-type{border-bottom:0}
.sechead{display:flex;align-items:baseline;gap:16px;margin-bottom:clamp(26px,3.4vw,48px)}
.num{
  font-family:var(--display);font-size:12px;font-weight:600;letter-spacing:.14em;
  color:var(--brass);flex:none;padding-top:.35em;
}
.sechead h2{font-size:clamp(27px,3.9vw,46px);max-width:19ch}
.lede{font-size:clamp(17px,1.55vw,20.5px);line-height:1.56;max-width:60ch;color:var(--ink-2)}

/* ---------- hero ---------- */
.hero{position:relative;padding:clamp(64px,9vw,132px) 0 clamp(50px,6vw,86px);overflow:hidden;border-bottom:1px solid var(--rule)}
.hero__grid{position:absolute;inset:0;width:100%;height:100%;opacity:.5;pointer-events:none}
.hero__inner{position:relative;z-index:2}
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;
  color:var(--ink-3);margin-bottom:clamp(20px,2.4vw,30px);
}
.eyebrow::before{content:"";width:34px;height:1px;background:var(--brass);display:block}
.hero h1{
  font-size:clamp(38px,7.1vw,88px);line-height:.98;letter-spacing:-.035em;
  max-width:15ch;font-weight:400;
}
.hero h1 em{font-style:italic;color:var(--brass);font-weight:300}
.hero__lede{margin-top:clamp(24px,2.8vw,36px);max-width:52ch;font-size:clamp(16.5px,1.5vw,19.5px);line-height:1.58;color:var(--ink-2)}
.hero__meta{
  margin-top:clamp(34px,4.4vw,58px);padding-top:22px;border-top:1px solid var(--rule);
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;max-width:640px;
}
.hero__meta div{font-size:13px;color:var(--ink-3);line-height:1.45}
.hero__meta b{
  display:block;font-family:var(--display);font-size:clamp(19px,2.2vw,26px);
  color:var(--ink);font-weight:600;letter-spacing:-.02em;margin-bottom:4px;
}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:14px 22px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);
  font-family:var(--text);font-size:13.5px;font-weight:500;letter-spacing:.02em;cursor:pointer;
  transition:background .3s var(--ease),color .3s var(--ease),gap .3s var(--ease);
}
.btn svg{flex:none;width:14px;height:14px}
.btn:hover{background:transparent;color:var(--ink);gap:15px}
.btn--ghost{background:transparent;color:var(--ink)}
.btn--ghost:hover{background:var(--ink);color:var(--paper)}
.btnrow{display:flex;flex-wrap:wrap;gap:12px;margin-top:clamp(26px,3vw,38px)}

/* ---------- two-column editorial ---------- */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:clamp(26px,4.4vw,74px);align-items:start}
.split__aside{font-size:13.5px;line-height:1.6;color:var(--ink-3)}
.split__aside dt{font-family:var(--display);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--brass);margin-bottom:5px}
.split__aside dd{margin:0 0 18px;padding-bottom:18px;border-bottom:1px solid var(--rule)}
.split__aside dd:last-child{margin-bottom:0;padding-bottom:0;border-bottom:0}
.prose{font-size:16.5px;line-height:1.68;color:var(--ink-2);max-width:64ch}
.prose h3{font-size:clamp(20px,2.2vw,26px);margin:1.9em 0 .55em;color:var(--ink)}
.prose h3:first-child{margin-top:0}
.prose strong{font-weight:600;color:var(--ink)}

/* ---------- capability rows ---------- */
.rows{border-top:1px solid var(--rule)}
.row{
  display:grid;grid-template-columns:56px minmax(0,1fr) minmax(0,1.3fr);
  gap:clamp(14px,2.4vw,34px);align-items:start;
  padding:clamp(22px,2.7vw,34px) 0;border-bottom:1px solid var(--rule);
  transition:background .35s var(--ease),padding-left .35s var(--ease);
}
.row:hover{background:var(--paper-2);padding-left:14px}
.row__n{font-family:var(--display);font-size:12px;font-weight:600;color:var(--brass);letter-spacing:.1em;padding-top:.45em}
.row__t{font-family:var(--display);font-size:clamp(19px,2.05vw,25px);letter-spacing:-.02em;line-height:1.16}
.row__d{font-size:15px;line-height:1.62;color:var(--ink-3)}

/* ---------- sector cards ---------- */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(232px,1fr));gap:0;border-top:1px solid var(--rule);border-left:1px solid var(--rule)}
.card{
  padding:clamp(24px,2.7vw,34px);border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);
  transition:background .35s var(--ease);position:relative;
}
.card:hover{background:var(--paper-2)}
.card__ico{width:34px;height:34px;margin-bottom:20px;color:var(--brass)}
.card__ico svg{width:34px;height:34px;display:block}
.card h3{font-size:clamp(18px,1.85vw,21.5px);margin-bottom:9px;letter-spacing:-.02em}
.card p{font-size:14.5px;line-height:1.6;color:var(--ink-3);margin:0}

/* ---------- process ---------- */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:clamp(18px,2.4vw,30px)}
.step{padding-top:20px;border-top:1px solid var(--rule-strong)}
.step b{display:block;font-family:var(--display);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--brass);margin-bottom:12px;font-weight:600}
.step h3{font-size:clamp(18px,1.8vw,21px);margin-bottom:9px}
.step p{font-size:14.5px;line-height:1.6;color:var(--ink-3);margin:0}

/* ---------- dark band ---------- */
.band{background:var(--ink);color:var(--paper);border-bottom:1px solid var(--ink)}
.band .sechead h2{color:var(--paper)}
.band .lede{color:rgba(245,242,234,.76)}
.band .num{color:var(--brass-2)}
.band .btn{border-color:var(--paper);background:var(--paper);color:var(--ink)}
.band .btn:hover{background:transparent;color:var(--paper)}

/* ---------- contact ---------- */
.contact{display:grid;grid-template-columns:repeat(auto-fit,minmax(238px,1fr));gap:0;border-top:1px solid var(--rule);border-left:1px solid var(--rule)}
.contact > div{padding:clamp(22px,2.6vw,32px);border-right:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.contact dt{font-family:var(--display);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--brass);margin-bottom:10px;font-weight:600}
.contact dd{margin:0;font-size:15px;line-height:1.6;color:var(--ink-2)}
.contact dd a{border-bottom:1px solid var(--rule-strong);transition:border-color .3s var(--ease)}
.contact dd a:hover{border-color:var(--brass)}

/* ---------- footer ---------- */
.foot{background:var(--ink);color:rgba(245,242,234,.68);padding:clamp(40px,5vw,64px) 0 30px;font-size:13.5px}
.foot__top{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,3.4vw,50px);padding-bottom:32px;border-bottom:1px solid var(--rule-inv)}
.foot h4{font-family:var(--display);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--brass-2);margin-bottom:14px;font-weight:600}
.foot a{color:rgba(245,242,234,.82);transition:color .3s var(--ease)}
.foot a:hover{color:var(--paper)}
.foot ul{list-style:none;margin:0;padding:0}
.foot li{margin-bottom:8px}
.foot__name{font-family:var(--display);font-size:21px;color:var(--paper);letter-spacing:-.025em;margin-bottom:12px;font-weight:600}
.foot__legal{padding-top:24px;font-size:12.5px;line-height:1.7;color:rgba(245,242,234,.52)}
.foot__legal p{margin-bottom:.6em}
.foot__bar{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:16px}

/* ---------- consent ---------- */
.cc{
  position:fixed;left:0;right:0;bottom:0;z-index:120;
  background:var(--ink);color:var(--paper);border-top:1px solid var(--brass);
  padding:20px var(--pad);transform:translateY(102%);
  transition:transform .5s var(--ease);
}
.cc.is-up{transform:translateY(0)}
.cc__in{display:flex;flex-wrap:wrap;align-items:center;gap:18px;justify-content:space-between;max-width:1220px}
.cc__tx{font-size:13.5px;line-height:1.58;max-width:66ch;color:rgba(245,242,234,.84)}
.cc__tx a{color:var(--brass-2);border-bottom:1px solid var(--rule-inv)}
.cc__bt{display:flex;gap:10px;flex-wrap:wrap}
.cc__bt button{
  appearance:none;cursor:pointer;font-family:var(--text);font-size:13px;font-weight:500;
  padding:11px 20px;border:1px solid var(--paper);background:transparent;color:var(--paper);
  transition:background .3s var(--ease),color .3s var(--ease);
}
.cc__bt button:hover{background:var(--paper);color:var(--ink)}
.cc__bt button.is-primary{background:var(--paper);color:var(--ink)}
.cc__bt button.is-primary:hover{background:var(--brass-2);border-color:var(--brass-2);color:var(--ink)}

/* ---------- legal pages ---------- */
.legal{max-width:74ch}
.legal h2{font-size:clamp(21px,2.3vw,27px);margin:2em 0 .6em}
.legal h2:first-child{margin-top:0}
.legal h3{font-family:var(--display);font-size:18px;margin:1.6em 0 .5em}
.legal ul{padding-left:20px;margin:0 0 1.15em}
.legal li{margin-bottom:.45em}
.legal table{width:100%;border-collapse:collapse;margin:0 0 1.3em;font-size:14.5px}
.legal th,.legal td{text-align:left;padding:11px 13px;border:1px solid var(--rule);vertical-align:top}
.legal th{background:var(--paper-2);font-weight:600;font-family:var(--text)}
.tablewrap{overflow-x:auto;margin-bottom:1.3em}

/* ---------- reveal ---------- */
.rv{opacity:0;transform:translateY(20px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.rv.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;transition-duration:.001ms!important}
  html{scroll-behavior:auto}
  .rv{opacity:1;transform:none}
}

/* ---------- responsive ---------- */
@media (max-width:1000px){
  .split{grid-template-columns:1fr}
  .row{grid-template-columns:40px minmax(0,1fr);row-gap:8px}
  .row__d{grid-column:2}
  .foot__top{grid-template-columns:1fr 1fr}
}
@media (max-width:820px){
  :root{--rail:0px}
  .rail{display:none}
  .mbar{display:flex}
  .shell{margin-left:0;padding-top:64px}
  .hero__meta{grid-template-columns:1fr 1fr;gap:16px}
  .foot__top{grid-template-columns:1fr;gap:26px}
  .cc__in{gap:14px}
  .cc__bt{width:100%}
  .cc__bt button{flex:1}
}
@media (max-width:480px){
  body{font-size:16px}
  .hero__meta{grid-template-columns:1fr}
  .cards{grid-template-columns:1fr}
}
