:root{--paper:#e9e5dc;--ink:#242520;--faint:#807a71;--hair:#c7bfb3;--sheet:#f7f5ef;--deep:#343c36;--ease:cubic-bezier(.22,.8,.23,1)}
*,*::before,*::after{box-sizing:border-box}
html{height:100%;scroll-behavior:smooth}
body{margin:0;min-height:100%;overflow:hidden;background:var(--paper);color:var(--ink);font-family:"Helvetica Neue",Arial,"Liberation Sans",sans-serif;-webkit-font-smoothing:antialiased}
button,input,textarea{font:inherit}
button{cursor:pointer}
a{color:inherit}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #53665c;outline-offset:4px}
[hidden]{display:none!important}
::selection{background:#b6c0b6;color:#111}
.grain{pointer-events:none;position:fixed;inset:0;z-index:22;opacity:.34;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.68' numOctaves='3' seed='8' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.31'/%3E%3C/svg%3E");background-size:160px 160px}
.ambient-light{pointer-events:none;position:fixed;inset:-12%;z-index:1;background:radial-gradient(ellipse 58% 55% at 42% 38%,rgba(255,253,248,.9),transparent 80%),radial-gradient(ellipse at 90% 90%,rgba(161,149,129,.18),transparent 60%)}
.experience{height:100svh;position:relative;overflow:hidden;isolation:isolate}
.experience::before{content:"";position:absolute;z-index:0;inset:20px;border:1px solid rgba(65,58,48,.14);pointer-events:none}
.top-identity{position:absolute;z-index:17;top:43px;left:53px;display:flex;align-items:flex-end;gap:22px}
.brand-word{border:0;background:none;text-align:left;color:var(--ink);font-family:Georgia,"Times New Roman",serif;font-size:clamp(21px,2.1vw,34px);line-height:1.05;letter-spacing:-.055em;font-weight:400;padding:0}
.brand-word span{font-style:italic}
.top-identity p{margin:0 0 3px;padding-left:17px;border-left:1px solid var(--hair);color:#736d63;font-size:11px;line-height:1.2;letter-spacing:.045em}
.floating-actions{position:absolute;z-index:17;top:44px;right:56px;display:flex;align-items:center;gap:10px}
.action-button{background:rgba(245,242,235,.8);color:#383931;border:1px solid #c9c3b8;border-radius:2px;padding:13px 19px;font-size:12px;letter-spacing:.018em;backdrop-filter:blur(9px);transition:background .3s,transform .3s,border-color .3s}
.action-button span{margin-left:18px}
.action-button--dark{background:#303832;color:#f8f7f2;border-color:#303832}
.action-button:hover{transform:translateY(-3px);background:#faf8f1;border-color:#817a6e}
.action-button--dark:hover{background:#4a554b;color:#fff}
.gallery-stage{position:absolute;inset:0;z-index:2;overflow:hidden;cursor:grab;touch-action:none}
.gallery-stage.is-grabbing{cursor:grabbing}
.gallery-world{position:absolute;top:0;left:0;width:2420px;height:1330px;transform:translate3d(0,0,0);will-change:transform;user-select:none;-webkit-user-select:none;}
.editorial-title{position:absolute;left:365px;top:200px;z-index:1;pointer-events:none}
.handline{display:block;font-family:Georgia,"Times New Roman",serif;font-size:clamp(80px,9vw,146px);line-height:.96;letter-spacing:-.075em;font-weight:400;white-space:nowrap}
.handline--second{font-style:italic;margin-left:49px}
.title-underline{width:555px;height:65px;margin-left:150px;margin-top:9px;stroke:#746d62;stroke-width:1.25;opacity:.56;stroke-linecap:round}
.scene-note{position:absolute;font-family:Georgia,"Times New Roman",serif;font-style:italic;color:#5d5a54;font-size:19px;pointer-events:none}
.scene-note--a{left:445px;top:565px;transform:rotate(-5deg)}
.scene-note--b{left:1530px;top:140px;font-size:17px;transform:rotate(3deg)}
.scene-note--c{left:55px;top:205px;font-size:15px;transform:rotate(-7deg)}
.scene-note--d{left:1740px;top:1130px;font-size:20px;transform:rotate(-2deg)}
.world-line{position:absolute;pointer-events:none;stroke:#6d6558;stroke-width:1.25;opacity:.46;stroke-linecap:round}
.line-a{left:590px;top:640px;width:220px}
.line-b{left:1230px;top:60px;width:275px}
.line-c{left:2000px;top:930px;width:180px}
.drawing-sheet{position:absolute;border:0;background:var(--sheet);color:var(--ink);padding:11px;box-shadow:1px 3px 3px #766d5f19,5px 15px 28px #766d5f2b,18px 35px 80px #766d5f1b;transition:box-shadow .6s var(--ease),filter .6s var(--ease),scale .6s var(--ease);text-align:left;overflow:hidden;cursor:pointer;touch-action:none;will-change:scale}
.drawing-sheet::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg width='180' height='180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' seed='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.14'/%3E%3C/svg%3E");mix-blend-mode:multiply;opacity:.47;z-index:2}
.drawing-sheet:hover{scale:1.045;box-shadow:1px 6px 8px #5d55431f,5px 24px 58px #70675536,20px 55px 100px #766d5f18;z-index:10;filter:brightness(1.012)}
.drawing-sheet:focus-visible{outline-offset:6px;outline:2px solid #53665c}
.sheet-inner{height:100%;display:flex;flex-direction:column;gap:11px}
.drawing-placeholder{position:relative;display:grid;place-items:center;flex:1;min-height:0;border:1px solid #c8c2b7;background:radial-gradient(circle at 50% 44%,#f9f8f4 0%,#f0ede5 100%);overflow:hidden}
.drawing-placeholder::before,.drawing-placeholder::after{content:"";position:absolute;pointer-events:none}
.drawing-placeholder::before{inset:11px;border:1px solid #dedad1}
.drawing-placeholder::after{width:70%;height:80%;background:repeating-linear-gradient(-31deg,transparent 0px,transparent 7px,rgba(112,101,84,.027) 8px,transparent 9px);border-radius:50%;transform:rotate(8deg)}
.drawing-word{position:relative;z-index:2;font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:clamp(29px,3vw,47px);white-space:nowrap;letter-spacing:-.06em;color:#4d4b45;transform:rotate(-7deg);text-shadow:1px 1px 0 #ded8cd}
.drawing-word i{font-style:normal;font-size:.72em;vertical-align:super;margin-left:2px}
.ghost-mark{position:absolute;font-family:Georgia,serif;font-size:220px;letter-spacing:-.12em;opacity:.035;line-height:1;z-index:1}
.corner-mark{width:18px;height:18px;position:absolute;border-color:#989185;opacity:.7}
.corner-mark--tl{top:23px;left:23px;border-top:1px solid;border-left:1px solid}
.corner-mark--br{bottom:23px;right:23px;border-bottom:1px solid;border-right:1px solid}
.sheet-bottom{display:flex;justify-content:space-between;align-items:center;font-family:Georgia,serif;color:#6b665d;font-size:13px;padding:3px 3px 2px}
.sheet-bottom span:last-child span{padding-left:10px}
.sheet-1{left:1072px;top:147px;width:322px;height:407px;transform:rotate(6deg)}
.sheet-2{left:92px;top:327px;width:262px;height:363px;transform:rotate(-10deg)}
.sheet-3{left:820px;top:744px;width:282px;height:382px;transform:rotate(-5deg)}
.sheet-4{left:1530px;top:304px;width:348px;height:438px;transform:rotate(7deg)}
.sheet-5{left:1985px;top:633px;width:278px;height:368px;transform:rotate(-8deg)}
.sheet-6{left:370px;top:849px;width:280px;height:367px;transform:rotate(8deg)}
.sheet-7{left:2050px;top:124px;width:245px;height:342px;transform:rotate(-5deg)}
.sheet-8{left:1355px;top:872px;width:284px;height:370px;transform:rotate(-4deg)}
.last-whisper{position:absolute;left:1590px;top:791px;font-family:Georgia,serif;font-size:73px;line-height:1.05;letter-spacing:-.06em;opacity:.85;transform:rotate(-4deg)}
.last-whisper em{display:block;margin-left:62px}
.bottom-controls{position:absolute;z-index:18;bottom:73px;left:53px;right:53px;display:flex;justify-content:space-between;align-items:flex-end;pointer-events:none}
.bottom-controls>*{pointer-events:auto}
.wander-controls{display:flex;gap:12px;align-items:center;background:rgba(239,236,228,.88);border:1px solid #bdb6a9;padding:10px 12px;backdrop-filter:blur(10px)}
.wander-instruction{font-family:Georgia,serif;font-style:italic;font-size:15px;padding:0 11px 0 4px;white-space:nowrap}
.control-pair{display:flex;gap:5px}
.control-pair button,.viewer-controls button{border:1px solid #c5bdb0;background:transparent;width:39px;height:36px;color:var(--ink);font-size:20px;transition:background .2s}
.control-pair button:hover,.viewer-controls button:hover{background:#d7d1c4}
.index-trigger{border:0;border-left:1px solid #bcb3a6;background:transparent;padding:7px 5px 7px 16px;font-size:12px;color:var(--ink);white-space:nowrap}
.index-trigger span{padding-left:8px}
.social-corner{display:flex;gap:23px;align-items:center;padding-bottom:13px}
.social-corner a{font-size:12px;text-decoration:none;border-bottom:1px solid #a8a093;padding-bottom:4px;transition:color .2s,border-color .2s}
.social-corner a:hover{color:#55665b;border-color:#55665b}
.prototype-footnote{position:absolute;z-index:18;left:53px;bottom:28px;margin:0;color:#787168;font-size:10px;letter-spacing:.025em;pointer-events:none}
/* Cinematic arrival, without an obstructive intro screen */
@keyframes appear{from{opacity:0;translate:0 16px;filter:blur(5px)}to{opacity:1;translate:0 0;filter:blur(0)}}
@keyframes softlyEnter{from{opacity:0;scale:.96}to{opacity:1;scale:1}}
.editorial-title{animation:appear 1.5s .18s both var(--ease)}
.drawing-sheet{animation:softlyEnter 1.5s .32s both var(--ease)}
.sheet-2{animation-delay:.47s}.sheet-3{animation-delay:.59s}.sheet-4{animation-delay:.73s}
.top-identity,.floating-actions,.bottom-controls{animation:appear 1.2s .3s both var(--ease)}
/* Overlay experiences */
.scrim{position:fixed;inset:0;background:rgba(28,28,25,.55);z-index:29;backdrop-filter:blur(7px)}
.side-panel{position:fixed;z-index:31;right:0;top:0;bottom:0;width:min(780px,100vw);background:#f2efe7;overflow-y:auto;box-shadow:-25px 0 100px #1718164d;animation:panelIn .62s var(--ease) both;isolation:isolate}
.side-panel::before,.art-viewer::before{content:"";pointer-events:none;position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg width='170' height='170' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.77' numOctaves='3' seed='9'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.14'/%3E%3C/svg%3E");opacity:.38;mix-blend-mode:multiply;z-index:-1}
@keyframes panelIn{from{translate:60px 0;opacity:0}to{translate:0 0;opacity:1}}
.panel-close{position:sticky;top:32px;float:right;margin-right:37px;z-index:5;background:transparent;border:1px solid #b8b1a5;color:#3c3d36;width:43px;height:43px;font-family:Arial,sans-serif;font-size:27px;line-height:1}
.panel-close:hover{background:#ded9ce}
.panel-copy{padding:clamp(95px,12vh,140px) clamp(30px,7vw,88px) 70px;max-width:790px}
.panel-script{font-family:Georgia,serif;font-style:italic;color:#737166;font-size:18px;margin:0 0 20px}
.panel-copy h2{font-family:Georgia,serif;font-size:clamp(54px,6.4vw,90px);line-height:1;letter-spacing:-.073em;font-weight:400;margin:0 0 27px}
.panel-copy h2 em{font-weight:400}
.panel-copy>p:not(.panel-script),.panel-copy--studio>p:not(.panel-script){max-width:490px;font-family:Georgia,serif;font-size:21px;line-height:1.55;color:#514c44}
.panel-copy .disclosure,.disclosure{font-family:Arial,sans-serif!important;color:#716a61!important;font-size:12px!important;line-height:1.65!important}
.pencil-rule{width:180px;height:1px;background:#837a6e;transform:rotate(-3deg);margin:48px 0 50px}
.panel-side-art{position:absolute;z-index:-1;right:-120px;bottom:-120px;color:#c2b6a2;opacity:.35}
.panel-side-art span{font:italic 310px Georgia,serif;position:absolute;right:110px;bottom:120px}
.panel-side-art svg{width:440px;stroke:#565248;stroke-width:1.5}
.underlined-action{border:0;border-bottom:1px solid #5e5d53;background:none;padding:12px 0 9px;font-size:13px;color:var(--ink);text-align:left}
.underlined-action span{padding-left:20px}
.underlined-action:hover{color:#55665b}
.commission-form{display:flex;flex-direction:column;gap:13px;margin-top:32px;max-width:490px}
.commission-form label{font-size:12px;color:#5a5950;margin:9px 0 0}
.commission-form input,.commission-form textarea{background:#faf8f3;border:1px solid #c9c1b5;padding:15px 17px;color:#282b24;outline-offset:2px;border-radius:0;width:100%;resize:vertical;font-size:14px;line-height:1.5}
.commission-form input:focus,.commission-form textarea:focus{border-color:#66786c}
.submit-enquiry{align-self:flex-start;margin-top:17px;border:1px solid #28332c;background:#303a31;padding:17px 23px;color:#f8f6f1;font-size:13px;transition:background .25s}
.submit-enquiry:hover{background:#4e604f}
.submit-enquiry span{padding-left:30px}
.enquiry-result{max-width:520px;margin-top:30px}
.enquiry-result h3{font:italic 34px Georgia,serif}
.enquiry-result pre{font:13px/1.55 monospace;white-space:pre-wrap;overflow-wrap:anywhere;background:#f8f6f0;border:1px solid #cfc6ba;padding:24px}
.drawing-index{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:45px}
.drawing-index button{background:transparent;border:1px solid #bcb5aa;display:flex;gap:15px;align-items:center;padding:24px 17px;text-align:left;font:italic 25px Georgia,serif;transition:background .2s}
.drawing-index button span{font:12px Arial,sans-serif;color:#716b60}
.drawing-index button:hover{background:#e7e1d7}
.art-viewer{position:fixed;z-index:35;inset:0;background:#e9e5dc;overflow-y:auto;animation:viewerIn .5s var(--ease)}
@keyframes viewerIn{from{opacity:0}to{opacity:1}}
.viewer-close{position:fixed;right:37px;top:31px;z-index:5;border:1px solid #a7a093;background:#e9e5dc;padding:12px 19px;color:#38372f;font-size:13px}
.viewer-arrangement{min-height:100svh;display:grid;grid-template-columns:minmax(300px,1.2fr) minmax(300px,.8fr);align-items:center;gap:clamp(50px,7vw,130px);padding:70px clamp(28px,8vw,130px)}
.viewer-art{padding:13px;background:#f8f6f0;box-shadow:12px 25px 75px #423b2a38;transform:rotate(-1.5deg);max-width:650px;width:100%;height:min(75vh,710px);margin:auto}
.viewer-placeholder{position:relative;height:100%;border:1px solid #cdc7bb;background:radial-gradient(circle,#faf9f5,#f0ede7);display:grid;place-items:center;overflow:hidden}
.viewer-placeholder::before{content:"";position:absolute;inset:19px;border:1px solid #e0dbd1}
.viewer-placeholder>span:first-child{position:relative;z-index:2;font:italic clamp(38px,5.2vw,80px) Georgia,serif;letter-spacing:-.07em;transform:rotate(-5deg)}
.viewer-ghost{position:absolute;font:300px Georgia,serif;opacity:.034}
.viewer-caption>p:first-child{font:italic 19px Georgia,serif}
.viewer-caption h3{font:400 clamp(64px,7vw,112px)/.9 Georgia,serif;letter-spacing:-.09em;margin:27px 0 30px}
.viewer-caption>p:not(:first-child){font:20px/1.5 Georgia,serif;max-width:360px;color:#655f53}
.viewer-controls{display:flex;align-items:center;gap:20px;margin:65px 0 24px}
.viewer-controls span{font-size:12px;letter-spacing:.08em;color:#777066}
.demo-toast{position:fixed;bottom:35px;left:50%;translate:-50% 14px;z-index:50;background:#303a31;color:#fff;padding:16px 25px;box-shadow:0 18px 50px #30302b47;font-size:13px;line-height:1.4;min-width:min(380px,calc(100vw - 32px));max-width:95vw;text-align:center;opacity:0;pointer-events:none;transition:opacity .3s,translate .3s}
.demo-toast.is-visible{opacity:1;translate:-50% 0}
@media(min-width:1800px){.gallery-world{width:2700px}.editorial-title{left:405px}.sheet-1{left:1210px}}
/* Keep ambient illumination behind the actual exhibition, never over its typography. */
.ambient-light{z-index:0}
.experience{z-index:1}


/* Version 3 · rose-tinted paper / touch-first cinematic gallery */
:root{
  --paper:#f1e9e6;--ink:#302a2a;--faint:#8c777b;--hair:#d7bdc2;
  --sheet:#fffaf8;--deep:#3a3133;--rose:#ac6d80;--rose-soft:#edd8dc;
  --light-x:50%;--light-y:48%;--journey:0;
}
body{background:var(--paper)}
::selection{background:#ecc9d5;color:#33232b}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline-color:#a35372}
.grain{opacity:.27}
.ambient-light{
  background:radial-gradient(circle 38vw at var(--light-x) var(--light-y),rgba(255,254,253,.75),transparent 82%),
    radial-gradient(ellipse 38% 54% at 87% 26%,rgba(219,150,169,.27),transparent 80%),
    radial-gradient(ellipse 46% 50% at 8% 92%,rgba(224,180,186,.17),transparent 84%);
  transition:background .25s ease;
}
.paper-bloom{pointer-events:none;position:fixed;inset:-20%;z-index:0;opacity:.3;
  background:radial-gradient(ellipse at 70% 48%,#eabac8 0%,transparent 48%);
  animation:roseBreath 10s ease-in-out infinite alternate}
@keyframes roseBreath{from{transform:translate3d(-1%,1%,0) scale(.97)}to{transform:translate3d(2%,-1%,0) scale(1.07)}}
.experience::before{border-color:rgba(128,77,90,.19)}
.top-identity p{border-left-color:#c59da6;color:#876a72}
.brand-word span{color:#945b6e}
.floating-actions .action-button{border-color:#d4b7c0;background:#fdf7f6d9}
.floating-actions .action-button--dark{background:#59444e;border-color:#59444e;color:#fff8f7}
.floating-actions .action-button--dark:hover{background:#845d6d;color:#fff}
.handline--second{color:#855567}
.title-underline{stroke:#bb8391;opacity:.88}
.title-underline path{stroke-dasharray:780;stroke-dashoffset:780;animation:drawPencil 2.5s .6s ease-out forwards}
@keyframes drawPencil{to{stroke-dashoffset:0}}
.pencil-flower{position:absolute;left:1730px;top:100px;width:195px;height:235px;stroke:#ad7586;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;opacity:.64;pointer-events:none;transform:rotate(-14deg)}
.pencil-flower path{stroke-dasharray:800;stroke-dashoffset:800;animation:drawPencil 3.8s .8s ease-out forwards}
.pencil-flower circle{stroke-dasharray:100;stroke-dashoffset:100;animation:drawPencil 1.5s 2.0s ease-out forwards}
.world-line{stroke:#ab8792;opacity:.56}
.scene-note{color:#8a6876}
.drawing-sheet{background:#fdf9f7;box-shadow:1px 4px 3px #80545e13,5px 16px 32px #915f7029,18px 40px 90px #916a721a}
.drawing-sheet:hover,.drawing-sheet:focus-visible{box-shadow:2px 6px 14px #85505d2b,6px 24px 64px #9c5b7130,22px 60px 110px #94616c1a}
.drawing-placeholder{border-color:#d5bfc3;background:radial-gradient(circle at 46% 36%,#fffefb,#f8f0ef 75%,#f4e8e9)}
.drawing-placeholder::before{border-color:#e2cdd1}
.drawing-placeholder::after{background:repeating-linear-gradient(-31deg,transparent 0px,transparent 7px,rgba(150,80,107,.035) 8px,transparent 9px)}
.drawing-word{color:#584249;text-shadow:1px 1px 0 #f2e0e4}
.ghost-mark{color:#b47c8d;opacity:.075}
.corner-mark{border-color:#bd8f9c}
.sheet-bottom{color:#86636e}
.sheet-bottom>span:first-child{color:#b07a8a}
.sheet-2,.sheet-6{background:#fcf2f0}.sheet-4,.sheet-8{background:#fbf0f3}
.last-whisper em{color:#9f687b}
.wander-controls{background:#fbf4f1ec;border-color:#d1adb8;box-shadow:0 10px 45px #9b61751a}
.control-pair button,.viewer-controls button{border-color:#d4b3bf}
.control-pair button:hover,.viewer-controls button:hover{background:#f1dce2}
.index-trigger{border-left-color:#d7b5c0}
.social-corner a{border-bottom-color:#c79ba9}
.social-corner a:hover{color:#a15f78;border-bottom-color:#a15f78}
.prototype-footnote{color:#8d6c76}
.scrim{background:rgba(53,32,42,.49)}
.side-panel,.art-viewer{background:#f7eeed}
.panel-close,.viewer-close{border-color:#d1aab7;background:#f9eeee}
.panel-close:hover{background:#efd8df}
.panel-script,.panel-script span{color:#a76b81}
.panel-copy h2 em,.viewer-caption h3{color:#8e5269}
.pencil-rule{background:#bf8194}
.panel-side-art{color:#d6a7b7}
.panel-side-art svg{stroke:#a36f7f}
.underlined-action{border-color:#c08a9b}
.underlined-action:hover{color:#a55b76}
.commission-form input,.commission-form textarea{background:#fffaf8;border-color:#dcc1c9}
.commission-form input:focus,.commission-form textarea:focus{border-color:#aa7285}
.submit-enquiry{background:#59424d;border-color:#59424d}
.submit-enquiry:hover{background:#88586b}
.enquiry-result pre{background:#fffaf8;border-color:#dcc0cb}
.drawing-index button{border-color:#d9b9c2}
.drawing-index button:hover{background:#f2dfe5}
.viewer-placeholder{border-color:#d8b6c2;background:radial-gradient(circle,#fffaf7,#f3e6e7)}
.viewer-placeholder::before{border-color:#e7cbd3}
.viewer-placeholder>span:first-child{color:#694b59}
.viewer-ghost{color:#bd8799;opacity:.075}
.demo-toast{background:#57404e;box-shadow:0 18px 50px #4d2a413d}
.mobile-gallery-guide{display:none}


/* V4: Identical free-roam cinematic canvas for mouse, pen and touch.
   No mobile carousel; no disabled world transform or disabled entrances. */
.gallery-world{transform-origin:0 0}
.zoom-pair{display:flex;gap:3px;border-left:1px solid #d4b0bc;padding-left:9px;margin-left:5px}
.zoom-pair button{width:32px;height:36px;border:1px solid #d4b3bf;color:#634752;background:transparent;font-size:18px;line-height:1;transition:background .2s}
.zoom-pair button:hover,.zoom-pair button:focus-visible{background:#efdae1}
.drawing-sheet.is-current{scale:1.045;filter:brightness(1.025);box-shadow:2px 10px 28px #9c64712c,12px 30px 68px #ab67733f,0 0 0 1px #ddb9c1}
.drawing-sheet.is-current .drawing-word{color:#8c556a}
.drawing-sheet.is-current .corner-mark{border-color:#ac657b}
.mobile-gallery-guide{display:none}
@media(max-width:900px){
  .experience::before{inset:10px}
  .top-identity{top:25px;left:25px;display:block}
  .brand-word{font-size:27px}
  .top-identity p{margin-top:7px;margin-bottom:0;padding:0;border:0;font-size:10px}
  .floating-actions{top:106px;right:22px;gap:8px}
  .action-button{padding:11px 12px;font-size:11px}
  .action-button span{margin-left:7px}
  /* Preserve desktop positioning and transforms: mobile has a viewport into
     the SAME paper world, manipulated with touch rather than scroll-snap. */
  .gallery-stage{overflow:hidden;touch-action:none;overscroll-behavior:contain;cursor:grab;user-select:none;-webkit-user-select:none}
  .gallery-world{position:absolute;top:0;left:0;width:1900px;height:2270px;min-height:0;display:block;padding:0;will-change:transform;transform-origin:0 0}
  .editorial-title{position:absolute;left:105px;top:225px;animation:appear 1.45s .18s both var(--ease)}
  .handline{font-size:79px}
  .handline--second{margin-left:30px}
  .title-underline{width:420px;height:46px;margin-left:65px;margin-top:0}
  .scene-note,.world-line,.last-whisper{display:block}
  .scene-note--a{left:100px;top:1040px}
  .scene-note--b{left:1050px;top:184px}
  .scene-note--c{left:580px;top:530px}
  .scene-note--d{left:1270px;top:1750px}
  .line-a{left:400px;top:1100px}
  .line-b{left:1030px;top:400px}
  .line-c{left:1360px;top:1800px}
  .pencil-flower{left:650px;top:175px;width:160px;height:195px;opacity:.78}
  .last-whisper{left:980px;top:1075px;font-size:77px}
  .drawing-sheet{position:absolute;flex:none;touch-action:none;scroll-snap-align:unset;animation:softlyEnter 1.5s .32s both var(--ease);transition:box-shadow .55s var(--ease),filter .55s var(--ease),scale .55s var(--ease)}
  .sheet-1{left:238px;top:565px;width:320px;height:407px;transform:rotate(6deg)}
  .sheet-2{left:825px;top:270px;width:290px;height:384px;transform:rotate(-8deg)}
  .sheet-3{left:100px;top:1188px;width:290px;height:390px;transform:rotate(-5deg)}
  .sheet-4{left:1300px;top:680px;width:344px;height:445px;transform:rotate(7deg)}
  .sheet-5{left:680px;top:1470px;width:289px;height:378px;transform:rotate(-8deg)}
  .sheet-6{left:1110px;top:1510px;width:300px;height:374px;transform:rotate(8deg)}
  .sheet-7{left:1500px;top:190px;width:255px;height:345px;transform:rotate(-5deg)}
  .sheet-8{left:270px;top:1790px;width:290px;height:380px;transform:rotate(-4deg)}
  .drawing-sheet:active{scale:1.045}
  .drawing-word{font-size:43px}
  .bottom-controls{left:22px;right:22px;bottom:75px;align-items:flex-end;gap:8px}
  .wander-instruction{display:none}
  .wander-controls{padding:6px;gap:5px;box-shadow:0 9px 32px #8c566b26}
  .control-pair{gap:2px}
  .control-pair button{width:34px;height:36px;font-size:18px}
  .zoom-pair button{width:32px;height:36px}
  .index-trigger{padding:7px 4px 7px 8px;line-height:1.15;font-size:11px}
  .index-trigger span{padding:0}
  .social-corner{gap:9px;padding-bottom:8px}
  .social-corner a{font-size:10px}
  .prototype-footnote{left:22px;right:22px;bottom:22px;font-size:9px;white-space:normal}
  .mobile-gallery-guide{position:absolute;display:flex;z-index:17;align-items:center;gap:13px;bottom:147px;left:23px;right:23px;color:#80616d;font-family:Georgia,serif;font-style:italic;font-size:12px;pointer-events:none}
  .guide-progress{flex:1;height:1px;background:#d8afbd;position:relative;overflow:hidden}
  .guide-progress>span{display:block;position:absolute;inset:0;background:#a26078;transform-origin:left;transform:scaleX(.08)}
  #mobileDrawingCounter{font-family:Arial,sans-serif;letter-spacing:.08em;font-style:normal;font-size:10px;white-space:nowrap}
  .viewer-arrangement{grid-template-columns:1fr;gap:38px;padding:100px 30px 45px}
  .viewer-art{height:min(54vh,590px);width:min(90%,420px)}
  .viewer-caption{padding:0 max(0px,calc((100% - 440px)/2))}
  .viewer-caption h3{font-size:68px;margin:15px 0}
  .viewer-controls{margin:25px 0}
  .paper-bloom{opacity:.35;animation:roseBreath 8s ease-in-out infinite alternate}
  .ambient-light{background:radial-gradient(circle 58vw at var(--light-x) var(--light-y),rgba(255,255,253,.84),transparent 83%),radial-gradient(ellipse 85% 70% at 78% 49%,rgba(226,167,182,.3),transparent 84%)}
}
@media(max-width:560px){
  .top-identity{top:18px;left:22px}
  .brand-word{font-size:24px}
  .floating-actions{top:108px;left:22px;right:22px;justify-content:space-between}
  .action-button{font-size:11px;padding:11px 12px}
  .bottom-controls{bottom:72px;align-items:flex-end}
  .wander-controls{padding:5px;gap:2px}
  .index-trigger{font-size:10px;max-width:60px;white-space:normal}
  .control-pair button{width:30px;height:34px}
  .zoom-pair{padding-left:5px;margin-left:2px}
  .zoom-pair button{width:29px;height:34px;font-size:17px}
  .social-corner{display:flex;flex-direction:column;gap:5px;align-items:flex-end;padding-bottom:0}
  .social-corner a{font-size:11px;line-height:1.1;padding-bottom:2px}
  .mobile-gallery-guide{bottom:159px;left:23px;right:23px}
  .prototype-footnote{font-size:9px;bottom:19px}
  .side-panel{width:100vw}
  .panel-close{top:20px;margin-right:24px}
  .panel-copy{padding:105px 26px 70px}
  .panel-copy h2{font-size:58px}
  .panel-copy>p:not(.panel-script),.panel-copy--studio>p:not(.panel-script){font-size:18px}
  .drawing-index{gap:8px}
  .drawing-index button{font-size:20px;padding:16px 10px}
  .viewer-arrangement{padding:93px 20px 40px;gap:25px}
  .viewer-art{height:min(47vh,420px);width:min(86%,350px)}
  .viewer-caption{padding:0 16px}
  .viewer-caption h3{font-size:60px}
  .viewer-caption>p:not(:first-child){font-size:17px}
  .viewer-close{right:18px;top:19px}
}
@media(max-width:360px){
  .brand-word{font-size:21px}
  .social-corner a{font-size:10px}
  .zoom-pair button{width:26px}
  .index-trigger{max-width:48px}
  .mobile-gallery-guide{font-size:11px}
}
@media(max-width:560px) and (max-height:720px){
  .floating-actions{top:85px}
  .bottom-controls{bottom:52px}
  .mobile-gallery-guide{bottom:128px}
  .prototype-footnote{bottom:10px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .paper-bloom{animation:none!important}
  .pencil-flower path,.pencil-flower circle,.title-underline path{animation:none!important;stroke-dashoffset:0!important}
}
