/*
Theme Name: Allegro Marziale Luminous Chiaro
Theme URI: https://www.allegromarziale.com/
Author: Allegro Marziale
Description: Tema ufficiale one-page di Allegro Marziale, edizione Luminous Chiaro con sezione video.
Version: 1.6.1
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: allegro-marziale
*/

@font-face{font-family:"MOAM91";src:url("assets/MOAM91.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
:root{--ink:#111311;--paper:#FFFFFF;--red:#921f1b;--line:#c9cbc7;--muted:#666963;--max:1440px;--pad:clamp(1.25rem,4vw,4.5rem)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.55;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;width:100%;height:auto}
button{font:inherit}
.site-header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad);position:absolute;top:0;left:0;width:100%;z-index:20;border-bottom:1px solid rgba(17,19,17,.15)}
.brand{display:flex;align-items:center;gap:.7rem;color:var(--ink)}.brand-logo{width:38px;height:38px;object-fit:contain}.wordmark{font-family:"MOAM91",Arial,sans-serif;font-size:1.2rem;line-height:1;letter-spacing:.055em}.site-header nav{display:flex;gap:2.2rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em}.site-header nav a{position:relative}.site-header nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:1px;background:var(--red);transition:right .25s}.site-header nav a:hover:after{right:0}.menu-toggle{display:none;border:0;background:transparent;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem}
.hero{min-height:100svh;position:relative;display:grid;grid-template-columns:minmax(320px,.82fr) 1.18fr;align-items:end;padding:110px var(--pad) 0;overflow:hidden}.hero-copy{align-self:center;position:relative;z-index:3;padding:3rem 0 6rem}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:.72rem;font-weight:700;color:var(--red);margin:0 0 1.2rem}.hero h1,.section h2,.epk-shell h1{font-size:clamp(4rem,9vw,9rem);font-weight:400;letter-spacing:-.065em;line-height:.76;margin:0}.hero h1 span{display:block}.hero h1 span:last-child{margin-left:clamp(1.2rem,5vw,5rem);color:var(--red)}.hero-line{max-width:35rem;font-size:clamp(1.05rem,1.5vw,1.35rem);margin:2.6rem 0 2rem}.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.8rem 1.15rem;border:1px solid var(--ink);font-size:.74rem;text-transform:uppercase;letter-spacing:.12em;transition:.2s}.button-dark{background:var(--ink);color:white}.button-light{background:transparent}.button:hover{background:var(--red);border-color:var(--red);color:white}.hero-figure{height:calc(100svh - 82px);margin:0;align-self:end;overflow:hidden;position:relative;z-index:2}.hero-figure img{height:100%;object-fit:cover;object-position:center 20%;filter:contrast(1.04)}.spiral-field{position:absolute;width:min(64vw,900px);aspect-ratio:1;left:-13vw;top:7vh;border:1px solid rgba(17,19,17,.16);border-radius:50%;z-index:0}.arc{position:absolute;border:1px solid rgba(146,31,27,.25);border-radius:50%}.arc-a{inset:25% 0 0 25%}.arc-b{inset:50% 0 0 50%}.arc-c{inset:62.5% 12.5% 12.5% 62.5%}.scroll-cue{position:absolute;left:var(--pad);bottom:1rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;z-index:4}.scroll-cue span{color:var(--red)}
.hero h1{font-family:"MOAM91",Arial,sans-serif;font-size:clamp(3.4rem,7.2vw,7.2rem);letter-spacing:.015em;line-height:.82;color:var(--ink)}.hero h1 span:last-child{color:var(--ink)}
.section{max-width:var(--max);margin:auto;padding:clamp(6rem,12vw,11rem) var(--pad);position:relative}.section-number{position:absolute;top:clamp(4rem,8vw,7rem);right:var(--pad);font-size:.72rem;letter-spacing:.16em;border-top:1px solid var(--ink);padding-top:.45rem;min-width:3rem;text-align:right}.album{display:grid;grid-template-columns:minmax(280px,1.08fr) .92fr;gap:clamp(3rem,8vw,9rem);align-items:center}.album-art{background:white;overflow:hidden}.album-art img{aspect-ratio:1;object-fit:contain}.album-copy h2{font-size:clamp(4rem,8vw,8rem)}.album-copy>p:not(.eyebrow){max-width:34rem;font-size:1.12rem}.spotify-player{margin:2.25rem 0 1.5rem;min-height:352px}.spotify-player iframe{display:block;width:100%;border:0;border-radius:12px}.platforms{display:flex;gap:1.6rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700}.platforms a:hover{color:var(--red)}
.manifesto{background:var(--ink);color:white;padding:clamp(6rem,10vw,10rem) var(--pad);text-align:center}.manifesto p.manifesto-copy{font-family:Georgia,serif;font-size:clamp(1.8rem,3.55vw,4.1rem);line-height:1.14;margin:0 auto;max-width:1250px}.manifesto em{font-weight:400;color:#c5c5c0}.manifesto-image{width:min(72%,980px);margin:clamp(3.5rem,7vw,7rem) auto 0}.manifesto-image img{aspect-ratio:4/3;object-fit:cover}
.gallery{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(2rem,5vw,6rem);align-items:start}.gallery-header{position:sticky;top:110px}.gallery-header h2{font-size:clamp(4rem,7vw,7.5rem)}.section-blurb{max-width:30rem;margin:2rem 0 0;font-size:1.12rem;color:var(--muted)}.gallery-main{margin:0}.gallery-main img{aspect-ratio:2/3;object-fit:cover}
.biography{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(3rem,8vw,9rem);align-items:start;border-top:1px solid var(--line)}.biography-image{margin:0}.biography-image img{aspect-ratio:2/3;object-fit:cover}.biography-copy{position:sticky;top:110px}.biography-copy h2{font-size:clamp(4rem,7vw,7.5rem)}.biography-copy>p:last-child{max-width:32rem;font-size:1.12rem;color:var(--muted)}
.contact{min-height:75vh;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;border-top:1px solid var(--line)}.contact-copy h2{font-size:clamp(5rem,9vw,9rem)}.contact-copy h2.contact-wordmark{font-family:"MOAM91",Arial,sans-serif;font-size:clamp(4rem,7.2vw,7.2rem);letter-spacing:.015em;line-height:.82;color:var(--ink)}.contact-copy h2.contact-wordmark span{color:var(--ink)}.contact-copy>p:last-child{font-size:1.15rem}.contact-links{display:flex;flex-direction:column;border-top:1px solid var(--ink)}.contact-links a,.linklike{font-size:clamp(1rem,2vw,1.5rem);padding:1.25rem 0;border:0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;background:transparent;text-align:left;cursor:pointer}.contact-links a:hover,.linklike:hover{color:var(--red)}footer{border-top:1px solid var(--line);padding:2rem var(--pad);display:flex;justify-content:space-between;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}.note{position:fixed;right:1rem;bottom:1rem;max-width:360px;background:var(--ink);color:white;padding:1rem 1.2rem;transform:translateY(calc(100% + 2rem));transition:.25s;z-index:40;font-size:.9rem}.note.visible{transform:none}
.reveal{opacity:0;transform:translateY(32px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
.epk-page{min-height:100vh}.epk-page .site-header{position:relative}.epk-back{text-transform:uppercase;letter-spacing:.12em;font-size:.76rem}.epk-shell{padding:clamp(5rem,10vw,9rem) var(--pad);max-width:var(--max);margin:auto}.epk-shell h1{font-size:clamp(4.5rem,9vw,9rem)}.epk-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(2rem,7vw,8rem);align-items:center;margin-top:5rem}.epk-grid figure{margin:0}.epk-message{font-size:1.15rem}.epk-message .button{margin-top:1rem}
@media (max-width:800px){.site-header{height:62px}.site-header nav{display:none;position:absolute;top:62px;left:0;width:100%;padding:1.4rem var(--pad);background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;gap:1.25rem}.site-header nav.open{display:flex}.site-header .brand-logo{width:32px;height:32px}.site-header .wordmark{font-size:1.05rem}.menu-toggle{display:block}.hero{min-height:auto;grid-template-columns:1fr;padding-top:68px}.hero-copy{padding:1.4rem 0 1.5rem}.hero .eyebrow{margin-bottom:.65rem}.hero h1{font-size:clamp(3.25rem,15.5vw,5.5rem)}.hero h1 span:last-child{margin-left:.8rem}.hero-line{font-size:1rem;margin:1.25rem 0 1.35rem}.hero-actions{gap:.55rem}.hero-actions .button{min-height:44px;padding:.65rem .9rem}.hero-figure{height:auto;aspect-ratio:3/2;width:calc(100% + 2 * var(--pad));margin-left:calc(-1 * var(--pad))}.hero-figure img{height:100%;object-fit:cover;object-position:center}.scroll-cue{display:none}.spiral-field{width:105vw;left:-42vw;top:4rem}.album,.gallery,.biography,.contact,.epk-grid{grid-template-columns:1fr}.section{padding-top:7rem;padding-bottom:7rem}.section-number{top:3.5rem}.album-copy h2,.gallery-header h2,.biography-copy h2{font-size:clamp(3.8rem,17vw,6rem)}.gallery-header,.biography-copy{position:static}.gallery-main{grid-column:1}.biography{gap:2.5rem}.contact{gap:3rem}.contact-copy h2{font-size:clamp(4rem,20vw,6.5rem)}.contact-copy h2.contact-wordmark{font-size:clamp(3.6rem,17vw,6rem)}.manifesto{text-align:left}.epk-shell h1{font-size:clamp(3.8rem,17vw,6rem)}.epk-grid{margin-top:3rem}}
@media (max-width:800px){.manifesto-image{width:100%;margin-top:3rem}}
@media (max-width:800px){.hero-figure{aspect-ratio:4/3}.hero-figure img{transform:translateY(2%) scale(1.18);transform-origin:center 48%}}
.golden-field{position:absolute;left:-3.5vw;top:36px;width:50%;height:calc(100% - 82px);z-index:0;pointer-events:none;transform:scaleX(-1)}.golden-field g{fill:none}.golden-spiral{stroke:rgba(146,31,27,.1);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}@media (max-width:800px){.golden-field{left:0;top:20px;width:100%;height:29rem;transform:translateX(18%) scaleX(-1)}.golden-spiral{stroke:rgba(146,31,27,.11)}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
@media (min-width:801px){.golden-field{top:12px}}
.wp-page-shell{max-width:900px;margin:0 auto;padding:clamp(3rem,8vw,7rem) var(--pad)}.wp-page-shell h1{font-size:clamp(2.5rem,6vw,5rem);line-height:1;margin:2rem 0}.wp-page-shell a{text-decoration:underline;text-underline-offset:.2em}.admin-bar .site-header{top:32px}@media (max-width:782px){.admin-bar .site-header{top:46px}}

/* Luminous light edition */
:root{--ink:#17243a;--paper:#f4f3ee;--red:#7f304b;--line:rgba(39,66,94,.24);--muted:#526176}
html{background:#eaf0f3}
body{background:transparent;color:var(--ink);position:relative;isolation:isolate;min-height:100vh}
body:before{content:"";position:fixed;inset:0;z-index:-2;background:#eaf0f3 url("assets/luminous-horizon-desktop.webp") center/cover no-repeat}
body:after{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(250,248,239,.75) 0%,rgba(244,247,246,.42) 47%,rgba(238,244,247,.1) 100%);pointer-events:none}
.site-header{position:absolute;color:var(--ink);border-color:var(--line);background:linear-gradient(180deg,rgba(248,248,243,.88),rgba(248,248,243,.35));backdrop-filter:blur(9px)}
.brand-logo{filter:none}
.site-header nav a:after{background:var(--red)}
.hero{background:linear-gradient(90deg,rgba(251,249,241,.68) 0%,rgba(248,249,245,.26) 54%,rgba(248,249,245,0) 100%)}
.golden-field{display:none}
.hero h1,.hero h1 span:last-child,.contact-copy h2.contact-wordmark,.contact-copy h2.contact-wordmark span{color:var(--ink);text-shadow:0 3px 26px rgba(255,255,255,.62)}
.eyebrow{color:var(--red);text-shadow:0 1px 12px rgba(255,255,255,.65)}
.hero-line{color:#24324a;text-shadow:0 2px 14px rgba(255,255,255,.86)}
.button{border-color:rgba(23,36,58,.72);color:var(--ink);background:rgba(250,249,244,.56);backdrop-filter:blur(8px)}
.button-dark{background:#3b3b70;color:#fffaf0;border-color:#3b3b70;box-shadow:0 12px 32px rgba(59,59,112,.22)}
.button:hover{background:var(--red);border-color:var(--red);color:#fffaf0}
.hero-figure{width:97%;height:calc(100svh - 101px);margin:0 0 .65rem;justify-self:center;border:1px solid rgba(69,100,128,.3);border-radius:8px;box-shadow:0 0 75px rgba(255,255,255,.7),0 24px 60px rgba(52,73,99,.18);background:rgba(250,249,245,.36)}
.hero-figure:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(153,177,199,.08));pointer-events:none}
.hero-figure img{filter:grayscale(1) contrast(1.04) sepia(.025) hue-rotate(170deg)}
.scroll-cue span{color:var(--red)}
.section{margin:clamp(2rem,5vw,5rem) auto;border:1px solid var(--line);background:linear-gradient(145deg,rgba(252,250,243,.83),rgba(231,240,244,.65));box-shadow:0 30px 85px rgba(55,76,101,.15);backdrop-filter:blur(12px)}
.section-number{border-color:rgba(23,36,58,.62);color:var(--muted)}
.section h2{color:var(--ink);text-shadow:0 3px 20px rgba(255,255,255,.72)}
.album-art{border-radius:8px;border:1px solid rgba(82,107,133,.32);box-shadow:0 0 65px rgba(255,255,255,.75),0 22px 50px rgba(71,91,117,.15);background:rgba(255,255,255,.76)}
.album-copy>p:not(.eyebrow),.section-blurb,.biography-copy>p:last-child,.contact-text{color:var(--muted)}
.spotify-player iframe{box-shadow:0 18px 42px rgba(45,64,89,.2)}
.platforms a:hover,.contact-links a:hover,.linklike:hover{color:var(--red)}
.platform-arrow{display:inline-block;margin-left:.28em;font-size:.9em;font-weight:400;letter-spacing:0;opacity:.62;transform:translateY(-.03em)}
.video-showcase{display:block}.video-copy{width:min(100%,1120px);margin:0 auto}.video-copy .eyebrow{margin-bottom:clamp(2rem,3.5vw,3.25rem)}.video-frame{position:relative;width:min(100%,1120px);margin:0 auto;aspect-ratio:16/9;overflow:hidden;border:1px solid rgba(70,98,126,.3);border-radius:8px;background:#17243a;box-shadow:0 22px 58px rgba(49,68,92,.2)}.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.video-actions{width:min(100%,1120px);margin:1.5rem auto 0;text-align:right}.video-link{display:inline-flex;align-items:center;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;transition:color .2s}.video-link:hover{color:var(--red)}
.manifesto{color:var(--ink);margin:clamp(2rem,5vw,5rem) 0;background:linear-gradient(135deg,rgba(220,230,239,.88),rgba(244,235,239,.72));border-top:1px solid var(--line);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.manifesto em{color:var(--red)}
.manifesto-image,.gallery-main,.biography-image{overflow:hidden;border:1px solid rgba(70,98,126,.3);border-radius:8px;box-shadow:0 22px 58px rgba(49,68,92,.18)}
.manifesto-image img,.gallery-main img,.biography-image img{filter:grayscale(1) contrast(1.04) sepia(.02) hue-rotate(170deg)}
.biography,.contact{border-color:var(--line)}
.contact-links{border-color:rgba(23,36,58,.64)}
.contact-links a,.linklike{border-color:var(--line)}
.contact-text{max-width:34rem;margin-top:2rem;font-size:1.08rem}
footer{color:var(--muted);border-color:var(--line);background:rgba(245,247,244,.7);backdrop-filter:blur(9px)}
.wp-page-shell{min-height:100vh;color:var(--ink);background:rgba(250,249,244,.8);backdrop-filter:blur(10px)}
.note{background:#18263d;color:#f8f4e9}

@media (min-width:801px){
  .hero-figure{width:96%;justify-self:end}
}

@media (max-width:800px){
  body:before{background-image:url("assets/luminous-horizon-mobile.webp");background-position:center top}
  body:after{background:linear-gradient(180deg,rgba(250,249,243,.6),rgba(240,245,246,.38) 48%,rgba(242,245,244,.65))}
  .site-header{background:rgba(248,248,244,.82);backdrop-filter:blur(12px)}
  .site-header nav{background:rgba(246,247,243,.97);border-color:var(--line)}
  .hero{background:linear-gradient(180deg,rgba(251,249,242,.48),rgba(241,246,246,.62))}
  .hero-copy{padding-top:2.2rem}
  .hero-figure{width:calc(100% + var(--pad));height:auto;min-height:0;margin:0 calc(-.5 * var(--pad)) .5rem;aspect-ratio:4/3;border-radius:6px}
  .section{margin:1.25rem .7rem;padding-left:1.1rem;padding-right:1.1rem;border-radius:1.2rem}
  .manifesto{margin:1.25rem 0}
  .gallery-main,.biography-image,.manifesto-image{border-radius:6px}
  .video-copy .eyebrow{margin-bottom:1.6rem}.video-frame{border-radius:6px}.video-actions{margin-top:1.15rem}
}
