/* Tokens: /brand.css — radical editorial / metallic layout */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:400;letter-spacing:-.01em}
button,a{font:inherit}
button{color:inherit}

.site-header{
  height:92px;display:flex;align-items:center;padding:0 4vw;
  border-bottom:1px solid transparent;position:sticky;top:0;
  background:linear-gradient(to bottom,rgba(8,7,6,.92),rgba(8,7,6,.55));
  backdrop-filter:blur(20px);z-index:20;
  transition:border-color .35s,background .35s
}
.brand img{width:248px;display:block;filter:drop-shadow(0 2px 18px rgba(0,0,0,.35))}
.site-header nav{margin-left:auto;display:flex;gap:32px}
.site-header nav a,.site-header a{color:inherit;text-decoration:none;font-size:11px}
.site-header nav a{letter-spacing:.14em;text-transform:uppercase;opacity:.72;transition:opacity .25s,color .25s}
.site-header nav a:hover{opacity:1;color:var(--champagne)}
.menu-button{display:none;background:none;border:0}

/* —— Hero full-bleed —— */
.hero{
  position:relative;min-height:calc(100vh - 92px);
  display:flex;align-items:flex-end;padding:0 4vw 9vw;overflow:hidden
}
.hero-media{position:absolute;inset:0;overflow:hidden}
.hero-video{
  width:100%;height:100%;object-fit:cover;
  transform:scale(1.08);animation:fc-ken 32s ease-in-out infinite alternate;
  filter:saturate(.68) contrast(1.12) brightness(.68)
}
.hero-veil{position:absolute;inset:0;background:var(--fc-hero-veil);pointer-events:none}
.hero-veil:after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(240,226,196,.35),transparent)
}
.hero-copy{position:relative;z-index:2;max-width:min(740px,94vw);padding-top:14vw}
.eyebrow{
  text-transform:uppercase;letter-spacing:var(--fc-tracking-ui,.14em);
  font-size:10px;font-weight:500;margin:0 0 22px;color:var(--champagne);
  opacity:.9
}
.hero h1,.manifesto h2,.section-heading h2,.method h2,.contact h2{
  font-family:var(--serif);font-weight:400;line-height:.86;margin:0;
  letter-spacing:var(--fc-tracking-display,-.05em)
}
.hero h1{
  font-size:clamp(54px,8.6vw,124px);color:var(--ink);
  text-shadow:0 18px 60px rgba(0,0,0,.35)
}
.hero h1 em,.contact h2 em,.ibiza-title h2 em{
  font-weight:400;font-style:italic;
  background:var(--fc-metal-shine,var(--fc-metal,var(--gold)));
  background-size:220% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;
  animation:fc-metal-sweep 9s ease-in-out infinite
}
.hero-lead{
  font-size:16px;font-weight:300;line-height:1.7;max-width:460px;
  margin:26px 0 34px;color:rgba(243,238,230,.74);letter-spacing:-.005em
}
.hero-actions,.contact-actions{display:flex;gap:14px;flex-wrap:wrap}
.hero-copy{opacity:0;transform:translateY(22px);animation:fc-hero-in 1s cubic-bezier(.22,1,.36,1) .06s forwards}
.hero-actions{opacity:0;transform:translateY(18px);animation:fc-hero-in 1s cubic-bezier(.22,1,.36,1) .28s forwards}

.button{
  border:1px solid rgba(240,226,196,.32);padding:15px 22px;
  display:inline-flex;align-items:center;justify-content:space-between;gap:36px;
  text-decoration:none;cursor:pointer;font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  transition:background .35s,border-color .35s,color .35s,box-shadow .35s,transform .35s;color:var(--ink)
}
.button span{opacity:.7;transition:opacity .25s,transform .25s}
.button:hover{transform:translateY(-1px)}
.button:hover span{opacity:1;transform:translateX(2px)}
.button:hover{background:var(--gold);border-color:var(--gold);color:var(--fc-accent-contrast);box-shadow:0 0 40px rgba(212,184,122,.24)}
.button-dark{
  background:var(--fc-metal-shine,var(--fc-metal,var(--gold)));
  background-size:200% 100%;
  color:var(--fc-accent-contrast);border-color:transparent;
  box-shadow:0 12px 44px rgba(212,184,122,.2);
  animation:fc-metal-sweep 8s ease-in-out infinite
}
.button-dark:hover{animation:none;background:var(--gold)}
.button-line{background:rgba(8,7,6,.28);color:var(--ink);backdrop-filter:blur(10px);border-color:rgba(240,226,196,.4)}
.button-light{background:var(--surface);color:var(--ink);border-color:var(--line)}
.neon-button{
  color:var(--fc-accent-contrast);
  background:var(--fc-metal-shine,var(--fc-metal,var(--gold)));
  background-size:200% 100%;
  border-color:transparent;
  box-shadow:0 0 44px rgba(212,184,122,.22);
  animation:fc-metal-sweep 8s ease-in-out infinite
}

.manifesto{padding:16vw 4vw;border-top:1px solid var(--line);position:relative}
.manifesto:before{
  content:"";position:absolute;left:4vw;top:16vw;bottom:16vw;width:1px;
  background:linear-gradient(to bottom,transparent,rgba(212,184,122,.45),transparent)
}
.manifesto>p{
  font-size:12px;margin:0 0 40px 28px;color:var(--champagne);
  letter-spacing:.12em;text-transform:uppercase;font-weight:500
}
.manifesto h2{font-size:clamp(40px,6.4vw,100px);max-width:1140px;margin-left:28px;line-height:.88}

.section-heading{display:grid;grid-template-columns:1fr 2fr 1fr;gap:4vw;margin-bottom:6vw}
.section-heading h2{font-size:clamp(42px,5vw,76px)}
.section-heading>p:last-child{line-height:1.6;margin:0;color:var(--fc-muted)}

/* Artists */
.artists{padding:10vw 4vw;background:#070706;color:var(--white);position:relative;overflow:hidden}
.artists:before{content:"";position:absolute;width:48vw;height:48vw;border-radius:50%;background:radial-gradient(circle,var(--fc-glow),transparent 65%);right:-16vw;top:-22vw}
.artists .section-heading{position:relative}
.artists .section-heading>p:last-child{color:#aaa39a}
.artist-list{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;position:relative}
.artist-card{min-height:640px;color:inherit;text-decoration:none;position:relative;overflow:hidden;border:1px solid rgba(212,184,122,.2);display:flex;flex-direction:column;justify-content:flex-end;background:#0e0d0b}
.artist-visual{position:absolute;inset:0}
.artist-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 28%,rgba(0,0,0,.92))}
.artist-visual img{width:100%;height:100%;object-fit:cover;filter:saturate(.7) contrast(1.1);transition:transform .7s,filter .7s}
.artist-card:hover .artist-visual img{transform:scale(1.04);filter:saturate(1) contrast(1.1)}
.artist-card-copy{position:relative;z-index:2;padding:36px}
.artist-card-copy>span{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:var(--champagne)}
.artist-card h3{font:400 clamp(42px,5vw,74px)/.95 var(--serif);margin:12px 0;letter-spacing:var(--fc-tracking-display,-.04em)}
.artist-card p{color:#bbb;margin:0 0 26px}
.artist-card strong{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.22);padding-top:16px;text-transform:uppercase;letter-spacing:.12em;font-size:10px}
.artist-card strong i{font-style:normal;color:var(--gold);font-size:18px}
.artist-typographic{padding:60px 30px;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 70% 30%,rgba(212,184,122,.22) 0,#1a1712 38%,#090909 75%)}
.artist-typographic span{font:400 clamp(52px,6vw,88px)/.8 var(--serif);color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.6);transform:rotate(-7deg);letter-spacing:-.04em}
.artist-typographic span:nth-child(2){background:var(--fc-metal,var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-stroke:0;transform:rotate(4deg) translateX(12%)}

/* Case */
.case-study{background:#070706;color:var(--white);display:grid;grid-template-columns:1.15fr .85fr;min-height:720px}
.case-media{position:relative;min-height:620px;overflow:hidden}
.case-media video{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;filter:saturate(.72) contrast(1.08)}
.case-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 55%,#070706)}
.case-index{position:absolute;top:28px;left:28px;z-index:1;font-size:10px;letter-spacing:.18em;color:var(--champagne)}
.case-copy{padding:8vw 4vw;align-self:center}
.case-copy .eyebrow{color:var(--gold)}
.case-copy h2{font:400 clamp(44px,5.2vw,82px)/.95 var(--serif);margin:0;letter-spacing:var(--fc-tracking-display,-.045em)}
.case-copy>p:nth-of-type(2){color:#aaa39a;line-height:1.7;font-size:16px}
.case-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;border-top:1px solid #38342e;border-bottom:1px solid #38342e;margin:32px 0;padding:22px 0}
.case-facts span{font-size:11px;color:#aaa39a}
.case-facts b{display:block;color:var(--champagne);text-transform:uppercase;letter-spacing:.12em;margin-bottom:6px}

/* Ibiza */
.ibiza-call{position:relative;padding:10vw 4vw;background:#050505;color:var(--white);overflow:hidden;border-top:1px solid var(--line)}
.ibiza-glow{position:absolute;width:58vw;height:58vw;border-radius:50%;background:radial-gradient(circle,rgba(212,184,122,.2),rgba(216,198,165,.04) 32%,transparent 67%);right:-18vw;top:0}
.ibiza-header,.ibiza-title,.call-formats,.call-action{position:relative}
.ibiza-header{display:flex;justify-content:space-between;align-items:baseline;gap:20px}
.ibiza-header .eyebrow{color:var(--gold)}
.ibiza-header>span{font-size:11px;letter-spacing:.2em;color:var(--champagne)}
.ibiza-title{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:end;margin:5vw 0 7vw}
.ibiza-title h2{font:400 clamp(64px,9.5vw,148px)/.78 var(--serif);margin:0;letter-spacing:var(--fc-tracking-display,-.05em)}
.ibiza-title h2 em{text-shadow:0 0 40px rgba(212,184,122,.25)}
.ibiza-title p{font-size:17px;line-height:1.7;color:#aaa39a}
.call-formats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #39352f}
.call-formats article{padding:32px 32px 42px 0;border-bottom:1px solid #39352f}
.call-formats article+article{padding-left:32px;border-left:1px solid #39352f}
.call-formats span{font-size:10px;color:var(--gold)}
.call-formats h3{font:400 30px var(--serif);margin:22px 0 12px;letter-spacing:-.03em}
.call-formats p{color:#aaa39a;line-height:1.6}
.format-price{
  display:block;font:400 22px var(--serif);margin:-2px 0 14px;
  background:var(--fc-metal-shine,var(--fc-metal,var(--gold)));
  background-size:200% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;
  animation:fc-metal-sweep 10s ease-in-out infinite
}
.call-formats article{transition:background .35s}
.call-formats article:hover{background:rgba(212,184,122,.04)}
.call-action{display:flex;align-items:center;justify-content:space-between;margin-top:36px;gap:24px}
.call-action p{font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:var(--champagne)}

/* Services editorial index */
.services{background:var(--surface);padding:10vw 4vw}
.service-list{border-top:1px solid var(--line)}
.service-list article{
  display:grid;grid-template-columns:64px 1fr 52px;align-items:center;
  padding:30px 0;border-bottom:1px solid var(--line);
  transition:padding .35s,background .35s,border-color .35s
}
.service-list article:hover{
  padding-left:18px;
  background:linear-gradient(90deg,rgba(212,184,122,.07),transparent 55%);
  border-bottom-color:rgba(212,184,122,.28)
}
.service-list article>span{font-size:11px;color:var(--champagne);letter-spacing:.1em}
.service-list h3{font-family:var(--serif);font-size:clamp(26px,3vw,44px);font-weight:400;margin:0 0 6px;letter-spacing:var(--fc-tracking-display,-.04em);transition:color .3s}
.service-list article:hover h3{color:var(--champagne)}
.service-list p{margin:0;max-width:680px;color:var(--fc-muted);line-height:1.5;font-weight:300}
.service-list button{border:1px solid var(--gold);background:none;width:46px;height:46px;border-radius:50%;cursor:pointer;font-size:18px;color:var(--gold);transition:background .25s,color .25s,box-shadow .25s,transform .25s}
.service-list button:hover{background:var(--gold);color:var(--fc-accent-contrast);box-shadow:0 0 24px rgba(212,184,122,.3);transform:scale(1.04)}

.method{padding:10vw 4vw;display:grid;grid-template-columns:1fr 1.15fr;gap:10vw}
.method h2{font-size:clamp(44px,5vw,78px)}
.method-intro>p:last-child{line-height:1.7;max-width:500px;margin-top:28px;color:var(--fc-muted);font-weight:300}
.method ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.method li{display:grid;grid-template-columns:56px 1fr;padding:26px 0;border-bottom:1px solid var(--line);transition:padding .3s}
.method li:hover{padding-left:10px}
.method li span{font-size:11px;color:var(--champagne)}
.method li strong{font-family:var(--serif);font-size:30px;font-weight:400;letter-spacing:-.03em}
.method li p{margin:6px 0 0;color:var(--fc-muted);font-weight:300}

.contact{
  padding:14vw 4vw 9vw;text-align:center;position:relative;
  background:
    radial-gradient(ellipse at 50% 0%,rgba(212,184,122,.1),transparent 55%),
    var(--paper)
}
.contact h2{font-size:clamp(56px,9vw,128px)}
.contact-audience{max-width:540px;line-height:1.7;margin:28px auto 14px;color:var(--champagne);font-size:15px;font-weight:300}
.contact>p:not(.eyebrow):not(.contact-audience){max-width:520px;line-height:1.65;margin:0 auto 40px;color:var(--fc-muted);font-weight:300}
.contact-actions{justify-content:center;margin-bottom:8px}
.contact-direct{display:flex;justify-content:center;gap:32px;margin-top:7vw;border-top:1px solid var(--line);padding-top:28px;flex-wrap:wrap}
.contact-direct a{color:inherit;font-size:12px;letter-spacing:.08em;text-transform:uppercase;opacity:.75;transition:opacity .25s,color .25s}
.contact-direct a:hover{opacity:1;color:var(--champagne)}

.newsletter{padding:7vw 4vw;background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:end}
.newsletter h2{font:400 clamp(42px,5vw,72px)/.92 var(--serif);margin:0;color:var(--ink);letter-spacing:var(--fc-tracking-display,-.045em)}
.newsletter form{padding:0;gap:12px;display:grid}
.newsletter form>div{display:flex;border-bottom:1px solid var(--line)}
.newsletter input[type=email]{border:0;padding:18px 0;color:var(--ink);background:transparent;width:100%}
.newsletter button{border:0;background:transparent;text-transform:uppercase;font-size:11px;letter-spacing:.1em;cursor:pointer;color:var(--gold);white-space:nowrap}
.newsletter-consent{display:grid;grid-template-columns:18px 1fr;align-items:center;text-transform:none;letter-spacing:0}
.newsletter-consent input{width:auto}
.newsletter-consent span{opacity:.7;font-size:13px}

footer{padding:28px 4vw;display:grid;grid-template-columns:1fr 1fr auto auto;align-items:center;gap:28px;border-top:1px solid var(--line);font-size:10px;text-transform:uppercase;letter-spacing:.12em}
footer img{width:180px}
footer a{color:inherit}

dialog{width:min(720px,calc(100% - 32px));border:1px solid rgba(212,184,122,.35);padding:0;background:var(--surface);color:var(--ink);box-shadow:0 30px 90px rgba(0,0,0,.55)}
dialog::backdrop{background:rgba(0,0,0,.78);backdrop-filter:blur(7px)}
.dialog-close{position:absolute;right:20px;top:18px;border:0;background:none;font-size:28px;cursor:pointer;color:var(--ink)}
.dialog-head{padding:55px 55px 25px}
.dialog-head h2{font-family:var(--serif);font-size:46px;font-weight:400;margin:0 0 20px;letter-spacing:-.04em}
.dialog-head>p:last-child{line-height:1.5;color:var(--fc-muted)}
form{padding:0 55px 55px;display:grid;gap:18px}
label{display:grid;gap:7px;font-size:11px;text-transform:uppercase;letter-spacing:.1em}
label span{opacity:.5}
input,textarea{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:11px 0;font:16px var(--sans);border-radius:0;color:var(--ink)}
textarea{border:1px solid var(--line);padding:14px;resize:vertical}
input:focus,textarea:focus{outline:2px solid var(--gold);outline-offset:2px}
#form-status,#newsletter-status{line-height:1.5;margin:0;font-size:13px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}

.privacy-check{display:grid;grid-template-columns:20px 1fr;align-items:start;text-transform:none;letter-spacing:0;line-height:1.45}
.privacy-check input{width:16px;margin-top:2px}
.privacy-check span{opacity:.72}
.ibiza-dialog{width:min(1040px,calc(100% - 28px));max-height:94vh;background:var(--surface);color:var(--ink);border-color:rgba(212,184,122,.35)}
.ibiza-dialog .dialog-head{padding:60px 65px 25px;background:radial-gradient(circle at 90% 10%,rgba(212,184,122,.16),transparent 38%)}
.ibiza-dialog .dialog-head h2{font-size:64px}
.ibiza-dialog form{padding:20px 65px 65px}
.ibiza-dialog input,.ibiza-dialog textarea{color:var(--ink);border-color:var(--line)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.rate-selector{border:0;padding:0;margin:18px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.rate-selector legend{text-transform:uppercase;letter-spacing:.12em;font-size:10px;margin-bottom:13px}
.rate-selector label{position:relative;cursor:pointer}
.rate-selector input{position:absolute;opacity:0}
.rate-selector label>span{min-height:180px;border:1px solid var(--line);padding:23px;display:flex;flex-direction:column;opacity:1;transition:.25s}
.rate-selector input:checked+span{border-color:var(--gold);background:rgba(212,184,122,.08);box-shadow:inset 0 0 35px rgba(212,184,122,.05)}
.rate-selector b{font:400 26px var(--serif);text-transform:none}
.rate-selector strong{font:400 32px var(--serif);color:var(--gold);margin:12px 0}
.rate-selector small{font-size:12px;line-height:1.5;color:var(--fc-muted);text-transform:none;letter-spacing:0}
.upload-zone{border:1px dashed rgba(216,198,165,.35);padding:28px;cursor:pointer;background:rgba(255,255,255,.03)}
.upload-zone>span{margin:5px 0 16px}
.upload-zone input{border:0;padding:0}
.upload-zone small{color:var(--gold);text-transform:none;letter-spacing:0;margin-top:10px}
.ibiza-dialog .neon-button{width:100%}
.legal-page{max-width:880px;margin:auto;padding:10vw 4vw}
.legal-page h1{font:400 clamp(58px,8vw,110px)/.9 var(--serif);margin:20px 0 60px;letter-spacing:-.045em}
.legal-page h2{font:400 34px var(--serif);margin:45px 0 12px}
.legal-page p{font-size:17px;line-height:1.75;color:var(--fc-muted)}
.legal-page .button{margin-top:45px}

@keyframes fc-hero-in{to{opacity:1;transform:none}}
@keyframes fc-ken{to{transform:scale(1.14) translate3d(-1.5%,-1%,0)}}
@keyframes fc-metal-sweep{
  0%,100%{background-position:0% 50%}
  50%{background-position:100% 50%}
}

@media(prefers-reduced-motion:reduce){
  .hero-copy,.hero-actions,.hero-video,
  .button-dark,.neon-button,.hero h1 em,.contact h2 em,.ibiza-title h2 em,.format-price{
    animation:none!important;opacity:1!important;transform:none!important
  }
}

@media(max-width:900px){
  .site-header{height:72px;padding:0 20px}
  .brand img{width:176px}
  .menu-button{display:block;margin-left:auto;color:var(--ink)}
  .site-header nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--surface);padding:24px;flex-direction:column;gap:20px;border-bottom:1px solid var(--line)}
  .site-header nav.open{display:flex}
  .hero{min-height:88vh;padding:100px 20px 56px;align-items:flex-end}
  .hero h1{font-size:clamp(44px,11vw,64px)}
  .manifesto:before{display:none}
  .manifesto>p,.manifesto h2{margin-left:0}
  .section-heading,.method,.ibiza-title,.newsletter,.artist-list,.case-study{grid-template-columns:1fr}
  .section-heading{gap:20px}
  .services,.method,.manifesto,.contact,.artists,.ibiza-call{padding:90px 20px}
  .service-list article{grid-template-columns:40px 1fr 40px}
  .case-media{min-height:420px}
  .case-media:after{background:linear-gradient(transparent 60%,#070706)}
  .case-copy{padding:60px 20px}
  .call-formats{grid-template-columns:1fr}
  .call-formats article+article{padding-left:0;border-left:0}
  .call-action{flex-direction:column;align-items:flex-start}
  .newsletter{padding:80px 20px}
  footer{grid-template-columns:1fr 1fr;padding:28px 20px}
  footer p{grid-column:1/-1;grid-row:2}
  .dialog-head,form{padding-left:24px;padding-right:24px}
  .dialog-head h2{font-size:36px}
  .ibiza-dialog .dialog-head,.ibiza-dialog form{padding-left:22px;padding-right:22px}
  .ibiza-dialog .dialog-head h2{font-size:46px}
  .form-grid,.rate-selector{grid-template-columns:1fr}
  .rate-selector label>span{min-height:0}
}

@media(max-width:520px){
  .hero-lead{font-size:16px}
  .hero-actions,.contact-actions{display:grid}
  .button{width:100%}
  .manifesto h2{font-size:38px}
  .section-heading h2,.method h2{font-size:40px}
  .service-list article{grid-template-columns:32px 1fr}
  .service-list article>button{display:none}
  .service-list h3{font-size:26px}
  .contact h2{font-size:52px}
  .ibiza-title h2{font-size:58px}
  footer{grid-template-columns:1fr}
  footer>*{grid-column:1!important;grid-row:auto!important}
  .artist-card{min-height:520px}
}
