/* ================================ RESET ================================ */
*,*::before,*::after{box-sizing:border-box}
body,h1,h2,h3,h4,p,ul,ol,figure,form,fieldset{margin:0;padding:0}
ul{list-style:none}
a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%}
button{font:inherit;border:0;background:0;cursor:pointer;color:inherit;padding:0}
input,textarea,select{font:inherit;color:inherit;border:0;background:0}
html{scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;-webkit-font-smoothing:antialiased;background:#f4f5f7;color:#0E172E;font-size:16px;line-height:1.6}

/* ============================ SELECTION HOME =========================== */
#selection{min-height:100vh;padding:56px 40px 80px;background:#f4f5f7;color:#0E172E}
#selection.hidden,#site.hidden{display:none}
.sel-head{max-width:1320px;margin:0 auto 56px;display:flex;justify-content:space-between;align-items:flex-end;padding-bottom:32px;border-bottom:1px solid rgba(14,23,46,0.1)}
.sel-head .l img{height:44px;margin-bottom:22px}
.sel-head h1{font-family:'Fraunces',serif;font-style:italic;font-weight:500;font-size:54px;letter-spacing:-0.02em;line-height:1;color:#0E172E}
.sel-head h1 em{color:#0060AC;font-style:italic}
.sel-head .r{text-align:right;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.2em;text-transform:uppercase;color:#6E7693;line-height:1.8}
.sel-head .r .acc{color:#0060AC;font-weight:600}
.sel-intro{max-width:880px;margin:0 auto 56px;font-size:17px;line-height:1.7;color:#3F4A66}
.sel-intro em{font-family:'Fraunces',serif;font-style:italic;color:#0060AC}
.theme-grid{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.theme-card{background:#fff;border:1px solid rgba(14,23,46,0.08);border-radius:14px;overflow:hidden;cursor:pointer;transition:transform .25s,box-shadow .25s,border-color .25s;display:flex;flex-direction:column}
.theme-card:hover{transform:translateY(-3px);box-shadow:0 20px 40px rgba(0,96,172,0.10);border-color:#0060AC}
.theme-card .prev{aspect-ratio:16/9;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:36px}
.theme-card .info{padding:24px 28px;display:flex;justify-content:space-between;gap:22px;align-items:flex-start;border-top:1px solid rgba(14,23,46,0.08)}
.theme-card .info .l{flex:1}
.theme-card .info .num{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:0.22em;text-transform:uppercase;color:#0060AC;font-weight:600}
.theme-card .info h3{font-family:'Inter',sans-serif;font-weight:700;font-size:21px;letter-spacing:-0.015em;margin-top:6px;color:#0E172E}
.theme-card .info h3 small{display:block;font-weight:400;font-size:13px;color:#6E7693;margin-top:3px}
.theme-card .info .swatches{display:flex;gap:6px;margin-top:14px}
.theme-card .info .swatches i{display:block;width:18px;height:18px;border-radius:50%;border:1px solid rgba(14,23,46,0.12)}
.theme-card .info .tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}
.theme-card .info .tag{padding:3px 10px;border-radius:999px;background:rgba(0,96,172,0.08);color:#0060AC;font-size:10px;font-weight:600;letter-spacing:0.04em;text-transform:uppercase}
.theme-card .info .cta{font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:#0060AC;font-weight:600;padding-top:6px;white-space:nowrap}
.sel-foot{max-width:1320px;margin:64px auto 0;padding-top:24px;border-top:1px solid rgba(14,23,46,0.1);display:flex;justify-content:space-between;font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:#6E7693}
.sel-foot .acc{color:#0060AC}

/* ============================== THEME BAR ============================== */
.theme-bar{position:sticky;top:0;z-index:200;height:44px;background:rgba(14,23,46,0.96);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 20px;font-family:'Inter',sans-serif;font-size:12px;letter-spacing:0.08em;backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,0.08)}
.theme-bar .back{color:#fff;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;font-size:11px;padding:6px 0;transition:color .2s}
.theme-bar .back:hover{color:#92C9EF}
.theme-bar .name{font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:#fff}
.theme-bar .palette{display:flex;gap:6px;align-items:center}
.theme-bar .palette i{display:block;width:16px;height:16px;border-radius:50%;border:1px solid rgba(255,255,255,0.25)}
@media (max-width:720px){.theme-bar .palette{display:none}}

/* ============================== SITE SHELL ============================= */
/* Default fallback vars — overridden by .theme-* */
:root{
  --bg:#fff;--paper:#fff;--fg:#0E172E;--muted:#6E7693;
  --accent:#0060AC;--accent-soft:#92C9EF;
  --line:rgba(14,23,46,0.1);--rule:rgba(14,23,46,0.5);
  --font-display:'Inter',sans-serif;--font-body:'Inter',sans-serif;--font-meta:'Inter',sans-serif;
  --display-weight:700;--display-track:-0.02em;--display-style:normal;--display-case:none;--display-lh:1.05;
  --body-weight:400;
  --meta-track:0.18em;--meta-case:uppercase;--meta-weight:600;
  --radius:6px;
}
#site{background:var(--bg);color:var(--fg);font-family:var(--font-body);font-weight:var(--body-weight)}
#site .nav{display:flex;justify-content:space-between;align-items:center;padding:22px 56px;border-bottom:1px solid var(--line);background:var(--bg);position:sticky;top:0;z-index:50;backdrop-filter:blur(8px);gap:32px;flex-wrap:nowrap}
#site .nav img{height:34px;flex-shrink:0;max-width:200px;width:auto;object-fit:contain}
#site .nav ul{display:flex;gap:30px;flex-wrap:nowrap;white-space:nowrap}
#site .nav a{font-family:var(--font-meta);font-size:12px;letter-spacing:var(--meta-track);text-transform:var(--meta-case);font-weight:var(--meta-weight);color:var(--fg);transition:color .2s;padding:6px 0;white-space:nowrap}
#site .nav a:hover,#site .nav a.on{color:var(--accent)}
#site .nav .lang{font-family:var(--font-meta);font-size:11px;letter-spacing:var(--meta-track);text-transform:var(--meta-case);color:var(--muted);flex-shrink:0;white-space:nowrap}
#site .nav .lang .on{color:var(--accent);font-weight:600}

/* HERO */
#site .hero{padding:96px 56px 88px;text-align:center;border-bottom:1px solid var(--line);position:relative;overflow:hidden}
#site .hero .eyebrow{display:inline-flex;align-items:center;gap:14px;font-family:var(--font-meta);font-size:11px;letter-spacing:var(--meta-track);text-transform:var(--meta-case);font-weight:var(--meta-weight);color:var(--accent);margin-bottom:26px;align-self:center;justify-self:center;margin-left:auto;margin-right:auto}
#site .hero .eyebrow::before,#site .hero .eyebrow::after{content:"";width:32px;height:1px;background:var(--accent)}
#site .hero h1{font-family:var(--font-display);font-weight:var(--display-weight);letter-spacing:var(--display-track);font-style:var(--display-style);text-transform:var(--display-case);line-height:var(--display-lh);font-size:clamp(48px,8vw,144px);color:var(--fg);max-width:1320px;margin:0 auto;word-break:normal;overflow-wrap:normal;hyphens:none}
#site .hero h1 .acc{color:var(--accent)}
#site .hero h1 em,#site .hero h1 .acc{white-space:nowrap}
#site .hero p.sub{margin:40px auto 0;max-width:640px;font-size:19px;line-height:1.65;color:var(--muted)}
#site .hero .ctas{margin-top:38px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* BUTTON */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 26px;min-width:240px;max-width:100%;text-align:center;font-family:var(--font-meta);font-weight:var(--meta-weight);font-size:12px;letter-spacing:0.12em;text-transform:uppercase;border-radius:var(--radius);transition:all .25s;cursor:pointer}
.btn-primary{background:var(--accent);color:#fff;border:1px solid var(--accent)}
.btn-primary:hover{filter:brightness(1.1)}
.btn-ghost{background:transparent;color:var(--fg);border:1px solid var(--fg)}
.btn-ghost:hover{background:var(--fg);color:var(--bg)}

/* SECTION SHELL */
#site section{padding:110px 56px;border-bottom:1px solid var(--line);position:relative}
#site .section-head{max-width:1240px;margin:0 auto 64px;text-align:center}
#site .section-head .tag{display:inline-block;font-family:var(--font-meta);font-size:11px;letter-spacing:var(--meta-track);text-transform:var(--meta-case);font-weight:var(--meta-weight);color:var(--accent);margin-bottom:18px}
#site .section-head h2,#site .section-head h1{font-family:var(--font-display);font-weight:var(--display-weight);letter-spacing:var(--display-track);font-style:var(--display-style);text-transform:var(--display-case);line-height:var(--display-lh);font-size:clamp(28px,4.2vw,58px);color:var(--fg);overflow-wrap:normal;word-break:normal}
#site .section-head h2 .acc,#site .section-head h1 .acc{color:var(--accent)}
#site .section-head p.lead{margin:24px auto 0;max-width:680px;font-size:17px;line-height:1.7;color:var(--muted)}

/* CHI SIAMO — TEAM */
.team-block{max-width:1240px;margin:0 auto}
.team-block + .team-block{margin-top:80px}
.team-block .group-head{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:18px;margin-bottom:36px;border-bottom:1px solid var(--rule)}
.team-block .group-head h3{font-family:var(--font-display);font-weight:var(--display-weight);font-size:28px;letter-spacing:var(--display-track);font-style:var(--display-style);text-transform:var(--display-case);color:var(--fg)}
.team-block .group-head .count{font-family:var(--font-meta);font-size:11px;letter-spacing:var(--meta-track);text-transform:var(--meta-case);color:var(--muted);font-weight:var(--meta-weight)}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.team-grid.tg-2{grid-template-columns:repeat(2,1fr);max-width:680px;margin:0 auto}
.person{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s,border-color .25s}
.person:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(0,0,0,0.08);border-color:var(--accent)}
.person .portrait{aspect-ratio:3/4;background:rgba(0,96,172,0.06);overflow:hidden;position:relative}
.person .portrait img{width:100%;height:100%;object-fit:cover;object-position:center top;position:relative;z-index:2}
.person .initials{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:var(--display-weight);font-size:64px;color:var(--accent);letter-spacing:-0.02em;font-style:var(--display-style);z-index:1}
/* Bulletproof: nascondi initials se img presente nel portrait (anche con HTML cached/legacy) */
.person .portrait:has(img) .initials{display:none}
.person .upcoming-badge{position:absolute;top:14px;left:14px;background:var(--accent);color:#fff;padding:5px 11px;font-family:var(--font-meta);font-size:9px;letter-spacing:0.22em;text-transform:uppercase;font-weight:600;border-radius:var(--radius);z-index:2}
.person.upcoming .portrait{filter:grayscale(1) opacity(0.5)}
.person .pinfo{padding:20px 22px;flex:1;display:flex;flex-direction:column}
.person .rl{font-family:var(--font-meta);font-size:10px;letter-spacing:var(--meta-track);text-transform:var(--meta-case);color:var(--accent);font-weight:var(--meta-weight)}
.person .nm{font-family:var(--font-display);font-weight:var(--display-weight);font-size:18px;letter-spacing:-0.005em;font-style:var(--display-style);line-height:1.2;margin-top:6px;color:var(--fg)}
.person .bio{margin-top:10px;font-size:13px;line-height:1.65;color:var(--muted);flex:1}
.person .person-foot{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-family:var(--font-meta);font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted);display:flex;justify-content:space-between;align-items:center;gap:8px}
.person .person-foot a{color:var(--accent);font-weight:600}
.person .person-foot a:hover{text-decoration:underline}

/* ADVISORY — AREAS */
.areas-grid{max-width:880px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:18px}
.areas-grid .area:last-child:nth-child(3n+1){grid-column:auto;max-width:none}
.area{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:36px 32px 28px;transition:transform .25s,box-shadow .25s,border-color .25s;display:flex;flex-direction:column}
.area:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgba(0,0,0,0.06);border-color:var(--accent)}
.area .icon{width:44px;height:44px;color:var(--accent);margin-bottom:22px}
.area .icon svg{width:100%;height:100%}
.area h3{font-family:var(--font-display);font-weight:var(--display-weight);font-size:22px;letter-spacing:-0.005em;font-style:var(--display-style);line-height:1.2;color:var(--fg);margin-bottom:10px}
.area p{font-size:14px;line-height:1.7;color:var(--muted);flex:1}
.area .area-foot{margin-top:22px;padding-top:14px;border-top:1px solid var(--line);font-family:var(--font-meta);font-size:10px;letter-spacing:var(--meta-track);text-transform:var(--meta-case);font-weight:var(--meta-weight);color:var(--accent);display:flex;justify-content:space-between;align-items:center;cursor:pointer}
.area .area-foot:hover{color:var(--fg)}

/* LDK STORY */
.story-wrap{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:80px}
.story-wrap article{position:relative}
.story-wrap .ch-num{font-family:var(--font-meta);font-size:11px;letter-spacing:var(--meta-track);text-transform:var(--meta-case);font-weight:var(--meta-weight);color:var(--accent);margin-bottom:16px;display:block}
.story-wrap h3{font-family:var(--font-display);font-weight:var(--display-weight);font-size:36px;letter-spacing:var(--display-track);font-style:var(--display-style);text-transform:var(--display-case);line-height:1.1;color:var(--fg);margin-bottom:24px}
.story-wrap h3 .acc{color:var(--accent)}
.story-wrap p{font-size:16px;line-height:1.85;color:var(--muted);margin-bottom:18px}
.story-wrap p strong{color:var(--fg);font-weight:600}
.story-wrap .pull{margin-top:32px;padding:24px 28px;border-left:3px solid var(--accent);background:var(--paper);font-family:var(--font-display);font-size:18px;line-height:1.5;color:var(--fg);font-style:italic;letter-spacing:-0.005em}

/* CONTATTI */
.contact-wrap{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr 1.2fr;gap:64px;align-items:start}
.contact-info .addr{padding-bottom:28px;border-bottom:1px solid var(--line);margin-bottom:28px}
.contact-info .addr-lbl{font-family:var(--font-meta);font-size:10px;letter-spacing:var(--meta-track);text-transform:var(--meta-case);font-weight:var(--meta-weight);color:var(--accent);margin-bottom:8px}
.contact-info .addr-v{font-family:var(--font-display);font-weight:var(--display-weight);font-size:20px;letter-spacing:-0.005em;font-style:var(--display-style);line-height:1.4;color:var(--fg)}
.contact-info .addr-extra{margin-top:8px;font-size:14px;color:var(--muted)}
.contact-info .map{margin-top:28px;width:100%;height:240px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);position:relative;overflow:hidden}
.contact-info .map svg{width:100%;height:100%}
.contact-form{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:36px 32px}
.contact-form h3{font-family:var(--font-display);font-weight:var(--display-weight);font-size:24px;letter-spacing:-0.005em;font-style:var(--display-style);color:var(--fg);margin-bottom:6px}
.contact-form .lead{font-size:14px;color:var(--muted);margin-bottom:24px}
.contact-form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contact-form label{display:block;margin-bottom:14px}
.contact-form .lbl{font-family:var(--font-meta);font-size:10px;letter-spacing:var(--meta-track);text-transform:var(--meta-case);font-weight:var(--meta-weight);color:var(--muted);margin-bottom:6px;display:block}
.contact-form input,.contact-form textarea{width:100%;padding:11px 14px;border:1px solid var(--line);background:var(--bg);color:var(--fg);border-radius:var(--radius);font-size:14px;font-family:var(--font-body);transition:border-color .2s}
.contact-form input:focus,.contact-form textarea:focus{outline:0;border-color:var(--accent)}
.contact-form textarea{min-height:120px;resize:vertical}
.contact-form .submit-row{margin-top:14px;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.contact-form .submit-row small{font-family:var(--font-meta);font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted)}

/* FOOTER */
#site footer{padding:64px 56px 28px;background:var(--paper);border-top:1px solid var(--rule)}
#site .foot-grid{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;padding-bottom:28px;border-bottom:1px solid var(--line)}
#site .foot-grid img{height:32px;margin-bottom:18px}
#site .foot-grid h4{font-family:var(--font-meta);font-size:11px;letter-spacing:var(--meta-track);text-transform:var(--meta-case);font-weight:var(--meta-weight);color:var(--accent);margin-bottom:14px}
#site .foot-grid ul{font-size:13px;line-height:2;color:var(--muted)}
#site .foot-grid p{font-size:13px;line-height:1.7;color:var(--muted);max-width:320px}
#site .foot-bot{max-width:1240px;margin:0 auto;padding-top:18px;display:flex;justify-content:space-between;font-family:var(--font-meta);font-size:10px;letter-spacing:var(--meta-track);text-transform:var(--meta-case);color:var(--muted)}
#site .foot-bot .acc{color:var(--accent)}
#site .foot-legal{grid-column:1/-1;text-align:center;font-family:var(--font-meta);font-size:9px;letter-spacing:0.08em;text-transform:var(--meta-case);color:var(--muted);line-height:1.9;white-space:nowrap}
@media(max-width:1024px){#site .foot-legal{white-space:normal}}

/* ============================ FLOATING THEME SWITCHER ============================ */
#floating-switcher{
  position:fixed;left:50%;bottom:24px;transform:translateX(-50%);
  z-index:300;display:flex;align-items:center;gap:8px;
  background:rgba(20,24,40,0.92);backdrop-filter:blur(18px);
  border:1px solid rgba(255,255,255,0.10);border-radius:999px;
  padding:8px 10px;box-shadow:0 18px 50px rgba(0,0,0,0.25);
  max-width:calc(100vw - 48px);transition:all .3s cubic-bezier(.2,.7,.15,1);
  font-family:'Inter',sans-serif;
}
#floating-switcher.collapsed .fs-track,#floating-switcher.collapsed .fs-home{display:none}
#floating-switcher .fs-home{
  flex-shrink:0;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,0.10);
  color:#fff;font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:background .2s;
}
#floating-switcher .fs-home:hover{background:rgba(255,255,255,0.22)}
#floating-switcher .fs-track{
  display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;
  max-width:min(70vw,720px);scroll-behavior:smooth;
}
#floating-switcher .fs-track::-webkit-scrollbar{display:none}
#floating-switcher .fs-item{
  flex-shrink:0;display:flex;align-items:center;gap:8px;
  padding:8px 14px;border-radius:999px;background:transparent;color:rgba(255,255,255,0.7);
  font-size:11px;letter-spacing:0.04em;font-weight:500;white-space:nowrap;
  cursor:pointer;transition:all .2s;border:1px solid transparent;
}
#floating-switcher .fs-item:hover{background:rgba(255,255,255,0.10);color:#fff}
#floating-switcher .fs-item.active{background:rgba(255,255,255,0.18);color:#fff;border-color:rgba(255,255,255,0.20)}
#floating-switcher .fs-dots{display:flex;gap:2px}
#floating-switcher .fs-dots i{display:block;width:8px;height:8px;border-radius:50%;border:1px solid rgba(255,255,255,0.15)}
#floating-switcher .fs-toggle{
  flex-shrink:0;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,0.10);
  color:#fff;font-size:14px;line-height:1;display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:background .2s;
}
#floating-switcher .fs-toggle:hover{background:rgba(255,255,255,0.22)}
#floating-switcher.collapsed{padding:8px}
@media (max-width:720px){
  #floating-switcher{bottom:16px}
  #floating-switcher .fs-item .fs-name{display:none}
  #floating-switcher .fs-item{padding:8px 10px}
  #floating-switcher .fs-track{max-width:60vw}
}
/* Switcher always visible, anche su selection home */

/* RESPONSIVE */
@media (max-width:1100px){
  #site .nav{padding:18px 28px;gap:18px}
  #site .nav ul{gap:18px}
  #site .nav a{font-size:11px;letter-spacing:0.08em}
}
@media (max-width:900px){
  #site .nav{padding:18px 24px}
  #site .nav ul{display:none}
  #site .nav .lang{display:none}
  #site .nav-toggle{display:flex}
  #site section,#site .hero{padding-left:24px;padding-right:24px}
  #site .hero{padding-top:64px;padding-bottom:56px}
  #site .hero h1{font-size:clamp(36px,9vw,72px) !important;line-height:1.05 !important}
  #site .hero p.sub{font-size:15px !important;margin-top:20px !important;line-height:1.6 !important}
  #site .hero .eyebrow{font-size:10px !important;margin-bottom:18px !important}
  #site .hero .ctas{margin-top:24px !important;gap:10px}
  #site .hero .btn{padding:11px 20px;font-size:11px}
  #site .section-head h2,#site .section-head h1{font-size:clamp(24px,6.4vw,34px) !important;line-height:1.1 !important}
  #site .section-head{margin-bottom:40px !important;padding:0 8px}
  #site .section-head p.lead{font-size:15px !important}
  #site section{padding-top:72px !important;padding-bottom:72px !important}
  .team-grid{grid-template-columns:repeat(2,1fr);gap:16px}
  .team-grid.tg-2{grid-template-columns:repeat(2,1fr)}
  .areas-grid{grid-template-columns:1fr}
  .story-wrap,.contact-wrap{grid-template-columns:1fr;gap:48px}
  .contact-form{padding:24px 18px}
  .contact-form .row{grid-template-columns:1fr}
  #site .foot-grid{grid-template-columns:1fr 1fr;gap:32px}
  .theme-grid{grid-template-columns:1fr}
  .person .pinfo{padding:14px 16px}
  .person .nm{font-size:16px}
  .person .bio{font-size:12.5px}
  .area{padding:24px 20px}
  .area h3{font-size:18px}
  .area p{font-size:13px}
  .ldk-karman .karman-h{font-size:clamp(40px,9vw,76px) !important;margin-bottom:24px}
  .ldk-karman .karman-quote{font-size:15px !important;line-height:1.5}
  .story-wrap h3{font-size:26px !important}
  .story-wrap p{font-size:14.5px !important;line-height:1.7}
  .story-wrap .pull{font-size:15px !important;padding:18px 20px}
  #site .foot-grid{grid-template-columns:1fr;gap:28px}
  #site .foot-bot{flex-direction:column;gap:6px}
}
/* ============================== HAMBURGER + MOBILE DRAWER ============================== */
/* Hamburger button — MOBILE ONLY (display:flex applied via @media max-width:900px) */
#site .nav-toggle{
  display:none;align-items:center;justify-content:center;
  width:40px;height:40px;background:transparent;border:1px solid var(--line);cursor:pointer;
  margin-left:12px;flex-shrink:0;padding:0;border-radius:var(--radius);
  position:relative;z-index:60;transition:border-color .2s,background .2s;
}
#site .nav-toggle:hover{border-color:var(--accent);background:rgba(0,96,172,0.04)}
/* Dark themes: hamburger bordo+barre bianchi (var(--line) trasparente non funziona su dark bg) */
.theme-bebas #site .nav-toggle,.theme-syne #site .nav-toggle,.theme-aurora #site .nav-toggle,.theme-aurora-premium #site .nav-toggle{border-color:rgba(255,255,255,0.35)}
.theme-bebas #site .nav-toggle-bar,.theme-syne #site .nav-toggle-bar,.theme-aurora #site .nav-toggle-bar,.theme-aurora-premium #site .nav-toggle-bar{background:#fff}
.theme-bebas #site .nav-toggle:hover,.theme-syne #site .nav-toggle:hover,.theme-aurora #site .nav-toggle:hover,.theme-aurora-premium #site .nav-toggle:hover{border-color:#fff;background:rgba(255,255,255,0.08)}
#site .nav-toggle-bar{
  display:block;width:22px;height:2px;background:var(--fg);position:absolute;left:8px;border-radius:1px;
  transition:transform .3s cubic-bezier(.2,.7,.15,1),top .3s,opacity .2s;
}
#site .nav-toggle-bar:nth-child(1){top:13px}
#site .nav-toggle-bar:nth-child(2){top:18px}
#site .nav-toggle-bar:nth-child(3){top:23px}
body.menu-open #site .nav-toggle-bar:nth-child(1){top:18px;transform:rotate(45deg)}
body.menu-open #site .nav-toggle-bar:nth-child(2){opacity:0}
body.menu-open #site .nav-toggle-bar:nth-child(3){top:18px;transform:rotate(-45deg)}

/* Mobile drawer overlay */
.mobile-drawer{
  position:fixed;top:0;right:0;bottom:0;width:min(360px,82vw);
  background:var(--bg,#fff);color:var(--fg,#0E172E);
  display:flex;flex-direction:column;
  transform:translateX(100%);transition:transform .35s cubic-bezier(.2,.7,.15,1);
  z-index:200;box-shadow:-20px 0 60px rgba(0,0,0,0.25);
  padding:0;border-left:1px solid var(--line,rgba(14,23,46,0.1));
}
body.menu-open .mobile-drawer{transform:translateX(0)}
.mobile-drawer-head{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-bottom:1px solid var(--line,rgba(14,23,46,0.1))}
.mobile-drawer-head img{height:30px}
.drawer-close{background:transparent;border:0;font-size:36px;line-height:1;color:var(--fg,#0E172E);cursor:pointer;padding:0 4px;font-weight:300}
.mobile-drawer-list{list-style:none;margin:0;padding:24px 0;flex:1;display:flex;flex-direction:column;gap:0}
.mobile-drawer-list li{border-bottom:1px solid rgba(0,0,0,0.05)}
.mobile-drawer-list a{display:block;padding:18px 24px;font-family:var(--font-meta,'Inter',sans-serif);font-size:14px;letter-spacing:0.12em;text-transform:uppercase;font-weight:500;color:var(--fg,#0E172E);text-decoration:none;transition:background .2s,color .2s}
.mobile-drawer-list a:hover,.mobile-drawer-list a:focus{background:rgba(0,96,172,0.06);color:var(--accent,#0060AC)}
.mobile-drawer-foot{padding:18px 24px;border-top:1px solid var(--line,rgba(14,23,46,0.1));display:flex;justify-content:space-between;font-family:var(--font-meta,'Inter',sans-serif);font-size:10px;letter-spacing:0.18em;text-transform:uppercase;color:var(--muted,#6E7693)}
.mobile-drawer-foot .on{color:var(--accent,#0060AC);font-weight:600}

/* Drawer backdrop */
body.menu-open::before{content:"";position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:150;animation:drawerFade .25s ease}
@keyframes drawerFade{from{opacity:0}to{opacity:1}}
body.menu-open{overflow:hidden}

/* Desktop (>900px): drawer SEMPRE nascosto a prescindere da menu-open */
@media (min-width:901px){
  .mobile-drawer{display:none !important;visibility:hidden !important}
  body.menu-open::before{display:none !important}
  body.menu-open{overflow:auto !important}
}
/* Drawer dark theme color overrides */
.theme-bebas .mobile-drawer,.theme-syne .mobile-drawer,.theme-aurora .mobile-drawer,.theme-aurora-premium .mobile-drawer{background:#0E172E;color:#fff}
.theme-bebas .mobile-drawer .drawer-close,.theme-syne .mobile-drawer .drawer-close,.theme-aurora .mobile-drawer .drawer-close,.theme-aurora-premium .mobile-drawer .drawer-close{color:#fff}
.theme-bebas .mobile-drawer .mobile-drawer-list a,.theme-syne .mobile-drawer .mobile-drawer-list a,.theme-aurora .mobile-drawer .mobile-drawer-list a,.theme-aurora-premium .mobile-drawer .mobile-drawer-list a{color:#fff}
.theme-bebas .mobile-drawer .mobile-drawer-list li,.theme-syne .mobile-drawer .mobile-drawer-list li,.theme-aurora .mobile-drawer .mobile-drawer-list li,.theme-aurora-premium .mobile-drawer .mobile-drawer-list li{border-bottom-color:rgba(255,255,255,0.08)}
.theme-bebas .mobile-drawer img.logo,.theme-syne .mobile-drawer img.logo,.theme-aurora .mobile-drawer img.logo,.theme-aurora-premium .mobile-drawer img.logo{filter:brightness(0) invert(1)}

/* ============================== 8 THEMES =============================== */

/* 01 — HANKEN GROTESK + LORA — Editorial Soft */
.theme-hanken{
  --bg:#ECECE8;--paper:#fff;--fg:#0E172E;--muted:#6E7693;
  --accent:#0060AC;--accent-soft:#92C9EF;
  --line:rgba(14,23,46,0.10);--rule:rgba(14,23,46,0.4);
  --font-display:'Hanken Grotesk',sans-serif;
  --font-body:'Lora',serif;
  --font-meta:'Hanken Grotesk',sans-serif;
  --display-weight:800;--display-track:-0.028em;--display-style:normal;--display-case:none;--display-lh:1.02;
  --body-weight:400;
  --meta-track:0.22em;--meta-case:uppercase;--meta-weight:600;
  --radius:8px;
}
.theme-hanken .hero h1 em{font-family:'Lora',serif;font-style:italic;font-weight:500;color:var(--accent)}

/* 02 — PLUS JAKARTA + IBM PLEX MONO — Broadsheet Magazine */
.theme-jakarta{
  --bg:#FAFAF7;--paper:#fff;--fg:#0E172E;--muted:#6E7693;
  --accent:#0060AC;--accent-soft:#92C9EF;
  --line:rgba(14,23,46,0.14);--rule:#0E172E;
  --font-display:'Plus Jakarta Sans',sans-serif;
  --font-body:'Plus Jakarta Sans',sans-serif;
  --font-meta:'IBM Plex Mono',monospace;
  --display-weight:800;--display-track:-0.035em;--display-style:normal;--display-case:none;--display-lh:0.98;
  --body-weight:400;
  --meta-track:0.16em;--meta-case:uppercase;--meta-weight:500;
  --radius:0px;
}
.theme-jakarta #site .nav{border-bottom-width:3px;border-style:solid;border-bottom-style:double}

/* 03 — BEBAS NEUE + KARLA — Cinematic Dark */
.theme-bebas{
  --bg:#020611;--paper:#0A1023;--fg:#ffffff;--muted:rgba(255,255,255,0.7);
  --accent:#92C9EF;--accent-soft:rgba(146,201,239,0.3);
  --line:rgba(255,255,255,0.12);--rule:rgba(255,255,255,0.4);
  --font-display:'Bebas Neue',sans-serif;
  --font-body:'Karla',sans-serif;
  --font-meta:'Bebas Neue',sans-serif;
  --display-weight:400;--display-track:0.04em;--display-style:normal;--display-case:uppercase;--display-lh:0.9;
  --body-weight:400;
  --meta-track:0.28em;--meta-case:uppercase;--meta-weight:400;
  --radius:0px;
}
/* bebas logo: swap via JS */
.theme-bebas .person .portrait{filter:grayscale(0.6) contrast(1.05) brightness(0.9)}
.theme-bebas .person:hover .portrait{filter:none}

/* 04 — JOSEFIN SANS + LATO — Belle Époque */
.theme-josefin{
  --bg:#F4F0EA;--paper:#FAF7F1;--fg:#0E172E;--muted:#7C7569;
  --accent:#0060AC;--accent-soft:#A98A4B;
  --line:rgba(14,23,46,0.14);--rule:#A98A4B;
  --font-display:'Josefin Sans',sans-serif;
  --font-body:'Lato',sans-serif;
  --font-meta:'Josefin Sans',sans-serif;
  --display-weight:300;--display-track:0.14em;--display-style:normal;--display-case:uppercase;--display-lh:1.12;
  --body-weight:300;
  --meta-track:0.42em;--meta-case:uppercase;--meta-weight:400;
  --radius:0px;
}
.theme-josefin .person .rl{color:var(--accent-soft)}

/* 05 — FRAUNCES + INTER — Literary Book */
.theme-fraunces{
  --bg:#F2EEE5;--paper:#FAF7F0;--fg:#1A1A1A;--muted:#56514B;
  --accent:#0060AC;--accent-soft:#92C9EF;
  --line:rgba(26,26,26,0.14);--rule:#1A1A1A;
  --font-display:'Fraunces',serif;
  --font-body:'Inter',sans-serif;
  --font-meta:'Inter',sans-serif;
  --display-weight:400;--display-track:-0.02em;--display-style:normal;--display-case:none;--display-lh:1.05;
  --body-weight:400;
  --meta-track:0.28em;--meta-case:uppercase;--meta-weight:600;
  --radius:4px;
}
.theme-fraunces .hero h1 em,.theme-fraunces .section-head h2 em,.theme-fraunces .section-head h1 em,.theme-fraunces .story-wrap h3 em{font-family:'Fraunces',serif;font-style:italic;color:var(--accent)}
.theme-fraunces .person .nm em{font-style:italic;color:var(--accent)}

/* 06 — CINZEL + CORMORANT INFANT — Lapidary */
.theme-cinzel{
  --bg:#ECEAE3;--paper:#F5F2EB;--fg:#1A1A1A;--muted:#797366;
  --accent:#0060AC;--accent-soft:#92C9EF;
  --line:rgba(14,23,46,0.18);--rule:#1A1A1A;
  --font-display:'Cinzel',serif;
  --font-body:'Cormorant Infant',serif;
  --font-meta:'Cinzel',serif;
  --display-weight:600;--display-track:0.08em;--display-style:normal;--display-case:uppercase;--display-lh:1.15;
  --body-weight:400;
  --meta-track:0.42em;--meta-case:uppercase;--meta-weight:500;
  --radius:0px;
}
.theme-cinzel #site{font-size:20px}
.theme-cinzel .person .bio,.theme-cinzel .area p,.theme-cinzel .story-wrap p{font-size:18px;line-height:1.8;font-weight:500;color:var(--fg)}
.theme-cinzel .person .nm{font-size:21px;line-height:1.3}
.theme-cinzel .area h3{font-size:25px;line-height:1.35}
.theme-cinzel .story-wrap h3{font-size:40px}
.theme-cinzel .section-head p.lead{font-size:19px;line-height:1.7;color:var(--fg)}

/* 07 — SYNE + INTER — Bigblue Statement */
.theme-syne{
  --bg:#0060AC;--paper:#003B6B;--fg:#ffffff;--muted:rgba(255,255,255,0.72);
  --accent:#92C9EF;--accent-soft:rgba(146,201,239,0.4);
  --line:rgba(255,255,255,0.15);--rule:rgba(255,255,255,0.35);
  --font-display:'Syne',sans-serif;
  --font-body:'Inter',sans-serif;
  --font-meta:'Inter',sans-serif;
  --display-weight:700;--display-track:-0.015em;--display-style:normal;--display-case:none;--display-lh:1.05;
  --body-weight:400;
  --meta-track:0.28em;--meta-case:uppercase;--meta-weight:600;
  --radius:0px;
}
/* syne logo: swap via JS */
.theme-syne .contact-form input,.theme-syne .contact-form textarea{background:rgba(255,255,255,0.06);color:#fff}

/* 08 — FRAUNCES + INTER — Law-Firm Respes */
.theme-respes{
  --bg:#ffffff;--paper:#F4F0EA;--fg:#1A1A1A;--muted:#56514B;
  --accent:#0060AC;--accent-soft:#92C9EF;
  --line:rgba(26,26,26,0.12);--rule:#1A1A1A;
  --font-display:'Fraunces',serif;
  --font-body:'Inter',sans-serif;
  --font-meta:'Inter',sans-serif;
  --display-weight:500;--display-track:-0.015em;--display-style:normal;--display-case:none;--display-lh:1.05;
  --body-weight:400;
  --meta-track:0.14em;--meta-case:uppercase;--meta-weight:500;
  --radius:0px;
}
.theme-respes #site .hero{background:#1A1A1A;color:#fff}
.theme-respes #site .hero h1{color:#fff}
.theme-respes #site .hero h1 em{font-family:'Fraunces',serif;font-style:italic;color:#fff}
.theme-respes #site .hero h1 .acc{color:#92C9EF}
.theme-respes #site .hero p.sub{color:rgba(255,255,255,0.85)}
.theme-respes #site .hero .eyebrow{color:#92C9EF}
.theme-respes #site .hero .eyebrow::before,.theme-respes #site .hero .eyebrow::after{background:#92C9EF}
.theme-respes #site .hero .btn-ghost{color:#fff;border-color:#fff}
.theme-respes #site .hero .btn-ghost:hover{background:#fff;color:#1A1A1A}
.theme-respes .section-head h2 em,.theme-respes .story-wrap h3 em{font-style:italic}
.theme-respes #site footer{background:#1A1A1A;color:rgba(255,255,255,0.78)}
/* respes footer logo: swap via JS */
.theme-respes #site footer h4{color:#92C9EF}
.theme-respes #site footer ul,.theme-respes #site footer p{color:rgba(255,255,255,0.65)}
.theme-respes #site .foot-bot{color:rgba(255,255,255,0.5)}
.theme-respes #site .foot-grid{border-bottom-color:rgba(255,255,255,0.12)}

/* 09 — INTER TIGHT + INTER — Editorial Austere */
.theme-austere{
  --bg:#FFFFFF;--paper:#FAFAFA;--fg:#0A0A0A;--muted:#6B6B6B;
  --accent:#0A0A0A;--accent-soft:#0060AC;
  --line:rgba(10,10,10,0.12);--rule:#0A0A0A;
  --font-display:'Inter Tight',sans-serif;
  --font-body:'Inter',sans-serif;
  --font-meta:'Inter',sans-serif;
  --display-weight:700;--display-track:-0.025em;--display-style:normal;--display-case:none;--display-lh:1.0;
  --body-weight:400;
  --meta-track:0.12em;--meta-case:uppercase;--meta-weight:500;
  --radius:0px;
}
.theme-austere .hero{border-bottom-width:1px}
.theme-austere .section-head h2 .acc,.theme-austere .hero h1 .acc{color:var(--accent-soft)}
.theme-austere .person{border-radius:0}
.theme-austere .area{border-radius:0}

/* 10 — GILROY + INTER — Noir Gallery (color edition) */
.theme-noir{
  --bg:#ECECE8;--paper:#DEDDD6;--fg:#1A1613;--muted:#6B6258;
  --accent:#0060AC;--accent-soft:#1A1613;
  --line:rgba(26,22,19,0.18);--rule:#1A1613;
  --font-display:'Gilroy','Inter',sans-serif;
  --font-body:'Inter',sans-serif;
  --font-meta:'Inter',sans-serif;
  --display-weight:400;--display-track:-0.015em;--display-style:normal;--display-case:none;--display-lh:0.98;
  --body-weight:300;
  --meta-track:0.22em;--meta-case:uppercase;--meta-weight:400;
  --radius:0px;
}
.theme-noir #site{font-weight:300}
.theme-noir .hero h1 em{font-family:'Gilroy',sans-serif;font-style:italic;font-weight:400;color:var(--accent)}
.theme-noir .person .portrait{filter:sepia(0.08) brightness(0.95)}

/* 11 — GILROY + CORMORANT — Aurora (dark navy) */
.theme-aurora{
  --bg:#020611;--paper:#0A1230;--fg:#FFFFFF;--muted:#C8DDF0;
  --accent:#2C7BD9;--accent-soft:#4A95E8;
  --line:rgba(255,255,255,0.10);--rule:rgba(74,149,232,0.35);
  --font-display:'Gilroy','Inter',sans-serif;
  --font-body:'Cormorant Garamond',serif;
  --font-meta:'Inter',sans-serif;
  --display-weight:800;--display-track:-0.035em;--display-style:normal;--display-case:none;--display-lh:1.0;
  --body-weight:400;
  --meta-track:0.24em;--meta-case:uppercase;--meta-weight:500;
  --radius:4px;
}
.theme-aurora #site{font-size:17px;line-height:1.65;background:var(--bg)}
/* aurora logo: swap via JS */
.theme-aurora #site .nav{background:rgba(2,6,17,0.85);backdrop-filter:blur(8px);border-bottom:1px solid rgba(255,255,255,0.06)}
.theme-aurora #site .nav a{color:rgba(200,221,240,0.85)}
.theme-aurora #site .nav a:hover,.theme-aurora #site .nav a.on{color:var(--accent-soft)}
/* HERO — massive Gilroy ExtraBold + atmospheric cobalt halos */
.theme-aurora .hero{
  background:
    radial-gradient(ellipse 900px 700px at 50% 45%,rgba(44,123,217,0.50),transparent 60%),
    radial-gradient(circle 800px at 78% 110%,rgba(26,79,176,0.55),transparent 55%),
    radial-gradient(circle 700px at 12% 105%,rgba(15,58,143,0.55),transparent 55%),
    var(--bg);
  padding:80px 56px 120px;
  position:relative;overflow:hidden;border-bottom:1px solid rgba(255,255,255,0.06);min-height:78vh;display:flex;flex-direction:column;justify-content:flex-start;
}
.theme-aurora .hero::after{content:"";position:absolute;left:50%;top:65%;transform:translate(-50%,-50%);width:1400px;height:1400px;border-radius:50%;background:radial-gradient(circle,#2C7BD9 0%,#1A4FB0 16%,#0A1230 36%,transparent 60%);opacity:0.55;pointer-events:none;filter:blur(30px);z-index:0}
.theme-aurora .hero > *{position:relative;z-index:2}
.theme-aurora .hero h1{font-size:clamp(72px,11vw,208px);font-weight:800;letter-spacing:-0.045em;line-height:0.94;color:#fff;margin-bottom:12px}
.theme-aurora .hero h1 em,.theme-aurora .section-head h2 em,.theme-aurora .story-wrap h3 em{font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--accent-soft);font-weight:500}
.theme-aurora .hero h1 .acc{color:var(--accent-soft)}
.theme-aurora .hero .eyebrow{color:var(--accent-soft);font-size:12px;letter-spacing:0.32em;align-self:center}
.theme-aurora .hero{align-items:center;text-align:center}
.theme-aurora .hero p.sub{margin-left:auto;margin-right:auto;text-align:center}
.theme-aurora .hero .eyebrow::before,.theme-aurora .hero .eyebrow::after{background:var(--accent-soft)}
.theme-aurora .hero p.sub{color:var(--muted);font-family:'Cormorant Garamond',serif;font-size:24px;line-height:1.5;font-weight:400;max-width:680px}
/* Section heads — huge serif italic + sans massive */
.theme-aurora .section-head h2{font-size:clamp(48px,7vw,108px);font-weight:800;letter-spacing:-0.035em;line-height:0.96;color:#fff}
.theme-aurora .section-head h2 .acc{color:var(--accent-soft)}
.theme-aurora .section-head p.lead{font-family:'Cormorant Garamond',serif;font-size:22px;line-height:1.55;color:var(--muted)}
.theme-aurora .section-head .tag{color:var(--accent-soft);letter-spacing:0.32em;font-size:11px}
/* Section background atmospheres */
.theme-aurora #site section{position:relative;overflow:hidden;background:var(--bg);padding-top:140px;padding-bottom:140px}
.theme-aurora #site section::before{content:"";position:absolute;width:1100px;height:1100px;border-radius:50%;background:radial-gradient(circle,rgba(44,123,217,0.18),transparent 60%);pointer-events:none;filter:blur(50px);z-index:0;left:-400px;top:30%}
.theme-aurora #site section:nth-of-type(2n)::before{left:auto;right:-400px;top:60%}
.theme-aurora #site section > *{position:relative;z-index:1}
/* Team grid: alternate gradient + ink tiles like aurora pillars */
.theme-aurora .team-block .group-head h3{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:500;font-size:36px;letter-spacing:-0.01em;color:#fff;text-transform:none}
.theme-aurora .team-block .group-head{border-bottom-color:rgba(74,149,232,0.25)}
.theme-aurora .team-block .group-head .count{color:rgba(200,221,240,0.6);letter-spacing:0.22em}
.theme-aurora .person{background:radial-gradient(circle at 50% 15%,#4A95E8 0%,#2C7BD9 18%,#1A4FB0 40%,#0A1230 75%,#020611 100%);border:1px solid rgba(74,149,232,0.20);border-radius:4px;overflow:hidden}
.theme-aurora .person:nth-child(2n){background:#0A1230;border-color:rgba(74,149,232,0.14)}
.theme-aurora .person:nth-child(3n){background:radial-gradient(circle at 75% 80%,#4A95E8 0%,#2C7BD9 18%,#1A4FB0 38%,#0A1230 70%,#020611 100%)}
.theme-aurora .person:hover{border-color:var(--accent-soft);box-shadow:0 24px 60px rgba(44,123,217,0.30)}
.theme-aurora .person .portrait{background:rgba(2,6,17,0.4);filter:grayscale(0.2) contrast(1.05) brightness(0.95)}
.theme-aurora .person .initials{color:#fff;background:linear-gradient(180deg,rgba(15,58,143,0.5),rgba(15,58,143,0));font-family:'Gilroy','Inter',sans-serif;font-weight:800;font-size:96px}
.theme-aurora .person .rl{color:var(--accent-soft);font-family:'Inter',sans-serif;letter-spacing:0.22em;font-weight:500}
.theme-aurora .person .nm{font-family:'Gilroy','Inter',sans-serif;font-weight:600;color:#fff;font-size:20px;letter-spacing:-0.01em}
.theme-aurora .person .bio{font-family:'Cormorant Garamond',serif;font-size:18px;line-height:1.55;color:var(--muted)}
.theme-aurora .person .person-foot{border-top-color:rgba(74,149,232,0.18);color:rgba(200,221,240,0.6);letter-spacing:0.18em}
.theme-aurora .person .upcoming-badge{background:var(--accent);color:#fff}
/* ADVISORY — single column rows with cobalt fade backdrop */
.theme-aurora .areas-grid{display:block;background:linear-gradient(180deg,#020611 0%,#050B1C 20%,#0A1230 50%,#1A4FB0 78%,#2C7BD9 100%);border:1px solid rgba(74,149,232,0.18);border-radius:4px;overflow:hidden;padding:0}
.theme-aurora .area{background:transparent!important;border:0;border-bottom:1px solid rgba(74,149,232,0.18);border-radius:0;padding:38px 48px;display:grid;grid-template-columns:80px 1fr auto;gap:32px;align-items:baseline;flex-direction:initial;transition:padding-left .25s,background .25s}
.theme-aurora .area:last-child{border-bottom:0}
.theme-aurora .area:hover{padding-left:64px;background:rgba(44,123,217,0.10)!important;transform:none;box-shadow:none}
.theme-aurora .area .icon{display:none}
.theme-aurora .area::before{content:counter(area-i,decimal-leading-zero);counter-increment:area-i;font-family:'Inter',sans-serif;font-size:13px;color:var(--accent-soft);letter-spacing:0.22em;font-weight:500;grid-column:1}
.theme-aurora .areas-grid{counter-reset:area-i}
.theme-aurora .area h3{font-family:'Gilroy','Inter',sans-serif;font-weight:600;font-size:32px;letter-spacing:-0.02em;color:#fff;margin:0;grid-column:2;line-height:1.2}
.theme-aurora .area p{display:none}
.theme-aurora .area .area-foot{border-top:0;padding-top:0;margin-top:0;grid-column:3;color:rgba(200,221,240,0.7);font-family:'Inter',sans-serif;font-size:11px;letter-spacing:0.22em;font-weight:500}
.theme-aurora .area .area-foot:hover{color:#fff}
/* STORY — h3 huge italic; pull box with atmospheric backdrop */
.theme-aurora .story-wrap h3{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:500;font-size:48px;line-height:1.15;letter-spacing:-0.01em;color:#fff}
.theme-aurora .story-wrap .ch-num{color:var(--accent-soft);letter-spacing:0.22em}
.theme-aurora .story-wrap p{font-family:'Cormorant Garamond',serif;font-size:19px;line-height:1.7;color:var(--muted);font-weight:400}
.theme-aurora .story-wrap p strong{color:#fff;font-weight:500;font-family:'Gilroy','Inter',sans-serif}
.theme-aurora .story-wrap .pull{background:radial-gradient(circle at 30% 30%,rgba(74,149,232,0.22),rgba(10,18,48,0.7) 60%);border:1px solid rgba(74,149,232,0.30);border-left:3px solid var(--accent-soft);font-family:'Cormorant Garamond',serif;font-style:italic;color:#fff;font-size:22px}
/* CONTATTI */
.theme-aurora .contact-form{background:radial-gradient(circle at 25% 0%,rgba(74,149,232,0.16),rgba(10,18,48,0.6) 60%);border:1px solid rgba(74,149,232,0.22);border-radius:4px}
.theme-aurora .contact-form h3{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:500;color:#fff;font-size:32px;letter-spacing:-0.01em}
.theme-aurora .contact-form input,.theme-aurora .contact-form textarea{background:rgba(255,255,255,0.04);color:#fff;border-color:rgba(255,255,255,0.18);border-radius:4px}
.theme-aurora .contact-info .addr-v{font-family:'Gilroy','Inter',sans-serif;font-weight:600;color:#fff}
.theme-aurora .contact-info .map{background:radial-gradient(circle at 50% 50%,rgba(44,123,217,0.30),rgba(10,18,48,0.6) 70%);border-color:rgba(74,149,232,0.22)}
/* Footer atmospheric */
.theme-aurora #site footer{background:#050B1C;position:relative;overflow:hidden;border-top:1px solid rgba(255,255,255,0.08);padding-top:100px}
.theme-aurora #site footer::before{content:"";position:absolute;left:-200px;bottom:-200px;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,#1A4FB0 0%,transparent 60%);opacity:0.45;pointer-events:none}
.theme-aurora #site footer::after{content:"";position:absolute;right:-200px;top:-200px;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,#2C7BD9 0%,transparent 60%);opacity:0.25;pointer-events:none}
.theme-aurora #site footer > *{position:relative;z-index:1}
.theme-aurora #site footer h4{color:var(--accent-soft);letter-spacing:0.22em}
/* BTN aurora */
.theme-aurora .btn{padding:16px 28px;border-radius:0;font-size:11px;letter-spacing:0.22em;font-weight:500}
.theme-aurora .btn-primary{background:var(--accent-soft);color:#0E172E;border-color:var(--accent-soft)}
.theme-aurora .btn-primary:hover{background:var(--muted);color:#0E172E}
.theme-aurora .btn-ghost{border-color:rgba(74,149,232,0.4);color:#fff;background:transparent}
.theme-aurora .btn-ghost:hover{background:var(--accent-soft);color:#0E172E;border-color:var(--accent-soft)}

/* 12 — GILROY + CORMORANT — Aurora Light */
.theme-aurora-light{
  --bg:#E8E9EB;--paper:#F4F4F7;--fg:#0E172E;--muted:#1B2B4A;
  --accent:#0F3A8F;--accent-soft:#2C7BD9;
  --line:rgba(15,58,143,0.14);--rule:rgba(15,58,143,0.4);
  --font-display:'Gilroy','Inter',sans-serif;
  --font-body:'Cormorant Garamond',serif;
  --font-meta:'Inter',sans-serif;
  --display-weight:800;--display-track:-0.035em;--display-style:normal;--display-case:none;--display-lh:1.0;
  --body-weight:400;
  --meta-track:0.24em;--meta-case:uppercase;--meta-weight:500;
  --radius:4px;
}
.theme-aurora-light #site{font-size:17px;line-height:1.65;background:var(--bg)}
.theme-aurora-light #site .nav{background:rgba(232,233,235,0.85);backdrop-filter:blur(8px)}
.theme-aurora-light .hero{
  background:
    radial-gradient(ellipse 800px 600px at 50% 38%,rgba(44,123,217,0.22),transparent 60%),
    radial-gradient(circle 700px at 80% 100%,rgba(15,58,143,0.16),transparent 55%),
    radial-gradient(circle 600px at 15% 90%,rgba(44,123,217,0.20),transparent 55%),
    var(--bg);
  padding:120px 56px 100px;
  position:relative;overflow:hidden;
}
.theme-aurora-light .hero::after{content:"";position:absolute;left:50%;top:60%;transform:translate(-50%,-50%);width:1200px;height:1200px;border-radius:50%;background:radial-gradient(circle,#C8DDF0 0%,#7FB4ED 18%,transparent 50%);opacity:0.55;pointer-events:none;filter:blur(40px);z-index:0}
.theme-aurora-light .hero > *{position:relative;z-index:2}
.theme-aurora-light .hero h1 em,.theme-aurora-light .section-head h2 em,.theme-aurora-light .story-wrap h3 em{font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--accent-soft);font-weight:500}
.theme-aurora-light .hero h1 .acc{color:var(--accent-soft)}
.theme-aurora-light .hero p.sub{font-family:'Cormorant Garamond',serif;font-size:22px;line-height:1.5;color:var(--muted)}
.theme-aurora-light #site section{position:relative;overflow:hidden}
.theme-aurora-light #site section::before{content:"";position:absolute;width:900px;height:900px;border-radius:50%;background:radial-gradient(circle,rgba(44,123,217,0.10),transparent 60%);pointer-events:none;filter:blur(40px);z-index:0;left:-300px;top:50%;transform:translateY(-50%)}
.theme-aurora-light #site section:nth-of-type(2n)::before{left:auto;right:-300px;background:radial-gradient(circle,rgba(15,58,143,0.08),transparent 60%)}
.theme-aurora-light #site section > *{position:relative;z-index:1}
.theme-aurora-light .person,.theme-aurora-light .area{background:linear-gradient(180deg,var(--paper) 0%,#DCDDDF 60%,#DEE6F3 100%);border:1px solid rgba(15,58,143,0.12)}
.theme-aurora-light .person:nth-child(2n) .portrait{background:linear-gradient(180deg,#0F3A8F 0%,#1A4FB0 30%,#3E89DF 60%,#7FB4ED 80%,#C8DDF0 100%)}
.theme-aurora-light .person .initials{color:#fff;background:linear-gradient(180deg,#0F3A8F 0%,#1A4FB0 40%,#3E89DF 100%)}
.theme-aurora-light .person .bio,.theme-aurora-light .area p,.theme-aurora-light .story-wrap p{font-family:'Cormorant Garamond',serif;font-size:21px;line-height:1.55;font-weight:500;color:var(--fg)}
.theme-aurora-light .person .bio{font-size:18px;line-height:1.55;font-weight:500;color:var(--fg)}
.theme-aurora-light .story-wrap .pull{background:linear-gradient(180deg,var(--paper) 0%,#DEE6F3 100%);border:1px solid rgba(15,58,143,0.18);border-left:3px solid var(--accent);font-family:'Cormorant Garamond',serif}
.theme-aurora-light #site footer{background:#DCDDDF;border-top:1px solid rgba(15,58,143,0.18);position:relative;overflow:hidden}
.theme-aurora-light #site footer::before{content:"";position:absolute;left:-200px;bottom:-200px;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(15,58,143,0.18),transparent 60%);pointer-events:none}
.theme-aurora-light #site footer > *{position:relative;z-index:1}
.theme-aurora-light #site footer h4{color:var(--accent)}
.theme-aurora-light #site footer ul,.theme-aurora-light #site footer p{color:var(--muted)}
.theme-aurora-light .btn-primary{background:var(--accent);color:#fff}
.theme-aurora-light .btn-primary:hover{background:var(--accent-soft)}

/* 13 — GILROY + INTER — Aurora Premium (gradient outer + card insets) */
.theme-aurora-premium{
  --bg:#0E172E;--paper:#F6F4EF;--fg:#0F1730;--muted:#1B233E;
  --accent:#2C7BD9;--accent-soft:#4A95E8;
  --line:rgba(15,23,48,0.10);--rule:rgba(15,23,48,0.4);
  --font-display:'Gilroy','Inter',sans-serif;
  --font-body:'Gilroy','Inter',sans-serif;
  --font-meta:'Inter',sans-serif;
  --display-weight:800;--display-track:-0.035em;--display-style:normal;--display-case:none;--display-lh:1.0;
  --body-weight:400;
  --meta-track:0.22em;--meta-case:uppercase;--meta-weight:500;
  --radius:18px;
}
.theme-aurora-premium #site{background:linear-gradient(180deg,#0E172E 0%,#1B2B4A 30%,#1B2B4A 70%,#0E172E 100%);min-height:100vh;padding:0 24px;position:relative;overflow:clip}
.theme-aurora-premium #site::before{content:"";position:fixed;width:1100px;height:1100px;border-radius:50%;background:radial-gradient(circle,#2C7BD9 0%,#1A4FB0 22%,transparent 55%);opacity:0.25;pointer-events:none;top:30%;right:-300px;filter:blur(40px);z-index:0}
.theme-aurora-premium #site::after{content:"";position:fixed;width:800px;height:800px;border-radius:50%;background:radial-gradient(circle,#0F3A8F 0%,transparent 60%);opacity:0.3;pointer-events:none;bottom:-200px;left:-200px;filter:blur(40px);z-index:0}
.theme-aurora-premium #site > *{position:relative;z-index:1}
.theme-aurora-premium #site .nav{background:rgba(14,23,46,0.85);backdrop-filter:blur(10px);color:#fff;border-bottom:1px solid rgba(255,255,255,0.08);padding:22px 32px;margin:0;border-radius:0;position:sticky;top:0;z-index:50}
.theme-aurora-premium #site .nav a{color:rgba(255,255,255,0.85)}
.theme-aurora-premium #site .nav a:hover,.theme-aurora-premium #site .nav a.on{color:var(--accent-soft)}
.theme-aurora-premium #site .nav .lang{color:rgba(255,255,255,0.7)}
.theme-aurora-premium #site .nav .lang .on{color:var(--accent-soft)}
/* aurora-premium logo: swap via JS */
.theme-aurora-premium #site .hero{
  background:
    radial-gradient(ellipse 600px 400px at 50% 50%,rgba(74,149,232,0.18),transparent 60%),
    #0E172E;
  color:#fff;border:1px solid rgba(74,149,232,0.18);border-radius:var(--radius);
  margin:0 0 24px;padding:88px 56px 72px;overflow:hidden;position:relative
}
.theme-aurora-premium #site .hero::before{content:"";position:absolute;width:800px;height:800px;border-radius:50%;background:radial-gradient(circle,#2C7BD9 0%,#1A4FB0 22%,transparent 55%);opacity:0.5;left:50%;top:50%;transform:translate(-50%,-50%);filter:blur(20px);pointer-events:none;z-index:0}
.theme-aurora-premium #site .hero > *{position:relative;z-index:1}
.theme-aurora-premium #site .hero h1{color:#fff}
.theme-aurora-premium #site .hero p.sub{color:rgba(200,221,240,0.85)}
.theme-aurora-premium #site .hero .eyebrow{color:var(--accent-soft)}
.theme-aurora-premium #site .hero .eyebrow::before,.theme-aurora-premium #site .hero .eyebrow::after{background:var(--accent-soft)}
.theme-aurora-premium #site .hero .btn-ghost{color:#fff;border-color:rgba(255,255,255,0.6)}
.theme-aurora-premium #site .hero .btn-ghost:hover{background:#fff;color:#0E172E;border-color:#fff}
.theme-aurora-premium #site section{background:var(--paper);color:var(--fg);margin:0 0 24px;border-radius:var(--radius);border:0;padding:80px 56px;position:relative;overflow:hidden}
.theme-aurora-premium #site section::before{content:"";position:absolute;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(44,123,217,0.10),transparent 60%);pointer-events:none;filter:blur(40px);right:-100px;top:-100px}
.theme-aurora-premium #site section > *{position:relative;z-index:1}
.theme-aurora-premium .person,.theme-aurora-premium .area{background:#fff;border:1px solid rgba(15,23,48,0.08)}
.theme-aurora-premium .person:nth-child(2n) .portrait{background:linear-gradient(180deg,#0F3A8F 0%,#1A4FB0 30%,#3E89DF 60%,#7FB4ED 80%,#C8DDF0 100%)}
.theme-aurora-premium .person .initials{color:#fff;background:linear-gradient(180deg,#0F3A8F 0%,#1A4FB0 40%,#3E89DF 100%)}
.theme-aurora-premium #site footer{background:transparent;color:rgba(255,255,255,0.78);border-top:1px solid rgba(255,255,255,0.12);margin:24px 0 0}
/* aurora-premium footer logo: swap via JS */
.theme-aurora-premium #site footer h4{color:var(--accent-soft)}
.theme-aurora-premium #site footer ul,.theme-aurora-premium #site footer p{color:rgba(255,255,255,0.65)}
.theme-aurora-premium #site .foot-bot{color:rgba(255,255,255,0.5)}
.theme-aurora-premium #site .foot-grid{border-bottom-color:rgba(255,255,255,0.12)}
.theme-aurora-premium .btn-primary{background:var(--accent-soft);color:#0E172E}
.theme-aurora-premium .btn-primary:hover{background:#C8DDF0}

/* 14 — HANKEN GROTESK only — Studio Paper (current production site) */
/* Riferimento: ldk.studiolaboulangerie.com — paper warm bg, notebook grid lines, thin display weight 200 */
.theme-paper{
  --bg:#E9E7E1;--paper:#FFFFFF;--fg:#22282C;--muted:#929FA7;
  --accent:#22282C;--accent-soft:#929FA7;
  --line:rgba(34,40,44,0.10);--rule:rgba(34,40,44,0.55);
  --font-display:'Hanken Grotesk','Helvetica Neue',Arial,sans-serif;
  --font-body:'Hanken Grotesk','Helvetica Neue',Arial,sans-serif;
  --font-meta:'Hanken Grotesk','Helvetica Neue',Arial,sans-serif;
  --display-weight:200;--display-track:-0.035em;--display-style:normal;--display-case:none;--display-lh:0.98;
  --body-weight:400;
  --meta-track:0.18em;--meta-case:uppercase;--meta-weight:500;
  --radius:0px;
}
/* Production-site signature: vertical grid lines every 12.5% (8 columns), 18% opacity gray, applied to #site background */
.theme-paper #site{
  background-color:var(--bg);
  background-image:linear-gradient(to right, rgba(146,159,167,0.18) 1px, transparent 1px);
  background-size:12.5% 100%;
  background-position:0 0;
  font-size:17px;line-height:1.65;color:var(--fg);
}
.theme-paper #site .nav{background:rgba(233,231,225,0.92);backdrop-filter:blur(10px);border-bottom:1px solid rgba(34,40,44,0.10);padding:22px 56px}
.theme-paper #site .nav a{color:var(--fg);font-weight:500;letter-spacing:0.12em;font-size:11px;text-transform:uppercase;position:relative;font-variant-numeric:tabular-nums}
.theme-paper #site .nav ul li a::before{content:counter(nav-i,decimal-leading-zero) "  ";counter-increment:nav-i;color:var(--muted);margin-right:6px;font-variant-numeric:tabular-nums}
.theme-paper #site .nav ul{counter-reset:nav-i}
.theme-paper #site .nav a:hover,.theme-paper #site .nav a.on{color:var(--accent)}
.theme-paper #site .nav a::after{content:"";position:absolute;left:0;bottom:-3px;height:1px;width:0;background:var(--accent);transition:width .5s cubic-bezier(.2,.7,.15,1)}
.theme-paper #site .nav a:hover::after{width:100%}
.theme-paper #site .nav .lang{color:var(--muted);font-weight:500;letter-spacing:0.18em}
.theme-paper #site .nav .lang .on{color:var(--accent)}

/* HERO — production site replica: MASSIVE Hanken 200 display + office photo, FIG. caption block */
.theme-paper .hero{background:transparent;padding:140px 56px 120px;border-bottom:1px solid rgba(34,40,44,0.10);text-align:left;position:relative;display:flex;flex-direction:column;justify-content:center}
.theme-paper .hero::before{content:"FIG. 001  —  STUDIO, VIA CAPPUCCIO";position:absolute;top:24px;left:56px;font-size:10px;letter-spacing:0.22em;text-transform:uppercase;color:var(--muted);font-weight:500;font-variant-numeric:tabular-nums;z-index:3}
.theme-paper .hero::after{content:"SCROLL ↓";position:absolute;bottom:24px;left:56px;font-size:10px;letter-spacing:0.22em;text-transform:uppercase;color:var(--muted);font-weight:500;z-index:3}
.theme-paper .hero .eyebrow{color:var(--muted);font-size:11px;letter-spacing:0.22em;font-weight:500;margin-bottom:32px;display:inline-flex}
.theme-paper .hero .eyebrow::before,.theme-paper .hero .eyebrow::after{background:var(--muted)}
/* GIANT LDK letterforms — match production site clamp(5.5rem, 22vw, 22rem) */
.theme-paper .hero h1{font-weight:200;font-size:clamp(5.5rem,22vw,22rem);letter-spacing:-0.06em;line-height:0.86;color:var(--fg);text-align:left;margin:0;max-width:none}
.theme-paper .hero h1 em{font-style:normal;color:var(--muted);font-weight:300}
.theme-paper .hero h1 .acc{color:var(--muted);font-weight:300}
/* Sub headline — production "Uno studio per imprese che pensano" used clamp(3rem, 9vw, 9rem) */
.theme-paper .hero p.sub{margin:48px 0 0;font-family:'Hanken Grotesk',sans-serif;font-weight:200;font-size:clamp(2rem,4vw,3.5rem);line-height:1.05;letter-spacing:-0.03em;color:var(--fg);max-width:1100px;text-align:left}
.theme-paper .hero .ctas{margin-top:56px;justify-content:flex-start}
/* === Office photo REVERTED — niente foto nell'hero === */

/* SECTION HEAD — left-aligned with section number + caption */
.theme-paper #site section{padding:140px 56px;border-bottom:1px solid rgba(34,40,44,0.10);background:transparent;position:relative;counter-increment:section-i}
.theme-paper #site{counter-reset:section-i}
.theme-paper #site section::before{content:"0" counter(section-i) "  —  " attr(data-fig);position:absolute;top:24px;left:56px;font-size:11px;letter-spacing:0.22em;text-transform:uppercase;color:var(--muted);font-weight:500;font-variant-numeric:tabular-nums}
.theme-paper .section-head{max-width:1320px;margin:0 auto 88px;text-align:left}
.theme-paper .section-head .tag{color:var(--muted);font-size:11px;letter-spacing:0.22em;font-weight:500;margin-bottom:28px;display:block}
/* Section heads at production scale — clamp(2.5rem, 6vw, 5rem) */
.theme-paper .section-head h2{font-weight:200;font-size:clamp(2.5rem,6vw,5rem);letter-spacing:-0.045em;line-height:0.98;color:var(--fg);max-width:1100px}
.theme-paper .section-head h2 em{font-style:normal;color:var(--muted);font-weight:300}
.theme-paper .section-head h2 .acc{color:var(--muted);font-weight:300}
.theme-paper .section-head p.lead{margin:36px 0 0;font-family:'Hanken Grotesk',sans-serif;font-size:clamp(1.125rem,1.6vw,1.375rem);line-height:1.55;color:var(--fg);max-width:680px;font-weight:400}

/* TEAM — paper card with hairline border + FIG caption */
.theme-paper .team-block .group-head{padding-bottom:14px;margin-bottom:36px;border-bottom:1px solid var(--rule)}
.theme-paper .team-block .group-head h3{font-weight:300;font-size:32px;letter-spacing:-0.025em;color:var(--fg)}
.theme-paper .team-block .group-head .count{color:var(--muted);font-weight:500;letter-spacing:0.18em;font-size:10px;font-variant-numeric:tabular-nums}
.theme-paper .person{background:var(--paper);border:1px solid rgba(34,40,44,0.10);border-radius:0;overflow:hidden;position:relative}
.theme-paper .person:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 14px 30px rgba(34,40,44,0.08)}
.theme-paper .person .portrait{background:#E0E6EA;filter:none}
.theme-paper .person .initials{color:var(--muted);font-weight:200;font-size:88px;letter-spacing:-0.05em}
.theme-paper .person .upcoming-badge{background:var(--accent);color:var(--bg);font-weight:500;letter-spacing:0.18em;border-radius:0}
.theme-paper .person .rl{color:var(--muted);font-weight:500;font-size:10px;letter-spacing:0.18em}
.theme-paper .person .nm{font-weight:300;font-size:20px;color:var(--fg);letter-spacing:-0.015em}
.theme-paper .person .bio{font-weight:400;color:var(--fg);opacity:0.85;font-size:13.5px;line-height:1.65}
.theme-paper .person .person-foot{border-top-color:rgba(34,40,44,0.10);color:var(--muted);letter-spacing:0.14em}

/* ADVISORY — borderless rows with hairline separators + FIG numbering */
.theme-paper .areas-grid{display:block;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:0;counter-reset:area-p}
.theme-paper .area{background:transparent;border:0;border-bottom:1px solid rgba(34,40,44,0.10);border-radius:0;padding:36px 0;display:grid;grid-template-columns:80px 1fr 200px;gap:32px;align-items:baseline;transition:padding-left .25s,background .25s;counter-increment:area-p}
.theme-paper .area:last-child{border-bottom:0}
.theme-paper .area:hover{padding-left:20px;background:rgba(146,159,167,0.06);transform:none;box-shadow:none}
.theme-paper .area .icon{display:none}
.theme-paper .area::before{content:"FIG. 00" counter(area-p);font-size:10px;letter-spacing:0.22em;text-transform:uppercase;color:var(--muted);font-weight:500;font-variant-numeric:tabular-nums;grid-column:1}
.theme-paper .area h3{font-weight:300;font-size:28px;letter-spacing:-0.025em;color:var(--fg);margin:0;grid-column:2;line-height:1.15;max-width:520px}
.theme-paper .area p{display:none}
.theme-paper .area .area-foot{border-top:0;padding-top:0;margin-top:0;grid-column:3;color:var(--muted);letter-spacing:0.14em;font-size:10px;font-weight:500;justify-content:flex-end}
.theme-paper .area .area-foot:hover{color:var(--accent)}

/* LDK STORY — left text, right pull-quote thin */
.theme-paper .story-wrap h3{font-weight:200;font-size:48px;letter-spacing:-0.04em;line-height:1.05;color:var(--fg)}
.theme-paper .story-wrap h3 em{font-style:normal;color:var(--muted);font-weight:300}
.theme-paper .story-wrap h3 .acc{color:var(--muted);font-weight:300}
.theme-paper .story-wrap .ch-num{color:var(--muted);letter-spacing:0.22em;font-weight:500;font-size:10px}
.theme-paper .story-wrap p{color:var(--fg);opacity:0.85;font-size:16px;line-height:1.8;font-weight:400}
.theme-paper .story-wrap p strong{color:var(--accent);font-weight:600}
.theme-paper .story-wrap .pull{background:transparent;border:0;border-left:1px solid var(--accent);padding:20px 0 20px 28px;font-weight:300;font-style:normal;font-size:22px;color:var(--fg);letter-spacing:-0.02em;line-height:1.4}

/* CONTATTI */
.theme-paper .contact-info .addr-lbl{color:var(--muted);letter-spacing:0.22em;font-weight:500}
.theme-paper .contact-info .addr-v{font-weight:300;font-size:22px;letter-spacing:-0.015em;color:var(--fg)}
.theme-paper .contact-info .map{background:#E0E6EA;border-color:rgba(34,40,44,0.10)}
.theme-paper .contact-form{background:var(--paper);border:1px solid rgba(34,40,44,0.10);border-radius:0}
.theme-paper .contact-form h3{font-weight:300;font-size:28px;letter-spacing:-0.025em;color:var(--fg)}
.theme-paper .contact-form input,.theme-paper .contact-form textarea{background:transparent;border:0;border-bottom:1px solid rgba(34,40,44,0.20);border-radius:0;padding:10px 0;font-weight:400}
.theme-paper .contact-form input:focus,.theme-paper .contact-form textarea:focus{border-color:var(--accent)}
.theme-paper .contact-form .lbl{color:var(--muted);letter-spacing:0.18em;font-weight:500}

/* FOOTER — hairline with FIG. credits */
.theme-paper #site footer{background:transparent;padding:80px 56px 28px;border-top:1px solid var(--rule)}
.theme-paper #site footer h4{color:var(--muted);letter-spacing:0.22em;font-weight:500}
.theme-paper #site footer p,.theme-paper #site footer ul{color:var(--fg);opacity:0.75;font-weight:400}
.theme-paper #site .foot-bot{color:var(--muted);letter-spacing:0.18em;font-variant-numeric:tabular-nums}
.theme-paper #site .foot-bot::after{content:" · MOCK v1 · BUILD 2026.05";color:var(--muted);opacity:0.7}

/* BUTTON — paper edition */
.theme-paper .btn{padding:14px 26px;border-radius:0;font-size:11px;letter-spacing:0.18em;font-weight:500}
.theme-paper .btn-primary{background:var(--accent);color:var(--bg);border-color:var(--accent)}
.theme-paper .btn-primary:hover{background:var(--muted);color:var(--bg);border-color:var(--muted)}
.theme-paper .btn-ghost{border-color:var(--accent);color:var(--accent);background:transparent}
.theme-paper .btn-ghost:hover{background:var(--accent);color:var(--bg)}

/* SELECTION PREVIEWS — distilled mini hero per theme */
.tp-hanken{background:#ECECE8}
.tp-hanken .h{font-family:'Hanken Grotesk',sans-serif;font-weight:800;font-size:44px;line-height:0.98;letter-spacing:-0.028em;color:#0E172E;text-align:center}
.tp-hanken .h em{font-family:'Lora',serif;font-style:italic;font-weight:500;color:#0060AC}
.tp-hanken .e{font-family:'Hanken Grotesk',sans-serif;font-size:9px;letter-spacing:0.28em;text-transform:uppercase;color:#0060AC;font-weight:600;text-align:center;margin-bottom:14px}

.tp-jakarta{background:#FAFAF7;position:relative;padding:26px 28px}
.tp-jakarta .mast{position:absolute;top:10px;left:18px;right:18px;display:flex;justify-content:space-between;font-family:'IBM Plex Mono',monospace;font-size:8px;letter-spacing:0.14em;color:#6E7693;padding-bottom:6px;border-bottom:1px solid rgba(14,23,46,0.18);text-transform:uppercase}
.tp-jakarta .mast .cta{color:#0060AC;font-weight:600}
.tp-jakarta .h{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:42px;line-height:0.92;letter-spacing:-0.035em;margin-top:14px;text-align:center;color:#0E172E}
.tp-jakarta .h .acc{color:#0060AC}

.tp-bebas{background:#020611;color:#fff;position:relative;overflow:hidden}
.tp-bebas::before{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(0,96,172,0.5),transparent 60%);left:50%;top:50%;transform:translate(-50%,-50%);filter:blur(10px)}
.tp-bebas .body-c{position:relative;text-align:center}
.tp-bebas .e{font-family:'Bebas Neue',sans-serif;font-size:10px;letter-spacing:0.32em;color:#92C9EF;margin-bottom:12px}
.tp-bebas .h{font-family:'Bebas Neue',sans-serif;font-size:46px;letter-spacing:0.04em;line-height:0.86}
.tp-bebas .h .acc{color:#92C9EF;display:block}

.tp-josefin{background:#F4F0EA;position:relative;color:#0E172E}
.tp-josefin .e{font-family:'Josefin Sans',sans-serif;font-size:9px;letter-spacing:0.42em;text-transform:uppercase;color:#A98A4B;text-align:center;margin-bottom:10px;font-weight:400}
.tp-josefin .h{font-family:'Josefin Sans',sans-serif;font-weight:300;font-size:36px;letter-spacing:0.14em;text-transform:uppercase;line-height:1.05;text-align:center}
.tp-josefin .h .acc{display:block;color:#0060AC;font-weight:400;font-size:14px;letter-spacing:0.32em;margin-top:6px}

.tp-fraunces{background:#F2EEE5;color:#1A1A1A;display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:24px 28px;align-items:center;position:relative}
.tp-fraunces::before{content:"";position:absolute;left:50%;top:24px;bottom:24px;width:1px;background:rgba(26,26,26,0.18)}
.tp-fraunces .e{font-family:'Inter',sans-serif;font-size:8px;letter-spacing:0.32em;text-transform:uppercase;color:#0060AC;font-weight:600;margin-bottom:10px}
.tp-fraunces .h{font-family:'Fraunces',serif;font-weight:400;font-size:36px;line-height:1.02;letter-spacing:-0.02em}
.tp-fraunces .h em{font-style:italic;color:#0060AC}
.tp-fraunces .ep{font-family:'Fraunces',serif;font-style:italic;font-size:13px;line-height:1.55;color:#1A1A1A}

.tp-cinzel{background:#ECEAE3;color:#1A1A1A;position:relative}
.tp-cinzel .frame{position:relative;border-top:1px solid #1A1A1A;border-bottom:1px solid #1A1A1A;padding:18px 28px;text-align:center}
.tp-cinzel .frame::before,.tp-cinzel .frame::after{content:"";position:absolute;left:0;right:0;border-top:1px solid #1A1A1A;border-bottom:1px solid #1A1A1A;height:3px}
.tp-cinzel .frame::before{top:4px}.tp-cinzel .frame::after{bottom:4px}
.tp-cinzel .e{font-family:'Cinzel',serif;font-weight:500;font-size:9px;letter-spacing:0.42em;color:#0060AC;margin-bottom:14px}
.tp-cinzel .h{font-family:'Cinzel',serif;font-weight:700;font-size:40px;letter-spacing:0.08em;line-height:1}
.tp-cinzel .h .dot{color:#0060AC;margin:0 0.16em}
.tp-cinzel .h .acc{display:block;color:#0060AC;font-weight:500;font-size:11px;letter-spacing:0.32em;margin-top:10px}

.tp-syne{background:linear-gradient(135deg,#0060AC 0%,#003B6B 100%);color:#fff;position:relative;overflow:hidden}
.tp-syne::before{content:"";position:absolute;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(146,201,239,0.32),transparent 60%);top:-100px;right:-80px}
.tp-syne .body-c{position:relative}
.tp-syne .e{font-family:'Inter',sans-serif;font-size:9px;letter-spacing:0.32em;text-transform:uppercase;color:#92C9EF;font-weight:600;margin-bottom:10px}
.tp-syne .h{font-family:'Syne',sans-serif;font-weight:800;font-size:46px;line-height:0.94;letter-spacing:-0.03em}
.tp-syne .h .acc{color:#92C9EF}
.tp-syne .h .outline{color:transparent;-webkit-text-stroke:1px rgba(255,255,255,0.55)}

.tp-respes{background:#1A1A1A;color:#fff;position:relative;overflow:hidden;display:flex;align-items:center;padding:24px 32px}
.tp-respes::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 130px 180px at 20% 55%,rgba(180,180,180,0.4),transparent 70%),linear-gradient(120deg,#1a1a1a 0%,#3a3a3a 45%,#2a2a2a 100%);filter:grayscale(1)}
.tp-respes .body-c{position:relative;max-width:60%;margin-left:auto;text-align:left}
.tp-respes .h{font-family:'Fraunces',serif;font-weight:500;font-size:34px;line-height:1.02;letter-spacing:-0.015em}
.tp-respes .h em{font-style:italic}
.tp-respes .h .acc{color:#92C9EF;display:block}
.tp-respes .cta{display:inline-block;background:#fff;color:#1A1A1A;padding:7px 16px;font-family:'Inter',sans-serif;font-size:10px;letter-spacing:0.12em;text-transform:uppercase;font-weight:600;margin-top:10px}

/* Austere preview */
.tp-austere{background:#fff;color:#0A0A0A;display:flex;align-items:center;justify-content:center;flex-direction:column;border:1px solid rgba(10,10,10,0.1);width:100%;height:100%}
.tp-austere .e{font-family:'Inter',sans-serif;font-size:10px;letter-spacing:0.16em;text-transform:uppercase;color:#0A0A0A;font-weight:500;margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid #0A0A0A;width:60%;text-align:center}
.tp-austere .h{font-family:'Inter Tight',sans-serif;font-weight:700;font-size:54px;line-height:0.96;letter-spacing:-0.028em;text-align:center}

/* Noir preview */
.tp-noir{background:linear-gradient(180deg,#ECECE8 0%,#DEDDD6 100%);color:#1A1613;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:24px;width:100%;height:100%}
.tp-noir .e{font-family:'Inter',sans-serif;font-size:9px;letter-spacing:0.22em;text-transform:uppercase;color:#1A1613;margin-bottom:18px}
.tp-noir .h{font-family:'Gilroy','Inter',sans-serif;font-weight:400;font-size:48px;line-height:0.96;letter-spacing:-0.015em;text-align:center}
.tp-noir .h em{font-style:italic;color:#0060AC}
.tp-noir .rule{width:60%;height:0.5px;background:#1A1613;margin:12px auto 0;margin-left:25%}

/* Aurora preview — with rich gradient layers */
.tp-aurora{background:radial-gradient(ellipse 280px 200px at 50% 40%,rgba(44,123,217,0.55),transparent 60%),radial-gradient(circle 200px at 80% 100%,rgba(26,79,176,0.6),transparent 55%),radial-gradient(circle 180px at 15% 90%,rgba(15,58,143,0.6),transparent 55%),#020611;color:#fff;position:relative;overflow:hidden;width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.tp-aurora::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,#2C7BD9 0%,#1A4FB0 18%,#0A1230 38%,transparent 65%);opacity:0.65;filter:blur(20px)}
.tp-aurora .mark{position:absolute;top:18px;left:18px;width:24px;height:24px;border-radius:50%;background:linear-gradient(180deg,#0F3A8F 0%,#1A4FB0 35%,#3E89DF 55%,#7FB4ED 75%,#C8DDF0 100%);z-index:2}
.tp-aurora .mark::before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:#fff;opacity:0.9}
.tp-aurora .e{font-family:'Inter',sans-serif;font-size:9px;letter-spacing:0.24em;text-transform:uppercase;color:#C8DDF0;text-align:center;margin-bottom:12px}
.tp-aurora .body-c{position:relative;text-align:center;z-index:3}
.tp-aurora .h{font-family:'Gilroy','Inter',sans-serif;font-weight:800;font-size:50px;letter-spacing:-0.035em;line-height:0.95}
.tp-aurora .h em{font-family:'Cormorant Garamond',serif;font-style:italic;color:#7FB4ED;font-weight:500}

/* Aurora Light preview — with rich gradient layers */
.tp-aurora-light{background:radial-gradient(ellipse 280px 200px at 50% 40%,rgba(44,123,217,0.32),transparent 60%),radial-gradient(circle 200px at 80% 100%,rgba(15,58,143,0.22),transparent 55%),radial-gradient(circle 180px at 15% 90%,rgba(44,123,217,0.28),transparent 55%),#E8E9EB;color:#0E172E;position:relative;overflow:hidden;width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.tp-aurora-light::after{content:"";position:absolute;left:50%;top:55%;transform:translate(-50%,-50%);width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,#C8DDF0 0%,#7FB4ED 22%,transparent 55%);opacity:0.55;filter:blur(20px)}
.tp-aurora-light .mark{position:absolute;top:18px;left:18px;width:24px;height:24px;border-radius:50%;background:linear-gradient(180deg,#0F3A8F 0%,#1A4FB0 35%,#3E89DF 55%,#7FB4ED 75%,#C8DDF0 100%);z-index:2}
.tp-aurora-light .mark::before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:#fff;opacity:0.9}
.tp-aurora-light .e{font-family:'Inter',sans-serif;font-size:9px;letter-spacing:0.24em;text-transform:uppercase;color:#0F3A8F;text-align:center;margin-bottom:12px}
.tp-aurora-light .body-c{position:relative;text-align:center;z-index:3}
.tp-aurora-light .h{font-family:'Gilroy','Inter',sans-serif;font-weight:800;font-size:50px;letter-spacing:-0.035em;line-height:0.95}
.tp-aurora-light .h em{font-family:'Cormorant Garamond',serif;font-style:italic;color:#2C7BD9;font-weight:500}

/* Aurora Premium preview — gradient outer + card inset with orb */
.tp-aurora-premium{background:linear-gradient(180deg,#0E172E 0%,#1B2B4A 50%,#0E172E 100%);color:#fff;position:relative;overflow:hidden;width:100%;height:100%;padding:14px;display:flex;align-items:stretch}
.tp-aurora-premium::before{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(44,123,217,0.42),transparent 60%);right:-60px;top:-40px;filter:blur(20px)}
.tp-aurora-premium::after{content:"";position:absolute;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(15,58,143,0.4),transparent 60%);left:-50px;bottom:-40px;filter:blur(20px)}
.tp-aurora-premium .card{flex:1;background:radial-gradient(circle at 50% 50%,rgba(74,149,232,0.18),rgba(14,23,46,0.6));border:1px solid rgba(74,149,232,0.25);color:#fff;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;text-align:center;position:relative;z-index:2;overflow:hidden}
.tp-aurora-premium .card::before{content:"";position:absolute;top:14px;left:14px;width:22px;height:22px;border-radius:50%;background:linear-gradient(180deg,#0F3A8F 0%,#1A4FB0 35%,#3E89DF 55%,#7FB4ED 75%,#C8DDF0 100%);z-index:2}
.tp-aurora-premium .e{font-family:'Inter',sans-serif;font-size:9px;letter-spacing:0.22em;text-transform:uppercase;color:#4A95E8;font-weight:500;margin-bottom:10px}
.tp-aurora-premium .h{font-family:'Gilroy','Inter',sans-serif;font-weight:800;font-size:42px;letter-spacing:-0.035em;line-height:0.95;color:#fff}
.tp-aurora-premium .h em{font-family:'Cormorant Garamond',serif;font-style:italic;color:#7FB4ED;font-weight:500}

/* Paper preview — notebook grid + thin display Hanken (current production site) */
.tp-paper{background:linear-gradient(to right,rgba(146,159,167,0.18) 1px,transparent 1px) 0 0/12.5% 100%,#E9E7E1;color:#22282C;width:100%;height:100%;position:relative;overflow:hidden;padding:24px 28px;display:flex;flex-direction:column;justify-content:space-between}
.tp-paper .fig{font-family:'Hanken Grotesk',sans-serif;font-size:8px;letter-spacing:0.22em;text-transform:uppercase;color:#929FA7;font-weight:500;display:flex;justify-content:space-between;font-variant-numeric:tabular-nums}
.tp-paper .body-c{margin:auto 0;text-align:left}
.tp-paper .e{font-family:'Hanken Grotesk',sans-serif;font-size:9px;letter-spacing:0.22em;text-transform:uppercase;color:#929FA7;font-weight:500;margin-bottom:14px}
.tp-paper .h{font-family:'Hanken Grotesk',sans-serif;font-weight:200;font-size:78px;line-height:0.86;letter-spacing:-0.06em;color:#22282C;text-align:left}
.tp-paper .h em{font-style:normal;color:#929FA7;font-weight:300}
.tp-paper .scroll{font-family:'Hanken Grotesk',sans-serif;font-size:8px;letter-spacing:0.22em;text-transform:uppercase;color:#929FA7;font-weight:500}

/* ════════════════════════════════════════════════════════════════════════
   KÁRMÁN SECTION — modulo integrabile theme-aware (CSS variables --karman-*)
   ════════════════════════════════════════════════════════════════════════ */
/* ─── Default tokens (Aurora dark) ─── */
.ldk-karman{
  --karman-bg-1:#000814;--karman-bg-2:#02061A;--karman-bg-3:#0A1230;
  --karman-halo-1:#2C7BD9;--karman-halo-2:#1A4FB0;--karman-halo-3:#0F3A8F;
  --karman-strip-glow:#3E89DF;
  --karman-arc:#5BA0EE;--karman-arc-soft:rgba(91,160,238,0.4);
  --karman-tick-fg:rgba(200,221,240,0.65);
  --karman-tag:#92C9EF;--karman-h:#FFFFFF;--karman-apex:#C8DDF0;--karman-quote:rgba(200,221,240,0.92);
  --karman-font-display:'Gilroy','Inter',sans-serif;--karman-font-body:'Cormorant Garamond',serif;--karman-font-meta:'Inter',sans-serif;
  --karman-display-weight:800;--karman-display-track:-0.045em;--karman-display-style:normal;--karman-display-case:none;--karman-display-lh:0.96;
  --karman-padding-y:160px;--karman-padding-x:48px;
  position:relative;
  padding:var(--karman-padding-y) var(--karman-padding-x);
  background:
    radial-gradient(ellipse 70% 80% at 50% 55%, var(--karman-halo-3) 0%, rgba(15,58,143,0) 60%),
    radial-gradient(ellipse 45% 60% at 50% 60%, var(--karman-halo-1) 0%, var(--karman-halo-2) 18%, rgba(10,18,48,0) 55%),
    radial-gradient(ellipse 90% 100% at 50% 75%, var(--karman-bg-3) 0%, var(--karman-bg-2) 50%, var(--karman-bg-1) 100%);
  overflow:hidden;color:var(--karman-h);text-align:center;isolation:isolate;
}
.ldk-karman::before{content:"";position:absolute;left:0;right:0;top:0;height:120px;background:radial-gradient(ellipse 60% 100% at 50% 0%, var(--karman-strip-glow) 0%, var(--karman-halo-2) 25%, transparent 70%),linear-gradient(180deg, rgba(0,0,0,0.4) 0%, transparent 100%);opacity:0.95;filter:blur(2px);z-index:1;pointer-events:none}
.ldk-karman::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-46%);width:min(1400px,140%);aspect-ratio:1/1;border-radius:50%;background:radial-gradient(circle, var(--karman-halo-1) 0%, var(--karman-halo-2) 16%, var(--karman-halo-3) 30%, transparent 55%);opacity:0.45;filter:blur(40px);pointer-events:none;z-index:0}
.ldk-karman > *{position:relative;z-index:2}
.ldk-karman .karman-inner{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:0}
.ldk-karman .karman-tag{display:inline-flex;align-items:center;gap:12px;font-family:var(--karman-font-meta);font-size:12px;letter-spacing:0.32em;text-transform:uppercase;font-weight:500;color:var(--karman-tag);margin-bottom:80px}
.ldk-karman .karman-tag::before{content:"—";font-weight:400}
.ldk-karman .karman-h{font-family:var(--karman-font-display);font-weight:var(--karman-display-weight);font-style:var(--karman-display-style);text-transform:var(--karman-display-case);letter-spacing:var(--karman-display-track);line-height:var(--karman-display-lh);font-size:clamp(56px,9.5vw,180px);color:var(--karman-h);max-width:1100px;word-break:break-word;overflow-wrap:break-word;margin-bottom:48px}
.ldk-karman .karman-apex{font-family:var(--karman-font-body);font-style:italic;font-weight:400;font-size:18px;color:var(--karman-apex);opacity:0.85;margin-bottom:32px;letter-spacing:0.01em}
.ldk-karman .karman-diagram{width:100%;max-width:1000px;margin:0 auto 60px;position:relative}
.ldk-karman .karman-diagram svg{width:100%;height:auto;display:block;overflow:visible}
.ldk-karman .karman-diagram .arc-line{stroke:var(--karman-arc);stroke-width:0.6;fill:none;opacity:0.85}
.ldk-karman .karman-diagram .arc-line.outer{stroke:var(--karman-arc);stroke-width:0.4;opacity:0.45}
.ldk-karman .karman-diagram .baseline{stroke:var(--karman-arc);stroke-width:0.4;stroke-dasharray:none;opacity:0.55}
.ldk-karman .karman-tick-row{display:flex;justify-content:space-between;margin-top:14px;font-family:var(--karman-font-meta);font-size:11px;letter-spacing:0.22em;text-transform:uppercase;font-weight:500;color:var(--karman-tick-fg)}
.ldk-karman .karman-quote{font-family:var(--karman-font-body);font-style:italic;font-weight:400;font-size:22px;line-height:1.55;color:var(--karman-quote);max-width:780px;margin:32px auto 0}
.ldk-karman .karman-quote::before{content:"\00ab"}
.ldk-karman .karman-quote::after{content:"\00bb"}

/* ── Theme overrides ── */
.theme-aurora-light .ldk-karman{--karman-bg-1:#E8E9EB;--karman-bg-2:#DCDDDF;--karman-bg-3:#DEE6F3;--karman-halo-1:#7FB4ED;--karman-halo-2:#4A95E8;--karman-halo-3:#C8DDF0;--karman-strip-glow:#4A95E8;--karman-arc:#0F3A8F;--karman-arc-soft:rgba(15,58,143,0.4);--karman-tick-fg:#1B2B4A;--karman-tag:#0F3A8F;--karman-h:#0E172E;--karman-apex:#1B2B4A;--karman-quote:#1B2B4A}
.theme-aurora-light .ldk-karman::before{opacity:0.55}
.theme-aurora-light .ldk-karman::after{opacity:0.35}

.theme-aurora-premium .ldk-karman{--karman-bg-1:#0E172E;--karman-bg-2:#1B2B4A;--karman-bg-3:#283C66;--karman-halo-1:#4A95E8;--karman-halo-2:#2C7BD9;--karman-halo-3:#0F3A8F;--karman-strip-glow:#4A95E8;--karman-arc:#7FB4ED;--karman-tag:#4A95E8;border-radius:18px;margin:24px}

.theme-hanken .ldk-karman,.theme-jakarta .ldk-karman,.theme-bebas .ldk-karman,.theme-josefin .ldk-karman,.theme-fraunces .ldk-karman,.theme-cinzel .ldk-karman,.theme-syne .ldk-karman,.theme-austere .ldk-karman,.theme-noir .ldk-karman,.theme-paper .ldk-karman{background:var(--karman-bg-1)}
.theme-hanken .ldk-karman::before,.theme-jakarta .ldk-karman::before,.theme-bebas .ldk-karman::before,.theme-josefin .ldk-karman::before,.theme-fraunces .ldk-karman::before,.theme-cinzel .ldk-karman::before,.theme-syne .ldk-karman::before,.theme-austere .ldk-karman::before,.theme-noir .ldk-karman::before,.theme-paper .ldk-karman::before,.theme-hanken .ldk-karman::after,.theme-jakarta .ldk-karman::after,.theme-bebas .ldk-karman::after,.theme-josefin .ldk-karman::after,.theme-fraunces .ldk-karman::after,.theme-cinzel .ldk-karman::after,.theme-syne .ldk-karman::after,.theme-austere .ldk-karman::after,.theme-noir .ldk-karman::after,.theme-paper .ldk-karman::after{display:none}

.theme-hanken .ldk-karman{--karman-bg-1:#ECECE8;--karman-bg-2:#E0DFD8;--karman-bg-3:#D8E2EE;--karman-halo-1:#92C9EF;--karman-halo-2:#5DA8DF;--karman-halo-3:#0060AC;--karman-strip-glow:#0060AC;--karman-arc:#0060AC;--karman-tag:#0060AC;--karman-tick-fg:#3F4A66;--karman-h:#0E172E;--karman-apex:#6E7693;--karman-quote:#0E172E;--karman-font-display:'Hanken Grotesk',sans-serif;--karman-font-body:'Lora',serif;--karman-display-weight:800;--karman-display-track:-0.028em;--karman-display-lh:0.98}
.theme-hanken .ldk-karman .karman-h em{font-family:'Lora',serif;font-style:italic;font-weight:500;color:#0060AC}

.theme-jakarta .ldk-karman{--karman-bg-1:#0E172E;--karman-bg-2:#0A1A36;--karman-bg-3:#0060AC;--karman-halo-1:#92C9EF;--karman-halo-2:#0060AC;--karman-halo-3:#003B6B;--karman-strip-glow:#92C9EF;--karman-arc:#92C9EF;--karman-tag:#92C9EF;--karman-font-display:'Plus Jakarta Sans',sans-serif;--karman-font-body:'Plus Jakarta Sans',sans-serif;--karman-font-meta:'IBM Plex Mono',monospace;--karman-display-weight:800;--karman-display-track:-0.035em;--karman-display-lh:0.94}

.theme-bebas .ldk-karman{--karman-bg-1:#000814;--karman-bg-2:#020611;--karman-bg-3:#0A1A36;--karman-halo-1:#0060AC;--karman-halo-2:#003B6B;--karman-strip-glow:#92C9EF;--karman-arc:#92C9EF;--karman-tag:#92C9EF;--karman-font-display:'Bebas Neue',sans-serif;--karman-font-body:'Karla',sans-serif;--karman-display-weight:400;--karman-display-track:0.04em;--karman-display-case:uppercase;--karman-display-lh:0.9}

.theme-josefin .ldk-karman{--karman-bg-1:#F4F0EA;--karman-bg-2:#EAE4D7;--karman-bg-3:#D8E2EE;--karman-halo-1:#92C9EF;--karman-halo-2:#0060AC;--karman-halo-3:#A98A4B;--karman-strip-glow:#A98A4B;--karman-arc:#A98A4B;--karman-tag:#A98A4B;--karman-tick-fg:#7C7569;--karman-h:#0E172E;--karman-apex:#7C7569;--karman-quote:#0E172E;--karman-font-display:'Josefin Sans',sans-serif;--karman-font-body:'Lato',sans-serif;--karman-display-weight:300;--karman-display-track:0.14em;--karman-display-case:uppercase;--karman-display-lh:1.12}

.theme-fraunces .ldk-karman{--karman-bg-1:#F2EEE5;--karman-bg-2:#E8E2D2;--karman-bg-3:#D8E2EE;--karman-halo-1:#92C9EF;--karman-halo-2:#0060AC;--karman-strip-glow:#0060AC;--karman-arc:#0060AC;--karman-tag:#0060AC;--karman-tick-fg:#56514B;--karman-h:#1A1A1A;--karman-apex:#56514B;--karman-quote:#1A1A1A;--karman-font-display:'Fraunces',serif;--karman-font-body:'Fraunces',serif;--karman-display-weight:400;--karman-display-track:-0.02em;--karman-display-lh:1.0}
.theme-fraunces .ldk-karman .karman-h em{font-style:italic;color:#0060AC}

.theme-cinzel .ldk-karman{--karman-bg-1:#ECEAE3;--karman-bg-2:#DDD9CF;--karman-bg-3:#D8E2EE;--karman-halo-1:#92C9EF;--karman-halo-2:#0060AC;--karman-strip-glow:#0060AC;--karman-arc:#1A1A1A;--karman-tag:#0060AC;--karman-tick-fg:#797366;--karman-h:#1A1A1A;--karman-apex:#797366;--karman-quote:#1A1A1A;--karman-font-display:'Cinzel',serif;--karman-font-body:'Cormorant Infant',serif;--karman-display-weight:600;--karman-display-track:0.08em;--karman-display-case:uppercase;--karman-display-lh:1.15}

.theme-syne .ldk-karman{--karman-bg-1:#003B6B;--karman-bg-2:#0060AC;--karman-bg-3:#0F4FA8;--karman-halo-1:#92C9EF;--karman-halo-2:#5DA8DF;--karman-strip-glow:#92C9EF;--karman-arc:#92C9EF;--karman-tag:#92C9EF;--karman-h:#FFFFFF;--karman-apex:rgba(255,255,255,0.85);--karman-quote:rgba(255,255,255,0.92);--karman-font-display:'Syne',sans-serif;--karman-font-body:'Inter',sans-serif;--karman-display-weight:700;--karman-display-track:-0.015em;--karman-display-lh:1.05}

.theme-respes .ldk-karman{--karman-bg-1:#0E0E0E;--karman-bg-2:#1A1A1A;--karman-bg-3:#26262B;--karman-halo-1:#0060AC;--karman-halo-2:#003B6B;--karman-strip-glow:#92C9EF;--karman-arc:#92C9EF;--karman-tag:#92C9EF;--karman-h:#FFFFFF;--karman-apex:rgba(146,201,239,0.85);--karman-quote:rgba(255,255,255,0.92);--karman-font-display:'Fraunces',serif;--karman-font-body:'Fraunces',serif;--karman-display-weight:500;--karman-display-track:-0.015em;--karman-display-lh:1.04}
.theme-respes .ldk-karman .karman-h em{font-style:italic}

.theme-austere .ldk-karman{--karman-bg-1:#FFFFFF;--karman-bg-2:#F4F4F4;--karman-bg-3:#E6EEFA;--karman-halo-1:#92C9EF;--karman-halo-2:#0060AC;--karman-strip-glow:#0A0A0A;--karman-arc:#0A0A0A;--karman-tag:#0A0A0A;--karman-tick-fg:#6B6B6B;--karman-h:#0A0A0A;--karman-apex:#6B6B6B;--karman-quote:#0A0A0A;--karman-font-display:'Inter Tight',sans-serif;--karman-font-body:'Inter',sans-serif;--karman-display-weight:700;--karman-display-track:-0.025em;--karman-display-lh:1.0}

.theme-noir .ldk-karman{--karman-bg-1:#ECECE8;--karman-bg-2:#DEDDD6;--karman-bg-3:#D8E2EE;--karman-halo-1:#92C9EF;--karman-halo-2:#0060AC;--karman-halo-3:#6B6258;--karman-strip-glow:#0060AC;--karman-arc:#1A1613;--karman-tag:#1A1613;--karman-tick-fg:#6B6258;--karman-h:#1A1613;--karman-apex:#6B6258;--karman-quote:#1A1613;--karman-font-display:'Gilroy','Inter',sans-serif;--karman-font-body:'Inter',sans-serif;--karman-display-weight:400;--karman-display-track:-0.015em;--karman-display-lh:0.98}

.theme-paper .ldk-karman{--karman-bg-1:#E9E7E1;--karman-bg-2:#E0DDD5;--karman-bg-3:#D8E2EE;--karman-arc:#22282C;--karman-tag:#929FA7;--karman-tick-fg:#929FA7;--karman-h:#22282C;--karman-apex:#929FA7;--karman-quote:#22282C;--karman-font-display:'Hanken Grotesk',sans-serif;--karman-font-body:'Hanken Grotesk',sans-serif;--karman-display-weight:200;--karman-display-track:-0.05em;--karman-display-lh:0.94}

@media (max-width:900px){.ldk-karman{padding:96px 24px}.ldk-karman .karman-tag{margin-bottom:48px}.ldk-karman .karman-h{margin-bottom:36px}.ldk-karman .karman-quote{font-size:18px}}

/* ldkdef overrides */
/* prevent horizontal scroll from off-screen mobile drawer (clip keeps sticky nav working) */
html{overflow-x:clip}
/* mobile nav: ensure hamburger shows + links hide (base rule order would otherwise win) */
@media (max-width:900px){
  #site .nav ul{display:none}
  #site .nav-toggle{display:flex}
}
/* closed drawer must not paint its off-screen sliver into the viewport */
.mobile-drawer{visibility:hidden;transition:transform .35s cubic-bezier(.2,.7,.15,1),visibility 0s linear .35s}
body.menu-open .mobile-drawer{visibility:visible;transition:transform .35s cubic-bezier(.2,.7,.15,1)}
/* balanced team rows (centered orphans) */
.theme-fraunces .team-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:22px}
.theme-fraunces .team-grid .person{width:calc(25% - 16.5px)}
.theme-fraunces .team-grid.tg-2{max-width:680px;margin:0 auto}
.theme-fraunces .team-grid.tg-2 .person{width:calc(50% - 11px)}
@media (max-width:900px){.theme-fraunces .team-grid .person{width:calc(50% - 11px)}}
@media (max-width:560px){.theme-fraunces .team-grid .person,.theme-fraunces .team-grid.tg-2 .person{width:100%}}


/* ===================== DIRECTIONS BUTTON + NAV CHOOSER ===================== */
#site .dir-trigger{margin-top:26px;width:100%;justify-content:center;display:inline-flex;align-items:center;gap:10px}
.dir-modal{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(14,23,46,0.55);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.dir-modal.open{display:flex}
.dir-card{background:var(--paper,#fff);color:var(--fg);max-width:430px;width:100%;border:1px solid var(--line);border-radius:var(--radius,4px);padding:38px 32px 32px;position:relative;box-shadow:0 24px 64px rgba(0,0,0,0.28);text-align:center}
.dir-card .dir-close{position:absolute;top:12px;right:16px;font-size:26px;line-height:1;color:var(--muted);background:0;border:0;cursor:pointer;padding:4px}
.dir-card .dir-close:hover{color:var(--accent)}
.dir-card .dir-eyebrow{font-family:var(--font-meta);font-size:11px;letter-spacing:0.24em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}
.dir-card h3{font-family:var(--font-display);font-weight:var(--display-weight);font-style:var(--display-style);font-size:30px;line-height:1.1;color:var(--fg);margin-bottom:8px}
.dir-card .dir-sub{font-size:14px;color:var(--muted);margin-bottom:26px}
.dir-apps{display:flex;flex-direction:column;gap:10px}
.dir-app{display:flex;align-items:center;gap:13px;justify-content:flex-start;padding:14px 18px;border:1px solid var(--line);border-radius:var(--radius,4px);font-family:var(--font-meta);font-size:13px;letter-spacing:0.04em;color:var(--fg);transition:border-color .2s,background .2s,color .2s}
.dir-app:hover{border-color:var(--accent);color:var(--accent);background:rgba(0,96,172,0.05)}
.dir-app .dir-ic{width:24px;height:24px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--accent)}
.dir-app .dir-ic svg{width:22px;height:22px}
.dir-app .dir-arrow{margin-left:auto;color:var(--muted);transition:color .2s,transform .2s}
.dir-app:hover .dir-arrow{color:var(--accent);transform:translateX(3px)}
@media(max-width:560px){.dir-card{padding:30px 20px 24px}.dir-card h3{font-size:25px}}

/* ===================== CHI SIAMO — LEAD PIU' LARGO ===================== */
#site .section-head p.lead.lead-wide{max-width:1080px}

/* ===================== LDK STORY — LETTERE L/D/K GRANDI ===================== */
.ldk-foundations{display:flex;flex-direction:column;gap:44px;margin:52px 0 12px;text-align:left}
.ldk-found{display:grid;grid-template-columns:auto 1fr;gap:30px;align-items:start}
.ldk-letter{font-family:var(--font-display);font-weight:var(--display-weight);font-style:var(--display-style);font-size:clamp(84px,11vw,176px);line-height:0.82;color:var(--accent);min-width:1ch;text-align:center}
.ldk-found-body{padding-top:6px}
.ldk-found-body h4{font-family:var(--font-display);font-weight:var(--display-weight);font-style:var(--display-style);font-size:clamp(26px,3vw,38px);line-height:1.1;color:var(--fg);margin-bottom:10px}
.ldk-found-body p{font-size:16px;line-height:1.75;color:var(--muted);margin:0}

/* ===================== VARIANT SWITCHER (solo pagine Chi siamo) ===================== */
.variant-switch{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center;max-width:1240px;margin:0 auto 40px;font-family:var(--font-meta);font-size:11px;letter-spacing:0.14em;text-transform:uppercase}
.variant-switch span{color:var(--muted)}
.variant-switch a{padding:8px 16px;border:1px solid var(--line);border-radius:var(--radius);color:var(--fg);transition:all .2s}
.variant-switch a:hover{border-color:var(--accent);color:var(--accent)}
.variant-switch a.on{background:var(--accent);color:#fff;border-color:var(--accent)}

/* ===================== VARIANTE 2 — FOTO GRANDE SX, TESTO DX (riga) ===================== */
.team-rows{display:flex;flex-direction:column;gap:24px;max-width:1280px;margin:0 auto}
.person-row{flex-direction:row !important;align-items:stretch;width:100% !important}
.person-row .portrait{aspect-ratio:5/4;width:500px;flex:0 0 500px;border-right:1px solid var(--line)}
.person-row .pinfo{padding:30px 34px;justify-content:center}
.person-row .nm{font-size:24px}
.person-row .bio{font-size:14px}

/* ===================== VARIANTE 3 — FOTO ORIZZONTALE IN ALTO, 2 COLONNE ===================== */
.team-land{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;max-width:1040px;margin:0 auto}
.person-card-land .portrait{aspect-ratio:16/10}
.person-card-land .pinfo{padding:26px 28px}
.person-card-land .nm{font-size:22px}

/* ============================================================================
   RESPONSIVE — blocchi SEPARATI per PC / iPad / Mobile (non sovrapporre!)
   PC = default sopra (>=1025px). Sotto solo override mirati.
   ============================================================================ */

/* ---------- iPad / TABLET : 601px – 1024px ---------- */
@media (min-width:601px) and (max-width:1024px){
  /* Advisory: schede impilate, una sotto l'altra */
  #site .areas-grid{grid-template-columns:1fr !important;max-width:760px}
  /* Team: schede ORIZZONTALI (foto sx, testo dx), una per riga */
  .theme-fraunces .team-grid{flex-direction:column;gap:18px;max-width:820px;margin:0 auto}
  .theme-fraunces .team-grid .person,.theme-fraunces .team-grid.tg-2 .person{width:100% !important;flex-direction:row !important;align-items:stretch}
  #site .team-grid .person .portrait{aspect-ratio:1/1;width:38%;max-width:240px;flex:0 0 38%;border-right:1px solid var(--line)}
  #site .team-grid .person .pinfo{justify-content:center;padding:22px 26px}
  #site .team-grid .person .nm{font-size:21px}
  #site .team-grid .person .bio{font-size:14px}
  /* Variante 3: una colonna su tablet */
  .team-land{grid-template-columns:1fr;max-width:680px}
}

/* ---------- MOBILE : <=600px ---------- */
@media (max-width:600px){
  /* Tasti a tutta larghezza, impilati */
  #site .hero .ctas{flex-direction:column;align-items:stretch}
  #site .btn{width:100%;min-width:0}
  /* Advisory: schede impilate */
  #site .areas-grid{grid-template-columns:1fr !important}
  /* Team: scheda ORIZZONTALE foto sx + testo dx, una sotto l'altra, testo leggibile */
  .theme-fraunces .team-grid{flex-direction:column;gap:14px}
  .theme-fraunces .team-grid .person,.theme-fraunces .team-grid.tg-2 .person{width:100% !important;flex-direction:row !important;align-items:stretch}
  #site .team-grid .person .portrait{aspect-ratio:1/1;width:40%;max-width:150px;flex:0 0 40%;border-right:1px solid var(--line)}
  #site .team-grid .person .pinfo{justify-content:center;padding:16px 16px}
  #site .team-grid .person .nm{font-size:18px}
  #site .team-grid .person .bio{font-size:13.5px;line-height:1.6}
  #site .team-grid .person .rl{font-size:9.5px}
  /* Lead Chi siamo: leggibile, non troppo stretto */
  #site .section-head{margin-bottom:40px}
  #site .section-head p.lead,#site .section-head p.lead.lead-wide{font-size:16px;max-width:100%}
  /* Variante 2 su mobile: card IMPILATA — foto orizzontale 5:4 full-width sopra, bio sotto
     (il layout in riga con bio lunghe schiacciava la foto a striscia verticale) */
  .person-row{flex-direction:column !important;align-items:stretch}
  .person-row .portrait{width:100% !important;max-width:none;flex:none !important;aspect-ratio:5/4;border-right:0;border-bottom:1px solid var(--line)}
  .person-row .pinfo{padding:16px 16px 18px}
  .person-row .nm{font-size:17px}
  .person-row .bio{font-size:13px;line-height:1.55}
  .person-row .rl{font-size:9.5px}
  .team-land{grid-template-columns:1fr;max-width:420px}
  /* L/D/K: lettera sopra, testo sotto, centrato */
  /* L/D/K su mobile: STESSO layout orizzontale del desktop, solo ridotto (niente accapo lettera) */
  .ldk-foundations{gap:30px;margin:36px 0 8px}
  .ldk-found{grid-template-columns:auto 1fr;gap:16px;text-align:left;align-items:start}
  .ldk-letter{text-align:center;font-size:58px;line-height:0.85}
  .ldk-found-body{padding-top:0}
  .ldk-found-body h4{font-size:21px;margin-bottom:6px}
  .ldk-found-body .found-motto{font-size:16px;margin-bottom:6px}
  .ldk-found-body p{font-size:14.5px;line-height:1.6}
  .variant-switch{font-size:10px}
}

/* ===================== FOOTER LINKEDIN ===================== */
.foot-bot-right{display:inline-flex;align-items:center;gap:14px}
#footer-linkedin{display:inline-flex;align-items:center;color:var(--muted);transition:color .2s}
#footer-linkedin:hover{color:var(--accent)}

/* ===================== LANG TOGGLE (IT/EN) ===================== */
#site .nav .lang button{font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer;padding:0}
#site .nav .lang button:hover{color:var(--accent)}
#site .nav .lang .lang-sep{color:var(--muted)}


/* ===================== CHI SIAMO — ritaglio foto UNIFORME (tutti i device) ===================== */
.person-row .portrait img{object-fit:cover;object-position:center;width:100%;height:100%}
@media (min-width:601px) and (max-width:1024px){
  .person-row{flex-direction:row !important;align-items:stretch}
  .person-row .portrait{width:40% !important;max-width:340px;flex:0 0 40% !important;aspect-ratio:5/4}
}
/* Aree: una sotto l'altra su TUTTI i device (richiesta cliente) */

/* ===================== HOME — 4 schede sitemap in griglia centrata ===================== */
#home-overview .areas-grid{grid-template-columns:repeat(4,1fr);max-width:1240px;gap:16px}
@media (min-width:601px) and (max-width:1024px){ #home-overview .areas-grid{grid-template-columns:repeat(2,1fr) !important;max-width:760px} }
@media (max-width:600px){ #home-overview .areas-grid{grid-template-columns:1fr !important} }

/* ===================== LOGHETTO LDK sotto la barra menu ===================== */
.page-brand{display:flex;justify-content:center;padding:100px 24px 0}
.page-brand img{height:92px;width:auto}
@media (max-width:600px){ .page-brand{padding:64px 20px 0} .page-brand img{height:70px} }

/* ===================== footer: link tel/mail + credit ===================== */
#site footer ul li a{color:inherit;transition:color .2s}
#site footer ul li a:hover{color:var(--accent)}
#site .foot-bot .credit{color:inherit;transition:color .2s}
#site .foot-bot .credit:hover{color:var(--accent)}
#site .addr-extra a:hover{color:var(--accent) !important}

/* ===================== MOTION SYSTEM — reveal, entrance, hover ===================== */
/* Reveal on scroll (JS aggiunge .rv agli elementi e .in quando entrano in viewport) */
.rv{opacity:0;transform:translateY(22px);transition:opacity .6s cubic-bezier(.33,1,.68,1),transform .6s cubic-bezier(.33,1,.68,1);transition-delay:0ms;will-change:opacity,transform}
.rv.in{opacity:1;transform:none;transition-duration:1.15s,1.15s;transition-timing-function:cubic-bezier(.22,1,.36,1),cubic-bezier(.22,1,.36,1);transition-delay:var(--rvd,0ms)}

/* Hover — schede aree */
#site .area{transition:transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s cubic-bezier(.16,1,.3,1),border-color .3s}
#site .area:hover{transform:translateY(-6px);box-shadow:0 22px 48px rgba(14,23,46,.12);border-color:var(--accent)}
#site .area .icon svg{transition:transform .5s cubic-bezier(.16,1,.3,1)}
#site .area:hover .icon svg{transform:scale(1.15) rotate(-4deg)}
#site .area .area-foot span:last-child{transition:transform .35s cubic-bezier(.16,1,.3,1)}
#site .area:hover .area-foot span:last-child{transform:translateX(6px)}

/* Hover — schede persone */
#site .person{transition:transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s cubic-bezier(.16,1,.3,1),border-color .3s}
#site .person:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(14,23,46,.11);border-color:var(--accent)}
#site .person .portrait{overflow:hidden}
#site .person .portrait img{transition:transform .8s cubic-bezier(.16,1,.3,1)}
#site .person:hover .portrait img{transform:scale(1.045)}

/* Hover — bottoni */
#site .btn{transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s cubic-bezier(.16,1,.3,1),filter .25s,background .25s,color .25s,border-color .25s}
#site .btn:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(0,96,172,.22)}
#site .btn:active{transform:translateY(0);box-shadow:0 4px 12px rgba(0,96,172,.18)}

/* Hover — nav: sottolineatura animata */
#site .nav ul a{position:relative}
#site .nav ul a::after{content:"";position:absolute;left:0;right:100%;bottom:-4px;height:2px;background:var(--accent);transition:right .35s cubic-bezier(.16,1,.3,1)}
#site .nav ul a:hover::after,#site .nav ul a.on::after{right:0}

/* Hover — loghetto */
.page-brand img{transition:transform .5s cubic-bezier(.16,1,.3,1)}
.page-brand img:hover{transform:scale(1.06)}

/* Hover — footer link già gestiti; sitemap slide */
#site footer ul li a{display:inline-block;transition:color .25s,transform .3s cubic-bezier(.16,1,.3,1)}
#site footer ul li a:hover{transform:translateX(4px)}

/* Accessibilità: rispetta chi disattiva le animazioni */
@media (prefers-reduced-motion: reduce){
  .rv{opacity:1 !important;transform:none !important;transition:none !important}
  #site .area,#site .person,#site .btn,#site .person .portrait img,#site .area .icon svg,.page-brand img{transition:none !important}
}
#site .area{cursor:pointer}

/* ===================== L/D/K — incipit in stile citazione Kármán ===================== */
.ldk-found-body .found-motto{display:block;font-family:'Fraunces',serif;font-style:italic;font-weight:400;font-size:21px;line-height:1.45;color:var(--fg);margin-bottom:8px}
@media (max-width:600px){ .ldk-found-body .found-motto{font-size:18px} }

/* ===================== FORM — preferenza ricontatto ===================== */
.contact-form .pref-row{display:flex;gap:12px;margin:14px 0 18px}
.contact-form .pref-opt{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:var(--radius,4px);padding:11px 18px;cursor:pointer;font-family:var(--font-meta);font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--fg);transition:border-color .25s,background .25s;flex-direction:row}
.contact-form .pref-opt input{width:auto;accent-color:var(--accent);margin:0;cursor:pointer}
.contact-form .pref-opt:hover{border-color:var(--accent)}
.contact-form .pref-opt:has(input:checked){border-color:var(--accent);background:rgba(0,96,172,.06);color:var(--accent)}

/* ===================== CONTATTI — colonne allineate, bottoni gemelli ===================== */
#site .contact-wrap{align-items:stretch}
#site .contact-form{display:flex;flex-direction:column}
#site .contact-form .submit-row{margin-top:auto}
#site .contact-info{display:flex;flex-direction:column;padding-bottom:45px}
#site .contact-info .map{flex:1;min-height:220px;display:flex}
#site .contact-info .map svg{width:100%;height:100%}
#site .contact-form .submit-row{flex-direction:column;align-items:stretch;gap:8px}
#site .contact-form #submit-btn{width:100%;justify-content:center}
#site .contact-form .submit-row small{text-align:center}
.addr-click{cursor:pointer;transition:color .25s}
.addr-click:hover{color:var(--accent)}

/* ===================== MOBILE — leggibilità & usabilità (audit iPhone) ===================== */
/* Toggle lingua nel drawer: cliccabile, touch target ampio */
#site .mobile-drawer-foot .lang{display:flex;align-items:center;gap:4px}
#site .mobile-drawer-foot .lang button{background:none;border:0;padding:10px 8px;font:inherit;letter-spacing:inherit;color:inherit;cursor:pointer;min-height:44px}
#site .mobile-drawer-foot .lang button.on{color:var(--accent);font-weight:700}
@media (max-width:600px){
  /* testo base più leggibile su iPhone */
  #site p.lead{font-size:17px;line-height:1.65}
  #site .person .bio{font-size:14.5px;line-height:1.6}
  #site .area p{font-size:14.5px;line-height:1.6}
  /* niente testi micro */
  #site .foot-bot{font-size:11px}
  /* tap target: link nav-settore nelle schede persone */
  #site .person-foot a{padding:8px 2px;display:inline-block}
  /* form: campi comodi al pollice, niente zoom iOS (font >=16px) */
  #site .contact-form input,#site .contact-form textarea,#site .contact-form select{font-size:16px;padding:13px 12px;min-height:44px}
  #site .contact-form .pref-opt{min-height:44px}
  /* bottoni full width comodi */
  #site .btn{min-height:46px}
  /* hero: respiro laterale */
  #site .hero{padding-left:20px;padding-right:20px}
}
