.board-layout .receipt{position:absolute;left:17%;top:34%;width:18%;height:34%;padding:19px 17px 23px;transform:rotate(-2.5deg);transform-origin:50% 46%;background:repeating-linear-gradient(0deg,#f8f2e7 0 3px,#f5eee4 3px 4px,#faf5ec 4px 8px);color:#665950;box-shadow:1px 15px 20px #3e281e70,0 3px 4px #3e281e55;clip-path:polygon(0 0,100% 0,100% 97%,96% 100%,92% 97%,88% 100%,84% 97%,80% 100%,76% 97%,72% 100%,68% 97%,64% 100%,60% 97%,56% 100%,52% 97%,48% 100%,44% 97%,40% 100%,36% 97%,32% 100%,28% 97%,24% 100%,20% 97%,16% 100%,12% 97%,8% 100%,4% 97%,0 100%);font-family:'Courier New',monospace}
.receipt:before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#a28a7630,transparent 13%,transparent 87%,#a28a7626);mix-blend-mode:multiply}
.receipt-head{display:flex;justify-content:space-between;align-items:center;font:italic 28px Georgia,serif;color:#9c665c;text-transform:none}.receipt-head span{font:24px Georgia,serif;color:#b38753}.receipt-sub{margin:4px 0 13px;font-size:11px;letter-spacing:.14em;text-align:center}.receipt-rule{height:1px;border-top:1px dashed #9a897a;margin:12px 0}.receipt-rows{display:grid;gap:11px}.receipt-rows div,.receipt-total{display:flex;justify-content:space-between;gap:8px;font-size:12px;white-space:nowrap}.receipt-rows b{font-weight:600}.receipt-total{align-items:flex-end}.receipt-total strong{font-size:10px;letter-spacing:.03em}.receipt-foot{margin-top:18px;text-align:center;font:italic 11px/1.5 Georgia,serif;color:#a36a5c}
.board-layout .photo-client{left:37%;top:34%;width:23%;height:39%;--tilt:-2.5deg}.board-layout .photo-device{left:62%;top:34%;width:23%;height:39%;--tilt:2.5deg}
.pin-receipt{left:26%;top:50%}.pin-client{left:48.5%;top:53%}.pin-device{left:73.5%;top:53%}
.board-layout .board-note{left:31%;top:75%;width:46%;padding:8px 14px;background:linear-gradient(130deg,#fff6df,#ffead0);border:1px solid #a96e55;border-radius:4px;box-shadow:0 5px 12px #4d2c1970;color:#78412f;text-shadow:0 1px #fff6e3;text-align:center;font:italic 700 clamp(16px,1.55vw,23px) Georgia,serif;white-space:nowrap;transform:rotate(-1deg)}.board-note span{color:#ad704c;font-style:normal;margin:0 5px}
.map-metro{position:absolute;z-index:3;left:10%;top:47%;display:inline-flex;align-items:center;gap:4px;padding:3px 5px;border-radius:3px;background:#fff9eccf;color:#8c442e;font:700 11px/1.1 Georgia,serif;box-shadow:0 1px 4px #4b332744}.map-metro span{font-size:17px;color:#c64935}
.ornament{position:absolute;pointer-events:none;filter:drop-shadow(0 2px 1px #40271b55);opacity:.9}.ornament-left{left:15%;top:9%;width:8%;height:19%;transform:rotate(-18deg)}.ornament-right{left:78.5%;top:56%;width:8%;height:17%;transform:scaleX(-1) rotate(-12deg)}.doodle-heart{position:absolute;z-index:0;color:#ad665d;font:52px/1 Georgia,serif;text-shadow:1px 1px #e0b19e,-1px -1px #6b4335;opacity:.9;pointer-events:none}.heart-one{left:17%;top:27%;transform:rotate(-19deg)}.heart-two{left:55%;top:27%;font-size:44px;transform:rotate(17deg)}.heart-three{left:35%;top:57%;font-size:37px;transform:rotate(-9deg)}
.date-pin{position:absolute;z-index:2;left:50%;top:60%;width:18px;height:28px;transform:translateX(-50%) rotate(-18deg);transform-origin:50% 100%;transition:left .8s cubic-bezier(.2,.9,.2,1.15),top .8s cubic-bezier(.2,.9,.2,1.15);filter:drop-shadow(2px 3px 2px #4f322d99);pointer-events:none}.date-pin:before{content:'';position:absolute;z-index:1;left:4px;top:0;width:12px;height:12px;border-radius:50%;background:radial-gradient(circle at 33% 28%,#fff6df 0 14%,#d7ad72 32%,#9a6547 74%,#5c342b 100%);border:1px solid #704735}.date-pin:after{content:'';position:absolute;left:9px;top:9px;width:2px;height:19px;background:linear-gradient(#a78360,#5a5756 65%,#d4ccbc 88%,#514943);clip-path:polygon(0 0,100% 0,100% 83%,50% 100%,0 83%)}
.pin{transform-origin:50% 46%;will-change:transform}.pin.is-pressed{animation:pin-press .48s cubic-bezier(.18,.8,.24,1)}@keyframes pin-press{0%{transform:translate(-50%,-43%) scale(1)}35%{transform:translate(-50%,-37%) scale(.91)}65%{transform:translate(-50%,-46%) scale(1.04)}100%{transform:translate(-50%,-43%) scale(1)}}
.photo.is-pinned-hover,.receipt.is-pinned-hover,.paper-map.is-pinned-hover{filter:brightness(1.04)}.photo.is-pinned-hover{transform:rotate(calc(var(--tilt) + 1.2deg)) translateY(2px)}.receipt.is-pinned-hover{transform:rotate(-1.2deg) translateY(2px)}.photo,.receipt,.paper-map{transition:transform .55s cubic-bezier(.18,.8,.25,1.15),filter .3s}.photo.is-pinned-wiggle{animation:photo-wiggle .8s cubic-bezier(.15,.8,.22,1)}.receipt.is-pinned-wiggle{animation:receipt-wiggle .8s cubic-bezier(.15,.8,.22,1)}.paper-map.is-pinned-wiggle{animation:map-wiggle .8s cubic-bezier(.15,.8,.22,1)}@keyframes photo-wiggle{0%,100%{transform:rotate(var(--tilt))}20%{transform:rotate(calc(var(--tilt) + 2.8deg)) translateY(4px)}48%{transform:rotate(calc(var(--tilt) - 1.5deg))}72%{transform:rotate(calc(var(--tilt) + .6deg))}}@keyframes receipt-wiggle{0%,100%{transform:rotate(-2.5deg)}20%{transform:rotate(1.2deg) translateY(5px)}48%{transform:rotate(-4.1deg)}72%{transform:rotate(-1.8deg)}}@keyframes map-wiggle{0%,100%{transform:rotate(-3deg)}20%{transform:rotate(-.5deg) translateY(3px)}50%{transform:rotate(-4.5deg)}75%{transform:rotate(-2.5deg)}}
.info-content .price-note{padding:10px 12px;background:#f4e7d8;border-left:3px solid #ad765e}.info-content .price-list{display:grid;gap:1px;margin:12px 0;background:#d8c4ae}.info-content .price-row{display:flex;justify-content:space-between;gap:20px;padding:10px 12px;background:#fff9f2}.info-content .price-row small{display:block;font-size:12px;color:#7d675c}.info-content .price-row strong{white-space:nowrap;color:#7b4d40}
@media(max-width:600px){.board-layout .receipt{left:5%;top:34%;width:29%;height:34%;padding:11px 8px 17px}.receipt-head{font-size:16px}.receipt-head span{font-size:14px}.receipt-sub{font-size:7px;margin:3px 0 8px}.receipt-rule{margin:7px 0}.receipt-rows{gap:8px}.receipt-rows div,.receipt-total{font-size:8px}.receipt-total strong{font-size:7px}.receipt-foot{font-size:8px;margin-top:9px}.board-layout .photo-client{left:39%;top:34%;width:26%;height:34%}.board-layout .photo-device{left:68%;top:34%;width:26%;height:34%}.photo{margin:0;padding:6px 6px 22px}.photo-client .photo-image{background-position:70% 40%}.photo figcaption{font-size:9px;bottom:5px}.pin-receipt{left:19.5%;top:49%}.pin-client{left:52.5%;top:51%}.pin-device{left:81.5%;top:51%}.board-layout .board-note{display:block;left:5%;top:73%;width:90%;padding:9px 4px;font-size:clamp(11px,3vw,16px);white-space:normal}.board-note span{margin:0 2px}.ornament-left{left:3%;top:26%;width:13%;height:9%}.ornament-right{left:87%;top:26%;width:10%;height:9%}.doodle-heart{font-size:29px}.heart-one{left:26%;top:26%}.heart-two{left:92%;top:69%;font-size:23px}.heart-three{left:6%;top:68%;font-size:26px}.calendar .date-pin{transform:translateX(-50%) rotate(-18deg) scale(.76)}}
@media(prefers-reduced-motion:reduce){.date-pin,.photo,.receipt,.paper-map{transition:none}.pin.is-pressed,.photo.is-pinned-wiggle,.receipt.is-pinned-wiggle,.paper-map.is-pinned-wiggle{animation:none}}
.info.is-price{width:min(640px,calc(100% - 32px));bottom:7%}
.receipt-rows{gap:5px}.receipt-foot{margin-top:10px}
@media(max-width:600px){.receipt-rows{gap:5px}.receipt-foot{margin-top:7px}.receipt-rows div{font-size:7.5px}}

@media(max-width:600px){.paper-map,.map-open{left:5%}}
@media(max-width:600px){.map-metro{top:41%;left:5%;gap:3px;padding:4px 6px;border:1px solid #d6b8a0;background:#fff9edee;color:#814331;font-size:11px;box-shadow:0 2px 7px #4b332766}.map-metro span{font-size:17px}}

/* Keep the closed fabric on screen until the first WebGL frame is ready. */
.curtain-loading{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#ad756f 0%,#c99a90 49.95%,#ebd8c4 50.05%,#f5e9d8 100%);pointer-events:none;opacity:1;transition:opacity .22s ease,visibility .22s ease}
.curtain-loading:before{content:"";position:absolute;inset:0;background:url('./curtain-reference.webp') center top/100% 360% no-repeat}
.stage.is-rendered .curtain-loading{opacity:0;visibility:hidden}

/* Long editorial cards scroll within the viewport, leaving their heading and close control visible. */
.info,.info.is-price{position:fixed;z-index:20;top:50%;bottom:auto;display:flex;flex-direction:column;max-height:min(82dvh,730px);overflow:hidden;transform:translate(-50%,-47%) scale(.985);border-radius:3px;box-shadow:0 25px 80px #38211775}
.info.is-visible{transform:translate(-50%,-50%) scale(1)}
.info h2{flex:none;padding-right:36px;margin-bottom:15px;line-height:1.08}
.info-content{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-right:10px;scrollbar-width:thin;scrollbar-color:#b68873 #f3e7db}
.info-content:focus-visible{outline:2px solid #9c6554;outline-offset:-2px}
.info-content h3{font-size:19px;line-height:1.2;margin:22px 0 8px;color:#6e463a}
.info-content p,.info-content li{font-size:15px;line-height:1.72}
.info-content ul{padding-left:23px;margin:0 0 18px}
.info-content li{margin:0 0 8px}
.info-content .intro{font:20px/1.4 Georgia,serif;color:#65473c;margin:0 0 19px}
.info-content .source-note{border-top:1px solid #dec7b5;padding-top:13px;margin-top:22px;font-size:12px;color:#806b60}
.info-content .source-note a{font-size:12px}
.info-close{z-index:1;width:38px;height:38px;display:grid;place-items:center;border-radius:50%}
.info-close:focus-visible{outline:2px solid #855a49;outline-offset:2px}
.booking{position:fixed;z-index:20;left:50%;top:50%;width:min(490px,calc(100% - 22px));max-height:min(82dvh,730px);padding:22px 26px 23px;background:#fff9f2f2;border:1px solid #d8bda6;border-radius:3px;box-shadow:0 25px 80px #38211775;backdrop-filter:blur(10px);scrollbar-width:thin;scrollbar-color:#b68873 #f3e7db}
.booking h2{margin:0 35px 12px 0;color:#503b32;font:400 32px/1.08 Italiana,Georgia,serif}
.booking-intro{margin:0 0 18px;color:#65473c;font:17px/1.45 Georgia,serif}
.booking label{font:600 12px Manrope,Arial,sans-serif;color:#705448}
.booking input{border-radius:3px;background:#fffdfa;border-color:#d8bda6}
.booking-submit{border-radius:3px;background:#8a5a49;min-height:46px}
.booking-close{width:38px;height:38px;display:grid;place-items:center;top:8px;right:9px;border-radius:50%}
.booking-close:focus-visible,.booking-submit:focus-visible{outline:2px solid #855a49;outline-offset:2px}
.booking.is-yclients{display:flex;flex-direction:column;width:min(650px,calc(100% - 22px));height:min(92dvh,760px);max-height:calc(100dvh - 24px)}
.booking.is-yclients #booking-form{display:none}
.booking-iframe{display:block;flex:1;min-height:0;width:100%;border:0;background:#fffdfa}
body:has(.info.is-visible) .skip,.stage:has(.booking.is-visible) .skip{display:none}
.zoom-hint{display:none;position:absolute;z-index:3;left:50%;bottom:90px;transform:translateX(-50%);padding:10px 16px;border-radius:100px;background:#fff9f0e8;color:#744b3d;box-shadow:0 5px 22px #4b302438;font:600 12px/1.3 Manrope,Arial,sans-serif;letter-spacing:.04em;white-space:nowrap;pointer-events:none;opacity:0}

@media(max-width:600px){
  .zoom-hint{display:block}
  main{height:330dvh}
  .reveal,.pins{transform:scale(var(--mobile-scene-scale,.72));transform-origin:50% 50%;will-change:transform}
  .reveal{background:#f3e9df url('./mobile-scene-v3.webp') center center/100% 100% no-repeat}
  .reveal .board-layout,.pins .board-layout{width:86vw;height:59dvh;max-height:575px;aspect-ratio:auto;top:43.5%;transform:translate(-50%,-50%)}
  .reveal .board-layout{z-index:1;border:0;background:none;box-shadow:none}
  .reveal .board-layout:before,.reveal .board-layout:after{display:none}
  .paper-map,.map-open{left:4%;top:4%;width:43%;height:25%}
  .calendar,.calendar-open{left:58%;top:7%;width:35%}
  .calendar{min-height:0;padding:7px 8px 8px}
  .calendar-title{font-size:12px;letter-spacing:.07em;margin-bottom:5px;padding-bottom:4px}
  .calendar-days{font-size:8px;gap:1px}
  .calendar-call{font-size:8px;line-height:1.2;margin-top:5px;padding-top:5px}
  .calendar-open{height:29%}
  .board-layout .receipt{left:4%;top:40%;width:31%;height:37%}
  .board-layout .photo-client{left:38%;top:40%;width:28%;height:37%}
  .board-layout .photo-device{left:68%;top:40%;width:28%;height:37%}
  .pin-map{top:18%}.pin-receipt{top:57%}.pin-client,.pin-device{top:59%}
  .board-layout .board-note{top:82%;font-size:clamp(12px,3.2vw,16px)}
  .info,.info.is-price{width:calc(100% - 22px);max-height:calc(100dvh - 36px);padding:21px 18px 20px}
  .info h2{font-size:29px}
  .info-content .intro{font-size:18px}
  .info-content p,.info-content li{font-size:14px;line-height:1.65}
}
@media(prefers-reduced-motion:reduce){.curtain-loading{transition:none}.reveal,.pins{will-change:auto}}
.pins{transition:opacity .14s ease}
.pins.is-visible .pin[data-info]{animation:pin-breathe 2.7s ease-in-out infinite}
.pins.is-visible .pin-client{animation-delay:.35s}.pins.is-visible .pin-device{animation-delay:.8s}.pins.is-visible .pin-receipt{animation-delay:1.25s}
.pins.is-visible .pin.is-pressed{animation:pin-press .48s cubic-bezier(.18,.8,.24,1)}
@keyframes pin-breathe{0%,16%,50%,100%{filter:drop-shadow(3px 6px 3px #3a211b88) brightness(1)}22%,28%,57%{filter:drop-shadow(3px 6px 3px #3a211b88) drop-shadow(0 0 10px #ffe8b8) brightness(1.28)}}
.pins.is-visible .pin[data-info]::before{content:"";position:absolute;left:50%;top:35%;width:34px;height:34px;border-radius:50%;transform:translate(-50%,-50%) scale(.7);background:radial-gradient(circle,#fff8dcdd 0%,#ffd6a688 30%,#f8ba6e00 75%);filter:blur(3px);pointer-events:none;animation:pin-halo 2.7s ease-in-out infinite}
.pins.is-visible .pin[data-info]::after{content:"✦";position:absolute;left:63%;top:14%;width:23px;height:23px;transform:translateX(-50%) scale(.8);color:#fffdf3;text-align:center;font:18px/23px Georgia,serif;text-shadow:0 0 5px #fff,0 0 13px #ffd079,0 0 24px #f6ad54;pointer-events:none;animation:pin-glint 2.7s ease-in-out infinite}
.pins.is-visible .pin-client::after,.pins.is-visible .pin-client::before{animation-delay:.35s}.pins.is-visible .pin-device::after,.pins.is-visible .pin-device::before{animation-delay:.8s}.pins.is-visible .pin-receipt::after,.pins.is-visible .pin-receipt::before{animation-delay:1.25s}
@keyframes pin-glint{0%,16%,50%,100%{opacity:.65;transform:translateX(-50%) scale(.8)}22%,28%,57%{opacity:1;transform:translateX(-50%) scale(1.4);text-shadow:0 0 8px #fff,0 0 22px #ffe0a3,0 0 35px #ffc16a}}
@keyframes pin-halo{0%,16%,50%,100%{opacity:.65;transform:translate(-50%,-50%) scale(.85)}22%,28%,57%{opacity:1;transform:translate(-50%,-50%) scale(1.45)}}
.calendar .date-pin{animation:date-pin-glow 2.4s ease-in-out infinite alternate}
@keyframes date-pin-glow{from{filter:drop-shadow(2px 3px 2px #4f322d99)}to{filter:drop-shadow(2px 3px 2px #4f322d99) drop-shadow(0 0 7px #ffe1aa)}}
@media(prefers-reduced-motion:reduce){.pins.is-visible .pin[data-info],.pins.is-visible .pin[data-info]::after,.pins.is-visible .pin[data-info]::before{animation:none;opacity:1}}
@media(prefers-reduced-motion:reduce){.calendar .date-pin{animation:none}}
@media(min-width:601px) and (max-width:1000px){
  .board-layout{width:100vw;height:100dvh;aspect-ratio:auto}
  .paper-map,.map-open{left:9%;top:6%;width:37%;height:22%}
  .calendar,.calendar-open{left:60%;top:9%;width:27%}
  .board-layout .receipt{left:11%;top:36%;width:24%;height:34%;padding:13px 10px}
  .receipt-head{font-size:20px}.receipt-head span{font-size:17px}
  .receipt-sub{font-size:9px}.receipt-rows div,.receipt-total{font-size:10px}
  .board-layout .photo-client{left:38%;top:36%;width:24%;height:34%}
  .board-layout .photo-device{left:65%;top:36%;width:24%;height:34%}
  .pin-map{left:27.5%;top:17%}.pin-receipt{left:23%;top:53%}.pin-client{left:50%;top:53%}.pin-device{left:77%;top:53%}
  .board-layout .board-note{left:17%;top:74%;width:66%;white-space:normal;font-size:18px}
}

.site-footer{position:relative;z-index:2;overflow:hidden;background:linear-gradient(125deg,#f9f3ec 0%,#f4e8dc 58%,#efddcd 100%);border-top:1px solid #d8bda3;color:#62483b}
.site-footer:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.35;background:repeating-linear-gradient(93deg,transparent 0 38px,#fffaf744 39px 40px,transparent 41px 82px)}
.footer-shell{position:relative;max-width:1170px;margin:0 auto;padding:42px 44px 24px}
.footer-rule{height:1px;background:linear-gradient(90deg,transparent,#b68c68 15%,#b68c68 85%,transparent);display:flex;justify-content:center;align-items:center;margin-bottom:36px;color:#ac795e}
.footer-rule span{padding:0 15px;background:#f7eee5;font-size:18px}
.footer-grid{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:clamp(28px,5vw,76px);align-items:start}
.footer-mark{margin:0 0 15px;color:#a66e63;font:italic clamp(38px,4vw,58px)/.95 Georgia,serif;letter-spacing:-.055em;white-space:nowrap}.footer-mark i{font-weight:400;color:#74513d}
.footer-descriptor{max-width:290px;margin:0;font:14px/1.7 Manrope,Arial,sans-serif;color:#756053}
.footer-price{display:inline-block;margin:23px 0 0;padding:10px 14px;border:1px solid #d6b79c;background:#fffaf4ad;font:600 13px Manrope,Arial,sans-serif;color:#795441}.footer-price span{padding:0 6px;color:#b78b73}
.footer-nav{display:none;flex-direction:column;gap:3px}.has-js .footer-nav{display:flex}
.footer-nav h2,.footer-address h2{margin:4px 0 15px;color:#9b6c5a;font:600 11px/1.4 Manrope,Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase}
.footer-nav button{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;width:100%;padding:8px 0;border:0;border-bottom:1px solid #d6bda8;background:transparent;color:#5b4036;text-align:left;font:500 14px/1.3 Manrope,Arial,sans-serif;cursor:pointer}
.footer-nav button:hover,.footer-address a:hover{color:#a16454}.footer-nav button span,.footer-address a span{color:#ae795e;font-size:18px}
.footer-address{font-style:normal}.footer-address p{margin:0 0 15px;font:500 18px/1.45 Georgia,serif;color:#5b4036}.footer-address a{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:#835b4b;text-decoration:underline;text-underline-offset:5px;font:600 13px/1.4 Manrope,Arial,sans-serif}
.footer-nav button:focus-visible,.footer-address a:focus-visible{outline:2px solid #8c5543;outline-offset:4px;border-radius:2px}
.footer-end{margin:42px 0 0;padding-top:16px;border-top:1px solid #dbc7b6;color:#9b8373;font:11px Manrope,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}.footer-end span{padding:0 8px;color:#bd8c70}
@media(max-width:700px){.footer-shell{padding:36px 27px 25px}.footer-grid{grid-template-columns:1fr;gap:32px}.footer-rule{margin-bottom:32px}.footer-mark{font-size:45px}.footer-price{margin-top:18px}.footer-nav h2,.footer-address h2{margin-bottom:10px}.footer-end{margin-top:35px}}
@media(prefers-reduced-motion:reduce){.footer-nav button,.footer-address a{transition:none}}

/* A printed metro label belongs to the map rather than floating above it. */
.map-metro{left:9%;top:47%;gap:5px;padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:#6d5545;font:600 12px/1 Georgia,serif;white-space:nowrap;text-shadow:0 1px 1px #fff8e7,1px 0 1px #fff8e7,-1px 0 1px #fff8e7}
.map-metro span{display:grid;place-items:center;width:17px;height:17px;flex:none;border:1.5px solid #ad594b;border-radius:50%;background:#f5e7d1;color:#a9463d;font:700 10px/1 Arial,sans-serif;text-shadow:none;box-shadow:0 1px 2px #62463555}
.calendar .date-pin{animation:date-pin-glow-strong 2.7s ease-in-out infinite}
.calendar .date-pin:before{animation:date-pin-head 2.7s ease-in-out infinite}
@keyframes date-pin-glow-strong{0%,16%,50%,100%{filter:drop-shadow(2px 3px 2px #4f322d99)}22%,28%,57%{filter:drop-shadow(2px 3px 2px #4f322d99) drop-shadow(0 0 8px #fff2c6) drop-shadow(0 0 13px #f7bd6d)}}
@keyframes date-pin-head{0%,16%,50%,100%{box-shadow:0 0 3px #f5d09a}22%,28%,57%{box-shadow:0 0 9px 3px #fff2bb,0 0 16px 5px #eab470}}
@media(max-width:600px){.map-metro{top:53%;left:6%;gap:3px;font-size:10px}.map-metro span{width:15px;height:15px;font-size:9px}.calendar .date-pin{transform:translateX(-50%) rotate(-18deg) scale(.9)}}
@media(prefers-reduced-motion:reduce){.calendar .date-pin,.calendar .date-pin:before{animation:none}}

/* The calendar pin joins the other pins at the same moment and shares their rhythm. */
.stage .calendar .date-pin{opacity:0;animation:none;transition:left .8s cubic-bezier(.2,.9,.2,1.15),top .8s cubic-bezier(.2,.9,.2,1.15),opacity .14s ease}
.stage .calendar .date-pin:before{animation:none}
.stage.pins-ready .curtain-loading{display:none}
.stage.is-restoring #curtain-canvas{visibility:hidden}
.stage.pins-ready .calendar .date-pin{opacity:1;animation:date-pin-glow-strong 2.7s ease-in-out infinite}
.stage.pins-ready .calendar .date-pin:before{animation:date-pin-head 2.7s ease-in-out infinite}
.pins.is-visible .pin[data-info],.pins.is-visible .pin[data-info]::before,.pins.is-visible .pin[data-info]::after{animation-delay:0s}
.pins.is-visible .pin.is-pressed{animation:pin-press .48s cubic-bezier(.18,.8,.24,1)}

/* Pressed flowers, silk ribbon and translucent paper tape keep the board tactile. */
.board-flower,.board-bow,.board-star{position:absolute;pointer-events:none;user-select:none}
.board-flower{z-index:0;width:13%;height:34%;object-fit:contain;filter:drop-shadow(1px 4px 2px #4b302b66);opacity:.94}
.board-flower-left{left:7%;top:38%;transform:rotate(-22deg)}
.board-flower-right{right:6%;top:48%;transform:scaleX(-1) rotate(-15deg)}
.board-bow{z-index:1;left:53%;top:5%;width:10%;height:17%;object-fit:contain;transform:rotate(10deg);filter:drop-shadow(1px 3px 2px #4b302b66)}
.board-star{z-index:0;color:#f8d7ba;font:36px/1 Georgia,serif;text-shadow:0 1px 2px #9b6656,0 0 7px #fff1d8}
.board-star-one{left:12%;top:30%;transform:rotate(-18deg)}.board-star-two{right:11%;top:33%;font-size:29px;transform:rotate(21deg)}
.board-layout .photo:before,.board-layout .calendar:before{content:"";position:absolute;z-index:2;top:-8px;left:38%;width:24%;height:17px;transform:rotate(-7deg);background:repeating-linear-gradient(100deg,#eed2cbca 0 5px,#f4ddd7c9 5px 10px);border:1px solid #e6bfb5a8;box-shadow:0 2px 4px #68483c55;pointer-events:none}
.board-layout .photo-device:before{transform:rotate(8deg)}
.board-layout .calendar:before{top:-7px;left:38%;height:13px;transform:rotate(5deg)}
@media(max-width:600px){.board-flower{width:16%;height:25%}.board-flower-left{left:-2%;top:55%;transform:rotate(-24deg)}.board-flower-right{right:-2%;top:54%;transform:scaleX(-1) rotate(-20deg)}.board-bow{left:46%;top:4%;width:14%;height:15%}.board-star{font-size:22px}.board-star-one{left:3%;top:32%}.board-star-two{right:4%;top:33%;font-size:19px}.board-layout .photo:before{height:10px;top:-5px}.board-layout .calendar:before{height:9px;top:-5px}}
@media(prefers-reduced-motion:reduce){.stage.pins-ready .calendar .date-pin,.stage.pins-ready .calendar .date-pin:before{animation:none}.pins.is-visible .pin[data-info],.pins.is-visible .pin[data-info]::before,.pins.is-visible .pin[data-info]::after{animation:none}}
