/* Antonio Sacco homepage. Scoped to the front page. */
.as-home { margin:0; background:#f7f5f0; }
.as-home .as-site, .as-home .as-site * { box-sizing:border-box; }
.as-home .as-site { --plum:#1b0820; --ink:#17131a; --paper:#f7f5f0; --yellow:#ffd139; --orange:#f05a32; --pink:#dc1b79; --muted:#5d5660; --max:1230px; width:100%; overflow:hidden; background:var(--paper); color:var(--ink); font:16px/1.55 Arial,Helvetica,sans-serif; }
.as-home .as-site a { color:inherit; text-decoration:none; }
.as-home .as-site a:focus-visible, .as-home .as-site summary:focus-visible, .as-home .as-site button:focus-visible { outline:3px solid var(--yellow); outline-offset:4px; }
.as-home .as-site img { display:block; max-width:100%; }
.as-home .as-site h1,.as-home .as-site h2,.as-home .as-site h3,.as-home .as-site p { margin-top:0; }
.as-home .as-site .as-wrap { width:min(calc(100% - 56px),var(--max)); margin-inline:auto; }
.as-home .as-site .as-skip { position:absolute; left:12px; top:-100px; z-index:90; background:var(--yellow); color:#111; padding:10px 16px; }
.as-home .as-site .as-skip:focus { top:10px; }
.as-home .as-site .as-header { background:#200b24; color:#fff; position:relative; z-index:20; }
.as-home .as-site .as-header-inner { min-height:84px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.as-home .as-site .as-menu { position:relative; }
.as-home .as-site .as-menu summary { display:flex; align-items:center; gap:14px; cursor:pointer; list-style:none; padding:12px 0; font-size:.78rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.as-home .as-site .as-menu summary::-webkit-details-marker { display:none; }
.as-home .as-site .as-menu-icon { display:grid; gap:5px; width:27px; }
.as-home .as-site .as-menu-icon span { display:block; width:100%; height:2px; background:#fff; }
.as-home .as-site .as-menu-panel { position:absolute; top:calc(100% + 16px); left:0; width:min(360px,calc(100vw - 56px)); padding:17px; background:#2a102c; border:1px solid #ffffff3d; box-shadow:0 22px 45px #0008; display:grid; gap:2px; }
.as-home .as-site .as-menu-panel a { padding:10px 14px; font-size:1.05rem; font-weight:800; }
.as-home .as-site .as-menu-panel a:hover { background:#ffffff16; color:var(--yellow); }
.as-home .as-site .as-wordmark { display:grid; text-align:right; line-height:.88; transform:rotate(-2deg); text-transform:uppercase; }
.as-home .as-site .as-wordmark strong { font-size:clamp(1.18rem,2.5vw,1.85rem); font-weight:900; letter-spacing:-.06em; border:3px solid #fff; border-radius:5px; padding:8px 9px 6px; }
.as-home .as-site .as-wordmark small { justify-self:end; font-size:.61rem; letter-spacing:.12em; font-weight:800; margin-bottom:3px; }
.as-home .as-site .as-signal { background:#140719; color:#fff; border-top:1px solid #ffffff12; border-bottom:1px solid #ffffff27; overflow:hidden; }
.as-home .as-site .as-signal-inner { display:flex; align-items:center; gap:20px; min-height:43px; white-space:nowrap; font-size:.78rem; font-weight:800; letter-spacing:.035em; }
.as-home .as-site .as-signal-label { color:var(--yellow); border:1px solid #a92c7b; padding:3px 10px; border-radius:4px; }
.as-home .as-site .as-signal-list { display:flex; align-items:center; gap:18px; overflow:hidden; }
.as-home .as-site .as-signal-list b { color:var(--yellow); }
.as-home .as-site .as-hero { color:#fff; background:radial-gradient(circle at 78% 47%,rgba(199,30,100,.18),transparent 36%),radial-gradient(circle at 12% 8%,rgba(234,105,42,.10),transparent 32%),linear-gradient(118deg,#220b24 0%,#1b0924 49%,#0e1018 100%); }
.as-home .as-site .as-hero-grid { min-height:620px; display:grid; grid-template-columns:1.06fr .94fr; align-items:center; gap:24px; }
.as-home .as-site .as-hero-copy { padding:78px 0 95px; position:relative; z-index:1; }
.as-home .as-site .as-tag { display:inline-flex; border:1px solid #fac238a8; border-radius:99px; color:var(--yellow); padding:6px 13px 5px; font-size:.73rem; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.as-home .as-site h1 { margin:25px 0 22px; font-weight:900; font-size:clamp(3.7rem,7.3vw,7rem); line-height:.93; letter-spacing:-.072em; max-width:690px; color:#fff; }
.as-home .as-site h1 span { color:var(--yellow); }
.as-home .as-site .as-hero-lead { font-size:clamp(1.15rem,1.8vw,1.35rem); max-width:600px; color:#f2e8ee; }
.as-home .as-site .as-hero-desc { max-width:540px; color:#e0cbd9; margin:0 0 28px; }
.as-home .as-site .as-actions { display:flex; align-items:center; flex-wrap:wrap; gap:13px; }
.as-home .as-site .as-button { display:inline-flex; justify-content:center; align-items:center; min-height:51px; padding:12px 23px; border-radius:8px; font-weight:900; font-size:.96rem; transition:transform .2s,background .2s; text-align:center; }
.as-home .as-site .as-button:hover { transform:translateY(-2px); }
.as-home .as-site .as-button-yellow { background:var(--yellow); color:#1b1020!important; }
.as-home .as-site .as-button-yellow:hover { background:#ffe071; }
.as-home .as-site .as-button-outline { border:1px solid #ffffff9e; color:#fff!important; }
.as-home .as-site .as-button-outline:hover { background:#ffffff20; }
.as-home .as-site .as-hero-visual { min-height:620px; display:grid; place-items:center; position:relative; isolation:isolate; }
.as-home .as-site .as-hero-visual::before { content:""; position:absolute; z-index:-1; width:min(112%,620px); aspect-ratio:1; border-radius:50%; background:radial-gradient(circle at center,transparent 0 37%,#ffd13918 37.2% 37.5%,transparent 37.7% 100%),repeating-radial-gradient(circle at center,#ffffff0b 0 1px,transparent 1px 9px),radial-gradient(circle at center,#2d1b2b 0%,#17131d 54%,#0b0c13 76%); border:1px solid #ffd1395a; box-shadow:0 0 0 11px #ffd1390e,0 0 0 34px #d925720b,0 32px 80px #05020c88; }
.as-home .as-site .as-orbit { position:absolute; width:min(90%,500px); aspect-ratio:1; border-radius:50%; background:#171519; box-shadow:0 0 0 5px #ffd139,0 0 0 9px #311326,0 0 0 10px #f47b42,0 24px 70px #000b; overflow:hidden; border:0; }
.as-home .as-site .as-orbit img { width:100%; height:100%; object-fit:cover; object-position:center 25%; filter:none!important; opacity:1!important; mix-blend-mode:normal!important; }
.as-home .as-site .as-orbit-ring { position:absolute; width:min(106%,585px); aspect-ratio:1; border:1px solid #ffd13977; border-radius:50%; pointer-events:none; }
.as-home .as-site .as-hero-stamp { position:absolute; bottom:80px; right:0; z-index:2; background:#210b24e8; border:1px solid #ffffff4d; border-radius:99px; padding:10px 15px; font-size:.76rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.as-home .as-site .as-intro { background:#120c15; color:#f3e9ee; border-bottom:4px solid var(--yellow); }
.as-home .as-site .as-intro-inner { padding:30px 0; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.as-home .as-site .as-intro p { margin:0; font-size:1.14rem; max-width:770px; }
.as-home .as-site .as-intro strong,.as-home .as-site .as-text-link { color:var(--yellow); }
.as-home .as-site .as-text-link { white-space:nowrap; font-weight:900; border-bottom:2px solid currentColor; padding-bottom:3px; }
.as-home .as-site .as-section { padding:88px 0; scroll-margin-top:24px; }
.as-home .as-site .as-section-head { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:33px; }
.as-home .as-site .as-overline { color:var(--orange); font-weight:900; font-size:.79rem; letter-spacing:.15em; text-transform:uppercase; margin-bottom:10px; }
.as-home .as-site h2 { font-size:clamp(3rem,6vw,6.1rem); line-height:.88; font-weight:900; letter-spacing:-.07em; margin:0; text-transform:uppercase; }
.as-home .as-site .as-programs h2 { color:var(--orange); }
.as-home .as-site .as-section-note { color:var(--muted); max-width:330px; margin:0 0 3px; }
.as-home .as-site .as-program-list { display:grid; gap:23px; }
.as-home .as-site .as-program { --accent:var(--orange); display:grid; grid-template-columns:280px 1fr; min-height:266px; border:3px solid var(--accent); border-radius:24px; background:#fff; padding:14px; gap:31px; box-shadow:0 10px 0 #2015260a; }
.as-home .as-site .as-program[data-color="pink"] { --accent:#e31977; }
.as-home .as-site .as-program[data-color="blue"] { --accent:#3a66cc; }
.as-home .as-site .as-program[data-color="gold"] { --accent:#c39104; }
.as-home .as-site .as-program[data-color="teal"] { --accent:#168b8d; }
.as-home .as-site .as-art { border-radius:10px; min-height:235px; overflow:hidden; position:relative; background:#170b22; }
.as-home .as-site .as-art img { width:100%; height:100%; min-height:235px; object-fit:cover; }
.as-home .as-site .as-type-art { height:100%; display:flex; flex-direction:column; justify-content:space-between; padding:23px; color:#fff; }
.as-home .as-site .as-type-art small { font-size:.79rem; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.as-home .as-site .as-type-art strong { font-size:clamp(2.15rem,4vw,3.6rem); line-height:.9; letter-spacing:-.06em; font-weight:900; text-transform:uppercase; overflow-wrap:anywhere; }
.as-home .as-site .as-type-gold { background:linear-gradient(140deg,#38230b,#ed9c06); }
.as-home .as-site .as-type-blue { background:linear-gradient(140deg,#0e1839,#346bc9); }
.as-home .as-site .as-type-teal { background:linear-gradient(140deg,#082d31,#15a6a7); }
.as-home .as-site .as-type-pink { background:linear-gradient(135deg,#2b0d29,#df1c76); }
.as-home .as-site .as-program-copy { padding:17px 22px 14px 0; align-self:center; }
.as-home .as-site .as-category { color:var(--accent); font-size:.78rem; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.as-home .as-site .as-program h3 { margin:9px 0 12px; color:var(--accent); text-transform:uppercase; font-size:clamp(2rem,4vw,3.8rem); line-height:.98; font-weight:900; letter-spacing:-.055em; }
.as-home .as-site .as-program-copy p { max-width:660px; margin-bottom:12px; }
.as-home .as-site .as-program-meta { display:block; font-weight:900; }
.as-home .as-site .as-program-copy a { display:inline-block; margin-top:15px; background:var(--accent); color:#fff; border-radius:99px; padding:9px 17px; font-weight:900; font-size:.88rem; }
.as-home .as-site .as-music { background:#1d0c22; color:#fff; }
.as-home .as-site .as-music .as-overline { color:var(--yellow); }
.as-home .as-site .as-music h2 { max-width:790px; color:#fff; }
.as-home .as-site .as-music-intro { color:#decbd9; max-width:680px; font-size:1.12rem; margin:26px 0 35px; }
.as-home .as-site .as-release-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:13px; }
.as-home .as-site .as-release { min-height:230px; padding:23px; border:1px solid #ffffff55; border-radius:17px; display:flex; flex-direction:column; justify-content:space-between; background:linear-gradient(135deg,#ffffff09,#ffffff02); }
.as-home .as-site .as-release { transition:transform .2s,background .2s,border-color .2s; }
.as-home .as-site .as-release:hover { transform:translateY(-4px); background:linear-gradient(135deg,#ffffff18,#ffffff07); border-color:var(--yellow); }
.as-home .as-site .as-release-cta { color:var(--yellow); font-size:.83rem; font-weight:900; }
.as-home .as-site .as-release:nth-child(2) { border-color:#f06572; }
.as-home .as-site .as-release:nth-child(3) { border-color:#ffd139; }
.as-home .as-site .as-release:nth-child(4) { border-color:#59a7d3; }
.as-home .as-site .as-release small { color:var(--yellow); font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.as-home .as-site .as-release h3 { font-size:clamp(1.45rem,2.35vw,2.25rem); letter-spacing:-.045em; line-height:1.04; margin:0 0 10px; color:#fff; }
.as-home .as-site .as-release p { margin:0; color:#cfc0cc; font-size:.86rem; }
.as-home .as-site .as-music-actions { margin-top:28px; display:flex; flex-wrap:wrap; gap:18px; align-items:center; }
.as-home .as-site .as-music-actions a { color:var(--yellow); font-weight:900; border-bottom:2px solid var(--yellow); padding-bottom:4px; }
.as-home .as-site .as-about { background:#fff; }
.as-home .as-site .as-about-grid { display:grid; grid-template-columns:1fr .9fr; gap:80px; align-items:start; }
.as-home .as-site .as-about h2 { color:#22202a; }
.as-home .as-site .as-about-lead { font-size:clamp(1.2rem,2vw,1.6rem); font-weight:700; line-height:1.4; margin:30px 0 12px; }
.as-home .as-site .as-about-text { color:var(--muted); max-width:630px; }
.as-home .as-site .as-project-list { display:grid; gap:14px; }
.as-home .as-site .as-project { border:2px solid #221828; border-radius:17px; padding:22px 25px; }
.as-home .as-site .as-project:nth-child(2) { border-color:#dc1b79; }
.as-home .as-site .as-project strong { display:block; font-size:1.18rem; margin-bottom:7px; }
.as-home .as-site .as-project span { color:var(--muted); }
.as-home .as-site .as-project a { display:inline-block; color:#9c1758; font-weight:900; margin-top:12px; text-decoration:underline; text-underline-offset:3px; }
.as-home .as-site .as-journal { background:#faf1e3; }
.as-home .as-site .as-journal h2 { color:#1b0820; }
.as-home .as-site .as-journal-link { color:#9c1758; }
.as-home .as-site .as-journal-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.as-home .as-site .as-journal-card { display:flex; min-height:190px; flex-direction:column; justify-content:space-between; padding:22px; background:#fff; border:2px solid #231427; border-radius:16px; transition:transform .2s; }
.as-home .as-site .as-journal-card:hover { transform:translateY(-4px); }
.as-home .as-site .as-journal-card small { color:#9c1758; font-size:.75rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.as-home .as-site .as-journal-card strong { display:block; font-size:1.4rem; line-height:1.1; letter-spacing:-.035em; }
.as-home .as-site .as-journal-card span { color:#9c1758; font-weight:900; }
.as-home .as-site .as-contact { background:linear-gradient(120deg,#270e30,#670d3f); color:#fff; }
.as-home .as-site .as-contact-grid { display:flex; align-items:end; justify-content:space-between; gap:35px; }
.as-home .as-site .as-contact .as-overline { color:var(--yellow); }
.as-home .as-site .as-contact h2 { max-width:800px; color:#fff; }
.as-home .as-site .as-contact p { margin:24px 0 12px; color:#f1dce8; max-width:650px; }
.as-home .as-site .as-email { color:var(--yellow)!important; font-weight:900; font-size:clamp(1.2rem,2.5vw,2rem); overflow-wrap:anywhere; text-decoration:underline!important; text-underline-offset:5px; }
.as-home .as-site .as-copy-email { margin-left:12px; background:transparent; color:#fff; border:1px solid #ffffffa8; border-radius:7px; padding:8px 12px; font:inherit; font-size:.83rem; font-weight:800; cursor:pointer; }
.as-home .as-site .as-copy-email:hover { background:#ffffff22; }
.as-home .as-site .as-copy-status { min-height:1.5em; color:var(--yellow)!important; font-size:.86rem; margin:8px 0 0!important; }
.as-home .as-site .as-socials { display:flex; flex-wrap:wrap; gap:10px 22px; margin-top:22px; }
.as-home .as-site .as-socials a { font-weight:800; border-bottom:1px solid #ffffff8c; }
.as-home .as-site .as-socials a:hover { color:var(--yellow); }
.as-home .as-site .as-footer { background:#130717; color:#d4c9d4; padding:30px 0 110px; }
.as-home .as-site .as-footer-inner { display:flex; gap:25px; justify-content:space-between; flex-wrap:wrap; font-size:.82rem; }
.as-home .as-site .as-footer-inner a { text-decoration:underline; text-underline-offset:3px; }
.as-home .as-site .as-dock { position:fixed; bottom:18px; left:50%; transform:translateX(-50%); z-index:30; width:min(calc(100% - 32px),670px); min-height:75px; border-radius:20px; display:flex; align-items:center; gap:14px; padding:9px 15px 9px 9px; background:linear-gradient(100deg,#b71b6b,#8d1267); color:#fff; border:1px solid #f172b5; box-shadow:0 15px 45px #12051783; }
.as-home .as-site .as-dock-cover { width:55px; height:55px; flex:none; border-radius:12px; overflow:hidden; background:#1a0a1c; }
.as-home .as-site .as-dock-cover img { width:100%; height:100%; object-fit:cover; }
.as-home .as-site .as-dock-copy { min-width:0; flex:1; line-height:1.2; }
.as-home .as-site .as-dock-copy small { display:block; color:#ffe099; font-size:.68rem; font-weight:900; letter-spacing:.13em; text-transform:uppercase; margin-bottom:5px; }
.as-home .as-site .as-dock-copy strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.93rem; }
.as-home .as-site .as-dock-play { display:inline-flex; align-items:center; justify-content:center; min-height:43px; padding:0 17px; border-radius:99px; background:var(--yellow); color:#1b0b20!important; font-weight:900; font-size:.84rem; white-space:nowrap; }
@media(max-width:850px) { .as-home .as-site .as-hero-grid { grid-template-columns:1fr .8fr; min-height:570px; } .as-home .as-site .as-hero-visual { min-height:570px; } .as-home .as-site .as-orbit { width:100%; } .as-home .as-site .as-orbit-ring { width:105%; } .as-home .as-site .as-hero-stamp { right:-8px; bottom:95px; } .as-home .as-site .as-release-grid { grid-template-columns:repeat(2,1fr); } .as-home .as-site .as-program { grid-template-columns:230px 1fr; gap:23px; } .as-home .as-site .as-about-grid { gap:35px; } }
@media(max-width:650px) { .as-home .as-site .as-wrap { width:min(calc(100% - 34px),var(--max)); } .as-home .as-site .as-header-inner { min-height:71px; } .as-home .as-site .as-wordmark strong { border-width:2px; } .as-home .as-site .as-signal-inner { min-height:38px; font-size:.72rem; } .as-home .as-site .as-signal-list { gap:12px; } .as-home .as-site .as-hero-grid { display:flex; flex-direction:column; gap:0; min-height:0; } .as-home .as-site .as-hero-copy { padding:56px 0 27px; } .as-home .as-site h1 { font-size:clamp(3.55rem,14vw,5.5rem); margin:22px 0; } .as-home .as-site .as-hero-visual { min-height:0; height:370px; align-self:stretch; } .as-home .as-site .as-orbit { width:min(330px,85vw); } .as-home .as-site .as-orbit-ring { width:min(350px,91vw); } .as-home .as-site .as-hero-stamp { right:3%; bottom:18px; font-size:.68rem; } .as-home .as-site .as-intro-inner { align-items:start; flex-direction:column; gap:12px; } .as-home .as-site .as-section { padding:66px 0; } .as-home .as-site .as-section-head { align-items:start; flex-direction:column; } .as-home .as-site h2 { font-size:clamp(2.9rem,12vw,4.4rem); } .as-home .as-site .as-program { display:block; padding:11px; border-radius:19px; } .as-home .as-site .as-art { min-height:0; aspect-ratio:16/9; } .as-home .as-site .as-art img { min-height:0; aspect-ratio:16/9; } .as-home .as-site .as-type-art { min-height:100%; } .as-home .as-site .as-type-art strong { font-size:2.6rem; } .as-home .as-site .as-program-copy { padding:24px 11px 15px; } .as-home .as-site .as-program h3 { font-size:2.5rem; } .as-home .as-site .as-release-grid,.as-home .as-site .as-about-grid,.as-home .as-site .as-journal-grid { grid-template-columns:1fr; } .as-home .as-site .as-release { min-height:175px; } .as-home .as-site .as-contact-grid { display:block; } .as-home .as-site .as-contact-grid .as-button { margin-top:25px; } .as-home .as-site .as-dock { bottom:10px; width:calc(100% - 20px); border-radius:15px; min-height:64px; padding:7px 9px; gap:9px; } .as-home .as-site .as-dock-cover { width:46px; height:46px; } .as-home .as-site .as-dock-play { min-height:39px; padding:0 12px; } }
@media(prefers-reduced-motion:reduce) { .as-home .as-site .as-button { transition:none; } .as-home .as-site .as-journal-card { transition:none; } }
