:root{
    --coral:#FB663C; --coral-deep:#E04A1F;
    --ink:#1C1812; --ink-soft:#56504A; --ink-faint:#8C8378;
    --paper:#FFFFFF; --cream:#FAF6F1; --line:#E7DFD5; --line-strong:#1C1812;
    --teal:#0C4A45; --ok:#1F8A5B;
    --logo-h:60px;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  body{font-family:'Plus Jakarta Sans',system-ui,sans-serif;background:var(--paper);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
  a{color:inherit;text-decoration:none;}
  img{display:block;max-width:100%;}
  .wrap{max-width:1240px;margin:0 auto;padding:0 40px;}
  .serif{font-family:'Newsreader',Georgia,serif;}

  .btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:600;font-size:15px;padding:14px 26px;border-radius:6px;border:none;cursor:pointer;transition:all .16s ease;font-family:inherit;}
  .btn-primary{background:var(--coral);color:#fff;}
  .btn-primary:hover{background:var(--coral-deep);}
  .btn-dark{background:var(--ink);color:#fff;}
  .btn-dark:hover{background:#000;}
  .btn-out{background:transparent;color:var(--ink);border:1px solid var(--line-strong);}
  .btn-out:hover{background:var(--ink);color:#fff;}
  .btn-white{background:#fff;color:var(--ink);}
  .btn-white:hover{background:var(--cream);}
  .btn-ghost-light{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.4);}
  .btn-ghost-light:hover{background:#fff;color:var(--ink);}
  .btn-lg{padding:16px 32px;font-size:16px;}
  .btn svg{width:17px;height:17px;}

  /* nav */
  nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);}
  .nav-inner{display:flex;align-items:center;justify-content:space-between;min-height:78px;padding-top:14px;padding-bottom:14px;}
  .nav-logo{height:var(--logo-h);}
  .nav-links{display:flex;align-items:center;gap:34px;}
  .nav-links a{font-size:14.5px;font-weight:500;color:var(--ink-soft);transition:color .15s;white-space:nowrap;}
  .nav-links a:hover,.nav-links a.current{color:var(--coral-deep);}
  .nav-actions{display:flex;align-items:center;gap:12px;}
  .nav-actions .btn{padding:11px 22px;font-size:14.5px;white-space:nowrap;}
  .menu-btn{display:none;background:none;border:none;cursor:pointer;padding:8px;}
  .menu-btn svg{width:26px;height:26px;stroke:var(--ink);}
  .nav-drawer{position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 26px 44px -26px rgba(28,24,18,.45);display:flex;flex-direction:column;padding:8px 0 14px;opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity .2s ease,transform .2s ease;}
  .nav-drawer.open{opacity:1;transform:none;pointer-events:auto;}
  .nav-drawer a{padding:13px 40px;font-size:16px;font-weight:500;color:var(--ink);transition:background .15s,color .15s;}
  .nav-drawer a:hover,.nav-drawer a.current{background:var(--cream);color:var(--coral-deep);}
  .nav-drawer-actions{display:flex;flex-direction:column;gap:10px;padding:14px 40px 4px;margin-top:8px;border-top:1px solid var(--line);}
  .nav-drawer-actions .btn{width:100%;text-align:center;padding:13px;}
  @media(max-width:1080px){.nav-links{display:none;}.menu-btn{display:block;}}
  @media(max-width:680px){.nav-drawer a,.nav-drawer-actions{padding-left:22px;padding-right:22px;}.nav-actions .btn:not(.menu-btn){display:none;}}

  /* shared section scaffold */
  .eyebrow{font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--coral-deep);display:inline-flex;align-items:center;gap:10px;}
  .eyebrow::before{content:"";width:28px;height:1px;background:var(--coral);}
  .pad{padding:104px 0;}
  .alt{background:var(--cream);}
  h2.title{font-family:'Newsreader',serif;font-weight:400;font-size:clamp(32px,4.6vw,56px);line-height:1.03;letter-spacing:-.02em;margin-top:12px;max-width:18ch;}
  h2.title em{font-style:italic;color:var(--coral-deep);}
  .lead{font-size:18px;color:var(--ink-soft);max-width:58ch;margin-top:16px;}
  .sechead{margin-bottom:56px;}

  /* ===== HERO ===== */
  .hero{background:var(--paper);color:var(--ink);padding:84px 0 72px;border-bottom:1px solid var(--line);overflow:hidden;}
  .hero-inner{position:relative;z-index:1;}
  .hero-tag{font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--coral-deep);display:flex;align-items:center;justify-content:center;gap:10px;}
  .hero-tag::before{content:"";width:28px;height:1px;background:var(--coral);}
  .hero h1{font-family:'Newsreader',Georgia,serif;font-weight:400;font-size:clamp(40px,6vw,80px);line-height:1.04;letter-spacing:-.025em;margin-top:18px;}
  .hero h1 em{font-style:italic;color:var(--coral-deep);}
  .hero .hero-sub{font-size:18px;color:var(--ink-soft);max-width:52ch;margin:20px auto 0;}

  h1.hero-h1{font-family:'Newsreader',Georgia,serif;font-weight:400;line-height:1;letter-spacing:-.025em;}
  h1.hero-h1 em{font-style:italic;color:var(--coral-deep);}
  .hero-sub{color:var(--ink-soft);}
  .hero-sub strong{color:var(--ink);font-weight:600;}
  .hero-ctas{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap;}
  .hero-facts{display:flex;gap:22px;margin-top:36px;padding-top:26px;border-top:1px solid var(--line);flex-wrap:wrap;}
  .fact{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--ink-soft);font-weight:500;}
  .fact .dot{width:7px;height:7px;border-radius:50%;background:var(--coral);}

  /* Hero A, editorial split */
  #hero-a{padding:90px 0;border-bottom:1px solid var(--line);}
  #hero-a .hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:64px;align-items:center;}
  #hero-a h1.hero-h1{font-size:clamp(44px,6.6vw,88px);margin-top:24px;}
  #hero-a .hero-sub{font-size:19px;max-width:44ch;margin-top:26px;}
  .hire-card{background:var(--cream);border:1px solid var(--line);border-radius:16px;padding:32px;box-shadow:0 40px 90px -60px rgba(28,24,18,.5);}
  .hire-card .hc-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:6px;}
  .hire-card .hc-top .lab{font-family:'Newsreader',serif;font-style:italic;font-size:19px;color:var(--coral-deep);}
  .hire-card .hc-top .big{font-family:'Newsreader',serif;font-size:48px;line-height:1;letter-spacing:-.02em;color:var(--ink);}
  .hire-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 0;border-bottom:1px solid var(--line);}
  .hire-row:last-child{border-bottom:none;}
  .hire-row .hr-loc{font-weight:600;font-size:15.5px;}
  .hire-row .hr-meta{font-size:12.5px;color:var(--ink-faint);margin-top:2px;}
  .hire-row .hr-count{font-family:'Newsreader',serif;font-size:24px;color:var(--coral-deep);}

  @media(max-width:920px){
    #hero-a .hero-grid{grid-template-columns:1fr;gap:40px;}
    .hire-card{order:2;}
  }

  /* ===== QUALITIES BAND ===== */
  .qual{background:var(--ink);color:#fff;padding:30px 0;}
  .qual-inner{display:flex;align-items:center;gap:18px 40px;flex-wrap:wrap;justify-content:center;}
  .qual .ql{font-family:'Newsreader',serif;font-style:italic;font-size:20px;color:var(--coral);white-space:nowrap;}
  .qual .qitems{display:flex;gap:12px 30px;flex-wrap:wrap;justify-content:center;}
  .qual .qi{display:flex;align-items:center;gap:9px;font-size:15px;font-weight:500;}
  .qual .qi svg{width:16px;height:16px;stroke:var(--coral);fill:none;stroke-width:2.6;}

  /* ===== VALUES ===== */
  .val-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line-strong);}
  .val-card{padding:38px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .18s;}
  .val-card:hover{background:var(--paper);}
  .val-grid .val-card:nth-child(3n){border-right:none;}
  .val-grid .val-card:nth-last-child(-n+3){border-bottom:none;}
  .val-num{font-family:'Newsreader',serif;font-style:italic;font-size:15px;color:var(--coral-deep);}
  .val-card h3{font-family:'Newsreader',serif;font-size:24px;font-weight:500;letter-spacing:-.01em;margin:14px 0 10px;}
  .val-card p{font-size:14.5px;color:var(--ink-soft);line-height:1.6;}
  @media(max-width:860px){.val-grid{grid-template-columns:1fr;}.val-grid .val-card{border-right:none;}.val-grid .val-card:nth-last-child(-n+3){border-bottom:1px solid var(--line);}.val-grid .val-card:last-child{border-bottom:none;}}

  /* ===== ROLES ===== */
  .filters{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:34px;}
  .filter-label{font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin-right:4px;}
  .chip{font-size:14px;font-weight:600;color:var(--ink-soft);background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:9px 16px;cursor:pointer;transition:all .14s;font-family:inherit;}
  .chip:hover{border-color:var(--coral);color:var(--coral-deep);}
  .chip.active{background:var(--ink);border-color:var(--ink);color:#fff;}
  .loc-select{margin-left:auto;display:flex;align-items:center;gap:9px;font-size:14px;color:var(--ink-soft);}
  .loc-select select{font-family:inherit;font-size:14px;font-weight:600;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:9px 14px;cursor:pointer;}

  #rolesList{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--line-strong);}
  .role{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;padding:30px 4px;border-bottom:1px solid var(--line);transition:background .15s,padding .15s;}
  .role:hover{background:var(--cream);padding-left:18px;padding-right:18px;}
  .role .r-main{min-width:0;}
  .role .r-tags{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:10px;}
  .r-dept{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--coral-deep);background:#FFF1EB;border:1px solid #F8C9B6;border-radius:999px;padding:4px 11px;}
  .r-loc{font-size:13px;color:var(--ink-faint);display:flex;align-items:center;gap:6px;}
  .r-loc svg{width:13px;height:13px;stroke:var(--ink-faint);fill:none;stroke-width:2;}
  .role h3{font-family:'Newsreader',serif;font-size:27px;font-weight:500;letter-spacing:-.01em;line-height:1.1;}
  .role p{font-size:15px;color:var(--ink-soft);margin-top:8px;max-width:60ch;line-height:1.55;}
  .role .r-apply{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:15px;color:var(--ink);white-space:nowrap;border:1px solid var(--line-strong);border-radius:6px;padding:12px 20px;transition:all .15s;}
  .role .r-apply:hover{background:var(--ink);color:#fff;}
  .role .r-apply svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;transition:transform .15s;}
  .role:hover .r-apply svg{transform:translateX(3px);}
  .role.hidden{display:none;}

  /* roles grid layout (tweak) */
  #rolesList[data-layout="grid"]{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;border-top:none;}
  #rolesList[data-layout="grid"] .role{border:1px solid var(--line);border-radius:16px;padding:30px;grid-template-columns:1fr;align-items:start;gap:0;}
  #rolesList[data-layout="grid"] .role:hover{padding:30px;background:var(--cream);transform:translateY(-3px);box-shadow:0 30px 60px -42px rgba(28,24,18,.4);}
  #rolesList[data-layout="grid"] .role .r-apply{margin-top:22px;}
  @media(max-width:860px){#rolesList[data-layout="grid"]{grid-template-columns:1fr;}.role{grid-template-columns:1fr;gap:18px;align-items:start;}}

  .roles-note{margin-top:34px;background:var(--cream);border:1px dashed var(--coral-border,#F8C9B6);border-radius:14px;padding:24px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;}
  .roles-note p{font-size:15.5px;color:var(--ink-soft);max-width:56ch;}
  .roles-note p strong{color:var(--ink);}

  /* ===== REGISTER FORM ===== */
  #register{scroll-margin-top:90px;}
  .reg-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:start;}
  .reg-intro h2.title{max-width:14ch;}
  .reg-intro .lead{margin-bottom:28px;}
  .reg-points{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px;}
  .reg-points li{display:flex;gap:12px;font-size:15px;color:var(--ink-soft);line-height:1.5;}
  .reg-points li svg{width:19px;height:19px;stroke:var(--coral-deep);fill:none;stroke-width:2.2;flex-shrink:0;margin-top:2px;}
  .reg-mail{margin-top:30px;font-size:14.5px;color:var(--ink-soft);}
  .reg-mail a{color:var(--coral-deep);font-weight:600;border-bottom:1px solid currentColor;}

  .reg-form{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:38px;box-shadow:0 40px 90px -64px rgba(28,24,18,.5);}
  .alt .reg-form{background:var(--paper);}
  .field{margin-bottom:20px;}
  .field:last-of-type{margin-bottom:26px;}
  .field label{display:block;font-size:13px;font-weight:600;color:var(--ink);margin-bottom:8px;}
  .field label .opt{color:var(--ink-faint);font-weight:500;}
  .field input,.field select,.field textarea{width:100%;font-family:inherit;font-size:15px;color:var(--ink);background:var(--cream);border:1px solid var(--line);border-radius:10px;padding:13px 15px;transition:border-color .15s,background .15s;}
  .field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--coral);background:var(--paper);}
  .field textarea{resize:vertical;min-height:104px;line-height:1.5;}
  .field.err input{border-color:#E04A1F;background:#FFF1EB;}
  .field .err-msg{display:none;font-size:12.5px;color:#E04A1F;margin-top:6px;}
  .field.err .err-msg{display:block;}
  .field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
  .reg-form .btn{width:100%;}
  .reg-consent{font-size:12px;color:var(--ink-faint);margin-top:14px;text-align:center;line-height:1.5;}
  .reg-thanks{display:none;text-align:center;padding:30px 10px;}
  .reg-thanks.show{display:block;}
  .reg-thanks .tick{width:62px;height:62px;border-radius:50%;background:#FFF1EB;border:1px solid #F8C9B6;display:flex;align-items:center;justify-content:center;margin:0 auto 22px;}
  .reg-thanks .tick svg{width:28px;height:28px;stroke:var(--coral-deep);fill:none;stroke-width:2.4;}
  .reg-thanks h3{font-family:'Newsreader',serif;font-size:30px;font-weight:500;letter-spacing:-.01em;}
  .reg-thanks p{font-size:15.5px;color:var(--ink-soft);max-width:42ch;margin:12px auto 0;}
  .reg-form.sent .reg-form-body{display:none;}
  @media(max-width:860px){.reg-grid{grid-template-columns:1fr;gap:44px;}.field-row{grid-template-columns:1fr;}}

  /* footer */
  footer{background:#0D0B09;color:rgba(255,255,255,.65);padding:60px 0 34px;}
  .foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:48px;}
  .foot-logo{height:var(--logo-h);margin-bottom:20px;}
  .foot-about{font-family:'Newsreader',serif;font-size:17px;line-height:1.6;max-width:30ch;}
  .foot-col h5{color:#fff;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;margin-bottom:18px;}
  .foot-col a{display:block;font-size:14.5px;margin-bottom:12px;transition:color .15s;}
  .foot-col a:hover{color:var(--coral);}
  .foot-bottom{border-top:1px solid rgba(255,255,255,.14);margin-top:52px;padding-top:30px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:12.5px;color:rgba(255,255,255,.5);}
  @media(max-width:980px){.foot-grid{grid-template-columns:1fr 1fr;}}
  @media(max-width:680px){.foot-grid{grid-template-columns:1fr;}}

  .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease;}
  .reveal.in{opacity:1;transform:none;}
