/* Belesia website: brand v3. Black #111111, white, grey #6E6E6E, hairline #CFCFCF. One family, bold + regular. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:#FFFFFF;color:#111111;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-variant-numeric:lining-nums tabular-nums;-webkit-font-smoothing:antialiased;font-size:19px;line-height:1.6}
img{display:block;max-width:100%;height:auto}
a{color:#111111}
a:hover{color:#6E6E6E}
a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:3px}
h1,h2,h3,p{margin:0}
.skip{position:absolute;left:-9999px;top:0;background:#111111;color:#FFFFFF;padding:12px 16px;z-index:10}
.skip:focus{left:16px;top:16px;color:#FFFFFF}

.wrap{max-width:1440px;margin:0 auto;padding-left:120px;padding-right:120px}
.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px}

/* Header: scrolls away with the page (never sticky) */
.site-header{border-bottom:1px solid #CFCFCF}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;padding-top:32px;padding-bottom:32px}
.brand{display:block;line-height:0}
.brand img{width:124px;height:28px}
.nav{display:flex;gap:40px;font-size:17px;line-height:1.4}
.nav a{text-decoration:none}
.menu-btn{display:none}

/* Type scale: desktop 80/32/24/24/19/16/14, mobile 40/24/20/20/16/16/13 */
.display{font-size:clamp(40px,5.4vw,80px);line-height:1.05;font-weight:700;letter-spacing:-0.03em}
.section-title{font-size:32px;line-height:1.2;font-weight:700;letter-spacing:-0.02em}
.item{font-size:24px;line-height:1.25;font-weight:700;letter-spacing:-0.01em}
.lead{font-size:24px;line-height:1.45}
.meta{font-size:16px;color:#6E6E6E}
.key{font-size:32px;line-height:1.25;font-weight:700;letter-spacing:-0.02em}

/* Hero */
.hero{padding-top:96px;padding-bottom:24px;row-gap:40px}
.hero .lead{font-size:30px;line-height:1.35;letter-spacing:-0.01em}
.hero h1{grid-column:1 / -1}
.hero .intro{grid-column:1 / span 11}
.intro{display:flex;flex-direction:column;gap:24px}
.intro .key{margin:16px 0}

/* Sections */
.section{padding-top:96px;padding-bottom:96px}
.section.first{padding-top:48px}
.section .grid{border-top:1.5px solid #111111;padding-top:32px}
.section-head{grid-column:span 4;display:flex;flex-direction:column;gap:6px}
.section-head h2{max-width:300px}
.num{font-size:16px;line-height:1.2;font-weight:700;color:#6E6E6E}
.dark .num{color:#CFCFCF}
.section-body{grid-column:5 / span 8;display:flex;flex-direction:column;gap:40px}
.section-body.tight{gap:24px}

.dark{background:#111111;color:#FFFFFF}
.dark a{color:#FFFFFF}
.dark a:hover{color:#CFCFCF}
.dark .section .grid,.dark.section .grid{border-top-color:#FFFFFF}
.dark p{color:#FFFFFF}
.dark strong,.dark h2,.dark h3{color:#FFFFFF}

.cols-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.cols-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px}
.cell{border-top:0.5px solid #CFCFCF;padding-top:20px;display:flex;flex-direction:column;gap:10px}
.dark .cell{border-top-color:#6E6E6E;gap:12px}
.dark .cell p,.dark .result p{-webkit-font-smoothing:auto}
.cell p{font-size:19px;line-height:1.55}
.dark .cell p{line-height:1.6}

.attribution{font-size:16px}
.result-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 48px}
.result{border-top:0.5px solid #6E6E6E;padding-top:20px;display:flex;flex-direction:column;gap:6px}
.result h3{font-size:22px;line-height:1.3;font-weight:700;letter-spacing:-0.01em}
.result .role{font-size:17px;line-height:1.4;color:#CFCFCF}
.result p{line-height:1.55}

/* About Daniel, with contact */
.portrait{grid-column:5 / span 3}
.bio{grid-column:8 / span 5;display:flex;flex-direction:column;gap:18px}
.contact-list{grid-column:5 / span 8;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px 0;margin-top:40px;padding-top:20px;border-top:0.5px solid #CFCFCF}
.contact-list div{display:flex;flex-direction:column;gap:2px}
.contact-list div+div{border-left:1px solid #CFCFCF;margin-left:20px;padding-left:20px}
.contact-list .meta{color:#6E6E6E}
.contact-list a{font-size:19px;line-height:1.4}

/* Closing band and footer */
.closing{display:flex;justify-content:center;padding:72px 0 40px}
.closing img{width:56px;height:56px}
.site-footer{border-top:0.5px solid #6E6E6E;color:#CFCFCF;font-size:16px;line-height:1.5}
.site-footer .wrap{display:flex;justify-content:space-between;gap:24px;padding-top:24px;padding-bottom:40px}
.site-footer a{color:#CFCFCF}
.site-footer a:hover{color:#FFFFFF}
.footer-links{display:flex;gap:24px}

/* Legal pages */
.page{padding-top:96px;padding-bottom:128px}
.page h1{grid-column:1 / span 11;font-size:56px;line-height:1.1;font-weight:700;letter-spacing:-0.03em;margin-bottom:64px}
.page .body{grid-column:5 / span 7;display:flex;flex-direction:column;gap:18px}
.page h2{font-size:24px;line-height:1.25;font-weight:700;letter-spacing:-0.01em;margin-top:32px}
.page h2:first-child{margin-top:0}
.page ul{margin:0;padding-left:20px}
.page li{margin-bottom:6px}
.page .meta{margin-top:32px}

/* Laptop */
@media (max-width:1380px){
  .wrap{padding-left:64px;padding-right:64px}
}

/* Tablet */
@media (max-width:1100px){
  .wrap{padding-left:48px;padding-right:48px}
  .nav{gap:24px}
  .section-head{grid-column:1 / -1;margin-bottom:32px}
  .section-body{grid-column:1 / -1}
  .portrait{grid-column:1 / span 4}
  .bio{grid-column:7 / span 6}
  .contact-list{grid-column:1 / -1}
  .page .body{grid-column:1 / span 10}
}

/* Mobile */
@media (max-width:760px){
  body{font-size:17px}
  .wrap{padding-left:24px;padding-right:24px}
  .site-header .wrap{padding-top:20px;padding-bottom:20px;flex-wrap:wrap}
  .brand img{width:97px;height:22px}
  .js .menu-btn{display:flex;width:44px;height:44px;background:transparent;border:0;padding:0;flex-direction:column;justify-content:center;align-items:flex-end;gap:6px;cursor:pointer;color:#111111}
  .menu-btn span{display:block;width:24px;height:2px;background:#111111;}
  .menu-btn[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}
  .menu-btn[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}
  .nav{flex-basis:100%;flex-direction:column;gap:0;padding-top:16px}
  .js .nav{display:none}
  .js .nav.open{display:flex}
  .nav a{padding:12px 0;border-top:0.5px solid #CFCFCF;font-size:17px}

  .display{font-size:34px;line-height:1.1}
  .section-title{font-size:24px}
  .item{font-size:20px}
  .lead{font-size:20px}
  .key{font-size:24px}
  .meta{font-size:15px}
  .num{font-size:14px}
  .result-list{grid-template-columns:1fr;gap:24px}
  .result h3{font-size:20px}
  .result .role{font-size:16px}
  .cell p,.result p,.bio p{font-size:17px}

  .hero{padding-top:48px;padding-bottom:8px;row-gap:22px}
  .hero .lead{font-size:22px}
  .intro{gap:22px}
  .intro .key{margin:8px 0}
  .section{padding-top:56px;padding-bottom:56px}
  .section.first{padding-top:32px}
  .section .grid{padding-top:20px}
  .section-head{gap:8px;margin-bottom:20px}
  .section-body{gap:20px}
  .cols-3,.cols-2{grid-template-columns:1fr;gap:20px}
  .cell{padding-top:16px;gap:6px}
  .portrait{grid-column:1 / -1;max-width:180px;margin-bottom:24px}
  .bio{grid-column:1 / -1}
  .contact-list{grid-column:1 / -1;margin-top:24px;flex-direction:column;align-items:flex-start;gap:8px}
  .contact-list div+div{border-left:0;margin-left:0;padding-left:0}
  .contact-list a{font-size:17px}
  .closing{padding:48px 0 32px}
  .closing img{width:48px;height:48px}
  .site-footer{font-size:15px}
  .site-footer .wrap{flex-direction:column;gap:12px;padding-top:20px;padding-bottom:36px}
  .page{padding-top:48px;padding-bottom:72px}
  .page h1{font-size:40px;margin-bottom:32px}
  .page .body{grid-column:1 / -1}
  .page h2{font-size:20px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.menu-btn span{transition:none}}
@media print{.site-header nav,.menu-btn,.closing{display:none}.dark{background:#FFFFFF;color:#111111}.dark p,.dark strong,.dark h2,.dark h3{color:#111111}}
