/* Layout: left column holds the offer (name, promise, apply, one photo) and stays put on desktop; right column is the record (about, focus, capabilities, credentials, contact). */
:root{
  --field:#FCFBF9; --bg:#F7F5F1; --surface:#EFEBE4; --line:#E2DCD2; --ink:#1A1714; --muted:#5E564F; --accent:#A08A72;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--field:#1F1B18;--bg:#141210;--surface:#1F1B18;--line:#332D27;--ink:#F2EEE8;--muted:#BBB2A8;--accent:#C2AC92;color-scheme:dark}}
:root[data-theme="dark"]{--field:#1F1B18;--bg:#141210;--surface:#1F1B18;--line:#332D27;--ink:#F2EEE8;--muted:#BBB2A8;--accent:#C2AC92;color-scheme:dark}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--ink);font-family:var(--mono);font-size:15.5px;line-height:1.75}
.wrap{max-width:1240px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px));display:grid;grid-template-columns:1fr;gap:clamp(40px,6vw,96px);padding-block:clamp(32px,6vw,72px) 0}
@media (min-width:900px){.wrap{grid-template-columns:minmax(0,1fr) minmax(0,440px)}}
.offer{display:flex;flex-direction:column;gap:clamp(22px,3vw,32px)}
@media (min-width:900px){.offer{position:sticky;top:clamp(32px,6vw,72px);align-self:start}}
h1{font:500 clamp(40px,7vw,84px)/.95 var(--mono);letter-spacing:.02em;text-transform:uppercase;margin:0}
.role{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.promise{font:400 clamp(17px,1.8vw,21px)/1.6 var(--mono);margin:0;max-width:34ch}
.cta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 28px}

.cta a.txt{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);text-underline-offset:5px;text-decoration-color:var(--line)}
.cta a.txt:hover{text-decoration-color:var(--ink)}
a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.photo{aspect-ratio:4/3;width:100%;max-width:460px;background:linear-gradient(155deg,var(--surface),color-mix(in srgb,var(--accent) 35%,var(--surface)));display:flex;align-items:flex-end;padding:14px}
.strip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%;max-width:560px;margin-top:8px}
.strip .photo{aspect-ratio:4/5;padding:10px}
.strip .photo span{font-size:10px}
.photo span{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.record{padding-bottom:40px}
.blk{border-top:1px solid var(--line);padding-block:24px}
.blk:first-child{border-top:0;padding-top:6px}
@media (min-width:900px){.blk:first-child{border-top:1px solid var(--line);padding-top:24px}}
.lbl{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.record p{margin:0 0 12px;color:var(--muted)}
.record p.lead{color:var(--ink)}
ol{list-style:none;margin:0;padding:0}
ol li{display:grid;grid-template-columns:40px 1fr;padding-block:9px;border-bottom:1px solid var(--line)}
ol li:last-child{border-bottom:0}
ol li span{color:var(--muted)}
.focus li b{font-weight:500}
.caps li{text-transform:capitalize}
.focus li small{grid-column:2;color:var(--muted);font-size:14.5px;line-height:1.5}
.contact a{color:var(--ink);text-underline-offset:4px}
[hidden]{display:none!important}
.apply{max-width:760px;margin:0 auto;padding:clamp(32px,6vw,72px) max(20px,env(safe-area-inset-right,0px)) 72px max(20px,env(safe-area-inset-left,0px))}
.back{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);text-decoration:none}
.back:hover{color:var(--ink)}
.apply h2{font:500 clamp(34px,5.5vw,60px)/1 var(--mono);text-transform:uppercase;letter-spacing:.02em;margin:22px 0 14px}
.apply .intro{color:var(--muted);max-width:52ch;margin:0 0 40px}
form{display:grid;gap:26px}
.row2{display:grid;gap:26px;grid-template-columns:1fr}
@media (min-width:640px){.row2{grid-template-columns:1fr 1fr}}
label{display:block;font-size:13px;letter-spacing:.1em;text-transform:uppercase}
label i{font-style:normal;color:var(--muted);font-size:11px;margin-left:6px}
label>input,label>textarea,label>.sel{display:block;margin-top:8px}
input,select,textarea{font:400 16px var(--mono);color:var(--ink);background:var(--field);border:1px solid var(--ink);border-radius:0;padding:14px;width:100%;letter-spacing:0;text-transform:none;appearance:none;-webkit-appearance:none}
textarea{min-height:110px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:2px}
.sel{position:relative;display:block}
.sel::after{content:"";position:absolute;right:18px;top:50%;width:9px;height:9px;border-right:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);transform:translateY(-70%) rotate(45deg);pointer-events:none}
.sel select{padding-right:44px}
form button{justify-self:start;font:500 13px var(--mono);letter-spacing:.14em;text-transform:uppercase;background:var(--ink);color:var(--bg);border:0;border-radius:0;padding:18px 32px;cursor:pointer}
form button:hover{opacity:.85}
form button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
fieldset{border:0;padding:0;margin:0;min-width:0}
legend{padding:0;margin-bottom:8px;font-size:13px;letter-spacing:.1em;text-transform:uppercase}
.chipset{display:flex;flex-wrap:wrap;gap:8px}
label.chip{position:relative;display:inline-block;font-size:14px;letter-spacing:0;text-transform:none}
.chip input{position:absolute;opacity:0;width:1px;height:1px;padding:0;margin:0;border:0}
.chip span{display:inline-block;border:1px solid var(--ink);background:var(--field);padding:12px 16px;cursor:pointer;user-select:none}
.chip input:checked+span{background:var(--ink);color:var(--bg)}
.chip input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}
.err{color:#C0392B;font-size:13px;margin:10px 0 0}
.sent{border-top:1px solid var(--line);padding-top:24px;max-width:52ch}
.sent a{color:var(--ink);text-underline-offset:4px}
footer{grid-column:1/-1;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;border-top:1px solid var(--line);padding-block:20px 40px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}

/* Shared: blog, articles, legal */
.posts a.post{display:block;text-decoration:none;color:inherit;border-bottom:1px solid var(--line);padding-block:18px}
.posts a.post:first-child{padding-top:0}
.posts a.post:last-child{border-bottom:0}
.posts .pmeta{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.posts .ptitle{display:block;font-weight:500;margin:4px 0 2px;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px}
.posts a.post:hover .ptitle{text-decoration-color:var(--ink)}
.posts .pex{color:var(--muted);font-size:14.5px;line-height:1.55}
.article{max-width:720px;margin:0 auto;padding:clamp(32px,6vw,72px) max(20px,env(safe-area-inset-right,0px)) 0 max(20px,env(safe-area-inset-left,0px))}
.article .back{display:inline-block;margin-bottom:28px}
.article h1{font:500 clamp(30px,4.6vw,48px)/1.1 var(--mono);letter-spacing:0;text-transform:none;margin:10px 0 28px}
.article .hero-img{width:100%;height:auto;display:block;margin:0 0 32px}
.prose{font-family:"IBM Plex Sans",system-ui,sans-serif;font-size:17.5px;line-height:1.75;color:var(--ink)}
.prose p,.prose ul,.prose ol,.prose table,.prose blockquote{margin:0 0 1.1em}
.prose ul,.prose ol{padding-left:1.2em}
.prose li{margin-bottom:.35em}
.prose h2,.prose h3,.prose h4{font-family:var(--mono);font-weight:500;line-height:1.25;margin:1.8em 0 .6em}
.prose h2{font-size:24px}.prose h3{font-size:20px}.prose h4{font-size:17px}
.prose a{color:var(--ink);text-underline-offset:3px}
.prose img{max-width:100%;height:auto}
.prose table{border-collapse:collapse;width:100%;font-size:15px}
.prose th,.prose td{border-bottom:1px solid var(--line);padding:8px 6px;text-align:left}
.prose blockquote{border-left:2px solid var(--line);padding-left:16px;color:var(--muted)}
.prose .lead{font-size:19px}
.prose .updated{color:var(--muted);font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.endcta{border-top:1px solid var(--line);margin-top:48px;padding-block:28px}
.endcta p{margin:0;color:var(--muted)}
.endcta a{color:var(--ink);text-underline-offset:4px}
.article footer{margin-top:24px}
.news p{color:var(--muted);margin:0 0 18px}
.news form{gap:18px}
.article .news{margin-top:48px}
