.cinema-on{background:#100d16}.cinema-on header{position:absolute;top:0;left:0;width:100%;border:0;z-index:10;color:#fff}.cinema-on .nav{height:100px}.cinema-on .logo{width:118px;background:transparent;padding:0;border-radius:0}.cinema-on .contact{border-color:#ffffff60;background:#ffffff08}.cinema-on .hero{display:none}.cinema-on .closing,.cinema-on footer{color:#201625;background:#faf9fc}.cinema-on .closing{width:100%;padding:110px 6%}.cinema-on footer{width:100%;padding:28px 6%}
.services.film-ready{height:100svh;min-height:600px;padding:0;overflow:hidden;background:#100d16;isolation:isolate}
.film-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.film-ready:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,7,17,.84),rgba(10,7,17,.22) 48%,transparent 76%),linear-gradient(0deg,#100d16 0%,transparent 22%,transparent 85%,#100d1670);z-index:1;pointer-events:none}
.film-ready .service-layout{height:100%;display:block;position:relative;z-index:3;pointer-events:none}.film-ready .sticky{display:none}.film-ready .service-list{position:absolute;inset:0}
.film-ready article,.js-motion .film-ready article{position:absolute;left:0;top:29%;width:46%;border:0;padding:0;opacity:0;visibility:hidden;transform:none;transition:none}
.film-ready article.active,.js-motion .film-ready article.active{opacity:1;visibility:visible}.film-ready article h3{font-size:clamp(36px,4.7vw,76px);font-weight:500;line-height:1.04;letter-spacing:-.055em;margin:22px 0}.film-ready article p{font-size:clamp(15px,1.3vw,19px);color:#d2c9d8;line-height:1.65;max-width:430px}.film-ready .num{font-size:12px;letter-spacing:.16em;color:#f897c9}.film-ready .tags{gap:8px;margin-top:24px}.film-ready .tags span{font-size:12px;border-color:#ffffff35;background:#1b142940;padding:8px 12px}
.film-intro{position:absolute;left:6%;right:6%;top:26%;z-index:3;pointer-events:none}.film-intro .kicker{font-size:12px;letter-spacing:.24em;color:#e9bddb;text-transform:uppercase}.film-intro h1{font-size:clamp(72px,10.5vw,166px);line-height:.94;letter-spacing:-.07em;margin:25px 0;font-weight:500;max-width:1000px;color:white}.film-intro h1 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.055em;color:#f6add9}.film-intro p{color:#d8cbdc;font-size:17px;line-height:1.7;max-width:390px}.film-intro .intro-detail{display:flex;align-items:center;gap:18px;margin-top:24px;font-size:12px;letter-spacing:.08em;color:#e4cedf}.intro-detail strong{font-size:34px;font-weight:400;letter-spacing:-.05em}.film-intro[aria-hidden=true]{visibility:hidden}
.film-rail{position:absolute;bottom:30px;left:6%;right:6%;z-index:5;display:grid;grid-template-columns:1fr auto;gap:20px;color:#e5dbea}.film-caption{font-size:11px;letter-spacing:.18em;text-transform:uppercase;display:flex;align-items:center;gap:15px}.film-caption:before{content:'';width:28px;height:1px;background:#ef75bf}.film-count{font:12px monospace;color:#e3c7db}.film-steps{grid-column:1/-1;display:flex;gap:12px}.film-steps button{border:0;border-top:1px solid #ffffff45;padding:12px 0 0;background:none;color:#a999b3;text-align:left;flex:1;cursor:pointer;font:11px Arial;position:relative}.film-steps button:before{content:'';height:2px;position:absolute;top:-1px;left:0;width:100%;transform:scaleX(0);transform-origin:left;background:#f09bcc;transition:transform .3s}.film-steps button[aria-current=step]{color:white}.film-steps button[aria-current=step]:before{transform:scaleX(1)}.film-tools{display:flex;align-items:center;justify-content:space-between;gap:20px}.film-toggle,.film-skip{background:none;border:0;color:#bdaec7;font:12px Arial;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:5px}.film-steps button:focus-visible,.film-toggle:focus-visible,.film-skip:focus-visible{outline:2px solid #ff92d5;outline-offset:5px}.film-side{position:absolute;right:24px;top:50%;writing-mode:vertical-rl;letter-spacing:.25em;color:#c7a3bd;font-size:10px;z-index:3}.film-line{position:absolute;left:0;top:0;height:2px;width:100%;transform:scaleX(var(--film-progress,0));transform-origin:left;background:#dc0875;z-index:12}
@media(max-width:700px){.cinema-on .nav{height:78px}.cinema-on .logo{width:96px;padding:0}.cinema-on .contact{font-size:11px;padding:10px 12px}.services.film-ready{min-height:640px}.film-intro{top:23%}.film-intro h1{font-size:clamp(58px,15.3vw,100px);margin:22px 0}.film-intro p{font-size:16px;max-width:280px}.film-intro .kicker{font-size:10px;letter-spacing:.16em}.film-intro .intro-detail{margin-top:18px}.film-ready article,.js-motion .film-ready article{top:21%;width:100%;max-width:440px}.film-ready article h3{font-size:clamp(34px,9vw,46px);max-width:350px;margin:18px 0}.film-ready article p{font-size:15px;max-width:335px}.film-ready .tags{margin-top:18px;max-width:340px}.film-ready .tags span{font-size:11px;padding:7px 10px}.film-rail{bottom:24px;gap:17px}.film-steps{gap:9px}.film-steps button{font-size:0;min-height:28px;padding-top:11px}.film-steps button:after{content:attr(data-step);font-size:11px}.film-caption{font-size:9px;letter-spacing:.1em}.film-count{font-size:11px}.film-side{display:none}.film-ready:after{background:linear-gradient(90deg,#100d16c4,#100d1640),linear-gradient(0deg,#100d16,transparent 33%,#100d1630 75%,#100d1680)}.film-tools{gap:10px}.film-toggle,.film-skip{font-size:11px}}
@media(max-height:700px) and (min-width:701px){.film-intro{top:20%}.film-intro h1{font-size:90px}.film-ready article,.js-motion .film-ready article{top:22%}.film-ready article h3{font-size:44px}.film-ready article p{font-size:15px}.film-rail{bottom:20px;gap:14px}}
@media(prefers-reduced-motion:reduce){.film-canvas,.film-intro,.film-rail,.film-side,.film-line{display:none}}

/* Keep editorial copy clear of the scene navigation on shorter viewports. */
@media(min-width:701px){
 .film-intro{top:clamp(110px,15svh,170px);bottom:170px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
 .film-intro .kicker{line-height:1.5;flex-shrink:0}
 .film-intro h1{font-size:clamp(48px,min(7vw,10svh),112px);line-height:1.1;letter-spacing:-.045em;margin:18px 0 20px;flex-shrink:0}
 .film-intro h1 em{letter-spacing:-.04em}
 .film-intro p{font-size:16px;line-height:1.65;margin:0;max-width:420px;flex-shrink:0}
 .film-intro .intro-detail{margin-top:20px;line-height:1.6;flex-shrink:0}
}
@media(min-width:701px) and (max-height:850px){.film-intro .intro-detail{display:flex;margin-top:14px}.intro-detail strong{font-size:28px}.film-intro .intro-detail span{font-size:10px}}
@media(min-width:701px) and (max-height:700px){.film-intro .intro-detail{margin-top:10px}.intro-detail strong{font-size:24px}}
@media(max-width:700px){.film-intro .intro-detail{display:flex;margin-top:12px;font-size:9px;line-height:1.5}.intro-detail strong{font-size:26px}.film-intro{top:18%}.film-intro h1{margin:16px 0}.film-intro p{font-size:14px;line-height:1.5}}
@media(min-width:701px) and (max-height:700px){
 .film-intro{top:140px;bottom:160px}
 .film-intro h1{font-size:clamp(44px,7.7svh,54px);margin:12px 0 16px}
 .film-intro p{font-size:15px;line-height:1.6}
}
@media(max-width:700px){.film-intro{top:20%}.film-intro h1{font-size:clamp(56px,14vw,88px)}}

/* Each chapter opens into its own photographic environment. */
.references{padding:95px 0;background:#f0edf3;color:#201625;border-bottom:1px solid #dcd5e1;scroll-margin-top:0}
.references-layout{display:grid;grid-template-columns:1.2fr 1fr;align-items:end;gap:60px}
.references-label{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#730087}
.references h2{font-size:clamp(42px,5.8vw,82px);font-weight:500;line-height:1.04;letter-spacing:-.055em;margin:24px 0 0}
.references-intro{max-width:370px;justify-self:end;width:100%}.references-intro p{font-size:18px;line-height:1.7;color:#66616e;margin:22px 0 0}
.references-line{display:block;height:2px;background:linear-gradient(90deg,#dc0875,#730087);width:70px}
.reference-projects:not([hidden]){display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:50px;margin-bottom:0;padding:0;list-style:none;border-top:1px solid #d8d0df}
.reference-name{min-height:112px;display:flex;align-items:center;padding:24px 22px;border-bottom:1px solid #d8d0df;font-size:clamp(16px,1.5vw,22px);font-weight:500;line-height:1.4;letter-spacing:-.025em;color:#3a2b42;overflow-wrap:anywhere}
.reference-name:nth-child(4n+1){padding-left:0}
@media(min-width:701px) and (max-width:1000px){.reference-name{font-size:17px;padding:20px 14px}}
@media(max-width:700px){
  .references{padding:60px 0}.references-layout{grid-template-columns:1fr;gap:28px}.references-intro{justify-self:start}.references-intro p{font-size:16px}.references h2{font-size:44px}.reference-projects:not([hidden]){grid-template-columns:repeat(2,minmax(0,1fr));margin-top:34px}.reference-name{min-height:96px;font-size:16px;padding:20px 12px}.reference-name:nth-child(odd){padding-left:0}.reference-name:nth-child(even){padding-left:12px;padding-right:0}
  .nav,.cinema-on .nav{height:auto;min-height:104px;flex-wrap:wrap;padding:14px 0 10px;gap:6px 12px}
  .nav .links{display:flex;order:3;width:100%;justify-content:space-between;gap:12px;font-size:12px}
  .nav .links a{display:flex;align-items:center;min-height:36px}
}
.service-still{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:3px;display:block;margin:0 0 26px}
.film-ready .service-still{display:none}
.film-worlds{position:absolute;inset:0;z-index:0;overflow:hidden;opacity:0;pointer-events:none;background:#100d16}
.film-picture{position:absolute;inset:0;display:block;pointer-events:none}
.film-ready .still-picture{display:none}
.film-world{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;opacity:0;visibility:hidden;transform-origin:center;will-change:transform,opacity}
.film-ready.has-service-world:after{background:linear-gradient(90deg,rgba(10,7,17,.95) 0%,rgba(10,7,17,.83) 26%,rgba(10,7,17,.38) 51%,rgba(10,7,17,.06) 78%),linear-gradient(0deg,rgba(10,7,17,.96),transparent 30%,transparent 85%,rgba(10,7,17,.35))}
.has-service-world .num,.has-service-world .film-side{color:var(--scene-accent,#f897c9)}
.has-service-world .film-steps button:before,.has-service-world .film-caption:before{background:var(--scene-accent,#f897c9)}
.has-service-world .film-line{background:var(--scene-accent,#dc0875)}
.has-service-world article p{color:#eee8f1;text-shadow:0 1px 8px #0003}
.has-service-world article h3{text-shadow:0 3px 24px #0004}
.film-scene-caption{position:absolute;right:6%;bottom:24%;max-width:290px;z-index:3;pointer-events:none;font:italic 25px/1.35 Georgia,serif;color:#fff;text-shadow:0 2px 15px #0009;text-align:right;opacity:.9}
.film-ready:not(.has-service-world) .film-scene-caption{visibility:hidden}
@media(min-width:701px){
  .film-ready[data-scene=production] article{left:auto;right:0;width:43%}
  .film-ready.has-service-world[data-scene=production]:after{background:linear-gradient(270deg,rgba(10,7,17,.96),rgba(10,7,17,.86) 26%,rgba(10,7,17,.45) 49%,transparent 80%),linear-gradient(0deg,#100d16 0%,transparent 30%)}
  .film-ready[data-scene=production] .film-scene-caption{right:auto;left:6%;text-align:left}
}
@media(max-width:700px){
  .film-worlds{inset:34% 0 88px}
  .service-still.has-portrait{aspect-ratio:4/5}
  .film-ready.has-service-world:after{background:linear-gradient(180deg,#100d16 0%,#100d16 22%,#100d16e8 33%,#100d16aa 43%,#100d1620 58%,#100d1610 70%,#100d16d9 86%,#100d16 94%)}
  .film-ready.has-service-world article,.js-motion .film-ready.has-service-world article{top:13%}
  .has-service-world article h3{font-size:clamp(31px,8.4vw,41px);margin:14px 0}
  .has-service-world article p{font-size:14px;line-height:1.55;max-width:330px}
  .has-service-world .tags{margin-top:14px;gap:6px}
  .film-scene-caption{display:none}
}
@media(max-width:700px){
  .film-world.has-portrait{object-fit:contain}
  .has-service-world article p{font-size:16px;line-height:1.5}
  .film-steps button{min-height:44px}
  .film-toggle,.film-skip{min-height:36px;display:inline-flex;align-items:center}
  .film-rail{bottom:16px;row-gap:9px}
  .nav .links a{min-height:40px}
}

/* Transparent white vector artwork stays crisp at every display size. */
header{background:#100d16;color:#fff}header .logo{background:transparent}header .contact{border-color:#ffffff60}.cinema-on header{background:transparent}
.film-ambient{position:absolute;inset:-5%;z-index:0;pointer-events:none;background:radial-gradient(ellipse at 78% 42%,#6d205943 0%,#35172f30 30%,transparent 62%),radial-gradient(ellipse at 95% 75%,#68459625,transparent 48%),#100d16;transform-origin:75% 50%}
@media(min-width:701px){
  .film-world[src*="publishing-branded"]{object-fit:contain;width:82%;left:18%;object-position:center!important}
  .film-ready[data-scene=publishing] article{width:35%}
  .film-ready[data-scene=publishing] article h3{font-size:clamp(36px,4vw,65px)}
}
@media(prefers-reduced-motion:reduce){.film-ambient{display:none}}
/* Linked institution marks retain their own identities. */
.reference-projects:not([hidden]){grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;border:0}
.reference-name,.reference-name:nth-child(odd),.reference-name:nth-child(even){padding:0;border:0;min-height:0}
.reference-link{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;width:100%;min-height:174px;padding:25px 16px 20px;background:#fff;border:1px solid #e3dde8;border-radius:8px;text-align:center;transition:transform .2s,border-color .2s,box-shadow .2s}
.reference-link:hover{transform:translateY(-4px);border-color:#b075ad;box-shadow:0 10px 25px #37104609}
.reference-link:focus-visible{outline:3px solid #ae2483;outline-offset:3px}
.reference-logo-wrap{height:86px;width:100%;display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.reference-logo{display:block;object-fit:contain;max-width:100%;width:auto;height:auto;max-height:86px}
.reference-logo.monochrome{filter:brightness(0)}
.reference-title{font-size:12px;line-height:1.45;color:#625968;letter-spacing:0}
.reference-arrow{position:absolute;top:9px;right:12px;font-size:16px;color:#ab9caf}
.contact-section{background:#15101c;color:#fff;padding:100px 0 65px;scroll-margin-top:0}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%}
.contact-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:#e0afd1}
.contact-details h2{font-size:clamp(38px,4.2vw,66px);font-weight:500;line-height:1.1;letter-spacing:-.05em;margin:25px 0}
.contact-details h2 em{font-family:Georgia,serif;font-weight:400;color:#f6add9}
.contact-intro{font-size:17px;line-height:1.7;max-width:380px;color:#c8bccd}
.contact-email{display:block;font-size:clamp(21px,2.3vw,33px);margin-top:35px;letter-spacing:-.035em}
.contact-phone{display:inline-block;font-size:20px;color:#d9c9df;margin-top:15px}
.contact-details address{font-style:normal;font-size:14px;color:#b9acbf;line-height:1.85;margin:36px 0 14px}
.contact-details address strong{font-weight:400;color:#ece1ef}
.map-directions{font-size:13px;color:#eda8d3;border-bottom:1px solid #805a75;padding-bottom:5px}
.contact-form{position:relative;background:#211929;padding:34px;border:1px solid #45324b;border-radius:10px}
.contact-form h3{font-size:26px;font-weight:400;letter-spacing:-.035em;margin:0 0 28px}
.contact-form label{display:flex;flex-direction:column;gap:10px;font-size:13px;color:#e5dce9;margin-bottom:21px}
.contact-form label>span{display:contents;color:#f3aad7}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact-form input,.contact-form select,.contact-form textarea{font:16px/1.4 Arial,sans-serif;color:#fff;width:100%;min-width:0;background:#18121f;border:1px solid #55415e;border-radius:4px;padding:13px 12px;outline-offset:3px;color-scheme:dark}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#a99bb1;font-size:14px}
.contact-form textarea{resize:vertical;min-height:115px;max-height:400px}
.contact-form :is(input,select,textarea):focus-visible{outline:2px solid #ec9dce;border-color:#ec9dce}
.contact-form button{width:100%;border:0;border-radius:4px;background:#eecee4;color:#2b1024;font:600 15px Arial;padding:17px;cursor:pointer;min-height:50px}
.contact-form button:hover{background:#f5dced}.contact-form button:disabled{opacity:.65;cursor:wait}
.contact-form button:focus-visible{outline:3px solid #f6add9;outline-offset:4px}
.form-note{font-size:12px;line-height:1.6;color:#bcaec4;margin:0 0 20px}
.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.contact-status{font-size:14px;line-height:1.6;margin:15px 0 0;color:#e9dfed}.contact-status:empty{display:none}.contact-status[data-state=error]{color:#ffb4c5}.contact-status[data-state=success]{color:#b3e6c6}
.contact-map{position:relative;margin-top:60px;border:1px solid #493550;border-radius:8px;overflow:hidden;background:#211929}
.contact-map iframe{width:100%;height:280px;border:0;display:block}
.contact-map>a{display:flex;justify-content:space-between;align-items:center;padding:17px 22px;font-size:13px;color:#e9d4e4}
.contact-footer{margin-top:40px;padding-top:25px;border-top:1px solid #493550;display:flex;justify-content:space-between;align-items:flex-start;gap:18px 36px;flex-wrap:wrap;color:#c8bccd;font-size:12px;line-height:1.9}
.contact-footer p{margin:0}.contact-services{max-width:560px}
@media(max-width:1100px){.reference-projects:not([hidden]){grid-template-columns:repeat(4,minmax(0,1fr))}.contact-grid{gap:5%}.contact-form{padding:26px}.form-row{grid-template-columns:1fr;gap:0}}
@media(max-width:700px){.reference-projects:not([hidden]){grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.reference-link{min-height:157px;padding:20px 12px 16px}.reference-logo-wrap{height:72px}.reference-logo{max-height:72px}.reference-title{font-size:11px}.contact-section{padding:60px 0 40px}.contact-grid{grid-template-columns:1fr;gap:40px}.contact-details h2{font-size:40px}.contact-form{padding:24px 20px}.contact-map{margin-top:35px}.contact-map iframe{height:250px}.nav .links{gap:8px;font-size:11px}.cinema-on .contact{font-size:11px}}
@media(prefers-reduced-motion:reduce){.reference-link{transition:none}.reference-link:hover{transform:none}}

/* Keep service text inside a clear editorial column above scene controls. */
@media(min-width:701px){
 .film-ready article,.js-motion .film-ready article{top:20%;width:43%;max-width:560px}
 .film-ready article h3{font-size:clamp(34px,min(4.1vw,6.6vh),64px);line-height:1.12;letter-spacing:-.045em;margin:18px 0}
 .film-ready article p{font-size:clamp(15px,1.2vw,18px);line-height:1.6;margin:0;max-width:410px}
 .film-ready .tags{margin-top:20px}
 .film-ready[data-scene=marketing] .film-scene-caption{display:none}
 .film-ready[data-scene=marketing] article{width:40%}
 .film-steps button{line-height:1.35;min-height:40px}
}
@media(min-width:701px) and (max-height:700px){
 .film-ready article,.js-motion .film-ready article{top:16%}
 .film-ready article h3{font-size:36px;margin:12px 0}
 .film-ready article p{font-size:15px;line-height:1.5}
 .film-ready .tags{margin-top:14px}
}
/* Brand sculpture stays in the opening scene's right-hand column. */
.hero-sculpture{position:absolute;z-index:2;left:44%;right:1%;top:12%;bottom:19%;pointer-events:none;filter:drop-shadow(0 28px 40px #a9288720)}
.hero-sculpture:before{content:'';position:absolute;inset:8% 5%;border-radius:50%;background:radial-gradient(ellipse,#a243b92b 0%,#54258117 40%,transparent 70%);z-index:-1}
.hero-network-caption{position:absolute;right:10%;bottom:3%;display:grid;grid-template-columns:auto auto;gap:5px 15px;align-items:center;color:#e9c9e6}
.hero-network-caption>span{font-size:9px;letter-spacing:.2em}.hero-network-caption strong{grid-column:2;grid-row:1/3;font-size:42px;line-height:1;font-weight:400;letter-spacing:-.06em;color:#f3b7dc}
.hero-network-caption small{font-size:11px;color:#bda9ca}
@media(min-width:1000px) and (max-height:700px){.hero-sculpture{top:17%;bottom:24%}.hero-network-caption{bottom:0;right:6%}.hero-network-caption strong{font-size:32px}}
.hero-sculpture canvas{width:100%;height:100%;display:block}
@media(max-width:999px){.hero-sculpture{display:none}}
.approach{background:#f7f3f8;color:#291f30;padding:110px 0;--approach-progress:0}
.approach-layout{display:grid;grid-template-columns:1fr 1.05fr;gap:10%}
.approach-intro{position:sticky;top:55px;align-self:start}
.approach-eyebrow{font-size:11px;letter-spacing:.17em;color:#81396f}
.approach-intro h2{font-size:clamp(48px,5.5vw,82px);font-weight:400;line-height:1.06;letter-spacing:-.055em;margin:25px 0}
.approach-intro h2 em{font-family:Georgia,serif;color:#a3287c;font-weight:400}
.approach-intro p{font-size:16px;line-height:1.7;color:#736478}
.approach-orbit{width:176px;height:176px;border:1px solid #d8c8dc;border-radius:50%;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:30px 0;background:radial-gradient(circle,#ead8ea70,transparent 70%)}
.approach-orbit:before{content:'';position:absolute;inset:12px;border:1px dashed #d8c8dc;border-radius:50%}
.approach-orbit strong{font:italic 60px/1 Georgia,serif;font-weight:400;color:#983372;margin:10px 0}
.orbit-word{font-size:8px;letter-spacing:.18em;color:#806888}.approach-orbit b{font-size:9px;letter-spacing:.15em;font-weight:400}
.approach-orbit i{position:absolute;inset:-5px;border-radius:50%;transform:rotate(calc(var(--approach-progress)*270deg));transition:transform .8s ease}
.approach-orbit i:before{content:'';display:block;position:absolute;left:calc(50% - 5px);top:0;width:10px;height:10px;border-radius:50%;background:#c61a85;box-shadow:0 0 18px #c61a8560}
.approach-link{display:inline-flex;align-items:center;gap:26px;font-size:13px;border-bottom:1px solid #c9b4c9;padding:0 0 10px}.approach-link span{font-size:24px;color:#ae227e}
.approach-steps{list-style:none;margin:0;padding:0;position:relative}
.approach-steps:before{content:'';position:absolute;left:23px;top:30px;bottom:45px;width:1px;background:#d9cbdc}
.approach-step{position:relative;display:grid;grid-template-columns:48px 1fr;gap:30px;padding:45px 0 65px;min-height:300px}
.approach-step:first-child{padding-top:0}
.approach-number{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid #d9cbdc;background:#f7f3f8;border-radius:50%;font:13px monospace;color:#82678a;transition:background .4s,color .4s}
.approach-phase{font-size:10px;letter-spacing:.15em;color:#87718d}
.approach-step h3{font-size:clamp(36px,4vw,58px);font-weight:400;letter-spacing:-.045em;margin:14px 0 20px;line-height:1.15;transition:color .4s}
.approach-step p{font-size:17px;line-height:1.8;color:#76647b;max-width:420px;margin:0 0 24px}
.approach-note{font-size:11px;letter-spacing:.07em;color:#8e7194;display:block;border-top:1px solid #e1d6e4;padding-top:18px}
.approach-step.is-current .approach-number{background:#a3287c;color:white;border-color:#a3287c;box-shadow:0 0 0 7px #a3287c0c}
.approach-step.is-current h3{color:#a3287c}
@media(max-height:750px) and (min-width:701px){.approach-intro{top:28px}.approach-intro h2{font-size:52px;margin:18px 0}.approach-orbit{width:128px;height:128px;margin:20px 0}.approach-orbit strong{font-size:44px}}
@media(max-width:700px){.approach{padding:65px 0}.approach-layout{grid-template-columns:1fr;gap:45px}.approach-intro{position:static}.approach-intro h2{font-size:58px}.approach-orbit{display:none}.approach-link{margin-top:12px}.approach-step{gap:19px;grid-template-columns:40px 1fr;min-height:0;padding:30px 0 45px}.approach-number{width:40px;height:40px}.approach-steps:before{left:19px}.approach-step h3{font-size:37px}.approach-step p{font-size:16px}.approach-phase{font-size:9px}.approach-step:last-child{padding-bottom:0}}
@media(prefers-reduced-motion:reduce){.approach-orbit i,.approach-number,.approach-step h3{transition:none}.hero-sculpture{display:none}}
/* A compact reference selection expands on demand. */
.reference-projects .reference-name[hidden]{display:none}
.references-more{margin-top:30px;text-align:center}
.references-more button{font:14px Arial,sans-serif;background:transparent;border:1px solid #bca6c4;border-radius:30px;color:#672b68;padding:16px 25px;cursor:pointer;display:inline-flex;align-items:center;gap:22px;min-height:48px}
.references-more button:hover{background:#e9dfed}.references-more button:focus-visible{outline:3px solid #ae2483;outline-offset:4px}.references-more span{font-size:22px;line-height:1}
@media(min-width:1101px){.reference-projects:not([hidden]){grid-template-columns:repeat(4,minmax(0,1fr))}}
.service-list article p a{text-decoration:underline;text-underline-offset:4px}
.service-list .tags a{display:inline-flex;align-items:center;font-size:13px;color:#f5d2ec;border:1px solid #a4649b;border-radius:24px;padding:9px 12px}
.film-ready article.active a{pointer-events:auto}
.film-ready .tags a{font-size:12px;padding:8px 12px;background:#1b142940}
.service-list article a:hover{color:#fff;background:#81366f}
@media(max-width:700px){.film-ready .tags a{font-size:11px;padding:7px 10px}}
.reference-text-name{font-size:21px;font-weight:500;line-height:1.35;letter-spacing:-.02em;color:#514157}
.reference-unlinked:hover{transform:none;box-shadow:none;border-color:#e3dde8}
