@font-face{font-family:Portfolio Sans;src:url('/assets/portfolio-sans.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Portfolio Sans;src:url('/assets/portfolio-sans-bold.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}
:root{--ink:#171717;--paper:#fff;--soft:#f4f4f4;--muted:#626262;--line:#d6d6d6;--container:1200px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:32px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'Portfolio Sans',Arial,Helvetica,sans-serif;font-size:1rem;line-height:1.65;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
button,a{-webkit-tap-highlight-color:transparent}
img,video{display:block;max-width:100%}
h1,h2,h3,p,figure{margin:0}
a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:5px}
::selection{background:#171717;color:#fff}
em{font-family:Georgia,'Times New Roman',serif;font-weight:400}
.container{width:min(var(--container),calc(100% - 112px));margin-inline:auto}
.skip-link{position:absolute;top:12px;left:12px;z-index:100;background:var(--ink);color:white;padding:12px 20px;transform:translateY(-180%)}
.skip-link:focus{transform:translateY(0)}
.site-header{border-bottom:1px solid var(--line);background:#fff}
.header-inner{display:flex;align-items:center;gap:36px;min-height:103px}
.wordmark{font-size:1.375rem;font-weight:700;letter-spacing:-.055em;line-height:1;display:inline-flex;flex-direction:column;flex:none}
.header-descriptor{font-size:.75rem;letter-spacing:.12em;padding-left:30px;border-left:1px solid #bbb;color:var(--muted)}
.site-header nav{margin-left:auto;display:flex;gap:32px;align-items:center;font-size:.9375rem}
.site-header nav a{padding-block:10px;position:relative}
.site-header nav a:after{content:'';position:absolute;bottom:5px;left:0;width:0;height:1px;background:currentColor;transition:width .2s}
.site-header nav a:hover:after{width:100%}
.menu-toggle{display:none}
.eyebrow{font-size:.75rem;letter-spacing:.11em;line-height:1.5;font-weight:400;margin-bottom:27px}
.hero{padding-top:74px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:62px;align-items:center}
.hero h1{font-size:clamp(2.8rem,5.2vw,5rem);line-height:1.05;letter-spacing:-.048em;font-weight:700;margin-bottom:32px}
.hero h1 span,.hero h1 em{display:block}
.hero h1 em{letter-spacing:-.035em;margin-top:8px}
.hero-support{font-size:1.0625rem;line-height:1.7;max-width:485px;color:var(--muted)}
.hero-actions{display:flex;align-items:center;gap:32px;margin-top:29px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;border:1px solid transparent;border-radius:2px;padding:13px 30px;font-size:.9375rem;line-height:1.5;transition:background .2s,color .2s;text-align:center}
.button-dark{background:var(--ink);color:white}.button-dark:hover{background:#383838}
.button-white{background:white;color:var(--ink)}.button-white:hover{background:#dedede}
.underlined-link{font-size:.9375rem;border-bottom:1px solid #8d8d8d;padding-bottom:3px;line-height:1.6}.underlined-link:hover{border-color:var(--ink)}
.hero-frame{min-width:0;margin-top:17px}
.hero-frame>video{display:block;aspect-ratio:9/16;object-fit:contain;width:100%;height:auto;background:transparent}

.hero-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:22px;padding-bottom:22px;margin-top:73px;font-size:.75rem;letter-spacing:.06em;color:var(--muted)}
.section{padding-block:105px}
h2{font-size:clamp(2.4rem,4.3vw,4rem);line-height:1.07;letter-spacing:-.047em;font-weight:700}h2 em{letter-spacing:-.025em}
h1,h2,h3{overflow-wrap:break-word}
.production-section{background:var(--soft)}
.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:95px;align-items:center}.intro-copy{color:#535353;max-width:510px}.intro-copy p+p{margin-top:18px}
.process-grid{list-style:none;padding:0;margin:55px 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}.process-grid li{border-top:1px solid #aaa;padding-top:24px}
.process-number{display:block;font-size:3rem;font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1;letter-spacing:-.06em;margin-bottom:25px}
.process-grid h3{font-size:1.125rem;font-weight:700;margin-bottom:10px;letter-spacing:-.02em}.process-grid p{color:var(--muted);font-size:1rem;line-height:1.55;max-width:255px}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:70px;margin-bottom:50px}.section-heading>p{max-width:295px;color:var(--muted);padding-bottom:4px}
.video-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;width:100%;margin-inline:auto}.video-scroll-hint{display:none}.video-work{min-width:0}
.video-work video{width:100%;height:auto;aspect-ratio:9/16;object-fit:contain;background:#151515;border-radius:2px}
.video-work figcaption{margin-top:13px;font-size:.75rem;letter-spacing:.12em;color:var(--muted)}
.packages-section{border-top:1px solid var(--line)}
.package-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #444;border-bottom:1px solid var(--line)}.package{padding:29px 28px 34px 0;min-width:0}.package+.package{border-left:1px solid var(--line);padding-left:34px}
.package-top{min-height:49px;display:flex;flex-direction:column;gap:4px;margin-bottom:19px;align-items:flex-start}.package-top .eyebrow{margin:0}.best-value{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:.9375rem;line-height:1.35}
.package h3{font-size:clamp(2rem,3.25vw,3rem);line-height:1.08;letter-spacing:-.04em;font-weight:700}.package-price{margin-top:33px;font-size:2rem;line-height:1.2;letter-spacing:-.035em}.package-price span{font-size:1.125rem}
.featured-package{position:relative}.featured-package:before{content:'';height:2px;position:absolute;top:-1px;left:0;right:0;background:var(--ink)}
.package-inclusions{display:grid;grid-template-columns:1fr 2fr;gap:60px;padding-top:37px}.inclusions-heading h3{font-size:1.25rem;font-weight:700;letter-spacing:-.025em;margin-bottom:18px}.delivery{max-width:260px;color:var(--muted);font-size:.9375rem}.delivery strong{font-weight:700;color:var(--ink)}
.inclusions-list{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:10px 33px;font-size:.9375rem;color:#535353}.inclusions-list li{position:relative;padding-left:16px}.inclusions-list li:before{content:'—';position:absolute;left:0;font-size:.8125rem;top:2px;color:#777}
.complements{display:flex;gap:33px;flex-wrap:wrap;margin-top:33px;border-top:1px solid var(--line);padding-top:19px;font-size:.875rem;color:var(--muted)}.complements strong{font-weight:400;color:var(--ink)}
.script-section{background:var(--soft)}.script-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:90px;align-items:center}.script-grid h2{font-size:clamp(2.25rem,3.75vw,3.5rem)}.script-support{color:var(--muted);margin-top:25px;max-width:545px}.script-list{margin:24px 0 0;padding-left:18px;color:#444;font-size:.9375rem;line-height:1.95}
.script-pricing{border-top:1px solid #999;padding-top:23px}.script-pricing>.eyebrow{margin-bottom:14px}.price-line{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-block:18px;border-bottom:1px solid #ccc;font-size:1rem}.price-line strong{font-size:1.2rem;font-weight:400;white-space:nowrap}.technical-note{color:var(--muted);font-size:.875rem;line-height:1.6;margin-top:25px}
.design-section{padding-top:120px;background:#fff}.design-case,.comparison{background:#fff}.design-intro{margin-bottom:60px;max-width:850px}.design-intro h2{font-size:clamp(2.65rem,5.2vw,5rem)}.design-intro>p:last-child{color:var(--muted);max-width:565px;margin-top:29px}
.design-case{border-top:1px solid var(--line);padding-top:24px;margin-top:55px}.case-heading{display:flex;align-items:center;gap:20px;margin-bottom:27px}.case-index{font-family:Georgia,'Times New Roman',serif;font-size:1.5rem;color:var(--muted)}.case-heading h3{font-size:1.4rem;line-height:1.35;letter-spacing:-.035em;font-weight:400}.case-descriptor{font-size:.75rem;letter-spacing:.09em;margin-left:auto;color:var(--muted);white-space:nowrap}
.comparison{display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:1020px;margin-inline:auto}.comparison figcaption{font-size:.75rem;letter-spacing:.13em;line-height:1.5;margin-bottom:13px}
.image-view{display:block;padding:0;border:0;background:transparent;width:100%;text-align:left;cursor:zoom-in;min-width:0}.image-view img{width:100%;height:auto;object-fit:contain;max-width:100%}
.design-investment{background:var(--soft)}.investment-heading{display:grid;grid-template-columns:1fr 2fr;align-items:start;gap:60px;margin-bottom:44px}.investment-heading .eyebrow{margin-top:9px}.investment-heading h2{font-size:clamp(2rem,3.7vw,3.3rem)}
.design-price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #999;border-bottom:1px solid #ccc}.design-price-grid>div{padding:28px 0 31px}.design-price-grid>div+div{padding-left:35px;border-left:1px solid #ccc}.design-price-grid h3{font-size:1rem;font-weight:400;margin-bottom:14px}.design-price-grid p{font-size:2rem;letter-spacing:-.04em;line-height:1.15}
.people-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;max-width:1040px;margin-inline:auto}.person{min-width:0}.person-photo{display:block;aspect-ratio:2/3;object-fit:contain;width:100%;height:auto;margin-bottom:27px}.person-stage{font-size:.75rem;letter-spacing:.1em;color:var(--muted);margin-bottom:19px}.person h3{font-size:2rem;letter-spacing:-.04em;font-weight:400;line-height:1.2;margin-bottom:21px}.person>p:not(.person-stage){max-width:410px;color:var(--muted)}.person>p+p{margin-top:12px}
.closing{background:var(--ink);color:white;padding-block:99px 105px}.closing-inner{max-width:1200px}.closing .eyebrow{color:#bdbdbd}.closing h2{font-size:clamp(2.6rem,5.55vw,5.25rem);line-height:1.04;letter-spacing:-.045em}.closing p:not(.eyebrow){color:#c4c4c4;max-width:465px;margin-top:29px;margin-bottom:30px}
.footer{padding:37px 0;background:#fff}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:35px;font-size:.875rem}.footer p span{color:var(--muted)}.footer .underlined-link{font-size:.875rem}
.lightbox,.contact-dialog{color:var(--ink);background:#fff;border:0;padding:25px;width:min(1080px,calc(100% - 40px));max-height:90vh;overflow:auto}dialog::backdrop{background:rgba(0,0,0,.72)}.lightbox-toolbar{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:22px}.lightbox-toolbar p{font-size:.9375rem;color:var(--muted)}.dialog-close{padding:8px 12px;background:#fff;border:1px solid #999;border-radius:1px;font-size:.875rem;min-height:44px;flex:none}.lightbox>img{width:100%;height:auto}.contact-dialog{width:min(580px,calc(100% - 40px));padding:35px}.contact-dialog>.dialog-close{display:block;margin:0 0 27px auto}.contact-dialog h2{font-size:2.5rem}.contact-dialog>p:not(.eyebrow){margin:24px 0;color:var(--muted)}
@media(min-width:1500px){.hero-grid{grid-template-columns:minmax(0,1fr) 276px;gap:90px}.hero{padding-top:85px}}
@media(max-width:1100px){.container{width:calc(100% - 72px)}.header-inner{gap:24px}.header-descriptor{display:none}.hero-grid{grid-template-columns:minmax(0,1fr) 210px;gap:38px}.hero h1{font-size:clamp(2.6rem,5.6vw,4.5rem)}.hero .eyebrow{font-size:.75rem}.intro-grid,.script-grid{gap:50px}.process-grid{gap:25px}.package+.package{padding-left:25px}.package-inclusions{gap:40px}.section-heading{gap:40px}}
@media(max-width:760px){
  .container{width:calc(100% - 40px)}.header-inner{min-height:85px;justify-content:space-between;position:relative}.wordmark{font-size:1.25rem}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:7px;width:46px;height:46px;border:1px solid #bbb;background:#fff;border-radius:1px;padding:12px;z-index:22}.menu-toggle span{width:20px;height:1px;display:block;background:currentColor;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.site-header{position:relative;z-index:20}.site-header nav{display:none;position:absolute;top:85px;left:-20px;right:-20px;background:#fff;flex-direction:column;align-items:flex-start;gap:9px;padding:23px 25px 30px;border-bottom:1px solid #999;font-size:1.125rem;margin:0}.site-header nav.is-open{display:flex}.site-header nav a{width:100%;padding:10px 0}
  .hero{padding-top:46px}.hero-grid{grid-template-columns:1fr;gap:25px}.hero .eyebrow{font-size:.75rem;letter-spacing:.075em;margin-bottom:25px}.hero h1{font-size:clamp(2.5rem,6.8vw,3.45rem);line-height:1.09;letter-spacing:-.045em;margin-bottom:24px}.hero h1 em{margin-top:9px;letter-spacing:-.037em}.hero-support{font-size:1rem;max-width:500px}.hero-actions{gap:29px;margin-top:27px}.hero-frame{width:min(170px,46%);margin:0 0 0 auto}.hero-bottom{margin-top:40px;flex-direction:column;gap:9px;font-size:.75rem;padding-block:18px;letter-spacing:.04em}.hero-bottom span:last-child{font-size:.8125rem;letter-spacing:0}
  .section{padding-block:65px}.eyebrow{margin-bottom:21px}h2{font-size:clamp(2.25rem,6vw,3.25rem);line-height:1.11}.intro-grid,.script-grid{grid-template-columns:1fr;gap:29px}.intro-copy{max-width:none}.process-grid{grid-template-columns:1fr 1fr;gap:35px 22px;margin-top:37px}.process-grid li{padding-top:19px}.process-number{font-size:2.65rem;margin-bottom:19px}.process-grid h3{font-size:1.125rem}.process-grid p{font-size:.9375rem}.section-heading{display:block;margin-bottom:35px}.section-heading>p{margin-top:22px;max-width:420px}.video-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:86%;gap:17px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:0;padding-bottom:12px;scrollbar-width:thin;scrollbar-color:#aaa #fff}.video-work{scroll-snap-align:start;scroll-snap-stop:always}.video-scroll-hint{display:block;color:var(--muted);font-size:.875rem;margin-top:14px}.video-work figcaption{margin-top:13px}
  .package-grid{grid-template-columns:1fr}.package{padding:23px 0 24px;display:grid;grid-template-columns:1fr auto;gap:0 20px;align-items:center}.package+.package{border-left:none;padding:23px 0 24px;border-top:1px solid var(--line)}.package-top{grid-column:1/-1;min-height:0;margin-bottom:19px;flex-direction:row;justify-content:space-between;align-items:center;gap:12px}.best-value{font-size:.875rem;text-align:right}.package h3{font-size:2.5rem}.package-price{font-size:1.75rem;margin:0}.package-price span{font-size:1rem}.featured-package:before{display:none}.featured-package{border-top-color:var(--ink)!important}.package-inclusions{grid-template-columns:1fr;gap:25px;padding-top:29px}.inclusions-heading h3{margin-bottom:12px}.delivery{max-width:330px}.inclusions-list{grid-template-columns:1fr;gap:9px}.complements{gap:9px;margin-top:26px;font-size:.875rem}
  .script-grid{gap:40px}.script-grid h2{font-size:clamp(2.1rem,6vw,3rem)}.script-grid h2 br{display:none}.script-support{margin-top:23px}.script-pricing{padding-top:22px}.technical-note{margin-top:23px}.design-section{padding-top:77px}.design-intro{margin-bottom:40px}.design-intro h2{font-size:clamp(2.2rem,6.4vw,3.4rem)}.design-intro>p:last-child{margin-top:25px}.design-case{padding-top:21px;margin-top:38px}.case-heading{gap:12px;margin-bottom:23px;flex-wrap:wrap}.case-heading h3{font-size:1.25rem;flex:1}.case-index{font-size:1.3rem}.case-descriptor{display:none}.comparison{grid-template-columns:1fr;gap:27px;max-width:470px}.comparison figcaption{margin-bottom:10px}  .investment-heading{grid-template-columns:1fr;gap:0;margin-bottom:29px}.investment-heading .eyebrow{margin-top:0}.investment-heading h2{font-size:2.3rem}.design-price-grid{grid-template-columns:1fr}.design-price-grid>div,.design-price-grid>div+div{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:21px 0;border-left:none}.design-price-grid>div+div{border-top:1px solid #ccc}.design-price-grid h3{margin:0}.design-price-grid p{font-size:1.65rem;white-space:nowrap}.people-grid{grid-template-columns:1fr;gap:45px;max-width:470px}.person-photo{margin-bottom:24px}.person h3{font-size:1.8rem;margin-bottom:17px}.person-stage{margin-bottom:16px}
  .closing{padding-block:66px 72px}.closing h2{font-size:clamp(2.2rem,6.3vw,3.5rem);line-height:1.1}.closing .eyebrow{font-size:.75rem}.closing p:not(.eyebrow){margin-top:23px}.footer-inner{display:grid;grid-template-columns:1fr auto;gap:28px 20px}.footer p{grid-column:1/-1;grid-row:2;font-size:.875rem}.footer .underlined-link{font-size:.875rem}.lightbox,.contact-dialog{width:calc(100% - 24px);padding:18px;max-height:92vh}.lightbox-toolbar{gap:16px}.lightbox-toolbar p{font-size:.875rem}.contact-dialog h2{font-size:2.15rem}
}
@media(max-width:370px){.container{width:calc(100% - 32px)}.hero .eyebrow{letter-spacing:.035em}.hero h1{font-size:2.25rem}.button{padding:12px 24px}.hero-actions{gap:24px}.process-grid{grid-template-columns:1fr;gap:27px}.process-grid li{display:grid;grid-template-columns:45px 1fr;gap:5px 18px}.process-number{grid-row:1/3;margin:0;font-size:2.3rem}.process-grid p{grid-column:2;max-width:none}.package h3{font-size:2.15rem}.package-price{font-size:1.5rem}.best-value{font-size:.8125rem}.design-intro h2{font-size:2.05rem}.closing h2{font-size:2rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Compact comparisons and discreet portraits. */
#design .design-intro{margin-bottom:32px}
#design .design-case{display:grid;grid-template-columns:210px minmax(0,1fr);gap:38px;align-items:start;padding-top:24px;margin-top:28px}
#design .case-heading{display:grid;grid-template-columns:30px minmax(0,1fr);gap:6px 12px;margin-bottom:0;align-items:start}
#design .case-index{font-size:1.35rem;line-height:1.35}
#design .case-heading h3{font-size:1.25rem;line-height:1.35;letter-spacing:-.025em;min-width:0}
#design .case-descriptor{grid-column:2;margin-left:0;margin-top:8px;font-size:.75rem;letter-spacing:.065em;white-space:normal}
#design .comparison{position:relative;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;width:100%;max-width:680px;margin:0 0 0 auto}
#design .comparison:before{content:'';position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--line)}
#design .comparison figure{min-width:0}
#design .comparison figcaption{font-size:.8125rem;letter-spacing:.12em;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--line)}
#design .feed-crop{display:block;position:relative;width:100%;aspect-ratio:var(--feed-ratio);overflow:hidden;background:#fff}
#design .feed-crop img{position:absolute;left:calc(-1 * var(--crop-x));top:calc(-1 * var(--crop-y));width:var(--crop-width);max-width:none;height:auto}
#sobre .people-grid{gap:48px;max-width:1100px}
#sobre .person{display:grid;grid-template-columns:128px minmax(0,1fr);gap:24px;align-items:start}
#sobre .person-photo{width:128px;height:auto;aspect-ratio:2/3;object-fit:contain;margin:0}
#sobre .person-copy{min-width:0}
#sobre .person-stage{margin-bottom:12px;line-height:1.5}
#sobre .person h3{font-size:1.75rem;margin-bottom:15px}
#sobre .person-copy>p:not(.person-stage){max-width:410px;color:var(--muted)}
#sobre .person-copy>p+p{margin-top:12px}
@media(max-width:1100px){
  #design .design-case{grid-template-columns:170px minmax(0,1fr);gap:26px}
  #sobre .people-grid{gap:32px}
  #sobre .person{grid-template-columns:104px minmax(0,1fr);gap:20px}
  #sobre .person-photo{width:104px}
}
@media(max-width:760px){
  #design .design-intro{margin-bottom:26px}
  #design .design-case{display:block;margin-top:25px;padding-top:20px}
  #design .case-heading{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}
  #design .case-heading h3{font-size:1.125rem;flex:1}
  #design .case-descriptor{display:none}
  #design .comparison{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:520px;margin:0 auto}
  #design .comparison figcaption{font-size:.75rem;margin-bottom:8px;padding-bottom:7px}
  #sobre .people-grid{grid-template-columns:1fr;gap:36px;max-width:560px}
  #sobre .person{grid-template-columns:88px minmax(0,1fr);gap:18px}
  #sobre .person-photo{width:88px}
  #sobre .person-stage{font-size:.75rem;letter-spacing:.075em;margin-bottom:10px}
  #sobre .person h3{font-size:1.5rem;margin-bottom:13px}
}
