/* Orange + cool lilac. Photography leads; words give it context. */
:root{--ink:#000000;--paper:#FFFFFF;--sun:#FF6500;--lilac:#B6A0FF;--grey:#c9c9c9}
body{background:var(--paper)}
:focus-visible{outline-color:var(--ink)}
header :focus-visible,footer :focus-visible,.hero :focus-visible{outline-color:var(--lilac)}
#works-dropdown{background:var(--lilac)}
.entrance .vector-o circle{stroke:var(--sun)}
.experience-home{display:grid;grid-template-columns:1fr;min-height:calc(100svh - 96px);isolation:isolate}
.experience-image{position:absolute;inset:0;min-height:0;z-index:-2;grid-row:auto}
.experience-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.16) 80%)}
.experience-image img{object-position:65% 50%}
.experience-image-label{display:none}
.experience-copy{padding:clamp(80px,9vw,150px) var(--gutter) 85px;align-self:end;max-width:1100px}
.experience-home h1,.experience-home h1 span,.experience-home h1::first-line{color:var(--lilac)}
.experience-home h1{font-size:clamp(54px,6.9vw,110px);line-height:.96;margin-bottom:30px}
.experience-lead{font-size:clamp(22px,2.2vw,32px);color:white}
.experience-copy .eyebrow{color:white;letter-spacing:.08em}
.experience-links{gap:32px}.experience-links .mono{font-size:14px}
.experience-strip{background:var(--lilac);color:black;border:0;padding:18px var(--gutter);align-self:end;font-weight:bold}
.home-selected{padding-top:90px;padding-bottom:90px;background:white}
.selected-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:50px}
.selected-heading h2{font-size:clamp(40px,5vw,80px);line-height:.96;letter-spacing:-.05em}
.home-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px 24px}
.home-photo{margin:0;min-width:0}.home-photo button{display:block;width:100%;padding:0;border:0;background:#eee;overflow:hidden}
.home-photo img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .7s}
.home-photo button:hover img{transform:scale(1.025)}
.home-photo:nth-child(3){grid-column:1/-1}.home-photo:nth-child(3) img{aspect-ratio:16/9}
.home-photo:nth-child(4) img,.home-photo:nth-child(5) img{aspect-ratio:1}
.home-photo:nth-child(6){grid-column:1/-1}.home-photo:nth-child(6) img{aspect-ratio:16/9;object-position:center 55%}
.home-photo figcaption{display:flex;justify-content:space-between;gap:20px;align-items:baseline;padding-top:14px;font-size:20px;letter-spacing:-.025em}
.home-photo figcaption .mono{font-size:12px;letter-spacing:0;color:#444}
.home-offer{background:var(--lilac);padding-top:70px;padding-bottom:70px}
.home-offer-grid{grid-template-columns:1fr 1.1fr;gap:7vw;align-items:center}
.home-offer h2{font-size:clamp(48px,5.5vw,90px);line-height:.95}
.home-offer p:not(.eyebrow){font-size:clamp(20px,2vw,27px);line-height:1.4;max-width:480px;margin:30px 0 18px}
.home-offer-grid>img{display:block;width:100%;height:clamp(330px,40vw,620px);object-fit:cover}
.home-offer .offer-orbit{right:46%;top:32px;width:130px;background:var(--sun);z-index:2;pointer-events:none}
.home-offer .offer-orbit:after{background:var(--lilac)}
.studio{padding-top:75px;padding-bottom:75px;background:white;color:black}
.studio>h2,.studio>.eyebrow,.studio .person-bio{color:black}.studio h2{font-size:clamp(42px,5.8vw,92px);max-width:1000px}
.studio .people{margin-top:45px;gap:6vw;position:relative;z-index:1}.studio .person{border-color:#0004}.studio .person-role{color:black;font-weight:bold}
.studio .person-bio{font-size:20px;line-height:1.45;max-width:430px}.studio .person-portfolio{border-color:black}.studio .section-orbit{border-color:var(--lilac);opacity:.8}
.services{background:var(--lilac);padding-top:65px;padding-bottom:65px}.services .section-top{margin-bottom:35px}.services .section-top h2{font-size:clamp(42px,5vw,76px)}
.services summary{padding:23px 0}.services summary h3{font-size:clamp(28px,3vw,46px)}.services .section-orbit{border-color:var(--sun)}
.portfolio-doors{background:white}.portfolio-doors h2{font-size:clamp(42px,5vw,80px)}
.portfolio-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;border:0;margin-top:40px}
.portfolio-links>a{display:flex;flex-direction:column;align-items:stretch;gap:16px;padding:0 0 20px;border-bottom:1px solid black;overflow:hidden}
.portfolio-links>a>img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .5s}
.portfolio-links strong{font-size:clamp(27px,3.2vw,50px)}.portfolio-links>a>.mono{font-size:12px}.portfolio-links .door-arrow{display:none}
.portfolio-links>a:hover{background:transparent}.portfolio-links>a:hover img{transform:scale(1.025)}
.short-contact,.contact{background:var(--sun);color:black}
.gallery-page .section-orbit{border-color:var(--lilac)}.portfolio-switch a[aria-current]:before{border-color:var(--sun)}
body[data-page=gabi] .gallery-page{background:var(--lilac)}body[data-page=gabi] .gallery-page .section-orbit{border-color:var(--sun)}
body[data-page=greg] .gallery-page .section-orbit{border-color:var(--sun)}
.page-transit{background:var(--lilac)}
@media(max-width:800px){.home-offer-grid{grid-template-columns:1fr;gap:35px}.home-offer-grid>img{height:auto;aspect-ratio:4/3}.home-offer .offer-orbit{right:25px;top:45px;width:90px}.home-offer h2{max-width:80%}.portfolio-links{gap:16px}.portfolio-links strong{font-size:26px}}
@media(max-width:650px){.experience-home{min-height:calc(100svh - 78px)}.experience-copy{padding:80px var(--gutter) 55px}.experience-home h1{font-size:clamp(40px,10vw,66px)}.experience-image{grid-row:auto;min-height:0}.experience-image:after{background:linear-gradient(90deg,#000b,#0004)}.experience-links{gap:12px}.experience-strip{gap:10px}.experience-strip span{font-size:12px}.home-selected{padding:55px 18px}.selected-heading{display:block;margin-bottom:30px}.selected-heading>a{margin-top:20px}.home-photo-grid{gap:30px 14px}.home-photo figcaption{font-size:17px;display:block}.home-photo figcaption .mono{display:block;font-size:11px;margin-top:5px}.home-photo:nth-child(3) img,.home-photo:nth-child(6) img{aspect-ratio:4/3}.home-offer,.studio,.services{padding-top:55px;padding-bottom:55px}.studio .person-bio{font-size:18px}.portfolio-links{grid-template-columns:1fr;gap:35px}.portfolio-links>a>img{aspect-ratio:4/3}.portfolio-links strong{font-size:38px}.home-offer .offer-orbit{width:70px}.home-offer h2{font-size:42px}}
@media(prefers-reduced-motion:reduce){.home-photo img,.portfolio-links>a>img{transition:none;transform:none!important}}
body.motion-paused .home-photo img,body.motion-paused .portfolio-links>a>img{transition:none;transform:none!important}

/* Production-led positioning, with concise roles and clear service headings. */
.studio>h2{white-space:pre-line;font-size:clamp(38px,5vw,80px);line-height:1.02;letter-spacing:-.045em}
.home-offer h2{font-size:clamp(36px,4vw,66px);line-height:1.03;letter-spacing:-.045em}
.services h2{white-space:pre-line}
@media(max-width:650px){.studio>h2{font-size:clamp(29px,7.4vw,48px)}.home-offer h2{font-size:clamp(29px,7vw,42px);max-width:100%}.home-offer .offer-orbit{top:16px;width:48px}.experience-lead{font-size:22px}}

/* Crossfades stay in the background; brand letters keep their text rhythm. */
.experience-image .home-slide{opacity:0;transition:opacity 2s ease-in-out;animation:none;object-position:center}
.experience-image .home-slide.is-current{opacity:1}
.experience-image:after{z-index:1;background:linear-gradient(90deg,rgba(0,0,0,.85),rgba(0,0,0,.3) 82%)}
.experience-home h1{color:white}.experience-home h1::first-line{color:inherit}
.experience-home h1 .claim-highlight{color:var(--lilac);text-decoration:underline;text-decoration-color:var(--sun);text-decoration-thickness:.035em;text-underline-offset:.12em}
.home-offer h2 .claim-highlight{color:black;text-decoration:underline;text-decoration-color:var(--sun);text-decoration-thickness:.065em;text-underline-offset:.09em}
.name-highlight{box-decoration-break:clone;-webkit-box-decoration-break:clone;padding:.035em .1em;line-height:1.2;color:black}
.name-orange{background:var(--sun)}.name-lilac{background:var(--lilac)}
.person h3{line-height:1.25}
.brand-letter{display:inline-block;position:relative;width:.73em;height:.73em;line-height:.73;vertical-align:-.015em;color:transparent!important;--ring-color:var(--sun);text-decoration:none;white-space:nowrap}
.brand-letter:before{content:'';position:absolute;inset:0;border:.19em solid var(--ring-color);border-radius:50%;animation:letter-wander 5.6s ease-in-out infinite;transform-origin:center}
.home-offer .brand-letter{--ring-color:black}.studio .brand-letter{--ring-color:var(--sun)}
#selected-title .brand-letter{--ring-color:var(--lilac)}
.gallery-claim{color:var(--ink)}.gallery-claim .brand-letter{--ring-color:var(--sun)}
@keyframes letter-wander{0%,20%,100%{transform:translateY(0) rotate(0)}45%{transform:translateY(-.09em) rotate(-12deg) scale(.97,1.03)}65%{transform:translateY(0) rotate(8deg) scale(1.035,.965)}80%{transform:translateY(-.025em) rotate(-3deg)}}
body.motion-paused .home-slide{transition:none}
@media(prefers-reduced-motion:reduce){.brand-letter:before{animation:none!important}.experience-image .home-slide{transition:none!important}}
/* Faster dissolves with a small, continuous camera move. */
.experience-image .home-slide{transition:opacity 1.3s ease-in-out;animation:home-camera 11s ease-in-out infinite alternate!important;animation-play-state:running!important;transform-origin:55% 45%}
.experience-image .home-slide:nth-child(even){animation-direction:alternate-reverse!important;transform-origin:45% 55%}
.experience-image.slideshow-paused .home-slide,body.motion-paused .experience-image .home-slide{animation-play-state:paused!important}
.entrance-photo{transition:opacity 1.3s ease-in-out;animation:home-camera 13s ease-in-out infinite alternate}
@keyframes home-camera{from{transform:scale(1)}to{transform:scale(1.055)}}
.food-word{white-space:nowrap;display:inline-block}.food-word .brand-letter+ .brand-letter:before{animation-delay:-1.4s}
/* The scroll ring is a control, not an autonomous decoration. */
.scroll-control{position:fixed;right:7px;top:50%;transform:translateY(-50%);z-index:31;width:44px;height:clamp(150px,25vh,260px);border-radius:24px;background:#ffffffb8;box-shadow:0 0 0 1px #0002;backdrop-filter:blur(6px)}
.scroll-control[hidden]{display:none}.scroll-control input{writing-mode:vertical-lr;direction:ltr;appearance:none;-webkit-appearance:none;background:transparent;width:44px;height:100%;margin:0;cursor:grab;touch-action:none;border:0;padding:0}
.scroll-control input:active{cursor:grabbing}.scroll-control input:focus-visible{outline:2px solid black;outline-offset:3px;border-radius:24px}
.scroll-control input::-webkit-slider-runnable-track{width:2px;background:#0003;border-radius:1px}
.scroll-control input::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:38px;height:38px;margin-left:-18px;border:11px solid var(--sun);background:white;border-radius:50%;box-shadow:0 1px 5px #0002}
.scroll-control input::-moz-range-track{width:2px;background:#0003}.scroll-control input::-moz-range-thumb{box-sizing:border-box;width:38px;height:38px;border:11px solid var(--sun);background:white;border-radius:50%}
/* An immersive three-image portfolio menu. */
body.works-panel-open{overflow:hidden}body.works-panel-open header{z-index:80}body.works-panel-open nav{overflow:visible}
#works-dropdown{position:fixed;inset:84px 0 0;width:100%;height:calc(100dvh - 84px);max-height:none;margin:0;padding:72px var(--gutter) 35px;background:var(--lilac);color:black;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;box-shadow:none;overflow:auto;z-index:90;animation:portfolio-open .45s cubic-bezier(.2,.7,.2,1) both}
#works-dropdown[hidden]{display:none}#works-dropdown>p{position:absolute;left:var(--gutter);top:20px;font-size:13px;font-weight:bold;margin:0;max-width:60%}
.gallery-menu-close{position:absolute;right:var(--gutter);top:10px;background:black;color:white;border:0;padding:12px 18px;font-size:13px;min-height:44px;cursor:pointer}
#works-dropdown>a{position:relative;display:flex;flex-direction:column;justify-content:end;align-items:start;gap:0;min-height:240px;height:100%;max-height:650px;padding:30px;color:white;background:black;border:0;overflow:hidden}
#works-dropdown>a>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s;opacity:.9}
#works-dropdown>a:before{content:'';position:absolute;inset:0;background:linear-gradient(transparent 30%,#000c)}
#works-dropdown>a>span{position:relative;z-index:1;font-size:clamp(28px,3.3vw,54px);font-weight:900;line-height:1.05;letter-spacing:-.04em}
#works-dropdown>a>.menu-number{font:14px 'Courier New',monospace;position:absolute;top:24px;left:24px;border:2px solid var(--lilac);border-radius:50%;width:46px;height:46px;display:grid;place-items:center;background:black}
#works-dropdown>a small{font:14px Arial,sans-serif;margin-top:14px;letter-spacing:0;color:white}
#works-dropdown>a b{display:none}#works-dropdown>a:hover,#works-dropdown>a[aria-current]{padding:30px;color:white}
#works-dropdown>a:hover>img,#works-dropdown>a:focus-visible>img{transform:scale(1.045)}#works-dropdown>a:hover>span{color:var(--lilac)}
@keyframes portfolio-open{from{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:none}}
@media(max-width:650px){.scroll-control{right:3px;width:44px;height:155px}.scroll-control input::-webkit-slider-thumb{width:32px;height:32px;margin-left:-15px;border-width:9px}.scroll-control input::-moz-range-thumb{width:32px;height:32px;border-width:9px}#works-dropdown{inset:78px 0 0;height:calc(100dvh - 78px);grid-template-columns:1fr;grid-template-rows:repeat(3,minmax(140px,1fr));padding:65px 18px 20px;gap:12px}#works-dropdown>a{min-height:140px;padding:20px 22px 20px 82px}#works-dropdown>a:hover,#works-dropdown>a[aria-current]{padding:20px 22px 20px 82px}#works-dropdown>a>span{font-size:32px}#works-dropdown>a>.menu-number{left:20px;top:22px;width:40px;height:40px}#works-dropdown>a small{font-size:13px;margin-top:7px}#works-dropdown>a>img{object-position:center 45%}#works-dropdown>a:before{background:linear-gradient(90deg,#0009,#0004)}#works-dropdown>p{left:18px;top:20px;font-size:11px;max-width:55%}.gallery-menu-close{right:18px}}
@media(prefers-reduced-motion:reduce){.experience-image .home-slide,.entrance-photo{animation:none!important;transform:none!important}#works-dropdown{animation:none}#works-dropdown>a>img{transition:none}.brand-letter:before{animation:none!important}}
#works-dropdown>a>img{z-index:0}#works-dropdown>a:before{z-index:1;pointer-events:none}#works-dropdown>a>span{z-index:2}#works-dropdown>a:hover>span{color:white}#works-dropdown>a:hover>span:not(.menu-number){text-decoration:underline;text-decoration-color:var(--sun);text-underline-offset:.13em;text-decoration-thickness:3px}
/* Colour carries the emphasis; typography stays intact. */
.experience-home h1 .claim-highlight,.home-offer h2 .claim-highlight,#works-dropdown>a:hover>span:not(.menu-number){text-decoration:none}
.home-offer h2 .claim-highlight{color:white;text-shadow:0 1px 0 #0003}
/* One ring travels from the top to the bottom of the viewport, without a rail. */
.scroll-control{top:100px;bottom:24px;right:10px;height:auto;width:44px;transform:none;background:none;box-shadow:none;backdrop-filter:none;border-radius:0;--eye-color:var(--sun)}
.scroll-control input{position:absolute;inset:0;z-index:1;height:100%;width:44px;opacity:1}
.scroll-control input::-webkit-slider-runnable-track{background:transparent;width:44px}
.scroll-control input::-webkit-slider-thumb{width:44px;height:44px;margin:0;border:0;background:transparent;box-shadow:none}
.scroll-control input::-moz-range-track{background:transparent;width:44px}.scroll-control input::-moz-range-thumb{width:44px;height:44px;margin:0;border:0;background:transparent;box-shadow:none}
.scroll-control input:focus-visible{outline:none}.scroll-control:focus-within .scroll-eye{outline:2px solid black;outline-offset:4px}
.scroll-eye{position:absolute;left:0;top:0;width:44px;height:44px;border-radius:50%;background:var(--eye-color);box-shadow:0 0 0 1px #0003,0 1px 5px #0002;pointer-events:none;transition:background-color .35s;will-change:transform}
.scroll-eye:after{content:'';position:absolute;inset:28%;border-radius:50%;background:white;transform:translateX(12%)}
.scroll-eye.wink:after{animation:scroll-wink .7s ease-in-out}
@keyframes scroll-wink{0%,100%{transform:translateX(12%) scaleY(1)}32%{transform:translateX(24%) scaleY(.09)}55%{transform:translateX(24%) scaleY(.09)}78%{transform:translateX(12%) scaleY(1.08)}}
/* A rounded drawer attached to WORKS, rather than a full-screen overlay. */
body.works-panel-open{overflow:visible}body.works-panel-open header{z-index:80}
.works-menu{position:relative}
#works-dropdown{position:absolute;inset:auto;top:calc(100% + 6px);right:-24px;width:min(540px,calc(100vw - 44px));height:auto;max-height:calc(100dvh - 125px);padding:60px 20px 20px;display:grid;grid-template-columns:1fr;grid-template-rows:none;gap:10px;border-radius:52px 8px 38px 38px;background:var(--lilac);box-shadow:0 22px 50px #0003;overflow:auto;transform-origin:92% 0;animation:drop-drawer .58s cubic-bezier(.2,.8,.2,1) both}
#works-dropdown>p{top:23px;left:26px;font-size:11px;max-width:65%}.gallery-menu-close{right:17px;top:10px;border-radius:50%;font-size:0;width:42px;padding:0}.gallery-menu-close:after{content:'×';font:26px Arial,sans-serif}
#works-dropdown>a,#works-dropdown>a:hover,#works-dropdown>a[aria-current]{display:flex;justify-content:center;height:105px;min-height:105px;max-height:none;padding:16px 18px 16px 145px;border-radius:18px;color:black;background:white}
#works-dropdown>a>img{width:125px;left:0;opacity:1;object-position:center;border-radius:18px 0 0 18px}
#works-dropdown>a:before{display:none}
#works-dropdown>a>span{font-size:clamp(23px,2.8vw,36px);color:black}
#works-dropdown>a small{font-size:13px;margin-top:6px;color:#333}
#works-dropdown>a>.menu-number{left:10px;top:10px;width:29px;height:29px;font-size:11px;border:0;background:var(--sun);color:black}
#works-dropdown>a:hover>span{color:black}#works-dropdown>a:hover,#works-dropdown>a:focus-visible{background:#fff6ed}
@keyframes drop-drawer{0%{opacity:0;transform:translateY(-16px) scale(.25,.08);border-radius:50%}55%{opacity:1;transform:translateY(7px) scale(1.025,1.045)}78%{transform:translateY(-3px) scale(.99,.985)}100%{opacity:1;transform:none}}
@media(max-width:1050px){#works-dropdown{position:relative;top:0;right:auto;width:100%;margin:12px 0 18px;max-height:calc(100dvh - 270px);border-radius:32px 8px 32px 32px;padding:56px 12px 12px}#works-dropdown>p{left:20px}#works-dropdown>a,#works-dropdown>a:hover,#works-dropdown>a[aria-current]{padding-left:112px;height:92px;min-height:92px}#works-dropdown>a>img{width:96px}#works-dropdown>a>span{font-size:27px}.gallery-menu-close{right:12px}}
@media(max-width:650px){.scroll-control{top:94px;bottom:20px;right:4px;height:auto;width:44px}.scroll-control input::-webkit-slider-thumb,.scroll-control input::-moz-range-thumb{width:44px;height:44px;border:0;margin:0}#works-dropdown>a>span{font-size:24px}#works-dropdown>a small{font-size:12px}}
@media(prefers-reduced-motion:reduce){#works-dropdown{animation:none}.scroll-eye{transition:none}.scroll-eye.wink:after{animation:none}}
body.motion-paused .scroll-eye.wink:after{animation:none}
.home-offer h2 .claim-highlight{color:black;background:var(--sun);text-shadow:none;box-decoration-break:clone;-webkit-box-decoration-break:clone;padding:0 .06em}
/* Quiet dark portfolio drawer: photographs and names, without white cards. */
#works-dropdown{width:min(460px,calc(100vw - 44px));background:#080808;color:white;border:1px solid #b6a0ff77;border-radius:32px 6px 26px 26px;padding:57px 18px 18px;box-shadow:0 18px 38px #0005}
#works-dropdown>p{color:var(--lilac);font-size:11px;left:23px;top:22px}
.gallery-menu-close{background:transparent;color:var(--lilac);border:1px solid #b6a0ff66;width:36px;min-height:36px;top:10px;right:13px}
#works-dropdown>a,#works-dropdown>a:hover,#works-dropdown>a[aria-current]{background:#080808;color:white;border-radius:10px;min-height:91px;height:91px;padding:16px 10px 16px 121px;border-top:1px solid #fff3}
#works-dropdown>a>img{width:103px;border-radius:8px;inset:8px auto 8px 0;height:calc(100% - 16px)}
#works-dropdown>a>span,#works-dropdown>a:hover>span{color:white;font-size:29px;letter-spacing:-.035em}
#works-dropdown>a small{color:#dedede;font-size:13px;line-height:1.3}
#works-dropdown>a>.menu-number{width:23px;height:23px;left:7px;top:14px;background:var(--sun);color:black;font-size:10px}
#works-dropdown>a:hover,#works-dropdown>a:focus-visible{background:#202020}#works-dropdown>a:hover>span:not(.menu-number),#works-dropdown>a[aria-current]>span:not(.menu-number){color:var(--lilac)}
#works-dropdown a:focus-visible{outline:2px solid var(--lilac);outline-offset:2px}
@media(max-width:1050px){#works-dropdown{width:100%;padding:56px 12px 12px}#works-dropdown>a,#works-dropdown>a:hover,#works-dropdown>a[aria-current]{padding-left:108px}#works-dropdown>a>img{width:92px}#works-dropdown>a>span{font-size:26px}}
@media(max-width:420px){#works-dropdown>a>span{font-size:23px}#works-dropdown>a small{font-size:12px}}
/* Image-led portfolios: no captions, buttons or zoom affordances. */
.home-photo>img{width:100%;display:block}.portfolio-image img:hover{transform:none!important}.home-photo,.portfolio-image{cursor:default}
/* One continuous services ribbon, linked to the AI conversation. */
.experience-strip{display:block!important;padding:20px 0;overflow:hidden;min-width:0;width:100%;background:var(--lilac)}
.marquee-track{display:flex;width:max-content;animation:service-ribbon 24s linear infinite}
.marquee-group{display:flex;align-items:center;gap:65px;padding-right:65px;flex-shrink:0}
.experience-strip .marquee-group>span,.experience-strip .marquee-group>a{width:auto!important;flex:none;white-space:nowrap;font-size:18px;font-weight:700;letter-spacing:.02em;color:black}
.marquee-group>a{border-bottom:2px solid black;padding:0 4px}.marquee-group>a:hover{background:var(--sun)}
.experience-strip:hover .marquee-track,.experience-strip:focus-within .marquee-track{animation-play-state:paused}
@keyframes service-ribbon{to{transform:translateX(-50%)}}
.ai-link{display:inline-block;margin-top:28px;font-weight:bold;font-size:14px;padding:12px 0;border-bottom:1px solid black}
.ai-contact{background:var(--lilac);color:black}.ai-contact h2{font-size:clamp(34px,5vw,76px);max-width:950px;line-height:1.02}.ai-contact>a{display:inline-block;margin-top:30px;border-bottom:1px solid black;padding:10px 0;font-size:22px}
.portfolio-doors h2{max-width:900px}
header{gap:22px}header>nav{margin-left:auto}.language-switch{display:flex;gap:8px;align-items:center;flex:none;font:700 13px Arial,sans-serif;color:#aaa}.language-switch a{padding:10px 2px;min-height:44px;display:flex;align-items:center}.language-switch a[aria-current]{color:var(--lilac)}.language-switch a:hover{color:white}
html[lang=pl] .experience-home h1{font-size:clamp(42px,5.8vw,91px)}html[lang=pl] .home-offer h2{font-size:clamp(32px,3.7vw,60px)}html[lang=pl] .gallery-page h1{overflow-wrap:normal}
@media(max-width:1050px){header .brand{margin-right:auto}header>.language-switch{order:1}header>.menu-toggle{order:2}header>#nav{order:3}.language-switch{font-size:13px;gap:6px}header{gap:14px}}
@media(max-width:650px){.experience-strip{padding:17px 0}.experience-strip .marquee-group>span,.experience-strip .marquee-group>a{font-size:15px}.marquee-group{gap:38px;padding-right:38px}.home-photo-grid{row-gap:18px}.language-switch{gap:5px}html[lang=pl] .experience-home h1{font-size:clamp(31px,7.9vw,49px)}html[lang=pl] .studio>h2{font-size:clamp(27px,6.7vw,42px)}html[lang=pl] .experience-lead{font-size:21px}.ai-contact>a{font-size:20px}}
@media(prefers-reduced-motion:reduce){.marquee-track{animation:none}.experience-strip{overflow-x:auto}.marquee-group[aria-hidden=true]{display:none}}

/* Polish copy has its own measured line lengths, rather than the English breaks. */
html[lang=pl] .experience-home h1{font-size:clamp(46px,6.2vw,96px);line-height:1.02;letter-spacing:-.045em}
html[lang=pl] .experience-lead{white-space:normal;max-width:580px;line-height:1.4}
html[lang=pl] .home-offer h2{font-size:clamp(40px,5.2vw,80px);line-height:1.04}
html[lang=pl] .studio>h2{font-size:clamp(38px,5vw,76px);line-height:1.06}
html[lang=pl] .services .section-top h2{font-size:clamp(36px,4.4vw,68px);line-height:1.06}
html[lang=pl] .contact :is(h1,h2){font-size:clamp(36px,5.3vw,82px);line-height:1.06;letter-spacing:-.035em;white-space:pre-line}
html[lang=pl] .gallery-page h1{font-size:clamp(42px,6.2vw,94px);line-height:1.03;letter-spacing:-.04em}
@media(max-width:650px){html[lang=pl] .experience-home h1{font-size:clamp(33px,9vw,55px)}html[lang=pl] .experience-lead{font-size:21px;max-width:30ch}html[lang=pl] .studio>h2{font-size:clamp(28px,7.7vw,44px)}html[lang=pl] .services .section-top h2{font-size:clamp(29px,7.8vw,45px)}html[lang=pl] .contact :is(h1,h2){font-size:clamp(29px,7.8vw,46px)}html[lang=pl] .gallery-page h1{font-size:clamp(36px,9vw,58px)}}

.entrance .vector-o circle[mask]{fill:var(--sun);stroke:none}

.entrance:not(.o-arriving) .vector-o{animation:none}
html[lang=pl] .short-contact>a{font-size:clamp(28px,7vw,100px);line-height:1.1;letter-spacing:-.045em;max-width:100%}
@media(max-width:650px){html[lang=pl] .short-contact{padding-left:var(--gutter);padding-right:var(--gutter)}html[lang=pl] .short-contact>a{font-size:clamp(25px,7.2vw,43px)}}

.hero-ai{display:inline-flex;align-items:center;padding:11px 16px;margin:0 0 4px;background:var(--lilac);color:black;font-size:15px;font-weight:700;border-radius:30px;line-height:1.3}.hero-ai:hover,.hero-ai:focus-visible{background:var(--sun)}
.ai-description{max-width:650px;font-size:clamp(20px,2.1vw,28px);line-height:1.5;margin-top:28px}
@media(max-width:650px){.hero-ai{font-size:14px;padding:10px 14px}.ai-description{font-size:20px}.experience-copy{padding-bottom:40px}}


/* Compact equal-height rows: CMS sequence, complete frames, no empty cells. */
.gallery-page #portfolio-grid{display:flex;flex-direction:column;columns:auto;gap:14px}
.gallery-page #portfolio-grid .portfolio-row{display:flex;gap:14px;align-items:start;min-width:0}
.gallery-page #portfolio-grid .portfolio-item:nth-child(n){display:block;flex:var(--photo-ratio,1) 1 0%;min-width:0;width:auto;padding:0;margin:0;grid-column:auto;break-inside:auto;scroll-margin-top:120px}
.gallery-page #portfolio-grid .portfolio-image{display:block;height:auto;min-height:0;aspect-ratio:auto;background:transparent;overflow:visible}
.gallery-page #portfolio-grid .portfolio-image img{display:block;width:100%;max-width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;transform:none!important}
@media(max-width:700px){.gallery-page #portfolio-grid,.gallery-page #portfolio-grid .portfolio-row{gap:10px}}

/* Selected portfolios link clearly to the authors' full collections. */
.gallery-page-head #gallery-description{font-size:clamp(19px,2vw,27px);line-height:1.5;max-width:800px}
.portfolio-note{margin-top:28px;position:relative;z-index:1;max-width:800px}
.portfolio-note p{font-size:19px;line-height:1.5;margin:0 0 6px;font-weight:700}
.portfolio-note a{display:inline-block;padding:8px 0;font-size:17px;line-height:1.5;font-weight:600;color:inherit;text-decoration:underline;text-underline-offset:5px;overflow-wrap:anywhere}
.portfolio-note a:hover{color:var(--sun)}
@media(max-width:650px){.portfolio-note{margin-top:22px}.portfolio-note p{font-size:18px}.portfolio-note a{font-size:16px}}

/* Greg: one strong heading and a coloured portfolio link. */
body[data-page="greg"]{--copy-orange:#B84400}
body[data-page="greg"] #gallery-title{color:#E65300}
body[data-page="greg"] #gallery-description,body[data-page="greg"] .portfolio-note p{color:var(--ink)}
body[data-page="greg"] .portfolio-note a{color:var(--copy-orange)}
body[data-page="greg"] .portfolio-note a:hover{color:var(--ink)}

/* In Greg's gallery this strip filters the photographs. */
.gallery-filters{display:flex;flex-wrap:wrap;gap:12px 32px;padding:14px 0}
.gallery-filters button{position:relative;background:none;border:0;padding:12px 0 12px 25px;min-height:48px;font-size:16px;font-weight:700;letter-spacing:.03em}
.gallery-filters button::before{content:'';position:absolute;left:0;top:50%;width:14px;height:14px;border:4px solid transparent;border-radius:50%;transform:translateY(-50%);transition:border-color .2s}
.gallery-filters button[aria-pressed="true"]::before{border-color:var(--sun)}
.gallery-filters button:hover{color:var(--copy-orange)}
@media(max-width:650px){.gallery-filters{gap:6px 18px}.gallery-filters button{font-size:14px;padding-left:20px}}

/* Keep Greg's ring perfectly round throughout its gentle movement. */
body[data-page="greg"] .gallery-page .section-orbit{
 --gallery-ring-size:clamp(230px,25vw,360px);
 width:var(--gallery-ring-size);height:var(--gallery-ring-size);
 min-width:0;min-height:0;padding:0;box-sizing:border-box;
 border-width:calc(var(--gallery-ring-size) * .28);border-radius:50%;
 animation:gregRingFloat 7s ease-in-out infinite;
}
@keyframes gregRingFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(14px)}}
@media(max-width:650px){body[data-page="greg"] .gallery-page .section-orbit{--gallery-ring-size:160px}}
@media(prefers-reduced-motion:reduce){body[data-page="greg"] .gallery-page .section-orbit{animation:none}}
