
/* KHEPER v2 — rifinitura editoriale, accessibilità e privacy */
:root{
  --s: Georgia, "Times New Roman", serif !important;
  --n: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif !important;
  --shadow-soft:0 24px 70px rgba(13,41,31,.10);
}
html{scroll-padding-top:90px}
body{font-kerning:normal;text-rendering:optimizeLegibility}
::selection{background:rgba(185,154,87,.28)}
a,button{-webkit-tap-highlight-color:transparent}
img{background:#eee9df}
.head{transition:height .35s ease,background .35s ease,color .35s ease,box-shadow .35s ease}
.brand img{background:transparent!important}
.hero .hc,.philo-hero>*,.paths-hero>*,.spaces-hero>*{animation:kheperIntro .9s cubic-bezier(.2,.7,.2,1) both}
.hero .ey,.philo-hero .ey,.paths-hero .ey,.spaces-hero .ey{animation-delay:.08s}
.hero h1,.philo-hero h1,.paths-hero h1,.spaces-hero h1{animation-delay:.18s}
.hero .sub,.hero .actions{animation-delay:.32s}
@keyframes kheperIntro{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
.reveal{opacity:0;transform:translateY(34px);transition:opacity .85s cubic-bezier(.2,.7,.2,1),transform .85s cubic-bezier(.2,.7,.2,1)}
.reveal.visible{opacity:1;transform:none}
.btn,.book,.outline,.personal-site{position:relative;overflow:hidden;transition:transform .25s ease,background .25s ease,color .25s ease,border-color .25s ease,box-shadow .25s ease}
.btn:hover,.book:hover,.outline:hover,.personal-site:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(13,41,31,.14)}
.personal-site{display:inline-flex;align-items:center;justify-content:center;min-height:48px;margin-top:28px;padding:0 23px;border:1px solid rgba(255,255,255,.5);color:#fff;font-size:.64rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.personal-site:after{content:"↗";margin-left:10px;font-size:.8rem}
.team-person{align-items:center}
.team-person img{box-shadow:var(--shadow-soft)}
.team-person>div{display:flex;flex-direction:column;align-items:flex-start}
.team-person p{max-width:470px}
.journey,.room,.path-card,.tech-card{transition:transform .35s ease,filter .35s ease,box-shadow .35s ease}
.journey:hover,.room:hover,.path-card:hover,.tech-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-soft)}
.foot{grid-template-columns:1fr 1.2fr auto!important;align-items:start!important;padding-top:68px!important;padding-bottom:42px!important}
.foot-brand img{width:48px!important;height:auto!important;background:transparent!important}
.foot-brand b{font-family:var(--s);font-size:1.55rem;letter-spacing:.18em;font-weight:500}
.foot-brand small{letter-spacing:.14em;text-transform:uppercase;font-size:.56rem;opacity:.7}
.flinks{display:flex;flex-wrap:wrap;gap:14px 28px!important;align-content:flex-start}
.flinks a{font-size:.66rem;text-transform:uppercase;letter-spacing:.13em;opacity:.76;transition:opacity .2s,color .2s}
.flinks a:hover{opacity:1;color:var(--ol)}
.fmeta{text-align:right;font-size:.68rem;line-height:1.9;opacity:.72}
.legal-row{grid-column:1/-1;display:flex;justify-content:space-between;gap:22px;align-items:center;border-top:1px solid rgba(255,255,255,.12);padding-top:24px;margin-top:24px;font-size:.61rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.58)}
.legal-links{display:flex;gap:20px;flex-wrap:wrap}.legal-links a:hover{color:#fff}

.policy{max-width:940px;margin:0 auto;padding:150px 24px 100px}.policy h1{font:500 clamp(3.2rem,7vw,6rem)/.96 var(--s);margin:0 0 24px}.policy h2{font:500 2rem/1.1 var(--s);margin:54px 0 16px}.policy p,.policy li{color:#525954}.policy .updated{font-size:.68rem;text-transform:uppercase;letter-spacing:.13em;color:var(--g2)}.policy a{text-decoration:underline;text-underline-offset:3px}.policy ul{padding-left:20px}.policy-note{padding:20px 22px;border-left:2px solid var(--o);background:#eee9df;margin:30px 0}
.skip-link{position:fixed;left:12px;top:-80px;z-index:10000;background:#fff;color:#111;padding:10px 14px}.skip-link:focus{top:12px}
@media(max-width:900px){.foot{grid-template-columns:1fr!important}.fmeta{text-align:left}.legal-row{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.personal-site{width:100%;margin-top:20px}.policy{padding-top:120px}.foot{padding-left:22px!important;padding-right:22px!important}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.reveal{opacity:1!important;transform:none!important}}

.tlist .row p{max-width:520px;line-height:1.55}
@media(max-width:760px){.tlist .row p{max-width:none}}

/* KHEPER V3 — social, local SEO and map links */
.social-links{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center}
.social-links a{font-size:.66rem;letter-spacing:.13em;text-transform:uppercase;opacity:.78;position:relative;padding-bottom:4px}
.social-links a:after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--o);transition:width .25s ease}
.social-links a:hover{opacity:1}
.social-links a:hover:after{width:100%}
.map-btn{margin-top:24px}
@media(max-width:760px){.social-links{grid-column:1/-1;gap:14px 20px}.social-links a{font-size:.62rem}}
