@font-face{font-family:Boska;src:url('fonts/boska-regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
:root{--ground:#e8e8e3;--surface:#dcdcd6;--ink:#181715;--footer-ground:var(--ink);--muted:#55544e;--accent:#bfb21a;--font-display:Boska,Georgia,serif;--font-text:Boska,Georgia,serif;--gutter:clamp(20px,2.2vw,36px);--body:clamp(18px,1.45vw,22px);--heading:clamp(36px,4.2vw,64px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--font-text);font-size:var(--body);line-height:1.5}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400;letter-spacing:-.025em;line-height:1.02;text-wrap:balance}h2{font-size:var(--heading)}h3{font-size:clamp(28px,3vw,44px)}p{max-width:60ch;text-wrap:pretty}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:5px}a,button{touch-action:manipulation}img{display:block;max-width:100%;height:auto}button,input,textarea{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--ink);outline-offset:6px}.frame{padding-left:var(--gutter);padding-right:var(--gutter)}.skip-link{position:absolute;left:var(--gutter);top:-100px;z-index:10;background:var(--accent);padding:12px}.skip-link:focus{top:10px}.site-header{min-height:88px;display:flex;justify-content:space-between;align-items:center;gap:20px}.wordmark{font-size:30px;letter-spacing:-.05em;text-decoration:none}.site-nav{display:flex;gap:clamp(20px,3vw,48px);align-items:center;font-size:20px}.site-nav a{text-decoration:none;position:relative}.site-nav a:hover,.site-nav a[aria-current=page]{text-decoration:underline}.site-header .wp-block-navigation{font-size:20px}.site-header .wp-block-site-title{font-size:30px}.site-header a{color:inherit}.button,.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:12px 24px;border:0;border-radius:0;background:var(--accent);color:var(--ink);text-decoration:none;white-space:nowrap;transition:transform .2s,background .2s}.button:hover,.wp-block-button__link:hover{transform:translateY(-3px);background:var(--ink);color:var(--ground)}.button:active{transform:translateY(0)}
.ms-hero{margin:0!important}.ms-hero .scene-stage{min-height:780px;padding-top:25px;background:var(--ground)}.hero-intro{display:flex;justify-content:space-between;gap:40px;align-items:start}.hero-intro p{max-width:490px;font-size:22px;line-height:1.35}.hero-name{font-size:23.1vw;line-height:.88;letter-spacing:-.065em;padding-top:32px;padding-bottom:32px;white-space:nowrap;max-width:none;text-wrap:nowrap}.hero-reel{display:grid;grid-template-columns:1fr 1.35fr 1fr;gap:24px;align-items:start;padding-top:16px;padding-bottom:40px;transform-origin:50% 0}.reel-picture{min-width:0}.reel-picture img{aspect-ratio:1.6;object-fit:cover;object-position:top;background:var(--surface)}.reel-picture:nth-child(1){transform:translateY(40px) rotate(-5deg)}.reel-picture:nth-child(3){transform:translateY(40px) rotate(5deg)}.reel-picture figcaption{font-size:18px;padding-top:12px}.scene.is-live .scene-stage{padding-top:32px}.scene.is-live .hero-reel{position:absolute;top:48%;left:0;right:0}.scene.is-rest .scene-stage{min-height:0;padding-bottom:30px}.scene.is-rest .hero-reel{position:relative}.scene.is-rest .reel-picture{transform:none}
.section{padding-top:140px;padding-bottom:120px}.intro{display:grid;grid-template-columns:1.15fr 1fr;gap:80px;background:var(--surface)}.intro p{max-width:490px;font-size:clamp(22px,2vw,30px);line-height:1.4}.intro .services{grid-column:1/-1;display:flex;justify-content:space-between;gap:40px;padding-top:42px}.services p{font-size:26px}.services span{display:block;font-size:18px;margin-top:10px;max-width:27ch}.work-title{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:64px}.work-index{display:grid;grid-template-columns:1fr 1fr;gap:64px}.work-links{display:flex;flex-direction:column;gap:24px}.work-choice{display:block;width:100%;text-align:left;border:0;background:none;color:var(--muted);padding:0;cursor:pointer;transition:transform .2s,color .2s}.work-choice .work-name{display:block;font-size:clamp(40px,5.6vw,80px);letter-spacing:-.025em;line-height:1.05}.work-choice .work-type{display:block;font-size:18px;margin-top:8px}.work-choice[data-preview-active=true],.work-choice:hover{color:var(--ink);transform:translateX(8px)}.project-preview{background:var(--surface);padding:24px}.project-preview img{width:100%;aspect-ratio:1.6;object-fit:cover;object-position:top}.project-preview p{margin:24px 0;font-size:22px}.project-preview a{font-size:20px}.mobile-project-image{display:none}.contact-band{background:var(--accent);display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact-band p{font-size:26px;max-width:30ch}.contact-band .button{margin-top:32px;background:var(--ink);color:var(--ground)}.contact-band .button:hover{background:var(--ground);color:var(--ink)}.site-footer{background:var(--footer-ground);color:var(--ground);padding-top:64px;overflow:clip}.footer-top{display:flex;justify-content:space-between;gap:30px;font-size:18px}.footer-top a:focus-visible{outline-color:var(--ground)}.footer-name{font-size:23.1vw;letter-spacing:-.065em;line-height:.88;padding-top:60px;padding-bottom:20px;white-space:nowrap}.page-heading{padding-top:80px;padding-bottom:80px;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}.page-heading h1{font-size:clamp(64px,11vw,164px);line-height:.9}.page-heading p{font-size:26px;max-width:30ch}.project-filters{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:48px}.project-filters button{border:0;background:var(--surface);color:var(--ink);padding:12px 24px;cursor:pointer}.project-filters button[aria-pressed=true]{background:var(--ink);color:var(--ground)}.project-list{padding-bottom:120px}.project-row{display:grid;grid-template-columns:1.25fr 1fr;gap:64px;align-items:center;margin-top:72px}.project-row[hidden]{display:none}.project-row img{width:100%;aspect-ratio:1.6;object-fit:cover;object-position:top}.project-row .project-copy{padding:20px 0}.project-row p{margin-top:24px;max-width:38ch}.project-row .project-status{font-size:18px;margin:0 0 16px;color:var(--muted)}.project-row a{display:inline-block;margin-top:28px}.development-poster{background:var(--ink);color:var(--ground);aspect-ratio:1.6;display:flex;flex-direction:column;justify-content:space-between;padding:32px}.development-poster strong{font-size:clamp(60px,8vw,110px);font-weight:400;letter-spacing:-.06em;line-height:1}.development-poster span{font-size:22px}.contact-page{padding-bottom:120px;display:grid;grid-template-columns:1fr 1fr;gap:64px}.contact-page h2{font-size:clamp(32px,3.5vw,54px)}.contact-page a{display:inline-block;margin-top:24px;font-size:clamp(28px,4vw,56px)}.contact-page .contact-note{background:var(--surface);padding:40px}.contact-note p{font-size:24px}.contact-note ul{padding-left:24px;margin-bottom:0}.contact-note li{margin-top:12px}.hero-editor{background:var(--ground);padding:32px}.hero-editor h1{font-size:70px}.hero-editor-images{display:flex;gap:16px;margin-top:24px}.hero-editor-images img{width:30%;object-fit:cover}.wp-site-blocks>main{margin-top:0}.wp-site-blocks>header,.wp-site-blocks>footer{margin:0}.wp-site-blocks .alignfull{margin-left:0;margin-right:0}.entry-content{max-width:none!important}.entry-content>*{max-width:none!important}.wp-block-post-content>*{margin-block-start:0}.content-page{padding-top:80px;padding-bottom:100px}.content-page .wp-block-post-title{margin-bottom:40px}.wp-block-navigation__responsive-container.is-menu-open{background:var(--ground);color:var(--ink)}
@media(min-width:1800px){.ms-hero .scene-stage{min-height:980px}}
@media(max-width:900px){.hero-intro p{max-width:420px}.hero-name{padding-top:48px}.hero-reel{gap:18px;grid-template-columns:1fr 1.25fr 1fr}.scene.is-live .hero-reel{top:43%}.intro{gap:40px}.intro .services{gap:24px;flex-wrap:wrap}.services p{font-size:24px}.work-index{gap:32px}.project-row{gap:32px}.page-heading{gap:32px}.contact-page{gap:32px}.contact-note{padding:24px!important}}
@media(max-width:600px){.site-header{min-height:76px;gap:12px}.wordmark{font-size:26px}.site-nav{gap:18px;font-size:18px}.site-nav .home-link{display:none}.hero-intro{display:block}.hero-intro p{font-size:21px;max-width:30ch}.hero-intro .button{margin-top:28px}.hero-name{padding-top:44px;padding-bottom:24px;font-size:22.4vw;letter-spacing:-.065em}.ms-hero .scene-stage{min-height:680px;padding-top:20px}.hero-reel{grid-template-columns:1fr 1fr;gap:16px}.hero-reel .reel-picture:first-child{display:none}.hero-reel .reel-picture:nth-child(2){transform:translateY(12px) rotate(-5deg)}.hero-reel .reel-picture:nth-child(3){transform:translateY(30px) rotate(5deg)}.reel-picture img{aspect-ratio:.9;object-position:top left}.reel-picture figcaption{font-size:18px}.scene.is-live .scene-stage{padding-top:24px}.scene.is-live .hero-reel{top:48%}.section{padding-top:80px;padding-bottom:80px}.intro{grid-template-columns:1fr;gap:32px}.intro p{font-size:24px}.intro .services{display:grid;grid-template-columns:1fr 1fr;padding-top:16px;gap:24px}.services p{font-size:24px}.services span{font-size:18px}.work-title{display:block;margin-bottom:40px}.work-title a{display:inline-block;margin-top:24px}.work-index{display:block}.project-preview{display:none}.work-links{gap:40px}.work-choice{color:var(--ink)}.work-choice .work-name{font-size:44px}.work-choice:hover,.work-choice[data-preview-active=true]{transform:none}.mobile-project-image{display:block;width:100%;aspect-ratio:1.6;object-fit:cover;object-position:top;margin-bottom:20px}.contact-band{grid-template-columns:1fr;gap:32px}.contact-band p{font-size:24px}.footer-top{display:block}.footer-top p+p{margin-top:16px}.footer-name{padding-top:48px;font-size:22.4vw}.page-heading{display:block;padding-top:48px;padding-bottom:56px}.page-heading p{font-size:24px;margin-top:32px}.project-row{grid-template-columns:1fr;gap:8px;margin-top:48px}.project-filters{gap:8px}.project-filters button{padding:12px 16px;font-size:18px}.project-row .project-copy{padding-top:24px}.contact-page{grid-template-columns:1fr;gap:48px;padding-bottom:80px}.contact-page a{font-size:40px}.contact-note p{font-size:24px}}
/* Five shared size roles keep the editor and the site in the same system. */
:root{--body:20px;--lead:28px;--small:18px}.hero-intro p,.project-preview p{font-size:var(--body)}.wordmark{font-size:var(--lead)}.intro p,.contact-band p,.contact-note p,.page-heading p{font-size:var(--lead)}.services h3{font-size:var(--lead)}.services>div p{font-size:var(--body);margin-top:12px;max-width:27ch}.work-choice .work-name{font-size:var(--heading)}.reel-picture figcaption,.work-type,.project-row .project-status,.footer-top{font-size:var(--small)}
@media(max-width:600px){:root{--lead:24px}.hero-intro p{font-size:var(--body)}.wordmark{font-size:var(--lead)}.contact-page a{font-size:var(--heading)}}
.project-copy .project-status{margin-top:16px}.hero-name{transform-origin:50% 50%;backface-visibility:hidden}
.contact-band .wp-block-button__link{background:var(--ink);color:var(--ground)}.contact-band .wp-block-button__link:hover{background:var(--ground);color:var(--ink)}.site-header .wordmark a{text-decoration:none}
@media(min-width:601px) and (max-width:900px){.intro p,.contact-band p,.page-heading p{font-size:var(--body)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reel-picture{transform:none!important}}

/* User-requested liquid glass replaces the pinned scroll scene. */
.ms-glass-hero{min-height:calc(100svh - 88px);display:flex;flex-direction:column;justify-content:space-between;padding-bottom:48px;gap:24px;margin:0!important}
.glass-visual{position:relative;min-height:440px;flex:1;display:grid;place-items:center;isolation:isolate}
.glass-title{position:relative;z-index:0;font-size:clamp(80px,12vw,176px);letter-spacing:-.06em;line-height:1;max-width:100%;white-space:nowrap;text-align:center;transition:opacity .2s}
.glass-ready .glass-title{opacity:0}.glass-mount{position:absolute;inset:0;z-index:1;opacity:0;transition:opacity .2s;pointer-events:none}.glass-ready .glass-mount{opacity:1}
.ms-glass-effect{position:relative;isolation:isolate;overflow:hidden;user-select:none;width:100%;height:100%}.ms-glass-mask{position:absolute;inset:0;margin:auto;display:block}
.glass-replay{position:absolute;bottom:16px;right:0;z-index:2;background:none;border:0;padding:12px 0 12px 20px;color:var(--ink);font-size:var(--small);cursor:pointer;text-decoration:underline;text-underline-offset:5px}.glass-replay[hidden]{display:none}
.glass-replay:hover{opacity:.65}.hero-summary{display:flex;justify-content:space-between;gap:40px;align-items:end}.hero-summary p{font-size:var(--body);line-height:1.45;max-width:500px}
.hero-summary h1{font-size:clamp(32px,3.4vw,48px);margin-bottom:16px;line-height:1.05;max-width:23ch}.glass-title{max-width:none}
@media(max-width:600px){.ms-glass-hero{min-height:calc(100svh - 76px);padding-bottom:32px;gap:24px}.glass-visual{min-height:350px}.glass-title{font-size:22vw}.hero-summary{display:block}.hero-summary .button{margin-top:24px}.glass-replay{font-size:16px;bottom:0}}
@media(prefers-reduced-motion:reduce){.glass-mount,.glass-replay{display:none!important}.glass-title{opacity:1!important}}

/* Project destinations stay native links; preview selection is only an enhancement. */
.work-choice{text-decoration:none;overflow-wrap:anywhere}.work-choice[href]:hover .work-name{text-decoration:underline}.work-choice:not([href]){cursor:default}.work-index>*{min-width:0}.project-preview p{overflow-wrap:anywhere}.project-filters[hidden],.project-preview [hidden]{display:none}

/* Responsive sources share the existing image geometry. */
.project-row>picture,.project-preview>picture{display:block;min-width:0}.mobile-project-picture{display:none}@media(max-width:600px){.mobile-project-picture{display:block}}

/* Isolated actions remain comfortable with touch, keyboard and enlarged text. */
.work-title a,.project-preview a,.project-row a,.contact-email a,.footer-top a{
  display:inline-flex;align-items:center;min-height:44px;min-width:44px;
  padding-block:8px;max-width:100%;overflow-wrap:anywhere;
}
.site-nav a,.site-header .wp-block-navigation-item__content{
  display:inline-flex;align-items:center;min-height:44px;min-width:44px;
}
.site-header .wp-block-navigation__responsive-container-open,
.site-header .wp-block-navigation__responsive-container-close{
  min-width:44px;min-height:44px;padding:10px;
}
.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{padding-block:8px}
.site-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay){
  background:var(--ground);color:var(--ink);padding:var(--gutter);
}
.site-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) a{color:var(--ink)}
.footer-brand a{display:block}
.frame{overflow-wrap:anywhere}
.intro>*,.contact-band>*,.page-heading>*,.contact-page>*,.project-row>*{min-width:0}
.site-header .brand-signature{min-width:0}
.site-nav{flex-wrap:wrap;justify-content:flex-end}
.button,.wp-block-button__link{white-space:normal;max-width:100%;text-align:center}
.glass-replay{min-height:44px;max-width:100%}
.skip-link{top:0;transform:translateY(-150%);max-width:calc(100% - var(--gutter) - var(--gutter))}
.skip-link:focus{transform:none}
@media(hover:none){
  .button:hover,.wp-block-button__link:hover,.work-choice:hover{transform:none}
}
/* In short landscape windows, put the service beside the decorative reveal. */
@media(min-width:600px) and (max-height:600px) and (orientation:landscape){
  .ms-glass-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);align-items:center;min-height:0;padding-block:24px;gap:24px}
  .glass-visual{min-height:240px}
  .ms-glass-hero .glass-logo{width:auto;max-width:100%;max-height:200px}
  .hero-summary{display:block}
  .hero-summary .button{margin-top:24px}
  .glass-replay{bottom:0}
}

/* Final shared details use the existing palette and underline language. */
html{scrollbar-color:var(--muted) var(--ground)}
::selection{background:var(--ink);color:var(--ground)}
.intro ::selection,.contact-band ::selection{background:var(--ground);color:var(--ink)}
.work-choice[data-preview-active=true] .work-name,.project-filters button[aria-pressed=true]{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.contact-note h2{margin-bottom:16px}
