:root{--gold:#d99728;--ink:#070707;--text:#f3f0e9}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--text);font-family:Arial,Helvetica,sans-serif}
a{color:inherit}
.wrap{width:min(1380px,calc(100% - 42px));margin:auto}
.header{position:fixed;z-index:20;inset:0 0 auto;background:linear-gradient(#050505f5,#050505b5,transparent);height:94px}
.nav{height:78px;display:flex;align-items:center;gap:26px}
.logo{width:120px;height:72px;object-fit:contain}
.menu{margin-left:auto;display:flex;gap:28px;align-items:center}
.menu a{text-decoration:none;font-size:12px;font-weight:900;letter-spacing:.1em}
.menu a:hover{color:var(--gold)}
.menu .cta{background:var(--gold);color:#070707;padding:13px 17px}
.hero{position:relative;min-height:100vh;display:grid;grid-template-columns:43% 57%;overflow:hidden}
.hero-copy{z-index:2;display:flex;flex-direction:column;justify-content:center;padding:120px 4vw 190px;background:radial-gradient(circle at 25% 40%,#2c2417,transparent 40%),#080808}
.hero-copy small{color:var(--gold);font-weight:900;letter-spacing:.18em}
.hero-copy h1{font-size:clamp(64px,7.4vw,126px);line-height:.78;letter-spacing:-.06em;font-style:italic;margin:18px 0 24px}
.hero-copy h1 span{color:var(--gold)}
.hero-copy p{max-width:530px;color:#c1bdb5;font-size:clamp(16px,1.3vw,21px);line-height:1.45}
.hero-actions{display:flex;gap:12px;margin-top:18px}
.btn{padding:14px 18px;border:1px solid var(--gold);text-decoration:none;font-weight:900;font-size:12px;letter-spacing:.06em}
.btn.primary{background:var(--gold);color:#090909}
.hero-image{position:relative;min-height:100vh}
.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 45%}
.hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#080808 0,transparent 25%),linear-gradient(0deg,#070707aa,transparent 35%)}
.course-strip{position:absolute;z-index:5;left:50%;bottom:28px;transform:translateX(-50%);width:min(1380px,calc(100% - 42px));display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #8a5c18;background:#0b0b0bea}
.course{display:grid;grid-template-columns:58px 1fr;align-items:center;gap:16px;padding:22px 28px;text-decoration:none}
.course+.course{border-left:1px solid #684613}
.icon{width:54px;height:54px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-size:25px}
.course h3{margin:0;color:var(--gold);font-size:24px}
.course p{margin:5px 0 0;color:#aaa;font-size:13px}
.story{padding:90px 0;background:linear-gradient(180deg,#080808,#10100f)}
.section-kicker{color:var(--gold);font-size:12px;font-weight:900;letter-spacing:.2em}
.section-title{font-size:clamp(42px,5vw,78px);line-height:.9;font-style:italic;margin:10px 0 34px}
.story-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:18px}
.feature{position:relative;min-height:620px;overflow:hidden;border:1px solid #463315}
.feature img{width:100%;height:100%;object-fit:cover;object-position:center 25%}
.feature-copy{position:absolute;inset:auto 0 0;padding:42px;background:linear-gradient(transparent,#050505 55%)}
.feature-copy h2{font-size:38px;margin:0 0 10px;color:var(--gold)}
.feature-copy p{max-width:520px;color:#c2c2c2;line-height:1.5}
.training-card{display:flex;flex-direction:column;align-self:start;border:1px solid #463315;background:#0b0b0b;overflow:hidden}
.training-card>img{display:block;width:100%;aspect-ratio:1/1;object-fit:contain;padding:14px 0}
.training-copy{padding:28px;background:var(--gold);color:#0a0907}
.training-copy h2{font-size:34px;margin:0 0 8px}
.training-copy p{color:#211706;font-weight:700;margin:0;line-height:1.5}
.journey{padding:86px 0 96px;background:#070707}
.journey-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.journey-grid figure{position:relative;margin:0;overflow:hidden;border:1px solid #3c2d17;aspect-ratio:4/3;background:#0b0b0b}
.journey-grid img{width:100%;height:100%;object-fit:contain}
.journey-grid figcaption{position:absolute;inset:auto 0 0;padding:34px 18px 15px;background:linear-gradient(transparent,#050505d9);color:var(--gold);font-size:12px;font-weight:900;letter-spacing:.14em}
.contact{padding:54px 0;border-top:1px solid #604316;background:#0b0b0b}
.contact-row{display:flex;align-items:center;justify-content:space-between;gap:30px}
.contact h2{margin:0;font-size:clamp(32px,4vw,58px);font-style:italic}
.contact h2 span,.details b{color:var(--gold)}
.details{color:#bbb;line-height:1.8}
.weebly-footer{width:min(1380px,calc(100% - 42px));margin:32px auto 0;color:#777;font-size:12px}
.inner-main{min-height:70vh;padding:130px 0 80px;background:#0b0b0b}
.inner-main h1,.inner-main h2,.inner-main h3{color:var(--gold)}
.inner-main p,.inner-main li{color:#d0cdc5;line-height:1.65}
.pfl-inner .menu ul{display:flex;gap:22px;list-style:none;margin:0;padding:0}
.pfl-inner .menu li ul{display:none}
@media(max-width:900px){.menu{gap:14px}
.menu a{font-size:10px}
.hero{grid-template-columns:1fr;min-height:auto}
.hero-copy{min-height:72vh;padding:130px 26px 210px}
.hero-image{min-height:70vh}
.course-strip{grid-template-columns:1fr}
.course+.course{border-left:0;border-top:1px solid #684613}
.story-grid{grid-template-columns:1fr}
.journey-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.contact-row{align-items:flex-start;flex-direction:column}
}
@media(max-width:620px){.wrap{width:calc(100% - 24px)}
.header{height:76px;background:#050505ee}
.nav{height:70px}
.logo{width:88px;height:60px}
.menu{overflow-x:auto}
.menu .cta{display:none}
.hero-copy h1{font-size:18vw}
.hero-copy{min-height:72vh;padding-bottom:230px}
.hero-image{min-height:68vh}
.course-strip{width:calc(100% - 24px)}
.story,.journey{padding:60px 0}
.feature{min-height:540px}
.training-card>img{padding:10px 0}
.journey-grid{grid-template-columns:1fr}
.contact{padding:42px 0}
}

/* Cyon/Weebly compatibility overrides. */
.pfl-home,.pfl-home main,.pfl-home .hero-copy{background-color:#070707!important;color:#f3f0e9!important}
.pfl-home .header{background:linear-gradient(#050505f5,#050505b5,transparent)!important}
.pfl-home .hero-copy h1,.pfl-home .section-title,.pfl-home .contact h2{color:#f3f0e9!important}
.pfl-home .hero-copy h1 span,.pfl-home .section-kicker,.pfl-home .course h3,.pfl-home .feature-copy h2,.pfl-home .journey-grid figcaption,.pfl-home .details b,.pfl-home .contact h2 span{color:#d99728!important}
.pfl-home .hero-copy p,.pfl-home .feature-copy p,.pfl-home .course p,.pfl-home .details{color:#c8c3ba!important}
.pfl-home .btn{background:transparent!important;border-color:#d99728!important;color:#f3f0e9!important}
.pfl-home .btn.primary,.pfl-home .menu .cta{background:#d99728!important;color:#090909!important}
.pfl-home .menu a{color:#f3f0e9!important}
.pfl-home .menu a:hover{color:#d99728!important}

/* Mobile hero: testo e fotografia rimangono affiancati. */
@media(max-width:900px){
  .pfl-home .hero{grid-template-columns:46% 54%;min-height:88vh}
  .pfl-home .hero-copy{min-height:88vh;padding:118px 24px 210px}
  .pfl-home .hero-copy h1{font-size:clamp(46px,8vw,78px)}
  .pfl-home .hero-image{min-height:88vh}
  .pfl-home .hero-image img{object-position:58% 48%}
}
@media(max-width:620px){
  .pfl-home .hero{grid-template-columns:52% 48%;min-height:86vh}
  .pfl-home .hero-copy{min-height:86vh;padding:104px 14px 230px}
  .pfl-home .hero-copy h1{font-size:11.2vw;line-height:.82;letter-spacing:-.055em;margin:14px 0 18px}
  .pfl-home .hero-copy small{font-size:9px;letter-spacing:.1em}
  .pfl-home .hero-copy p{font-size:12px;line-height:1.4}
  .pfl-home .hero-actions{flex-direction:column;align-items:flex-start;gap:8px;margin-top:10px}
  .pfl-home .hero-actions .btn{padding:10px 11px;font-size:9px}
  .pfl-home .hero-image{min-height:86vh}
  .pfl-home .hero-image img{object-position:58% 48%}
  .pfl-home .hero-image:after{background:linear-gradient(90deg,#080808 0,transparent 28%),linear-gradient(0deg,#070707aa,transparent 35%)}
}
.pfl-home .course-strip{border-color:#8a5c18!important;background:#0b0b0bea!important}
.pfl-home .course+.course{border-color:#684613!important}
.pfl-home .icon{border-color:#d99728!important;color:#d99728!important}

/* Corsi fuori dalla fotografia su tablet e telefono. */
@media(max-width:900px){
  .pfl-home .hero-copy{grid-column:1;grid-row:1}
  .pfl-home .hero-image{grid-column:2;grid-row:1}
  .pfl-home .course-strip{position:relative;grid-column:1/-1;left:auto;bottom:auto;transform:none;width:100%;margin-top:18px;grid-template-columns:repeat(3,minmax(0,1fr));backdrop-filter:none}
  .pfl-home .hero-actions{flex-direction:column;align-items:flex-start;gap:10px;margin-top:16px}
  .pfl-home .hero-actions .btn{width:min(220px,100%);padding:12px 14px;text-align:center;font-size:10px;line-height:1.2}
  .pfl-home .course{grid-template-columns:42px minmax(0,1fr);gap:10px;padding:15px 16px;min-width:0}
  .pfl-home .course+.course{border-top:0;border-left:1px solid #684613}
  .pfl-home .icon{width:40px;height:40px;font-size:19px}
  .pfl-home .course h3{font-size:17px;white-space:nowrap}
  .pfl-home .course p{font-size:11px;line-height:1.3}
}
@media(max-width:620px){
  .pfl-home .course-strip{grid-template-columns:1fr;margin-top:12px}
  .pfl-home .hero-actions{gap:8px;margin-top:12px}
  .pfl-home .hero-actions .btn{width:min(180px,100%);padding:10px 9px;font-size:9px}
  .pfl-home .course{grid-template-columns:42px 1fr;padding:13px 18px}
  .pfl-home .course+.course{border-left:0;border-top:1px solid #684613}
  .pfl-home .course h3{font-size:16px}
  .pfl-home .course p{display:block;font-size:11px}
}
.pfl-home .story{background:linear-gradient(180deg,#080808,#10100f)!important}
.pfl-home .journey{background:#070707!important}
.pfl-home .contact{background:#0b0b0b!important;border-color:#604316!important}
