
:root{--red:#d32d3a;--ink:#0a0a0a;--mut:#5c5c5c;--line:#e3e3e3;--soft:#f4f4f4;--max:1160px}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;background:#fff}
body{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;font-weight:300;color:var(--ink);background:transparent;-webkit-font-smoothing:antialiased;line-height:1.5;min-height:100vh;display:flex;flex-direction:column}
a{color:inherit}
#contours{position:fixed;inset:0;width:100vw;height:100vh;z-index:-1;pointer-events:none}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip{position:absolute;left:12px;top:-60px;background:#000;color:#fff;padding:10px 16px;z-index:100;border-radius:8px;text-decoration:none;font-size:14px}.skip:focus{top:12px}

/* header */
.hd{position:fixed;top:0;left:0;right:0;z-index:50;transition:background .3s,box-shadow .3s,backdrop-filter .3s}
.hd.s{background:rgba(255,255,255,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line)}
.hd-in{max-width:1400px;margin:0 auto;height:78px;padding:0 40px;display:flex;align-items:center;justify-content:space-between;position:relative}
.logo{font:italic 600 30px/.82 Inter,sans-serif;letter-spacing:-.06em;text-decoration:none;transform:skewX(-6deg);display:block}
.logo span{display:block}.logo span+span{margin-left:.5em}
.sig{display:block;height:38px;aspect-ratio:520/313;background:currentColor;-webkit-mask:url(/assets/img/signature.png) center/contain no-repeat;mask:url(/assets/img/signature.png) center/contain no-repeat}
.hd .sig{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
.hd-sig{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:block}.hd-sig .sig{position:static;transform:none}
.nav{display:flex;align-items:center;gap:34px;font-size:13px;font-weight:500;letter-spacing:.1em;text-transform:uppercase}
.nav a{text-decoration:none;position:relative;padding:6px 0}
.nav a:not(.cv)::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s}
.nav a:hover::after,.nav a[aria-current]::after{transform:scaleX(1)}
.cv{background:#000;color:#fff;padding:12px 20px!important;transform:skewX(-8deg);transition:background .3s}.cv span{display:inline-block;transform:skewX(8deg)}.cv:hover{background:var(--red)}
.bg{display:none;background:none;border:0;width:40px;height:16px;position:relative;cursor:pointer;color:inherit}
.bg i{position:absolute;left:0;right:0;height:3px;background:currentColor;transition:transform .4s}.bg i:first-child{top:0}.bg i:last-child{bottom:0}
.bg[aria-expanded=true] i:first-child{transform:translateY(6.5px) rotate(45deg)}.bg[aria-expanded=true] i:last-child{transform:translateY(-6.5px) rotate(-45deg)}

/* main */
main{flex:1;width:100%;max-width:var(--max);margin:0 auto;padding:130px 40px 90px}
.crumb{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;margin-bottom:56px}
.crumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:0;list-style:none;background:rgba(255,255,255,.8);backdrop-filter:blur(6px);border:1px solid var(--line);border-radius:999px;padding:7px 8px}
.crumb li{display:flex;align-items:center}
.crumb li+li::before{content:"";width:6px;height:6px;border-top:1.5px solid #999;border-right:1.5px solid #999;transform:rotate(45deg);margin:0 12px 0 6px}
.crumb a{text-decoration:none;color:var(--mut);padding:5px 12px;border-radius:999px;transition:background .25s,color .25s}.crumb a:hover{background:#000;color:#fff}
.crumb li:last-child{font-weight:500;padding:5px 12px;background:#000;color:#fff;border-radius:999px}
.crumb li:first-child a::before{content:"⌂";margin-right:7px}
.chip{display:inline-flex;align-items:center;gap:10px;font:500 12px Inter,sans-serif;letter-spacing:.16em;text-transform:uppercase;margin-bottom:26px}
.chip::before{content:"";width:28px;height:1px;background:var(--red)}.chip{color:var(--red)}
h1{font-size:clamp(46px,8.4vw,128px);font-weight:300;letter-spacing:-.055em;line-height:.96;max-width:1000px}
.lead{font-size:clamp(20px,2.2vw,30px);letter-spacing:-.03em;line-height:1.25;max-width:760px;margin-top:30px;color:#222}
.meta{display:grid;grid-template-columns:repeat(3,1fr);margin-top:64px;border-top:1px solid #000;border-bottom:1px solid var(--line)}
.meta div{padding:22px 24px 24px 0;font:500 11px Inter,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--mut)}
.meta div+div{padding-left:24px;border-left:1px solid var(--line)}
.meta b{display:block;margin-top:10px;font:300 clamp(20px,2.2vw,30px)/1.15 Inter,sans-serif;letter-spacing:-.035em;text-transform:none;color:var(--ink)}

.blk{display:grid;grid-template-columns:220px 1fr;gap:40px;padding:60px 0;border-bottom:1px solid var(--line)}
.blk h2{font:500 12px Inter,sans-serif;letter-spacing:.16em;text-transform:uppercase;position:sticky;top:110px;align-self:start;display:flex;gap:14px;align-items:baseline}
.blk h2 em{font-style:normal;color:var(--red)}
.blk .tx p{font-size:clamp(18px,1.55vw,21px);line-height:1.7;max-width:680px;color:#2a2a2a}.blk .tx p+p{margin-top:24px}
.blk .tx p:first-child::first-line{font-weight:400}
.out .tx{background:var(--soft);border-radius:16px;padding:34px 38px;border:1px solid var(--line)}
.out .tx p{font-size:clamp(20px,1.9vw,26px);letter-spacing:-.025em;line-height:1.4;color:#000}
.les{border-bottom:0}.les .tx p{font-size:clamp(26px,3.4vw,52px);letter-spacing:-.045em;line-height:1.08;color:#000;max-width:880px}
.les .tx p::before{content:"“";display:block;font-size:1.6em;line-height:.6;color:var(--red);margin-bottom:.18em}
.cl{display:flex;align-items:center;justify-content:space-between;gap:20px;text-decoration:none;padding:22px 0;border-bottom:1px solid var(--line);font-size:clamp(24px,3vw,40px);letter-spacing:-.04em;transition:padding .35s,color .3s}
.cl:first-child{border-top:1px solid var(--line)}.cl:hover{padding-left:16px;color:var(--red)}.cl em{font-style:normal;font-size:.7em;transition:transform .35s}.cl:hover em{transform:translateX(8px)}

.pn{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;margin-top:70px;align-items:stretch}
.pn a{display:flex;flex-direction:column;gap:6px;text-decoration:none;border:1px solid #000;border-radius:14px;padding:22px 26px;background:rgba(255,255,255,.85);transition:background .3s,color .3s,transform .3s}
.pn a small{font:500 11px Inter,sans-serif;letter-spacing:.16em;text-transform:uppercase;opacity:.6}.pn a b{font-weight:300;font-size:clamp(20px,2.2vw,30px);letter-spacing:-.035em}
.pn a:hover{background:#000;color:#fff;transform:translateY(-3px)}.pn .nx{text-align:right;align-items:flex-end}
.pn .all{justify-content:center;align-items:center;text-align:center;border-radius:999px;padding:0 30px;font:500 12px Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase}
.cta{margin-top:90px;background:#000;color:#fff;border-radius:22px;padding:clamp(34px,5vw,64px);display:flex;flex-wrap:wrap;gap:30px;align-items:center;justify-content:space-between;position:relative;overflow:hidden}
.cta::after{content:"";position:absolute;right:-8%;top:-60%;width:46%;aspect-ratio:1;border-radius:50%;background:var(--red);filter:blur(90px);opacity:.35}
.cta>*{position:relative;z-index:1}
.cta h3{font-weight:300;font-size:clamp(28px,4vw,56px);letter-spacing:-.05em;line-height:1}
.cta .row{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.btn{display:inline-block;text-decoration:none;font:500 13px Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;padding:16px 26px;transform:skewX(-8deg);background:#fff;color:#000;transition:background .3s,color .3s}.btn span{display:inline-block;transform:skewX(8deg)}
.btn:hover{background:var(--red);color:#fff}.btn.o{background:transparent;color:#fff;border:1px solid #fff6}.btn.o:hover{background:#fff;color:#000}

/* index cards */
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:70px}
.card{display:flex;flex-direction:column;gap:14px;min-height:280px;text-decoration:none;border:1px solid #000;border-radius:16px;padding:28px;background:rgba(255,255,255,.88);transition:transform .45s cubic-bezier(.2,.8,.2,1),background .35s,color .35s;position:relative;overflow:hidden}
.card:hover{background:#000;color:#fff;transform:translateY(-6px)}
.card .n{font:500 12px Inter,sans-serif;letter-spacing:.16em;opacity:.55}
.card .t{font-size:clamp(28px,3.4vw,46px);font-weight:300;letter-spacing:-.05em;line-height:1}
.card p{font-size:16px;line-height:1.5;opacity:.75;max-width:460px}
.card .f{margin-top:auto;display:flex;justify-content:space-between;align-items:center;font:500 11px Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase}
.card .f em{font-style:normal;font-size:20px;transition:transform .35s}.card:hover .f em{transform:translateX(6px)}
.tag{border:1px solid currentColor;border-radius:999px;padding:5px 12px;opacity:.7}

/* footer */
.ft{background:#000;color:#fff;position:relative;overflow:hidden}
.ft::before{content:"";position:absolute;left:-10%;bottom:-40%;width:50%;aspect-ratio:1;border-radius:50%;background:var(--red);filter:blur(120px);opacity:.28}
.ft-in{position:relative;max-width:1400px;margin:0 auto;padding:90px 40px 34px}
.ft-top{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.1fr;gap:40px}
.ft .big{display:block;height:clamp(70px,9vw,120px);color:#fff}.ft .big.sig{aspect-ratio:520/313;height:clamp(90px,11vw,150px)}
.ft p.k{margin-top:22px;max-width:320px;opacity:.65;font-size:15px;line-height:1.5}
.ft h4{font:500 11px Inter,sans-serif;letter-spacing:.18em;text-transform:uppercase;opacity:.5;margin-bottom:22px}
.ft ul{list-style:none;display:grid;gap:12px}
.ft ul a{text-decoration:none;font-size:18px;letter-spacing:-.02em;opacity:.9;transition:opacity .25s,padding .3s}.ft ul a:hover{opacity:1;padding-left:6px;color:#fff;text-shadow:0 0 1px #fff}
.ft .cv{display:inline-block;margin-top:22px;background:#fff;color:#000}.ft .cv:hover{background:var(--red);color:#fff}
.ft-bot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;margin-top:80px;padding-top:24px;border-top:1px solid #ffffff26;font-size:13px;opacity:.65}
.ft-bot a{text-decoration:none}.ft-bot a:hover{text-decoration:underline}

@media (max-width:900px){
 .hd-in{height:66px;padding:0 20px}.logo{font-size:24px}.hd .sig{height:28px}
 .nav{position:fixed;left:0;right:0;top:66px;flex-direction:column;align-items:flex-start;gap:0;background:#fff;padding:10px 20px 24px;border-bottom:1px solid var(--line);transform:translateY(-12px);opacity:0;visibility:hidden;transition:.3s}
 .nav.o{transform:none;opacity:1;visibility:visible}.nav a{width:100%;padding:16px 0;border-bottom:1px solid var(--line);font-size:15px}.nav a::after{display:none}.nav .cv{margin-top:16px;width:auto;text-align:center;border:0;transform:none}.nav .cv span{transform:none}
 .bg{display:block}
 main{padding:104px 20px 70px}.crumb{margin-bottom:36px}
 .meta{grid-template-columns:1fr}.meta div+div{padding-left:0;border-left:0;border-top:1px solid var(--line)}
 .blk{grid-template-columns:1fr;gap:20px;padding:40px 0}.blk h2{position:static}
 .out .tx{padding:24px}
 .pn{grid-template-columns:1fr}.pn .all{padding:16px 24px;border-radius:14px}.pn .nx{text-align:left;align-items:flex-start}
 .grid{grid-template-columns:1fr;margin-top:44px}
 .ft-top{grid-template-columns:1fr 1fr}.ft-top>div:first-child{grid-column:1/-1}.ft-in{padding:64px 20px 28px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* sentence case everywhere (logo wordmark keeps its caps) */
*,*::before,*::after{text-transform:none!important}
.logo,.logo *{text-transform:uppercase!important}
