/* Translucent glass controls, with a solid fallback behind the glass. */
:root{--glass-ink:#172133;--glass-fill:#ffffffba;--glass-edge:#ffffffdb;--glass-shadow:#17243b20}
.work-story,.detail-page,.cinema-section{--glass-ink:#f7faff;--glass-fill:#b0c1dd20;--glass-edge:#ffffff55;--glass-shadow:#0004}
button,.button,.nav-contact,.story-index nav a,.story-open,.project-actions .text-link{
 color:var(--glass-ink)!important;background:linear-gradient(135deg,#ffffff38,transparent 48%),var(--glass-fill)!important;
 border:1px solid var(--glass-edge)!important;border-radius:24px!important;
 backdrop-filter:blur(18px) saturate(165%);-webkit-backdrop-filter:blur(18px) saturate(165%);
 box-shadow:inset 0 1px 0 #ffffff70,inset 0 -1px 0 #ffffff10,0 6px 20px var(--glass-shadow)!important;
 transition:background .25s,box-shadow .25s,translate .25s;
}
button:hover:not(:disabled),.button:hover,.nav-contact:hover,.story-open:hover{box-shadow:inset 0 1px 0 #fff9,0 9px 26px var(--glass-shadow)!important;translate:0 -2px}
button:active:not(:disabled),.button:active{translate:0 0}
button[aria-pressed=true]{background:linear-gradient(135deg,#ffffff70,#ffffff20),var(--glass-fill)!important;border-color:#8fbbff!important}
button:disabled{opacity:.4;cursor:not-allowed}
button:focus-visible,.button:focus-visible,.nav-contact:focus-visible,.story-open:focus-visible{outline:2px solid #78a9fa;outline-offset:3px}
.story-open{padding:9px 16px;font-size:14px;width:max-content;display:inline-block}
.story-thumb,.page-thumb{border-radius:10px!important}
/* Give copy, presentation and thumbnails their own grid areas. */
.work-story .story-pin{display:grid;grid-template-columns:minmax(0,32%) minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;gap:18px 4%;padding:88px 5% 22px;height:100svh;min-height:660px;align-items:center}
.work-story .story-copy{grid-column:1;grid-row:1;width:auto;min-width:0;align-self:center}
.work-story .story-copy h2{font-size:clamp(34px,4vw,62px);line-height:1.04;margin:12px 0 14px;letter-spacing:-.045em}
.work-story .story-title{min-height:0;margin:0 0 10px;font-size:17px;line-height:1.35}
.work-story .story-counter{margin:0 0 10px;font-size:12px;display:block}
.work-story .story-step{position:static;margin-top:10px;gap:8px}
.work-story .story-step button{height:36px;width:36px;font-size:20px;padding:0}
.work-story .context-modes{margin-top:12px;padding:3px;gap:4px;border:0;background:transparent;display:flex;width:max-content;max-width:100%;flex-wrap:wrap}
.work-story .context-modes button{padding:9px 14px;font-size:13px}
.work-story .context-note{position:static;margin:8px 0 0;font-size:12px;line-height:1.45;max-width:100%;overflow-wrap:anywhere}
.work-story .context-scene,.work-story[data-layout] .context-scene{position:relative;grid-column:2;grid-row:1;left:auto;right:auto;top:auto;bottom:auto;rotate:none;width:min(100%,calc((100svh - 230px)*1.5));height:auto;aspect-ratio:3/2;justify-self:center;align-self:center}
.work-story .story-art{position:relative;grid-column:2;grid-row:1;left:auto;right:auto;top:auto;bottom:auto;width:100%;height:100%;min-height:0;max-height:calc(100svh - 250px);align-self:center}
.work-story .story-thumbnails{position:relative;grid-column:1/-1;grid-row:2;left:auto;right:auto;top:auto;bottom:auto;width:100%;margin:0;padding:9px 3px 4px;gap:10px;align-self:end;z-index:3}
.work-story .story-thumb{flex-basis:58px;height:76px;padding:4px}
/* Slight inset inside every photographed display; keep the full design. */
.context-art img,.placement-display img{box-sizing:border-box;padding:4%!important;object-fit:contain!important}
@media(max-width:700px){
 .work-story .story-pin{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(180px,1fr) auto;gap:16px;padding:78px 5% 20px;min-height:820px}
 .work-story .story-copy{grid-column:1;grid-row:1;align-self:start}
 .work-story .story-copy h2{font-size:32px;max-width:100%;margin:8px 0 10px}
 .work-story .story-title{font-size:15px;margin-bottom:7px}
 .work-story .story-counter{font-size:11px;margin-bottom:8px}
 .work-story .story-step{display:inline-flex;vertical-align:middle;margin:0 0 0 10px}
 .work-story .context-modes{margin-top:9px}
 .work-story .context-note{margin-top:6px}
 .work-story .context-scene,.work-story[data-layout] .context-scene{grid-column:1;grid-row:2;width:100%;max-width:540px}
 .work-story .story-art{grid-column:1;grid-row:2;max-height:330px;min-height:180px}
 .work-story .story-thumbnails{grid-column:1;grid-row:3}
 .work-story .story-thumb{flex-basis:48px;height:64px}
}
@media(prefers-reduced-motion:reduce){button,.button,.nav-contact,.story-open{transition:none;translate:none!important}}
.motion-paused button,.motion-paused .button,.motion-paused .nav-contact,.motion-paused .story-open{translate:none!important}
@supports not (backdrop-filter:blur(1px)){button,.button,.nav-contact,.story-open{background:var(--glass-fill)!important}}
/* Glossy, translucent controls with pointer-responsive highlights. */
:root{--glass-fill:#ffffff85;--glass-edge:#ffffffd9;--glass-sheen:#ffffffb3}
.work-story,.detail-page,.cinema-section{--glass-fill:#bfd4ff20;--glass-edge:#ffffff70;--glass-sheen:#ffffff55}
button,.button,.nav-contact,.story-index nav a,.story-open,.project-actions .text-link{
 background:radial-gradient(ellipse at var(--glass-x,30%) var(--glass-y,0%),var(--glass-sheen),transparent 65%),linear-gradient(160deg,#ffffff45 0%,#ffffff08 40%,#b9d4ff15 65%,#ffffff30 100%),var(--glass-fill)!important;
 backdrop-filter:blur(24px) saturate(185%);-webkit-backdrop-filter:blur(24px) saturate(185%);
 box-shadow:inset 0 1px 1px #ffffffb3,inset 1px 0 1px #ffffff55,inset 0 -1px 1px #ffffff45,0 7px 24px var(--glass-shadow)!important;
 border-color:var(--glass-edge)!important;
}
button:hover:not(:disabled),.button:hover,.nav-contact:hover,.story-open:hover{box-shadow:inset 0 1px 2px #fff,inset 0 -1px 2px #c9e1ff80,0 10px 30px var(--glass-shadow)!important}
button[aria-pressed=true]{background:radial-gradient(ellipse at var(--glass-x,30%) var(--glass-y,0%),#ffffffb0,transparent 70%),linear-gradient(135deg,#c4ddff70,#ffffff28),var(--glass-fill)!important;border-color:#b3d7ff!important}
.scroll-soft-focus{filter:blur(var(--scroll-soft-blur,0px));transition:filter .12s linear}
.scroll-soft-focus:focus-within{filter:none!important}
.motion-paused .scroll-soft-focus{filter:none!important;transition:none}
@media(prefers-reduced-motion:reduce){.scroll-soft-focus{filter:none!important;transition:none}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){button,.button,.nav-contact,.story-open{background:linear-gradient(135deg,#f9fcff,#d9e5f5)!important;color:#172133!important}}
/* Full-width canvas and supplied studio identity. */
html,body{width:100%;max-width:none;margin:0}main{width:100%;max-width:none}body{overflow-x:clip}
.ipr-logo{display:inline-flex!important;align-items:center;gap:11px;letter-spacing:0!important;flex-shrink:0}.ipr-logo .brand-symbol{display:block;width:40px;height:48px;object-fit:contain;flex-shrink:0;background:transparent;border-radius:0}.ipr-logo .brand-wordmark{display:block;margin:0!important;font:700 25px/1.1 Arial,sans-serif;letter-spacing:-.9px!important}.ipr-logo .brand-wordmark small{display:block;font:500 8px/1.4 Arial,sans-serif;letter-spacing:2.5px;margin-top:6px}.detail-page .brand-symbol{padding:3px}
/* Glass treatment for the lower navigation and contact controls too. */
.glass-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px!important;border-radius:28px!important;border:1px solid #ffffffa6!important;color:var(--glass-ink)!important;background:radial-gradient(ellipse at var(--glass-x,30%) var(--glass-y,0%),#ffffffb0,transparent 65%),linear-gradient(140deg,#ffffff50,#bed8ff20),var(--glass-fill)!important;backdrop-filter:blur(28px) saturate(190%);-webkit-backdrop-filter:blur(28px) saturate(190%);box-shadow:inset 0 1px 1px #fff,inset 0 -1px 1px #ffffff55,0 7px 22px var(--glass-shadow);transition:box-shadow .3s,translate .3s;font-size:14px!important;overflow-wrap:anywhere}
.glass-action:hover{translate:0 -2px;box-shadow:inset 0 1px 2px white,0 12px 28px var(--glass-shadow)}footer{flex-wrap:wrap;gap:14px}.contact-details{align-items:flex-start}.services,.cinema-scroll,footer{--glass-ink:#f7faff;--glass-fill:#bfd4ff24;--glass-shadow:#0003}.contact{--glass-ink:#172133;--glass-fill:#ffffff85}
/* A soft lower edge applies to everything passing through the viewport. */
.viewport-soft-edge{position:fixed;left:0;right:0;bottom:0;height:23vh;z-index:35;pointer-events:none;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);mask-image:linear-gradient(to bottom,transparent 0%,#0003 30%,#000b 70%,#000 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#0003 30%,#000b 70%,#000 100%);transition:opacity .25s}.motion-paused .viewport-soft-edge,body:has(.contact-form:focus-within) .viewport-soft-edge{opacity:0}.viewport-soft-edge.at-bottom{opacity:0}
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:22px 28px;margin:55px 0 0;padding:clamp(22px,4vw,50px);background:#ffffff65;border:1px solid #ffffffb0;border-radius:28px;box-shadow:inset 0 1px 1px #fff,0 18px 55px #1721330a}.form-heading,.form-wide{grid-column:1/-1}.form-heading h3{font-size:clamp(27px,3vw,42px);letter-spacing:-1px;margin:0 0 10px}.form-heading p{font-size:16px;line-height:1.5;color:#5e6875;margin:0}.contact-form label{font-size:15px;font-weight:500;display:block;line-height:1.5}.contact-form label>span{color:#5c6980}.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;margin-top:9px;font:400 16px/1.5 Arial,sans-serif;color:#172133;background:#ffffffb5;border:1px solid #a7b4c65e;border-radius:12px;padding:13px 15px;outline-offset:3px;min-width:0}.contact-form textarea{resize:vertical;min-height:130px}.contact-form :is(input,select,textarea):focus-visible{outline:2px solid #517ec5}.form-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.form-actions button{padding:14px 22px;font-size:15px;cursor:pointer}.form-actions p{flex-basis:100%;margin:6px 0 0;font-size:14px;line-height:1.5;color:#586575}
@media(max-width:700px){header{height:auto!important;min-height:100px;padding:12px 5%!important;display:grid!important;grid-template-columns:1fr auto;gap:12px!important;align-items:center}header>.ipr-logo{grid-column:1;grid-row:1}header>nav{grid-column:1/-1;grid-row:2;justify-content:center;gap:24px!important}header>.nav-contact{grid-column:2;grid-row:1;font-size:12px!important;padding:10px 13px!important}.ipr-logo .brand-wordmark{font-size:21px}.ipr-logo .brand-symbol{width:32px;height:39px}.ipr-logo{gap:8px}.contact-form{grid-template-columns:1fr;gap:18px;margin-top:32px;border-radius:20px}.contact-form>*{grid-column:1}.viewport-soft-edge{height:19vh}.glass-action{max-width:100%}.work-story .story-pin{padding-top:116px}.contact-details a{font-size:14px!important}}
@media(prefers-reduced-motion:reduce){.viewport-soft-edge{display:none}.glass-action{transition:none;translate:none}}
footer{--glass-ink:#172133;--glass-fill:#ffffff85;--glass-shadow:#17243b20}.detail-page footer{--glass-ink:#f7faff;--glass-fill:#bfd4ff24;--glass-shadow:#0003}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.glass-action{background:#edf3fc!important;color:#172133!important}}

/* Scroll blur is transient: the resting page stays clear. */
body:not(.is-scrolling) .scroll-soft-focus{filter:blur(0px)}
.viewport-soft-edge{opacity:0}
body.is-scrolling:not(.motion-paused) .viewport-soft-edge:not(.at-bottom){opacity:1}
body:has(.contact-form:focus-within) .viewport-soft-edge{opacity:0!important}
/* A left-aligned contact flow on a quiet grey surface. */
.contact,body:not(.detail-page) footer{background:#dedfe2}
.contact-bottom{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:20px;text-align:left}
.contact-bottom>p{margin:0}.contact-bottom>.button{align-self:flex-start}
.contact-details{align-items:flex-start;gap:10px}
.contact-details a,.contact-details a:first-child{background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;padding:0!important;color:#303845!important;font-size:16px!important;translate:none!important}
.contact-details a:hover{text-decoration:underline;text-underline-offset:4px}
.contact-form{width:min(100%,780px);margin-left:0;margin-right:auto;text-align:left;background:#e8e9ec;border-color:#f5f5f7}
/* Gentle tactile compression without replacing existing orbit transforms. */
button,.button,.nav-contact,.glass-action,.gallery-card,.context-scene{transition-property:background,box-shadow,translate,scale;transition-duration:.25s;transition-timing-function:cubic-bezier(.2,.8,.2,1)}
button:active:not(:disabled),.button:active,.nav-contact:active,.glass-action:active{scale:.95}
.gallery-card:active,.context-scene:active{scale:.985}
@media(prefers-reduced-motion:reduce){button,.button,.nav-contact,.glass-action,.gallery-card,.context-scene{scale:none!important;transition:none!important}}
.motion-paused :is(button,.button,.nav-contact,.glass-action,.gallery-card,.context-scene){scale:none!important}
/* Contact form on the right; studio details stay on the left. */
@media(min-width:900px){.contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);column-gap:6%;align-items:start}.contact-top,.contact>h2{grid-column:1/-1}.contact-bottom{grid-column:1;grid-row:3}.contact-form{grid-column:2;grid-row:3;width:100%;margin:0}}
.ipr-logo .brand-symbol{background:transparent;border-radius:0;mix-blend-mode:multiply}
/* Keep enlarged cards within the ring's available vertical space. */
.orbit-stage{overflow:visible;margin-bottom:45px}.orbit-controls{z-index:110;margin-top:20px}.orbit-card:hover,.orbit-card:focus-visible{scale:1.12}.orbit-feature:hover{scale:1.02}
header,.dimension-hero h1,.studio-label,.hero-description,.hero-actions,.orbit-stage,.orbit-controls{position:relative;z-index:4}
header{position:sticky;z-index:30}
@media(max-width:700px){.orbit-stage{margin-bottom:25px}}

/* Remove white JPEG pixels instead of blending their rectangular backdrop. */
.ipr-logo .brand-symbol{filter:url(#logo-clear-white);mix-blend-mode:normal;background:transparent!important;box-shadow:none;border:0;border-radius:0}

/* Ease both entry and clearing of scroll blur. */
.scroll-soft-focus{transition:filter .55s cubic-bezier(.22,.61,.36,1)}
.viewport-soft-edge{transition:opacity .6s cubic-bezier(.22,.61,.36,1)}
@media(prefers-reduced-motion:reduce){.scroll-soft-focus,.viewport-soft-edge{transition:none}}

/* Contact is a prominent closing invitation. */
.contact .contact-top{align-items:center;gap:24px}.contact .contact-top>.eyebrow{font-size:clamp(32px,5vw,76px);font-weight:700;letter-spacing:-.045em;line-height:1.08;color:#193b72}
.contact{padding-top:80px;padding-bottom:80px}.contact-bottom>p{font-size:20px;line-height:1.55}.contact .contact-bottom>.button{font-size:19px;padding:19px 28px}
@media(max-width:700px){.contact{padding-top:52px;padding-bottom:52px}.contact .contact-top>.eyebrow{font-size:44px}}

body[data-gallery-view="context"] .gallery-image:not(:has(.gallery-placement))>img{opacity:1;visibility:visible}

/* Tap-to-turn presentation for every Movie Posters appearance. */
.poster-flip-control{position:relative;z-index:12;display:inline-flex!important;align-items:center;gap:7px;cursor:pointer;font-size:13px!important;padding:9px 13px!important;white-space:nowrap}
.gallery-image .poster-flip-control{position:absolute;left:14px;bottom:14px;color:#162033!important;background:#ffffffdf!important}
.poster-back{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:18px;text-align:center;color:#f4f7ff;background:radial-gradient(circle at 48% 22%,#49618d 0%,#172236 42%,#090d16 100%);border:1px solid #ffffff32;backface-visibility:hidden;transform:rotateY(-180deg);opacity:0;pointer-events:none;transition:transform .65s cubic-bezier(.2,.8,.2,1),opacity .25s}
.poster-back strong{font-size:clamp(20px,2.5vw,34px);letter-spacing:.08em}.poster-back span{font-size:13px;line-height:1.4;letter-spacing:.12em;text-transform:uppercase;color:#cbd8ee}.poster-back small{font-size:11px;color:#9eb3d5}
.gallery-card .gallery-image{transform-style:preserve-3d}.gallery-card .gallery-image>:not(.poster-back):not(.poster-flip-control){backface-visibility:hidden;transition:transform .65s cubic-bezier(.2,.8,.2,1),opacity .22s}.gallery-card.is-poster-flipped .gallery-image>:not(.poster-back):not(.poster-flip-control){transform:rotateY(180deg);opacity:0}.gallery-card.is-poster-flipped .gallery-image .poster-back{transform:rotateY(0);opacity:1;pointer-events:auto}.gallery-card.is-poster-flipped .poster-flip-control{background:#e8f1ff!important}
.story-theme-1 .context-art{transform-style:preserve-3d;transition:transform .65s cubic-bezier(.2,.8,.2,1)}.story-theme-1 .context-art>.poster-back{z-index:3}.story-theme-1 .context-art.is-poster-flipped>img{transform:rotateY(180deg);opacity:0}.story-theme-1 .context-art.is-poster-flipped>.poster-back{transform:rotateY(0);opacity:1;pointer-events:auto}.story-poster-flip{margin-left:4px}
.detail-page .art-object.is-poster-flipped{--angle-y:180deg!important}.detail-page .art-object.is-poster-flipped .art-back{backface-visibility:visible}.detail-poster-flip{margin-left:auto}
@media(max-width:700px){.gallery-image .poster-flip-control{left:10px;bottom:10px;padding:8px 11px!important}.poster-back strong{font-size:20px}.story-poster-flip{margin:8px 0 0}.detail-poster-flip{font-size:12px!important;padding:8px 10px!important}}
@media(prefers-reduced-motion:reduce){.poster-back,.gallery-card .gallery-image>:not(.poster-back):not(.poster-flip-control),.story-theme-1 .context-art{transition:none!important}}

/* The Movie Posters filter becomes a full campaign presentation, not a flat thumbnail list. */
body.movie-posters-active{background:#0b1018;color:#edf2fb}
body.movie-posters-active header{border-color:#ffffff1c}body.movie-posters-active .gallery-intro p,body.movie-posters-active .gallery-intro>div>span,body.movie-posters-active #gallery-count{color:#aab6c9}
body.movie-posters-active .gallery-toolbar{border-color:#ffffff20}body.movie-posters-active .gallery-filters button{color:#d9e4f5;border-color:#ffffff2c}body.movie-posters-active .gallery-filters button[aria-pressed=true]{background:#f4f7ff;color:#111824;border-color:#f4f7ff}
body.movie-posters-active .gallery-view-modes{background:#ffffff12}body.movie-posters-active .gallery-view-modes button{color:#c5d0e2}body.movie-posters-active .gallery-view-modes button[aria-pressed=true]{background:#f4f7ff;color:#111824}
body.movie-posters-active .gallery-grid{columns:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px;max-width:1500px;margin:0 auto;padding:24px 0 70px}
body.movie-posters-active .gallery-card{margin:0;break-inside:auto;position:relative;padding:12px;background:linear-gradient(145deg,#26354d,#101824 48%,#0a0f16);border:1px solid #ffffff24;border-radius:22px;box-shadow:0 22px 55px #0008;overflow:hidden;transform:perspective(1400px) rotateY(var(--poster-y,0deg)) rotateX(var(--poster-x,0deg));transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
body.movie-posters-active .gallery-card::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(118deg,#fff0 26%,#ffffff19 48%,#fff0 62%);translate:-125% 0;transition:translate .8s ease}body.movie-posters-active .gallery-card:hover::before{translate:125% 0}
body.movie-posters-active .gallery-card:hover{transform:perspective(1400px) translateY(-10px) rotateY(-3deg) rotateX(1deg);box-shadow:0 35px 75px #000c;border-color:#c4d9ff9b}
body.movie-posters-active .gallery-image,body.movie-posters-active[data-gallery-view=context] .gallery-image{aspect-ratio:16/10!important;border-radius:13px;background:#06090d;overflow:hidden}body.movie-posters-active[data-gallery-view=context] .gallery-placement{display:block}body.movie-posters-active .gallery-placement::after{opacity:.55;background:linear-gradient(120deg,#fff1,transparent 48%,#0004)}
body.movie-posters-active .placement-display{box-shadow:0 0 0 2px #000a,0 22px 35px #000b;transform-style:preserve-3d;transition:transform .5s ease}body.movie-posters-active .gallery-card:hover .placement-display{transform:perspective(900px) rotateY(-4deg) scale(1.025)}
body.movie-posters-active .gallery-caption{position:absolute;z-index:3;left:30px;bottom:25px;right:30px;color:white;text-shadow:0 2px 12px #000;pointer-events:none}body.movie-posters-active .gallery-caption h2{font-size:clamp(22px,2vw,32px);letter-spacing:-.045em;margin:0}body.movie-posters-active .gallery-caption>span{font-size:12px;letter-spacing:1.4px;text-transform:uppercase;color:#d5e2f7;margin-top:7px}
body.movie-posters-active .round-arrow{right:22px;top:20px;bottom:auto;background:#ffffffdc;color:#111925;border:0;z-index:4}
@media(max-width:760px){body.movie-posters-active .gallery-grid{grid-template-columns:1fr;gap:24px;padding-top:15px}body.movie-posters-active .gallery-card{padding:8px;border-radius:16px}body.movie-posters-active .gallery-caption{left:22px;bottom:18px;right:22px}body.movie-posters-active .gallery-caption h2{font-size:23px}}

/* Give the studio contact information the full height of the closing panel. */
.contact .contact-bottom{align-self:stretch;min-width:0;padding:24px 0 36px}
.contact .contact-details{width:100%;gap:22px;margin-top:auto;padding-top:64px}
.contact .contact-details a,.contact .contact-details a:first-child{font-size:clamp(23px,2.65vw,40px)!important;line-height:1.25;font-weight:500;letter-spacing:-.035em;overflow-wrap:anywhere}
.contact .contact-details a:first-child{font-size:clamp(20px,2.05vw,31px)!important;padding-bottom:16px!important}
@media(max-width:899px){.contact .contact-bottom{padding-bottom:30px}.contact .contact-details{padding-top:20px;margin-top:0;gap:18px}}
/* Matching editorial gradient, with room for italic overhang and punctuation. */
.dimension-hero h1{overflow:visible;padding-inline:.08em;line-height:1.12}
.dimension-hero h1 span{display:inline-block;padding:0 .10em .08em .02em;margin-right:-.10em;overflow:visible;max-width:100%}
.contact .contact-top>.eyebrow{display:inline-block;background:linear-gradient(100deg,#163c8c,#507eda 45%,#9d55b2 80%);background-clip:text;-webkit-background-clip:text;color:transparent;font-size:clamp(42px,6vw,86px);font-weight:650;letter-spacing:-.055em;line-height:1.15;text-transform:none;padding:.1em .2em .1em 0;overflow:visible}
.contact .contact-bottom{justify-content:center;padding:30px 0;gap:24px}
.contact .contact-details{margin-top:0;padding-top:26px;gap:20px}
.intro-shapes{flex-wrap:wrap;max-width:760px;margin-inline:auto}
@media(max-width:600px){.intro-shapes{gap:6px}.portfolio-intro .intro-shapes button{padding:7px 11px}.intro-bottom{bottom:16px}.dimension-hero h1{font-size:clamp(42px,10vw,68px)}}
.service-picker{position:relative}.contact-form .service-trigger{display:flex;justify-content:space-between;align-items:center;width:100%;text-align:left;border-radius:16px!important;padding:16px 18px!important;font-size:16px;margin-top:8px}
.service-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none;clip-path:inset(50%)}
.service-menu{position:absolute;left:0;right:0;bottom:calc(100% + 10px);z-index:90;max-height:340px;overflow:auto;padding:10px;border-radius:24px;border:1px solid #ffffffb3;background:linear-gradient(130deg,#ffffff75,#d9e3fa45);backdrop-filter:blur(32px) saturate(180%);-webkit-backdrop-filter:blur(32px) saturate(180%);box-shadow:inset 0 1px 1px #fff,inset 0 -1px 2px #fff8,0 18px 50px #20345435;transform-origin:bottom;animation:glass-menu-in .22s cubic-bezier(.2,.8,.2,1)}
.service-menu[hidden]{display:none}.service-menu [role=option]{padding:12px 14px;border-radius:14px;color:#18263e;font-size:15px;cursor:pointer;transition:background .18s,translate .18s}.service-menu [role=option]:hover,.service-menu [role=option]:focus{outline:none;background:#ffffff8f;translate:2px 0}.service-menu [aria-selected=true]{background:#c6dcff9c;font-weight:600}.service-menu [aria-selected=true]::after{content:'✓';float:right;margin-left:12px}.contact-form{overflow:visible}
@keyframes glass-menu-in{from{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.service-menu{animation:none}.service-menu [role=option]{transition:none}}

/* Neutral form; liquid glass is reserved for the service picker. */
.contact{background:#dedfe2}
.contact .contact-form{position:relative;background:#e8e8ea!important;border:1px solid #f5f5f6;border-radius:28px;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:0 12px 32px #0000000a}
.contact-form input,.contact-form textarea{background:#f4f4f5!important;border:1px solid #d7d7da!important;border-radius:12px;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.contact-form input:focus,.contact-form textarea:focus{outline:2px solid #707079;outline-offset:2px}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#696971;opacity:1}
.contact-form .form-actions button{background:#f5f5f6!important;color:#303036!important;border:1px solid #d5d5d8!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.contact-form .service-trigger{--glass-fill:#ffffff30;--glass-shadow:#00000020;background:linear-gradient(140deg,#ffffffaa,#ffffff20 48%,#ffffff75)!important;border:1px solid #fff!important;box-shadow:inset 0 2px 2px #fff,inset 0 -2px 2px #ffffffaa,0 8px 22px #0000001a!important;backdrop-filter:blur(24px) saturate(130%);-webkit-backdrop-filter:blur(24px) saturate(130%)}
.contact-form .service-menu{background:linear-gradient(130deg,#ffffff96,#e5e5e55c);border:1px solid #fff;box-shadow:inset 0 2px 2px #fff,inset 0 -1px 2px #fff9,0 20px 50px #00000035;backdrop-filter:blur(30px) saturate(120%);-webkit-backdrop-filter:blur(30px) saturate(120%)}
.contact-form .service-menu [role=option]{color:#292930}
.contact-form .service-menu [aria-selected=true]{background:#ffffffa6}
/* Neutral grey liquid glass for the service selector and its option panel. */
.contact-form .service-trigger{--glass-ink:#252529;--glass-fill:#bdbdc438;background:radial-gradient(ellipse at var(--glass-x,25%) var(--glass-y,0%),#ffffffb0,transparent 65%),linear-gradient(140deg,#eeeeeea6,#b6b6bc70 48%,#d5d5da8c)!important;color:#252529!important;border:1px solid #ffffffc9!important;box-shadow:inset 0 2px 2px #ffffffe6,inset 0 -2px 3px #88889255,inset 1px 0 1px #fff9,0 8px 24px #27272e22!important;backdrop-filter:blur(28px) saturate(110%);-webkit-backdrop-filter:blur(28px) saturate(110%)}
.contact-form .service-menu{background:linear-gradient(135deg,#dedee2b3,#a9a9b178 55%,#d4d4daa6);border:1px solid #ffffffe0;box-shadow:inset 0 2px 2px #ffffffe6,inset 0 -2px 3px #8b8b9655,0 18px 45px #25252e38;backdrop-filter:blur(32px) saturate(110%);-webkit-backdrop-filter:blur(32px) saturate(110%)}
.contact-form .service-menu [role=option]:hover,.contact-form .service-menu [role=option]:focus{background:#ffffff70;color:#202024}
.contact-form .service-menu [aria-selected=true]{background:linear-gradient(135deg,#ffffff90,#ededf05c);box-shadow:inset 0 1px 1px #fff9;color:#202024}

/* Whole mockup flips: scene, frame and artwork turn together. */
.mockup-flip{margin-left:4px;font-size:13px!important;padding:9px 14px!important}.context-modes{flex-wrap:wrap}.context-scene{overflow:visible!important;box-shadow:none!important;touch-action:pan-y;isolation:isolate}.mockup-surface{position:relative;width:100%;height:100%;aspect-ratio:inherit;overflow:hidden;border-radius:inherit;box-shadow:0 35px 80px #0007;backface-visibility:hidden;transform-origin:center;will-change:transform}.mockup-outgoing{position:absolute;inset:0;pointer-events:none;z-index:2}.context-scene::before{display:none!important}.context-scene::after{border-radius:inherit}.context-scene:focus-visible{outline:2px solid #a3c6ff;outline-offset:6px}.context-art img.poster-flip{animation:none!important}.motion-paused .mockup-surface{will-change:auto}@media(prefers-reduced-motion:reduce){.mockup-surface{will-change:auto}}
