@font-face {
  font-family: 'Overpass Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/original-0.ttf) format('truetype');
}
@font-face {
  font-family: 'Pixelify Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/alon-pixel-numerals-400.ttf) format('truetype');
}
@font-face {
  font-family: 'Pixelify Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/alon-pixel-numerals-500.ttf) format('truetype');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/original-3.ttf) format('truetype');
}

html:has(body:not(.portrait-page)){color-scheme:dark;--bg:#1b1b1b;--text:#fff;--muted:#ccc;--line:#434343}
body:not(.portrait-page) *{box-sizing:border-box}
body:not(.portrait-page){margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}
body:not(.portrait-page) a{color:inherit;text-decoration:none}
body:not(.portrait-page) a:focus-visible{outline:2px solid #00c4ff;outline-offset:4px}
body:not(.portrait-page) .skip{position:absolute;left:20px;top:-100px;background:#fff;color:#000;padding:12px;z-index:10}
body:not(.portrait-page) .skip:focus{top:16px}
body:not(.portrait-page) .site-header{max-width:1440px;margin:auto;padding:38px 5vw;display:flex;align-items:center;justify-content:space-between}
body:not(.portrait-page) .wordmark{font-size:17px;font-weight:700;letter-spacing:.13em}
body:not(.portrait-page) .header-link{font-size:13px;color:var(--muted);display:flex;gap:12px;align-items:center}
body:not(.portrait-page) .catalogue{max-width:1440px;margin:38px auto 100px;padding:0 5vw}
body:not(.portrait-page) .catalogue-heading{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:46px}
body:not(.portrait-page) .catalogue-heading h1{font-size:clamp(48px,7vw,92px);font-weight:400;letter-spacing:-.065em;margin:0}
body:not(.portrait-page) .catalogue-heading p{font-size:13px;color:var(--muted)}
body:not(.portrait-page) .catalogue-heading p span{margin:0 12px;color:#777}
body:not(.portrait-page) .release-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 24px}
body:not(.portrait-page) .release-card{background:#1e1e1e;box-shadow:0 3px 6px #0003;transition:background .2s}
body:not(.portrait-page) .cover-wrap{aspect-ratio:1;background:#222;overflow:hidden}
body:not(.portrait-page) .release-card img{width:100%;height:100%;display:block;object-fit:contain}
body:not(.portrait-page) .card-caption{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:20px 18px;border-top:1px solid var(--line)}
body:not(.portrait-page) .card-caption h2{font-size:14px;line-height:1.45;font-weight:500;margin:0}
body:not(.portrait-page) .card-caption>span{color:var(--muted)}
body:not(.portrait-page) .release-page{min-height:100vh;background:#1b1b1b}
body:not(.portrait-page) .release-bg{position:fixed;inset:0;background-position:center top;background-size:cover;background-repeat:no-repeat;filter:blur(25px);pointer-events:none;z-index:0}
body:not(.portrait-page) .release-bg:before{content:"";display:block;height:50px;background:#1b1b1b}
body:not(.portrait-page) .release-shell{position:relative;z-index:1;padding:16px 16px;min-height:0}
body:not(.portrait-page) .release{width:100%;padding:0 16px;margin:0 auto}
body:not(.portrait-page) .release-card-panel{box-shadow:0 3px 6px rgba(0,0,0,.12),0 3px 6px rgba(0,0,0,.21)}
body:not(.portrait-page) .release-art{background:#121212}
body:not(.portrait-page) .release-art img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}
body:not(.portrait-page) .release-heading{background:#1b1b1b;text-align:center;padding:32px 32px 21px;position:relative;border-bottom:1px solid #434343}
body:not(.portrait-page) .release-heading:before,body:not(.portrait-page) .release-heading:after{content:"";position:absolute;left:50%;transform:translateX(-50%);width:0;height:0;z-index:2}
body:not(.portrait-page) .release-heading:before{bottom:-10px;border:10px solid transparent;border-top-color:#434343;border-bottom:0}
body:not(.portrait-page) .release-heading:after{bottom:-8px;border:8px solid transparent;border-top-color:#1b1b1b;border-bottom:0}
body:not(.portrait-page) .release-heading h1{font-size:18px;line-height:26.25px;font-weight:600;margin:0 0 8px;overflow-wrap:anywhere}
body:not(.portrait-page) .release-heading p{color:#ccc;font-size:13px;line-height:20px;font-weight:400;margin:0}
body:not(.portrait-page) .services{background:#1e1e1e}
body:not(.portrait-page) .service{display:flex;align-items:center;min-height:114px;padding:32px 16px;border-bottom:1px solid #434343;transition:background .2s ease-in-out;text-decoration:none}
body:not(.portrait-page) .service:last-child{border-bottom:0;min-height:113px}
body:not(.portrait-page) .service:focus-visible{position:relative;z-index:3;outline-offset:-4px}
body:not(.portrait-page) .service-name{display:flex;align-items:center;flex:0 0 58.333%;max-width:58.333%;padding:0 16px;color:#fff}
body:not(.portrait-page) .service-logo{display:block;width:auto;height:auto;max-width:100px;max-height:30px}
body:not(.portrait-page) .custom-service{font-size:21px;line-height:30px;font-weight:600}
body:not(.portrait-page) .service-action{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:0 0 41.667%;max-width:41.667%;padding:16px 32px;color:#fff;font-size:10px;line-height:17px;font-weight:400;letter-spacing:1px;text-transform:uppercase;white-space:nowrap;transition:color .2s,text-shadow .2s}
body:not(.portrait-page) .service-action svg{display:block;flex-shrink:0;width:12px;height:12px}
body:not(.portrait-page) .socials{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;padding:16px;margin:0}
body:not(.portrait-page) .socials a{display:flex;align-items:center;justify-content:center;min-width:56px;min-height:55px;padding:16px;transition:transform .15s}
body:not(.portrait-page) .socials svg{display:block;width:24px;height:24px}
body:not(.portrait-page) .at-icon{display:block;font-size:28px;line-height:24px;font-weight:600}
body:not(.portrait-page) .catalogue-return{position:relative;z-index:1;text-align:center;padding:0 16px 24px;font-size:11px;line-height:20px}
body:not(.portrait-page) .catalogue-return a{display:inline-block;color:#fff;background:#1b1b1bbf;padding:8px 14px;border-radius:2px}
body:not(.portrait-page) .catalogue-return a:hover{text-decoration:underline}
body:not(.portrait-page) .site-footer{max-width:1440px;padding:25px 5vw 32px;margin:auto;border-top:1px solid #434343;display:flex;align-items:center;justify-content:space-between;color:#aaa;font-size:11px;gap:20px}
body:not(.portrait-page) .not-found{max-width:800px;margin:100px auto 180px;padding:0 5vw}
body:not(.portrait-page) .eyebrow{color:var(--muted);font-size:12px;letter-spacing:.16em;text-transform:uppercase}
body:not(.portrait-page) .not-found h1{font-size:clamp(35px,6vw,64px);font-weight:400;letter-spacing:-.04em}
body:not(.portrait-page) .not-found p:not(.eyebrow){color:var(--muted);line-height:1.7}
body:not(.portrait-page) .return{display:inline-block;margin-top:24px;padding-bottom:8px;border-bottom:1px solid var(--muted)}
@media(min-width:768px){body:not(.portrait-page) .release{width:50%}}
@media(min-width:1024px){body:not(.portrait-page) .release{width:30%}}
@media(min-width:1280px){body:not(.portrait-page) .release{width:25%}}
@media(max-width:1000px){body:not(.portrait-page) .release-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:768px){body:not(.portrait-page) .release-shell{padding:16px 8px}
body:not(.portrait-page) .release{padding:0 8px}
body:not(.portrait-page) .release-heading{padding-left:16px;padding-right:16px}
body:not(.portrait-page) .service-name{padding:0 8px}
body:not(.portrait-page) .service-action{padding-left:20px;padding-right:20px}}
@media(max-width:680px){body:not(.portrait-page) .site-header{padding:26px 24px}
body:not(.portrait-page) .wordmark{font-size:14px}
body:not(.portrait-page) .catalogue{padding:0 24px;margin:27px auto 64px}
body:not(.portrait-page) .catalogue-heading{margin-bottom:30px;align-items:flex-end}
body:not(.portrait-page) .catalogue-heading p{font-size:11px;max-width:75px;line-height:1.7;text-align:right}
body:not(.portrait-page) .catalogue-heading p span{display:none}
body:not(.portrait-page) .release-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}
body:not(.portrait-page) .card-caption h2{font-size:12px}
body:not(.portrait-page) .card-caption{padding:14px 12px}
body:not(.portrait-page) .site-footer{padding:24px;font-size:10px}
body:not(.portrait-page) .not-found{margin:70px auto 120px;padding:0 24px}}
@media(prefers-reduced-motion:reduce){body:not(.portrait-page) *{transition:none!important}}
html:has(body.portrait-page),body.portrait-page,body.portrait-page div,body.portrait-page span,body.portrait-page applet,body.portrait-page object,body.portrait-page iframe,body.portrait-page h1,body.portrait-page h2,body.portrait-page h3,body.portrait-page h4,body.portrait-page h5,body.portrait-page h6,body.portrait-page p,body.portrait-page blockquote,body.portrait-page pre,body.portrait-page a,body.portrait-page abbr,body.portrait-page acronym,body.portrait-page address,body.portrait-page big,body.portrait-page cite,body.portrait-page code,body.portrait-page del,body.portrait-page dfn,body.portrait-page em,body.portrait-page img,body.portrait-page ins,body.portrait-page kbd,body.portrait-page q,body.portrait-page s,body.portrait-page samp,body.portrait-page small,body.portrait-page strike,body.portrait-page strong,body.portrait-page sub,body.portrait-page sup,body.portrait-page tt,body.portrait-page var,body.portrait-page b,body.portrait-page u,body.portrait-page i,body.portrait-page center,body.portrait-page dl,body.portrait-page dt,body.portrait-page dd,body.portrait-page ol,body.portrait-page ul,body.portrait-page li,body.portrait-page fieldset,body.portrait-page form,body.portrait-page label,body.portrait-page legend,body.portrait-page table,body.portrait-page caption,body.portrait-page tbody,body.portrait-page tfoot,body.portrait-page thead,body.portrait-page tr,body.portrait-page th,body.portrait-page td,body.portrait-page article,body.portrait-page aside,body.portrait-page canvas,body.portrait-page details,body.portrait-page embed,body.portrait-page figure,body.portrait-page figcaption,body.portrait-page footer,body.portrait-page header,body.portrait-page hgroup,body.portrait-page menu,body.portrait-page nav,body.portrait-page output,body.portrait-page ruby,body.portrait-page section,body.portrait-page summary,body.portrait-page time,body.portrait-page mark,body.portrait-page audio,body.portrait-page video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline;}
body.portrait-page article,body.portrait-page aside,body.portrait-page details,body.portrait-page figcaption,body.portrait-page figure,body.portrait-page footer,body.portrait-page header,body.portrait-page hgroup,body.portrait-page menu,body.portrait-page nav,body.portrait-page section{display:block;}
body.portrait-page{line-height:1;}
body.portrait-page ol,body.portrait-page ul{list-style:none;}
body.portrait-page blockquote,body.portrait-page q{quotes:none;}
body.portrait-page blockquote::before,body.portrait-page blockquote::after,body.portrait-page q::before,body.portrait-page q::after{content:'';content:none;}
body.portrait-page table{border-collapse:collapse;border-spacing:0;}
body.portrait-page{-webkit-text-size-adjust:none}
body.portrait-page mark{background-color:transparent;color:inherit}
body.portrait-page input::-moz-focus-inner{border:0;padding:0}
body.portrait-page input[type="text"],body.portrait-page input[type="email"],body.portrait-page select,body.portrait-page textarea{-moz-appearance:none;-webkit-appearance:none;-ms-appearance:none;appearance:none}
body.portrait-page *,body.portrait-page *::before,body.portrait-page *::after{box-sizing: border-box;}
body.portrait-page{line-height: 1.0;min-height: var(--viewport-height);min-width: 320px;overflow-x: hidden;word-wrap: break-word;background-color: #000000;}
html:has(body.portrait-page){--background-height: 100vh;--site-language-alignment: left;--site-language-direction: ltr;--site-language-flex-alignment: flex-start;--site-language-indent-left: 1;--site-language-indent-right: 0;--site-language-margin-left: 0;--site-language-margin-right: auto;--viewport-height: 100vh;}
html:has(body.portrait-page){font-size: 17pt;}
body.portrait-page u{text-decoration: underline;}
body.portrait-page strong{color: inherit;font-weight: bolder;}
body.portrait-page em{font-style: italic;}
body.portrait-page code{background-color: rgba(144,144,144,0.25);border-radius: 0.25em;font-family: 'Lucida Console', 'Courier New', monospace;font-size: 0.9em;font-weight: normal;letter-spacing: 0;margin: 0 0.25em;padding: 0.25em 0.5em;text-indent: 0;}
body.portrait-page mark{background-color: rgba(144,144,144,0.25);}
body.portrait-page spoiler-text{-webkit-text-stroke: 0;background-color: rgba(32,32,32,0.75);text-shadow: none;text-stroke: 0;color: transparent;cursor: pointer;transition: color 0.1s ease-in-out;}
body.portrait-page spoiler-text.active{color: #FFFFFF;cursor: text;}
body.portrait-page s{text-decoration: line-through;}
body.portrait-page sub{font-size: smaller;vertical-align: sub;}
body.portrait-page sup{font-size: smaller;vertical-align: super;}
body.portrait-page a{color: inherit;text-decoration: underline;transition: none;}
body.portrait-page a[onclick]:not([href]){cursor: pointer;}
body.portrait-page unloaded-script{display: none;}
body.portrait-page .site-wrapper{-webkit-overflow-scrolling: touch;align-items: center;display: flex;flex-direction: column;justify-content: center;min-height: var(--viewport-height);overflow: hidden;position: relative;z-index: 2;}
body.portrait-page .site-main{--alignment: var(--site-language-alignment);--flex-alignment: var(--site-language-flex-alignment);--indent-left: var(--site-language-indent-left);--indent-right: var(--site-language-indent-right);--margin-left: var(--site-language-margin-left);--margin-right: var(--site-language-margin-right);--border-radius-tl: 0;--border-radius-tr: 0;--border-radius-br: 0;--border-radius-bl: 0;align-items: center;display: flex;flex-grow: 0;flex-shrink: 0;justify-content: center;max-width: 100%;position: relative;text-align: var(--alignment);z-index: 1;-webkit-backdrop-filter: blur(0.025rem);backdrop-filter: blur(0.025rem);}
body.portrait-page .site-main > .inner{--padding-horizontal: 2rem;--padding-vertical: 2rem;--spacing: 0rem;--width: 50rem;border-radius: var(--border-radius-tl) var(--border-radius-tr) var(--border-radius-br) var(--border-radius-bl);max-width: 100%;position: relative;width: var(--width);z-index: 1;padding: var(--padding-vertical) var(--padding-horizontal);}
body.portrait-page .site-main > .inner > header{margin-bottom: var(--spacing);}
body.portrait-page .site-main > .inner > footer{margin-top: var(--spacing);}
body.portrait-page .site-main > .inner > * > *{margin-top: var(--spacing);margin-bottom: var(--spacing);}
body.portrait-page .site-main > .inner > * > :first-child{margin-top: 0 !important;}
body.portrait-page .site-main > .inner > * > :last-child{margin-bottom: 0 !important;}
body.portrait-page .site-main > .inner > .full{margin-left: calc(var(--padding-horizontal) * -1);max-width: calc(100% + calc(var(--padding-horizontal) * 2) + 0.4725px);width: calc(100% + calc(var(--padding-horizontal) * 2) + 0.4725px);}
body.portrait-page .site-main > .inner > .full:first-child{border-top-left-radius: inherit;border-top-right-radius: inherit;margin-top: calc(var(--padding-vertical) * -1) !important;}
body.portrait-page .site-main > .inner > .full:last-child{border-bottom-left-radius: inherit;border-bottom-right-radius: inherit;margin-bottom: calc(var(--padding-vertical) * -1) !important;}
body.portrait-page .site-main > .inner > .full.screen{border-radius: 0 !important;max-width: 100vw;position: relative;width: 100vw;left: 50%;margin-left: -50vw;right: auto;}
body.portrait-page .site-main > .inner > * > .full{margin-left: calc(-2rem);max-width: calc(100% + 4rem + 0.4725px);width: calc(100% + 4rem + 0.4725px);}
body.portrait-page .site-main > .inner > * > .full.screen{border-radius: 0 !important;max-width: 100vw;position: relative;width: 100vw;left: 50%;margin-left: -50vw;right: auto;}
body.portrait-page .site-main > .inner > .active > .full:first-child{margin-top: -2rem !important;border-top-left-radius: inherit;border-top-right-radius: inherit;}
body.portrait-page .site-main > .inner > .active{border-top-left-radius: inherit;border-top-right-radius: inherit;border-bottom-left-radius: inherit;border-bottom-right-radius: inherit;}
body.portrait-page .site-main > .inner > .active > .full:last-child{border-bottom-left-radius: inherit;border-bottom-right-radius: inherit;margin-bottom: -2rem !important;}
body.portrait-page .site-main > .inner > header,body.portrait-page .site-main > .inner > footer{transition: opacity 0.125s ease-in-out 0.1875s,filter 0.25s ease-in-out 0.1875s,visibility 0.125s linear 0.1875s;}
body.portrait-page .site-main > .inner > header.hidden,body.portrait-page .site-main > .inner > footer.hidden{filter: blur(0.28125);opacity: 0;transition: opacity 0.125s ease-in-out,visibility 0.125s;visibility: hidden;}
body.portrait-page .site-main > .inner > section{transition: opacity 0.25s ease-in-out 0.125s,filter 0.25s ease-in-out 0.125s,min-height 0.125s ease-in-out,max-height 0.125s ease-in-out;}
body.portrait-page .site-main > .inner > section.inactive{filter: blur(0.28125rem);opacity: 0;transition: opacity 0.125s ease-in-out,filter 0.125s ease-in-out;}
body.portrait-page.is-instant .site-main,body.portrait-page.is-instant .site-main > .inner > *,body.portrait-page.is-instant .site-main > .inner > section > *{transition: none !important;}
body.portrait-page.is-instant::after{display: none !important;transition: none !important;}
body.portrait-page .buttons-component{cursor: default;display: flex;justify-content: var(--flex-alignment);letter-spacing: 0;padding: 0;}
body.portrait-page .buttons-component > li{max-width: 100%;text-align: var(--alignment);}
body.portrait-page .buttons-component > li > a{align-items: center;justify-content: center;max-width: 100%;text-align: center;text-decoration: none;vertical-align: middle;white-space: nowrap;}
body.portrait-page .buttons-component.instance-1{--flex-alignment: center;--alignment: center;gap: 0rem;flex-direction: column;flex-wrap: nowrap;}
body.portrait-page .buttons-component.instance-1 > li > a{display: inline-block;width: auto;height: 2rem;line-height: calc(2rem - 2px);padding: 0 1rem;vertical-align: middle;text-transform: uppercase;font-family: 'Pixelify Sans', cursive;font-size: 1.5em;font-weight: 500;border-radius: 3rem;direction: var(--site-language-direction);overflow: hidden;text-overflow: ellipsis;color: #F4D9A0;border: solid 1px transparent;transition: none;}
body.portrait-page .buttons-component.style-1{--flex-alignment: center;--alignment: center;gap: 0rem;flex-direction: column;flex-wrap: nowrap;}
body.portrait-page .buttons-component.style-1:not(:first-child){margin-top: 1rem !important;}
body.portrait-page .buttons-component.style-1:not(:last-child){margin-bottom: 1rem !important;}
body.portrait-page .buttons-component.style-1 > li > a{display: inline-flex;width: auto;height: 2rem;line-height: 2rem;padding: 0 1rem;vertical-align: middle;text-transform: uppercase;font-family: 'Pixelify Sans', cursive;font-size: 1.25em;font-weight: 400;border-radius: 3rem;color: #F4D9A0;border: solid 1px transparent;transition: none;}
body.portrait-page .buttons-component.style-1 > li > a > svg{display: block;fill: #F4D9A0;flex-grow: 0;flex-shrink: 0;height: 100%;min-width: 18px;pointer-events: none;width: 1.25em;margin-left: -0.125em;margin-right: calc(0.5em + 0rem);transition: none;}
body.portrait-page .buttons-component.style-1 > li > a > .label{direction: var(--site-language-direction);overflow: hidden;}
body.portrait-page .buttons-component.style-1 > li > a:hover > svg{fill: #C49B62 !important;}
body.portrait-page .container-component{position: relative;}
body.portrait-page .container-component > .wrapper{vertical-align: top;position: relative;max-width: 100%;border-radius: inherit;}
body.portrait-page .container-component > .wrapper > .inner{vertical-align: top;position: relative;max-width: 100%;border-radius: inherit;text-align: var(--alignment);}
body.portrait-page .container-component.full:first-child > .wrapper{border-top-left-radius: inherit;border-top-right-radius: inherit;}
body.portrait-page .container-component.full:last-child > .wrapper{border-bottom-left-radius: inherit;border-bottom-right-radius: inherit;}
body.portrait-page .container-component.full:first-child > .wrapper > .inner{border-top-left-radius: inherit;border-top-right-radius: inherit;}
body.portrait-page .container-component.full:last-child > .wrapper > .inner{border-bottom-left-radius: inherit;border-bottom-right-radius: inherit;}
body.portrait-page .container-component.style-1 > .wrapper{display: inline-block;width: 75rem;background-color: rgba(0,0,0,0.651);border-radius: 1rem;}
body.portrait-page .container-component.style-1 > .wrapper > .inner{--gutters: 2rem;--padding-horizontal: 2rem;--padding-vertical: 2rem;padding: var(--padding-vertical) var(--padding-horizontal);border-radius: calc(1rem - 0px);}
body.portrait-page .container-component.style-1.default > .wrapper > .inner > *{margin-bottom: var(--spacing);margin-top: var(--spacing);}
body.portrait-page .container-component.style-1.default > .wrapper > .inner > *:first-child{margin-top: 0 !important;}
body.portrait-page .container-component.style-1.default > .wrapper > .inner > *:last-child{margin-bottom: 0 !important;}
body.portrait-page .container-component.style-1.columns > .wrapper > .inner{flex-wrap: wrap;display: flex;align-items: flex-start;}
body.portrait-page .container-component.style-1.columns > .wrapper > .inner > *{flex-grow: 0;flex-shrink: 0;max-width: 100%;text-align: var(--alignment);padding: 0 0 0 var(--gutters);}
body.portrait-page .container-component.style-1.columns > .wrapper > .inner > * > *{margin-bottom: var(--spacing);margin-top: var(--spacing);}
body.portrait-page .container-component.style-1.columns > .wrapper > .inner > * > *:first-child{margin-top: 0 !important;}
body.portrait-page .container-component.style-1.columns > .wrapper > .inner > * > *:last-child{margin-bottom: 0 !important;}
body.portrait-page .container-component.style-1.columns > .wrapper > .inner > *:first-child{margin-left: calc(var(--gutters) * -1);}
body.portrait-page .container-component.style-1.default > .wrapper > .inner > .full{margin-left: calc(var(--padding-horizontal) * -1);max-width: none !important;width: calc(100% + (var(--padding-horizontal) * 2) + 0.4725px);}
body.portrait-page .container-component.style-1.default > .wrapper > .inner > .full:first-child{margin-top: calc(var(--padding-vertical) * -1) !important;border-top-left-radius: inherit;border-top-right-radius: inherit;}
body.portrait-page .container-component.style-1.default > .wrapper > .inner > .full:last-child{margin-bottom: calc(var(--padding-vertical) * -1) !important;border-bottom-left-radius: inherit;border-bottom-right-radius: inherit;}
body.portrait-page .container-component.style-1.columns > .wrapper > .inner > div > .full{margin-left: calc(var(--gutters) * -0.5);max-width: none !important;width: calc(100% + var(--gutters) + 0.4725px);}
body.portrait-page .container-component.style-1.columns > .wrapper > .inner > div:first-child > .full{margin-left: calc(var(--padding-horizontal) * -1);width: calc(100% + var(--padding-horizontal) + calc(var(--gutters) * 0.5) + 0.4725px);}
body.portrait-page .container-component.style-1.columns > .wrapper > .inner > div:last-child > .full{width: calc(100% + var(--padding-horizontal) + calc(var(--gutters) * 0.5) + 0.4725px);}
body.portrait-page .container-component.style-1.columns > .wrapper > .inner > div > .full:first-child{margin-top: calc(var(--padding-vertical) * -1) !important;}
body.portrait-page .container-component.style-1.columns > .wrapper > .inner > div > .full:last-child{margin-bottom: calc(var(--padding-vertical) * -1) !important;}
body.portrait-page .container-component.style-1.columns > .wrapper > .inner > div:first-child,body.portrait-page .container-component.style-1.columns > .wrapper > .inner > div:first-child > .full:first-child{border-top-left-radius: inherit;}
body.portrait-page .container-component.style-1.columns > .wrapper > .inner > div:last-child,body.portrait-page .container-component.style-1.columns > .wrapper > .inner > div:last-child > .full:first-child{border-top-right-radius: inherit;}
body.portrait-page .container-component.style-1.columns > .wrapper > .inner > .full{align-self: stretch;}
body.portrait-page .container-component.style-1.columns > .wrapper > .inner > .full:first-child{border-bottom-left-radius: inherit;border-top-left-radius: inherit;}
body.portrait-page .container-component.style-1.columns > .wrapper > .inner > .full:last-child{border-bottom-right-radius: inherit;border-top-right-radius: inherit;}
body.portrait-page .container-component.style-1.columns > .wrapper > .inner > .full > .full:first-child:last-child{border-radius: inherit;height: calc(100% + (var(--padding-vertical) * 2));}
body.portrait-page .container-component.style-1.columns > .wrapper > .inner > .full > .full:first-child:last-child > *{border-radius: inherit;height: 100%;position: absolute;width: 100%;}
body.portrait-page .text-component{direction: var(--site-language-direction);position: relative;}
body.portrait-page .text-component span.p{display: block;position: relative;}
body.portrait-page .text-component span[style],body.portrait-page .text-component strong,body.portrait-page .text-component a,body.portrait-page .text-component code,body.portrait-page .text-component mark,body.portrait-page .text-component spoiler-text{-webkit-text-fill-color: currentcolor;}
body.portrait-page .text-component.style-1{text-align: left;color: #F4D9A0;font-family: 'Playfair Display', serif;font-size: 2.5em;line-height: 1.25;font-weight: 400;}
body.portrait-page .text-component.style-1 a{text-decoration: underline;}
body.portrait-page .text-component.style-1 a:hover{text-decoration: none;}
body.portrait-page .text-component.style-1 span.p:nth-child(n + 2){margin-top: 1rem;}
body.portrait-page .text-component.style-4{text-align: left;color: #F4D9A0;font-family: 'Playfair Display', serif;font-size: 2em;line-height: 1.25;font-weight: 400;}
body.portrait-page .text-component.style-4 a{text-decoration: underline;}
body.portrait-page .text-component.style-4 a:hover{text-decoration: none;}
body.portrait-page .text-component.style-4 span.p:nth-child(n + 2){margin-top: 1rem;}
body.portrait-page .text-component.style-3{text-align: left;color: #F4D9A0;font-family: 'Playfair Display', serif;font-size: 1.5em;line-height: 1.75;font-weight: 400;}
body.portrait-page .text-component.style-3 a{text-decoration: underline;}
body.portrait-page .text-component.style-3 a:hover{text-decoration: none;}
body.portrait-page .text-component.style-3 span.p:nth-child(n + 2){margin-top: 1rem;}
body.portrait-page .text-component.style-2{text-align: center;color: #F4D9A0;font-family: 'Times New Roman', serif;font-size: 1.25em;line-height: 1;font-weight: 400;}
body.portrait-page .text-component.style-2 a{text-decoration: underline;}
body.portrait-page .text-component.style-2 a:hover{text-decoration: none;}
body.portrait-page .text-component.style-2 span.p:nth-child(n + 2){margin-top: 2.5rem;}
body.portrait-page .links-component{display: flex;justify-content: var(--flex-alignment);letter-spacing: 0;line-height: 1.5;padding: 0;}
body.portrait-page .links-component > li{position: relative;text-align: var(--alignment);}
body.portrait-page .links-component > li > a{direction: var(--site-language-direction);display: block;}
body.portrait-page .links-component.style-1{--flex-alignment: flex-start;--alignment: left;gap: 0rem;flex-direction: column;flex-wrap: nowrap;font-family: 'Overpass Mono', monospace;letter-spacing: -0.075rem;margin-right: 0.075rem;font-size: 1em;font-weight: 400;}
body.portrait-page .links-component.style-1 > li > a{color: #F4D9A0;text-decoration: none;}
body.portrait-page .links-component.style-3{--flex-alignment: flex-start;--alignment: left;gap: 0rem;flex-direction: column;flex-wrap: nowrap;font-family: 'Overpass Mono', monospace;letter-spacing: -0.075rem;margin-right: 0.075rem;font-size: 0.875em;font-weight: 400;}
body.portrait-page .links-component.style-3 > li > a{color: #F4D9A0;text-decoration: none;}
body.portrait-page .links-component.style-2{--flex-alignment: flex-start;--alignment: left;gap: 0rem;flex-direction: column;flex-wrap: nowrap;font-family: 'Overpass Mono', monospace;letter-spacing: -0.075rem;margin-right: 0.075rem;font-size: 0.75em;font-weight: 400;}
body.portrait-page .links-component.style-2 > li > a{color: #F4D9A0;text-decoration: none;}
body.portrait-page .form-component{display: flex;justify-content: var(--flex-alignment);}
body.portrait-page .form-component > .inner{display: flex;flex-direction: column;flex-wrap: wrap;max-width: 100%;}
body.portrait-page .form-component label{direction: var(--site-language-direction);display: block;}
body.portrait-page .form-component .field[data-type="label"] + div{margin-top: 0 !important;}
body.portrait-page .form-component .field button{align-items: center;background-color: transparent;border: 0;cursor: pointer;display: flex;justify-content: center;position: absolute;}
body.portrait-page .form-component .field button > svg{height: 50%;min-width: 100%;}
body.portrait-page .form-component input[type="text"],body.portrait-page .form-component input[type="email"],body.portrait-page .form-component input[type="tel"],body.portrait-page .form-component input[type="url"],body.portrait-page .form-component input[type="number"],body.portrait-page .form-component textarea,body.portrait-page .form-component select,body.portrait-page .form-component .file,body.portrait-page .form-component .date{background-color: transparent;border: 0;direction: var(--site-language-direction);display: block;outline: 0;text-align: var(--site-language-alignment);width: 100%;}
body.portrait-page .form-component input[type="tel"]{-webkit-appearance: none;}
body.portrait-page .form-component textarea{height: 10rem;line-height: normal;}
body.portrait-page .form-component select{background-repeat: no-repeat;background-size: 1rem;text-overflow: ellipsis;-webkit-appearance: none;}
body.portrait-page .form-component select option{background-color: white;color: black;}
body.portrait-page .form-component select::-ms-expand{display: none;}
body.portrait-page .form-component p{display: block;}
body.portrait-page .form-component input[type="checkbox"]{-webkit-appearance: none;display: block;float: left;margin-right: -2rem;opacity: 0;width: 1rem;z-index: -1;}
body.portrait-page .form-component input[type="checkbox"] + label{align-items: center;display: inline-flex;line-height: 1.6;text-align: var(--site-language-alignment);}
body.portrait-page .form-component input[type="checkbox"] + label::before{background-position: center;background-repeat: no-repeat;content: '';cursor: pointer;display: inline-block;flex-grow: 0;flex-shrink: 0;vertical-align: middle;}
body.portrait-page .form-component input[type="number"]{-webkit-appearance: none;-moz-appearance: textfield;}
body.portrait-page .form-component input[type="number"]::-webkit-inner-spin-button,body.portrait-page .form-component input[type="number"]::-webkit-outer-spin-button{-webkit-appearance: none;}
body.portrait-page .form-component .number{position: relative;}
body.portrait-page .form-component .number > input[type="number"]{text-align: center;}
body.portrait-page .form-component .field .number > button > svg{height: 40%;}
body.portrait-page .form-component .file{position: relative;}
body.portrait-page .form-component .file > input[type="file"]{cursor: pointer;height: 100%;left: 0;opacity: 0;position: absolute;top: 0;width: 100%;}
body.portrait-page .form-component .file[data-filename]::before{background-repeat: no-repeat;content: attr(data-filename);display: block;height: 100%;overflow: hidden;position: absolute;text-overflow: ellipsis;top: 0;white-space: nowrap;}
body.portrait-page .form-component .file[data-filename=""]::before{background-image: none !important;content: attr(data-placeholder);padding-left: 0 !important;}
body.portrait-page .form-component .field .file > button > svg{height: 53%;}
body.portrait-page .form-component .date{overflow: hidden;position: relative;}
body.portrait-page .form-component .date input[type="date"]{cursor: pointer;display: block;height: 100%;left: 0;opacity: 0;position: absolute;top: 0;width: 100vw;}
body.portrait-page .form-component .date[data-value]::before{background-repeat: no-repeat;display: block;height: 100%;overflow: hidden;position: absolute;text-overflow: ellipsis;top: 0;white-space: nowrap;}
body.portrait-page .form-component .date:not([data-value=""])::before{content: attr(data-value);}
body.portrait-page .form-component .date[data-value=""]::before{content: attr(data-placeholder);}
body.portrait-page .form-component .field .date > button > svg{height: 60%;}
body.portrait-page .form-component .actions{max-width: 100%;}
body.portrait-page .form-component .actions button{align-items: center;background-color: transparent;border: 0;cursor: pointer;display: inline-flex;justify-content: center;max-width: 100%;text-align: center;vertical-align: middle;white-space: nowrap;}
body.portrait-page .form-component .actions button:disabled{cursor: default;opacity: 0.35;pointer-events: none;}
@keyframes button-spinner{0% {transform: rotate(0deg);}100% {transform: rotate(360deg);}}
body.portrait-page .form-component.instance-2{justify-content: center;text-align: center;}
body.portrait-page .form-component.instance-2 > .inner > *{margin: 1rem 0 0 0;max-width: 100%;}
body.portrait-page .form-component.instance-2 > .inner > :first-child{margin: 0;}
body.portrait-page .form-component.instance-2 > .inner{width: 100%;}
body.portrait-page .form-component.instance-2 label:first-child{margin: 0.25rem 0 0.75rem 0;font-size: 1.5em;line-height: 1.5;font-family: 'Playfair Display', serif;font-weight: 400;color: #F4D9A0;}
body.portrait-page .form-component.instance-2 .field button{background-size: 0.8rem;height: calc(1.6rem - 2px);width: calc(1.6rem - 2px);border-radius: 0.64rem;border: solid 1px transparent;transition: none;}
body.portrait-page .form-component.instance-2 .field button svg{fill: #F4D9A0;transition: none;}
body.portrait-page .form-component.instance-2 .field button:hover svg{fill: #C49B62;}
body.portrait-page .form-component.instance-2 input[type="text"],body.portrait-page .form-component.instance-2 input[type="email"],body.portrait-page .form-component.instance-2 input[type="tel"],body.portrait-page .form-component.instance-2 input[type="url"],body.portrait-page .form-component.instance-2 input[type="number"],body.portrait-page .form-component.instance-2 textarea,body.portrait-page .form-component.instance-2 select,body.portrait-page .form-component.instance-2 .file,body.portrait-page .form-component.instance-2 .date{font-size: 1.25em;font-family: 'Playfair Display', serif;font-weight: 400;border-radius: 1rem;color: #F4D9A0;border: solid 1px #F4D9A0;}
body.portrait-page .form-component.instance-2 input[type="text"]:focus,body.portrait-page .form-component.instance-2 input[type="email"]:focus,body.portrait-page .form-component.instance-2 input[type="tel"]:focus,body.portrait-page .form-component.instance-2 input[type="url"]:focus,body.portrait-page .form-component.instance-2 input[type="number"]:focus,body.portrait-page .form-component.instance-2 textarea:focus,body.portrait-page .form-component.instance-2 select:focus,body.portrait-page .form-component.instance-2 .file:focus,body.portrait-page .form-component.instance-2 .date.focus{border-color: #C49B62;box-shadow: 0 0 0 1px #C49B62;}
body.portrait-page .form-component.instance-2 input[type="text"],body.portrait-page .form-component.instance-2 input[type="email"],body.portrait-page .form-component.instance-2 input[type="tel"],body.portrait-page .form-component.instance-2 input[type="url"],body.portrait-page .form-component.instance-2 input[type="number"],body.portrait-page .form-component.instance-2 select,body.portrait-page .form-component.instance-2 .file,body.portrait-page .form-component.instance-2 .date{height: 2rem;padding: 0 0.7rem;line-height: calc(2rem - 2px);}
body.portrait-page .form-component.instance-2 textarea{padding: 0.7rem;height: 20rem;line-height: 1;padding-top: 0.525rem;}
body.portrait-page .form-component.instance-2 select{background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='504' height='552' preserveAspectRatio='none' viewBox='0 0 504 552'%3E%3Cpath d='M483.9,210.9L252,442.9L20.1,210.9l67.9-67.9L252,307.1l164.1-164.1L483.9,210.9z' fill='%23F4D9A0' /%3E%3C/svg%3E");background-position: calc(100% - 0.7rem) center;padding-right: 2.25rem;}
body.portrait-page .form-component.instance-2 input[type="checkbox"] + label::before{border-radius: 1rem;color: #F4D9A0;border: solid 1px #F4D9A0;background-size: 0.85rem;height: 1.5rem;width: 1.5rem;margin-right: 0.875rem;}
body.portrait-page .form-component.instance-2 input[type="checkbox"]:checked + label::before{background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='648' height='552' preserveAspectRatio='none' viewBox='0 0 648 552'%3E%3Cpath d='M225.3,517.7L2.1,293.1l68.1-67.7L226,382.3L578.1,35.6l67.4,68.4L225.3,517.7z' fill='%23F4D9A0' /%3E%3C/svg%3E");}
body.portrait-page .form-component.instance-2 input[type="checkbox"]:focus + label::before{border-color: #C49B62;box-shadow: 0 0 0 1px #C49B62;}
body.portrait-page .form-component.instance-2 .number > input[type="number"]{padding-left: 2.1rem;padding-right: 2.1rem;}
body.portrait-page .form-component.instance-2 .number > button.decrement{bottom: calc(0.2rem + 1px);left: calc(0.2rem + 1px);}
body.portrait-page .form-component.instance-2 .number > button.increment{bottom: calc(0.2rem + 1px);right: calc(0.2rem + 1px);}
body.portrait-page .form-component.instance-2 .file::before{width: calc(100% - 2.7rem);background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' preserveAspectRatio='none' viewBox='0 0 40 40'%3E%3Cpath d='M27.4,4.5c-0.4-0.4-0.8-0.7-1.5-0.9c-0.6-0.3-1.2-0.4-1.7-0.4H7.1c-0.5,0-0.9,0.2-1.3,0.5S5.3,4.5,5.3,5.1v30.7 c0,0.5,0.2,0.9,0.5,1.3c0.4,0.4,0.8,0.5,1.3,0.5h25.8c0.5,0,0.9-0.2,1.3-0.5c0.4-0.4,0.5-0.8,0.5-1.3V13.7c0-0.5-0.1-1.1-0.4-1.7 c-0.3-0.6-0.6-1.1-0.9-1.5L27.4,4.5z M25.7,6.2l6,6c0.2,0.2,0.3,0.4,0.4,0.8h-7.2V5.8C25.3,5.9,25.5,6.1,25.7,6.2z M7.7,35.2V5.7 h14.7v8c0,0.5,0.2,0.9,0.5,1.3c0.4,0.4,0.8,0.5,1.3,0.5h8v19.7H7.7z' style='opacity: 0.375' fill='%23F4D9A0' /%3E%3C/svg%3E");background-size: 1.25rem;background-position: left;padding-left: 1.75rem;}
body.portrait-page .form-component.instance-2 .file > button{bottom: 0.2rem;right: 0.2rem;}
body.portrait-page .form-component.instance-2 .date::before{width: calc(100% - 2.7rem);}
body.portrait-page .form-component.instance-2 .date > button{bottom: 0.2rem;right: 0.2rem;}
body.portrait-page .form-component.instance-2 input[type="checkbox"] + label,body.portrait-page .form-component.instance-2 p{font-size: 1.25em;line-height: 1;font-family: 'Playfair Display', serif;font-weight: 400;color: #F4D9A0;}
body.portrait-page .form-component.instance-2 .actions button{display: inline-block;width: auto;height: 2rem;line-height: calc(2rem - 2px);padding: 0 1rem;vertical-align: middle;text-transform: uppercase;font-family: 'Pixelify Sans', cursive;font-size: 1.25em;font-weight: 400;border-radius: 1rem;direction: var(--site-language-direction);overflow: hidden;text-overflow: ellipsis;color: #F4D9A0;border: solid 1px transparent;transition: none;position: relative;}
body.portrait-page .form-component.instance-2 > .inner > :first-child > label:first-child{margin-top: 0;}
body.portrait-page .form-component.instance-2 .actions button::before{animation: button-spinner 1s infinite linear;background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iOTZweCIgaGVpZ2h0PSI5NnB4IiB2aWV3Qm94PSIwIDAgOTYgOTYiIHpvb21BbmRQYW49ImRpc2FibGUiPjxzdHlsZT5jaXJjbGUge2ZpbGw6IHRyYW5zcGFyZW50OyBzdHJva2U6ICNGNEQ5QTA7IHN0cm9rZS13aWR0aDogMnB4OyB9PC9zdHlsZT48ZGVmcz48Y2xpcFBhdGggaWQ9ImNvcm5lciI+PHBvbHlnb24gcG9pbnRzPSIwLDAgNDgsMCA0OCw0OCA5Niw0OCA5Niw5NiAwLDk2IiAvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjb3JuZXIpIj48Y2lyY2xlIGN4PSI0OCIgY3k9IjQ4IiByPSIzMiIvPjwvZz48L3N2Zz4=');background-position: center;background-repeat: no-repeat;background-size: 1.5rem;content: '';display: block;height: 1.5rem;left: 50%;margin: -0.75rem 0 0 -0.75rem;opacity: 0;pointer-events: none;position: absolute;top: 50%;transition: opacity 0.25s ease;transition-delay: 0s;width: 1.5rem;}
body.portrait-page .form-component.instance-2 .actions button.waiting{color: transparent;}
body.portrait-page .form-component.instance-2 .actions button.waiting svg{fill: transparent;}
body.portrait-page .form-component.instance-2 .actions button.waiting::before{opacity: 1.0;transition-delay: 0.125s;}
body.portrait-page .form-component.instance-2 ::-webkit-input-placeholder{color: #F4D9A0;opacity: 0.55;}
body.portrait-page .form-component.instance-2 :-moz-placeholder{color: #F4D9A0;opacity: 0.55;}
body.portrait-page .form-component.instance-2 ::-moz-placeholder{color: #F4D9A0;opacity: 0.55;}
body.portrait-page .form-component.instance-2 :-ms-input-placeholder{color: #F4D9A0;opacity: 0.55;}
body.portrait-page .form-component.instance-2 .file[data-filename=""]::before{color: #F4D9A0;opacity: 0.55;}
body.portrait-page .form-component.instance-2 .date[data-value=""]::before{color: #F4D9A0;opacity: 0.55;}
body.portrait-page .form-component.instance-2 input[name="fname"]{display: none;}
body.portrait-page .form-component.instance-2 .recaptchav2-container{opacity: 0;pointer-events: none;position: absolute;transition: opacity 0.5s ease;visibility: hidden;}
body.portrait-page .form-component.instance-2 .recaptchav2-container.loaded{margin-bottom: 1rem;opacity: 1;pointer-events: auto;position: relative;visibility: visible;}
body.portrait-page .icons-component{display: flex;flex-wrap: wrap;justify-content: var(--flex-alignment);letter-spacing: 0;padding: 0;}
body.portrait-page .icons-component > li{position: relative;z-index: 1;}
body.portrait-page .icons-component > li > a{align-items: center;display: flex;justify-content: center;}
body.portrait-page .icons-component > li > a > svg{display: block;pointer-events: none;position: relative;}
body.portrait-page .icons-component > li > a + svg{display: block;height: 100%;left: 0;pointer-events: none;position: absolute;top: 0;width: 100%;z-index: -1;}
body.portrait-page .icons-component > li > a > .label{display: none;}
body.portrait-page .icons-component.instance-1{justify-content: center;font-size: 2em;gap: 2rem;}
body.portrait-page .icons-component.instance-1:not(:first-child){margin-top: 1rem !important;}
body.portrait-page .icons-component.instance-1:not(:last-child){margin-bottom: 1rem !important;}
body.portrait-page .icons-component.instance-1 > li > a{height: 1em;width: 1em;transition: none;}
body.portrait-page .icons-component.instance-1 > li > a > svg{height: 100%;width: 100%;fill: #F4D9A0;transition: none;}
body.portrait-page .icons-component.instance-1 > li > a:hover > svg{fill: #C49B62 !important;}
body.portrait-page .icons-component.instance-1 > li > a + svg{transition: none;}
@media (max-width: 1680px){html:has(body.portrait-page){font-size: 12pt;}}
@media (max-width: 1280px){html:has(body.portrait-page){font-size: 12pt;}}
@media (max-width: 980px){html:has(body.portrait-page){font-size: 11pt;}}
@media (max-width: 736px){html:has(body.portrait-page){font-size: 10pt;}
body.portrait-page .site-main > .inner{--padding-horizontal: 2rem;--padding-vertical: 2rem;--spacing: 0rem;}
body.portrait-page .site-main > .inner > * > .full{margin-left: calc(-2rem);max-width: calc(100% + 4rem + 0.4725px);width: calc(100% + 4rem + 0.4725px);}
body.portrait-page .site-main > .inner > * > .full.screen{margin-left: -50vw;}
body.portrait-page .site-main > .inner > .active > .full:first-child{margin-top: -2rem !important;}
body.portrait-page .site-main > .inner > .active > .full:last-child{margin-bottom: -2rem !important;}
body.portrait-page .buttons-component.instance-1{gap: 0rem;}
body.portrait-page .buttons-component.instance-1 > li > a{letter-spacing: 0rem;font-size: 1.5em;}
body.portrait-page .buttons-component.style-1{gap: 0rem;}
body.portrait-page .buttons-component.style-1:not(:first-child){margin-top: 0.75rem !important;}
body.portrait-page .buttons-component.style-1:not(:last-child){margin-bottom: 0.75rem !important;}
body.portrait-page .buttons-component.style-1 > li > a{letter-spacing: 0rem;font-size: 1.25em;}
body.portrait-page .buttons-component.style-1 > li > a > svg{width: 1.25em;}
body.portrait-page .container-component.style-1 > .wrapper > .inner{--gutters: 2rem;--padding-horizontal: 2rem;--padding-vertical: 2rem;}
body.portrait-page .container-component.style-1.columns > .wrapper > .inner{flex-direction: column !important;flex-wrap: nowrap !important;}
body.portrait-page .container-component.style-1.columns > .wrapper > .inner > span{height: 0;margin-top: calc(var(--gutters) * -1);pointer-events: none;visibility: hidden;}
body.portrait-page .container-component.style-1.columns > .wrapper > .inner > *:first-child{margin-left: 0 !important;padding-top: 0 !important;}
body.portrait-page .container-component.style-1.columns > .wrapper > .inner > *{padding: calc(var(--gutters) * 0.5) 0 !important;}
body.portrait-page .container-component.style-1.columns > .wrapper > .inner > *:last-child{padding-bottom: 0 !important;}
body.portrait-page .container-component.style-1.columns > .wrapper > .inner > div > .full{margin-left: calc(var(--padding-horizontal) * -1);width: calc(100% + (var(--padding-horizontal) * 2) + 0.4725px);}
body.portrait-page .container-component.style-1.columns > .wrapper > .inner > div:first-of-type > .full{margin-left: calc(var(--padding-horizontal) * -1);width: calc(100% + (var(--padding-horizontal) * 2) + 0.4725px);}
body.portrait-page .container-component.style-1.columns > .wrapper > .inner > div:last-of-type > .full{margin-left: calc(var(--padding-horizontal) * -1);width: calc(100% + (var(--padding-horizontal) * 2) + 0.4725px);}
body.portrait-page .container-component.style-1.columns > .wrapper > .inner > div > .full:first-child{margin-top: calc(var(--gutters) * -0.5) !important;}
body.portrait-page .container-component.style-1.columns > .wrapper > .inner > div > .full:last-child{margin-bottom: calc(var(--gutters) * -0.5) !important;}
body.portrait-page .container-component.style-1.columns > .wrapper > .inner > div:first-of-type > .full:first-child{margin-top: calc(var(--padding-vertical) * -1) !important;}
body.portrait-page .container-component.style-1.columns > .wrapper > .inner > div:last-of-type > .full:last-child{margin-bottom: calc(var(--padding-vertical) * -1) !important;}
body.portrait-page .container-component.style-1.columns > .wrapper > .inner > div:first-of-type,body.portrait-page .container-component.style-1.columns > .wrapper > .inner > div:first-of-type > .full:first-child{border-top-left-radius: inherit;border-top-right-radius: inherit;}
body.portrait-page .container-component.style-1.columns > .wrapper > .inner > div:last-of-type,body.portrait-page .container-component.style-1.columns > .wrapper > .inner > div:last-of-type > .full:last-child{border-bottom-left-radius: inherit;border-bottom-right-radius: inherit;}
body.portrait-page .container-component.style-1.columns > .wrapper > .inner > div:first-of-type,body.portrait-page .container-component.style-1.columns > .wrapper > .inner > div:first-of-type > .full:last-child{border-bottom-left-radius: 0 !important;}
body.portrait-page .container-component.style-1.columns > .wrapper > .inner > div:last-of-type,body.portrait-page .container-component.style-1.columns > .wrapper > .inner > div:last-of-type > .full:first-child{border-top-right-radius: 0 !important;}
body.portrait-page .container-component.style-1.columns > .wrapper > .inner > .full > .full:first-child:last-child{height: auto;}
body.portrait-page .container-component.style-1.columns > .wrapper > .inner > .full > .full:first-child:last-child > *{height: auto;position: relative;width: auto;}
body.portrait-page .text-component.style-1{letter-spacing: 0rem;width: 100%;font-size: 2.5em;line-height: 1.25;}
body.portrait-page .text-component.style-4{letter-spacing: 0rem;width: 100%;font-size: 2em;line-height: 1.25;}
body.portrait-page .text-component.style-3{letter-spacing: 0rem;width: 100%;font-size: 1.5em;line-height: 1.75;}
body.portrait-page .text-component.style-2{letter-spacing: 0rem;width: 100%;font-size: 1.25em;line-height: 1;}
body.portrait-page .links-component.style-1{gap: 0rem;letter-spacing: -0.065625rem;margin-right: 0.065625rem;font-size: 1em;}
body.portrait-page .links-component.style-3{gap: 0rem;letter-spacing: -0.065625rem;margin-right: 0.065625rem;font-size: 0.875em;}
body.portrait-page .links-component.style-2{gap: 0rem;letter-spacing: -0.065625rem;margin-right: 0.065625rem;font-size: 0.75em;}
body.portrait-page .form-component.instance-2 label:first-child{font-size: 1.5em;line-height: 1.5;letter-spacing: 0rem;}
body.portrait-page .form-component.instance-2 input[type="text"],body.portrait-page .form-component.instance-2 input[type="email"],body.portrait-page .form-component.instance-2 input[type="tel"],body.portrait-page .form-component.instance-2 input[type="url"],body.portrait-page .form-component.instance-2 input[type="number"],body.portrait-page .form-component.instance-2 textarea,body.portrait-page .form-component.instance-2 select,body.portrait-page .form-component.instance-2 .file,body.portrait-page .form-component.instance-2 .date{font-size: 1.25em;letter-spacing: 0rem;}
body.portrait-page .form-component.instance-2 textarea{line-height: 1;padding-top: 0.525rem;}
body.portrait-page .form-component.instance-2 input[type="checkbox"] + label,body.portrait-page .form-component.instance-2 p{font-size: 1.25em;line-height: 1;letter-spacing: 0rem;}
body.portrait-page .form-component.instance-2 .actions button{letter-spacing: 0rem;font-size: 1.25em;}
body.portrait-page .icons-component.instance-1{font-size: 2em;gap: 2rem;}
body.portrait-page .icons-component.instance-1:not(:first-child){margin-top: 0.75rem !important;}
body.portrait-page .icons-component.instance-1:not(:last-child){margin-bottom: 0.75rem !important;}}
@media (max-width: 480px){body.portrait-page .site-main > .inner{--spacing: 0rem;}
body.portrait-page .buttons-component.instance-1 > li > a{max-width: 32rem;width: 100%;}
body.portrait-page .buttons-component.style-1 > li > a{max-width: 32rem;width: 100%;}
body.portrait-page .form-component.instance-2 .actions button{max-width: 32rem;width: 100%;}}
@media (max-width: 360px){body.portrait-page .site-main > .inner{--padding-horizontal: 1.5rem;--padding-vertical: 1.5rem;--spacing: 0rem;}
body.portrait-page .site-main > .inner > * > .full{margin-left: calc(-1.5rem);max-width: calc(100% + 3rem + 0.4725px);width: calc(100% + 3rem + 0.4725px);}
body.portrait-page .site-main > .inner > * > .full.screen{margin-left: -50vw;}
body.portrait-page .site-main > .inner > .active > .full:first-child{margin-top: -1.5rem !important;}
body.portrait-page .site-main > .inner > .active > .full:last-child{margin-bottom: -1.5rem !important;}
body.portrait-page .buttons-component.instance-1{gap: 0rem;}
body.portrait-page .buttons-component.style-1{gap: 0rem;}
body.portrait-page .container-component.style-1 > .wrapper > .inner{--gutters: 1.5rem;--padding-horizontal: 1.5rem;--padding-vertical: 1.5rem;}
body.portrait-page .text-component.style-1{font-size: 2em;}
body.portrait-page .text-component.style-4{font-size: 1.5em;}
body.portrait-page .text-component.style-3{font-size: 1.5em;}
body.portrait-page .text-component.style-2{font-size: 1.25em;}
body.portrait-page .links-component.style-1{gap: 0rem;font-size: 1em;}
body.portrait-page .links-component.style-3{gap: 0rem;font-size: 0.875em;}
body.portrait-page .links-component.style-2{gap: 0rem;font-size: 0.75em;}
body.portrait-page .icons-component.instance-1{gap: 1.5rem;}}
/* Full-width portrait archive. Soft local shading, never a page-sized panel. */
html:has(#works-section){font-size:16px}
body.portrait-page:has(#works-section){color:#f5eee1;font-family:Arial,Helvetica,sans-serif;overflow-x:clip;overflow-y:visible}
body.portrait-page:has(#works-section) .site-wrapper{display:block;min-height:100svh;padding:0;overflow:visible}
body.portrait-page:has(#works-section) .site-main{display:block;width:100%;max-width:none;margin:0;background:none;border:0;box-shadow:none;border-radius:0}
body.portrait-page:has(#works-section) .site-main>.inner{width:100%;max-width:none;margin:0;padding:28px clamp(24px,4.4vw,88px) 100px;background:none;border-radius:0}
body.portrait-page #works-section{text-align:left}
body.portrait-page #works-section *{box-sizing:border-box}
body.portrait-page #works-section .works-archive{padding:0;background:none;border:0;border-radius:0;color:#f5eee1;font:400 16px/1.5 Arial,Helvetica,sans-serif;text-align:left}
body.portrait-page #works-section #buttons02{display:flex;justify-content:flex-start;list-style:none;margin:0!important;padding:0}
body.portrait-page #works-section #buttons02 li{display:block;width:auto;max-width:none;margin:0;padding:0;text-align:left}
body.portrait-page #works-section #buttons02 a{display:inline-flex;align-items:center;gap:8px;width:auto;height:44px;min-width:0;padding:0 12px;color:#f5eee1;background:rgba(0,0,0,.42);border:0;border-radius:22px;font:400 13px/20px Arial,Helvetica,sans-serif;letter-spacing:0;text-transform:none;text-decoration:none;backdrop-filter:blur(8px)}
body.portrait-page #works-section #buttons02 svg{width:16px;height:16px;fill:currentColor}
body.portrait-page #works-section .archive-heading{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
body.portrait-page #works-section .works-index{position:sticky;top:12px;z-index:4;display:flex;gap:4px;overflow-x:auto;white-space:nowrap;scrollbar-width:none;width:max-content;max-width:100%;margin:16px 0 40px;padding:4px;background:rgba(12,11,10,.64);border:0;border-radius:26px;backdrop-filter:blur(12px);box-shadow:0 6px 24px #0002}
body.portrait-page #works-section .works-index::-webkit-scrollbar{display:none}
body.portrait-page #works-section .works-index a{display:flex;align-items:center;min-height:40px;padding:0 13px;color:#ece5d9;font:400 12px/20px Arial,Helvetica,sans-serif;text-decoration:none;border-radius:22px;transition:background-color 180ms ease,color 180ms ease}
body.portrait-page #works-section .works-index a[aria-current="location"],body.portrait-page #works-section .works-index a:focus-visible{background:#ffffff18;color:#fff}
body.portrait-page #works-section .work-category{position:relative;isolation:isolate;margin:0;padding:0;scroll-margin-top:96px}
body.portrait-page #works-section .category-shade{display:none;position:absolute;z-index:-1;inset:-14px 0 -12px;background:rgba(7,7,6,.65);border-radius:16px;pointer-events:none}
body.portrait-page #works-section .work-category+.work-category{margin-top:64px}
body.portrait-page #works-section .category-heading{margin:0 0 22px;padding:0 16px}
body.portrait-page #works-section .category-heading h2{display:inline-block;margin:0;font:400 12px/1.4 Arial,Helvetica,sans-serif;letter-spacing:.06em;color:#f5eee1;text-shadow:0 1px 8px #000,0 0 18px #000;scroll-margin-top:96px}
body.portrait-page #works-section .category-heading h2:focus{outline:none}
body.portrait-page #works-section .category-note{font:400 12px/1.5 Arial,Helvetica,sans-serif;color:#e6ded0;margin:8px 0 0;text-shadow:0 1px 8px #000,0 0 18px #000}
body.portrait-page #works-section .work-list{display:grid;list-style:none;margin:0;padding:0;gap:44px clamp(30px,4.4vw,76px)}
body.portrait-page #works-section .work-item{margin:0;padding:0;min-width:0}
body.portrait-page #works-section .work-link{position:relative;isolation:isolate;display:block;margin:0;padding:16px;min-width:0;color:#f5eee1;text-decoration:none;background:none;border:0;border-radius:16px;-webkit-tap-highlight-color:transparent}
body.portrait-page #works-section .work-shade{position:absolute;z-index:-1;inset:0 -4px -4px;border-radius:28px;background:rgba(7,7,6,.76);filter:blur(14px);pointer-events:none;transition:background-color 220ms ease,transform 220ms ease}
body.portrait-page #works-section a:focus-visible{outline:2px solid #f4d9a0;outline-offset:5px;border-radius:10px}
body.portrait-page #works-section .work-image{aspect-ratio:1;background:transparent;transform-origin:center;will-change:auto}
body.portrait-page #works-section .work-image img{display:block;width:100%;height:100%;object-fit:contain}
body.portrait-page #works-section .work-info{display:block;min-width:0}
body.portrait-page #works-section .work-caption{display:flex;flex-direction:column}
body.portrait-page #works-section .work-title{order:0;display:block;margin:0;font:400 14px/1.4 Arial,Helvetica,sans-serif;letter-spacing:0;color:#f5eee1;overflow-wrap:break-word;text-shadow:0 1px 3px #0008}
body.portrait-page #works-section .work-year{order:1;display:block;margin:5px 0 0;font:400 11px/1.4 Arial,Helvetica,sans-serif;color:#d2c9ba;letter-spacing:0}
body.portrait-page #works-section .work-kind{display:block;margin:0 0 7px;font:400 10px/1.4 Arial,Helvetica,sans-serif;letter-spacing:.035em;text-transform:uppercase;color:#d2c9ba}
body.portrait-page #works-section .work-arrow{display:none}
body.portrait-page #works-section .albums .work-list{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
body.portrait-page #works-section .eps .work-list{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
body.portrait-page #works-section :is(.albums,.eps) .work-info{margin-top:16px}
body.portrait-page #works-section .soundtracks .work-list{grid-template-columns:repeat(2,minmax(0,1fr))}
body.portrait-page #works-section .soundtracks .work-link{display:grid;grid-template-columns:160px minmax(0,1fr);align-items:center;gap:24px}
body.portrait-page #works-section .soundtracks .work-title{font-size:20px;line-height:1.3}
body.portrait-page #works-section .singles .work-list{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px 40px}
body.portrait-page #works-section .singles .work-link{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:16px}
body.portrait-page #works-section .singles .work-title{font-size:13px}
body.portrait-page #works-section .sound-design .work-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 48px}
body.portrait-page #works-section .sound-design .work-link{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:20px;min-height:120px}
body.portrait-page #works-section .sound-design .text-only .work-link{display:flex;align-items:center}
body.portrait-page #works-section .sound-design .work-title{font-size:14px}
body.portrait-page #works-section .videos .work-list,body.portrait-page #works-section .installations .work-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}
body.portrait-page #works-section .videos .work-image{aspect-ratio:16/9}
body.portrait-page #works-section .videos .work-image img{object-fit:cover}
body.portrait-page #works-section :is(.videos,.installations) .work-info{margin-top:16px}
body.portrait-page #works-section .installations .work-image{aspect-ratio:2/1}
body.portrait-page #works-section .installations .text-only .work-link{display:flex;align-items:center;height:100%;min-height:220px}
body.portrait-page #works-section .installations .text-only .work-info{max-width:340px}
body.portrait-page #works-section .installations .text-only .work-title{font-size:22px;line-height:1.3}
body.portrait-page #works-section .contributions .work-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 48px}
body.portrait-page #works-section .contributions .work-link{padding:18px 16px}
body.portrait-page #works-section .contributions .work-caption{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;align-items:start}
body.portrait-page #works-section .contributions .work-year{order:0;margin:0;font-size:11px;line-height:18px}
body.portrait-page #works-section .contributions .work-title{order:1;font-size:12px;line-height:1.5}

@media(max-width:900px){
 body.portrait-page:has(#works-section) .site-main>.inner{padding:24px 28px 80px}
 body.portrait-page #works-section :is(.albums,.eps) .work-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 28px}
 body.portrait-page #works-section .soundtracks .work-link{grid-template-columns:112px minmax(0,1fr);gap:20px}
 body.portrait-page #works-section .sound-design .work-list{grid-template-columns:1fr}
}
@media(max-width:640px){
 body.portrait-page:has(#works-section) .site-main>.inner{padding:18px 16px 60px}
 body.portrait-page #works-section .works-index{top:8px;margin:12px 0 28px}
 body.portrait-page #works-section .works-index a{padding:0 12px}
 body.portrait-page #works-section .work-category+.work-category{margin-top:44px}
 body.portrait-page #works-section .category-heading{margin-bottom:14px;padding:0 10px}
 body.portrait-page #works-section .contributions .work-link{padding:18px 10px}
 body.portrait-page #works-section .work-link{padding:10px}
 body.portrait-page #works-section :is(.albums,.eps) .work-list{gap:28px 22px}
 body.portrait-page #works-section :is(.albums,.eps) .work-info{margin-top:12px}
 body.portrait-page #works-section .work-title{font-size:13px}
 body.portrait-page #works-section .work-year{font-size:10px;margin-top:5px}
 body.portrait-page #works-section .soundtracks .work-list,body.portrait-page #works-section .singles .work-list{grid-template-columns:1fr}
 body.portrait-page #works-section .soundtracks .work-title{font-size:18px}
 body.portrait-page #works-section .singles .work-list{gap:18px}
 body.portrait-page #works-section .sound-design .work-link{grid-template-columns:72px minmax(0,1fr);gap:16px;min-height:100px}
 body.portrait-page #works-section .videos .work-list,body.portrait-page #works-section .installations .work-list{grid-template-columns:1fr;gap:28px}
 body.portrait-page #works-section .installations .text-only .work-link{min-height:150px}
 body.portrait-page #works-section .contributions .work-list{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
 body.portrait-page #works-section .work-image,body.portrait-page #works-section .work-link::before,body.portrait-page #works-section .works-index a{transition:none!important;transform:none!important}
}

/* Restore the early v14 feathered island shape, on a decorative span so route echoes retain it. */
body.portrait-page #works-section .work-link:focus-visible .work-shade{background:rgba(7,7,6,.88);}

@media(max-width:640px){body.portrait-page #works-section .work-shade{inset:0 -2px -2px;filter:blur(11px);border-radius:22px}}
@media(prefers-reduced-motion:reduce){body.portrait-page #works-section .work-shade{transition:none!important;transform:none!important}}

/* Keep the viewport width constant between short and long pages; scrolling remains native. */
html::-webkit-scrollbar {display:none}
html {scrollbar-width:none;scroll-behavior:auto;background:#1b1b1b}
body {min-width:320px}
#background {position:fixed;inset:0;width:100vw;pointer-events:none;z-index:0;overflow:hidden}
.release-ground {position:absolute;inset:0;background:#1b1b1b;opacity:0;transition:opacity var(--route-duration,1000ms) var(--route-easing,ease)}
body.release-page .release-ground {opacity:1}
.portrait-background {position:absolute;inset:0;background:#000 url('/assets/images/bg.jpg') center/cover no-repeat}
#background .release-bg {position:absolute;inset:0;background-position:center top;background-size:cover;background-repeat:no-repeat;filter:blur(25px);opacity:0;transition:opacity var(--route-duration,1000ms) var(--route-easing,ease);pointer-events:none}
#background .release-bg::before {content:"";display:block;height:50px;background:#1b1b1b}
#background .release-bg.visible {opacity:1}
#page {position:relative;z-index:1}
body.portrait-page .skip,.skip {position:fixed;left:20px;top:-100px;padding:12px;background:#fff;color:#000;font:16px system-ui;z-index:10}
body.portrait-page .skip:focus,.skip:focus {top:16px}
.sr-only {position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
body.portrait-page a:focus-visible {outline:2px solid #F4D9A0;outline-offset:4px;border-radius:2px}
#main:focus {outline:none}
body.portrait-page .preview-notice {font:14px/1.5 'Overpass Mono',monospace;color:#F4D9A0;text-align:center;margin:0 0 24px!important}
body.portrait-page #form02 :disabled {cursor:not-allowed;opacity:.65}
body.portrait-page .site-main > .inner > section {transition:none}
#background::after {content:"";position:absolute;inset:0;background:rgba(0,0,0,.75);opacity:0;transition:opacity var(--route-duration,1000ms) var(--route-easing,ease)}
body.catalogue-page #background::after {opacity:1}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Shared site vocabulary outside the release card; this node survives route swaps. */
#route-navigation {display:none;position:sticky;top:0;z-index:6;height:56px;align-items:center;justify-content:center;padding:8px 16px}
body.release-page #route-navigation,body.catalogue-page #route-navigation {display:flex}
#route-navigation .route-back {display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;width:max-content;box-sizing:border-box;margin:0;padding:8px 10px;border:0;border-radius:8px;background:transparent;font:400 16px/1.25 'Pixelify Sans',sans-serif;font-synthesis:none;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto;text-rendering:auto;letter-spacing:0;color:var(--return-ink,#F4D9A0);text-shadow:0 1px 5px #000;text-decoration:none;text-transform:none;white-space:nowrap;pointer-events:auto}
#route-navigation .route-back svg {width:16px;height:16px;flex:none;fill:currentColor}
/* One local sampling surface; masks and backdrop sampling share the same
   element outside the animated foreground. No content letters are masked. */
#route-navigation .route-back{position:relative;isolation:isolate;text-shadow:none}
#route-navigation .route-back>.control-foreground{display:inline-flex;align-items:center;gap:8px;position:relative;z-index:1}
.navigation-support{position:absolute;display:block;z-index:0;pointer-events:none;user-select:none;visibility:hidden;background:transparent;opacity:1;filter:none;-webkit-backdrop-filter:blur(calc(var(--navigation-optical-focus,2.5px)*var(--navigation-optical-strength,1)));backdrop-filter:blur(calc(var(--navigation-optical-focus,2.5px)*var(--navigation-optical-strength,1)));-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-composite:source-in;mask-composite:intersect;mask-mode:alpha;mask-size:100% 100%;-webkit-mask-size:100% 100%}
.navigation-support[data-optical-surface="categories"]{z-index:3}
/* One root layer order during Works: outgoing2 < cover4 < sampler5 < nav6.
   Keep the native layout/controls; only incidental ancestor contexts are reset. */
#page[data-works-navigation-layer],
#page[data-works-navigation-layer]>.site-wrapper,
#page[data-works-navigation-layer] .site-main,
#page[data-works-navigation-layer] .site-main>.inner{z-index:auto}
#page[data-works-navigation-layer] .site-main{-webkit-backdrop-filter:none;backdrop-filter:none}
#page[data-works-navigation-layer] .navigation-support[data-optical-surface="categories"]{z-index:5}
body.portrait-page #page[data-works-navigation-layer] #works-section .works-index{z-index:6}
.navigation-support[data-optical-geometry="linebox-group"]{-webkit-mask-composite:source-over;mask-composite:add}
:root{--navigation-contour-rest:.65}
/* A single fine, empty optical rim identifies the whole arrow+word group.
   Its center paints nothing; the unchanged composite sampler supplies depth.
   Existing painted groups retain their own boundary instead of a second rim. */
body [data-navigation-optical]>.navigation-boundary,body [data-text-navigation]>.navigation-boundary{position:absolute;display:block;z-index:2;opacity:var(--navigation-contour-rest);box-sizing:border-box;pointer-events:none;padding:1px;border-radius:4px;background:linear-gradient(to bottom,rgba(255,246,226,.52),rgba(244,230,205,.36) 42%,rgba(239,222,193,.34) 72%,rgba(255,240,213,.46));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;filter:none;transform:scale(var(--feedback-scale,1));transform-origin:var(--feedback-origin,center);transition:opacity 90ms linear,transform var(--interaction-duration) var(--interaction-easing)}
/* Empty rim and foreground share the existing input scale/clock; the native
   hit box and the independent composite sampler remain stationary. */
body [data-feedback-control][data-pressed]>.navigation-boundary{transition-duration:90ms,var(--interaction-press-duration)}
body [data-text-navigation]{position:relative;isolation:isolate}
body [data-text-navigation]>.navigation-boundary{inset:1px;border-radius:999px}
body [data-text-navigation][aria-disabled="true"]>.navigation-boundary{opacity:.25}
@media(prefers-reduced-motion:reduce){body [data-navigation-optical]>.navigation-boundary,body [data-text-navigation]>.navigation-boundary{transition:none}}
/* The pre-existing category band/background remains on the original host.
   Remove only the incidental .025rem backdrop root while sampling Works. */
body.portrait-page .site-main[data-navigation-optical-root]{-webkit-backdrop-filter:none;backdrop-filter:none}
body.portrait-page #works-section .works-index{-webkit-backdrop-filter:none;backdrop-filter:none}
body.portrait-page #works-section .works-index>a{position:relative;z-index:1}
/* One restrained depth response accompanies the same continuous optical field. */
/* The shared foreground winner follows the existing selected-state rules. */
@media(prefers-reduced-transparency:reduce){.navigation-support{-webkit-backdrop-filter:none;backdrop-filter:none}}
#route-navigation .route-back:focus-visible {outline:2px solid #F4D9A0;outline-offset:3px}

/* A temporary shared cover; all page geometry and the original motion stay intact. */
.shared-cover-flight {position:fixed;z-index:4;display:block;max-width:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;object-fit:contain;transform-origin:0 0;pointer-events:none;will-change:transform}

/* One input vocabulary throughout the persistent shell. Resting geometry and
   typography are unchanged; feedback is limited to the control under input. */
body:is(.portrait-page,.release-page,.catalogue-page) #page [data-app-control],body #route-navigation [data-app-control] {touch-action:manipulation;-webkit-tap-highlight-color:transparent;}
body .service[data-app-control] {transform-origin:center}
body.release-page .release-ground {opacity:var(--release-ready,1)}

@media(prefers-reduced-motion:reduce){
 body [data-app-control],body .service[data-app-control] .service-action {transition:none!important;scale:1!important;translate:none!important}
}

/* Keep the landing rectangle stable while focus returns to its origin. */
body.portrait-page #works-section .work-link[data-cover-held] .work-image {transform:none!important;transition:none!important}

/* Optional ?bg= experiment; no elements exist on ordinary site URLs. */
#background-lab{position:fixed;z-index:20;right:12px;bottom:12px;width:max-content;max-width:calc(100vw - 24px);padding:10px 12px;border-radius:12px;background:#181818ed;color:#eee;font:12px/1.35 Arial,Helvetica,sans-serif;box-shadow:0 4px 20px #0004}
#background-lab label{display:block;margin-bottom:5px;color:#aaa;font-size:10px;letter-spacing:.04em}
#background-lab>div{display:flex;align-items:center;gap:6px}
#background-lab select,#background-lab button,#background-lab a{min-height:40px;border:1px solid #ffffff28;border-radius:7px;background:#292929;color:#eee;font:12px Arial,Helvetica,sans-serif;padding:0 9px;touch-action:manipulation}
#background-lab a{display:grid;place-items:center;text-decoration:none;font-size:20px;min-width:32px}
#background-lab button:disabled{opacity:.4}
#background-lab :focus-visible{outline:2px solid #f4d9a0;outline-offset:2px}
#background-lab [role=status]{display:block;margin-top:5px;font-size:10px;color:#aaa}
#background .background-lab-effect{position:absolute;inset:0;z-index:1;width:100%;height:100%;max-width:none;object-fit:cover;pointer-events:none;opacity:0;will-change:transform,opacity}
#background .background-lab-effect.expand{mask-image:radial-gradient(ellipse,black 10%,#000c 30%,transparent 70%)}
#background .background-lab-effect.wave{mask-image:linear-gradient(90deg,transparent,black 38%,black 62%,transparent)}

#background-lab select{min-width:0;max-width:calc(100vw - 150px)}
/* Optional browser-local editor. None of these rules apply to ordinary URLs. */
html[data-works-editor] body.portrait-page:has(#works-section) #background::after{opacity:var(--works-editor-dim,0)}
html[data-works-editor] body.portrait-page #works-section .category-shade{display:block;inset:calc(-14px - var(--works-editor-spread,0px)) calc(0px - var(--works-editor-spread,0px)) calc(-12px - var(--works-editor-spread,0px));background:rgba(7,7,6,var(--works-editor-opacity,.65));box-shadow:0 0 var(--works-editor-softness,0px) rgba(7,7,6,var(--works-editor-opacity,.65))}
html[data-works-editor]:not([data-works-shading="section"]) body #works-section .category-shade{display:none}
html[data-works-editor] body #works-section .work-shade{display:none;position:absolute;z-index:-1;inset:calc(0px - var(--works-editor-spread,0px)) calc(-4px - var(--works-editor-spread,0px)) calc(-4px - var(--works-editor-spread,0px));border-radius:28px;pointer-events:none;background:rgba(7,7,6,var(--works-editor-opacity,.76));box-shadow:none;filter:blur(var(--works-editor-softness,14px))}
html[data-works-shading="individual"] body #works-section .work-shade{display:block}
#works-editor{position:fixed;right:12px;bottom:12px;z-index:30;width:300px;max-width:calc(100vw - 24px);max-height:calc(100svh - 24px);overflow:auto;border:1px solid #ffffff2b;border-radius:12px;background:#202020f5;color:#f5f5f5;box-shadow:0 8px 32px #0005;font:13px/1.4 Arial,Helvetica,sans-serif;text-align:left;color-scheme:dark}
#works-editor[hidden]{display:none}
#works-editor summary{min-height:44px;padding:12px;cursor:pointer;user-select:none}
#works-editor summary span{float:right;font-size:10px;color:#bbb;margin-top:3px}
#works-editor .editor-controls{padding:0 12px 12px}
#works-editor .editor-mode{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
#works-editor select,#works-editor button{min-height:36px;border:1px solid #ffffff30;border-radius:6px;background:#333;color:#fff;font:12px Arial,Helvetica,sans-serif;padding:6px 9px}
#works-editor .editor-slider{display:block;margin:9px 0}
#works-editor output{float:right;font-variant-numeric:tabular-nums;color:#ddd}
#works-editor input[type="range"]{display:block;width:100%;height:26px;margin:2px 0;accent-color:#f4d9a0;touch-action:auto}
#works-editor .editor-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
#works-editor [role="status"]{font-size:11px;line-height:1.4;color:#ccc;margin:9px 0}
#works-editor .editor-exit{display:block;padding:5px 0;color:#f4d9a0;font-size:11px}
#works-editor textarea{width:100%;margin-top:8px;padding:6px;background:#111;color:#eee;font:10px/1.4 monospace;resize:vertical}
#works-editor :focus-visible{outline:2px solid #f4d9a0;outline-offset:2px}

html[data-works-adjusting] body.portrait-page:has(#works-section) #background::after{transition:none}

/* Works reuses the listening-page background layer and opacity crossfade. */
#background .works-ambient{inset:-50px;background-position:center;filter:blur(25px)}
#background .works-ambient::before{display:none}
body.portrait-page:has(#works-section) #background::after{opacity:.6}
html[data-works-editor] body.portrait-page:has(#works-section) #background::after{opacity:var(--works-editor-dim,.6)}
@media(max-width:640px){html[data-works-editor] body #works-section .work-shade{inset:calc(0px - var(--works-editor-spread,0px)) calc(-2px - var(--works-editor-spread,0px)) calc(-2px - var(--works-editor-spread,0px));border-radius:22px;filter:blur(calc(var(--works-editor-softness,14px) * .785714286))}}

/* Owner-requested single-font trial: existing main-menu Pixelify Sans asset. */
html body :is(#page,#route-navigation,#works-editor,#background-lab),html body :is(#page,#route-navigation,#works-editor,#background-lab) :not(svg):not(use):not(path){font-family:'Pixelify Sans',sans-serif!important}
html body #works-section :is(.work-title,.work-kind,.work-year){line-height:1.45}
html body #works-section .work-title{font-size:16px}
html body #works-section .work-year{font-size:13px}
html body #works-section .work-kind{font-size:13px}
html body .service-action{font-size:12px}
html body #story-section p{line-height:1.4!important}

/* Preserve the exact held presentation until a native activation owns the cover. */
body #works-section .work-link[data-cover-activation]{scale:var(--pressed-cover-scale,1)!important;transition:none!important}
body #works-section .work-link[data-cover-activation] .work-image{transform:var(--pressed-image-transform,none)!important;transition:none!important}

/* v35: quiet contextual navigation and explicit input-modality focus. */
body.release-page #route-navigation{justify-content:center;width:304px;max-width:calc(100% - 32px);margin-inline:auto;padding:4px 0;height:56px}
html[data-input="pointer"] #works-section .work-link:focus{outline:none!important}
#works-section .work-link:focus-visible{outline:2px solid #f4d9a0;outline-offset:5px}
@media(max-width:767px){body.release-page #route-navigation{width:calc(100% - 32px)}}

/* Story: measured reading rhythm; the concluding thought stands on its own. */
html body #story-section #text08{max-width:680px;margin-inline:auto;line-height:1.48!important}
html body #story-section #text08 .p:nth-child(n+2){margin-top:1.9rem}
html body #story-section #text08 .story-final{margin-top:2.2rem}

/* Readiness guard outranks scene/hover opacity until decoded pixels exist. */
img[data-scene-image-pending]{opacity:0!important}
/* Opacity transitions outrank even !important and WAAPI. During scene
   ownership only its readiness fade may control opacity; hover resumes after. */
img[data-scene-image-owned]{transition-property:transform,filter!important}
[data-scene-group-pending]{opacity:0!important}
img[data-scene-image-error]{opacity:0!important}
.scene-image-status{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;font:14px/1.5 'Pixelify Sans',sans-serif;color:var(--readable-secondary,#eee0c6);text-align:center}
.scene-image-status[hidden]{display:none}
/* The existing scrollspy owns both markers; emphasis never changes layout. */
body.portrait-page #works-section .category-heading h2{transition:color var(--interaction-duration,180ms) var(--interaction-easing,ease),text-shadow var(--interaction-duration,180ms) var(--interaction-easing,ease)}
body.portrait-page #works-section .category-heading h2[data-category-active]{color:#fff0cb;text-shadow:0 0 6px #f4d9a09c,0 0 16px #f4d9a047,0 1px 4px #0008}
@media(prefers-reduced-motion:reduce){body.portrait-page #works-section .category-heading h2{transition:none}}

body.portrait-page #works-section .works-index a[aria-current="location"]{--face-background:#f4d9a01f}
body.portrait-page #works-section .works-index a[aria-current="location"]>.control-foreground{box-shadow:none;color:#fff0cb;text-shadow:0 0 7px #f4d9a05c}
:is(h2[data-category-active][data-category-confirm],.works-index a[aria-current="location"][data-category-confirm]>.control-foreground){animation:category-confirmation 460ms ease-out}
@keyframes category-confirmation{0%{color:var(--category-confirm-ink,#fff0cb);text-shadow:var(--category-confirm-rest-shadow,0 0 7px #f4d9a080)}18%{color:var(--category-confirm-peak-ink,#fff9eb);text-shadow:var(--category-confirm-peak-shadow,0 0 5px #fff0cbe6,0 0 18px #f4d9a09c)}100%{color:var(--category-confirm-ink,#fff0cb);text-shadow:var(--category-confirm-rest-shadow,0 0 7px #f4d9a080)}}
@media(prefers-reduced-motion:reduce){:is(h2[data-category-active][data-category-confirm],.works-index a[aria-current="location"][data-category-confirm]>.control-foreground){animation:none;color:#fff9eb;text-shadow:0 0 6px #f4d9a0aa}}


/* One navigation-only foreground identity. The explicit shared scope wins the
   legacy Works span rule without changing caption ink or any font metrics. */
html body #route-navigation .route-back[data-navigation-optical]>.control-foreground,
html body.portrait-page #works-section .works-index[data-navigation-optical]>a>.control-foreground{
 --navigation-contact-depth:0 1px 1.5px rgb(8 7 6 / calc(.94*var(--navigation-optical-strength,1))),0 0 2.5px rgb(8 7 6 / calc(.72*var(--navigation-optical-strength,1)));
 --category-confirm-ink:#f4d9a0;--category-confirm-peak-ink:#ffe2a8;
 --category-confirm-rest-shadow:var(--navigation-contact-depth),0 0 7px #f4d9a080;
 --category-confirm-peak-shadow:var(--navigation-contact-depth),0 0 5px #ffe2a8e6,0 0 18px #f4d9a09c;
 color:#f4d9a0;text-shadow:var(--navigation-contact-depth),var(--navigation-selected-glow,0 0 0 transparent)
}
body.portrait-page #works-section .works-index a[aria-current="location"]{--navigation-selected-glow:0 0 7px #f4d9a05c}
html body #route-navigation .route-back[data-navigation-optical]>.control-foreground svg{
 filter:drop-shadow(0 1px 1.5px rgb(8 7 6 / calc(.94*var(--navigation-optical-strength,1))))
}
@media(prefers-reduced-motion:reduce){
 html body.portrait-page #works-section .works-index[data-navigation-optical]>a[aria-current="location"][data-category-confirm]>.control-foreground{
  color:var(--category-confirm-peak-ink);text-shadow:var(--category-confirm-rest-shadow)
 }
}

/* Navigation comfort: one padded face, with stationary clearance for its
   shared 1.08 hover response. Commerce faces keep their existing skins. */
:root{--navigation-face-block:10px;--navigation-face-inline:18px;--navigation-face-min:0px;--navigation-hit-block:4px;--navigation-hit-inline:8px;--navigation-press-surface:.16}
html body :is([data-text-navigation],#route-navigation .route-back){
 display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;
 width:max-content;max-width:100%;height:auto!important;min-height:48px!important;
 padding:var(--navigation-hit-block) var(--navigation-hit-inline)!important;
 border:0!important;background:transparent!important;overflow:visible!important;
}
html body :is([data-text-navigation],#route-navigation .route-back)>:is(.control-label,.control-foreground){
 display:inline-flex;position:relative;isolation:isolate;align-items:center;justify-content:center;
 box-sizing:border-box;width:auto;min-height:var(--navigation-face-min);
 padding:var(--navigation-face-block) var(--navigation-face-inline)!important;
 border-radius:999px;white-space:nowrap;
}
/* Compact navigation uses the same ten-pixel vertical room around its
   twenty-pixel line. The existing forty-pixel category face stays intact. */
html body #works-section .works-index [data-text-navigation]>.control-foreground{padding:10px 14px!important;min-height:40px}
/* The long category grows7.90px per side at the release peak;12px inline
   leaves4.10px of stationary geometric clearance. Keep40px visible faces and
   48px targets with4px block padding. Soft shadow and the transformed focus
   outline may bleed; the existing scroller/reveal does not contain all ink. */
html body #works-section .works-index [data-text-navigation]{
 --navigation-hit-inline:12px;--navigation-hit-block:4px;
}
/* The optical painter aligns rims to the real unscaled face, not the larger
   activation target. Its existing fonts/resize/route lifecycle owns geometry. */
html body [data-text-navigation]>.navigation-boundary{inset:auto}
/* This layer belongs to the real padded foreground, NOT the hollow masked
   rim. It therefore illuminates the complete face without changing backdrop
   sampling, hit boxes, text identity, or adding an opaque resting plate. */
html body :is([data-text-navigation],#route-navigation .route-back)>:is(.control-label,.control-foreground)::after{
 content:"";position:absolute;z-index:-1;inset:0;border-radius:inherit;pointer-events:none;
 background:#f4d9a0;opacity:0;
 transition:opacity var(--interaction-duration) var(--interaction-easing);
}
html body :is([data-text-navigation],#route-navigation .route-back)[data-pressed]:not(:disabled):not([aria-disabled="true"])>:is(.control-label,.control-foreground)::after{
 opacity:var(--navigation-press-surface);transition-duration:var(--interaction-press-duration);
}
@media(prefers-reduced-motion:reduce){
 html body :is([data-text-navigation],#route-navigation .route-back)>:is(.control-label,.control-foreground)::after{transition:none!important}
}

/* One lightly raised navigation face. The label owns its light, contact shade
   and press tint, so all of them move with the existing foreground/rim clock.
   Natural composite sampling remains on the stationary sibling support. */
html body :is([data-text-navigation],#route-navigation .route-back)>:is(.control-label,.control-foreground)::before{
 content:"";position:absolute;z-index:-2;inset:0;border-radius:inherit;pointer-events:none;
 background:linear-gradient(180deg,rgb(244 217 160 / .045),rgb(69 49 26 / .055));
 box-shadow:0 1px 4px rgb(18 12 6 / .14);
 transition:box-shadow var(--interaction-duration) var(--interaction-easing);
}
@media(hover:hover) and (pointer:fine){
 html body :is([data-text-navigation],#route-navigation .route-back):hover:not(:disabled):not([aria-disabled="true"])>:is(.control-label,.control-foreground)::before{
  box-shadow:0 2px 6px rgb(18 12 6 / .17);
 }
}
html body :is([data-text-navigation],#route-navigation .route-back):focus-visible:not(:disabled):not([aria-disabled="true"])>:is(.control-label,.control-foreground)::before{
 box-shadow:0 2px 6px rgb(18 12 6 / .17);
}
html body :is([data-text-navigation],#route-navigation .route-back)[data-pressed]:not(:disabled):not([aria-disabled="true"])>:is(.control-label,.control-foreground)::before{
 box-shadow:inset 0 1px 2px rgb(69 49 26 / .16),0 1px 2px rgb(18 12 6 / .12);
 transition-duration:var(--interaction-press-duration);
}
html body :is([data-text-navigation],#route-navigation .route-back):is(:disabled,[aria-disabled="true"])>:is(.control-label,.control-foreground)::before{opacity:.35}
/* Only a validated press release owns this sampled spring. Ordinary hover,
   focus and their exits retain the established180ms response. Boundary input,
   repress/cancel/route/hidden/reduced cleanup removes the finite release state. */

@media(prefers-reduced-motion:reduce){
 html body :is([data-text-navigation],#route-navigation .route-back)>:is(.control-label,.control-foreground)::before{transition:none!important}
}

/* Home title-menu buttons use the existing padded face and feedback clock.
   One quiet squared frame, flat translucent body and small input selection cue;
   the flat-color gradient draws only that4x6px cue, never gloss or a bevel. */
html body.portrait-page #home-section .buttons-component>li>a[data-text-navigation]:focus-visible{border-radius:3px}
html body.portrait-page #home-section .buttons-component>li>a[data-text-navigation]>.navigation-boundary{display:none!important}
html body.portrait-page #home-section .buttons-component>li>a[data-text-navigation]>:is(.control-label,.control-foreground){border-radius:3px;background:none!important;border-color:transparent!important;box-shadow:none!important;color:var(--home-game-ink,inherit)}
html body.portrait-page #home-section .buttons-component>li>a[data-text-navigation]>:is(.control-label,.control-foreground)::before{
 box-sizing:border-box;border:1px solid var(--home-game-border,#f4d9a066);
 background:linear-gradient(#f4d9a0 0 0) left 6px center/var(--home-game-cue,0px) 6px no-repeat,#17130e55;
 box-shadow:none!important;
 transition:border-color var(--interaction-duration) var(--interaction-easing);
}
@media(hover:hover) and (pointer:fine){
 html body.portrait-page #home-section .buttons-component>li>a[data-text-navigation]:hover:not(:disabled):not([aria-disabled="true"]){--home-game-border:#f4d9a099;--home-game-cue:4px;--home-game-ink:#fff0cb}
}
html body.portrait-page #home-section .buttons-component>li>a[data-text-navigation]:is(:focus-visible,[data-pressed]):not(:disabled):not([aria-disabled="true"]){--home-game-border:#f4d9a099;--home-game-cue:4px;--home-game-ink:#fff0cb}

/* Reconstructed outgoing views are inert; native scroll chrome is never paint. */
.scene-visual-leaf *{scrollbar-width:none!important}
.scene-visual-leaf *::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}

/* Project views share the portrait archive's ambience and local feathered shading. */
html:has(.project-main){font-size:16px}
body.project-page{color:#f5eee1;overflow-x:clip;overflow-y:visible}
body.project-page #background::after{opacity:.6}
body.project-page #route-navigation{display:flex;justify-content:center}
body.project-page .project-main{display:block;width:100%;max-width:1440px;margin:0 auto;padding:30px clamp(24px,4.4vw,88px) 100px;text-align:left;box-sizing:border-box}body.project-page .project-main *{box-sizing:border-box}body.project-page .project-heading{margin:0 0 48px;text-align:left}body.project-page .project-heading p{font-size:14px;line-height:1.5;color:#d2c9ba;margin:0 0 7px}body.project-page .project-heading h1{font-size:30px;font-weight:400;line-height:1.2;margin:0;color:#f5eee1;letter-spacing:0}body.project-page .project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 40px;list-style:none;padding:0;margin:0}body.project-page .project-grid>li{min-width:0;margin:0;padding:0}body.project-page .project-card{display:block;position:relative;isolation:isolate;color:inherit;text-decoration:none;border:0;border-radius:2px}body.project-page .project-shade{position:absolute;z-index:-1;inset:0 -4px -8px;background:rgba(7,7,6,.76);border-radius:28px;filter:blur(14px);pointer-events:none}body.project-page .project-image{display:block;aspect-ratio:16/9;overflow:hidden;background:rgba(0,0,0,.2)}body.project-page .project-image img{display:block;width:100%;height:100%;object-fit:cover;}body.project-page .project-image.portrait-preview img{object-fit:contain}body.project-page .project-caption{display:block;padding:16px 2px 4px}body.project-page .project-title{display:block;font-size:16px;font-weight:400;line-height:1.45;color:#f5eee1}body.project-page .project-year{display:block;margin-top:5px;font-size:13px;line-height:1.4;color:#d2c9ba}body.project-page .project-card:focus-visible,body.project-page .project-links a:focus-visible{outline:2px solid #f4d9a0;outline-offset:6px}
body.project-page .organon-overview{display:grid;grid-template-columns:minmax(240px,390px) minmax(0,1fr);gap:clamp(48px,7vw,110px);align-items:start;max-width:1000px}body.project-page .organon-music .project-image{aspect-ratio:1}body.project-page .exhibition-link{padding:0;margin-bottom:48px}body.project-page .exhibition-link .project-caption{padding:0}body.project-page .exhibition-link .project-title{font-size:24px}body.project-page .exhibition-link .project-title span:not(.feedback-label){font-size:18px;margin-left:12px}body.project-page .project-links h2{font-size:16px;font-weight:400;line-height:1.5;margin:0 0 18px;color:#d2c9ba}body.project-page .project-links ol{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0;margin:0}body.project-page .project-links li{margin:0;padding:0}body.project-page .project-links a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:10px 14px;text-decoration:none;color:#f5eee1;background:rgba(0,0,0,.2);border-radius:8px;font-size:16px}body.project-page .project-links a span{font-size:12px;color:#d2c9ba}
@media(max-width:1000px){body.project-page .project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 28px}}
@media(max-width:640px){body.project-page .project-main{padding-top:22px;padding-bottom:64px}body.project-page .project-heading{margin-bottom:32px}body.project-page .project-heading h1{font-size:26px}body.project-page .project-grid{grid-template-columns:1fr;gap:36px}body.project-page .project-shade{inset:0 -2px -6px;filter:blur(11px);border-radius:22px}body.project-page .organon-overview{grid-template-columns:1fr;gap:40px}body.project-page .organon-music{max-width:390px}body.project-page .exhibition-link{margin-bottom:32px}}
@media(prefers-reduced-motion:reduce){body.project-page .project-image img{transition:none!important;transform:none!important}}

/* Phone ergonomics without changing the approved desktop composition. */
.release-art{background-size:cover;background-position:center}
@media(max-width:767px),(pointer:coarse){
 body.portrait-page #home-section .buttons-component a,
 body.portrait-page :is(#story-section,#contact-section) .buttons-component a{min-height:44px;height:44px;display:flex;align-items:center;justify-content:center}
 body.portrait-page :is(#story-section,#contact-section) .buttons-component svg{width:20px;height:20px}
 body.portrait-page #home-section .buttons-component li+li{margin-top:4px}
 body.portrait-page #contact-section .icons-component{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
 body.portrait-page #contact-section .icons-component li{margin:0;flex:0 0 44px}
 body.portrait-page #contact-section .icons-component a{display:flex;align-items:center;justify-content:center;width:44px;height:44px}
 body.portrait-page #contact-section .icons-component svg{width:26px;height:26px}
 body.portrait-page #form02 :is(input,button){min-height:44px;height:auto;font-size:16px}
 body.portrait-page #form02 textarea{font-size:16px}
 body.portrait-page #works-section .works-index a{min-height:44px}
 .header-link,.site-footer a,.return{min-height:44px;display:inline-flex;align-items:center}
 #works-editor :is(select,button){min-height:44px;font-size:16px}
 #works-editor input[type="range"]{height:44px}
 #works-editor .editor-exit{min-height:44px;display:flex;align-items:center;font-size:14px}
 #background-lab :is(select,button,a){min-height:44px;font-size:16px}
}

/* v45: touch hold is handled by the foreground feedback, not WebKit's
   native link-preview/callout decoration. Keep selection in prose and forms. */
body :is(a,button,summary,[role="button"]),
body :is(a,button,summary,[role="button"]) *{
 -webkit-tap-highlight-color:transparent!important;
 -webkit-touch-callout:none!important;
 -webkit-user-select:none;user-select:none;
}
html[data-input="pointer"] body :is(button,summary,[role="button"]):focus{outline:none!important}
html[data-input="keyboard"] body :is(button,summary,[role="button"]):focus-visible{outline:2px solid #f4d9a0;outline-offset:3px}
/* Stable phone canvas, with space for notches and the home indicator. */
@media(max-width:900px){
 body.release-page{min-height:100svh}
 body.portrait-page .site-wrapper{min-height:100svh}
 #background{height:100lvh}
 #route-navigation{top:env(safe-area-inset-top,0px);margin-top:0}
 body:not(.portrait-page) .release-shell{padding-left:max(8px,env(safe-area-inset-left,0px));padding-right:max(8px,env(safe-area-inset-right,0px));padding-bottom:max(24px,env(safe-area-inset-bottom,0px))}
 body.portrait-page:has(#works-section) .site-main>.inner{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-bottom:max(60px,env(safe-area-inset-bottom,0px))}
 body.portrait-page #works-section .works-index{top:max(8px,env(safe-area-inset-top,0px))}
 body.project-page .project-main{padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px));padding-bottom:max(64px,env(safe-area-inset-bottom,0px))}
 body.portrait-page:not(:has(#works-section)):not(.project-page) .site-wrapper{padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
 #works-editor,#background-lab{bottom:max(12px,env(safe-area-inset-bottom,0px));right:max(12px,env(safe-area-inset-right,0px));max-height:calc(100svh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 24px)}
}
@media(max-height:500px) and (orientation:landscape){
 body.portrait-page #home-section .buttons-component{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px}
 body.portrait-page #home-section .buttons-component li{margin:0!important}
 body.portrait-page #home-section .buttons-component a{min-height:44px;display:flex;align-items:center;justify-content:center}
}
/* Home is a viewport scene, not a scrollable document. Content routes retain
   native scrolling. Dynamic viewport units follow mobile browser chrome. */
html[data-home-scroll]{height:100%;overflow:hidden;overscroll-behavior:none}
html[data-home-scroll] body.portrait-page{position:fixed;inset:0;min-height:0;height:100%;height:100dvh;overflow:hidden;overscroll-behavior:none}
html[data-home-scroll] body.portrait-page #page{height:100%}
html[data-home-scroll] body.portrait-page .site-wrapper{height:100%;min-height:0;box-sizing:border-box;overflow:auto;overscroll-behavior:none;justify-content:safe center;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}
html[data-home-scroll] body.portrait-page .site-main{flex-shrink:0}

/* v39: supporting video/installation credits stay compact at every viewport.
   Square crops retain the central face (Flame) and figure/window (Echoes). */
body.portrait-page #works-section :is(.videos,.installations) .work-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 40px}
body.portrait-page #works-section :is(.videos,.installations) .work-link{display:grid;grid-template-columns:104px minmax(0,1fr);align-items:center;gap:20px;min-height:136px}
body.portrait-page #works-section :is(.videos,.installations) .work-image{aspect-ratio:1}
body.portrait-page #works-section :is(.videos,.installations) .work-info{margin-top:0}
body.portrait-page #works-section :is(.videos,.installations) .work-title{font-size:14px;line-height:1.4}
body.portrait-page #works-section .videos img[src*="flame-devourer"]{object-position:50% 50%}
body.portrait-page #works-section .videos img[src*="echoes-follow"]{object-position:49% 50%}
body.portrait-page #works-section .installations .text-only .work-link{display:flex;min-height:136px;height:auto}
@media(max-width:640px){
 body.portrait-page #works-section :is(.videos,.installations) .work-list{grid-template-columns:1fr;gap:18px}
 body.portrait-page #works-section :is(.videos,.installations) .work-link{grid-template-columns:88px minmax(0,1fr);gap:16px;min-height:108px}
 body.portrait-page #works-section .installations .text-only .work-link{min-height:108px}
 body.portrait-page #works-section :is(.videos,.installations) .work-title{font-size:13px}
}
body.portrait-page #works-section .installations .text-only .work-title{font-size:14px;line-height:1.4}
@media(max-width:640px){body.portrait-page #works-section .installations .text-only .work-title{font-size:13px}}

/* v40: label-sized feedback inside a generous touch target. No sticky touch hover. */
body.portrait-page #home-section .buttons-component > li > a{
 position:relative;width:max-content;min-width:44px;max-width:100%;margin-inline:auto;padding-inline:12px;
 border-color:transparent!important;color:#F4D9A0!important;overflow:visible;
}
/* Motion provides hover/press feedback; only keyboard focus draws an outline. */
html[data-input="pointer"] body.portrait-page #home-section a:focus{outline:none}
/* A soft local veil improves menu contrast without a panel or backdrop blur. */
body.portrait-page #home-section{position:relative;isolation:isolate}
body.portrait-page #home-section::before{
 content:"";position:absolute;z-index:-1;pointer-events:none;top:-48px;bottom:-48px;left:50%;width:min(330px,calc(100vw - 40px));transform:translateX(-50%);
 background:radial-gradient(ellipse at center,rgba(0,0,0,.38) 0%,rgba(0,0,0,.22) 40%,transparent 72%);
}

/* v41: preserve pressure through activation, and use text-only touch feedback. */
body [data-app-control][data-route-activation]{scale:var(--activation-scale,1)!important;translate:var(--activation-translate,0 0)!important;transition:none!important}
body.portrait-page #home-section a,body.portrait-page #home-section a *{-webkit-tap-highlight-color:transparent!important}
@media(hover:none),(pointer:coarse){
 html[data-input="pointer"] body.portrait-page #home-section a:is(:focus,:active){outline:none!important;background:transparent!important}
}

/* v42: compact return controls; touch never inherits a legacy full-width hover oval. */
body.portrait-page .buttons-component.style-1 > li > a{
 width:max-content;max-width:100%;min-width:44px;min-height:44px;height:auto;
 margin-inline:auto;padding:8px 12px;border-color:transparent!important;background:transparent;
 font-size:16px;line-height:1.25;border-radius:8px;
}
body.portrait-page .buttons-component.style-1 > li > a:hover{
 width:max-content;max-width:100%;min-width:44px;min-height:44px;height:auto;
 margin-inline:auto;padding:8px 12px;
 font-size:16px;line-height:1.25;border-radius:8px;
}
body.portrait-page .buttons-component.style-1 > li > a > svg{width:16px;height:16px}
html[data-input="pointer"] body :is(.buttons-component a,.route-back,.works-index a,.project-card,.project-links a,.service):focus{outline:none!important}
@media(hover:none),(pointer:coarse){
 body.portrait-page .buttons-component.style-1 > li > a:hover > svg{fill:currentColor!important}
}
/* The persistent shell owns return navigation. Existing in-page slots retain
   their geometry so scroll origins and the familiar initial layout stay stable. */
body.portrait-page:has(:is(#works-section,#story-section,#contact-section)) #route-navigation{
 display:flex;position:fixed;left:0;right:0;top:env(safe-area-inset-top,0px);margin-top:0;
 height:56px;padding:6px 16px;box-sizing:border-box;pointer-events:none;
}
body.portrait-page :is(#works-section,#story-section,#contact-section) .buttons-component.style-1{visibility:hidden;pointer-events:none}
body.portrait-page #works-section .works-index{top:calc(env(safe-area-inset-top,0px) + 60px)}
body.project-page #route-navigation,body.catalogue-page #route-navigation{top:env(safe-area-inset-top,0px);margin-top:0}
body.portrait-page #works-section :is(.work-category,.category-heading h2){scroll-margin-top:calc(env(safe-area-inset-top,0px) + 128px)}
/* Preserve the scene around the sticky return control; its label has local contrast. */
body.portrait-page:not(:has(#home-section)) #route-navigation{background:transparent}


/* v43: a single pointer-feedback boundary covers every link and its descendants.
   iOS may paint tap feedback on the hit child rather than its anchor. */
body a,body a *{-webkit-tap-highlight-color:transparent!important}
html[data-input="pointer"] body a:focus{outline:none!important}
/* Keyboard focus remains explicit and bounded, including native-fallback links. */
html[data-input="keyboard"] body a:focus-visible{outline:2px solid #f4d9a0;outline-offset:3px}

/* v44: touch moves the foreground, never the link's hit rectangle. */
body [data-pointer-type="touch"] :is(.work-image,.project-image,.control-label),
body .route-back[data-pointer-type="touch"] > :is(span,svg),
body .service[data-pointer-type="touch"] > *{
 transform-origin:center;
}
body #home-section .control-label{display:inline-block}
body #home-section a[data-pointer-type="touch"]::after{display:none!important}
body #works-section .work-link[data-cover-activation] .work-image img{
 filter:var(--pressed-image-filter,none)!important;transition:none!important;
}
body #works-section .work-link[data-pointer-type="touch"][data-cover-activation] .work-image{transform:var(--pressed-image-transform,none)!important;transition:none!important}
@media(prefers-reduced-motion:reduce){
 body #works-section .work-link[data-pointer-type="touch"]:is([data-pressed],[data-cover-activation]) .work-image{transform:none!important;transition:none!important}
}

/* v45: the service wordmark is the entire visible destination label. */
body.release-page .service{justify-content:center;min-height:88px;padding:22px 20px;border:0;background:transparent;box-shadow:none}
body.release-page .service-name{flex:0 1 auto;max-width:100%;width:140px;padding:0;justify-content:center}
body.release-page .service-logo{width:auto;height:auto;max-width:124px;max-height:36px;object-fit:contain}
body.release-page .service-logo[src$="tidal.png"]{max-width:100px;max-height:44px}
body.release-page .service .custom-service{font-size:18px;font-weight:400;line-height:1.4;padding:0}body.release-page .service:active{background:transparent;}

@media(prefers-reduced-motion:reduce){body.release-page .service-name{transform:none!important;transition:none!important}}

body.release-page .service:last-child{min-height:88px}

/* v49: one return-control palette across portrait, project and listening views. */
#route-navigation{--return-ink:#F4D9A0;--return-hover:#C49B62;background:transparent}


/* v49: local contrast follows content, not an empty grid track. */
body.portrait-page #works-section :is(.soundtracks,.singles,.sound-design,.videos,.installations,.contributions) .work-link{
 width:fit-content;max-width:100%;box-sizing:border-box;
}
body.portrait-page #works-section .installations .text-only .work-link{min-height:44px}
body.portrait-page #works-section .work-shade{inset:4px;border-radius:22px;filter:blur(9px)}
body.project-page .project-shade{inset:4px 2px 0;border-radius:20px;filter:blur(9px)}
body.project-page .exhibition-link{width:fit-content;max-width:100%;box-sizing:border-box}
/* Fully opaque secondary text keeps its hierarchy through size, not faint ink. */
:root{--readable-ink:#fff3dc;--readable-secondary:#eee0c6;--readable-hover:#f7dda8}
#route-navigation{--return-hover:var(--readable-hover)}
body.portrait-page #works-section :is(.work-title,.category-heading h2),
body.project-page :is(.project-title,.project-heading h1){color:var(--readable-ink)}
body.portrait-page #works-section :is(.work-year,.work-kind,.category-note),
body.project-page :is(.project-year,.project-heading p,.project-links h2,.project-links a span){color:var(--readable-secondary);text-shadow:0 1px 3px #000}
body.portrait-page #works-section .works-index a{color:var(--readable-ink)}
body.portrait-page #home-section .control-label{ text-shadow:0 1px 3px #000,0 0 8px #0009 }
body.release-page .release-heading p{color:var(--readable-secondary)}

/* Shared inner-portrait ambience; the home portrait remains clear. */
:root{--inner-portrait-dim:.6}
body.ambient-portrait #background::after{opacity:var(--inner-portrait-dim)}
/* Geometry stays reserved, but no parent frame waits for the flying artwork. */
body.release-page .release-card-panel[data-cover-held]{box-shadow:none}

/* A thin artwork-tinted service surface over the already-blurred background.
   Static gradients only: no backdrop-filter, runtime palette work or new layers. */
body.release-page .services{
 background-color:rgba(var(--service-tint,30,30,30,.8));
 background-image:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,0) 42%,rgba(0,0,0,.055));
 box-shadow:inset 0 1px 0 rgba(255,255,255,.09);
}
@media(prefers-reduced-transparency:reduce){
 body.release-page .services{background-color:#1e1e1e;background-image:none;box-shadow:none}
}
/* Inquiry fields sit directly on the approved portrait; no footer/icon remnants. */
body.portrait-page #contact-section .contact-label{display:block;font-size:14px;line-height:1.4;margin:0 0 6px;color:var(--readable-ink,#fff3dc)}
body.portrait-page #contact-section .contact-error{font-size:13px;line-height:1.4;color:#ffe1a1;margin:6px 0 0}
body.portrait-page #contact-section .contact-error:empty{display:none}
body.portrait-page #contact-section .contact-status{font-size:14px;line-height:1.5;min-height:24px;margin:14px 0;color:var(--readable-ink,#fff3dc)}
body.portrait-page #contact-section .contact-trap{position:fixed;left:-10000px;top:0;width:1px;height:1px;overflow:hidden}
body.portrait-page #contact-section [data-contact-form] [aria-invalid="true"]{border-color:#ffe1a1}
body.portrait-page #contact-section [data-contact-verification]{max-width:100%;overflow:visible}
body.portrait-page #contact-section .actions button{min-width:110px}
/* Contact: quiet open composition, with comfortable fields rather than a panel. */
body.portrait-page #contact-section{max-width:100%;padding:0 22px 56px}
body.portrait-page #contact-section #container04>.wrapper>.inner{width:min(100%,640px);margin-inline:auto;text-align:left}
body.portrait-page #contact-section .contact-intro{margin:0 0 30px;text-align:left}
body.portrait-page #contact-section .contact-intro h1{font-size:clamp(30px,4vw,42px);line-height:1.15;font-weight:400;margin:0 0 14px;color:var(--readable-ink);text-shadow:0 1px 4px #000}
body.portrait-page #contact-section .contact-intro p{font-size:17px;line-height:1.6;color:var(--readable-secondary);text-shadow:0 1px 4px #000;margin:0}
body.portrait-page #contact-section .preview-notice{font-size:13px;line-height:1.5;color:var(--readable-secondary);margin:0 0 28px;text-align:left;max-width:45ch}
body.portrait-page #contact-section #form02{margin:0;width:100%;text-align:left}
body.portrait-page #contact-section #form02>.inner{display:grid;grid-template-columns:1fr 1fr;gap:22px 24px}
body.portrait-page #contact-section #form02 .field:nth-child(n+3),body.portrait-page #contact-section #form02 :is([data-contact-verification],.contact-status,.actions,noscript){grid-column:1/-1}
body.portrait-page #contact-section #form02 .field{padding:0;margin:0;min-width:0}
body.portrait-page #contact-section #form02 :is(input,textarea){box-sizing:border-box;width:100%;font:inherit;font-size:17px;line-height:1.5;letter-spacing:0;color:var(--readable-ink);border:1px solid #f4d9a052;border-radius:9px;background:#110c081f;padding:12px 14px;box-shadow:none;transition:border-color 180ms ease,background-color 180ms ease}
body.portrait-page #contact-section #form02 input{height:49px}
body.portrait-page #contact-section #form02 textarea{min-height:190px;height:190px;resize:vertical}
body.portrait-page #contact-section #form02 :is(input,textarea):focus{outline:2px solid #f4d9a0;outline-offset:3px;background:#110c083d;border-color:#f4d9a0}
body.portrait-page #contact-section #form02 .contact-label{font-size:14px;line-height:1.5;margin-bottom:8px;text-shadow:0 1px 3px #000}
body.portrait-page #contact-section #form02 .contact-status{margin:0;min-height:0;font-size:13px;max-width:60ch}
body.portrait-page #contact-section #form02 [data-contact-verification]:empty{display:none}
body.portrait-page #contact-section #form02 .actions{margin:0;padding:0;text-align:left;justify-content:flex-start}
body.portrait-page #contact-section #form02 .actions button{min-width:112px;min-height:46px;font:inherit;font-size:17px;line-height:1.4;color:var(--readable-ink);border:1px solid #f4d9a075;border-radius:9px;background:#f4d9a00b;padding:10px 24px}
@media(max-width:520px){body.portrait-page #contact-section{padding-inline:20px}body.portrait-page #contact-section #form02>.inner{grid-template-columns:1fr;gap:20px}body.portrait-page #contact-section .contact-intro{margin-bottom:24px}body.portrait-page #contact-section #form02 textarea{min-height:170px;height:170px}}
body.portrait-page #contact-section #container04{width:100%;max-width:100%;padding:0;margin:0}
body.portrait-page #contact-section #container04>.wrapper{padding:0;width:100%;margin:0}
body.portrait-page #contact-section #container04>.wrapper>.inner{padding:0}
body.portrait-page #contact-section .contact-status:empty{display:none}
/* One persistent portrait camera on every phone route. Clear and blurred
   portrait layers share the same box/crop, so routing cannot move the face.
   The original image pixels remain untouched. */
@media(max-width:767px) and (orientation:portrait){
 #background{height:100dvh}
 .portrait-background,#background .works-ambient{background-size:auto 105%!important;background-position:32% bottom!important;background-repeat:no-repeat}
 #background .works-ambient{inset:0}
 .portrait-background::after{content:none!important}
 .portrait-background>.portrait-quiet-depth{display:none!important}
 html[data-home-scroll] body.portrait-page:has(#home-section) .site-wrapper{padding-top:calc(env(safe-area-inset-top,0px) + clamp(160px,calc(var(--home-menu-block,284px) - 12svh),220px))}
}
/* Only cover-stack captions center. Side metadata and text credits retain
   their original alignment; this marker accompanies the stacked layout. */
body.portrait-page #works-section .work-link[data-caption-layout="below"]>.work-info{text-align:center;align-items:center}
body.portrait-page #works-section .work-link[data-caption-layout="below"] .work-caption{align-items:center;text-align:center}

/* Query-only ?grain=1 study. Only the photograph carries this tiny static
   noise texture; the compositor shifts the texture, never the portrait/menu. */
html[data-portrait-grain="trial"] body:has(#home-section) .portrait-background::before{content:"";position:absolute;inset:-2px;z-index:1;pointer-events:none;background:url('/assets/images/portrait-grain.png') repeat;opacity:.08;background-size:160px 160px;animation:portrait-grain-drift 7.3s steps(1,end) infinite;will-change:transform}
@keyframes portrait-grain-drift{0%,17%,59%,100%{transform:translate(0,0)}18%,41%{transform:translate(1px,-1px)}42%,58%{transform:translate(-1px,1px)}60%,83%{transform:translate(1px,1px)}84%,99%{transform:translate(0,-1px)}}
html[data-grain-paused] .portrait-background::before{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){html[data-portrait-grain="trial"] .portrait-background::before{animation:none!important;transform:none!important;will-change:auto}}

/* Portrait artwork keeps its original full proportions inside Works. */
body.portrait-page #works-section .work-image[data-art-aspect="portrait"]{aspect-ratio:2/3}

/* Page headings for search engines and screen readers, where the design shows none. */
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}

/* Profile icons under the contact form: the original warm ink, one row on any phone. */
body.portrait-page #contact-section .icons-component{flex-wrap:nowrap;gap:6px;margin:28px 0 0!important;padding:0;list-style:none}
body.portrait-page #contact-section .icons-component a{color:#f4d9a0}
body.portrait-page #contact-section .icons-component svg{width:22px;height:22px;fill:currentColor}
@media(hover:hover) and (pointer:fine){body.portrait-page #contact-section .icons-component a:hover{color:#fff0cb}}
html body.portrait-page #contact-section .icons-component a>.control-foreground{width:44px;height:44px;justify-content:center}
html body.portrait-page #contact-section .icons-component [data-feedback-button]>.control-foreground::before,html body.portrait-page #contact-section .icons-component [data-feedback-button]>.control-foreground::after{inset:0}
@media(min-width:768px){body.portrait-page #contact-section .icons-component{justify-content:flex-start;gap:10px}}
body.portrait-page #contact-section .icons-component{font-size:16px}
body.portrait-page #contact-section .icons-component li{margin:0;flex:0 0 44px}
body.portrait-page #contact-section .icons-component>li>a{display:flex;align-items:center;justify-content:center;width:44px;height:44px}

/* Readable small print on phones: the pixel face stays legible from 11–12px. */
@media(max-width:640px){html body.portrait-page #works-section .work-year{font-size:12px}html body.portrait-page #works-section .work-kind{font-size:11px}}
body:not(.portrait-page) .site-footer{font-size:12px}


body.shop-page{color:var(--readable-ink,#fff3dc);overflow-x:clip;overflow-y:visible}
body.shop-page #background::after{opacity:.6}
body.shop-page #route-navigation{position:fixed;inset:env(safe-area-inset-top,0px) 0 auto;height:56px;display:flex;justify-content:center;pointer-events:none;background:transparent}
body.shop-page .shop-main,body.shop-page .shop-main *{box-sizing:border-box}
body.shop-page .shop-main{--shop-space-sm:8px;--shop-space-md:12px;--shop-space-lg:24px;--shop-space-section:32px;max-width:1180px;margin:0 auto;padding:76px clamp(20px,5vw,72px) max(32px,env(safe-area-inset-bottom));text-shadow:0 1px 4px #000}
body.shop-page .shop-header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}
body.shop-page .shop-header-product{justify-content:flex-end}
body.shop-page .shop-main a{color:inherit;text-decoration:none}
body.shop-page .shop-header a{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 0;font-size:18px}
body.shop-page .shop-cart-link span{font-size:14px;color:var(--readable-secondary)}
body.shop-page .shop-feature,body.shop-page .shop-product{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:clamp(24px,5vw,76px)}
body.shop-page .shop-product{align-items:start;gap:clamp(24px,4vw,56px)}
body.shop-page .shop-product-art{display:block;position:relative;isolation:isolate}
body.shop-page .shop-product-art::before{content:"";position:absolute;inset:12%;z-index:-1;background:radial-gradient(ellipse,#0005,transparent 70%);pointer-events:none}
body.shop-page .shop-product-art img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;}
body.shop-page [data-shop-preview]>img{transition:opacity 220ms ease,transform 180ms cubic-bezier(.16,1,.3,1)}
body.shop-page [data-shop-preview]>.shop-secondary-image{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none}
body.shop-page [data-shop-preview].is-previewing>img:first-child{opacity:0}
body.shop-page [data-shop-preview].is-previewing>.shop-secondary-image{opacity:1}
body.shop-page .shop-size.is-unavailable{opacity:.5;cursor:not-allowed}
body.shop-page .shop-size.is-unavailable span{text-decoration:line-through}
body.shop-page .shop-copy .shop-option-status{font-size:14px;min-height:22px;margin:8px 0 0}
/* Nothing to choose (single-option products): no reserved status line. */
body.shop-page .shop-copy form:not(:has(fieldset:not([hidden]))) .shop-option-status:empty{min-height:0;margin:0}
body.shop-page .shop-copy{max-width:440px}
body.shop-page .shop-copy h1,body.shop-page .shop-cart h1{font-size:clamp(25px,3vw,38px);font-weight:400;line-height:1.14;margin:0 0 12px;text-wrap:balance}
body.shop-page .shop-copy p{font-size:16px;line-height:1.55;color:var(--readable-secondary);margin:12px 0}
body.shop-page .shop-copy .shop-price{font-size:25px;color:var(--readable-ink)}
body.shop-page .shop-product .shop-price{margin:8px 0 16px}
body.shop-page .shop-price span{font-size:14px}
body.shop-page .shop-main button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
body.shop-page .shop-action{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:48px;padding:12px 18px;margin-top:18px;border:1px solid #f4d9a066;border-radius:8px;background:#17130e88;color:#fff3dc;font-size:17px;line-height:1.3;text-shadow:none}
body.shop-page .shop-action:disabled{cursor:default;opacity:.75}
body.shop-page .shop-main :is(a,button,input):focus-visible{outline:2px solid #f4d9a0;outline-offset:4px}
body.shop-page .shop-views{display:flex;justify-content:center;gap:12px;margin:8px 0 0}
body.shop-page .shop-views button{background:transparent;border:0;border-bottom:1px solid transparent;min-height:44px;padding:8px 12px}
body.shop-page .shop-views button[aria-pressed="true"]{border-bottom-color:#f4d9a0}
body.shop-page .shop-copy fieldset{border:0;padding:0;margin:20px 0 0}
body.shop-page .shop-copy legend{font-size:16px;padding:0;margin-bottom:8px}
body.shop-page .shop-sizes{display:flex;flex-wrap:wrap;gap:8px}
body.shop-page .shop-size{display:inline-flex;position:relative;cursor:pointer}
body.shop-page .shop-size input{position:absolute;opacity:0;width:100%;height:100%;inset:0;margin:0;cursor:pointer}
body.shop-page .shop-size span{display:grid;place-items:center;min-width:44px;min-height:44px;padding:8px;border:1px solid #f4d9a055;border-radius:6px;background:#17130e66}
body.shop-page .shop-size input:checked+span{background:#f4d9a0;color:#211b12;text-shadow:none;border-color:#f4d9a0}
body.shop-page .shop-size input:focus-visible+span{outline:2px solid #f4d9a0;outline-offset:4px}
body.shop-page .shop-copy .shop-feedback{min-height:24px;margin:8px 0;color:#fff3dc}
body.shop-page .shop-copy .shop-feedback:empty{min-height:0;margin:0}
body.shop-page .shop-product .shop-action{margin-top:12px}
body.shop-page .shop-view-cart{display:inline-flex;align-items:center;min-height:44px;margin-top:8px}
body.shop-page .shop-preview{font-size:13px;line-height:1.5;color:var(--readable-secondary);margin:var(--shop-space-lg) 0 0;max-width:65ch}
body.shop-page .shop-main:has(>.shop-cart){max-width:944px}
body.shop-page .shop-cart{width:100%;margin:0}
body.shop-page .shop-cart>h1{margin-bottom:16px}
body.shop-page .shop-cart [data-cart-items]>p{font-size:16px;line-height:1.5;margin:0 0 12px}
body.shop-page .shop-cart [data-storage-note]{margin:12px 0 0}
body.shop-page .shop-cart [data-storage-note]:empty{margin:0}
body.shop-page .shop-cart-item{display:grid;grid-template-columns:100px minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid #f4d9a033}
body.shop-page .shop-cart-item img{width:100px;height:100px;object-fit:contain}
body.shop-page .shop-cart-item p{font-size:14px;color:var(--readable-secondary);margin:8px 0}
body.shop-page .shop-quantity{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
body.shop-page .shop-quantity button{background:transparent;border:0;min-width:44px;min-height:44px;padding:8px;font-size:20px}
body.shop-page .shop-quantity .shop-remove{font-size:13px;padding:8px 12px}
body.shop-page .shop-quantity>span{min-width:2ch;text-align:center;font-variant-numeric:tabular-nums}
body.shop-page .shop-subtotal{display:flex;justify-content:space-between;gap:20px;font-size:22px;margin:24px 0 12px}
body.shop-page .shop-cart [data-storage-note],body.shop-page .shop-cart [data-cart-summary]>p:not(.shop-subtotal){font-size:14px;line-height:1.5;color:var(--readable-secondary)}
body.shop-page .shop-cart [data-cart-summary][hidden]{display:none}

@media(max-width:640px){body.shop-page .shop-main{padding-top:64px}
body.shop-page .shop-header{margin-bottom:12px}
body.shop-page .shop-feature,body.shop-page .shop-product{grid-template-columns:1fr;gap:22px}
body.shop-page .shop-gallery,body.shop-page .shop-feature>.shop-product-art{width:100%;max-width:440px;margin:auto}
body.shop-page .shop-copy{width:100%;max-width:none}
body.shop-page .shop-copy h1{font-size:28px}
body.shop-page .shop-cart-item{grid-template-columns:72px minmax(0,1fr);gap:12px}
body.shop-page .shop-cart-item img{width:72px;height:72px}
body.shop-page .shop-line-total{grid-column:2}
body.shop-page .shop-preview{margin-top:var(--shop-space-lg)}}
@media(prefers-reduced-motion:reduce){body.shop-page .shop-main *{transition:none!important}}
/* The image responds inside its stationary touch target. */

/* Extend the approved feature composition without changing product-page styling. */
body.shop-page .shop-catalogue{display:grid;gap:72px}
body.shop-page .shop-copy h2{font-size:clamp(25px,3vw,38px);font-weight:400;line-height:1.14;margin:0 0 20px;text-wrap:balance}
body.shop-page .shop-size span{max-width:100%;overflow-wrap:anywhere}
body.shop-page .shop-size{max-width:100%}
@media(max-width:640px){body.shop-page .shop-copy h2{font-size:28px}body.shop-page .shop-catalogue{gap:52px}}

/* Exported Spotlight storefront: full-width, four desktop columns,16px gaps,
   portrait product media and centered captions. Catalogue only: the approved
   header, product detail/cart and <=989px layouts keep their existing sizing. */
@media(min-width:990px){
 body.shop-page .shop-main:has(>.shop-catalogue)>.shop-header{width:calc(100vw - 30px);margin-left:calc(50% - 50vw + 15px)}
 body.shop-page .shop-catalogue{width:calc(100vw - 30px);margin-left:calc(50% - 50vw + 15px);grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:start}
 body.shop-page .shop-catalogue .shop-feature{display:flex;flex-direction:column;align-items:stretch;gap:0;min-width:0}
 body.shop-page .shop-catalogue .shop-product-art img{aspect-ratio:4/5;object-fit:contain}
 body.shop-page .shop-catalogue .shop-copy{max-width:none;width:100%;padding:13px 10px;text-align:center}
 body.shop-page .shop-catalogue .shop-copy h2{font-size:18px;line-height:1.35;margin:0 0 8px}
 body.shop-page .shop-catalogue .shop-price{font-size:18px;line-height:1.4;margin:0}
 body.shop-page .shop-catalogue .shop-action{font-size:15px;min-height:44px;padding:10px 14px;margin-top:12px;gap:16px}
}
/* The contour tracks opaque product pixels inside the unchanged media frame. */
body.shop-page .shop-product-hit{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}
body.shop-page .shop-product-hit [data-product-hit]{fill:transparent;pointer-events:fill}


/* Approved catalogue refinement: paired mobile cards; desktop Spotlight grid
   retains its original four columns/16px gap/15px outer margin. */
@media(max-width:989px){
 body.shop-page .shop-catalogue{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px;align-items:start}
 body.shop-page .shop-catalogue .shop-feature{display:flex;flex-direction:column;align-items:stretch;gap:0;min-width:0}
 body.shop-page .shop-catalogue .shop-product-art{width:100%;max-width:none;margin:0}
 body.shop-page .shop-catalogue .shop-product-art img{aspect-ratio:4/5;object-fit:contain}
 body.shop-page .shop-catalogue .shop-copy{width:100%;max-width:none;padding:10px 2px;text-align:center}
 body.shop-page .shop-catalogue .shop-copy h2{font-size:15px;line-height:1.4;margin:0 0 7px;overflow-wrap:anywhere}
 body.shop-page .shop-catalogue .shop-price{font-size:15px;line-height:1.4;margin:0}
 body.shop-page .shop-catalogue .shop-price span{font-size:11px}
 body.shop-page .shop-catalogue .shop-action{font-size:13px;min-height:44px;padding:10px;margin-top:10px;gap:10px}
}
/* Reveal only decoded pixels. A failed asset retains its reserved media area. */
body.shop-page .shop-product-art>img[data-shop-image-state="pending"],body.shop-page .shop-cart-item img[data-shop-image-state="pending"]{opacity:0}
body.shop-page .shop-product-art>img[data-shop-image-state="error"],body.shop-page .shop-cart-item img[data-shop-image-state="error"]{opacity:0}
body.shop-page .shop-image-status{position:absolute;inset:0;display:grid;place-items:center;font-size:14px;line-height:1.5;text-align:center;pointer-events:none;color:var(--readable-secondary)}
body.shop-page .shop-image-status[hidden]{display:none}
body.shop-page .shop-cart-item>a:first-child{position:relative}

/* The empty-cart destination remains useful. Give its real anchor the same
   comfortable bounds as its face; it must never inherit oversized prose type. */
body.shop-page .shop-cart .shop-empty-action{display:inline-flex;width:max-content;max-width:100%;font-size:16px;line-height:1.4;margin-top:0;white-space:normal}
body.shop-page .shop-cart .shop-empty-action>.control-foreground{white-space:normal;--face-padding:12px 18px;--face-height:48px}

/* Catalogue captions follow opaque merchandise, not a tall empty image box.
   The existing contour supplies a conservative transparent-bottom allowance.
   Both image views and their hit contour keep the same square pixel scale. */
body.shop-page .shop-catalogue .shop-product-art{aspect-ratio:1 / var(--shop-media-height,1)}
body.shop-page .shop-catalogue .shop-product-art>img{position:absolute;inset:0 auto auto 0;width:100%;height:auto;aspect-ratio:1;object-fit:contain}
body.shop-page .shop-catalogue .shop-product-hit{height:auto;aspect-ratio:1}
body.shop-page .shop-catalogue .shop-copy{padding-top:12px}
@media(max-width:989px){body.shop-page .shop-catalogue .shop-copy{padding-top:8px}}

/* Reuse the catalogue's conservative opaque-pixel allowance. Only empty
   bottom space is removed; both product views keep their original square scale. */
body.shop-page .shop-gallery .shop-product-art{aspect-ratio:1 / var(--shop-media-height,1)}
body.shop-page .shop-gallery .shop-product-art>img{position:absolute;inset:0 auto auto 0;width:100%;height:auto;aspect-ratio:1;object-fit:contain}

/* Shop actions share one readable size on every screen (the button reset used to shrink them on phones). */
body.shop-page .shop-main :is(.shop-action,.shop-view-cart){font-size:16px;line-height:1.3}

/* Text belongs to the portrait, without large dark cards behind empty space. */
body.portrait-page #home-section::before{display:none}
body.portrait-page :is(#story-section,#contact-section) .container-component.style-1>.wrapper{background:transparent;border-radius:0;box-shadow:none}
body.portrait-page #story-section #text08{max-width:none;margin-left:0;margin-right:0;line-height:1.4!important}
body.portrait-page #story-section #text08 .p:nth-child(n+2),
body.portrait-page #story-section #text08 .story-final{margin-top:2.5rem}
html:not([data-works-editor]) body.portrait-page #works-section .work-shade{display:none}
body.project-page .project-shade{display:none}
body.portrait-page :is(#home-section,#story-section,#contact-section,#works-section) :is(a,p,span,h1,h2,h3,label),
body.project-page :is(.project-heading,.project-caption,.project-links) :is(a,p,span,h1,h2,h3){text-shadow:0 1px 2px rgba(0,0,0,.82),0 0 5px rgba(0,0,0,.48)}
body.portrait-page #contact-section :is(input,textarea){background:rgba(0,0,0,.22)}
body.portrait-page #contact-section :is(input,textarea)::placeholder{color:#f4d9a0;opacity:.8}

/* One shared interaction clock and material response. Native hit/layout boxes
   stay still; only their semantic visible surface changes. */
:root{--interaction-scale:1.08;--interaction-press:.97;--interaction-brightness:1.07;--interaction-press-brightness:1.12;--interaction-press-light:.07;--interaction-duration:180ms;--interaction-press-duration:80ms;--interaction-easing:cubic-bezier(.2,.7,.25,1)}
body :where([data-feedback-control]){--feedback-scale:1;--feedback-filter:none;--feedback-state-opacity:0}
/* WebKit crashes interpolating a filter from none while catalogue images re-enter; rest at an identity filter. */
body:where(.shop-page) :where([data-shop-preview]){--feedback-filter:brightness(1)}
body [data-feedback-visual]{transform:scale(var(--feedback-scale));transform-origin:var(--feedback-origin,center);filter:var(--feedback-filter);scale:none;translate:none;transition:transform var(--interaction-duration) var(--interaction-easing),filter var(--interaction-duration) var(--interaction-easing)}
body [data-feedback-media]{filter:none}
/* Artwork keeps its authored colour through hover, focus and pressure. The
   existing wrapper still owns the complete scale response. */
body #works-section .work-image[data-feedback-media]{--feedback-filter:none}
body [data-feedback-tone]{filter:var(--feedback-filter);transition:filter var(--interaction-duration) var(--interaction-easing)}
body .control-foreground{display:inline-flex;align-items:center;justify-content:inherit;gap:inherit;max-width:100%;width:auto;pointer-events:none}
body .feedback-label{display:inline-block;max-width:100%;pointer-events:none}
/* Caption alignment owns the origin, not an item-specific animation. Leading
   metadata keeps its text edge; intentional below-cover captions stay centered. */
body #works-section .work-link:not([data-caption-layout="below"]) :is(.work-title,.work-year){--feedback-origin:left center}
body [data-feedback-visual] svg{width:16px;height:16px;fill:currentColor;flex:none}
body :where([data-feedback-control]){scale:1;translate:none}
body .shop-size span{pointer-events:none}
@media(hover:hover) and (pointer:fine){
 body :where([data-feedback-control]:not(:disabled):not([aria-disabled="true"]):not([aria-busy="true"]):not(.shop-size:has(input:disabled)):not([data-feedback-hit="media"]):hover,[data-feedback-control].is-product-hover){--feedback-scale:var(--interaction-scale);--feedback-filter:brightness(var(--interaction-brightness))}
}
body :where([data-feedback-control]:not(:disabled):not([aria-disabled="true"]):not([aria-busy="true"]):not(.shop-size:has(input:disabled)):focus-visible,[data-feedback-control]:not(:disabled):not([aria-disabled="true"]):not([aria-busy="true"]):not(.shop-size:has(input:disabled)):has(input:focus-visible)){--feedback-scale:var(--interaction-scale);--feedback-filter:brightness(var(--interaction-brightness))}
/* The same immediately starting smooth pressure for mouse, touch and keyboard; no minimum dwell
   or navigation delay. Release starts at the current presented pixels. */
body :where([data-feedback-control][data-pressed]:not(:disabled):not([aria-disabled="true"]):not([aria-busy="true"]):not(.shop-size:has(input:disabled))){--feedback-scale:var(--interaction-press);--feedback-filter:brightness(var(--interaction-press-brightness));--feedback-state-opacity:var(--interaction-press-light)}
body [data-feedback-control][data-pressed] :is([data-feedback-visual],[data-feedback-tone]){transition-duration:var(--interaction-press-duration)}
/* Preserve the image-only secondary-image fade while sharing input feedback. */
body.shop-page [data-shop-preview]>img{transition:opacity 220ms ease,transform var(--interaction-duration) var(--interaction-easing),filter var(--interaction-duration) var(--interaction-easing)}
body.shop-page [data-shop-preview][data-pressed]>img{transition-duration:220ms,var(--interaction-press-duration),var(--interaction-press-duration)}
/* Move a framed control's complete face together. Padding/border remain part
   of its intrinsic geometry, inside a stationary native activation wrapper. */
body [data-feedback-face]{padding:0!important;border:0!important;background:transparent!important;min-height:0!important;border-radius:0!important;overflow:visible!important}
body [data-feedback-face]>.control-foreground{box-sizing:border-box;width:var(--face-inline-size,auto);min-width:var(--face-width,auto);padding:var(--face-padding);min-height:var(--face-height);border:var(--face-border,0);border-radius:var(--face-radius,0);background:var(--face-background,transparent)}
/* A thin existing-ivory state layer belongs only to complete framed faces.
   Standalone text and artwork use the same tone response without a new panel. */
body :is([data-feedback-face]>.control-foreground,.shop-size>span){position:relative}
body :is([data-feedback-face]>.control-foreground,.shop-size>span)::after{content:"";position:absolute;inset:0;border-radius:inherit;background:#f4d9a0;opacity:var(--feedback-state-opacity);pointer-events:none;transition:opacity var(--interaction-duration) var(--interaction-easing)}
body [data-pressed] :is([data-feedback-face]>.control-foreground,.shop-size>span)::after{transition-duration:var(--interaction-press-duration)}
/* Component skins share the same complete-face motion and stationary hit box. */
body.portrait-page #contact-section #form02 .actions button[data-feedback-face]{height:auto;display:inline-flex;align-items:center;justify-content:center;--face-padding:10px 24px;--face-height:46px;--face-width:112px;--face-inline-size:100%;--face-border:1px solid #f4d9a075;--face-radius:9px;--face-background:#f4d9a00b}
body.shop-page .shop-action{--face-padding:12px 18px;--face-height:48px;--face-border:1px solid #f4d9a066;--face-radius:8px;--face-background:#17130e88}
body.shop-page .shop-views button{--face-padding:8px 12px;--face-height:44px;--face-border:0;--face-background:transparent}
body.shop-page .shop-views button>.control-foreground{border-bottom:1px solid transparent}
body.shop-page .shop-views button[aria-pressed="true"]>.control-foreground{border-bottom-color:#f4d9a0}
body.portrait-page .works-index a{--face-padding:0 13px;--face-height:40px;--face-radius:22px}
body.portrait-page .works-index a[aria-current="location"]{--face-background:#ffffff18}
body .project-links a>.control-foreground{width:100%}
body .project-links a{--face-padding:10px 14px;--face-height:48px;--face-radius:8px;--face-background:#0003}
body [data-feedback-face]:focus-visible{outline:none!important}
body [data-feedback-face]:focus-visible>.control-foreground{outline:2px solid #f4d9a0;outline-offset:4px}
@media(min-width:990px){body.shop-page .shop-catalogue .shop-action{--face-padding:10px 14px;--face-height:44px}}
@media(max-width:989px){body.shop-page .shop-catalogue .shop-action{--face-padding:10px;--face-height:44px}}
@media(prefers-reduced-motion:reduce){
 body :where([data-feedback-control]){--feedback-scale:1!important}
 body [data-feedback-visual],body [data-feedback-tone],body :is([data-feedback-face]>.control-foreground,.shop-size>span)::after{transition:none!important}
}

/* Cart controls keep their existing borderless rectangular face, never a nav pill. */
body.shop-page .shop-quantity button,body.shop-page .shop-remove{--face-padding:8px;--face-height:44px;--face-width:44px;--face-border:0;--face-radius:0;--face-background:transparent}
body.shop-page .shop-quantity .shop-remove,body.shop-page .shop-remove{--face-padding:8px 12px}
/* Existing cart navigation actions are borderless, not merchandise cards or prose. */
body.shop-page :is(.shop-cart-link,.shop-view-cart,.shop-cart [data-cart-items]>a[href="/shop"]){--face-padding:0 14px;--face-height:44px;--face-width:44px;--face-border:0;--face-radius:0;--face-background:transparent}
body.shop-page .shop-view-cart{--face-padding:0 18px}
/* Glyph controls centre their symbol inside the fixed square face. */
body.shop-page .shop-quantity button{justify-content:center}

/* Selected Button Studies base skin retained for controls outside the scoped
   navigation preset. The generated model below owns navigation material,
   Home typography and the shared finite feedback clock. */
:root{--button-radius:19px;--button-border:.10;--button-fill:#17100838;--button-shadow:inset 0 2px 5px #08040070,0 1px 0 #ffe7b126}
html body [data-feedback-button]{--interaction-scale:var(--button-hover-scale,1.10);--interaction-press:var(--button-press-scale,.918);--interaction-duration:var(--button-hover-duration,180ms);--interaction-press-duration:var(--button-press-duration,95ms);--interaction-easing:var(--button-hover-easing,cubic-bezier(.2,.75,.25,1));--interaction-press-light:.16;--feedback-filter:none;--home-game-cue:0px;--home-game-ink:inherit;--navigation-press-surface:.16;border-radius:var(--button-radius)}
html body [data-feedback-button]>.navigation-boundary{display:none!important}
html body [data-feedback-button]>:is(.control-label,.control-foreground,.service-name,span[data-feedback-visual]){
 position:relative;isolation:isolate;border-radius:var(--button-radius)!important;
 background:transparent!important;border-color:transparent!important;box-shadow:none!important;filter:none!important;
 transition:transform var(--interaction-duration) var(--interaction-easing),color var(--interaction-duration) ease;
}
html body [data-feedback-button]>:is(.control-label,.control-foreground,.service-name,span[data-feedback-visual])::before{
 content:"";position:absolute;z-index:-2;inset:0;box-sizing:border-box;pointer-events:none;
 border:1px solid rgb(244 217 160 / var(--button-border))!important;border-radius:inherit!important;
 background:var(--button-fill)!important;box-shadow:var(--button-shadow)!important;
 clip-path:none!important;opacity:1!important;transform:none!important;
 transition:background var(--interaction-duration) ease,border-color var(--interaction-duration) ease,box-shadow var(--interaction-duration) ease;
}
html body [data-feedback-button]>:is(.control-label,.control-foreground,.service-name,span[data-feedback-visual])::after{
 content:"";position:absolute;z-index:-1;inset:0;border-radius:inherit;pointer-events:none;
 background:#f4d9a0;opacity:var(--feedback-state-opacity,0);transition:opacity 110ms ease;
}
/* Keep the demo's warm ink on text controls; logos retain their actual art. */
html body #home-section [data-feedback-button]>.control-label{color:#f4d9a0!important}
@media(hover:hover) and (pointer:fine){
 html body [data-feedback-button]:hover:not(:disabled):not([aria-disabled="true"]):not([aria-busy="true"]):not(.shop-size:has(input:disabled))>:is(.control-label,.control-foreground){color:#fff0cb!important}
}
html body [data-feedback-button]:focus-visible>:is(.control-label,.control-foreground){color:#fff0cb!important}
html body [data-feedback-button][data-pressed]:not(:disabled):not([aria-disabled="true"]):not([aria-busy="true"]):not(.shop-size:has(input:disabled))>:is(.control-label,.control-foreground,span[data-feedback-visual]){color:#fff3d7!important;transition-duration:var(--interaction-press-duration)}
/* Logo and icon faces use the existing target's reserved room, without
   resizing their contents or putting a frame around an artwork thumbnail. */
html body .service[data-feedback-button]>.service-name::before,
html body .service[data-feedback-button]>.service-name::after{inset:-12px -14px}
html body :is(.icons-component,.socials) [data-feedback-button]>.control-foreground::before,
html body :is(.icons-component,.socials) [data-feedback-button]>.control-foreground::after{inset:-8px}
/* Selected values and tabs keep a durable cue in addition to their label,
   while the material and 10% outer frame remain consistent. */
html body .shop-size[data-feedback-button] input:checked+span{color:#fff3d7;text-shadow:none}
html body .shop-size[data-feedback-button] input:checked+span::after,
html body [data-feedback-button][aria-pressed="true"]>.control-foreground::after,
html body [data-feedback-button][aria-current="location"]>.control-foreground::after{opacity:.16}
html body .shop-size[data-feedback-button] input:checked+span::before,
html body [data-feedback-button][aria-pressed="true"]>.control-foreground::before,
html body [data-feedback-button][aria-current="location"]>.control-foreground::before{box-shadow:inset 0 -2px 0 #f4d9a0,var(--button-shadow)!important}
html body [data-feedback-button]:focus-visible{outline:2px solid #f4d9a0;outline-offset:4px}
html body [data-feedback-button]:is(:disabled,[aria-disabled="true"],[aria-busy="true"]){--feedback-scale:1;--feedback-state-opacity:0}
@media(prefers-reduced-motion:reduce){
 html body [data-feedback-button]{--feedback-scale:1!important}
 html body [data-feedback-button]>:is(.control-label,.control-foreground,.service-name,span[data-feedback-visual]){transform:none!important;transition:none!important}
 html body [data-feedback-button]>:is(.control-label,.control-foreground,.service-name,span[data-feedback-visual])::before,
 html body [data-feedback-button]>:is(.control-label,.control-foreground,.service-name,span[data-feedback-visual])::after{transition:none!important}
}

/* Preserve the original measured room of plain/dynamic form controls. */
html body [data-feedback-button][data-button-room]{background:transparent!important;border-color:transparent!important;box-shadow:none!important}
html body [data-feedback-button][data-button-room]>.control-foreground::before,
html body [data-feedback-button][data-button-room]>.control-foreground::after{inset:calc(-1 * var(--button-room-top,0px)) calc(-1 * var(--button-room-right,0px)) calc(-1 * var(--button-room-bottom,0px)) calc(-1 * var(--button-room-left,0px))}
/* Supersede the old Home game skin's high-specificity important paint only. */
html body.portrait-page #home-section .buttons-component>li>a[data-text-navigation][data-feedback-button]>.control-label{border-radius:var(--button-radius)!important}
html body.portrait-page #home-section .buttons-component>li>a[data-text-navigation][data-feedback-button]>.control-label::before{background:var(--button-fill)!important;border-color:rgb(244 217 160 / var(--button-border))!important;box-shadow:var(--button-shadow)!important;border-radius:var(--button-radius)!important}

html body.portrait-page #home-section .buttons-component>li>a[data-text-navigation][data-feedback-button]:focus-visible{border-radius:var(--button-radius)}
html body.portrait-page #home-section .buttons-component>li>a[data-text-navigation][data-feedback-button]>.control-label{color:var(--button-home-ink,#f4d9a0)!important}
@media(hover:hover) and (pointer:fine){html body #home-section [data-feedback-button]:hover{--button-home-ink:#fff0cb}}
html body #home-section [data-feedback-button]:focus-visible{--button-home-ink:#fff0cb}
html body #home-section [data-feedback-button][data-pressed]{--button-home-ink:#fff3d7}

/* Release services belong to the artwork's continuous, tinted card. Keep the
   original full-width rows and logo motion; pressure lights the row itself
   instead of adding a separate generic capsule around each service logo. */
html body.release-page .services .service[data-feedback-button]{position:relative;isolation:isolate;border-radius:0;--service-row-opacity:0}
html body.release-page .services .service[data-feedback-button]+.service[data-feedback-button]{box-shadow:inset 0 1px 0 rgb(255 255 255 / .055)}
html body.release-page .services .service[data-feedback-button]>.service-name{z-index:1}
html body.release-page .services .service[data-feedback-button]>.service-name::before,
html body.release-page .services .service[data-feedback-button]>.service-name::after{content:none!important}
html body.release-page .services .service[data-feedback-button]::before{
 content:"";position:absolute;inset:0;pointer-events:none;background:#f4d9a0;
 opacity:var(--service-row-opacity);transition:opacity var(--interaction-duration) var(--interaction-easing);
}
@media(hover:hover) and (pointer:fine){
 html body.release-page .services .service[data-feedback-button]:hover{--service-row-opacity:.045}
}
html body.release-page .services .service[data-feedback-button]:focus-visible{--service-row-opacity:.07;outline-offset:-4px}
html body.release-page .services .service[data-feedback-button][data-pressed]{--service-row-opacity:.16}
html body.release-page .services .service[data-feedback-button][data-pressed]::before{transition-duration:var(--interaction-press-duration)}
@media(prefers-reduced-motion:reduce){
 html body.release-page .services .service[data-feedback-button]::before{transition:none}
}

/* BEGIN GENERATED BUTTON DESIGN */
:root{--button-hover-scale:1.1;--button-press-scale:0.918;--button-hover-duration:180ms;--button-press-duration:95ms;--button-hover-easing:cubic-bezier(.2,.75,.25,1);--button-release-ms:310;--button-press-minimum-ms:100;--button-release-easing:cubic-bezier(.2,.7,.2,1);--button-release-overshoot:0.012;--button-release-offset:0.63}
html body [data-feedback-role="menu"]{--button-radius:17px;--button-border:0.24;--button-material-mode:3;--button-role-fill-rest:rgb(23 16 8 / 0.219607843137);--button-role-fill-active:rgb(23 16 8 / 0.658823529412);--button-fill:var(--button-role-fill-rest);--button-shadow:inset 0 2px 5px #08040070,0 1px 0 #ffe7b126;--button-layer-three-rest:rgb(23 16 8 / 0.219607843137);--button-layer-three-active:rgb(23 16 8 / 0.658823529412);--button-layer-seven-rest:linear-gradient(180deg,rgb(244 217 160 / 0.043137254902),rgb(23 16 8 / 0.133333333333));--button-layer-seven-active:linear-gradient(180deg,rgb(244 217 160 / 0.129411764706),rgb(23 16 8 / 0.4));--button-layer-three:var(--button-layer-three-rest);--button-layer-seven:var(--button-layer-seven-rest);--button-layer-mix:0.5;--button-layer-border:0.24}
html body [data-feedback-role="return"]{--button-radius:17px;--button-border:0.24;--button-material-mode:3;--button-role-fill-rest:rgb(23 16 8 / 0.219607843137);--button-role-fill-active:rgb(23 16 8 / 0.658823529412);--button-fill:var(--button-role-fill-rest);--button-shadow:inset 0 2px 5px #08040070,0 1px 0 #ffe7b126;--button-layer-three-rest:rgb(23 16 8 / 0.219607843137);--button-layer-three-active:rgb(23 16 8 / 0.658823529412);--button-layer-seven-rest:linear-gradient(180deg,rgb(244 217 160 / 0.043137254902),rgb(23 16 8 / 0.133333333333));--button-layer-seven-active:linear-gradient(180deg,rgb(244 217 160 / 0.129411764706),rgb(23 16 8 / 0.4));--button-layer-three:var(--button-layer-three-rest);--button-layer-seven:var(--button-layer-seven-rest);--button-layer-mix:0.5;--button-layer-border:0.24}
html body [data-feedback-role="category"]{--button-radius:9px;--button-border:0.24;--button-material-mode:3;--button-role-fill-rest:rgb(23 16 8 / 0.219607843137);--button-role-fill-active:rgb(23 16 8 / 0.658823529412);--button-fill:var(--button-role-fill-rest);--button-shadow:inset 0 2px 5px #08040070,0 1px 0 #ffe7b126;--button-layer-three-rest:rgb(23 16 8 / 0.219607843137);--button-layer-three-active:rgb(23 16 8 / 0.658823529412);--button-layer-seven-rest:linear-gradient(180deg,rgb(244 217 160 / 0.043137254902),rgb(23 16 8 / 0.133333333333));--button-layer-seven-active:linear-gradient(180deg,rgb(244 217 160 / 0.129411764706),rgb(23 16 8 / 0.4));--button-layer-three:var(--button-layer-three-rest);--button-layer-seven:var(--button-layer-seven-rest);--button-layer-mix:0.5;--button-layer-border:0.24}
html body [data-feedback-role="project-link"]{--button-radius:8px;--button-border:0.24;--button-material-mode:3;--button-role-fill-rest:rgb(23 16 8 / 0.219607843137);--button-role-fill-active:rgb(23 16 8 / 0.658823529412);--button-fill:var(--button-role-fill-rest);--button-shadow:inset 0 2px 5px #08040070,0 1px 0 #ffe7b126;--button-layer-three-rest:rgb(23 16 8 / 0.219607843137);--button-layer-three-active:rgb(23 16 8 / 0.658823529412);--button-layer-seven-rest:linear-gradient(180deg,rgb(244 217 160 / 0.043137254902),rgb(23 16 8 / 0.133333333333));--button-layer-seven-active:linear-gradient(180deg,rgb(244 217 160 / 0.129411764706),rgb(23 16 8 / 0.4));--button-layer-three:var(--button-layer-three-rest);--button-layer-seven:var(--button-layer-seven-rest);--button-layer-mix:0.5;--button-layer-border:0.24}
@media(hover:hover) and (pointer:fine){html body [data-feedback-role="menu"]:hover:not(:disabled):not([aria-disabled="true"]):not([aria-busy="true"]),html body [data-feedback-role="return"]:hover:not(:disabled):not([aria-disabled="true"]):not([aria-busy="true"]),html body [data-feedback-role="category"]:hover:not(:disabled):not([aria-disabled="true"]):not([aria-busy="true"]),html body [data-feedback-role="project-link"]:hover:not(:disabled):not([aria-disabled="true"]):not([aria-busy="true"]){--button-fill:var(--button-role-fill-active);--button-layer-three:var(--button-layer-three-active);--button-layer-seven:var(--button-layer-seven-active)}}
html body [data-feedback-role="menu"]:is(:focus-visible,[data-pressed]):not(:disabled):not([aria-disabled="true"]):not([aria-busy="true"]),html body [data-feedback-role="return"]:is(:focus-visible,[data-pressed]):not(:disabled):not([aria-disabled="true"]):not([aria-busy="true"]),html body [data-feedback-role="category"]:is(:focus-visible,[data-pressed]):not(:disabled):not([aria-disabled="true"]):not([aria-busy="true"]),html body [data-feedback-role="project-link"]:is(:focus-visible,[data-pressed]):not(:disabled):not([aria-disabled="true"]):not([aria-busy="true"]){--button-fill:var(--button-role-fill-active);--button-layer-three:var(--button-layer-three-active);--button-layer-seven:var(--button-layer-seven-active)}
html body.portrait-page #home-section .buttons-component{gap:6px}
html body.portrait-page #home-section .buttons-component>li{margin:0!important}
html body.portrait-page #home-section .buttons-component>li>a[data-feedback-role="menu"]{font-size:26px;line-height:1.3;--navigation-face-block:9px;--navigation-face-inline:18px;--navigation-hit-inline:10px;min-width:48px;min-height:48px!important}
@media(max-width:980px){html body.portrait-page #home-section .buttons-component>li>a[data-feedback-role="menu"]{font-size:24px}}
@media(max-width:640px){html body.portrait-page #home-section .buttons-component>li>a[data-feedback-role="menu"]{font-size:20px}}
:root{--home-menu-block:284px}
@media(max-height:500px) and (orientation:landscape){html body.portrait-page #home-section .buttons-component{gap:6px 24px}}
html body [data-feedback-role="menu"],html body [data-feedback-role="return"],html body [data-feedback-role="category"],html body [data-feedback-role="project-link"]{--button-material-initialized:1}
html body [data-button-material="blend"]>:is(.control-label,.control-foreground)::before{content:none!important}
html body [data-feedback-role] .button-material-blend{display:block;position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:-2;isolation:isolate}
html body [data-feedback-role] .button-material-layer{display:block;position:absolute;inset:0;box-sizing:border-box;border:1px solid;border-radius:inherit;pointer-events:none;transition:background var(--button-hover-duration) ease}
html body [data-feedback-role] .button-material-seven{opacity:calc(1 - var(--button-layer-mix));border-color:rgb(244 217 160 / calc(var(--button-layer-border)*.25));background:var(--button-layer-seven);box-shadow:0 2px 5px #08040055,inset 0 1px 0 #ffe9bd20}
html body [data-feedback-role] .button-material-three{opacity:var(--button-layer-mix);border-color:rgb(244 217 160 / var(--button-layer-border));background:var(--button-layer-three);box-shadow:inset 0 2px 5px #08040070,0 1px 0 #ffe7b126}
@supports(mix-blend-mode:plus-lighter){html body [data-feedback-role] .button-material-layer{mix-blend-mode:plus-lighter}}
html body [data-button-material="blend"][aria-current="location"] .button-material-blend::after{content:"";position:absolute;z-index:1;inset:auto 0 0;height:2px;background:#f4d9a0;border-radius:inherit}
@media(prefers-reduced-motion:reduce){html body [data-feedback-role] .button-material-layer{transition:none!important}}
/* Categories are one continuous navigation instrument, with a single outer rim. */
html body.portrait-page #works-section .works-index{gap:0;border-radius:14px}
html body.portrait-page #works-section .works-index>a[data-feedback-role="category"]{--navigation-hit-inline:6px;--button-shadow:none;--interaction-scale:1.025;--interaction-press:0.97;--category-tile:transparent;--category-marker:none}
html body.portrait-page #works-section .works-index>a[data-feedback-role="category"]>.control-foreground::before{border:0!important;background:var(--category-tile)!important;box-shadow:var(--category-marker)!important}
html body.portrait-page #works-section .works-index>a[data-feedback-role="category"] .button-material-blend{display:none}
html body.portrait-page #works-section .works-index>a[data-feedback-role="category"]+a::after{content:"";position:absolute;left:0;top:16px;bottom:16px;width:1px;background:rgb(244 217 160 / 0.08);pointer-events:none}
html body.portrait-page #works-section .works-index>a[data-feedback-role="category"][aria-current="location"]{--category-tile:rgb(244 217 160 / .08);--category-marker:inset 0 -2px 0 #f4d9a0}
@media(hover:hover) and (pointer:fine){html body.portrait-page #works-section .works-index>a[data-feedback-role="category"]:hover{--category-tile:rgb(244 217 160 / .07)}}
html body.portrait-page #works-section .works-index>a[data-feedback-role="category"]:focus-visible>.control-foreground{outline-offset:-2px!important}
/* END GENERATED BUTTON DESIGN */

/* Preserve the existing mobile portrait's 85% window and its 7.5/11/89/92.5
   feather. The canvas owns those pixels only after a successful draw. */
.portrait-background[data-quiet-depth-frame="portrait"]>.portrait-quiet-depth{
 inset:7.5% 0 auto!important;height:85%!important;
 -webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 4.1176470588%,#000 95.8823529412%,transparent 100%);
 mask-image:linear-gradient(to bottom,transparent 0%,#000 4.1176470588%,#000 95.8823529412%,transparent 100%)
}
/* Same neutral1.024 crop as the shader inside the existing85% framing. */
.portrait-background[data-quiet-depth-frame="portrait"]::after{background-size:auto 87.04%!important}
.portrait-background[data-quiet-depth-frame="portrait"][data-quiet-depth-state="ready"]::after{visibility:hidden}

/* Shop additions: policy pages and footer, checkout form, order page. Same tokens as the contact form. */
body.shop-page .shop-policy-footer{margin:var(--shop-space-section,32px) 0 0;padding:8px 0 0;border-top:1px solid rgba(244,217,160,.16)}
body.shop-page .shop-policy-footer nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0 1.5rem}
body.shop-page .shop-policy-footer a{display:inline-flex;align-items:center;min-height:44px;font:13px/1.5 'Pixelify Sans',sans-serif;color:#f4d9a0;opacity:.85;text-decoration:none;text-underline-offset:.3em}
body.shop-page .shop-policy-footer a:hover,body.shop-page .shop-policy-footer a:focus-visible{opacity:1;text-decoration:underline}
body.shop-page .shop-policy-footer a:focus-visible{outline:1px solid currentColor;outline-offset:4px;border-radius:2px}
body.shop-page .shop-policy-main{max-width:850px;margin-inline:auto}
body.shop-page .shop-policy-article{font:16px/1.7 'Pixelify Sans',sans-serif;overflow-wrap:anywhere;color:#f4d9a0}
body.shop-page .shop-policy-article h1{font-size:clamp(28px,5vw,40px);line-height:1.2;margin:0 0 24px}
body.shop-page .shop-policy-article h2{font-size:22px;line-height:1.4;margin:28px 0 12px}
body.shop-page .shop-policy-article h3{font-size:18px;line-height:1.4;margin:24px 0 8px}
body.shop-page .shop-policy-article p,body.shop-page .shop-policy-article ul{margin:0 0 16px}
body.shop-page .shop-policy-article ul{padding-left:24px}
body.shop-page .shop-policy-article li+li{margin-top:8px}
body.shop-page .shop-policy-article a{color:inherit;text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px}
@media(max-width:640px){body.shop-page .shop-policy-footer nav{gap:0 1.2rem}}

.shop-checkout{margin:20px 0 0;text-align:left}
.shop-checkout[hidden]{display:none}
.shop-checkout>.inner{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}
.shop-checkout .field{margin:0;min-width:0}
.shop-checkout .field.wide,.shop-checkout .field[data-field=address1]{grid-column:1/-1}
.shop-checkout .field[hidden]{display:none}
.shop-checkout .contact-label{display:block;font-size:14px;line-height:1.5;margin-bottom:8px;text-shadow:0 1px 3px #000}
.shop-checkout :is(input,select){box-sizing:border-box;width:100%;height:49px;font:inherit;font-size:17px;line-height:1.5;color:var(--readable-ink,#fff3dc);border:1px solid #f4d9a052;border-radius:9px;background:#110c081f;padding:12px 14px;box-shadow:none;-webkit-appearance:none;appearance:none}
.shop-checkout select{background-image:linear-gradient(45deg,transparent 50%,#f4d9a0 50%),linear-gradient(135deg,#f4d9a0 50%,transparent 50%);background-position:calc(100% - 20px) 21px,calc(100% - 15px) 21px;background-size:5px 5px;background-repeat:no-repeat;padding-right:36px}
.shop-checkout select option{background:#1b1510;color:#fff3dc}
.shop-checkout :is(input,select):focus{outline:2px solid #f4d9a0;outline-offset:3px;background:#110c083d;border-color:#f4d9a0}
.shop-checkout .invalid :is(input,select){border-color:#ff9c86}
.shop-checkout .invalid .contact-label{color:#ffb4a3}
.shop-checkout .actions,.shop-checkout-pay{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0 0}
.shop-checkout-pay[hidden],.shop-checkout-totals[hidden],.shop-checkout .actions [hidden]{display:none}
.shop-checkout .contact-status{margin:12px 0 0;font-size:14px;max-width:60ch}
.shop-checkout .contact-status:empty{display:none}
.shop-checkout-totals{margin:18px 0 0}
.shop-checkout-totals .shop-total{font-weight:600}
.shop-checkout-note{margin:16px 0 0;font-size:13px;opacity:.8}
.shop-checkout[aria-busy] button{cursor:progress}
.shop-order .shop-order-status{font-size:18px;margin:0 0 18px}
@media(max-width:640px){.shop-checkout>.inner{grid-template-columns:1fr}.shop-checkout :is(input,select){font-size:16px}}
[data-checkout] [hidden],.shop-checkout-start[hidden]{display:none!important}
