/* Thomsett Lockey — system transferred from specialist-consolidator reference. */
:root{
  --ink:#26251C;
  --dark:#1D1C15;
  --stone:#EDECE9;
  --stone-deep:#E3E1DA;
  --olive:#8B8468;
  --stone-60:rgba(237,236,233,0.62);
  --ink-60:rgba(38,37,28,0.64);
  --line:rgba(38,37,28,0.16);
  --line-dark:rgba(237,236,233,0.18);
  --sans:'Hanken Grotesk','Helvetica Neue',Helvetica,Arial,sans-serif;
  --t-display:clamp(52px,7.4vw,112px);
  --t-statement:clamp(34px,4.2vw,62px);
  --t-section:clamp(30px,3vw,40px);
  --t-sub:clamp(20px,1.8vw,24px);
  --t-body:16px;
  --t-label:13px;
  --gutter:clamp(20px,3.4vw,52px);
  --w:400;
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{margin:0;background:var(--stone);color:var(--ink);font-family:var(--sans);font-size:var(--t-body);font-weight:var(--w);line-height:1.5;-webkit-font-smoothing:antialiased;}
h1,h2,h3,p,dl,dd,figure{margin:0;}
h1,h2,h3{font-weight:var(--w);}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.page{padding-left:var(--gutter);padding-right:var(--gutter);}
.act{text-decoration:underline;text-underline-offset:3px;}
.act:hover{opacity:0.7;}
.label{font-size:var(--t-label);letter-spacing:0.05em;text-transform:uppercase;color:inherit;opacity:0.85;}
.band{background:var(--dark);color:var(--stone);}
.band ::selection{background:var(--stone);color:var(--dark);}
.band.heroimg{
  background:
    linear-gradient(rgba(29,28,21,0.82),rgba(29,28,21,0.9)),
    url('https://images.unsplash.com/photo-1771911644758-cd625f3bc7da?q=70&w=2000&auto=format&fit=crop') center 40%/cover no-repeat var(--dark);
}
.imgband{
  position:relative;min-height:clamp(260px,44vh,460px);
  background:
    linear-gradient(rgba(29,28,21,0.5),rgba(29,28,21,0.62)),
    url('https://images.unsplash.com/photo-1569878766010-17bff0a1987d?q=70&w=2000&auto=format&fit=crop') center/cover no-repeat var(--dark);
  display:flex;align-items:flex-end;
}
.imgband .cap{
  color:var(--stone);font-size:var(--t-label);letter-spacing:0.05em;text-transform:uppercase;
  padding:0 var(--gutter) 26px;opacity:0.9;
}
.top{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-top:26px;padding-bottom:26px;}
.top .mark{font-size:17px;letter-spacing:0.04em;text-transform:uppercase;}
.top nav{display:flex;gap:36px;flex-wrap:wrap;}
.top nav a{font-size:var(--t-label);letter-spacing:0.05em;text-transform:uppercase;}
.top nav a:hover{opacity:0.65;}
.hero{padding-top:clamp(64px,9vw,140px);padding-bottom:clamp(56px,8vw,120px);}
.hero h1{font-size:var(--t-display);line-height:0.96;letter-spacing:-0.033em;max-width:12ch;}
.hero .sub{font-size:var(--t-sub);line-height:1.3;color:var(--stone-60);max-width:52ch;margin-top:34px;}
.hero .actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:44px;}
.btn{display:inline-block;font-family:var(--sans);font-size:12.5px;font-weight:var(--w);letter-spacing:0.07em;text-transform:uppercase;cursor:pointer;border-radius:999px;padding:13px 26px;border:1px solid transparent;}
.btn-stone{background:var(--stone);color:var(--ink);}
.btn-stone:hover{background:#fff;}
.btn-ghost{border-color:var(--line-dark);color:var(--stone);background:transparent;}
.btn-ghost:hover{border-color:var(--stone);}
.btn-ink{background:var(--ink);color:var(--stone);}
.btn-ink:hover{background:#000;}
.btn-outline{border-color:var(--line);color:var(--ink);background:transparent;}
.btn-outline:hover{border-color:var(--ink);}
.sec{padding-top:clamp(72px,8vw,128px);padding-bottom:clamp(72px,8vw,128px);}
.sec.tight{padding-bottom:clamp(40px,5vw,72px);}
.sec-head{display:flex;justify-content:space-between;align-items:baseline;gap:24px;flex-wrap:wrap;margin-bottom:clamp(36px,4vw,64px);}
.sec-head h2{font-size:var(--t-section);line-height:1.1;letter-spacing:-0.028em;}
.sec-head .label{opacity:0.6;}
.split{display:grid;grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr);gap:clamp(40px,6vw,110px);align-items:start;}
.split .prose p{font-size:var(--t-sub);line-height:1.38;color:var(--ink);max-width:30ch;}
.split .prose p + p{margin-top:22px;}
.split .prose .small{font-size:var(--t-body);line-height:1.5;color:var(--ink-60);max-width:52ch;}
.split .prose .btn{margin-top:34px;}
.statements{border-top:1px solid var(--line);}
.statement{padding:clamp(24px,3vw,40px) 0;border-bottom:1px solid var(--line);}
.statement .a{font-size:var(--t-statement);line-height:1.02;letter-spacing:-0.038em;color:var(--ink);}
.statement .b{font-size:var(--t-statement);line-height:1.02;letter-spacing:-0.038em;color:var(--olive);}
.statement .cap{font-size:var(--t-body);color:var(--ink-60);margin-top:14px;}
.band .split .prose p{color:var(--stone);}
.band .split .prose .small{color:var(--stone-60);}
.band .statements{border-color:var(--line-dark);}
.band .statement{border-color:var(--line-dark);}
.band .statement .a{color:var(--stone);}
.band .statement .cap{color:var(--stone-60);}
table.record{width:100%;border-collapse:collapse;font-size:var(--t-body);line-height:1.5;font-variant-numeric:tabular-nums lining-nums;}
table.record th{text-align:left;font-weight:var(--w);font-size:var(--t-label);letter-spacing:0.05em;text-transform:uppercase;color:var(--ink-60);padding:0 24px 14px 0;white-space:nowrap;border-bottom:1px solid var(--ink);}
table.record td{padding:17px 24px 17px 0;border-bottom:1px solid var(--line);vertical-align:baseline;}
table.record td:last-child,table.record th:last-child{padding-right:0;}
table.record .yr{color:var(--ink-60);white-space:nowrap;}
table.record .mk{color:var(--olive);font-size:0.85em;vertical-align:super;}
.record-note{font-size:14px;line-height:1.55;color:var(--ink-60);max-width:74ch;margin-top:22px;}
.record-note + .record-note{margin-top:10px;}
.record-note a{text-decoration:underline;text-underline-offset:3px;}
.entries{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(40px,5vw,80px);}
.entry .k{font-size:var(--t-label);letter-spacing:0.05em;text-transform:uppercase;color:var(--ink-60);}
.entry h3{font-size:var(--t-sub);line-height:1.2;margin-top:12px;}
.entry .meta{font-size:var(--t-body);color:var(--olive);margin-top:4px;}
.entry p.body{margin-top:16px;color:var(--ink-60);max-width:56ch;}
.entry .btn{margin-top:24px;}
.band .entry .k{color:var(--stone-60);}
.band .entry p.body{color:var(--stone-60);}
.band .entry .meta{color:var(--olive);}
.stack .entry{padding:clamp(28px,3vw,44px) 0 0;border-top:1px solid var(--line);margin-top:clamp(28px,3vw,44px);}
.stack .entry:first-child{margin-top:0;border-top:0;padding-top:0;}
.enquiry{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(40px,6vw,110px);align-items:start;}
.enquiry h2{font-size:var(--t-section);line-height:1.1;letter-spacing:-0.028em;}
.enquiry .lede{font-size:var(--t-sub);line-height:1.35;color:var(--stone-60);margin-top:20px;max-width:40ch;}
form.enq .row{display:grid;grid-template-columns:1fr 1fr;gap:26px;}
form.enq .f{margin-bottom:26px;}
form.enq label{display:block;font-size:var(--t-label);letter-spacing:0.05em;text-transform:uppercase;color:var(--stone-60);margin-bottom:9px;}
form.enq input,form.enq textarea,form.enq select{width:100%;font-family:var(--sans);font-size:var(--t-body);font-weight:var(--w);padding:10px 0;border:0;border-bottom:1px solid var(--line-dark);background:transparent;color:var(--stone);border-radius:0;}
form.enq option{color:var(--ink);}
form.enq textarea{min-height:70px;resize:vertical;}
form.enq input:focus,form.enq textarea:focus,form.enq select:focus{outline:none;border-bottom-color:var(--stone);}
form.enq .note{font-size:13px;color:var(--stone-60);margin-top:16px;}
form.enq .status{font-size:var(--t-body);margin-top:14px;color:var(--stone);}
.foot{padding-top:clamp(48px,6vw,80px);padding-bottom:44px;}
.foot .cols{display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap;align-items:baseline;}
.foot .mark{font-size:17px;letter-spacing:0.04em;text-transform:uppercase;}
.foot nav{display:flex;gap:30px;flex-wrap:wrap;}
.foot nav a{font-size:var(--t-label);letter-spacing:0.05em;text-transform:uppercase;color:var(--stone-60);}
.foot nav a:hover{color:var(--stone);}
.foot .legal{margin-top:clamp(40px,5vw,64px);padding-top:24px;border-top:1px solid var(--line-dark);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:13px;color:var(--stone-60);}
.foot .legal .conf{max-width:64ch;}
.article{max-width:760px;padding-top:clamp(48px,6vw,88px);padding-bottom:clamp(72px,8vw,128px);}
.article .kicker{font-size:var(--t-label);letter-spacing:0.05em;text-transform:uppercase;color:var(--ink-60);}
.article .kicker a:hover{opacity:0.65;}
.article h1{font-size:clamp(34px,4.4vw,58px);line-height:1.04;letter-spacing:-0.033em;margin-top:18px;}
.article .meta{font-size:var(--t-body);color:var(--olive);margin-top:16px;}
.article h2{font-size:var(--t-sub);line-height:1.25;margin-top:52px;letter-spacing:-0.01em;}
.article p{margin-top:18px;color:var(--ink-60);}
.article p.lead{font-size:var(--t-sub);line-height:1.38;color:var(--ink);margin-top:36px;}
.article ul{margin:18px 0 0;padding-left:1.2em;color:var(--ink-60);}
.article li{margin:8px 0;}
.article a{text-decoration:underline;text-underline-offset:3px;}
.pagetitle{padding-top:clamp(48px,6vw,96px);}
.pagetitle h1{font-size:clamp(40px,5.6vw,84px);line-height:0.98;letter-spacing:-0.033em;}
.pagetitle .sub{font-size:var(--t-sub);line-height:1.35;color:var(--ink-60);margin-top:24px;max-width:56ch;}
.band .pagetitle .sub{color:var(--stone-60);}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid currentColor;outline-offset:3px;}
.signup{padding-top:clamp(48px,5vw,80px);padding-bottom:clamp(48px,5vw,80px);}
.signup-inner{display:grid;grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr);gap:clamp(32px,5vw,90px);align-items:center;}
.signup h2{font-size:var(--t-section);line-height:1.1;letter-spacing:-0.028em;margin-top:12px;}
.signup .label{opacity:0.6;}
.signup-promise{color:var(--ink-60);margin-top:14px;max-width:44ch;}
.signup-row{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-end;}
.signup-row input[type=email]{flex:1;min-width:220px;font-family:var(--sans);font-size:var(--t-body);font-weight:var(--w);padding:11px 0;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);border-radius:0;}
.signup-row input[type=email]:focus{outline:none;border-bottom-color:var(--ink);}
.signup-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;}
.signup-status{font-size:var(--t-body);color:var(--ink);margin-top:14px;min-height:1.5em;}
.signup-status a{text-decoration:underline;text-underline-offset:3px;}
.signup-note{font-size:13px;color:var(--ink-60);margin-top:8px;}
.signup-done{font-size:var(--t-sub);color:var(--ink);}
.vh{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
.globeband{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,0.95fr);gap:clamp(32px,5vw,90px);align-items:center;}
.globewrap{position:relative;display:flex;justify-content:center;}
#globe{max-width:100%;height:auto;display:block;}
.globeside .label{color:var(--stone-60);}
.globeside h2{font-size:var(--t-section);line-height:1.1;letter-spacing:-0.028em;margin-top:12px;color:var(--stone);}
.globeside p{margin-top:18px;color:var(--stone-60);max-width:46ch;}
.globekey{margin-top:28px;font-size:var(--t-label);letter-spacing:0.05em;text-transform:uppercase;color:var(--stone-60);}
.globekey .dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px;vertical-align:1px;}
.globekey .dot.deal{background:var(--stone);}
.globekey .dot.watch{background:var(--olive);}
.globekey span + span{margin-left:22px;}
@media(max-width:900px){
  .split,.enquiry{grid-template-columns:1fr;gap:44px;}
  .split .prose p{max-width:52ch;}
  .entries{grid-template-columns:1fr;gap:40px;}
  table.record th:nth-child(4),table.record td:nth-child(4){display:none;}
  .globeband{grid-template-columns:1fr;gap:36px;}
  .signup-inner{grid-template-columns:1fr;gap:28px;}
}
@media(max-width:600px){
  .top nav{gap:18px;}
  .top nav a.hs{display:none;}
  form.enq .row{grid-template-columns:1fr;gap:0;}
  table.record th:nth-child(3),table.record td:nth-child(3){display:none;}
}
