/* Harrington Capital Investments — shared styles */
:root{
  --navy:#061C46;
  --navy-soft:#22335C;
  --slate:#5A657D;
  --paper:#FAFAF8;
  --paper-dim:#F1F1EC;
  --rule:rgba(6,28,70,.16);
  --rule-strong:rgba(6,28,70,.4);
  --rule-light:rgba(250,250,248,.22);
  --gold:#8E7134;
  --max:1120px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  font-family:'Instrument Sans',-apple-system,'Helvetica Neue',Arial,sans-serif;
  font-size:16px;line-height:1.7;color:var(--navy);
  background:var(--paper);-webkit-font-smoothing:antialiased;
}
h1,h2,h3,.gar{font-family:'EB Garamond',Georgia,serif;font-weight:500;line-height:1.12;letter-spacing:.005em}
a{color:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 28px}
.cap{
  font-family:'EB Garamond',serif;font-variant:small-caps;letter-spacing:.34em;
  font-size:14px;color:var(--slate);text-transform:lowercase;
}
.tlink{
  font-family:'Instrument Sans',sans-serif;font-size:13px;letter-spacing:.16em;text-transform:uppercase;
  text-decoration:none;color:var(--navy);border-bottom:1px solid var(--rule-strong);
  padding-bottom:5px;transition:border-color .2s,color .2s;
}
.tlink:hover{border-color:var(--gold);color:var(--navy)}
.tlink .arr{display:inline-block;transition:transform .25s;margin-left:8px}
.tlink:hover .arr{transform:translateX(4px)}

/* header */
.site-head{background:var(--paper);border-bottom:1px solid var(--rule);position:sticky;top:0;z-index:40}
.site-head .bar{display:flex;align-items:center;justify-content:space-between;height:76px;max-width:var(--max);margin:0 auto;padding:0 28px}
.site-head img{height:34px;width:auto;display:block}
.site-head nav ul{display:flex;gap:34px;list-style:none;align-items:center}
.site-head nav a{
  font-size:12.5px;letter-spacing:.15em;text-transform:uppercase;text-decoration:none;
  color:var(--navy-soft);padding-bottom:4px;border-bottom:1px solid transparent;transition:border-color .2s;
}
.site-head nav a:hover,.site-head nav a[aria-current]{border-color:var(--gold)}
@media(max-width:900px){.site-head nav ul{gap:20px}.site-head nav li.hide-m{display:none}.site-head img{height:28px}}

/* footer */
.site-foot{background:var(--navy);color:rgba(250,250,248,.62)}
.site-foot .inner{max-width:var(--max);margin:0 auto;padding:56px 28px 40px}
.site-foot img{height:40px;width:auto;margin-bottom:26px}
.foot-row{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;border-top:1px solid var(--rule-light);padding-top:24px;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase}
.site-foot a{color:rgba(250,250,248,.75);text-decoration:none;border-bottom:1px solid var(--rule-light)}
.site-foot a:hover{color:#fff}

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

/* ============ index ============ */
.hero{border-bottom:1px solid var(--rule)}
.hero .grid{display:grid;grid-template-columns:1fr 300px;gap:64px;max-width:var(--max);margin:0 auto;padding:110px 28px 96px}
.hero h1{font-size:clamp(38px,5.4vw,66px);max-width:14ch;margin:22px 0 26px}
.hero .lede{font-size:18px;color:var(--slate);max-width:52ch;margin-bottom:44px}
.hero-side{border-left:1px solid var(--rule);padding-left:36px;align-self:center}
.hero-side dl{display:grid;gap:22px}
.hero-side dt{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--slate);margin-bottom:4px}
.hero-side dd{font-family:'EB Garamond',serif;font-size:19px}
@media(max-width:860px){.hero .grid{grid-template-columns:1fr;padding:72px 28px 64px}.hero-side{border-left:none;border-top:1px solid var(--rule);padding:32px 0 0}}

.band{background:var(--navy);color:var(--paper)}
.band .inner{max-width:var(--max);margin:0 auto;padding:64px 28px;display:grid;grid-template-columns:auto 1fr;gap:48px;align-items:center}
.band p{font-family:'EB Garamond',serif;font-size:clamp(20px,2.6vw,27px);line-height:1.5;max-width:34ch;font-style:italic;color:rgba(250,250,248,.92)}
.band img{height:52px;width:auto;opacity:.95}
@media(max-width:760px){.band .inner{grid-template-columns:1fr;gap:28px}}

section.blk{padding:100px 0}
.sec-head{display:grid;grid-template-columns:260px 1fr;gap:56px;margin-bottom:64px}
.sec-head h2{font-size:clamp(30px,3.6vw,44px);max-width:20ch}
@media(max-width:860px){.sec-head{grid-template-columns:1fr;gap:14px}}

.firm-cols{display:grid;grid-template-columns:260px 1fr;gap:56px}
.firm-body{max-width:64ch}
.firm-body p{margin-bottom:22px;color:var(--navy-soft);font-size:16.5px}
.firm-body p:first-child{font-family:'EB Garamond',serif;font-size:23px;line-height:1.45;color:var(--navy)}
@media(max-width:860px){.firm-cols{grid-template-columns:1fr;gap:18px}}

.svc-rows{border-top:1px solid var(--rule)}
.svc-row{display:grid;grid-template-columns:260px 1fr;gap:56px;padding:40px 0;border-bottom:1px solid var(--rule)}
.svc-row h3{font-size:27px}
.svc-row p{color:var(--slate);max-width:62ch;font-size:16px}
@media(max-width:860px){.svc-row{grid-template-columns:1fr;gap:10px}}

.dim{background:var(--paper-dim);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}

.loc-index{border-top:1px solid var(--rule)}
.loc-row{
  display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:24px;
  padding:34px 6px;border-bottom:1px solid var(--rule);text-decoration:none;transition:background .2s,padding .2s;
}
.loc-row:hover{background:rgba(6,28,70,.035);padding-left:16px}
.loc-row .name{font-family:'EB Garamond',serif;font-size:clamp(26px,3.4vw,40px)}
.loc-row .desc{font-size:14px;color:var(--slate);letter-spacing:.02em}
.loc-row .go{font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--navy-soft);white-space:nowrap}
.loc-row:hover .go{color:var(--gold)}
.loc-note{font-size:14px;color:var(--slate);font-style:italic;margin-top:22px;font-family:'EB Garamond',serif}

table.record{width:100%;border-collapse:collapse;border-top:1px solid var(--rule-strong)}
table.record th{
  text-align:left;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--slate);
  font-weight:500;padding:16px 18px 16px 0;border-bottom:1px solid var(--rule);
}
table.record td{padding:20px 18px 20px 0;border-bottom:1px solid var(--rule);vertical-align:top;font-size:15.5px}
table.record td.a{font-family:'EB Garamond',serif;font-size:19px;width:38%}
table.record td.c{color:var(--slate);font-style:italic;font-family:'EB Garamond',serif}
@media(max-width:700px){
  table.record thead{display:none}
  table.record tr{display:block;padding:18px 0;border-bottom:1px solid var(--rule)}
  table.record td{display:block;border:none;padding:2px 0}
}

.contact{background:var(--navy);color:var(--paper)}
.contact .grid{display:grid;grid-template-columns:5fr 6fr;gap:80px;max-width:var(--max);margin:0 auto;padding:104px 28px}
.contact h2{font-size:clamp(30px,3.6vw,44px);color:var(--paper);margin:20px 0 22px}
.contact .cap{color:rgba(250,250,248,.6)}
.contact p{color:rgba(250,250,248,.72);max-width:44ch}
.contact-meta{margin-top:40px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;line-height:2.3;color:rgba(250,250,248,.62)}
.contact-meta a{color:var(--paper);text-decoration:none;border-bottom:1px solid var(--rule-light)}
form{display:grid;gap:30px}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.f label{display:block;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:rgba(250,250,248,.55);margin-bottom:10px}
.f input,.f select,.f textarea{
  width:100%;background:transparent;border:none;border-bottom:1px solid var(--rule-light);
  padding:8px 2px 12px;font-family:'EB Garamond',serif;font-size:19px;color:var(--paper);
  border-radius:0;appearance:none;transition:border-color .2s;
}
.f select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23FAFAF8' opacity='.6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 2px center}
.f select option{color:var(--navy)}
.f input::placeholder,.f textarea::placeholder{color:rgba(250,250,248,.34)}
.f input:focus,.f select:focus,.f textarea:focus{outline:none;border-color:var(--gold)}
form button{
  font-family:'Instrument Sans',sans-serif;font-size:13px;letter-spacing:.2em;text-transform:uppercase;
  background:var(--paper);color:var(--navy);border:none;padding:17px 36px;cursor:pointer;
  justify-self:start;transition:background .2s;
}
form button:hover{background:#fff}
@media(max-width:860px){.contact .grid{grid-template-columns:1fr;gap:48px;padding:72px 28px}.f-row{grid-template-columns:1fr}}

/* ============ location pages ============ */
.loc-hero{border-bottom:1px solid var(--rule)}
.loc-hero .inner{max-width:var(--max);margin:0 auto;padding:96px 28px 72px}
.loc-hero h1{font-size:clamp(44px,7vw,84px);margin:18px 0 24px}
.loc-hero p{font-size:17.5px;color:var(--slate);max-width:58ch}
.crumb{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--slate);text-decoration:none;border-bottom:1px solid transparent}
.crumb:hover{border-color:var(--gold)}

.proj{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;padding:88px 0;border-bottom:1px solid var(--rule)}
.proj:last-of-type{border-bottom:none}
.proj.flip .media{order:2}
.proj .media{border:1px solid var(--rule);padding:10px}
.proj .media .ph{
  aspect-ratio:4/3;background:var(--paper-dim);display:flex;align-items:center;justify-content:center;
  font-family:'EB Garamond',serif;font-style:italic;color:var(--slate);font-size:15px;text-align:center;padding:20px;
}
.proj .media img{width:100%;display:block}
.proj h3{font-size:clamp(26px,3vw,36px);margin:16px 0 6px}
.proj .role{font-family:'EB Garamond',serif;font-style:italic;color:var(--slate);font-size:17px;margin-bottom:18px}
.proj .body p{color:var(--navy-soft);font-size:16px;margin-bottom:14px;max-width:56ch}
.proj .facts{margin-top:26px;border-top:1px solid var(--rule);display:grid;grid-template-columns:1fr 1fr;gap:0 28px}
.proj .facts div{padding:14px 0;border-bottom:1px solid var(--rule)}
.proj .facts dt{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--slate)}
.proj .facts dd{font-family:'EB Garamond',serif;font-size:17px;margin-top:2px}
@media(max-width:860px){.proj{grid-template-columns:1fr;gap:36px;padding:60px 0}.proj.flip .media{order:0}}

.nda-strip{background:var(--paper-dim);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.nda-strip .inner{max-width:var(--max);margin:0 auto;padding:44px 28px;display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap}
.nda-strip p{font-family:'EB Garamond',serif;font-size:20px;font-style:italic;max-width:52ch}

.proj .media img{aspect-ratio:4/3;object-fit:cover}
.img-credit{max-width:var(--max);margin:0 auto;padding:26px 28px 0;font-size:11.5px;color:var(--slate);letter-spacing:.04em}
.img-credit a{color:var(--slate)}

/* ============ advisory lead feature ============ */
.adv-lead{background:var(--navy);color:var(--paper);padding:60px 64px;margin-bottom:72px}
.adv-lead .lead-cap{
  font-family:'EB Garamond',serif;font-variant:small-caps;letter-spacing:.34em;
  font-size:14px;text-transform:lowercase;color:var(--gold);
}
.adv-lead h3{font-size:clamp(26px,3.4vw,40px);margin:16px 0 22px;color:var(--paper);max-width:22ch}
.adv-lead p{color:rgba(250,250,248,.78);max-width:72ch;font-size:16.5px;margin-bottom:16px}
.adv-lead p:last-child{margin-bottom:0}
@media(max-width:700px){.adv-lead{padding:40px 26px;margin-bottom:52px}}

/* ============ photo galleries (location pages) ============ */
.photo-hero{margin:0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);background:var(--paper)}
.photo-hero img{width:100%;height:clamp(340px,62vh,660px);object-fit:cover;display:block}
.photo-hero figcaption,
.plate figcaption{
  max-width:var(--max);margin:0 auto;padding:14px 28px;display:flex;justify-content:space-between;gap:16px;
  font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--slate);
}
.gal{max-width:var(--max);margin:0 auto;padding:36px 28px}
.gal-head{margin:20px 0 44px;max-width:56ch}
.gal-head h2{font-size:clamp(26px,3.4vw,40px);margin-top:14px}
.gal-duo{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-bottom:32px}
.gal-duo:last-child{margin-bottom:0}
.plate{margin:0;border:1px solid var(--rule);padding:10px;padding-bottom:0;background:var(--paper)}
.plate img{width:100%;display:block;aspect-ratio:4/3;object-fit:cover}
.plate img.tall{aspect-ratio:3/4}
.plate figcaption{padding:13px 4px}
@media(max-width:760px){
  .gal-duo{grid-template-columns:1fr;gap:24px;margin-bottom:24px}
  .photo-hero img{height:clamp(260px,48vh,420px)}
}

/* ============ dubai gallery variants ============ */
.plate img.sq{aspect-ratio:1/1}
.plate img.wide{aspect-ratio:16/9}
.gal-solo{max-width:520px;margin:0 auto}
.gal-solo.wide-solo{max-width:720px}
.gal.sep{border-bottom:1px solid var(--rule);padding-bottom:64px;margin-bottom:24px}
@media(max-width:760px){.gal.sep{padding-bottom:44px}}

/* ============ pricing table ============ */
table.record.price td.a{font-size:17px;width:60%}
table.record.price td.c{font-style:normal;font-family:'Instrument Sans',sans-serif;font-size:14.5px;letter-spacing:.04em}
table.record tr.grp td{
  font-family:'EB Garamond',serif;font-variant:small-caps;text-transform:lowercase;
  letter-spacing:.28em;font-size:15px;color:var(--gold);
  padding:34px 0 10px;border-bottom:1px solid var(--rule-strong);
}
table.record tr.grp:first-child td{padding-top:6px}
.price-note{margin-top:26px;font-size:13.5px;color:var(--slate);font-style:italic;font-family:'EB Garamond',serif;max-width:64ch}
.price-note a{color:var(--slate)}
@media(max-width:700px){
  table.record.price tr{display:table-row;padding:0}
  table.record.price td{display:table-cell;padding:14px 0;border-bottom:1px solid var(--rule)}
  table.record.price thead{display:table-header-group}
}
