/* zoranninic.com v1.0.7 · brand from the Aurelian seal: navy, gold, ivory */
@font-face{font-family:'Libre Caslon Text';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/libre-caslon-text-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Libre Caslon Text';font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/libre-caslon-text-latin-400-italic.woff2) format('woff2')}
@font-face{font-family:'Libre Caslon Text';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/libre-caslon-text-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/public-sans-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/public-sans-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/public-sans-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/jetbrains-mono-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/jetbrains-mono-latin-500-normal.woff2) format('woff2')}

:root{--navy:#1C3650;--navy-d:#132A40;--ivory:#F3EEE2;--ivory-d:#E7DFCD;--gold:#A67C3D;--gold-l:#C9A063;--ink:#17202B;--mute:#5E6672;--line:rgba(23,32,43,.14);
 --serif:'Libre Caslon Text',Georgia,'Times New Roman',serif;--sans:'Public Sans',system-ui,-apple-system,'Segoe UI',sans-serif;--mono:'JetBrains Mono',ui-monospace,Menlo,monospace;color-scheme:light}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--ivory);color:var(--ink);font-family:var(--sans);line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.skip{position:absolute;left:-9999px;top:0;background:var(--gold);color:#fff;padding:10px 16px;z-index:99}.skip:focus{left:12px;top:12px}
.wrap{max-width:1200px;margin:0 auto;padding-inline:24px}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
h1,h2,h3{font-family:var(--serif);font-weight:400;text-wrap:balance;line-height:1.1}
.btn{display:inline-flex;align-items:center;gap:8px;min-height:50px;padding:0 26px;font-weight:600;font-size:15px;border-radius:2px;transition:background-color .2s,color .2s}
.btn-gold{background:var(--gold);color:#fff}.btn-gold:hover{background:#8F6A33}
.btn-line{border:1px solid currentColor}.btn-line:hover{background:rgba(23,32,43,.06)}

/* nav */
.nav{position:sticky;top:0;z-index:30;background:rgba(28,54,80,.95);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--ivory)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 20px;padding-block:12px}
.nav .brand{font-family:var(--serif);font-size:22px;letter-spacing:.02em;display:flex;align-items:center;gap:10px}
.nav .brand .post{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;color:var(--gold-l);padding-top:3px;white-space:nowrap}
.nav ul{display:flex;gap:2px;list-style:none;padding:0;flex-wrap:wrap;align-items:center}
.nav li a{display:block;padding:10px 14px;font-size:15px;color:#D9D3C4;border-radius:2px}
.nav li a:hover,.nav li a[aria-current]{color:#fff}
.nav li a[aria-current]{box-shadow:inset 0 -2px 0 var(--gold)}
.nav li a.sub{background:var(--gold);color:#fff;margin-left:6px;font-weight:600}.nav li a.sub:hover{background:#8F6A33}

/* hero */
.hero{background:var(--navy);color:var(--ivory);position:relative;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:48px;align-items:end}
.hero .photo{align-self:stretch;position:relative;min-height:560px}
.hero .photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top}
.hero .photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(28,54,80,0) 70%,var(--navy) 100%),linear-gradient(0deg,var(--navy) 0%,rgba(28,54,80,0) 30%)}
.hero .text{padding-block:88px 72px}
.hero h1{font-size:clamp(38px,5vw,66px);margin-top:20px;color:#FBF8F0}
.hero p.lead{font-size:18px;max-width:560px;margin-top:24px;color:#D9D3C4}
.rule{height:2px;background:var(--gold);width:72px;margin-top:28px}

/* assumption dial */
.dial{margin-top:36px;background:var(--navy-d);border:1px solid rgba(243,238,226,.14);padding:22px 24px;max-width:560px}
.dial .row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.dial .big{font-family:var(--serif);font-size:48px;line-height:1}
.dial input{width:100%;margin-top:14px;accent-color:var(--gold);min-height:28px}
.dial .out{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid rgba(243,238,226,.14)}
.dial .out b{font-family:var(--serif);font-weight:400;font-size:28px;display:block}
.dial small{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:#A9B2BE;text-transform:uppercase}
.dial .note{display:block;margin-top:12px;text-transform:none;letter-spacing:0;font-family:var(--sans);font-size:12.5px}

/* credentials strip */
.strip{background:var(--ivory-d);border-block:1px solid var(--line)}
.strip .wrap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 40px;padding-block:18px;font-size:14px;line-height:1.45;color:var(--mute)}
.strip span{display:block}
.strip b{display:block;color:var(--ink);font-weight:600}

/* sections */
section.sec{padding-block:88px}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:40px}
.sec-head h2{font-size:clamp(32px,3.6vw,46px);margin-top:10px}
.link-u{font-weight:600;border-bottom:2px solid var(--gold);padding-bottom:4px}

/* briefing cards */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:24px}
.card{background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;min-width:0;transition:transform .3s,box-shadow .3s}
.card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(23,32,43,.08)}
.card .img{aspect-ratio:16/9;background:var(--navy);overflow:hidden;position:relative}
.card .img img{width:100%;height:100%;object-fit:cover}
.card .img.noimg{display:flex;align-items:center;justify-content:center}.card .img.noimg img{width:84px;height:84px;object-fit:contain}
.card .body{padding:22px 24px 26px;display:flex;flex-direction:column;gap:10px;flex:1}
.card .meta{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;color:var(--mute);text-transform:uppercase}
.card h3{font-size:24px}.card p{font-size:15px;color:var(--mute)}
.card .more{margin-top:auto;padding-top:8px;font-weight:600;color:var(--gold);font-size:14px}
.card.invite{background:var(--navy);color:var(--ivory);border-color:var(--navy);justify-content:center}
.card.invite .body{justify-content:center;gap:14px;padding:32px}
.card.invite h3{color:#FBF8F0}.card.invite p{color:#C9CFD8}.card.invite .more{color:var(--gold-l);margin-top:6px}
.card.invite img{width:72px;height:72px}

/* photo band */
.band{position:relative;min-height:420px;background:var(--navy);color:var(--ivory);display:flex;align-items:center;overflow:hidden}
.band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:75% center}
.band::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(19,42,64,.82) 0%,rgba(19,42,64,.55) 45%,rgba(19,42,64,0) 72%)}
.band .wrap{position:relative;z-index:1;padding-block:72px;width:100%}
.band blockquote{font-family:var(--serif);font-size:clamp(26px,2.8vw,38px);max-width:min(700px,52vw);line-height:1.25;color:#FBF8F0}
.band cite{display:block;font-style:normal;font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-l);margin-top:22px}

/* about (home teaser and about page) */
.about .wrap{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:64px;align-items:start}
.about h2{font-size:clamp(30px,3.4vw,44px);margin-top:10px}
.about p{font-size:17.5px;line-height:1.75;margin-top:16px;max-width:620px}
.about .side img{width:100%;aspect-ratio:4/5;object-fit:cover;background:var(--navy)}
.about .side figcaption{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--mute);margin-top:10px;text-transform:uppercase}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}

/* page header (about) */
.phead{background:var(--navy);color:var(--ivory)}
.phead .wrap{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:48px;align-items:end;padding-block:72px 0}
.phead h1{font-size:clamp(38px,4.6vw,60px);color:#FBF8F0;margin-top:16px}
.phead p.lead{font-size:18px;color:#D9D3C4;margin-top:20px;max-width:620px;padding-bottom:64px}
.phead .photo{position:relative;align-self:stretch;min-height:380px}
.phead .photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top}
.phead .photo::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,var(--navy) 0%,rgba(28,54,80,0) 35%)}

/* experience */
.cv{background:#fff;border-block:1px solid var(--line)}
.cv .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.2fr);gap:48px;padding-block:80px}
.cv h2{font-size:clamp(30px,3.4vw,42px);margin-top:10px}
.cv .intro{margin-top:18px;color:var(--mute);font-size:15.5px}
.cv .row{display:grid;grid-template-columns:140px minmax(0,1fr);gap:8px 24px;padding-block:22px;border-top:1px solid var(--line)}
.cv .row:last-of-type{border-bottom:1px solid var(--line)}
.cv .yr{font-family:var(--mono);font-size:12.5px;color:var(--gold);padding-top:4px}
.cv .role{font-family:var(--serif);font-size:22px;line-height:1.25}.cv .org{font-size:14.5px;color:var(--mute);margin-top:2px}
.cv .what{font-size:15px;margin-top:8px;line-height:1.6;max-width:600px}
.cv h3.sub{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-top:44px}
.edu{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:18px}
.edu div{border-top:2px solid var(--navy);padding-top:12px}.edu b{display:block;font-weight:600}.edu span{font-size:14px;color:var(--mute)}

/* expertise */
.areas{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:24px}
.areas div{border-top:2px solid var(--gold);padding-top:16px}
.areas h3{font-size:22px}.areas p{font-size:15px;color:var(--mute);margin-top:8px}

/* speaking and subscribe */
.dark{background:var(--navy);color:var(--ivory)}
.dark .wrap{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:48px;align-items:center;padding-block:72px}
.dark h2{font-size:clamp(30px,3.4vw,42px);color:#FBF8F0;margin-top:10px}
.tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.tags span{border:1px solid rgba(243,238,226,.3);padding:9px 16px;font-size:14px;color:#D9D3C4}
.dark .contact{margin-top:24px;color:#C9CFD8;font-size:15px}.dark .contact a{color:var(--gold-l);font-weight:600;border-bottom:1px solid currentColor}
.subbox{background:var(--navy-d);border:1px solid rgba(243,238,226,.14);padding:28px}
.subbox h2{font-size:28px!important}
.subbox p{font-size:14.5px;color:#C9CFD8;margin-top:12px}
.subbox .btn{margin-top:20px}
.subbox small{display:block;font-size:12.5px;color:#A9B2BE;margin-top:12px}

/* footer */
footer{background:var(--navy-d);color:#A9B2BE;font-size:13px}
footer .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px 24px;padding-block:32px}
footer nav{display:flex;flex-wrap:wrap;gap:6px 18px}footer nav a{color:#D9D3C4}footer nav a:hover{color:#fff}

/* 404 */
.nf{min-height:70vh;display:flex;align-items:center;background:var(--navy);color:var(--ivory)}
.nf h1{font-size:clamp(40px,6vw,72px);color:#FBF8F0;margin-top:14px}.nf p{margin-top:18px;color:#D9D3C4;font-size:18px}

@media (max-width:860px){
.strip .wrap{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 22px;font-size:13.5px}.strip .now{grid-column:1/-1}
@media (max-width:560px){.strip .wrap{grid-template-columns:1fr;gap:10px}}
 .hero .wrap,.about .wrap,.cv .wrap,.dark .wrap,.phead .wrap{grid-template-columns:1fr}
 .hero .wrap{gap:0}.hero .photo{min-height:440px;margin-inline:-24px}
 .hero .text{padding-block:28px 56px}
 .phead .wrap{gap:0;padding-top:48px}.phead p.lead{padding-bottom:32px}.phead .photo{min-height:360px;margin-inline:-24px}
 .cv .row{grid-template-columns:1fr}.cv .wrap{padding-block:56px;gap:28px}
 section.sec{padding-block:64px}.about .wrap{gap:36px}
 .nav .brand{font-size:20px}.nav li a{padding:8px 10px;font-size:14px}
 .band::after{background:linear-gradient(180deg,rgba(19,42,64,.55) 0%,rgba(19,42,64,.8) 100%)}.band blockquote{max-width:none}
 .dial{padding:18px}.dial .big{font-size:40px}.dial .out b{font-size:23px;white-space:nowrap}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card{transition:none}.card:hover{transform:none}}
