:root{--beige:#eee3cf;--paper:#f7efdf;--black:#0a0a0a;--burgundy:#85151A;--ink:#111;--line:rgba(10,10,10,.2);--pad:clamp(18px,3vw,52px);--max:1540px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--beige);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.45}img{max-width:100%}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid var(--burgundy);outline-offset:4px}.skip{position:absolute;left:-9999px;top:10px}.skip:focus{left:10px;z-index:100;background:var(--paper);color:var(--black);padding:10px}.container{width:min(var(--max),calc(100% - 2 * var(--pad)));margin-inline:auto}.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:14px var(--pad);background:rgba(233,223,207,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(8px)}.brand{display:flex;align-items:center;gap:12px}.brand img{width:52px;height:52px;object-fit:contain;border-radius:50%}.brand-name{font-size:13px;font-weight:900;letter-spacing:.06em}.brand-claim{font-size:10px;font-weight:800;letter-spacing:.12em;opacity:.65;margin-left:5px}.nav{display:flex;align-items:center;gap:clamp(14px,2vw,32px);font-size:11px;font-weight:900;letter-spacing:.09em}.nav a{padding:8px 0;border-bottom:2px solid transparent}.nav a:hover,.nav a.active{border-bottom-color:currentColor}.nav-fade .nav a:not(.active):not(.talk){opacity:.3}.nav .talk{color:var(--burgundy);border-bottom-color:transparent}.menu{display:none;background:none;border:0;font-size:24px;line-height:1;cursor:pointer}.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,.9fr);gap:6vw;align-items:end;padding-block:clamp(80px,9vw,150px) 70px;min-height:calc(100vh - 81px)}.hero-copy{max-width:760px}.hero-logo{width:min(240px,48vw);display:block;margin-bottom:24px}.hero-claim{margin:0 0 50px;font-size:clamp(17px,1.5vw,23px);font-weight:900;letter-spacing:.08em}.intro{max-width:690px;font-size:clamp(19px,2vw,27px);line-height:1.25;margin:0}.hero-image,.story-photo{margin:0;background:var(--black);overflow:hidden}.hero-image{min-height:58vh}.hero-image img,.story-photo img,.service-image img,.contact-cta img{display:block;width:100%;height:100%;object-fit:cover}.proofs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.proof{min-height:150px;padding:18px 14px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:clamp(10px,.85vw,14px);font-weight:900;line-height:1.08;letter-spacing:.025em;text-transform:uppercase;border-right:1px solid var(--line)}.proof:last-child{border-right:0}.proof:nth-child(2),.proof:nth-child(4){background:var(--black);color:var(--paper)}.proof:nth-child(3){background:var(--burgundy);color:var(--paper)}.story{background:var(--burgundy);color:var(--paper);padding-block:clamp(90px,11vw,170px)}.story-grid{display:grid;grid-template-columns:minmax(320px,.75fr) minmax(0,1.25fr);gap:6vw;align-items:center}.story-photo{min-height:600px}.story-copy{max-width:780px}.eyebrow{font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.story-copy h1{font-size:clamp(46px,6vw,86px);line-height:.9;letter-spacing:-.05em;margin:18px 0 32px}.story-copy p{font-size:clamp(17px,1.6vw,23px);line-height:1.32;max-width:720px}.cta-band{display:flex;justify-content:space-between;align-items:end;gap:30px;padding:clamp(70px,9vw,130px) var(--pad);background:var(--black);color:var(--paper)}.cta-band h2,.contact-cta h2{font-size:clamp(56px,8vw,120px);line-height:.85;letter-spacing:-.055em;margin:12px 0 0}.text-link{font-weight:900;letter-spacing:.1em;font-size:12px;color:var(--paper)}.inner-hero{padding-block:clamp(90px,10vw,150px) 60px}.section-title{font-size:clamp(46px,6vw,92px);line-height:.88;letter-spacing:-.055em;margin:0;text-transform:uppercase}.services{padding:0 var(--pad) 100px}.service{display:grid;grid-template-columns:1fr 1fr;min-height:560px}.service:nth-child(even){direction:rtl}.service:nth-child(even)>*{direction:ltr}.service-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(38px,6vw,90px)}.service-1 .service-copy,.service-4 .service-copy{background:var(--black);color:var(--paper)}.service-2 .service-copy{background:var(--burgundy);color:var(--paper)}.service-3 .service-copy{background:var(--paper)}.service-5 .service-copy{background:var(--black);color:var(--paper)}.service h2{font-size:clamp(30px,3vw,54px);line-height:.95;letter-spacing:-.045em;margin:14px 0 10px;white-space:nowrap}.service-claim{font-size:clamp(18px,2vw,30px);font-weight:900;line-height:1.05;white-space:nowrap}.service p{max-width:650px;font-size:18px;margin:28px 0}.service-email{font-size:12px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.service-image{min-height:560px;background:var(--black)}.refs{padding-bottom:120px}.wall{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(10px,1.5vw,24px);align-items:end;padding-top:36px}.artist{grid-column:auto!important;font-weight:900;line-height:.84;letter-spacing:-.045em;text-transform:uppercase;white-space:nowrap}.cat1{font-size:clamp(38px,4.9vw,82px)}.cat2{font-size:clamp(29px,3.5vw,58px)}.cat3{font-size:clamp(21px,2.5vw,42px)}.artist:nth-child(3n){color:var(--burgundy)}.artist:nth-child(5n){background:var(--black);color:var(--paper);padding:9px 11px}.refs-block{padding-block:70px}.refs-block.dark{background:var(--black);color:var(--paper)}.names{display:flex;flex-wrap:wrap;gap:10px 28px;align-items:baseline;padding-top:28px}.name{font-size:clamp(24px,3vw,52px);font-weight:900;letter-spacing:-.035em;line-height:1.05;text-transform:uppercase}.names .name:nth-child(3n){color:var(--burgundy)}.refs-block.dark .names .name:nth-child(3n){color:#d9b5b0}.contact-wrap{padding-block:clamp(90px,10vw,150px) 100px}.contact-grid{margin-top:65px}.contact-main{font-size:clamp(21px,2.4vw,32px);line-height:1.18}.contact-email{font-size:clamp(28px,3.5vw,52px);font-weight:900;word-break:break-word}.specialists{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;background:transparent;margin-top:90px}.specialist{background:var(--beige);padding:38px 34px 40px;border:1px solid var(--line);min-height:220px}.specialist h2{font-size:16px;letter-spacing:.13em;margin:0 0 22px}.specialist p{margin:8px 0;font-size:17px}.contact-cta{margin-top:90px;background:var(--black);color:var(--paper);padding:clamp(50px,7vw,100px);position:relative;overflow:hidden}.contact-cta img{margin-top:45px;max-height:480px;opacity:.8}.legal{max-width:980px;padding-block:clamp(90px,10vw,150px) 120px}.legal p,.legal li{font-size:18px;line-height:1.55}.legal h2{margin-top:50px;font-size:16px;letter-spacing:.12em}.footer{background:var(--black);color:var(--paper);display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:30px;align-items:end;padding:55px var(--pad);font-size:11px;font-weight:800;letter-spacing:.1em}.footer-brand{display:flex;align-items:center;gap:16px;line-height:1.6}.footer-brand img{width:64px;height:64px;border-radius:50%}.footer-links,.footer-legal{display:flex;flex-wrap:wrap;gap:12px 20px}.footer-legal{justify-self:end}.footer a:hover{color:#d9b5b0}
@media(max-width:1100px){.brand-claim{display:none}.hero{grid-template-columns:1fr;min-height:auto}.hero-image{min-height:50vh}.proofs{overflow-x:auto;grid-template-columns:repeat(5,minmax(220px,1fr))}.proof{min-height:135px}.story-grid{grid-template-columns:1fr}.story-photo{min-height:420px}.service{grid-template-columns:1fr}.service:nth-child(even){direction:ltr}.service-image{min-height:400px}.wall{grid-template-columns:repeat(6,minmax(0,1fr))}.specialists{grid-template-columns:1fr}.footer{grid-template-columns:1fr 1fr}.footer-legal{justify-self:start}}
@media(max-width:700px){.site-header{padding:10px 18px}.brand img{width:42px;height:42px}.nav{display:none;position:absolute;left:0;right:0;top:63px;flex-direction:column;align-items:stretch;gap:0;padding:10px 18px 18px;background:var(--black);color:var(--paper)}.nav.open{display:flex}.nav a{padding:13px 0}.menu{display:block}.hero{padding-block:70px 55px}.hero-logo{width:180px}.hero-claim{margin-bottom:32px}.hero-image{min-height:45vh}.proof{min-width:245px}.story{padding-block:80px}.story-photo{min-height:330px}.story-copy h1{font-size:clamp(44px,13vw,70px)}.cta-band{align-items:flex-start;flex-direction:column}.cta-band h2{font-size:clamp(52px,16vw,86px)}.inner-hero{padding-block:80px 45px}.section-title{font-size:clamp(42px,13vw,70px)}.service-copy{padding:44px 24px}.service h2,.service-claim{white-space:normal}.service h2{font-size:clamp(30px,10vw,52px)}.service-image{min-height:300px}.wall{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.artist{white-space:normal}.cat1{font-size:clamp(32px,10vw,60px)}.cat2{font-size:clamp(25px,8vw,46px)}.cat3{font-size:clamp(21px,6vw,34px)}.names{gap:10px 18px}.name{font-size:clamp(22px,7vw,40px)}.contact-email{font-size:clamp(26px,8vw,46px)}.footer{grid-template-columns:1fr;padding-block:42px}.footer-legal{justify-self:start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* V5 visual corrections */
.site-header{min-height:86px}
.brand{gap:16px;min-width:0}
.brand img{width:78px;height:78px;flex:0 0 78px}
.brand-copy{display:flex;flex-direction:column;justify-content:center;min-width:0;line-height:1.05}
.brand-name{font-size:15px;line-height:1.1}
.brand-claim{display:block;margin:5px 0 0;font-size:9px;line-height:1.1;letter-spacing:.105em;opacity:.7;white-space:nowrap}
.hero{grid-template-columns:1fr;gap:clamp(35px,5vw,75px);align-items:start;padding-block:clamp(48px,6vw,90px) 0;min-height:auto}
.hero-copy{max-width:none;width:100%}
.hero-brand{display:none}
.hero-claim{display:block;width:100%;margin:0 0 clamp(38px,5vw,72px);font-size:clamp(50px,10.6vw,180px);line-height:.82;letter-spacing:-.07em;font-weight:900;text-transform:uppercase;overflow-wrap:normal}
.intro{max-width:900px;font-size:clamp(18px,1.7vw,25px);line-height:1.3;margin:0 0 clamp(30px,4vw,55px)}
.hero-image{width:100%;height:clamp(300px,46vw,690px);min-height:0}
.proofs{grid-template-columns:repeat(5,minmax(0,1fr));margin-top:clamp(28px,4vw,55px)}
.proof{min-height:clamp(135px,13vw,205px);padding:22px 16px;font-size:clamp(11px,.9vw,15px)}
.proof:nth-child(1),.proof:nth-child(5){background:var(--burgundy);color:var(--paper)}
.proof:nth-child(2),.proof:nth-child(4){background:var(--black);color:var(--paper)}
.proof:nth-child(3){background:var(--burgundy);color:var(--paper)}
.story{margin-top:0;padding-block:clamp(75px,9vw,140px)}
.story-grid{grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr)}
.story-copy h1{font-size:clamp(50px,8.3vw,145px);line-height:.82;margin:18px 0 38px;letter-spacing:-.07em;white-space:nowrap}
.story-copy p{font-size:clamp(16px,1.35vw,21px);line-height:1.38}
/* Keep the home page free of the removed 2026-contact/CTA block. */
.cta-band{display:none}

/* Artists & References: editorial wall without collisions or overflow. */
.wall{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:row;gap:clamp(18px,2.1vw,34px) clamp(10px,1.4vw,22px);align-items:end;padding-top:42px}
.artist{min-width:0;white-space:normal;overflow-wrap:break-word;word-break:normal;display:block}
.cat1{font-size:clamp(38px,5.2vw,88px);line-height:.86}
.cat2{font-size:clamp(28px,3.5vw,58px);line-height:.9}
.cat3{font-size:clamp(21px,2.45vw,41px);line-height:.95}
/* deterministic spans give the wall an editorial rhythm on wide screens */
.artist:nth-child(4n+1){grid-column:span 4}.artist:nth-child(4n+2){grid-column:span 3}.artist:nth-child(4n+3){grid-column:span 5}.artist:nth-child(4n+4){grid-column:span 4}
.artist:nth-child(5n){background:var(--black);color:var(--paper);padding:8px 12px}
.artist:nth-child(3n){color:var(--burgundy)}
.artist:nth-child(5n){color:var(--paper)}

/* What We Do: no duplicate mini-headings; title > claim. */
.service-copy .eyebrow{display:none}
.service h2{font-size:clamp(38px,4.4vw,76px);line-height:.9;letter-spacing:-.055em;margin:0 0 12px;white-space:nowrap}
.service-claim{font-size:clamp(21px,2.15vw,36px);line-height:1.0;white-space:nowrap;letter-spacing:-.025em}
.service p{font-size:clamp(16px,1.35vw,20px);line-height:1.4;max-width:680px}

@media(max-width:1100px){
  .brand img{width:68px;height:68px;flex-basis:68px}
  .brand-name{font-size:14px}
  .brand-claim{font-size:8px}
  .hero-claim{font-size:clamp(48px,10.8vw,125px)}
  .story-grid{grid-template-columns:1fr}
  .story-copy h1{white-space:normal}
  .wall{grid-template-columns:repeat(6,minmax(0,1fr))}
  .artist:nth-child(4n+1),.artist:nth-child(4n+2),.artist:nth-child(4n+3),.artist:nth-child(4n+4){grid-column:span 2}
}
@media(max-width:700px){
  .site-header{min-height:68px;padding:7px 18px}
  .brand img{width:58px;height:58px;flex-basis:58px}
  .brand{gap:10px}
  .brand-name{font-size:12px}
  .brand-claim{font-size:7px;letter-spacing:.075em;margin-top:4px}
  .hero{padding-block:58px 0}
  .hero-claim{font-size:clamp(46px,13.2vw,86px);line-height:.84;letter-spacing:-.065em;margin-bottom:35px}
  .intro{font-size:17px}
  .hero-image{height:58vw;min-height:250px}
  .proofs{grid-template-columns:1fr;margin-top:22px}
  .proof{min-height:105px;font-size:12px;padding:20px 22px}
  .story{padding-block:70px}
  .story-copy h1{font-size:clamp(45px,13vw,78px);line-height:.86}
  .wall{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px;padding-top:30px}
  .artist:nth-child(4n+1),.artist:nth-child(4n+2),.artist:nth-child(4n+3),.artist:nth-child(4n+4){grid-column:span 1}
  .artist{overflow-wrap:anywhere}
  .cat1{font-size:clamp(31px,9.5vw,57px)}
  .cat2{font-size:clamp(25px,7.6vw,45px)}
  .cat3{font-size:clamp(20px,6vw,34px)}
  .service h2{font-size:clamp(36px,10vw,62px);white-space:nowrap}
  .service-claim{font-size:clamp(19px,5.3vw,31px);white-space:nowrap}
}


/* Final V5.1 layout refinements */
.intro-media{display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:clamp(30px,5vw,80px);align-items:stretch;padding-block:clamp(45px,6vw,90px)}
.intro-media .intro{max-width:760px;align-self:center;margin:0}
.intro-media .intro p{margin:0;font-size:clamp(18px,1.7vw,25px);line-height:1.3}
.story-heading{padding-bottom:clamp(35px,4vw,65px)}
.story-heading h1{font-size:clamp(50px,10.2vw,170px);line-height:.8;letter-spacing:-.075em;margin:16px 0 0;white-space:nowrap}
.story-grid{grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr)}
.story-copy h1{display:none}
@media(max-width:1100px){
  .intro-media{grid-template-columns:1fr}
  .intro-media .hero-image{height:50vw;min-height:320px}
  .story-heading h1{font-size:clamp(50px,9.8vw,120px);white-space:normal}
}
@media(max-width:700px){
  .intro-media{padding-block:35px 55px}
  .intro-media .hero-image{height:60vw;min-height:250px}
  .story-heading h1{font-size:clamp(44px,13vw,78px);line-height:.84}
}


/* V5.1 final visual corrections */
:root{--header-bg:#d9ccb9}
.site-header{background:var(--header-bg);}

/* Full-width, single-line headline. Size follows viewport width. */
.hero-claim{font-size:clamp(28px,6.15vw,108px)!important;line-height:.86!important;white-space:nowrap!important;letter-spacing:-.075em!important;overflow:visible!important;margin-bottom:clamp(38px,5vw,72px)!important}

/* Proof points: deliberately three lines and more presence. */
.proofs{grid-template-columns:repeat(5,minmax(0,1fr));margin-top:clamp(28px,4vw,55px)}
.proof{min-height:clamp(175px,15vw,230px);padding:22px 14px;font-size:clamp(13px,1.02vw,17px);line-height:1.05;letter-spacing:.018em}
.proof span{display:block;text-align:center}

/* Story headline uses exactly the same responsive scale as the brand claim. */
.story-heading h1{font-size:clamp(28px,6.15vw,108px)!important;line-height:.86!important;white-space:nowrap!important;letter-spacing:-.075em!important;margin-top:16px}

/* Artists: one unified list, with the three CMS categories expressed only by styling. */
.wall{display:flex!important;flex-wrap:wrap!important;align-items:baseline!important;gap:clamp(12px,1.4vw,24px) clamp(14px,2vw,34px)!important;padding-top:42px!important}
.artist{display:inline-block!important;grid-column:auto!important;width:auto!important;max-width:100%!important;white-space:nowrap!important;line-height:.9!important;margin:0!important;overflow-wrap:normal!important}
.artist.cat1{font-size:clamp(36px,4.15vw,70px)!important;color:var(--burgundy)!important;background:transparent!important;padding:0!important}
.artist.cat2{font-size:clamp(27px,3.05vw,50px)!important;color:var(--black)!important;background:transparent!important;padding:0!important}
.artist.cat3{font-size:clamp(21px,2.25vw,38px)!important;color:var(--paper)!important;background:var(--black)!important;padding:.16em .24em!important}

/* Brands and festivals continue the same clean reference language below the artist wall. */
.refs-block,.refs-block.dark{background:transparent!important;color:var(--black)!important}
.refs-block{padding-block:clamp(55px,7vw,90px)}
.refs-block .names{gap:12px clamp(16px,2vw,34px);padding-top:24px}
.refs-block .name,.refs-block.dark .names .name{font-size:clamp(25px,3vw,50px);color:var(--black)!important;background:transparent!important;padding:0!important}

/* What We Do: title is clearly larger than its claim. */
.service h2{font-size:clamp(40px,4.2vw,72px)!important;line-height:.9!important;margin:0 0 12px!important;white-space:nowrap!important}
.service-claim{font-size:clamp(18px,1.75vw,29px)!important;line-height:1.05!important;white-space:nowrap!important}

@media(max-width:1100px){
  .hero-claim,.story-heading h1{font-size:clamp(28px,6.15vw,86px)!important}
  .wall{gap:18px 14px!important}
}
@media(max-width:700px){
  .site-header{min-height:74px;background:var(--header-bg)}
  .brand img{width:58px!important;height:58px!important;flex-basis:58px!important}
  .brand-name{font-size:13px}
  .brand-claim{font-size:8px}
  .hero-claim,.story-heading h1{font-size:clamp(28px,6.15vw,58px)!important;white-space:nowrap!important}
  .proofs{grid-template-columns:1fr;margin-top:22px}
  .proof{min-height:132px;font-size:clamp(13px,3.5vw,16px);padding:20px 18px}
  .wall{display:flex!important;gap:16px 10px!important;padding-top:30px!important}
  .artist.cat1{font-size:clamp(30px,8.7vw,48px)!important}
  .artist.cat2{font-size:clamp(23px,6.5vw,36px)!important}
  .artist.cat3{font-size:clamp(19px,5.4vw,30px)!important}
  .refs-block .name,.refs-block.dark .names .name{font-size:clamp(22px,6.5vw,38px)!important}
  .service h2{font-size:clamp(38px,9vw,58px)!important}
  .service-claim{font-size:clamp(17px,4.3vw,25px)!important;white-space:normal!important}
}


/* V5.2 requested refinements */
/* Hero and story headlines stay on one line and scale with the viewport. */
.hero-claim,.story-heading h1{
  font-size:clamp(24px,7vw,120px)!important;
  line-height:.84!important;
  white-space:nowrap!important;
  letter-spacing:-.078em!important;
}

/* Proof blocks: stronger type, with the requested three-line content. */
.proof{
  font-size:clamp(15px,1.18vw,20px)!important;
  line-height:1.02!important;
  padding-inline:12px!important;
}

/* Artists: category 1 is the most prominent; category 2 remains standard;
   category 3 is burgundy and slightly smaller. */
.artist.cat1{
  font-size:clamp(40px,4.65vw,78px)!important;
  color:var(--black)!important;
  background:linear-gradient(to bottom,transparent calc(100% - .13em),var(--black) calc(100% - .13em))!important;
  padding:0 .02em .12em!important;
}
.artist.cat2{
  font-size:clamp(30px,3.35vw,56px)!important;
  color:var(--black)!important;
  background:transparent!important;
  padding:0!important;
}
.artist.cat3{
  font-size:clamp(22px,2.45vw,40px)!important;
  color:var(--burgundy)!important;
  background:transparent!important;
  padding:0!important;
}

/* Keep the reference wall as a controlled flow instead of a grid, so names
   never collide at wide or narrow viewport sizes. */
.wall{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:baseline!important;
  gap:clamp(18px,2vw,34px) clamp(18px,2.4vw,42px)!important;
  padding-top:42px!important;
}
.artist{flex:0 0 auto!important;max-width:100%!important;white-space:nowrap!important;overflow:visible!important}

/* Brands and festivals: alternating names with and without black bars. */
.refs-block .names{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:baseline!important;
  gap:12px clamp(18px,2.2vw,36px)!important;
}
.refs-block .name{
  display:inline-block!important;
  color:var(--black)!important;
  background:transparent!important;
  padding:.04em 0!important;
}
.refs-block .name:nth-child(odd){
  background:var(--black)!important;
  color:var(--paper)!important;
  padding:.08em .16em!important;
}

@media(max-width:700px){
  .hero-claim,.story-heading h1{font-size:clamp(24px,7vw,58px)!important}
  .proof{font-size:clamp(15px,4.2vw,18px)!important;min-height:132px}
  .artist.cat1{font-size:clamp(34px,9.4vw,52px)!important}
  .artist.cat2{font-size:clamp(26px,7.3vw,40px)!important}
  .artist.cat3{font-size:clamp(20px,5.7vw,32px)!important}
  .wall{gap:18px 12px!important}
}

/* V5.5 — Category 1 reference treatment:
   solid black box with light negative/knockout-style lettering. */
.artist.cat1{
  display:inline-block!important;
  color:var(--beige)!important;
  background:var(--black)!important;
  padding:.12em .20em .14em!important;
  line-height:.86!important;
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
}


/* V5 selected reference — Variant A + true fit-to-width headlines */
:root{--header-bg:#ded0ba;--beige:#eee3cf;--paper:#f7efdf;--burgundy:#85151A}
.site-header{background:var(--header-bg)!important}
.hero-claim,.story-heading h1{
  display:block;
  width:100%;
  max-width:100%;
  margin-left:0;
  margin-right:0;
  font-size:min(6vw,108px)!important;
  line-height:.84!important;
  white-space:nowrap!important;
  overflow:visible!important;
  letter-spacing:-.075em!important;
  font-weight:900!important;
}
.proof{font-size:clamp(13px,1.05vw,17px)}

/* Brands and festivals use the same three visual models as the artist hierarchy.
   The burgundy model is NOT smaller. */
.names .name.ref-model-1{
  display:inline-block;
  background:var(--black);
  color:var(--paper);
  padding:.08em .18em .11em;
}
.names .name.ref-model-2{
  display:inline-block;
  color:var(--black)!important;
}
.names .name.ref-model-3{
  display:inline-block;
  color:var(--burgundy)!important;
}
@media(max-width:700px){
  .hero-claim,.story-heading h1{font-size:min(6vw,58px)!important}
}


/* Responsive image system — images always fill their frame without visible borders. */
figure{margin:0}
.hero-image,.story-photo,.service-image,.contact-cta{overflow:hidden}
.hero-image img,.story-photo img,.service-image img,.contact-cta img{
  display:block;
  width:100%;
  height:100%;
  min-width:100%;
  min-height:100%;
  max-width:none;
  object-fit:cover;
  object-position:center center;
}

/* Home editorial image: scales continuously with the viewport while remaining edge-to-edge in its frame. */
.intro-media .hero-image{
  width:100%;
  height:clamp(360px,42vw,760px);
  min-height:0;
}

/* Keep the original editorial composition visible as the viewport changes. */
.intro-media .hero-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}

@media(max-width:1100px){
  .intro-media .hero-image{
    height:clamp(320px,55vw,620px);
  }
  .story-photo{min-height:0;height:clamp(360px,65vw,700px)}
  .service-image{min-height:0;height:clamp(320px,55vw,650px)}
}

@media(max-width:700px){
  .intro-media .hero-image{
    height:clamp(250px,60vw,520px);
  }
  .story-photo{height:clamp(300px,85vw,520px)}
  .service-image{height:clamp(280px,72vw,520px)}
}


/* V13.6 — warmer palette, 25+ years editorial heading, and exact image-frame fit. */
.intro-media .intro h2{
  font-size:min(6vw,108px);
  line-height:.84;
  letter-spacing:-.075em;
  font-weight:900;
  margin:0 0 clamp(28px,3vw,48px);
  white-space:nowrap;
}
.story-photo{
  min-height:0!important;
  height:auto!important;
  align-self:start;
}
.story-photo img{
  width:100%;
  height:auto!important;
  min-height:0!important;
  object-fit:contain;
}
@media(max-width:700px){
  .intro-media .intro h2{font-size:min(6vw,58px);}
}


/* V13.7 — final spacing and image sizing refinements */
/* Consistent, tighter distance from the header to page headlines. */
.hero{padding-top:48px!important}
.inner-hero,.contact-wrap,.legal{padding-top:48px!important}

/* Home editorial image: exactly the height of the text block beside it. */
.intro-media{align-items:stretch!important}
.intro-media .hero-image{
  height:auto!important;
  min-height:0!important;
  align-self:stretch!important;
}
.intro-media .hero-image img{
  height:100%!important;
  min-height:0!important;
  object-fit:cover!important;
}

/* What We Do images: exactly the height of their corresponding text block. */
.service{
  min-height:0!important;
  align-items:stretch!important;
}
.service-copy{height:auto!important}
.service-image{
  min-height:0!important;
  height:auto!important;
  align-self:stretch!important;
}
.service-image img{
  height:100%!important;
  min-height:0!important;
  object-fit:cover!important;
}

/* Contact e-mail uses the same size as the surrounding contact copy. */
.contact-email{
  font-size:inherit!important;
  line-height:inherit!important;
  font-weight:400!important;
}

@media(max-width:1100px){
  .intro-media .hero-image,
  .service-image{height:auto!important}
}

@media(max-width:700px){
  .hero{padding-top:30px!important}
  .inner-hero,.contact-wrap,.legal{padding-top:30px!important}
  .intro-media .hero-image,
  .service-image{
    height:auto!important;
    aspect-ratio:16/10;
  }
  .intro-media .hero-image img,
  .service-image img{height:100%!important}
}

/* V13.8 — warmer brand palette + burgundy title blocks */
:root{
  --beige:#f1e2c6;
  --paper:#f8edd9;
  --burgundy:#85151A;
  --header-bg:#e3d2b8;
}
body{background:var(--beige)}
.site-header{background:rgba(227,210,184,.96)!important}

/* Main page headings on inner pages: warm burgundy block with beige type. */
.section-title{
  display:inline-block;
  width:auto;
  max-width:100%;
  background:var(--burgundy)!important;
  color:var(--beige)!important;
  padding:.12em .22em .16em!important;
  margin:0!important;
  line-height:.88!important;
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
}

@media(max-width:700px){
  .section-title{max-width:100%;padding:.14em .2em .18em!important}
}


/* V13.9 — burgundy blocks for Home claim, Brands and Festivals */
.hero-claim-block{
  display:inline-block!important;
  width:auto!important;
  max-width:100%;
  background:var(--burgundy)!important;
  color:var(--beige)!important;
  padding:.12em .22em .16em!important;
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
}
.ref-section-title{
  display:inline-block!important;
  width:auto!important;
  max-width:100%;
  background:var(--burgundy)!important;
  color:var(--beige)!important;
  padding:.12em .22em .16em!important;
  line-height:.88!important;
  margin:0!important;
}

@media(max-width:700px){
  .hero-claim-block,.ref-section-title{max-width:100%;padding:.14em .2em .18em!important}
}

/* V13.9 — contact specialist block separation */
.specialists{background:var(--burgundy)!important;padding:clamp(28px,4vw,56px)!important;gap:18px!important;margin-top:90px!important;}
.specialist{background:var(--beige)!important;border:0!important;}
.specialist p{white-space:normal;}
.contact-cta{display:none!important;}
@media(max-width:700px){.specialists{padding:20px!important;margin-top:65px!important;gap:14px!important;}}

/* V13.8 — unified responsive editorial blocks + headline fit */
/* Keep both Home editorial modules structurally consistent: text and image share the same height on wide screens. */
.intro-media,
.story-grid{
  align-items:stretch!important;
}

.intro-media .intro,
.story-grid .story-copy{
  height:auto!important;
  align-self:stretch!important;
}

.intro-media .hero-image,
.story-grid .story-photo{
  height:auto!important;
  min-height:0!important;
  align-self:stretch!important;
}

.intro-media .hero-image img,
.story-grid .story-photo img{
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
}

/* The large Home claim must always remain completely inside the visible content width. */
.hero-claim{
  font-size:clamp(28px,5.25vw,96px)!important;
  width:100%!important;
  max-width:100%!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:clip!important;
}

@media(max-width:1100px){
  .intro-media,
  .story-grid{grid-template-columns:1fr!important}
  .intro-media .hero-image,
  .story-grid .story-photo{height:auto!important;min-height:0!important}
  .intro-media .hero-image img,
  .story-grid .story-photo img{height:auto!important;min-height:0!important;object-fit:cover!important}
}

@media(max-width:700px){
  .hero-claim{font-size:clamp(28px,8.7vw,58px)!important;white-space:normal!important;overflow:visible!important}
}


/* V15.1 — responsive full-width claim + What We Do 1/3 : 2/3 layout + reference blocks */
.hero-claim-block{
  display:block!important;
  width:100vw!important;
  max-width:none!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:0!important;
  padding-left:clamp(18px,3vw,52px)!important;
  padding-right:clamp(18px,3vw,52px)!important;
  white-space:nowrap!important;
  overflow:hidden!important;
}

/* Brands/Festivals: black visual model always uses beige type. */
.refs-block .names .name.ref-model-1,
.refs-block.dark .names .name.ref-model-1{
  display:inline-block!important;
  background:var(--black)!important;
  color:var(--beige)!important;
  padding:.08em .18em .11em!important;
}
.refs-block .names .name.ref-model-2,
.refs-block .names .name.ref-model-3{
  background:transparent!important;
}

/* What We Do: image = 1/3, text = 2/3 on wide screens. */
.service{
  grid-template-columns:2fr 1fr!important;
  min-height:0!important;
}
.service .service-copy{
  min-height:clamp(420px,38vw,680px)!important;
}
.service .service-image{
  min-height:clamp(420px,38vw,680px)!important;
  height:auto!important;
}
.service .service-image img{
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  object-fit:cover!important;
}

@media(max-width:900px){
  .hero-claim-block{
    width:100vw!important;
    margin-left:calc(50% - 50vw)!important;
  }
  .service{
    grid-template-columns:1fr!important;
  }
  .service .service-copy{
    min-height:auto!important;
  }
  .service .service-image{
    min-height:clamp(280px,60vw,520px)!important;
    height:clamp(280px,60vw,520px)!important;
  }
}

@media(max-width:700px){
  .hero-claim-block{
    white-space:normal!important;
    overflow:visible!important;
  }
}


/* V15.2 — final responsive headline and service layout correction */
html,body{max-width:100%;overflow-x:hidden}
.hero-claim-block{
  width:100vw!important;
  max-width:100vw!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:0!important;
  padding-left:clamp(16px,2.5vw,42px)!important;
  padding-right:clamp(16px,2.5vw,42px)!important;
  font-size:clamp(22px,4.5vw,88px)!important;
  line-height:.88!important;
  letter-spacing:-.075em!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-align:center!important;
}

/* Wide screens: text 2/3, image 1/3. Even rows are mirrored automatically. */
.services{padding-left:0!important;padding-right:0!important}
.service{grid-template-columns:2fr 1fr!important;min-height:0!important}
.service .service-copy{min-height:clamp(420px,38vw,680px)!important}
.service .service-image{min-height:clamp(420px,38vw,680px)!important;height:auto!important}
.service .service-image img{width:100%!important;height:100%!important;min-height:100%!important;object-fit:cover!important}

@media(max-width:900px){
  .hero-claim-block{font-size:clamp(24px,7vw,62px)!important;white-space:normal!important;text-align:left!important}
  .service{grid-template-columns:1fr!important}
  .service:nth-child(even){direction:ltr}
  .service .service-copy{min-height:auto!important}
  .service .service-image{height:clamp(280px,60vw,520px)!important;min-height:0!important}
}

/* V15.3 — full-width claim aligned with the proof blocks + 3/5 : 2/5 service layout */
.hero-claim-block{
  text-align:left!important;
  padding-left:clamp(18px,3vw,52px)!important;
  padding-right:clamp(18px,3vw,52px)!important;
}

/* WHAT WE DO: text 3/5, image 2/5. Alternate rows place the image on the left. */
.service{
  grid-template-columns:3fr 2fr!important;
}
.service:nth-child(even){
  direction:rtl;
}
.service:nth-child(even)>*{
  direction:ltr;
}

@media(max-width:900px){
  .service{grid-template-columns:1fr!important;}
  .service:nth-child(even){direction:ltr;}
  .service:nth-child(even)>*{direction:ltr;}
}


/* V15.4 — final requested layout and palette for What We Do */
.hero-claim-block{
  width:100vw!important;
  max-width:100vw!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:0!important;
  text-align:left!important;
  padding-left:clamp(18px,3vw,52px)!important;
  padding-right:clamp(18px,3vw,52px)!important;
  overflow:hidden!important;
  white-space:nowrap!important;
}

/* What We Do: text 3/5, image 2/5; alternate rows put the image first. */
.service{
  grid-template-columns:3fr 2fr!important;
}
.service:nth-child(even){direction:rtl;}
.service:nth-child(even)>*{direction:ltr;}

/* Requested block sequence: black, burgundy, beige, black, burgundy. */
.service-1 .service-copy{background:var(--black)!important;color:var(--beige)!important;}
.service-2 .service-copy{background:var(--burgundy)!important;color:var(--beige)!important;}
.service-3 .service-copy{background:var(--beige)!important;color:var(--ink)!important;}
.service-4 .service-copy{background:var(--black)!important;color:var(--beige)!important;}
.service-5 .service-copy{background:var(--burgundy)!important;color:var(--beige)!important;}

@media(max-width:900px){
  .service{grid-template-columns:1fr!important;}
  .service:nth-child(even){direction:ltr;}
  .service:nth-child(even)>*{direction:ltr;}
  .hero-claim-block{white-space:normal!important;overflow:visible!important;}
}


/* V15.5 — requested final home headline + full-width contact color bands */
/* YOUR MOST IMPORTANT PARTNER: one continuous line down to 950px. */
.hero-claim-block{
  width:100vw!important;
  max-width:100vw!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:0!important;
  padding-left:clamp(18px,3vw,52px)!important;
  padding-right:clamp(18px,3vw,52px)!important;
  text-align:left!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  font-size:clamp(30px,5.6vw,108px)!important;
  line-height:.86!important;
  letter-spacing:-.078em!important;
}

/* Contact: every work area is its own full-width color band. */
.specialists-full{
  width:100vw!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:0!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:0!important;
  margin-top:90px!important;
}
.specialists-full .specialist{
  width:100%!important;
  min-height:0!important;
  border:0!important;
  padding:clamp(42px,5vw,78px) clamp(18px,3vw,52px)!important;
  margin:0!important;
}
.specialists-full .specialist:nth-child(1){background:var(--black)!important;color:var(--beige)!important;}
.specialists-full .specialist:nth-child(2){background:var(--burgundy)!important;color:var(--beige)!important;}
.specialists-full .specialist:nth-child(3){background:var(--beige)!important;color:var(--ink)!important;}
.specialists-full .specialist:nth-child(4){background:var(--black)!important;color:var(--beige)!important;}
.specialists-full .specialist:nth-child(5){background:var(--burgundy)!important;color:var(--beige)!important;}
.specialists-full .specialist:nth-child(6){background:var(--beige)!important;color:var(--ink)!important;}
.specialists-full .specialist h2{font-size:clamp(22px,2.1vw,34px)!important;line-height:1!important;margin:0 0 24px!important;}
.specialists-full .specialist p{font-size:clamp(17px,1.45vw,22px)!important;line-height:1.45!important;margin:8px 0!important;}
.specialists-full a{text-decoration:none!important;}

@media(max-width:950px){
  .hero-claim-block{font-size:clamp(30px,5.6vw,54px)!important;white-space:nowrap!important;}
}
@media(max-width:700px){
  .hero-claim-block{font-size:clamp(27px,6.2vw,52px)!important;white-space:nowrap!important;overflow:hidden!important;}
  .specialists-full{margin-top:60px!important;}
  .specialists-full .specialist{padding:38px 18px!important;}
}


/* V15.6 — final correction: true viewport-wide home claim and no contact outer frame */
.hero-claim-block{
  position:relative!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  width:100vw!important;
  max-width:100vw!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:clamp(18px,3vw,52px)!important;
  padding-right:clamp(18px,3vw,52px)!important;
  font-size:clamp(30px,4.7vw,96px)!important;
  line-height:.86!important;
  letter-spacing:-.078em!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-align:left!important;
}
.specialists-full{
  padding:0!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:0!important;
  width:100vw!important;
}
@media(max-width:950px){
  .hero-claim-block{font-size:clamp(30px,4.7vw,46px)!important;white-space:nowrap!important;}
}
@media(max-width:700px){
  .hero-claim-block{font-size:clamp(27px,6.2vw,52px)!important;white-space:nowrap!important;}
}

/* V15.8 — YOUR MOST IMPORTANT PARTNER: true full-bleed, one line down to 950px. */
html, body { overflow-x: hidden; }
.hero-copy { width: 100%; max-width: none; }
.hero-claim-block {
  position: relative !important;
  left: auto !important;
  transform: none !important;
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: 0 !important;
  margin-top: 0 !important;
  margin-bottom: clamp(38px,5vw,72px) !important;
  padding: 0 var(--pad) !important;
  box-sizing: border-box !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-align: left !important;
  font-size: min(4.7vw, 108px) !important;
  line-height: .86 !important;
  letter-spacing: -.075em !important;
}
@media (max-width: 950px) {
  .hero-claim-block {
    font-size: min(4.7vw, 108px) !important;
    white-space: nowrap !important;
    overflow: hidden !important;
  }
}


/* V15.9 — exact 3/5 text : 2/5 image ratio on Home, unified burgundy */
:root{--burgundy:#85151A}

/* Home: 25+ YEARS text 3/5, editorial photo 2/5. */
.intro-media{grid-template-columns:minmax(0,3fr) minmax(0,2fr)!important;}

/* Home story: text 3/5, photo 2/5. */
.story-grid{grid-template-columns:minmax(0,2fr) minmax(0,3fr)!important;}

/* All burgundy elements and burgundy type use the exact requested color. */
.hero-claim-block,.section-title,.story-heading h1,.service-2 .service-copy,.service-5 .service-copy,.story,.specialists-full .specialist:nth-child(2),.specialists-full .specialist:nth-child(5){background-color:#85151A!important;}
.nav .talk,.artist:nth-child(3n),.names .name:nth-child(3n),.names .name.ref-model-3{color:#85151A!important;}

@media(max-width:900px){
  .intro-media,.story-grid{grid-template-columns:1fr!important;}
}


/* V16 — Home claim block matches the height of the other page heading blocks. */
.hero-claim-block{
  height:clamp(60px,6vw,92px)!important;
  min-height:clamp(60px,6vw,92px)!important;
  display:flex!important;
  align-items:center!important;
  padding-top:0!important;
  padding-bottom:0!important;
}
@media(max-width:950px){
  .hero-claim-block{
    height:60px!important;
    min-height:60px!important;
    font-size:min(4.7vw,46px)!important;
  }
}
@media(max-width:700px){
  .hero-claim-block{
    height:60px!important;
    min-height:60px!important;
    font-size:min(4.7vw,44px)!important;
    white-space:nowrap!important;
  }
}
