@font-face {
  font-family: 'Caveat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/font-0.ttf) format('truetype');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/font-1.ttf) format('truetype');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/font-2.ttf) format('truetype');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/font-3.ttf) format('truetype');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/font-4.ttf) format('truetype');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(assets/fonts/font-5.ttf) format('truetype');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/font-6.ttf) format('truetype');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/font-7.ttf) format('truetype');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/font-8.ttf) format('truetype');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/font-9.ttf) format('truetype');
}

:root{--paper:#f2efe8;--ink:#171916;--muted:#4e6261;--orange:#e14b2b;--sand:#d5c5b2;--slate:#31474b;--line:#cbbfb0;--dark:#171916}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--orange);outline-offset:6px}::selection{background:var(--orange);color:white}.wrap{width:calc(100% - 112px);max-width:1440px;margin:auto}.header{display:flex;justify-content:space-between;align-items:center;padding:28px 0;border-bottom:1px solid var(--line)}.wordmark{font-family:Inter,sans-serif;font-weight:800;font-size:45px;letter-spacing:-3px;line-height:.8}.wordmark>span{display:block;font-size:20px;letter-spacing:-1px;position:relative;margin-top:7px}sup{font-family:Arial,sans-serif;font-size:9px;letter-spacing:0;margin-left:4px}nav{display:flex;gap:36px;font-size:13px}nav a:last-child{margin-left:34px}nav a:hover,.text-link:hover,.email:hover{color:var(--orange)}.eyebrow,.section-label{font-size:10px;text-transform:uppercase;letter-spacing:1.3px;font-weight:500}.hero-eyebrow{display:flex;align-items:center;gap:10px;padding:33px 0}.hero-eyebrow i{width:6px;height:6px;border-radius:50%;background:var(--orange)}.hero-eyebrow>span{margin-left:auto}.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:4%}h1{font-family:Inter,sans-serif;font-size:clamp(70px,7.8vw,118px);font-weight:500;letter-spacing:-7px;line-height:.99;margin:0 0 30px}em{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:var(--orange);letter-spacing:-.055em}.hero-copy p{font-size:17px;line-height:1.55;margin:0 0 24px}.text-link{font-size:12px;display:inline-flex;gap:45px;align-items:center;border-bottom:1px solid var(--ink);padding-bottom:9px}.text-link span{font-size:22px}figure{margin:0;display:flex;flex-direction:column;padding-top:10px}.frame-top{display:flex;justify-content:space-between;font-size:9px;text-transform:uppercase;letter-spacing:1px;padding-bottom:11px}.image-wrap{position:relative;flex:1;min-height:430px;overflow:hidden;background:#9eaeae}.image-wrap img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:41% center;filter:saturate(.75)}.image-wrap:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 70%,#151e2380)}.image-note{position:absolute;bottom:23px;left:23px;z-index:1;color:white;font-family:Georgia,serif;font-style:italic;font-size:23px;letter-spacing:-.5px}.corner{position:absolute;width:19px;height:19px;border-color:#f1eee6a0;border-style:solid;z-index:1}.tl{top:17px;left:17px;border-width:1px 0 0 1px}.br{right:17px;bottom:17px;border-width:0 1px 1px 0}figcaption{display:flex;justify-content:space-between;font-size:9px;padding-top:12px;color:var(--muted)}figcaption span:last-child{font-size:8px;letter-spacing:1px}.hero-footer{display:flex;align-items:center;justify-content:space-between;margin-top:45px;padding:22px 0;border-top:1px solid var(--line);font-size:10px;letter-spacing:.3px}.hero-footer a{font-size:24px}.hero-footer>span:first-child{text-transform:uppercase;letter-spacing:1px}.section{padding:88px 0}.section-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:55px;color:var(--muted)}.section-label span+span{letter-spacing:.5px;text-transform:none}.section-label .mark{font-size:25px;color:var(--orange)}h2{font-family:Inter,sans-serif;font-weight:500;font-size:clamp(40px,4.4vw,64px);line-height:1.12;letter-spacing:-3px;margin:0}p{font-size:15px;line-height:1.75}.approach-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:8%}.approach-grid p{color:var(--muted);margin:20px 0 0}.lead{font-size:20px;line-height:1.5;color:var(--ink)!important;margin-top:0!important}.dark{background:var(--dark);color:var(--paper)}.dark .section-label{color:#b7bcb0}.services-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:60px}.services-heading p{color:#bbc0b5;font-size:14px;margin:0 0 4px;width:38%}.service{display:grid;grid-template-columns:6% 40% 1fr 4%;gap:15px;align-items:start;border-top:1px solid #51554b;padding:29px 0}.service:last-child{border-bottom:1px solid #51554b}.number{font-size:11px;color:#adb4a4;padding-top:8px}.service h3{font-family:Inter,sans-serif;font-weight:500;font-size:25px;letter-spacing:-.8px;margin:0}.service p{font-size:13px;line-height:1.75;color:#c0c5b9;margin:3px 0;max-width:400px}.symbol{font-size:22px;text-align:right;color:#b0b8a9}.studio-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:11%;align-items:center}.experience{background:var(--orange);color:var(--paper);padding:30px;display:flex;min-height:490px;flex-direction:column}.experience-number{font-family:Inter,sans-serif;font-size:clamp(110px,13vw,190px);letter-spacing:-12px;line-height:1.2;margin-top:25px}.experience-number span{font-family:Georgia,serif;font-size:90px;vertical-align:top;display:inline-block;margin-top:10px;font-weight:400}.experience>p{font-size:25px;line-height:1.2;margin:0 0 40px}.experience-bottom{display:flex;justify-content:space-between;gap:10px;font-size:8px;letter-spacing:.8px;border-top:1px solid #f1eee660;padding-top:20px;margin-top:auto}.studio-copy h2{font-size:clamp(35px,4vw,57px);margin-bottom:26px}.studio-copy>p:not(.lead){color:var(--muted);font-size:14px}.studio-copy .lead{font-size:18px}.credits{border-top:1px solid var(--line);margin-top:28px;padding-top:22px}.credits .eyebrow{font-size:8px}.credits p{font-size:12px;line-height:1.8;margin:10px 0}.credits b{padding:0 5px;color:var(--orange)}.credits small{font-size:10px;color:var(--muted)}.process{border-top:1px solid var(--line)}.process h2{font-size:48px}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:60px;margin-top:50px}.process-grid article{border-top:1px solid var(--line);padding-top:20px}.process-grid article>span{font-size:9px;text-transform:uppercase;letter-spacing:1px;color:var(--orange)}.process-grid h3{font-size:20px;letter-spacing:-.6px;font-weight:500;margin:23px 0 12px}.process-grid p{font-size:13px;color:var(--muted);margin:0}.contact{padding-bottom:0}.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:8%;align-items:center;padding-bottom:90px}.contact h2{font-size:clamp(48px,5.8vw,84px)}.contact em{color:#e58c6a}.contact p{color:#c4c8bd;font-size:14px}.email{font-size:clamp(15px,1.8vw,25px);letter-spacing:-.5px;border-bottom:1px solid #7c8272;padding-bottom:12px;display:flex;justify-content:space-between;margin-top:25px}footer{border-top:1px solid #51554b;display:flex;justify-content:space-between;gap:24px;align-items:center;padding:30px 0;font-size:9px;color:#b7bcb0}.footer-brand{font-family:Inter,sans-serif;font-size:22px;font-weight:800;letter-spacing:-1px;color:var(--paper)}.skip{position:absolute;top:-100px;left:20px;background:var(--ink);color:white;padding:15px;z-index:9}.skip:focus{top:10px}
@media(max-width:1000px){.wrap{width:calc(100% - 64px)}nav{gap:22px}nav a:last-child{margin-left:0}h1{font-size:80px;letter-spacing:-5px}.hero-copy p{font-size:15px}.image-wrap{min-height:370px}.studio-grid{gap:7%}.experience{padding:25px;min-height:450px}.experience-bottom{flex-wrap:wrap}.service{grid-template-columns:5% 37% 1fr 3%}.service h3{font-size:21px}.process-grid{gap:30px}footer>span:first-of-type{display:none}.section{padding:70px 0}.contact{padding-bottom:0}}
@media(max-width:700px){.wrap{width:calc(100% - 40px)}.header{padding:23px 0}.wordmark{font-size:37px}.wordmark>span{font-size:17px}nav{gap:22px;font-size:12px}nav>a:first-child,nav>a:nth-child(3){display:none}.hero-eyebrow{font-size:8px;letter-spacing:.7px;padding:27px 0}.hero-eyebrow>span{display:none}.hero-grid{grid-template-columns:1fr;gap:30px}h1{font-size:clamp(70px,15vw,106px);letter-spacing:-5px;line-height:1.02;margin-bottom:24px}.hero-copy p{font-size:16px}.hero-copy .text-link{position:absolute;right:22px;margin-top:-58px;gap:20px}.image-wrap{min-height:340px;max-height:500px;aspect-ratio:1.1}.image-wrap img{object-position:center}.hero-footer{margin-top:30px;padding:18px 0;font-size:8px}.hero-footer>span:nth-child(2){display:none}.section{padding:55px 0}.section-label{font-size:8px;letter-spacing:1px;margin-bottom:35px;gap:20px}.section-label>span+span:not(.mark){text-align:right;font-size:8px;max-width:46%}h2{font-size:41px;letter-spacing:-2px}.approach-grid{grid-template-columns:1fr;gap:30px}.lead{font-size:19px}.approach-grid p{font-size:14px}.services-heading{margin-bottom:35px;display:block}.services-heading p{margin-top:25px;width:auto}.service{grid-template-columns:25px 1fr 20px;gap:9px;padding:25px 0}.service h3{font-size:22px}.service p{grid-column:2;grid-row:2;font-size:13px;margin-top:8px}.symbol{grid-row:1;grid-column:3}.studio-grid{grid-template-columns:1fr;gap:35px}.experience{min-height:370px;padding:26px}.experience-number{font-size:150px;line-height:1.15;margin-top:10px;letter-spacing:-10px}.experience-number span{font-size:75px}.experience>p{font-size:23px;margin-bottom:25px}.experience-bottom{font-size:8px;flex-wrap:nowrap}.studio-copy h2{font-size:42px}.process h2{font-size:38px}.process-grid{grid-template-columns:1fr;gap:30px;margin-top:35px}.process-grid h3{margin:16px 0 9px}.contact-grid{grid-template-columns:1fr;gap:25px;padding-bottom:55px}.contact h2{font-size:52px}.email{font-size:21px}footer{display:grid;grid-template-columns:1fr 1fr;padding:25px 0;row-gap:20px}footer .footer-brand{grid-column:1/-1}footer>a:last-child{text-align:right}.contact{padding-bottom:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Vibe Edit Haus style guide */
body{font-weight:400}
.wordmark{font-size:49px;letter-spacing:-.075em;line-height:.8}
.wordmark>span{font-size:22px;letter-spacing:-.065em;margin-top:8px}
.wordmark sup{position:absolute;right:-12px;top:0;font-size:9px}
nav{font-weight:400}
h1,h2{font-family:'Playfair Display',Georgia,serif;letter-spacing:-.01em}
h1{font-weight:700;font-size:clamp(75px,8.1vw,124px);line-height:.90;margin-bottom:34px}
h1 em{font-weight:700}
h2{font-weight:400;line-height:.95}
em{font-family:'Playfair Display',Georgia,serif;letter-spacing:-.01em}
.hero-eyebrow{letter-spacing:.20em;font-size:9px;padding:30px 0 28px}
.hero-eyebrow>span{letter-spacing:.15em;font-size:9px}
.hero-copy p{line-height:1.5;font-size:17px;margin-bottom:32px}
.hero-grid{grid-template-columns:1.02fr 1fr;gap:5%}
.hero-copy .text-link{min-width:174px;justify-content:space-between}
.text-link{font-weight:500;letter-spacing:.05em;position:relative;border-bottom:0}
.text-link:after{content:'';position:absolute;bottom:0;left:0;width:88%;height:1px;background:currentColor;transition:width .25s ease}
.text-link:hover:after{width:100%}
figure{padding-top:0}
.frame-top,figcaption{display:none}
.image-wrap{min-height:500px}
.image-wrap img{object-position:42% center;filter:saturate(1.05) contrast(1.07) sepia(.13)}
.image-wrap:after{background:linear-gradient(180deg,#d146361c 0%,transparent 45%,#1c1c1c59 100%)}
.corner{width:27px;height:27px;border-color:#edeae1b0}
.tl{top:22px;left:22px}.br{right:22px;bottom:22px}
.tr{top:22px;right:22px;border-width:1px 1px 0 0}.bl{bottom:22px;left:22px;border-width:0 0 1px 1px}
.image-note{font-family:Caveat,cursive;font-style:normal;font-weight:400;font-size:clamp(40px,4.3vw,66px);line-height:.86;left:25px;bottom:64px;letter-spacing:-.03em;transform:rotate(-8deg);text-shadow:0 1px 8px #1c1c1c55}
.frame-number{position:absolute;right:27px;bottom:28px;color:var(--paper);font-size:11px;letter-spacing:.05em;z-index:2}
.section-label,.eyebrow{letter-spacing:.2em}
.section-label span+span{letter-spacing:.05em}
.service h3{font-family:Inter,sans-serif;font-weight:400;letter-spacing:-.025em}
.service .symbol{display:none}
.service{grid-template-columns:6% 40% 1fr;gap:15px}
.dark .section-label,.number,.service p,.services-heading p,.contact p,footer{color:#c9c1b6}
.dark .service,.dark footer{border-color:#5e6e7766}
.dark .text-link:hover,.dark .email:hover{color:var(--orange)}
.dark .contact-grid em{color:var(--orange)}
.experience{background:var(--sand);color:var(--ink)}
.experience-number{font-family:'Playfair Display',Georgia,serif;font-weight:400;letter-spacing:-.07em;line-height:1.1}
.experience-number span{font-family:'Playfair Display',Georgia,serif}
.experience-bottom{border-color:#1c1c1c50}
.studio-copy h2{line-height:1.02}
.process h2{line-height:1.05}
.process-grid h3{font-family:Inter,sans-serif;font-weight:400;letter-spacing:-.025em}
.credits .eyebrow{line-height:1.8}
.credits b{font-weight:400}.footer-brand{letter-spacing:-.065em}
@media(max-width:1000px) and (min-width:701px){h1{font-size:clamp(60px,8.3vw,90px)}.hero-eyebrow{letter-spacing:.11em;font-size:8px}.hero-eyebrow>span{font-size:8px}.image-wrap{min-height:455px}.hero-copy p{font-size:15px}.wordmark{font-size:43px}.wordmark>span{font-size:19px}}
@media(max-width:700px){h1{font-size:clamp(70px,14vw,100px);line-height:.93;letter-spacing:-.025em;margin-bottom:28px}.hero-copy .text-link{min-width:145px;margin-top:-65px}.hero-copy p{font-size:15px}.hero-eyebrow{font-size:8px;letter-spacing:.13em;padding:26px 0}.wordmark{font-size:40px}.wordmark>span{font-size:18px}.image-wrap{min-height:420px;aspect-ratio:3/4;max-height:650px}.image-note{font-size:56px;bottom:65px;left:28px}.service{grid-template-columns:25px 1fr}.service p{grid-column:2}.service h3{font-size:21px}.studio-copy h2{font-size:45px;line-height:1.02}.contact h2{font-size:58px}.process h2{font-size:40px;line-height:1}.section-label{letter-spacing:.14em}.experience{min-height:380px}}
@media(max-width:370px){.hero-copy .text-link{position:relative;right:auto;margin-top:0}.hero-copy p{margin-bottom:18px}}
@media(prefers-reduced-motion:reduce){.text-link:after{transition:none}}

/* Refined positioning and the bolder Vibe palette. */
h1{font-size:clamp(75px,7.5vw,114px)}
.hero-copy .hero-intro{font-size:clamp(16px,1.5vw,21px);line-height:1.4;letter-spacing:-.02em;font-weight:500;margin-bottom:18px;margin-top:32px}
.hero-copy .hero-description{font-size:14px;line-height:1.65;max-width:430px;margin-bottom:25px;color:#414c49}
.hero-grid{align-items:stretch}
.hero-footer{font-size:10px}.hero-footer>span:first-child{font-weight:500}
.image-wrap{min-height:600px;background:var(--slate)}
.image-wrap img{filter:saturate(1.15) contrast(1.08) sepia(.12)}
.image-wrap:after{background:linear-gradient(165deg,#e14b2b33 0%,transparent 40%,#31474b52 100%)}
#services{background:radial-gradient(ellipse at 100% 100%,#31474b66,transparent 65%),var(--ink)}
.experience{background:linear-gradient(145deg,#e14b2b 0%,#d74728 68%,#a9432e 100%);color:var(--paper)}
.experience-bottom{border-color:#f2efe880}
.experience-number{font-size:clamp(110px,12vw,180px)}
.contact{background:linear-gradient(125deg,#253b3e 0%,#31474b 60%,#263a3d 100%)}
.contact-grid{grid-template-columns:1fr 1fr;gap:9%;align-items:start;padding-bottom:72px}
.contact h2{font-size:clamp(48px,5.1vw,76px);margin-bottom:26px}
.contact .contact-grid em{color:var(--orange)}
.contact-intro>p{font-size:14px;color:#e3dacf}
.email{font-size:clamp(17px,1.7vw,24px);border-color:#d5c5b280;margin-top:28px}
.social-links{display:flex;flex-wrap:wrap;gap:15px 22px;margin-top:28px;font-size:11px;letter-spacing:.02em}
.social-links a,.social-links a:last-child{margin-left:0;display:inline-flex;gap:8px}
.social-links a:first-child,.social-links a:nth-child(3){display:inline-flex}
.social-links a:hover{color:var(--orange)}
.contact-form{border-top:1px solid #d5c5b280;padding-top:22px}
.contact-form h3{font-size:20px;font-weight:400;letter-spacing:-.03em;margin:0 0 26px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.form-field{display:flex;flex-direction:column;gap:10px;margin-bottom:23px}
.form-field label{font-size:11px;line-height:1.6;color:var(--paper)}
.form-field label span{font-size:9px;color:#d5c5b2}
.form-field input,.form-field textarea{font:inherit;font-size:14px;width:100%;border:1px solid #d5c5b280;border-radius:0;background:#17191626;color:var(--paper);padding:13px 12px;outline:none}
.form-field input:focus,.form-field textarea:focus{border-color:var(--orange);box-shadow:0 0 0 1px var(--orange)}
.form-field textarea{resize:vertical;min-height:115px;max-height:450px}
.contact .form-note{font-size:11px;line-height:1.6;color:#e3dacf;margin:0 0 20px}
.form-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.form-actions button{font:inherit;font-size:12px;font-weight:500;letter-spacing:.02em;cursor:pointer;border:1px solid var(--paper);border-radius:0;background:var(--paper);color:var(--ink);padding:14px 19px;display:inline-flex;justify-content:space-between;gap:36px;transition:background .2s ease}
.form-actions button:hover{background:#d5c5b2;border-color:#d5c5b2}
.form-actions button:focus-visible{outline:2px solid var(--orange);outline-offset:5px}
.form-actions .copy-message{font-size:11px;color:var(--paper);border:0;border-bottom:1px solid #d5c5b280;background:transparent;padding:6px 0;letter-spacing:0}
.form-actions .copy-message:hover{background:transparent;color:var(--orange)}
.contact .form-status{font-size:11px;line-height:1.7;color:#f2efe8;margin:15px 0 0;min-height:18px}
footer>span{color:#d5c5b2}
@media(max-width:1000px) and (min-width:701px){h1{font-size:clamp(60px,8.3vw,90px)}.image-wrap{min-height:610px}.hero-copy .hero-intro{font-size:16px}.hero-copy .hero-description{font-size:13px}.contact-grid{gap:6%}.form-row{grid-template-columns:1fr;gap:0}.contact h2{font-size:50px}.contact .email{font-size:17px}}
@media(max-width:700px){h1{font-size:clamp(70px,14vw,100px)}.hero-copy .hero-intro{font-size:18px;margin-top:28px;margin-bottom:16px}.hero-copy .hero-description{font-size:14px;max-width:440px;margin-bottom:22px}.hero-copy .text-link{position:relative;right:auto;margin:0 0 4px;min-width:174px}.image-wrap{min-height:440px}.hero-footer>span:nth-child(2){display:block;font-size:9px;text-align:right;max-width:48%;line-height:1.7}.hero-footer>a{display:none}.hero-footer>span:first-child{font-size:8px;max-width:42%;line-height:1.7}.contact-grid{grid-template-columns:1fr;gap:44px}.contact h2{font-size:58px}.social-links{gap:16px 24px}.contact .email{font-size:21px}.form-row{grid-template-columns:1fr;gap:0}.form-field input,.form-field textarea{font-size:16px}.form-actions button{min-height:46px}.contact-form{padding-top:26px}}
@media(prefers-reduced-motion:reduce){.form-actions button{transition:none}}

/* Give the italic descender room and keep the contact accent within the palette. */

.footer-social{border-top:1px solid #d5c5b24d;padding:25px 0;display:flex;justify-content:space-between;align-items:center;gap:25px}
.footer-social>.eyebrow{color:var(--sand);font-size:9px}
.footer-social .social-links{margin:0;gap:28px;font-size:12px}
.contact footer{border-top-color:#d5c5b24d}
@media(max-width:700px){.footer-social{align-items:start;gap:20px}.footer-social .social-links{gap:18px 24px;justify-content:flex-end;max-width:260px}.footer-social .social-links a{display:inline-flex!important}}

/* One accent colour across headings and interaction states. */
.contact .contact-grid em{color:var(--orange)}
a:hover,nav a:hover,.wordmark:hover,.footer-brand:hover,.social-links a:hover,.dark .text-link:hover,.dark .email:hover{color:var(--orange)}
.form-actions button:hover{background:var(--orange);border-color:var(--orange);color:var(--ink)}
a:focus-visible,button:focus-visible{outline-color:var(--orange)}
.form-field input:focus,.form-field textarea:focus{border-color:var(--orange);box-shadow:0 0 0 1px var(--orange)}
.form-actions button:disabled{cursor:wait;opacity:.65}
.form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* Cinematic visual studies: character, shared energy and editing craft. */
.approach-grid{align-items:start}
.approach-visual{min-width:0}
.editorial-image{margin:0;padding:0;display:block}
.editorial-image-frame{position:relative;overflow:hidden;background:var(--slate)}
.editorial-image-frame>img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.editorial-image figcaption{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding-top:12px;font-family:Inter,sans-serif;font-size:9px;line-height:1.5;color:var(--muted)}
.editorial-image figcaption span:first-child{letter-spacing:.14em;text-transform:uppercase}
.editorial-image figcaption span:last-child{letter-spacing:0;font-size:9px}
.character-image{margin-top:38px;max-width:390px}
.character-image .editorial-image-frame{aspect-ratio:1.25}
.character-image img{object-position:38% 40%}
.approach-grid>.approach-visual+div{padding-top:4px}
.energy-image{margin-top:58px}
.energy-image .editorial-image-frame{aspect-ratio:2.8}
.energy-image img{object-position:50% 48%}
.energy-image .editorial-image-frame:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#1719164d,transparent 60%)}
.energy-image figcaption{color:var(--sand)}
.editorial-overlay{position:absolute;left:40px;bottom:34px;z-index:1;font-family:Caveat,cursive;font-size:55px;line-height:1;color:var(--paper);transform:rotate(-5deg)}
.process-intro{display:flex;justify-content:space-between;align-items:end;gap:30px}
.process-intro>p{color:var(--muted);font-size:13px;line-height:1.7;max-width:40%;margin:0}
.craft-image{margin-top:38px}
.craft-image .editorial-image-frame{aspect-ratio:2.25}
.craft-image img{object-position:50% 46%}
.process .process-grid{margin-top:42px}
@media(max-width:1000px) and (min-width:701px){.character-image{max-width:100%}.character-image .editorial-image-frame{aspect-ratio:.95}.energy-image .editorial-image-frame{aspect-ratio:2.25}.process-intro{align-items:start}.process-intro>p{max-width:35%;font-size:12px}}
@media(max-width:700px){.character-image{margin-top:28px;max-width:none}.character-image .editorial-image-frame{aspect-ratio:1.4}.character-image img{object-position:45% 38%}.approach-grid{gap:30px}.energy-image{margin-top:38px}.energy-image .editorial-image-frame{aspect-ratio:1.35}.editorial-overlay{font-size:44px;left:25px;bottom:32px}.editorial-image figcaption{font-size:8px;gap:10px}.editorial-image figcaption span:last-child{font-size:8px}.editorial-image .corner{width:21px;height:21px}.editorial-image .tl{top:16px;left:16px}.editorial-image .br{bottom:16px;right:16px}.process-intro{display:block}.process-intro>p{max-width:100%;margin-top:22px;font-size:13px}.craft-image{margin-top:28px}.craft-image .editorial-image-frame{aspect-ratio:1.15}.craft-image img{object-position:45% 50%}.process .process-grid{margin-top:32px}}

/* A concise introduction for each audience. */
.audience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:42px;margin-top:48px;padding-top:28px;border-top:1px solid var(--line)}
.audience-grid h3{margin:0 0 12px;font-family:Inter,sans-serif;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.15em;color:var(--orange)}
.audience-grid p{margin:0;font-size:13px;line-height:1.7;color:var(--muted)}
@media(max-width:700px){.audience-grid{grid-template-columns:1fr;gap:24px;margin-top:32px;padding-top:24px}.audience-grid h3{margin-bottom:9px}.audience-grid p{max-width:440px}}

/* Selected work and responsive navigation. */
.header{position:relative}.menu-toggle{display:none}
.work{border-top:1px solid var(--line)}
.work-heading{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:42px}
.work-heading>p{margin:0;max-width:390px;color:var(--muted);font-size:14px;line-height:1.7}
.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:52px 36px}
.work-card{min-width:0}.work-card h3{font-size:28px;font-weight:500;letter-spacing:-.04em;line-height:1.2;margin:14px 0 12px}
.work-card>p{font-size:14px;line-height:1.7;color:var(--muted);max-width:510px;margin:0 0 15px}
.work-media{position:relative;aspect-ratio:16/9;background:var(--slate);overflow:hidden}
.video-launch{display:block;position:relative;width:100%;height:100%;padding:0;border:0;background:var(--slate);color:var(--paper);cursor:pointer;text-align:left;font:inherit}
.video-launch>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.video-launch:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 45%,#171916ad);pointer-events:none}
.video-launch:hover>img{transform:scale(1.025)}
.video-launch:focus-visible{outline:3px solid var(--orange);outline-offset:-5px}
.video-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:64px;height:64px;display:grid;place-items:center;border-radius:50%;background:var(--paper);color:var(--ink);font-size:21px;padding-left:4px;z-index:1;box-shadow:0 3px 20px #17191626}
.video-caption{position:absolute;left:22px;right:22px;bottom:20px;z-index:1;display:flex;justify-content:space-between;font-size:12px;letter-spacing:.04em}
.work-media>iframe{display:block;width:100%;height:100%;border:0;background:var(--paper)}
.work-meta{display:flex;justify-content:space-between;gap:12px;margin-top:20px;font-size:9px;line-height:1.6;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}
.work-meta>span:last-child:not(:first-child){text-align:right;flex-shrink:0}
.work-source{display:inline-flex;align-items:center;gap:24px;min-height:44px;border-bottom:1px solid var(--line);font-size:12px;font-weight:500}
.work-social{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,330px);gap:10%;align-items:center;padding:48px 8%;background:var(--slate);color:var(--paper)}
.work-social .work-meta{color:var(--sand);margin-top:0}.work-social h3{font-family:'Playfair Display',Georgia,serif;font-size:clamp(38px,4.2vw,60px);font-weight:400;line-height:1.04;letter-spacing:-.02em;margin:28px 0 24px}
.work-social-copy>p{font-size:14px;line-height:1.7;color:#e3dacf;max-width:350px}
.work-credit{display:block;font-size:10px;color:var(--sand);margin:24px 0 12px}
.work-reel{aspect-ratio:9/16;max-height:580px;width:100%}
.reel-launch{background:linear-gradient(145deg,#d74728 0%,#a9432e 100%);padding:30px 25px;display:flex;flex-direction:column;align-items:start}
.reel-kicker{font-size:9px;letter-spacing:.13em;text-transform:uppercase;z-index:1}
.reel-title{margin-top:45px;font-family:'Playfair Display',Georgia,serif;font-size:clamp(34px,4vw,48px);line-height:.98;z-index:1}.reel-title em{color:var(--paper)}
.reel-launch .video-play{top:65%}
.hero-grid>*{min-width:0}img,iframe{max-width:100%}
@media(max-width:1000px){#site-nav{gap:20px}.work-grid{gap:42px 24px}.work-meta{flex-wrap:wrap}.work-meta>span:last-child:not(:first-child){text-align:left}.work-social{gap:7%;padding:38px 5%}}
@media(max-width:700px){
  .hero-grid{grid-template-columns:minmax(0,1fr);gap:28px}
  h1{font-size:clamp(48px,15vw,88px);line-height:.98;letter-spacing:-.025em}
  .hero-copy .hero-intro{font-size:18px}.hero-copy .hero-description{font-size:15px;line-height:1.7}
  .image-wrap{min-height:0;max-height:none;aspect-ratio:4/5}.image-note{font-size:clamp(42px,12vw,56px);bottom:50px;left:24px}
  .contact h2,.studio-copy h2{font-size:clamp(40px,11vw,58px)}
  .menu-toggle{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;min-width:94px;min-height:44px;border:1px solid var(--line);background:transparent;color:var(--ink);padding:10px 13px;font:inherit;font-size:12px}
  .menu-toggle:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
  #site-nav{display:none;position:absolute;left:0;right:0;top:calc(100% - 1px);z-index:20;background:var(--paper);padding:12px 18px;border:1px solid var(--line);box-shadow:0 15px 22px #17191612;flex-direction:column;gap:0}
  #site-nav[data-open="true"]{display:flex}
  #site-nav a{display:flex!important;align-items:center;min-height:46px;margin:0;font-size:14px}
  .work-heading{display:block;margin-bottom:30px}.work-heading>p{margin-top:24px;font-size:14px}
  .work-grid{grid-template-columns:minmax(0,1fr);gap:38px}
  .work-card h3{font-size:25px}.work-card>p{font-size:14px}.work-meta{font-size:9px;gap:6px 12px;margin-top:17px}
  .video-play{width:56px;height:56px;font-size:18px}.video-caption{left:16px;right:16px;bottom:16px;font-size:11px}
  .work-social{grid-column:auto;grid-template-columns:minmax(0,1fr);padding:30px 22px;gap:30px}
  .work-social h3{font-size:clamp(36px,10vw,48px);margin:22px 0}.work-reel{max-width:330px;justify-self:center;max-height:none}
  .reel-title{font-size:clamp(34px,10vw,44px)}
  .social-links a,footer>a{min-height:44px;align-items:center;display:inline-flex}
  .form-field{min-width:0}.form-field input,.form-field textarea{min-width:0}
}
@media(prefers-reduced-motion:reduce){.video-launch>img{transition:none}.video-launch:hover>img{transform:none}}
