

:root{
  --bg:#EDE9E0;
  --surface:#F4F1EA;
  --surface-2:#E6E1D2;
  --ink:#141310;
  --ink-2:#2B2925;
  --muted:#6E6A5F;
  --line:#C9C3B3;
  --line-2:#DBD5C6;
  --accent:#8B2E1B;
  --accent-soft:#A94A32;
  --grain: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.08  0 0 0 0 0.07  0 0 0 0 0.06  0 0 0 0.055 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}

*{box-sizing:border-box;margin:0;padding:0}

::selection{background:var(--ink);color:var(--bg)}

html.site-html{scroll-behavior:smooth}

body.site-page{background:var(--bg);
  color:var(--ink);
  font-family:"Instrument Sans", ui-sans-serif, system-ui, sans-serif;
  font-size:16px;
  line-height:1.55;
  font-feature-settings:"ss01","cv11";
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;}

body.site-page::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:1;
  background-image:var(--grain);opacity:.55;mix-blend-mode:multiply;}

body.site-page a{color:inherit;text-decoration:none}

body.site-page .mono{font-family:"JetBrains Mono", ui-monospace, monospace;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}

body.site-page .serif{font-family:"Fraunces", "Times New Roman", serif;font-variation-settings:"opsz" 120,"SOFT" 40}

body.site-page .container{max-width:1280px;margin:0 auto;padding:0 32px;position:relative;z-index:2}

@media(max-width:640px){
body.site-page .container{padding:0 20px}
}

body.site-page nav{position:sticky;top:0;background:rgba(237,233,224,.88);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);z-index:50}

body.site-page .nav-inner{display:flex;justify-content:space-between;align-items:center;padding:14px 32px;max-width:1280px;margin:0 auto;gap:24px}

body.site-page .brand{display:flex;align-items:center;gap:12px}

body.site-page .brand-mark{width:30px;height:30px;display:grid;place-items:center}

body.site-page .brand-mark svg{width:100%;height:100%}

body.site-page .brand-name{font-family:"Fraunces",serif;font-weight:500;font-size:1.4rem;letter-spacing:.02em;font-variation-settings:"opsz" 144,"SOFT" 30}

body.site-page .brand-name em{font-style:italic;font-weight:400}

body.site-page .nav-links{display:flex;gap:36px;align-items:center}

body.site-page .nav-links a{font-size:.92rem;position:relative;padding:4px 0;transition:color .2s}

body.site-page .nav-links a::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:var(--ink);transition:width .35s cubic-bezier(.2,.8,.2,1)}

body.site-page .nav-links a:hover::after{width:100%}

body.site-page .nav-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}

body.site-page .nav-login{font-family:"JetBrains Mono",monospace;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);padding:0 14px;min-height:54px;display:inline-flex;align-items:center;gap:10px;line-height:1;transition:color .25s;flex-shrink:0;white-space:nowrap;position:relative;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}

body.site-page .nav-login::after{content:"";position:absolute;left:14px;right:14px;bottom:13px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.2,.8,.2,1);display:block !important}

body.site-page .nav-login svg{width:14px;height:14px;flex-shrink:0}

body.site-page .nav-login span{display:inline-block;position:relative;top:1px;line-height:1.2;font-weight:500}

body.site-page .nav-login:hover{color:var(--accent)}

body.site-page .nav-login:hover::after{transform:scaleX(1)}

body.site-page .nav-toggle{display:none;background:none;border:1px solid var(--ink);cursor:pointer;padding:10px 14px;font-family:"JetBrains Mono",monospace;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);align-items:center;gap:12px;transition:background .25s,color .25s}

body.site-page .nav-toggle:hover{background:var(--ink);color:var(--bg)}

body.site-page .nav-toggle-bars{width:22px;height:14px;display:block;position:relative}

body.site-page .nav-toggle-bars span{display:block;width:100%;height:1px;background:currentColor;position:absolute;left:0;transition:transform .35s cubic-bezier(.2,.8,.2,1),top .35s cubic-bezier(.2,.8,.2,1)}

body.site-page .nav-toggle-bars span:nth-child(1){top:4px}

body.site-page .nav-toggle-bars span:nth-child(2){top:9px}

body.site-page .nav-toggle.open .nav-toggle-bars span:nth-child(1){top:6.5px;transform:rotate(45deg)}

body.site-page .nav-toggle.open .nav-toggle-bars span:nth-child(2){top:6.5px;transform:rotate(-45deg)}

body.site-page .mobile-menu{position:fixed;inset:0;background:var(--bg);z-index:49;padding:104px 28px 36px;display:flex;flex-direction:column;justify-content:space-between;opacity:0;visibility:hidden;transition:opacity .4s ease,visibility .4s ease;pointer-events:none}

body.site-page .mobile-menu.open{opacity:1;visibility:visible;pointer-events:auto}

body.site-page .mobile-menu::before{content:"";position:absolute;inset:0;background-image:var(--grain);opacity:.55;mix-blend-mode:multiply;pointer-events:none}

body.site-page .mobile-menu-tag{position:relative;z-index:2;font-family:"JetBrains Mono",monospace;font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-bottom:32px;display:flex;align-items:center;gap:10px}

body.site-page .mobile-menu-tag::before{content:"";width:24px;height:1px;background:var(--muted)}

body.site-page .mobile-menu-links{list-style:none;display:flex;flex-direction:column;position:relative;z-index:2}

body.site-page .mobile-menu-links li{border-top:1px solid var(--line-2);padding:18px 0;display:flex;align-items:baseline;gap:20px;opacity:0;transform:translateY(8px);transition:opacity .5s,transform .5s}

body.site-page .mobile-menu-links li:last-child{border-bottom:1px solid var(--line-2)}

body.site-page .mobile-menu.open .mobile-menu-links li{opacity:1;transform:translateY(0)}

body.site-page .mobile-menu.open .mobile-menu-links li:nth-child(1){transition-delay:.08s}

body.site-page .mobile-menu.open .mobile-menu-links li:nth-child(2){transition-delay:.14s}

body.site-page .mobile-menu.open .mobile-menu-links li:nth-child(3){transition-delay:.2s}

body.site-page .mobile-menu.open .mobile-menu-links li:nth-child(4){transition-delay:.26s}

body.site-page .mobile-menu.open .mobile-menu-links li:nth-child(5){transition-delay:.32s}

body.site-page .mobile-menu-links .num{font-family:"JetBrains Mono",monospace;font-size:.62rem;letter-spacing:.2em;color:var(--muted);min-width:42px;padding-top:6px}

body.site-page .mobile-menu-links a{font-family:"Fraunces",serif;font-weight:400;font-size:1.85rem;font-variation-settings:"opsz" 96,"SOFT" 40;letter-spacing:-.01em;line-height:1.05;color:var(--ink);transition:color .2s;flex:1}

body.site-page .mobile-menu-links a em{font-style:italic;color:var(--ink-2)}

body.site-page .mobile-menu-links a:hover,body.site-page .mobile-menu-links a:active{color:var(--accent)}

body.site-page .mobile-menu-foot{position:relative;z-index:2;padding-top:28px;font-family:"JetBrains Mono",monospace;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);display:flex;flex-direction:column;gap:10px}

body.site-page .mobile-menu-foot a{color:var(--ink)}

body.site-page .mobile-menu-client{position:relative;z-index:2;margin-top:32px;padding:18px 0;display:inline-flex;align-items:center;gap:14px;color:var(--ink);transition:color .25s;border-bottom:1px solid transparent}

body.site-page .mobile-menu-client:hover,body.site-page .mobile-menu-client:active{color:var(--accent)}

body.site-page .mobile-menu-client svg{width:16px;height:16px;flex-shrink:0;transition:transform .25s}

body.site-page .mobile-menu-client:hover svg,body.site-page .mobile-menu-client:active svg{transform:translateX(2px)}

body.site-page .mobile-menu-client-label{font-family:"JetBrains Mono",monospace;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;line-height:1}

body.site-page.menu-open{overflow:hidden}

@media(max-width:820px){
body.site-page .nav-toggle{display:flex}

body.site-page .nav-links,body.site-page .nav-login{display:none}
}

body.site-page .hero{padding:120px 0 140px;position:relative}

body.site-page .hero-grid{display:grid;grid-template-columns:1fr 11fr;gap:32px}

@media(max-width:900px){
body.site-page .hero-grid{grid-template-columns:1fr;gap:18px}
}

body.site-page .hero-num{font-family:"JetBrains Mono",monospace;font-size:.72rem;letter-spacing:.18em;color:var(--muted);padding-top:14px}

body.site-page .hero-tag{display:inline-flex;align-items:center;gap:10px;font-family:"JetBrains Mono",monospace;font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-bottom:42px}

body.site-page .hero-tag::before{content:"";width:28px;height:1px;background:var(--muted)}

body.site-page .hero h1{font-family:"Fraunces",serif;
  font-weight:340;
  font-variation-settings:"opsz" 144,"SOFT" 50;
  font-size:clamp(2.6rem,6.2vw,6.2rem);
  line-height:.98;
  letter-spacing:-.025em;
  color:var(--ink);
  max-width:14ch;}

body.site-page .hero h1 em{font-style:italic;font-weight:300;color:var(--ink-2)}

body.site-page .hero h1 .acc{color:var(--accent);font-style:italic;font-weight:300}

body.site-page .hero-sub{margin-top:44px;max-width:58ch;font-size:1.12rem;line-height:1.55;color:var(--ink-2)}

body.site-page .hero-meta{display:grid;grid-template-columns:repeat(3,auto);gap:56px;margin-top:72px;padding-top:28px;border-top:1px solid var(--line);justify-content:start}

@media(max-width:640px){
body.site-page .hero-meta{grid-template-columns:1fr 1fr;gap:28px}
}

body.site-page .hero-meta dt{font-family:"JetBrains Mono",monospace;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}

body.site-page .hero-meta dd{font-family:"Fraunces",serif;font-size:1.35rem;font-weight:400;font-variation-settings:"opsz" 72,"SOFT" 30;white-space:nowrap}

body.site-page .hero-actions{display:flex;gap:24px;align-items:center;margin-top:48px;flex-wrap:wrap}

body.site-page .btn-primary{font-family:"JetBrains Mono",monospace;font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;background:var(--ink);color:var(--bg);padding:16px 28px;display:inline-flex;align-items:center;gap:14px;transition:background .25s,transform .25s}

body.site-page .btn-primary:hover{background:var(--accent);transform:translateY(-1px)}

body.site-page .btn-primary span{width:18px;height:1px;background:currentColor;position:relative;transition:width .25s}

body.site-page .btn-primary:hover span{width:26px}

body.site-page .btn-ghost{font-size:.95rem;border-bottom:1px solid var(--ink);padding-bottom:2px;transition:color .2s,border-color .2s}

body.site-page .btn-ghost:hover{color:var(--accent);border-color:var(--accent)}

body.site-page .section{padding:120px 0;position:relative}

body.site-page .section-head{display:grid;grid-template-columns:1fr 11fr;gap:32px;margin-bottom:72px}

@media(max-width:900px){
body.site-page .section-head{grid-template-columns:1fr;gap:18px}
}

body.site-page .section-num{font-family:"JetBrains Mono",monospace;font-size:.76rem;letter-spacing:.2em;color:var(--muted);padding-top:10px}

body.site-page .section-title{font-family:"Fraunces",serif;font-weight:340;font-variation-settings:"opsz" 144,"SOFT" 40;font-size:clamp(2rem,4.2vw,3.6rem);line-height:1.02;letter-spacing:-.02em;max-width:20ch}

body.site-page .section-title em{font-style:italic;font-weight:300}

body.site-page .section-lead{font-size:1.08rem;color:var(--ink-2);max-width:58ch;margin-top:28px;line-height:1.55}

body.site-page .services{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface)}

body.site-page .services-grid{display:grid;grid-template-columns:1fr 11fr;gap:32px}

@media(max-width:900px){
body.site-page .services-grid{grid-template-columns:1fr}
}

body.site-page .services-list{display:flex;flex-direction:column}

body.site-page .service-row{display:grid;
  grid-template-columns:auto 1.1fr 1fr;
  gap:56px;
  padding:56px 0;
  border-top:1px solid var(--line-2);
  align-items:start;
  transition:transform .45s cubic-bezier(.2,.8,.2,1);
  will-change:transform;}

body.site-page .service-row:first-child{border-top:none}

body.site-page .service-row:hover{transform:translateX(12px)}

body.site-page .service-numeral{font-family:"Fraunces",serif;
  font-weight:300;
  font-style:italic;
  font-size:clamp(3rem,5.6vw,5rem);
  line-height:.85;
  color:var(--accent);
  font-variation-settings:"opsz" 144,"SOFT" 80;
  min-width:90px;}

body.site-page .service-body .mono{margin-bottom:18px;display:block}

body.site-page .service-body h3{font-family:"Fraunces",serif;
  font-weight:400;
  font-size:clamp(1.5rem,2.6vw,2.1rem);
  font-variation-settings:"opsz" 72,"SOFT" 30;
  letter-spacing:-.015em;
  line-height:1.05;
  margin-bottom:18px;}

body.site-page .service-body h3 em{font-style:italic;color:var(--ink-2)}

body.site-page .service-body p{font-size:1.02rem;color:var(--ink-2);line-height:1.6;max-width:48ch}

body.site-page .service-deliv{border-left:1px solid var(--line);padding-left:32px}

body.site-page .service-deliv .mono{margin-bottom:18px;display:block}

body.site-page .service-deliv ul{list-style:none;display:flex;flex-direction:column;gap:12px}

body.site-page .service-deliv li{font-family:"Fraunces",serif;
  font-size:1.05rem;
  font-variation-settings:"opsz" 72;
  color:var(--ink);
  padding-left:22px;
  position:relative;
  line-height:1.4;}

body.site-page .service-deliv li::before{content:"→";position:absolute;left:0;color:var(--accent)}

@media(max-width:900px){
body.site-page .service-row{grid-template-columns:1fr;gap:28px;padding:44px 0}

body.site-page .service-row:hover{transform:none}

body.site-page .service-deliv{border-left:none;border-top:1px solid var(--line);padding-left:0;padding-top:22px}
}

body.site-page .services-note{margin-top:72px;
  padding:36px 0 0;
  border-top:1px solid var(--line-2);
  display:grid;
  grid-template-columns:1fr 11fr;
  gap:32px;}

body.site-page .services-note .mono{padding-top:6px}

body.site-page .services-note p{font-family:"Fraunces",serif;
  font-weight:300;
  font-style:italic;
  font-variation-settings:"opsz" 96,"SOFT" 50;
  font-size:clamp(1.1rem,1.6vw,1.35rem);
  line-height:1.45;
  color:var(--ink-2);
  max-width:62ch;
  letter-spacing:-.005em;}

body.site-page .services-focus{margin-top:88px;
  padding:52px 56px;
  background:var(--surface-2);
  border:1px solid var(--line);
  display:grid;
  grid-template-columns:auto 1fr;
  gap:56px;
  position:relative;}

body.site-page .services-focus::before{content:"";
  position:absolute;
  top:-1px;left:-1px;
  width:46px;height:46px;
  border-top:1px solid var(--accent);
  border-left:1px solid var(--accent);
  pointer-events:none;}

body.site-page .services-focus::after{content:"";
  position:absolute;
  bottom:-1px;right:-1px;
  width:46px;height:46px;
  border-bottom:1px solid var(--accent);
  border-right:1px solid var(--accent);
  pointer-events:none;}

body.site-page .services-focus-mark{display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:22px;
  min-width:170px;}

body.site-page .services-focus-glyph{font-family:"Fraunces",serif;
  font-style:italic;
  font-weight:300;
  font-size:5rem;
  color:var(--accent);
  line-height:.8;
  font-variation-settings:"opsz" 144,"SOFT" 80;}

body.site-page .services-focus-body h3{font-family:"Fraunces",serif;
  font-weight:340;
  font-variation-settings:"opsz" 144,"SOFT" 40;
  font-size:clamp(1.6rem,3vw,2.4rem);
  letter-spacing:-.02em;
  line-height:1.05;
  margin-bottom:24px;
  max-width:24ch;
  color:var(--ink);}

body.site-page .services-focus-body h3 em{font-style:italic;font-weight:300;color:var(--ink-2)}

body.site-page .services-focus-body p{font-size:1rem;
  color:var(--ink-2);
  line-height:1.65;
  margin-bottom:16px;
  max-width:62ch;}

body.site-page .services-focus-body p:last-child{margin-bottom:0}

@media(max-width:760px){
body.site-page .services-focus{grid-template-columns:1fr;gap:28px;padding:36px 28px;margin-top:64px}

body.site-page .services-focus-mark{flex-direction:row;align-items:center;gap:18px;min-width:0}

body.site-page .services-focus-glyph{font-size:2.6rem}
}

@media(max-width:900px){
body.site-page .services-note{grid-template-columns:1fr;gap:18px}
}

body.site-page .approche-grid{display:grid;grid-template-columns:1fr 11fr;gap:32px}

@media(max-width:900px){
body.site-page .approche-grid{grid-template-columns:1fr}
}

body.site-page .approche-body{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}

@media(max-width:800px){
body.site-page .approche-body{grid-template-columns:1fr;gap:44px}
}

body.site-page .approche-col p{font-size:1.02rem;color:var(--ink-2);margin-bottom:18px;line-height:1.6}

body.site-page .approche-col p strong{color:var(--ink);font-weight:500}

body.site-page .approche-col h3{font-family:"Fraunces",serif;font-weight:400;font-size:1.4rem;font-variation-settings:"opsz" 72;margin-bottom:20px;display:flex;align-items:baseline;gap:14px}

body.site-page .approche-col h3 .lbl{font-family:"JetBrains Mono",monospace;font-size:.66rem;color:var(--accent);letter-spacing:.2em;text-transform:uppercase;font-weight:500}

body.site-page .methode{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}

body.site-page .steps{display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  background:var(--line-2);
  border-top:1px solid var(--line-2);
  border-bottom:1px solid var(--line-2);
  margin-top:40px;}

@media(max-width:900px){
body.site-page .steps{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:560px){
body.site-page .steps{grid-template-columns:1fr}
}

body.site-page .step{padding:44px 32px 48px;background:var(--surface);position:relative;transition:background .35s}

body.site-page .step:hover{background:#EEE6D0}

body.site-page .step-num{font-family:"JetBrains Mono",monospace;font-size:.68rem;letter-spacing:.2em;color:var(--muted);margin-bottom:40px;display:flex;justify-content:space-between;align-items:center}

body.site-page .step-num .dot{width:6px;height:6px;background:var(--accent);border-radius:50%;opacity:.7}

body.site-page .step h4{font-family:"Fraunces",serif;font-weight:400;font-variation-settings:"opsz" 72,"SOFT" 30;font-size:1.55rem;letter-spacing:-.01em;margin-bottom:14px;line-height:1.1}

body.site-page .step h4 em{font-style:italic;color:var(--ink-2)}

body.site-page .step p{font-size:.94rem;color:var(--ink-2);line-height:1.55}

body.site-page .expertise-layout{display:grid;grid-template-columns:7fr 5fr;gap:72px;align-items:start}

@media(max-width:900px){
body.site-page .expertise-layout{grid-template-columns:1fr;gap:48px}
}

body.site-page .expertise-prose p{font-size:1.05rem;color:var(--ink-2);margin-bottom:20px;line-height:1.65}

body.site-page .expertise-prose p:first-of-type::first-letter{font-family:"Fraunces",serif;font-size:4.6rem;font-weight:300;
  font-variation-settings:"opsz" 144,"SOFT" 80;
  float:left;line-height:.85;margin:6px 12px 0 0;color:var(--ink);}

body.site-page .cred-card{border:1px solid var(--line);padding:36px 32px;background:var(--surface);position:relative}

body.site-page .cred-card::before{content:"§";position:absolute;top:-14px;left:28px;background:var(--bg);padding:0 10px;font-family:"Fraunces",serif;font-size:1.4rem;color:var(--accent);font-style:italic}

body.site-page .cred-card .mono{margin-bottom:24px;display:block}

body.site-page .cred-card h4{font-family:"Fraunces",serif;font-weight:400;font-size:1.6rem;font-variation-settings:"opsz" 72;margin-bottom:6px;letter-spacing:-.01em}

body.site-page .cred-card .role{color:var(--muted);font-size:.95rem;margin-bottom:28px;font-style:italic}

body.site-page .cred-card ul{list-style:none;display:flex;flex-direction:column;gap:14px}

body.site-page .cred-card li{font-size:.92rem;color:var(--ink-2);padding-left:22px;position:relative;line-height:1.5}

body.site-page .cred-card li::before{content:"•";position:absolute;left:0;top:.02em;color:var(--accent)}

body.site-page .contact{background:var(--ink);color:var(--bg);padding:140px 0;position:relative;overflow:hidden}

body.site-page .contact::before{content:"";position:absolute;inset:0;background-image:var(--grain);opacity:.35;mix-blend-mode:overlay;pointer-events:none}

body.site-page .contact .container{position:relative;z-index:2}

body.site-page .contact-grid{display:grid;grid-template-columns:1fr 11fr;gap:32px}

@media(max-width:900px){
body.site-page .contact-grid{grid-template-columns:1fr}
}

body.site-page .contact .section-num{color:rgba(237,233,224,.55)}

body.site-page .contact h2{font-family:"Fraunces",serif;font-weight:300;font-variation-settings:"opsz" 144,"SOFT" 60;font-size:clamp(2.4rem,5.6vw,5rem);line-height:1;letter-spacing:-.025em;color:var(--bg);max-width:16ch;margin-bottom:48px}

body.site-page .contact h2 em{font-style:italic;color:rgba(237,233,224,.72)}

body.site-page .contact-body{display:grid;grid-template-columns:1.3fr 1fr;gap:72px;align-items:start;margin-top:32px}

@media(max-width:800px){
body.site-page .contact-body{grid-template-columns:1fr;gap:40px}
}

body.site-page .contact-body p{color:rgba(237,233,224,.78);font-size:1.05rem;max-width:52ch;line-height:1.6;margin-bottom:36px}

body.site-page .contact-list{list-style:none;display:flex;flex-direction:column;gap:18px;border-top:1px solid rgba(237,233,224,.18);padding-top:28px}

body.site-page .contact-list li{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding-bottom:18px;border-bottom:1px solid rgba(237,233,224,.12)}

body.site-page .contact-list .k{font-family:"JetBrains Mono",monospace;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(237,233,224,.55)}

body.site-page .contact-list .v{font-family:"Fraunces",serif;font-size:1.15rem;font-variation-settings:"opsz" 72;color:var(--bg);transition:color .2s}

body.site-page .contact-list a.v:hover{color:var(--accent-soft)}

body.site-page .contact .btn-primary{background:var(--bg);color:var(--ink);margin-top:8px}

body.site-page .contact .btn-primary span{display:inline-block;width:18px;height:1px;background:var(--ink);opacity:1}

body.site-page .contact .btn-primary:hover{background:var(--accent-soft);color:var(--bg)}

body.site-page .contact .btn-primary:hover span{width:26px;background:var(--bg)}

body.site-page footer{background:var(--bg);padding:72px 0 36px;border-top:1px solid var(--line);position:relative;z-index:2}

body.site-page .footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:64px}

@media(max-width:820px){
body.site-page .footer-grid{grid-template-columns:1fr 1fr;gap:40px}
}

@media(max-width:520px){
body.site-page .footer-grid{grid-template-columns:1fr}
}

body.site-page .footer-brand .brand{margin-bottom:20px}

body.site-page .footer-brand p{font-size:.92rem;color:var(--muted);max-width:36ch;line-height:1.55}

body.site-page .footer-col h5{font-family:"JetBrains Mono",monospace;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:20px;font-weight:500}

body.site-page .footer-col ul{list-style:none;display:flex;flex-direction:column;gap:12px}

body.site-page .footer-col a{font-size:.94rem;color:var(--ink-2);transition:color .2s;position:relative;padding-bottom:1px;border-bottom:1px solid transparent}

body.site-page .footer-col a:hover{color:var(--accent);border-bottom-color:var(--accent)}

body.site-page .footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:28px;border-top:1px solid var(--line);font-family:"JetBrains Mono",monospace;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);gap:20px;flex-wrap:wrap}

@keyframes riseIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}

body.site-page .reveal>*{opacity:0;animation:riseIn .9s cubic-bezier(.2,.8,.2,1) forwards}

body.site-page .reveal>*:nth-child(1){animation-delay:.05s}

body.site-page .reveal>*:nth-child(2){animation-delay:.18s}

body.site-page .reveal>*:nth-child(3){animation-delay:.3s}

body.site-page .reveal>*:nth-child(4){animation-delay:.42s}

body.site-page .reveal>*:nth-child(5){animation-delay:.54s}

body.site-page .reveal>*:nth-child(6){animation-delay:.66s}

html.auth-html{min-height:100%;height:100%;overflow:hidden}

body.auth-login{height:100vh;height:100dvh;min-height:0;background:var(--bg);color:var(--ink);font-family:"Instrument Sans",ui-sans-serif,system-ui,sans-serif;font-size:16px;line-height:1.55;font-feature-settings:"ss01","cv11";-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;display:flex;flex-direction:column;overflow:hidden}

body.auth-login::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:1;background-image:var(--grain);opacity:.55;mix-blend-mode:multiply}

body.auth-login a{color:inherit;text-decoration:none}

body.auth-login .auth-nav{border-bottom:1px solid var(--line);position:relative;z-index:5;background:var(--bg)}

body.auth-login .auth-nav-inner{max-width:1280px;margin:0 auto;padding:14px 32px;min-height:82px;display:flex;justify-content:space-between;align-items:center;gap:24px}

body.auth-login .brand{display:flex;align-items:center;gap:12px}

body.auth-login .brand-mark{width:30px;height:30px;display:grid;place-items:center}

body.auth-login .brand-mark svg{width:100%;height:100%}

body.auth-login .brand-name{font-family:"Fraunces",serif;font-weight:500;font-size:1.4rem;letter-spacing:.02em;font-variation-settings:"opsz" 144,"SOFT" 30}

body.auth-login .brand-name em{font-style:italic;font-weight:400}

body.auth-login .auth-nav-back{font-family:"JetBrains Mono",monospace;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);display:inline-flex;align-items:center;gap:10px;transition:color .2s;padding:0 14px;min-height:54px;line-height:1;position:relative;top:1px;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}

body.auth-login .auth-nav-back svg{width:14px;height:14px;transition:transform .25s}

body.auth-login .auth-nav-back:hover{color:var(--accent)}

body.auth-login .auth-nav-back:hover svg{transform:translateX(-3px)}

@media(max-width:540px){
body.auth-login .auth-nav-back span{display:none}
}

body.auth-login .auth-main{flex:1;width:100%;max-width:none;margin:0;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);position:relative;z-index:2;height:calc(100vh - 83px);height:calc(100dvh - 83px);min-height:0;overflow:hidden}

@media(max-width:920px){
body.auth-login .auth-main{grid-template-columns:1fr}
}

body.auth-login .auth-aside{background:var(--ink);color:var(--bg);padding:clamp(32px,5.2vh,78px) clamp(36px,5.2vw,96px);position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;height:100%;min-height:0}

body.auth-login .auth-aside::before{content:"";position:absolute;inset:0;background-image:var(--grain);opacity:.35;mix-blend-mode:overlay;pointer-events:none}

body.auth-login .auth-aside-num{font-family:"JetBrains Mono",monospace;font-size:.7rem;letter-spacing:.22em;color:rgba(237,233,224,.55);position:relative;z-index:2;width:100%;max-width:560px;margin:0 auto;display:flex;align-items:center;gap:14px}

body.auth-login .auth-aside-num::after{content:"";flex:1;height:1px;background:rgba(237,233,224,.18);max-width:120px}

body.auth-login .auth-aside-content{position:relative;z-index:2;width:100%;max-width:560px;margin:auto auto}

body.auth-login .auth-aside h2{font-family:"Fraunces",serif;font-weight:300;font-variation-settings:"opsz" 144,"SOFT" 60;font-size:clamp(2.2rem,3.6vw,3.4rem);line-height:1;letter-spacing:-.025em;max-width:14ch;margin-bottom:36px}

body.auth-login .auth-aside h2 em{font-style:italic;color:rgba(237,233,224,.72)}

body.auth-login .auth-aside p{color:rgba(237,233,224,.78);font-size:1rem;line-height:1.6;max-width:42ch;margin-bottom:18px}

body.auth-login .auth-aside-list{list-style:none;display:flex;flex-direction:column;gap:14px;margin-top:36px;padding-top:28px;border-top:1px solid rgba(237,233,224,.18);position:relative;z-index:2}

body.auth-login .auth-aside-list li{font-family:"Fraunces",serif;font-size:1.05rem;font-variation-settings:"opsz" 72;color:rgba(237,233,224,.92);padding-left:24px;position:relative;line-height:1.4}

body.auth-login .auth-aside-list li::before{content:"•";position:absolute;left:0;top:.02em;color:var(--accent-soft);font-style:normal}

body.auth-login .auth-aside-foot{position:relative;z-index:2;width:100%;max-width:560px;margin:clamp(24px,4vh,48px) auto 0;font-family:"JetBrains Mono",monospace;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(237,233,224,.45)}

@media(max-width:920px){
body.auth-login .auth-main{grid-template-columns:1fr;height:calc(100vh - 83px);height:calc(100dvh - 83px);overflow:hidden}

body.auth-login .auth-aside{display:none}

body.auth-login .auth-panel{height:100%;padding:40px 32px}

body.auth-login .auth-panel-inner{max-height:100%;justify-content:center}
}

body.auth-login .auth-panel{padding:clamp(32px,5.2vh,78px) clamp(36px,5.2vw,96px);display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2;height:100%;min-height:0;overflow:hidden}

body.auth-login .auth-panel-inner{width:100%;max-width:460px;margin:0 auto;display:flex;flex-direction:column;min-width:0}

body.auth-login .auth-eyebrow{font-family:"JetBrains Mono",monospace;font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:12px;margin-bottom:32px}

body.auth-login .auth-eyebrow::before{content:"";width:24px;height:1px;background:var(--muted)}

body.auth-login .auth-panel h1{font-family:"Fraunces",serif;font-weight:340;font-variation-settings:"opsz" 144,"SOFT" 50;font-size:clamp(2rem,3.6vw,3rem);line-height:1.02;letter-spacing:-.02em;margin-bottom:14px;max-width:16ch}

body.auth-login .auth-panel h1 em{font-style:italic;font-weight:300;color:var(--ink-2)}

body.auth-login .auth-panel-lead{font-size:1rem;color:var(--ink-2);line-height:1.55;margin-bottom:42px;max-width:42ch}

body.auth-login .form{display:flex;flex-direction:column;gap:22px}

body.auth-login .field{display:flex;flex-direction:column;gap:8px}

body.auth-login .field-label{font-family:"JetBrains Mono",monospace;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);display:flex;justify-content:space-between;align-items:baseline;gap:12px}

body.auth-login .field-label-hint{font-family:"Instrument Sans",sans-serif;font-size:.78rem;letter-spacing:0;text-transform:none;color:var(--ink-2);font-style:italic;border-bottom:1px solid var(--line);padding-bottom:1px;transition:color .2s,border-color .2s}

body.auth-login .field-label-hint:hover{color:var(--accent);border-bottom-color:var(--accent)}

body.auth-login .field-input{font-family:"Instrument Sans",sans-serif;font-size:1rem;color:var(--ink);background:transparent;border:none;border-bottom:1px solid var(--line);padding:12px 0 14px;width:100%;outline:none;transition:border-color .25s}

body.auth-login .field-input::placeholder{color:var(--muted);opacity:.7}

body.auth-login .field-input:hover{border-color:var(--ink-2)}

body.auth-login .field-input:focus{border-color:var(--ink)}

body.auth-login .field-pwd{position:relative}

body.auth-login .field-pwd .field-input{padding-right:48px}

body.auth-login .field-pwd-toggle{position:absolute;right:0;bottom:8px;background:none;border:none;cursor:pointer;color:var(--muted);padding:6px;display:flex;transition:color .2s}

body.auth-login .field-pwd-toggle:hover{color:var(--ink)}

body.auth-login .field-pwd-toggle svg{width:18px;height:18px}

body.auth-login .field-pwd-toggle .icon-eye-closed{display:none}

body.auth-login .field-pwd-toggle.is-visible .icon-eye-open{display:none}

body.auth-login .field-pwd-toggle.is-visible .icon-eye-closed{display:block}

body.auth-login .checkbox{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-size:.88rem;color:var(--ink-2);user-select:none;line-height:1.4}

body.auth-login .checkbox input{appearance:none;-webkit-appearance:none;width:16px;height:16px;border:1px solid var(--line);background:transparent;cursor:pointer;display:grid;place-items:center;flex-shrink:0;transition:border-color .2s,background .2s,box-shadow .2s;margin-top:1px}

body.auth-login .checkbox input:hover{border-color:var(--ink-2)}

body.auth-login .checkbox input:focus{outline:none}

body.auth-login .checkbox input:focus-visible{box-shadow:0 0 0 3px rgba(139,46,27,.16)}

body.auth-login .checkbox input:checked{border-color:var(--ink);background:var(--ink)}

body.auth-login .checkbox input:checked::after{content:"";width:5px;height:9px;border:solid var(--bg);border-width:0 1.5px 1.5px 0;transform:rotate(45deg);background:none;margin-top:-2px}

body.auth-login .btn-submit{font-family:"JetBrains Mono",monospace;font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;background:var(--ink);color:var(--bg);border:none;cursor:pointer;padding:0 28px;min-height:58px;width:100%;display:inline-flex;align-items:center;justify-content:center;gap:14px;margin-top:14px;transition:background .25s}

body.auth-login .btn-submit-line{display:inline-block;width:18px;height:1px;background:currentColor;transition:width .25s}

body.auth-login .btn-submit:hover{background:var(--accent)}

body.auth-login .btn-submit:hover .btn-submit-line{width:26px}

body.auth-login .divider{display:flex;align-items:center;gap:18px;margin:36px 0 28px;color:var(--muted);font-family:"JetBrains Mono",monospace;font-size:.62rem;letter-spacing:.22em;text-transform:uppercase}

body.auth-login .divider::before,body.auth-login .divider::after{content:"";flex:1;height:1px;background:var(--line)}

body.auth-login .auth-switch{text-align:center;font-size:.95rem;color:var(--ink-2)}

body.auth-login .auth-switch a{color:var(--ink);font-weight:500;border-bottom:1px solid var(--ink);padding-bottom:1px;transition:color .2s,border-color .2s}

body.auth-login .auth-switch a:hover{color:var(--accent);border-bottom-color:var(--accent)}

body.auth-login .auth-foot{margin-top:clamp(24px,4vh,48px);padding-top:0;font-family:"JetBrains Mono",monospace;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}

body.auth-login .auth-foot a{color:var(--ink-2);transition:color .2s}

body.auth-login .auth-foot a:hover{color:var(--accent)}

body.auth-login .auth-panel-inner{max-width:470px}

body.auth-login .auth-panel-lead{margin-bottom:clamp(32px,5vh,46px)}

body.auth-login .form{gap:clamp(18px,2.8vh,24px)}

body.auth-login .divider{margin:clamp(30px,5vh,40px) 0 clamp(20px,3vh,28px)}

body.auth-login .auth-foot{margin-top:clamp(32px,6vh,56px)}

@media(max-width:920px){
body.auth-login .auth-foot{display:none}
}

@media(min-width:921px){
body.auth-login .auth-main{height:calc(100vh - 83px);height:calc(100dvh - 83px);min-height:0;max-height:calc(100vh - 83px);max-height:calc(100dvh - 83px);overflow:hidden}

body.auth-login .auth-aside,body.auth-login .auth-panel{height:100%;min-height:0;overflow:hidden}
}

@media(max-width:920px){
body.auth-login .auth-panel{padding:40px 32px;min-height:0}
}

@media(max-width:480px){
body.auth-login .auth-panel{padding:28px 22px}

body.auth-login .auth-aside{padding:28px 22px}
}

body.auth-login .auth-panel{padding:clamp(34px,5vh,74px) clamp(40px,6vw,108px)}

body.auth-login .auth-panel-inner{height:100%;max-height:100%;justify-content:center}

body.auth-login .auth-eyebrow{margin-bottom:clamp(22px,3.2vh,36px)}

body.auth-login .auth-panel h1{margin-bottom:clamp(18px,2.6vh,26px)}

body.auth-login .auth-panel-lead{margin-bottom:clamp(34px,5.4vh,54px)}

body.auth-login .form{gap:clamp(24px,3.8vh,34px)}

body.auth-login .field{gap:clamp(9px,1.4vh,14px)}

body.auth-login .field-input{padding:clamp(13px,1.8vh,18px) 0 clamp(14px,2vh,20px)}

body.auth-login .checkbox{margin-top:clamp(2px,1vh,10px)}

body.auth-login .btn-submit{min-height:clamp(58px,7vh,66px);margin-top:clamp(10px,2vh,20px)}

body.auth-login .divider{margin:clamp(36px,6vh,58px) 0 clamp(22px,3.4vh,34px)}

body.auth-login .auth-switch{padding-bottom:clamp(2px,1vh,10px)}

body.auth-login .auth-foot{margin-top:auto;padding-top:clamp(26px,4vh,46px)}

body.auth-login .auth-panel-inner{max-width:min(100%,680px)}

@media(min-width:680px) and (max-width:920px){
body.auth-login .auth-panel-inner{max-width:min(100%,860px);display:grid;grid-template-columns:minmax(0,.9fr) minmax(340px,1fr);column-gap:clamp(42px,7vw,82px);row-gap:0;align-content:center;align-items:center}

body.auth-login .auth-eyebrow,body.auth-login .auth-panel h1,body.auth-login .auth-panel-lead{grid-column:1}

body.auth-login .form,body.auth-login .divider,body.auth-login .auth-switch{grid-column:2}

body.auth-login .form{grid-row:1 / span 3;align-self:center}

body.auth-login .divider{grid-row:4;margin-top:clamp(32px,5vh,46px)}

body.auth-login .auth-switch{grid-row:5}
}

@media(max-width:679px){
body.auth-login .auth-panel{padding:clamp(30px,5vh,46px) clamp(26px,7vw,44px)}

body.auth-login .auth-panel-inner{max-width:min(100%,520px)}

body.auth-login .auth-panel-lead{margin-bottom:clamp(34px,5vh,44px)}

body.auth-login .form{gap:clamp(24px,3.8vh,30px)}

body.auth-login .divider{margin:clamp(34px,5.8vh,46px) 0 clamp(22px,3vh,30px)}
}

@media(max-height:760px){
body.auth-login .auth-eyebrow{margin-bottom:18px}

body.auth-login .auth-panel h1{margin-bottom:14px}

body.auth-login .auth-panel-lead{margin-bottom:30px}

body.auth-login .form{gap:20px}

body.auth-login .field-input{padding:10px 0 12px}

body.auth-login .btn-submit{min-height:54px;margin-top:8px}

body.auth-login .divider{margin:28px 0 18px}

body.auth-login .auth-foot{padding-top:24px}
}

html.auth-html{min-height:100%;height:100%;overflow:hidden}

body.auth-register{height:100vh;height:100dvh;min-height:0;background:var(--bg);color:var(--ink);font-family:"Instrument Sans",ui-sans-serif,system-ui,sans-serif;font-size:16px;line-height:1.55;font-feature-settings:"ss01","cv11";-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;display:flex;flex-direction:column;overflow:hidden}

body.auth-register::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:1;background-image:var(--grain);opacity:.55;mix-blend-mode:multiply}

body.auth-register a{color:inherit;text-decoration:none}

body.auth-register .auth-nav{border-bottom:1px solid var(--line);position:relative;z-index:5;background:var(--bg)}

body.auth-register .auth-nav-inner{max-width:1280px;margin:0 auto;padding:14px 32px;min-height:82px;display:flex;justify-content:space-between;align-items:center;gap:24px}

body.auth-register .brand{display:flex;align-items:center;gap:12px}

body.auth-register .brand-mark{width:30px;height:30px;display:grid;place-items:center}

body.auth-register .brand-mark svg{width:100%;height:100%}

body.auth-register .brand-name{font-family:"Fraunces",serif;font-weight:500;font-size:1.4rem;letter-spacing:.02em;font-variation-settings:"opsz" 144,"SOFT" 30}

body.auth-register .brand-name em{font-style:italic;font-weight:400}

body.auth-register .auth-nav-back{font-family:"JetBrains Mono",monospace;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);display:inline-flex;align-items:center;gap:10px;transition:color .2s;padding:0 14px;min-height:54px;line-height:1;position:relative;top:1px;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}

body.auth-register .auth-nav-back svg{width:14px;height:14px;transition:transform .25s}

body.auth-register .auth-nav-back:hover{color:var(--accent)}

body.auth-register .auth-nav-back:hover svg{transform:translateX(-3px)}

@media(max-width:540px){
body.auth-register .auth-nav-back span{display:none}
}

body.auth-register .auth-main{flex:1;width:100%;max-width:none;margin:0;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);position:relative;z-index:2;height:calc(100vh - 83px);height:calc(100dvh - 83px);min-height:0;overflow:hidden}

@media(max-width:920px){
body.auth-register .auth-main{grid-template-columns:1fr}
}

body.auth-register .auth-aside{background:var(--ink);color:var(--bg);padding:clamp(32px,5.2vh,78px) clamp(36px,5.2vw,96px);position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;height:100%;min-height:0}

body.auth-register .auth-aside::before{content:"";position:absolute;inset:0;background-image:var(--grain);opacity:.35;mix-blend-mode:overlay;pointer-events:none}

body.auth-register .auth-aside-num{font-family:"JetBrains Mono",monospace;font-size:.7rem;letter-spacing:.22em;color:rgba(237,233,224,.55);position:relative;z-index:2;width:100%;max-width:560px;margin:0 auto;display:flex;align-items:center;gap:14px}

body.auth-register .auth-aside-num::after{content:"";flex:1;height:1px;background:rgba(237,233,224,.18);max-width:120px}

body.auth-register .auth-aside-content{position:relative;z-index:2;width:100%;max-width:560px;margin:auto auto}

body.auth-register .auth-aside h2{font-family:"Fraunces",serif;font-weight:300;font-variation-settings:"opsz" 144,"SOFT" 60;font-size:clamp(2.2rem,3.6vw,3.4rem);line-height:1;letter-spacing:-.025em;max-width:14ch;margin-bottom:36px}

body.auth-register .auth-aside h2 em{font-style:italic;color:rgba(237,233,224,.72)}

body.auth-register .auth-aside p{color:rgba(237,233,224,.78);font-size:1rem;line-height:1.6;max-width:42ch;margin-bottom:18px}

body.auth-register .auth-aside-list{list-style:none;display:flex;flex-direction:column;gap:14px;margin-top:36px;padding-top:28px;border-top:1px solid rgba(237,233,224,.18);position:relative;z-index:2}

body.auth-register .auth-aside-list li{font-family:"Fraunces",serif;font-size:1.05rem;font-variation-settings:"opsz" 72;color:rgba(237,233,224,.92);padding-left:24px;position:relative;line-height:1.4}

body.auth-register .auth-aside-list li::before{content:"•";position:absolute;left:0;top:.02em;color:var(--accent-soft);font-style:normal}

body.auth-register .auth-aside-foot{position:relative;z-index:2;width:100%;max-width:560px;margin:clamp(24px,4vh,48px) auto 0;font-family:"JetBrains Mono",monospace;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(237,233,224,.45)}

@media(max-width:920px){
body.auth-register .auth-main{grid-template-columns:1fr;height:calc(100vh - 83px);height:calc(100dvh - 83px);overflow:hidden}

body.auth-register .auth-aside{display:none}

body.auth-register .auth-panel{height:100%;padding:40px 32px}

body.auth-register .auth-panel-inner{max-height:100%;justify-content:center}
}

body.auth-register .auth-panel{padding:clamp(32px,5.2vh,78px) clamp(36px,5.2vw,96px);display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2;height:100%;min-height:0;overflow:hidden}

body.auth-register .auth-panel-inner{width:100%;max-width:560px;margin:0 auto;display:flex;flex-direction:column;min-width:0}

body.auth-register .auth-eyebrow{font-family:"JetBrains Mono",monospace;font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:12px;margin-bottom:32px}

body.auth-register .auth-eyebrow::before{content:"";width:24px;height:1px;background:var(--muted)}

body.auth-register .auth-panel h1{font-family:"Fraunces",serif;font-weight:340;font-variation-settings:"opsz" 144,"SOFT" 50;font-size:clamp(2rem,3.6vw,3rem);line-height:1.02;letter-spacing:-.02em;margin-bottom:14px;max-width:18ch}

body.auth-register .auth-panel h1 em{font-style:italic;font-weight:300;color:var(--ink-2)}

body.auth-register .auth-panel-lead{font-size:1rem;color:var(--ink-2);line-height:1.55;margin-bottom:42px;max-width:44ch}

body.auth-register .form{display:flex;flex-direction:column;gap:22px}

body.auth-register .field-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}

@media(max-width:520px){
body.auth-register .field-row{grid-template-columns:1fr;gap:22px}
}

body.auth-register .field{display:flex;flex-direction:column;gap:8px}

body.auth-register .field-label{font-family:"JetBrains Mono",monospace;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);display:flex;justify-content:space-between;align-items:baseline;gap:12px}

body.auth-register .field-input{font-family:"Instrument Sans",sans-serif;font-size:1rem;color:var(--ink);background:transparent;border:none;border-bottom:1px solid var(--line);padding:12px 0 14px;width:100%;outline:none;transition:border-color .25s}

body.auth-register .field-input::placeholder{color:var(--muted);opacity:.7}

body.auth-register .field-input:hover{border-color:var(--ink-2)}

body.auth-register .field-input:focus{border-color:var(--ink)}

body.auth-register .field-pwd{position:relative}

body.auth-register .field-pwd .field-input{padding-right:48px}

body.auth-register .field-pwd-toggle{position:absolute;right:0;bottom:8px;background:none;border:none;cursor:pointer;color:var(--muted);padding:6px;display:flex;transition:color .2s}

body.auth-register .field-pwd-toggle:hover{color:var(--ink)}

body.auth-register .field-pwd-toggle svg{width:18px;height:18px}

body.auth-register .field-pwd-toggle .icon-eye-closed{display:none}

body.auth-register .field-pwd-toggle.is-visible .icon-eye-open{display:none}

body.auth-register .field-pwd-toggle.is-visible .icon-eye-closed{display:block}

body.auth-register .pwd-strength{display:flex;gap:6px;margin-top:6px}

body.auth-register .pwd-strength-bar{flex:1;height:2px;background:var(--line);transition:background .25s}

body.auth-register .pwd-strength.s1 .pwd-strength-bar:nth-child(1){background:var(--accent)}

body.auth-register .pwd-strength.s2 .pwd-strength-bar:nth-child(-n+2){background:var(--accent-soft)}

body.auth-register .pwd-strength.s3 .pwd-strength-bar:nth-child(-n+3){background:#7A6F4D}

body.auth-register .pwd-strength.s4 .pwd-strength-bar{background:var(--ink)}

body.auth-register .pwd-strength-label{font-family:"JetBrains Mono",monospace;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-top:8px;min-height:.85em;transition:color .25s}

body.auth-register .checkbox{display:flex;align-items:flex-start;gap:12px;cursor:pointer;font-size:.88rem;color:var(--ink-2);user-select:none;line-height:1.5}

body.auth-register .checkbox input{appearance:none;-webkit-appearance:none;width:16px;height:16px;border:1px solid var(--line);background:transparent;cursor:pointer;display:grid;place-items:center;flex-shrink:0;transition:border-color .2s,background .2s,box-shadow .2s;margin-top:2px}

body.auth-register .checkbox input:hover{border-color:var(--ink-2)}

body.auth-register .checkbox input:focus{outline:none}

body.auth-register .checkbox input:focus-visible{box-shadow:0 0 0 3px rgba(139,46,27,.16)}

body.auth-register .checkbox input:checked{border-color:var(--ink);background:var(--ink)}

body.auth-register .checkbox input:checked::after{content:"";width:5px;height:9px;border:solid var(--bg);border-width:0 1.5px 1.5px 0;transform:rotate(45deg);background:none;margin-top:-2px}

body.auth-register .checkbox a{color:var(--ink);border-bottom:1px solid var(--line);padding-bottom:1px;transition:color .2s,border-color .2s}

body.auth-register .checkbox a:hover{color:var(--accent);border-bottom-color:var(--accent)}

body.auth-register .btn-submit{font-family:"JetBrains Mono",monospace;font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;background:var(--ink);color:var(--bg);border:none;cursor:pointer;padding:0 28px;min-height:58px;width:100%;display:inline-flex;align-items:center;justify-content:center;gap:14px;margin-top:14px;transition:background .25s}

body.auth-register .btn-submit-line{display:inline-block;width:18px;height:1px;background:currentColor;transition:width .25s}

body.auth-register .btn-submit:hover{background:var(--accent)}

body.auth-register .btn-submit:hover .btn-submit-line{width:26px}

body.auth-register .divider{display:flex;align-items:center;gap:18px;margin:36px 0 28px;color:var(--muted);font-family:"JetBrains Mono",monospace;font-size:.62rem;letter-spacing:.22em;text-transform:uppercase}

body.auth-register .divider::before,body.auth-register .divider::after{content:"";flex:1;height:1px;background:var(--line)}

body.auth-register .auth-switch{text-align:center;font-size:.95rem;color:var(--ink-2)}

body.auth-register .auth-switch a{color:var(--ink);font-weight:500;border-bottom:1px solid var(--ink);padding-bottom:1px;transition:color .2s,border-color .2s}

body.auth-register .auth-switch a:hover{color:var(--accent);border-bottom-color:var(--accent)}

body.auth-register .auth-foot{margin-top:clamp(24px,4vh,48px);padding-top:0;font-family:"JetBrains Mono",monospace;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}

body.auth-register .auth-foot a{color:var(--ink-2);transition:color .2s}

body.auth-register .auth-foot a:hover{color:var(--accent)}

@media(min-width:921px){
body.auth-register .auth-main{height:calc(100vh - 83px);height:calc(100dvh - 83px);min-height:0;max-height:calc(100vh - 83px);max-height:calc(100dvh - 83px);overflow:hidden}

body.auth-register .auth-aside,body.auth-register .auth-panel{height:100%;min-height:0;overflow:hidden}
}

body.auth-register .auth-panel{padding:clamp(28px,4.2vh,64px) clamp(40px,5.2vw,96px)}

body.auth-register .auth-panel-inner{max-width:620px}

body.auth-register .auth-eyebrow{margin-bottom:clamp(14px,2vh,28px)}

body.auth-register .auth-panel-lead{margin-bottom:clamp(18px,2.6vh,34px)}

body.auth-register .form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:24px;row-gap:clamp(12px,1.7vh,20px)}

body.auth-register .form>.field-row,body.auth-register .form>.field:nth-of-type(4),body.auth-register .form>.checkbox,body.auth-register .form>.btn-submit{grid-column:1/-1}

body.auth-register .field{gap:6px;min-width:0}

body.auth-register .field-row{gap:20px}

body.auth-register .field-input{padding:8px 0 10px}

body.auth-register .pwd-strength{margin-top:4px}

body.auth-register .pwd-strength-label{margin-top:5px}

body.auth-register .btn-submit{min-height:52px;margin-top:2px}

body.auth-register .divider{margin:clamp(18px,2.8vh,28px) 0 clamp(12px,2vh,20px)}

body.auth-register .auth-foot{margin-top:clamp(18px,3vh,32px)}

@media(min-width:921px) and (max-height:820px){
body.auth-register .auth-panel-inner{transform:scale(.94);transform-origin:center}
}

@media(max-width:920px){
body.auth-register .form{display:flex;flex-direction:column;gap:12px}

body.auth-register .field-row{grid-template-columns:1fr;gap:12px}

body.auth-register .auth-foot{display:none}
}

@media(max-width:920px){
body.auth-register .auth-panel{padding:40px 32px;min-height:0}
}

@media(max-width:480px){
body.auth-register .auth-panel{padding:28px 22px}

body.auth-register .auth-aside{padding:28px 22px}
}

body.auth-register .auth-panel{padding:clamp(34px,5vh,74px) clamp(40px,6vw,108px)}

body.auth-register .auth-panel-inner{height:100%;max-height:100%;justify-content:center}

body.auth-register .auth-eyebrow{margin-bottom:clamp(20px,3vh,34px)}

body.auth-register .auth-panel h1{margin-bottom:clamp(16px,2.4vh,24px)}

body.auth-register .auth-panel-lead{margin-bottom:clamp(28px,4.2vh,44px)}

body.auth-register .form{gap:clamp(22px,3.2vh,32px)}

body.auth-register .field{gap:clamp(8px,1.2vh,12px)}

body.auth-register .field-input{padding:clamp(12px,1.7vh,17px) 0 clamp(13px,1.8vh,18px)}

body.auth-register .checkbox{margin-top:clamp(6px,1.4vh,14px)}

body.auth-register .btn-submit{min-height:clamp(58px,7vh,66px);margin-top:clamp(10px,1.8vh,18px)}

body.auth-register .divider{margin:clamp(34px,5vh,50px) 0 clamp(20px,3vh,30px)}

body.auth-register .auth-switch{padding-bottom:clamp(2px,1vh,10px)}

body.auth-register .auth-foot{margin-top:auto;padding-top:clamp(24px,4vh,42px)}

body.auth-register .auth-panel-inner{max-width:min(100%,860px)}

body.auth-register .form{column-gap:clamp(32px,5vw,64px);row-gap:clamp(20px,3vh,30px)}

body.auth-register .field-row{gap:clamp(32px,5vw,64px)}

body.auth-register .auth-panel-lead{max-width:58ch}

@media(min-width:760px) and (max-width:920px){
body.auth-register .auth-panel-inner{max-width:min(100%,900px);display:grid;grid-template-columns:minmax(220px,.78fr) minmax(360px,1.22fr);column-gap:clamp(36px,5vw,72px);row-gap:0;align-content:center;align-items:start}

body.auth-register .auth-eyebrow,body.auth-register .auth-panel h1,body.auth-register .auth-panel-lead,body.auth-register .divider,body.auth-register .auth-switch{grid-column:1}

body.auth-register .form{grid-column:2;grid-row:1 / span 5;align-self:center}

body.auth-register .divider{margin-top:clamp(34px,6vh,54px)}
}

@media(max-width:759px){
body.auth-register .auth-panel{padding:clamp(26px,4vh,44px) clamp(28px,6vw,42px)}

body.auth-register .auth-panel-inner{max-width:min(100%,760px)}

body.auth-register .form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(20px,5vw,36px);row-gap:clamp(16px,2.4vh,24px)}

body.auth-register .field-row{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,5vw,36px)}

body.auth-register .form>.field:nth-of-type(4),body.auth-register .form>.checkbox,body.auth-register .form>.btn-submit{grid-column:1/-1}

body.auth-register .auth-panel-lead{margin-bottom:clamp(24px,3.6vh,36px)}
}

@media(max-width:560px){
body.auth-register .form,body.auth-register .field-row{display:flex;flex-direction:column;gap:14px}
}

@media(max-height:760px){
body.auth-register .auth-eyebrow{margin-bottom:16px}

body.auth-register .auth-panel h1{margin-bottom:12px}

body.auth-register .auth-panel-lead{margin-bottom:24px}

body.auth-register .form{row-gap:14px}

body.auth-register .field-input{padding:9px 0 11px}

body.auth-register .pwd-strength{margin-top:3px}

body.auth-register .pwd-strength-label{margin-top:4px}

body.auth-register .checkbox{margin-top:2px}

body.auth-register .btn-submit{min-height:52px;margin-top:4px}

body.auth-register .divider{margin:24px 0 16px}

body.auth-register .auth-foot{padding-top:22px}
}

body.auth-login .checkbox input,
body.auth-register .checkbox input{
  width:16px;
  height:16px;
  border:1px solid var(--line);
  border-radius:0;
  background:transparent;
  display:inline-block;
  position:relative;
  line-height:0;
  transform:none;
  backface-visibility:hidden;
}
body.auth-login .checkbox input:checked,
body.auth-register .checkbox input:checked{
  border-color:var(--ink);
  background:var(--ink);
}
body.auth-login .checkbox input:checked::after,
body.auth-register .checkbox input:checked::after{
  content:"";
  position:absolute;
  left:3px;
  top:1px;
  width:8px;
  height:11px;
  margin:0;
  background:none;
  border:0;
  transform:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' shape-rendering='geometricPrecision'%3E%3Cpath d='M3.25 8.4 6.45 11.6 12.85 4.3' fill='none' stroke='%23EDE9E0' stroke-width='2.1' stroke-linecap='square' stroke-linejoin='miter'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:center;
  background-size:12px 12px;
}

body.site-page .nav-login span{top:1px}
body.auth-login .auth-nav-back,
body.auth-register .auth-nav-back{top:1px}

body.site-page .nav-login{
  font-size:.76rem;
  letter-spacing:.14em;
}
body.site-page .nav-login span{
  top:1px;
  line-height:1;
  font-weight:500;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body.auth-login .auth-nav-back,
body.auth-register .auth-nav-back{
  font-size:.76rem;
  letter-spacing:.14em;
  top:1px;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body.auth-login .auth-nav-back span,
body.auth-register .auth-nav-back span{
  display:inline-block;
  position:relative;
  top:0;
  line-height:1;
  font-weight:500;
}

body.site-page .nav-login{
  font-size:.92rem;
  letter-spacing:.10em;
  line-height:1.55;
  align-items:center;
}
body.site-page .nav-login span{
  top:0;
  transform:none;
  font-size:inherit;
  line-height:1.55;
  font-weight:500;
}
body.auth-login .auth-nav-back,
body.auth-register .auth-nav-back{
  font-size:.92rem;
  letter-spacing:.10em;
  line-height:1.55;
  top:0;
  align-items:center;
}
body.auth-login .auth-nav-back span,
body.auth-register .auth-nav-back span{
  top:0;
  transform:none;
  font-size:inherit;
  line-height:1.55;
  font-weight:500;
}

body.site-page .nav-login{
  font-size:.72rem;
  letter-spacing:.155em;
  line-height:1;
  align-items:center;
  text-rendering:geometricPrecision;
  -webkit-font-smoothing:antialiased;
}
body.site-page .nav-login span{
  top:1px;
  transform:none;
  font-size:inherit;
  line-height:1;
  font-weight:500;
}
body.auth-login .auth-nav-back,
body.auth-register .auth-nav-back{
  font-size:.72rem;
  letter-spacing:.155em;
  line-height:1;
  top:2px;
  align-items:center;
  text-rendering:geometricPrecision;
  -webkit-font-smoothing:antialiased;
}
body.auth-login .auth-nav-back span,
body.auth-register .auth-nav-back span{
  top:0;
  transform:none;
  font-size:inherit;
  line-height:1;
  font-weight:500;
}

body.auth-login .auth-nav-inner,
body.auth-register .auth-nav-inner{
  padding:14px 32px;
  min-height:0;
}

body.site-page .nav-login,
body.auth-login .auth-nav-back,
body.auth-register .auth-nav-back{
  font-family:"JetBrains Mono",monospace;
  font-size:.72rem;
  letter-spacing:.155em;
  line-height:1;
  min-height:54px;
  padding:0 14px;
  display:inline-flex;
  align-items:center;
  position:relative;
  top:0;
  text-rendering:geometricPrecision;
  -webkit-font-smoothing:antialiased;
}

body.site-page .nav-login span,
body.auth-login .auth-nav-back span,
body.auth-register .auth-nav-back span{
  display:inline-block;
  position:relative;
  top:1px;
  line-height:1;
  font-size:inherit;
  font-weight:500;
  transform:none;
}

body.auth-register .auth-panel{
  padding:clamp(34px,5vh,74px) clamp(40px,6vw,108px);
}

body.auth-register .auth-panel-inner{
  width:100%;
  max-width:min(100%,860px);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(340px,1fr);
  column-gap:clamp(42px,7vw,82px);
  row-gap:0;
  align-content:center;
  align-items:center;
  height:100%;
  max-height:100%;
}

body.auth-register .auth-eyebrow,
body.auth-register .auth-panel h1,
body.auth-register .auth-panel-lead{
  grid-column:1;
}

body.auth-register .form,
body.auth-register .divider,
body.auth-register .auth-switch{
  grid-column:2;
}

body.auth-register .form{
  grid-row:1 / span 3;
  align-self:center;
  display:flex;
  flex-direction:column;
  gap:clamp(24px,3.8vh,34px);
}

body.auth-register .field-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}

body.auth-register .field{
  gap:clamp(9px,1.4vh,14px);
  min-width:0;
}

body.auth-register .field-input{
  padding:clamp(13px,1.8vh,18px) 0 clamp(14px,2vh,20px);
}

body.auth-register .pwd-strength{margin-top:6px}
body.auth-register .pwd-strength-label{margin-top:8px}
body.auth-register .checkbox{margin-top:clamp(2px,1vh,10px)}
body.auth-register .btn-submit{min-height:clamp(58px,7vh,66px);margin-top:clamp(10px,2vh,20px)}
body.auth-register .divider{grid-row:4;margin:clamp(36px,6vh,58px) 0 clamp(22px,3.4vh,34px)}
body.auth-register .auth-switch{grid-row:5;padding-bottom:clamp(2px,1vh,10px)}
body.auth-register .auth-foot{margin-top:auto;padding-top:clamp(26px,4vh,46px)}
body.auth-register .auth-panel h1{max-width:16ch}
body.auth-register .auth-panel-lead{max-width:42ch;margin-bottom:clamp(34px,5.4vh,54px)}
body.auth-register .auth-panel-inner .auth-foot{display:none}

@media(max-width:1100px){
  body.auth-register .auth-panel{padding:clamp(30px,5vh,46px) clamp(26px,7vw,44px)}
  body.auth-register .auth-panel-inner{max-width:min(100%,520px);display:flex;flex-direction:column;align-items:stretch;height:auto;max-height:none}
  body.auth-register .auth-eyebrow,
  body.auth-register .auth-panel h1,
  body.auth-register .auth-panel-lead,
  body.auth-register .form,
  body.auth-register .divider,
  body.auth-register .auth-switch{grid-column:auto;grid-row:auto}
  body.auth-register .auth-panel-lead{margin-bottom:clamp(34px,5vh,44px)}
  body.auth-register .form{display:flex;flex-direction:column;gap:clamp(24px,3.8vh,30px)}
  body.auth-register .field-row{grid-template-columns:1fr;gap:clamp(24px,3.8vh,30px)}
  body.auth-register .divider{margin:clamp(34px,5.8vh,46px) 0 clamp(22px,3vh,30px)}
}

@media(max-width:640px){
  body.auth-register .auth-eyebrow{margin-bottom:18px}
  body.auth-register .auth-panel h1{margin-bottom:14px}
  body.auth-register .auth-panel-lead{margin-bottom:30px}
  body.auth-register .form{gap:20px}
  body.auth-register .field-row{gap:20px}
  body.auth-register .field-input{padding:10px 0 12px}
  body.auth-register .btn-submit{min-height:54px;margin-top:8px}
  body.auth-register .divider{margin:28px 0 18px}
}

body.auth-register .auth-panel{
  padding:clamp(30px,4.6vh,62px) clamp(40px,6vw,108px);
  overflow-x:hidden;
  overflow-y:auto;
}

body.auth-register .auth-panel-inner{
  width:100%;
  max-width:min(100%,680px);
  margin:0 auto;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:stretch;
  min-height:100%;
  height:auto;
  max-height:none;
  transform:none;
}

body.auth-register .auth-eyebrow,
body.auth-register .auth-panel h1,
body.auth-register .auth-panel-lead,
body.auth-register .form,
body.auth-register .divider,
body.auth-register .auth-switch,
body.auth-register .auth-foot{
  grid-column:auto;
  grid-row:auto;
}

body.auth-register .auth-eyebrow{
  margin-bottom:clamp(16px,2.4vh,28px);
}

body.auth-register .auth-panel h1{
  max-width:18ch;
  margin-bottom:clamp(12px,1.8vh,18px);
}

body.auth-register .auth-panel-lead{
  max-width:46ch;
  margin-bottom:clamp(22px,3.2vh,34px);
}

body.auth-register .form{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  column-gap:clamp(24px,4vw,40px);
  row-gap:clamp(14px,2vh,22px);
}

body.auth-register .field-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(24px,4vw,40px);
}

body.auth-register .form>.field-row,
body.auth-register .form>.field:nth-of-type(4),
body.auth-register .form>.checkbox,
body.auth-register .form>.btn-submit{
  grid-column:1/-1;
}

body.auth-register .field{
  gap:8px;
  min-width:0;
}

body.auth-register .field-input{
  padding:10px 0 12px;
}

body.auth-register .pwd-strength{
  margin-top:4px;
}

body.auth-register .pwd-strength-label{
  margin-top:5px;
}

body.auth-register .checkbox{
  margin-top:2px;
}

body.auth-register .btn-submit{
  min-height:56px;
  margin-top:4px;
}

body.auth-register .divider{
  margin:clamp(24px,3.6vh,38px) 0 clamp(16px,2.4vh,26px);
}

body.auth-register .auth-switch{
  padding-bottom:0;
}

body.auth-register .auth-panel-inner .auth-foot{
  display:flex;
  margin-top:auto;
  padding-top:clamp(22px,3.4vh,36px);
}

@media(max-width:920px){
  body.auth-register .auth-panel{
    padding:clamp(28px,4.4vh,44px) clamp(28px,6vw,44px);
  }

  body.auth-register .auth-panel-inner{
    max-width:min(100%,620px);
    justify-content:flex-start;
  }

  body.auth-register .auth-panel-inner .auth-foot{
    display:none;
  }
}

@media(max-width:620px){
  body.auth-register .form,
  body.auth-register .field-row{
    display:flex;
    flex-direction:column;
    gap:16px;
  }

  body.auth-register .auth-panel-lead{
    margin-bottom:24px;
  }

  body.auth-register .divider{
    margin:28px 0 18px;
  }
}

@media(max-height:760px) and (min-width:921px){
  body.auth-register .auth-panel{
    padding-top:24px;
    padding-bottom:24px;
  }

  body.auth-register .auth-eyebrow{
    margin-bottom:14px;
  }

  body.auth-register .auth-panel h1{
    margin-bottom:10px;
  }

  body.auth-register .auth-panel-lead{
    margin-bottom:18px;
  }

  body.auth-register .form{
    row-gap:12px;
  }

  body.auth-register .field-input{
    padding:8px 0 10px;
  }

  body.auth-register .btn-submit{
    min-height:52px;
  }

  body.auth-register .divider{
    margin:18px 0 12px;
  }

  body.auth-register .auth-panel-inner .auth-foot{
    padding-top:18px;
  }
}
