/* ─────────────────────────────────────────────────────────────
   JebuK International — site chrome.

   Owned solely by public-international/. Nothing in this file is
   shared with the JebuK Properties site. The header and footer are
   deliberately separate from jebuk.com's so that regulatory
   credentials belonging to JebuK Properties cannot reach this site
   through template reuse. Class names are namespaced ihdr-/iftr- to
   make accidental copy-paste between the two sites obvious on sight.

   Colour and type tokens come from shared-tokens.css, which must be
   linked BEFORE this file.

   iOS 13 Safari targets, observed throughout:
     no flexbox gap (Safari 14.1+)   -> margins on flex children
     no inset shorthand (14.1+)      -> explicit top/right/bottom/left
     no overflow:clip (16+)          -> overflow-x:hidden
     no :is()/:where() (14+)         -> plain selector lists
     clamp() is 13.4+                -> static fallback declared first
     backdrop-filter needs -webkit-  -> both declared
   ───────────────────────────────────────────────────────────── */

/* ── BASE ── */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{overflow-x:hidden;-webkit-text-size-adjust:100%;}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:var(--sans);
  font-weight:300;
  font-size:16px;
  line-height:1.7;
  overflow-x:hidden;
  max-width:100%;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
img{max-width:100%;height:auto;display:block;}
button,input,select,textarea{font:inherit;color:inherit;}
button{background:none;border:none;cursor:pointer;}
::selection{background:var(--gold);color:#100C04;}

/* Focus: old Safari ignores the :not(:focus-visible) rule entirely,
   which leaves the plain :focus outline in place. That is the desired
   degradation, not a bug. */
a:focus,button:focus,input:focus,select:focus,textarea:focus{
  outline:1px solid var(--gold);outline-offset:3px;
}
a:focus:not(:focus-visible),button:focus:not(:focus-visible){outline:none;}
a:focus-visible,button:focus-visible{outline:1px solid var(--gold);outline-offset:3px;}

.skip{
  position:absolute;left:-9999px;top:0;z-index:200;
  background:var(--gold);color:#100C04;padding:12px 20px;
  font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;
}
.skip:focus{left:0;}

/* ── LAYOUT ── */
.wrap{
  width:100%;max-width:1240px;margin:0 auto;
  padding-left:var(--gutter);padding-right:var(--gutter);
}
.sect{padding-top:72px;padding-bottom:72px;}
.sect{padding-top:clamp(64px,9vw,128px);padding-bottom:clamp(64px,9vw,128px);}
.sect-tight{padding-top:48px;padding-bottom:48px;}
.sect-tight{padding-top:clamp(44px,6vw,84px);padding-bottom:clamp(44px,6vw,84px);}
.hair-t{border-top:1px solid rgba(237,233,224,.08);}

/* ── TYPE ── */
.eyebrow{
  font-family:var(--mono);font-size:10px;letter-spacing:.34em;text-transform:uppercase;
  color:var(--gold);display:flex;align-items:center;margin-bottom:24px;
}
.eyebrow::before{
  content:'';width:38px;height:1px;background:var(--gold-dim);
  margin-right:14px;flex:0 0 auto;
}
h1,h2,h3,h4{font-weight:400;letter-spacing:.01em;}
h1{font-family:var(--serif);font-size:44px;line-height:1.02;}
h1{font-size:clamp(38px,6.4vw,84px);}
h2{font-family:var(--serif);font-size:34px;line-height:1.08;}
h2{font-size:clamp(30px,4.4vw,58px);}
h3{font-family:var(--sans);font-weight:400;font-size:20px;line-height:1.3;}
h3{font-size:clamp(19px,1.7vw,23px);}
h4{font-family:var(--mono);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);}
em.gold{
  font-family:var(--serif-it);font-style:italic;font-weight:300;
  color:var(--gold);letter-spacing:0;
}
.lede{font-size:17px;line-height:1.65;color:var(--ink-dim);max-width:62ch;}
.lede{font-size:clamp(16px,1.5vw,20px);}
.prose p{max-width:70ch;margin-bottom:20px;color:var(--ink-dim);}
.prose p:last-child{margin-bottom:0;}
.prose p strong{color:var(--ink);font-weight:500;}
.prose h2{margin-top:52px;margin-bottom:20px;}
.prose h3{margin-top:36px;margin-bottom:12px;color:var(--ink);}
.prose ul{margin:0 0 20px;max-width:70ch;}
.prose ul li{
  position:relative;padding-left:22px;margin-bottom:11px;color:var(--ink-dim);
}
.prose ul li::before{content:'+';position:absolute;left:0;top:0;color:var(--gold-dim);}
.prose a{color:var(--gold);border-bottom:1px solid var(--gold-dim);}
.prose a:hover{border-bottom-color:var(--gold);}

/* ── BUTTONS ── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--mono);font-size:11px;letter-spacing:.2em;
  text-transform:uppercase;font-weight:700;
  padding:15px 28px;border:1px solid transparent;
  -webkit-tap-highlight-color:transparent;
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.btn-gold{background:var(--gold);color:#100C04;}
.btn-gold:hover{background:var(--gold-hi);}
.btn-outline{border-color:var(--gold-dim);color:var(--gold);}
.btn-outline:hover{border-color:var(--gold);background:var(--gold-faint);}
.btn:active{transform:translateY(1px);}
.btn:disabled,.btn[disabled]{opacity:.6;cursor:not-allowed;transform:none;}
.btn-gold:disabled:hover,.btn-gold[disabled]:hover{background:var(--gold);}
.btn-outline:disabled:hover,.btn-outline[disabled]:hover{
  background:none;border-color:var(--gold-dim);
}
.btn+.btn{margin-left:14px;}
@media(max-width:520px){
  .btn{width:100%;}
  .btn+.btn{margin-left:0;margin-top:12px;}
}

/* ── HEADER (international only) ── */
.ihdr{
  position:-webkit-sticky;position:sticky;top:0;z-index:100;
  background:rgba(6,7,12,.86);
  -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(237,233,224,.07);
}
.ihdr-in{display:flex;align-items:center;justify-content:space-between;height:68px;}
.ihdr-logo{display:flex;align-items:center;flex:0 0 auto;}
.ihdr-logo img{width:32px;height:32px;margin-right:11px;flex:0 0 auto;}
.ihdr-word{
  font-family:var(--serif-it);font-weight:500;font-size:22px;
  letter-spacing:.14em;line-height:1;color:var(--ink);
}
.ihdr-word .k{color:var(--gold);}
.ihdr-sub{
  display:none;
  font-family:var(--mono);font-size:8px;letter-spacing:.3em;text-transform:uppercase;
  color:var(--gold-dim);
  margin-left:12px;padding-left:12px;
  border-left:1px solid rgba(201,168,76,.25);
}
@media(min-width:721px){.ihdr-sub{display:block;}}

.ihdr-nav{display:none;align-items:center;}
@media(min-width:961px){.ihdr-nav{display:flex;}}
.ihdr-nav a{
  position:relative;
  font-family:var(--mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--ink-dim);margin-left:30px;padding:6px 0;
  transition:color .25s ease;
}
.ihdr-nav a:hover{color:var(--gold);}
.ihdr-nav a[aria-current="page"]{color:var(--gold);}
.ihdr-nav a::after{
  content:'';position:absolute;left:0;bottom:0;width:100%;height:1px;
  background:var(--gold);transform:scaleX(0);transform-origin:right;
  transition:transform .35s var(--eo);
}
.ihdr-nav a:hover::after{transform:scaleX(1);transform-origin:left;}
.ihdr-nav a[aria-current="page"]::after{transform:scaleX(1);transform-origin:left;}
.ihdr-nav .btn{margin-left:30px;padding:12px 22px;}

.ihdr-burger{
  display:flex;flex-direction:column;justify-content:center;align-items:flex-end;
  width:44px;height:44px;flex:0 0 auto;
}
@media(min-width:961px){.ihdr-burger{display:none;}}
.ihdr-burger i{
  display:block;height:1px;width:22px;background:var(--ink);
  margin:3px 0;transition:transform .3s var(--eo),opacity .2s ease;
}
.ihdr-burger[aria-expanded="true"] i:nth-child(1){transform:translateY(4px) rotate(45deg);}
.ihdr-burger[aria-expanded="true"] i:nth-child(2){opacity:0;transform:scaleX(0);}
.ihdr-burger[aria-expanded="true"] i:nth-child(3){transform:translateY(-4px) rotate(-45deg);}

/* ── MOBILE MENU (international only) ── */
.imenu{
  position:fixed;top:0;right:0;bottom:0;left:0;z-index:99;
  background:var(--bg-deep);
  padding-top:92px;
  opacity:0;visibility:hidden;
  overflow-y:auto;-webkit-overflow-scrolling:touch;
  transition:opacity .3s ease,visibility .3s ease;
}
.imenu.open{opacity:1;visibility:visible;}
.imenu a{
  display:flex;align-items:center;justify-content:space-between;
  font-family:var(--serif);font-size:30px;
  padding:16px 0;border-bottom:1px solid rgba(201,168,76,.1);
}
.imenu a{font-size:clamp(28px,7vw,42px);}
.imenu a em{
  font-family:var(--mono);font-style:normal;font-size:9px;
  letter-spacing:.28em;color:var(--gold-dim);
}
.imenu .btn{display:flex;width:100%;margin-top:30px;padding-top:19px;padding-bottom:19px;}
body.imenu-open{overflow:hidden;}

/* ── FOOTER (international only) ──
   Compliance note: this footer carries no registration number, no
   licence claim, and no regulatory badge. Do not add credentials here.
   scripts/check-international-compliance.js will fail the deploy if you
   do. Cross-border data disclosure lives in privacy-policy.html and in
   the form consent label, not here. */
.iftr{
  border-top:1px solid rgba(237,233,224,.08);
  padding-top:56px;padding-bottom:34px;
}
.iftr{padding-top:clamp(56px,7vw,88px);}
.iftr-grid{display:grid;grid-template-columns:1fr;grid-gap:44px;gap:44px;}
@media(min-width:761px){.iftr-grid{grid-template-columns:1.7fr 1fr 1.2fr;}}
.iftr-mark{display:flex;align-items:center;margin-bottom:18px;}
.iftr-mark img{width:34px;height:34px;margin-right:11px;flex:0 0 auto;}
.iftr-word{
  font-family:var(--serif-it);font-weight:500;font-size:24px;
  letter-spacing:.14em;line-height:1;color:var(--ink);
}
.iftr-word .k{color:var(--gold);}
.iftr-about{font-size:14px;line-height:1.85;color:var(--ink-dim);max-width:46ch;}
.iftr-h{
  font-family:var(--mono);font-size:10px;letter-spacing:.3em;text-transform:uppercase;
  color:var(--gold);margin-bottom:18px;
}
.iftr-col a{
  display:block;font-size:14px;color:var(--ink-dim);padding:5px 0;
  transition:color .2s ease,transform .25s var(--eo);
}
.iftr-col a:hover{color:var(--gold);transform:translateX(5px);}
.iftr-meta{
  font-family:var(--mono);font-size:11px;line-height:2.2;
  letter-spacing:.1em;color:var(--ink-dim);
}
.iftr-meta b{color:var(--ink);font-weight:400;}
.iftr-bottom{
  display:flex;flex-wrap:wrap;justify-content:space-between;
  margin-top:38px;padding-top:22px;
  border-top:1px solid rgba(237,233,224,.07);
  font-family:var(--mono);font-size:10px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--ink-dim);
}
.iftr-bottom span{margin-right:16px;}

/* ── MOTION ── */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
    scroll-behavior:auto!important;
  }
}

/* ── PAGE COMPONENTS (international only) ── */
.hero{padding-top:64px;padding-bottom:64px;}
.hero{padding-top:clamp(64px,11vw,150px);padding-bottom:clamp(56px,9vw,120px);}
.hero h1{max-width:15ch;margin-bottom:26px;}
.hero .lede{margin-bottom:36px;}

.split{display:grid;grid-template-columns:1fr;grid-gap:40px;gap:40px;}
@media(min-width:861px){
  .split{grid-template-columns:0.85fr 1.15fr;grid-gap:clamp(40px,6vw,88px);gap:clamp(40px,6vw,88px);}
}
.split-head h2{margin-bottom:18px;}

.cards{display:grid;grid-template-columns:1fr;grid-gap:1px;gap:1px;background:rgba(237,233,224,.08);border:1px solid rgba(237,233,224,.08);}
@media(min-width:701px){.cards-2{grid-template-columns:1fr 1fr;}}
@media(min-width:901px){.cards-3{grid-template-columns:repeat(3,1fr);}}
.card{background:var(--bg);padding:30px 26px;}
.card h3{margin-bottom:12px;color:var(--ink);}
.card p{color:var(--ink-dim);font-size:14.5px;line-height:1.8;}

.steps{counter-reset:step;margin-top:8px;}
.step{
  position:relative;padding-left:58px;padding-top:26px;padding-bottom:26px;
  border-top:1px solid rgba(237,233,224,.08);
}
.step:first-child{border-top:none;}
.step::before{
  counter-increment:step;content:counter(step,decimal-leading-zero);
  position:absolute;left:0;top:26px;
  font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--gold);
}
.step h3{margin-bottom:9px;color:var(--ink);}
.step p{color:var(--ink-dim);font-size:14.5px;line-height:1.8;max-width:64ch;}

.who li{
  position:relative;padding-left:24px;padding-top:11px;padding-bottom:11px;
  color:var(--ink-dim);max-width:64ch;
}
.who li::before{content:'+';position:absolute;left:0;top:11px;color:var(--gold-dim);}
.who li b{color:var(--ink);font-weight:500;}

/* ── ENQUIRY FORM (international only) ──
   The only place on this site that collects personal data. The consent
   checkbox is unticked in markup and required by both the browser and
   internationalEnquiryApi. Do not add a `checked` attribute to it. */
.eform{margin-top:8px;max-width:680px;}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.efields{display:grid;grid-template-columns:1fr;grid-gap:20px;gap:20px;}
@media(min-width:641px){.efields-2{grid-template-columns:1fr 1fr;}}
.efield label{
  display:block;font-family:var(--mono);font-size:10px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--gold);margin-bottom:9px;
}
.efield input,.efield select{
  display:block;width:100%;
  background:rgba(237,233,224,.03);
  border:1px solid rgba(237,233,224,.14);
  color:var(--ink);font-family:var(--sans);font-size:15px;font-weight:300;
  padding:14px 15px;border-radius:0;
  -webkit-appearance:none;appearance:none;
  transition:border-color .2s ease,background .2s ease;
}
.efield select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23C9A84C' stroke-width='1.4'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 15px center;
  padding-right:40px;
}
.efield input:focus,.efield select:focus{
  border-color:var(--gold-dim);background:rgba(237,233,224,.05);
}
.efield input::-webkit-input-placeholder{color:var(--ink-dim);}
.efield input::placeholder{color:var(--ink-dim);}

.econsent{
  display:block;position:relative;padding-left:34px;margin-top:26px;
  font-size:13.5px;line-height:1.75;color:var(--ink-dim);cursor:pointer;max-width:66ch;
}
.econsent input{
  position:absolute;left:0;top:3px;width:18px;height:18px;margin:0;
  -webkit-appearance:none;appearance:none;
  background:rgba(237,233,224,.03);
  border:1px solid rgba(201,168,76,.45);cursor:pointer;
}
.econsent input:checked{background:var(--gold);border-color:var(--gold);}
.econsent input:checked::after{
  content:'';position:absolute;left:5px;top:1px;width:5px;height:10px;
  border-right:2px solid #100C04;border-bottom:2px solid #100C04;
  -webkit-transform:rotate(42deg);transform:rotate(42deg);
}
.econsent a{color:var(--gold);border-bottom:1px solid var(--gold-dim);}

.eactions{margin-top:28px;}
.enote{
  margin-top:16px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;
  line-height:1.9;color:var(--ink-dim);
}
.estatus{
  display:none;margin-top:20px;padding:14px 16px;
  font-size:14px;line-height:1.7;
  border:1px solid rgba(201,168,76,.38);
  background:rgba(201,168,76,.07);color:var(--ink);
}
.estatus.show{display:block;}
.estatus.err{border-color:rgba(196,85,47,.55);background:rgba(196,85,47,.09);}

/* ── COMPOSITION VARIANTS ──
   Added so the page does not lean on one three-up card grid for every
   group of three. .leadgrid gives an asymmetric emphasis layout;
   .speclist gives a label/value rhythm with no boxes at all. */

/* Asymmetric: first item leads at double width, the rest sit under it. */
.leadgrid{display:grid;grid-template-columns:1fr;grid-gap:1px;gap:1px;
  background:rgba(237,233,224,.08);border:1px solid rgba(237,233,224,.08);}
@media(min-width:781px){
  .leadgrid{grid-template-columns:1fr 1fr;}
  .leadgrid > :first-child{grid-column:1 / -1;}
}
.leadgrid > *{background:var(--bg);padding:30px 26px;}
@media(min-width:781px){.leadgrid > :first-child{padding:38px 32px;}}
.leadgrid h3{margin-bottom:12px;color:var(--ink);}
.leadgrid > :first-child h3{font-family:var(--serif);font-size:26px;}
@media(min-width:781px){.leadgrid > :first-child h3{font-size:32px;}}
.leadgrid p{color:var(--ink-dim);font-size:14.5px;line-height:1.8;}
.leadgrid > :first-child p{font-size:16px;max-width:52ch;}

/* Label/value rows. No cards, no boxes. */
.speclist{border-top:1px solid rgba(237,233,224,.08);}
.spec{
  display:grid;grid-template-columns:1fr;grid-gap:6px;gap:6px;
  padding:22px 0;border-bottom:1px solid rgba(237,233,224,.08);
}
@media(min-width:661px){
  .spec{grid-template-columns:minmax(150px,22%) 1fr;grid-gap:32px;gap:32px;align-items:baseline;}
}
.spec dt{
  font-family:var(--mono);font-size:10px;letter-spacing:.24em;
  text-transform:uppercase;color:var(--gold);
}
.spec dd{color:var(--ink-dim);font-size:15px;line-height:1.75;max-width:60ch;}
.spec dd a{color:var(--gold);border-bottom:1px solid var(--gold-dim);}
.spec dd b{color:var(--ink);font-weight:500;}
