
/* Layout: dark hero and trust bar, ivory about, paper projects, dark process, teal H-1B band, ivory enquiry, dark footer. Single committed look. */
:root{
  color-scheme: light;
  --obsidian:#07120E; --obsidian2:#0D1D17; --line-dk:rgba(214,191,142,.22);
  --champagne:#D6BF8E; --champagne-txt:#6F5A26;
  --teal:#091F24; --teal-acc:#1F5A63;
  --ivory:#F5F0E3; --ivory2:#ECE5D3; --paper:#FFFFFF; --hairline:#DDD5C0;
  --ink:#101713; --ink2:#2F3833; --ink3:#5C665F; --on-dk:#C9CFC6;
  --confirm:#1E6B52; --confirm-bg:#E1EFE8; --stop:#8C2F23;
  --f-word:'Marcellus','Palatino Linotype',Palatino,Georgia,serif;
  --f-display:'Newsreader',Georgia,serif;
  --f-ui:'Jost','Helvetica Neue',Helvetica,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--f-ui);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3,p,ol{margin:0;padding:0}
h1,h2,h3{font-family:var(--f-display);font-weight:400;letter-spacing:-.02em;line-height:1.05;text-wrap:balance}
h2{font-size:clamp(30px,4vw,46px)}
h3{font-size:24px;font-weight:500;letter-spacing:-.01em;line-height:1.15}
em{font-style:italic}
.wrap{max-width:1160px;margin:0 auto;padding-inline:clamp(16px,4vw,48px)}
.band{padding-block:clamp(56px,8vw,104px)}
.stack{display:flex;flex-direction:column;gap:22px}
.dk{background:var(--obsidian);color:var(--ivory)}
.dk p{color:var(--on-dk)}
.dk em{color:var(--champagne)}
.lt em{color:var(--champagne-txt)}
.lbl{font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--champagne-txt)}
.dk .lbl,.tl .lbl{color:var(--champagne)}
.lede{max-width:58ch}
.sample{background:var(--stop);color:#fff;font-size:12px;letter-spacing:.06em;text-align:center;padding:8px 16px}
.nav{background:var(--obsidian);border-bottom:1px solid var(--line-dk)}
.nav .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 28px;padding-block:16px}
.logo{display:flex;align-items:center;gap:12px;color:var(--champagne)}
.wm{font-family:var(--f-word);font-size:19px;letter-spacing:.14em;color:var(--ivory);line-height:1}
.sub{font-size:8px;font-weight:500;letter-spacing:.42em;color:var(--champagne);margin-top:5px}
.links{display:flex;flex-wrap:wrap;gap:8px 26px;align-items:center;font-size:13px;letter-spacing:.06em}
.links a{color:var(--on-dk);text-decoration:none}
.links a:hover{color:var(--ivory)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--champagne);outline-offset:2px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 26px;font:600 12px var(--f-ui);letter-spacing:.14em;text-transform:uppercase;border:1px solid transparent;cursor:pointer;text-decoration:none}
.b1{background:var(--champagne);color:var(--obsidian)}
.links a.b1{color:var(--obsidian);min-height:40px;padding:0 18px}
.b2{border-color:var(--champagne);color:var(--champagne);background:none}
.lt .b2{border-color:var(--obsidian);color:var(--obsidian)}
.row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.hero h1{font-size:clamp(40px,6.4vw,78px);max-width:16ch}
.trust{background:var(--obsidian2);color:var(--ivory)}
.trust .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:24px;padding-block:28px}
.trust b{display:block;font-family:var(--f-display);font-weight:400;font-size:30px;line-height:1.1;color:var(--champagne)}
.trust span{font-size:12px;letter-spacing:.08em;color:var(--on-dk)}
.g2{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:clamp(24px,4vw,56px);align-items:start}
.g2>*{min-width:0}
.pp{background:var(--paper)}
.card{border:1px solid var(--hairline);background:var(--ivory);padding:28px;display:flex;flex-direction:column;gap:14px}
.tag{align-self:flex-start;padding:4px 10px;font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.t-act{background:var(--champagne);color:var(--obsidian)}
.t-mut{background:var(--ivory2);color:var(--ink2)}
table{border-collapse:collapse;width:100%;font-size:14px}
td{padding:9px 12px 9px 0;border-top:1px solid var(--hairline);vertical-align:top}
td:last-child{text-align:right;font-variant-numeric:tabular-nums}
.ph{color:var(--stop);font-weight:500}
.dk .ph{color:#F0A898}
.steps{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px;counter-reset:s}
.steps li{counter-increment:s;border-top:1px solid var(--line-dk);padding-top:18px;display:flex;flex-direction:column;gap:8px;min-width:0}
.steps li::before{content:"0" counter(s);font-family:var(--f-display);font-size:28px;color:var(--champagne)}
.steps p{font-size:14.5px}
.tl{background:var(--teal);color:var(--ivory)}
.tl p{color:var(--on-dk)}.tl em{color:var(--champagne)}
form{display:flex;flex-direction:column;gap:14px;background:var(--paper);border:1px solid var(--hairline);padding:28px}
label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3)}
input,select{height:48px;border:1px solid var(--hairline);background:var(--ivory);padding:0 12px;font:400 15px var(--f-ui);color:var(--ink);border-radius:0;width:100%}
.note{font-size:12.5px;color:var(--ink3)}
footer{background:var(--obsidian);color:var(--on-dk);font-size:13px;border-top:1px solid var(--line-dk)}
footer .wrap{padding-block:44px;display:flex;flex-direction:column;gap:20px}footer a{color:inherit}



.g3{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}.g3>*{min-width:0}
.cmp th{text-align:left;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3);padding:9px 12px 9px 0}
.cmp td:last-child{text-align:left}.cmp td{padding-right:16px}
.date{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--champagne-txt)}
.scroll{overflow-x:auto}
footer a{color:inherit}html{scroll-behavior:smooth}

/* --- site additions --- */
img{max-width:100%;display:block}
.links a[aria-current=page]{color:var(--ivory);border-bottom:1px solid var(--champagne)}
.hero.img{position:relative;isolation:isolate}
.hero.img::before{content:"";position:absolute;inset:0;z-index:-2;background:var(--bg) center/cover no-repeat}
.hero.img::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,18,14,.94) 0%,rgba(7,18,14,.82) 45%,rgba(7,18,14,.5) 100%)}
.hero.sm h1{font-size:clamp(36px,5.4vw,62px);max-width:20ch}
.fig{margin:0;display:flex;flex-direction:column;gap:8px}
.fig img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border:1px solid var(--hairline)}
.fig figcaption{font-size:12.5px;color:var(--ink3)}
.dk .fig figcaption{color:var(--on-dk)} .dk .fig img{border-color:var(--line-dk)}
.gal{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.prose{max-width:70ch;display:flex;flex-direction:column;gap:16px}
.prose h2{font-size:clamp(26px,3vw,34px);margin-top:18px}
.prose h3{margin-top:10px}
.prose ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}
.contact{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.contact a.card{text-decoration:none;color:inherit}
.contact a.card:hover{border-color:var(--champagne-txt)}
.contact b{font-family:var(--f-display);font-weight:500;font-size:22px}
textarea{border:1px solid var(--hairline);background:var(--ivory);padding:10px 12px;font:400 15px var(--f-ui);color:var(--ink);width:100%;min-height:96px}
.chk{flex-direction:row;align-items:flex-start;gap:10px;text-transform:none;letter-spacing:0;font-weight:400;font-size:13px;color:var(--ink2)}
.chk input{width:18px;height:18px;flex:none;margin-top:2px}
.ok{background:var(--confirm-bg);color:var(--confirm);padding:14px 16px;font-size:14px}
.err{background:#F6E3DF;color:var(--stop);padding:14px 16px;font-size:14px}
.fcols{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:24px}
.fcols a{display:block;color:var(--on-dk);text-decoration:none;padding:3px 0}
.fcols a:hover{color:var(--ivory)}
.fine{font-size:12px;line-height:1.6;max-width:90ch}
.wa{position:fixed;right:18px;bottom:18px;z-index:20;background:var(--champagne);color:var(--obsidian);font:600 12px var(--f-ui);letter-spacing:.12em;text-transform:uppercase;padding:13px 18px;text-decoration:none;box-shadow:0 6px 24px rgba(0,0,0,.28)}
details{border-top:1px solid var(--hairline);padding:14px 0}
summary{cursor:pointer;font-family:var(--f-display);font-size:20px;font-weight:500}
details p{margin-top:10px;max-width:70ch}
.bgv{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hero.img{min-height:min(78vh,720px);display:flex;align-items:center}
.hero.img.sm{min-height:0}
.hero.vid::after{background:linear-gradient(90deg,rgba(7,18,14,.82) 0%,rgba(7,18,14,.58) 48%,rgba(7,18,14,.22) 100%)}
.hero.vid h1,.hero.vid p,.hero.vid .lbl{text-shadow:0 1px 18px rgba(7,18,14,.55)}
@media (max-width:700px){.hero.vid::after{background:rgba(7,18,14,.62)}}
.portrait{width:100%;max-width:360px;height:auto;aspect-ratio:4/5;object-fit:cover;border:1px solid var(--hairline)}
.big{font-family:var(--f-display);font-size:clamp(44px,7vw,84px);line-height:1;letter-spacing:-.02em}
