@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');
:root{color-scheme:dark;--background:#090c10;--surface:#14191e;--panel:#1a2027;--line:rgba(255,255,255,.14);--text:#f0f1ee;--muted:#a9b4bd;--accent:#d6b984;--accent2:#e9d9be;--mark:rgba(214,185,132,.15)}
:root[data-theme="birthday"]{--background:#070613;--surface:#14102a;--panel:#22143c;--line:rgba(194,161,255,.26);--text:#faf7ff;--muted:#c4b9de;--accent:#c3a3ff;--accent2:#f1b3ed;--mark:rgba(116,65,226,.3);--tone1:#4f2792;--tone2:#16153e;}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:var(--background);color:var(--text);font-family:'DM Sans',Arial,sans-serif;line-height:1.64;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}a:hover{color:var(--accent2)}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button,input{font:inherit}.skip{position:absolute;left:1rem;top:-5rem;z-index:99;background:var(--accent);color:#111;padding:.5rem 1rem}.skip:focus{top:1rem}
.topbar{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--background) 94%,transparent);border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}.topbar-inner{max-width:1440px;margin:auto;padding:16px clamp(20px,4vw,70px);display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font:800 clamp(17px,2vw,22px)/1.1 'Manrope',sans-serif;letter-spacing:-.065em}.brand span{display:block;font-size:9px;letter-spacing:.24em;font-weight:600;color:var(--accent);margin-top:7px}.nav{display:flex;align-items:center;gap:clamp(12px,2.5vw,34px);font-size:12px;font-weight:700;letter-spacing:.04em}.nav a:last-child{border:1px solid var(--line);border-radius:30px;padding:9px 14px}.wrap{max-width:1440px;margin:auto;padding-left:clamp(20px,4vw,70px);padding-right:clamp(20px,4vw,70px)}
.hero{min-height:min(750px,90vh);position:relative;isolation:isolate;display:flex;align-items:center;overflow:hidden;border-bottom:1px solid var(--line)}.hero:before{content:"";position:absolute;z-index:-2;inset:-30% -20%;background:radial-gradient(ellipse at 80% 40%,var(--mark),transparent 40%),radial-gradient(ellipse at 65% 70%,rgba(126,130,170,.1),transparent 45%);transform:rotate(-10deg)}.hero:after{content:"";position:absolute;z-index:-1;right:-10%;top:15%;width:min(70vw,840px);aspect-ratio:1;border-radius:50%;border:1px solid var(--line);box-shadow:0 0 0 80px rgba(255,255,255,.018),0 0 0 160px rgba(255,255,255,.012);pointer-events:none}.hero-content{position:relative;padding-top:100px;padding-bottom:110px;max-width:1440px;width:100%}.eyebrow{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--accent);font-weight:700}.hero h1{font:700 clamp(56px,7.8vw,122px)/.99 'Manrope',sans-serif;letter-spacing:-.08em;max-width:1200px;margin:26px 0 35px}.hero h1 em{font:italic 500 1em 'Playfair Display',Georgia,serif;letter-spacing:-.065em;color:var(--accent2)}.hero .lede{font-size:clamp(17px,1.6vw,23px);max-width:670px;color:var(--muted);line-height:1.65}.buttons{display:flex;flex-wrap:wrap;gap:14px;margin-top:38px}.button{display:inline-flex;gap:10px;align-items:center;justify-content:center;border-radius:4px;padding:13px 19px;border:1px solid var(--line);font-size:12px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.button.primary{background:var(--accent);color:#131016;border-color:var(--accent)}.button:hover{transform:translateY(-2px);transition:transform .2s}.hero-side{position:absolute;bottom:25px;right:clamp(20px,4vw,70px);color:var(--muted);font-size:10px;letter-spacing:.15em}
.section{padding-top:clamp(72px,9vw,135px);padding-bottom:clamp(72px,9vw,135px);border-bottom:1px solid var(--line)}.section-head{display:flex;gap:22px;align-items:end;justify-content:space-between;margin-bottom:36px}.section h2{font:700 clamp(35px,4.5vw,66px)/1.1 'Manrope',sans-serif;letter-spacing:-.065em;margin:16px 0 0}.section-intro{max-width:650px;color:var(--muted);font-size:17px}.two-col{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,6vw,100px);align-items:start}.two-col p{margin:0;color:var(--muted);font-size:clamp(17px,1.7vw,21px)}.feature{padding:40px;background:linear-gradient(155deg,var(--panel),var(--surface));border:1px solid var(--line);min-height:350px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.feature:before{content:"";position:absolute;width:260px;height:260px;border:1px solid var(--line);border-radius:50%;right:-70px;top:-70px;box-shadow:0 0 0 42px rgba(255,255,255,.015)}.feature h3{font:700 clamp(33px,4vw,58px)/1.05 'Manrope',sans-serif;letter-spacing:-.06em;margin:20px 0}.feature p{font-size:14px}.feature a{align-self:start;margin-top:35px;color:var(--accent);border-bottom:1px solid var(--accent)}
.filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:15px 0 28px}.filter{background:transparent;color:var(--muted);border:1px solid var(--line);padding:10px 17px;border-radius:99px;cursor:pointer}.filter[aria-pressed="true"]{background:var(--accent);color:#110f14;border-color:var(--accent)}.search{margin-left:auto;max-width:100%;width:230px;color:var(--text);padding:10px 14px;border:1px solid var(--line);border-radius:99px;background:var(--surface)}.album-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.album{min-height:205px;background:var(--surface);padding:23px;border:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;transition:border-color .2s,transform .2s}.album:hover{border-color:var(--accent);transform:translateY(-3px)}.album[hidden]{display:none}.album span{font-size:11px;color:var(--accent);letter-spacing:.18em}.album h3{font:700 23px/1.15 'Manrope',sans-serif;letter-spacing:-.05em;margin:26px 0 10px}.album p{font-size:13px;color:var(--muted);margin:0}.result-count{font-size:13px;color:var(--muted)}
.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line)}.milestone{padding:27px;border-left:1px solid var(--line)}.milestone:last-child{border-right:1px solid var(--line)}.milestone small{color:var(--accent);font-size:11px;letter-spacing:.13em}.milestone h3{font-size:17px;margin:18px 0 12px}.milestone p{color:var(--muted);font-size:13px}
.link-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.link-list a{border:1px solid var(--line);padding:30px;background:var(--surface)}.link-list strong{display:block;font-size:17px}.link-list span{display:block;color:var(--muted);font-size:12px;margin-top:12px}.link-list a:hover{border-color:var(--accent)}footer{padding-top:45px;padding-bottom:55px;color:var(--muted);font-size:12px}.footer-grid{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}footer p{max-width:620px;margin:12px 0}
@media(max-width:960px){.album-grid{grid-template-columns:repeat(2,1fr)}.timeline{grid-template-columns:repeat(2,1fr)}.milestone:nth-child(2){border-right:1px solid var(--line)}.two-col{grid-template-columns:1fr}.link-list{grid-template-columns:1fr}.nav{gap:12px}}
@media(max-width:650px){.nav{max-width:100%;overflow-x:auto;white-space:nowrap;padding:5px 0}.nav a{flex-shrink:0}.topbar-inner{align-items:flex-start;flex-direction:column;gap:9px}.hero{min-height:570px}.hero-content{padding-top:70px;padding-bottom:65px}.hero h1{font-size:clamp(44px,12vw,72px)}.hero-side{display:none}.section-head{display:block}.filters{align-items:stretch}.search{width:100%;margin-left:0}.album-grid,.timeline{grid-template-columns:1fr}.milestone{border-right:1px solid var(--line)}.feature{padding:25px}.section{padding-top:65px;padding-bottom:65px}.album{min-height:155px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Editorial gradient refinement · artist-inspired, non-official */
:root[data-theme="birthday"] .hero{background:linear-gradient(133deg,var(--background) 7%,var(--tone2) 53%,var(--tone1) 115%)}
:root[data-theme="birthday"] .hero:before{background:radial-gradient(ellipse at 75% 35%,var(--mark),transparent 58%)}
:root[data-theme="birthday"] .feature{background:linear-gradient(150deg,var(--tone1),var(--panel) 55%,var(--background))}
:root[data-theme="birthday"] .album{background:linear-gradient(148deg,var(--surface),var(--panel))}
:root[data-theme="birthday"] .section h2{background:linear-gradient(90deg,var(--text),var(--accent2));background-clip:text;-webkit-background-clip:text;color:transparent}
:root[data-theme="birthday"] .button.primary{background:linear-gradient(108deg,var(--accent),var(--accent2));border-color:var(--accent)}
@media(max-width:650px){.topbar-inner{padding-top:14px;padding-bottom:11px}.nav{width:100%;scrollbar-width:thin}.hero h1{overflow-wrap:anywhere}}

/* Verified imagery / source cards / legal section — editorial release */
.artist-portrait-wrap{width:min(34vw,410px);float:right;margin:0 0 26px 4vw}
.artist-photo{margin:0;padding:0}
.photo-frame{border:1px solid var(--line);background:linear-gradient(145deg,var(--tone1),var(--background));padding:8px;box-shadow:0 25px 70px rgba(0,0,0,.38)}
.artist-photo img{display:block;width:100%;max-height:470px;object-fit:cover;object-position:50% 30%;filter:none;aspect-ratio:4/5}
:root[data-theme="birthday"] .artist-photo img{aspect-ratio:4/3;object-position:center}
.artist-photo figcaption{font-size:10px;line-height:1.6;color:var(--muted);padding:13px 3px;letter-spacing:.015em}
.artist-photo figcaption a,.legal-panel a{color:var(--accent2);text-decoration:underline;text-underline-offset:3px}
.source-card{position:relative;display:flex;flex-direction:column;gap:4px;min-height:162px}
.source-card .source-icon{width:26px;height:26px;color:var(--accent);margin-bottom:6px;flex:none}
.source-card strong{display:flex;align-items:center;gap:7px}
.external-icon{display:inline-block;vertical-align:middle;flex-shrink:0}
.link-list{grid-template-columns:repeat(3,minmax(0,1fr))}
.legal-panel{padding:75px 0 90px;border-bottom:1px solid var(--line)}
.legal-panel h2{font:700 clamp(30px,4.2vw,56px)/1.1 'Manrope',sans-serif;letter-spacing:-.055em;margin:20px 0 40px}
.legal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.legal-grid>div{background:var(--surface);padding:30px;border:1px solid var(--line)}
.legal-grid h3{font-size:17px;margin:0 0 12px}
.legal-grid p{font-size:13px;line-height:1.75;color:var(--muted);margin:0}
.footer-nav{display:flex;flex-wrap:wrap;gap:16px;margin:24px 0;border-block:1px solid var(--line);padding:18px 0}
.footer-nav a{font-size:12px;color:var(--accent2)}
.hero-content:after{content:"";display:block;clear:both}
@media(max-width:960px){.artist-portrait-wrap{width:40vw;margin-left:25px}.link-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.artist-portrait-wrap{float:none;width:100%;max-width:420px;margin:0 0 32px}.artist-photo img{max-height:370px}.hero-content{display:flex;flex-direction:column}.hero-content .artist-portrait-wrap{order:0}.hero-content .eyebrow{order:-1}.hero-content h1{order:1;margin:15px 0 20px}.hero-content .lede{order:2}.hero-content .buttons{order:3}.link-list,.legal-grid{grid-template-columns:1fr}.legal-panel{padding:55px 0}.legal-grid>div{padding:22px}}
