/* Signature edition: printed graphics, useful tools, and carefully bounded motion. */
:root{--signature-line:#0b2d5b33}
[hidden]{display:none!important}
.signature-button{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;border:1px solid var(--red);background:var(--red);color:var(--cream);padding:10px 18px;font:600 11px/1.4 var(--body);letter-spacing:.035em;text-decoration:none;position:relative;transition:background .22s,color .22s,transform .22s}
.signature-button:hover{background:var(--navy);border-color:var(--navy);transform:translateY(-2px)}
.signature-button.quiet{color:var(--navy);background:transparent;border-color:var(--signature-line)}
.signature-button.quiet:hover{color:var(--cream);background:var(--navy)}
.signature-launch{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 20px}.signature-launch [data-saved-count]{font-variant-numeric:tabular-nums}
.menu-signature{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:16px 0}.menu-signature .signature-button{font-size:10px}.menu-signature label{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--cream)}.menu-signature select{min-height:44px;background:var(--navy);color:var(--cream);border:1px solid #fff6;padding:8px;font:inherit}
.hero-corners{position:absolute;inset:calc(var(--header) + 25px) 26px 22px;pointer-events:none}.hero-corners i{position:absolute;width:20px;height:20px;border:1px solid #fff6}.hero-corners i:nth-child(1){top:0;left:0;border-right:0;border-bottom:0}.hero-corners i:nth-child(2){right:0;top:0;border-left:0;border-bottom:0}.hero-corners i:nth-child(3){bottom:0;left:0;border-top:0;border-right:0}.hero-corners i:nth-child(4){bottom:0;right:0;border-top:0;border-left:0}
.scene-nav{display:flex;align-items:center;position:relative;gap:20px;padding:0 0 3px}.scene-nav button{background:none;border:0;color:var(--cream);opacity:.65;font-size:10px;min-height:44px;padding:0}.scene-nav button[aria-pressed=true]{opacity:1}.scene-nav button[aria-pressed=true]:after{content:'';display:block;height:2px;background:var(--red);margin-top:-7px}.scene-progress{position:absolute;bottom:0;left:0;right:0;height:1px;background:#fff3}.scene-progress i{display:block;height:2px;background:var(--red);transform:scaleX(var(--scene-progress,0));transform-origin:left}.hero-foot{padding-top:8px}
.about-note{background-color:#f6edde;background-image:repeating-linear-gradient(7deg,transparent 0 5px,#0b2d5b02 6px 7px);border:1px solid #dbccba;box-shadow:0 18px 38px #382c1812,3px 3px 0 #fff9f2,4px 4px 0 #d7cab8}.about-people{position:relative}.about-people:after{content:'';position:absolute;inset:11px;border:1px solid #fff5;pointer-events:none}
.service-row{position:relative}.service-row:after{content:'';position:absolute;left:0;bottom:-1px;width:60px;height:2px;background:var(--red);transform:scaleX(.15);transform-origin:left;transition:transform .5s}.service-row.is-active:after,.service-row:hover:after{transform:scaleX(1)}.service-row>.craft-glyph{width:38px;height:38px;align-self:center;stroke-width:1.3}.portrait-window{position:relative}.portrait-window:after{content:'';position:absolute;inset:12px;border:1px solid #fff7;pointer-events:none}.portrait-copy h3{position:relative;width:fit-content}.portrait-copy h3:after{content:'';display:block;width:65%;height:3px;margin-top:8px;background:var(--red);transform:scaleX(.4);transform-origin:left;transition:transform .5s}.is-active .portrait-copy h3:after{transform:scaleX(1)}
.signature-dialog{padding:0;background:var(--cream);color:var(--navy);border:0;width:min(1160px,calc(100vw - 64px));height:min(900px,calc(100dvh - 64px));max-height:calc(100dvh - 64px);max-width:none;overflow:auto;overscroll-behavior:contain;box-shadow:0 30px 100px #0005}.signature-dialog::backdrop{background:#03152deb;backdrop-filter:blur(4px)}.signature-dialog-head{display:flex;align-items:start;justify-content:space-between;gap:20px;padding:30px 34px 20px;border-top:5px solid var(--red)}.signature-dialog-head h2{font:400 clamp(30px,4vw,48px)/1.1 var(--display);text-transform:uppercase;max-width:650px;letter-spacing:0;margin:0}.signature-dialog-head .eyebrow{font-size:9px;margin-bottom:10px}.signature-dialog-head>button{flex-shrink:0;background:transparent;border:1px solid var(--signature-line);color:inherit;min-height:44px;padding:10px 16px;font-size:11px}.ideas-tabs{display:flex;gap:5px;border-bottom:1px solid var(--signature-line);padding:0 34px}.ideas-tabs button{background:none;border:0;border-bottom:2px solid transparent;color:var(--navy);font:600 12px var(--body);padding:15px 20px;min-height:48px}.ideas-tabs button[aria-pressed=true]{border-color:var(--red);color:var(--red)}.ideas-content{padding:22px 34px 0}.ideas-intro{font-size:14px;line-height:1.7;color:#40516b;margin:0 0 16px}.explorer-filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 24px}.explorer-filters button{border:1px solid var(--signature-line);background:none;color:var(--navy);padding:8px 16px;min-height:44px;font-size:11px}.explorer-filters button[aria-pressed=true]{background:var(--navy);color:var(--cream)}.explorer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 22px}.explorer-card{min-width:0}.explorer-photo{display:block;width:100%;border:0;padding:0;background:#e8e2d9;overflow:hidden}.explorer-photo img{display:block;aspect-ratio:4/5;object-fit:cover;width:100%;height:auto;transition:transform .6s}.explorer-photo:hover img{transform:scale(1.04)}.explorer-card h3{font:400 25px/1.15 var(--display);margin:14px 0 10px}.explorer-card-copy>p{font-size:11px;color:#4e5b6c}.explorer-card-copy>button[data-save]{display:block;background:none;border:1px solid var(--signature-line);color:var(--navy);font-size:11px;padding:10px 15px;min-height:44px;margin-top:8px}.explorer-card-copy>button[data-save][aria-pressed=true]{color:var(--red);border-color:var(--red)}.detail-link{color:inherit;font:500 11px/1.5 var(--body);background:none;border:0;border-bottom:1px solid currentColor;min-height:44px;padding:8px 0}.ideas-status{position:sticky;bottom:0;background:var(--cream);font-size:12px;line-height:1.7;min-height:30px;margin:20px 0 0;padding:12px 34px;border-top:1px solid var(--signature-line);z-index:2}.ideas-status:empty{display:none}
.inspiration-board{padding:24px;background:#f3eadc;border:1px solid #d5c7b3;box-shadow:5px 5px 0 #e4d9c8}.board-brand{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-bottom:20px;border-bottom:2px solid var(--red);margin-bottom:24px}.board-brand img{width:100px;height:auto}.board-brand span{font-size:10px;letter-spacing:.12em;text-align:right}.saved-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.saved-grid[data-count="1"]{grid-template-columns:minmax(0,440px);justify-content:center}.saved-grid[data-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}.saved-grid figure{margin:0;min-width:0}.saved-grid img{height:320px;width:100%;object-fit:contain;background:#e6ded2}.saved-grid figcaption{padding-top:12px;font-size:12px}.saved-grid figcaption button{display:block;background:none;border:0;color:var(--red);min-height:44px;font-size:11px}.board-footer{font-size:14px;margin:22px 0 0}.board-actions{display:flex;gap:10px;flex-wrap:wrap;margin:26px 0}.empty-board{padding:50px 0 70px;text-align:center}.empty-board>span{font-size:55px;color:var(--red)}.empty-board h3{font:400 38px var(--display);margin:15px 0}.empty-board p{font-size:15px;max-width:380px;margin:0 auto 25px}.presenting .board-brand,.presenting .board-footer,.presenting [data-save],.presenting .board-actions>*:not([data-present]),.presenting .ideas-tabs{display:none}.presenting .saved-grid img{height:min(65dvh,620px)}
.cinema-dialog{background:#041b38;color:var(--cream);height:auto}.cinema-dialog .signature-dialog-head>button{border-color:#fff6}.cinema-dialog .eyebrow{color:#d7dadf}.cinema-screen{position:relative;margin:0 34px;background:#000;min-height:180px}.cinema-screen video{display:block;width:100%;max-height:65dvh;aspect-ratio:16/9;object-fit:contain}.cinema-status{padding:20px;color:var(--cream);font-size:13px}.cinema-status a{text-decoration:underline}.cinema-chapters{display:flex;gap:20px;padding:14px 34px 24px;flex-wrap:wrap}.cinema-chapters button{background:none;color:var(--cream);border:0;border-bottom:2px solid transparent;font-size:12px;min-height:44px;padding:10px 0}.cinema-chapters button[aria-current=true]{border-color:var(--red)}.film-stills{display:flex;gap:6px;width:150px;margin-top:16px}.film-stills img{width:46px;height:38px;object-fit:cover}
.shop-exploration{position:relative}.shop-exploration .shop-photo{overflow:hidden;margin:0}.shop-exploration .shop-photo img{aspect-ratio:4/3;max-height:none;object-fit:contain;transform-origin:var(--spot-origin,center);transition:transform .65s cubic-bezier(.16,1,.3,1)}.shop-exploration.spot-selected .shop-photo img{transform:scale(1.08)}.shop-spots{position:absolute;inset:0 0 64px;pointer-events:none}.shop-spot{pointer-events:auto;position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);display:flex;align-items:center;gap:8px;min-height:44px;background:var(--cream);color:var(--navy);border:0;padding:8px 12px;box-shadow:0 5px 20px #0002;font-size:10px}.shop-spot b{color:var(--red);font-size:19px}.shop-spot[aria-expanded=true]{background:var(--red);color:var(--cream)}.shop-spot[aria-expanded=true] b{color:inherit}.shop-explore-tools{display:flex;gap:12px;margin-top:14px;min-height:44px}.shop-explore-tools .quiet{color:var(--cream);border-color:#fff6}.shop-caption{position:absolute;right:22px;top:22px;bottom:88px;width:32%;max-width:360px;background:var(--cream);color:var(--navy);padding:28px 22px;overflow:auto;box-shadow:0 12px 40px #0003;z-index:2}.shop-caption h3{font:400 32px/1.1 var(--display);margin:20px 0}.shop-caption img{width:100%;height:130px;object-fit:cover}.shop-caption p{font-size:13px;line-height:1.7;margin-block:15px}.shop-caption .eyebrow{font-size:9px}.caption-close{position:absolute;right:5px;top:0;background:none;border:0;font-size:26px;color:var(--navy);width:44px;height:44px}.shop-fallback{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.shop-fallback img{max-height:240px;object-fit:cover}.shop-fallback p{font-size:14px}
.kids-ticket{position:relative;padding-left:66px}.driver-wheel{position:absolute;width:37px;height:37px;left:14px;top:50%;margin-top:-19px;fill:none;stroke:var(--red);stroke-width:2}.driver-light{position:absolute;width:7px;height:7px;top:8px;border-radius:50%;opacity:.25}.driver-light.red{left:12px;background:var(--red)}.driver-light.blue{left:24px;background:var(--navy)}.driver-stamp{position:absolute;inset:18% 4% auto auto;transform:rotate(-8deg) scale(1.3);background:var(--cream);border:2px solid var(--red);padding:9px 13px;font:400 22px var(--display);opacity:0;pointer-events:none}.driver-ready .driver-stamp{opacity:1;transform:rotate(-8deg) scale(1);transition:opacity .25s .45s,transform .35s .45s}.driver-ready .driver-light{opacity:1;transition:opacity .35s}.driver-controls{margin-top:16px;display:flex;gap:18px;align-items:center;flex-wrap:wrap}.driver-controls p{font-size:12px;max-width:160px;margin:0}.card-utilities{display:flex;justify-content:center;gap:12px;margin-top:15px;flex-wrap:wrap}.contact-status{text-align:center;font-size:12px;margin-top:8px}.business-front:after,.business-back:after{content:'';position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:linear-gradient(115deg,transparent 25%,#fff 48%,transparent 70%);opacity:.1;transform:translateX(-25%);transition:transform .6s}.business-card[data-back=true] .business-back:after{transform:translateX(25%)}
.motion-reduced *, .motion-reduced *:before,.motion-reduced *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.motion-reduced .hero-craft-film{display:none!important}.motion-reduced .driver-ready .driver-stamp{opacity:1}.motion-reduced .shop-exploration.spot-selected .shop-photo img{transform:none}.motion-reduced .background-toggle{display:none!important}
@media(min-width:821px){.about-note{margin-left:-28px;z-index:1}}
@media(max-width:820px){.hero-corners{inset:calc(var(--header) + 10px) 12px 10px}.hero-foot{left:20px;right:20px;bottom:12px;justify-content:space-between;flex-wrap:wrap;gap:0 12px}.hero-explore{display:none}.scene-nav{gap:14px}.scene-nav button{font-size:9px}.background-toggle{font-size:9px}.hero{padding-bottom:95px}.signature-launch{gap:7px;margin-bottom:14px}.signature-launch .signature-button{padding:8px 12px;font-size:10px}.gallery-pin-ready .gallery-stage .section-head{margin-bottom:12px}.gallery-pin-ready .gallery-stage .section-head .lede{font-size:12px;line-height:1.5}.signature-dialog{width:100%;height:100dvh;max-height:100dvh;margin:0;inset:0}.signature-dialog-head{padding:20px 20px 18px;padding-top:calc(20px + env(safe-area-inset-top,0px));gap:12px}.signature-dialog-head h2{font-size:33px}.signature-dialog-head>button{padding:8px 12px;font-size:11px}.signature-dialog-head .eyebrow{font-size:8px;letter-spacing:.08em}.ideas-tabs{padding:0 20px}.ideas-tabs button{font-size:11px;padding:13px 10px}.ideas-content{padding:20px 20px 0}.explorer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}.explorer-card h3{font-size:23px;line-height:1.25}.explorer-card .detail-link{font-size:10px;text-align:left}.explorer-card-copy>button[data-save]{width:100%}.ideas-status{padding:12px 20px calc(12px + env(safe-area-inset-bottom,0px));font-size:12px}.inspiration-board{padding:15px}.board-brand{gap:10px;margin-bottom:16px}.board-brand img{width:75px}.board-brand span{font-size:8px}.saved-grid{gap:8px}.saved-grid img{height:210px}.saved-grid figcaption{font-size:10px;line-height:1.5}.saved-grid figcaption button{font-size:10px}.board-footer{font-size:12px;line-height:1.6}.board-actions{gap:8px}.board-actions .signature-button{padding:10px 13px}.cinema-dialog{height:100dvh}.cinema-screen{margin:0 20px}.cinema-screen video{aspect-ratio:9/16;max-height:65dvh}.cinema-chapters{padding-inline:20px;gap:18px}.cinema-chapters button{font-size:11px}.shop-exploration .shop-photo img{aspect-ratio:4/3}.shop-spots{bottom:58px}.shop-spot{padding:5px 8px;font-size:8px;min-height:44px;gap:4px}.shop-spot span{max-width:66px;line-height:1.3}.shop-spot b{font-size:17px}.shop-caption{position:fixed;inset:auto 0 0;width:100%;max-width:none;max-height:60dvh;bottom:0;padding:23px 24px calc(24px + env(safe-area-inset-bottom,0px));z-index:100;box-shadow:0 -15px 70px #0005}.shop-caption img{height:140px;width:38%;float:left;margin:0 16px 10px 0}.shop-caption h3{font-size:29px;margin:12px 0}.shop-caption p{font-size:13px}.shop-caption .text-link{clear:both}.shop-fallback{grid-template-columns:1fr}.shop-fallback img{max-height:200px}.driver-controls{gap:12px}.driver-controls p{font-size:11px}.driver-controls .signature-button{font-size:10px}.driver-stamp{font-size:19px;padding:8px}.portrait-copy h3:after{height:2px;margin-top:5px}.presenting .saved-grid{grid-template-columns:1fr}.presenting .saved-grid img{height:46dvh}.presenting .saved-grid figcaption{font-size:14px}.menu-signature{margin:8px 0}.menu-signature select{font-size:13px}}
@media(max-width:360px){.scene-nav{gap:10px}.scene-nav button,.background-toggle{font-size:8px}.signature-dialog-head h2{font-size:28px}.signature-launch .signature-button{font-size:9px;padding-inline:10px}.ideas-tabs button{font-size:10px;padding-inline:8px}.explorer-card h3{font-size:21px}.driver-controls{display:block}.driver-controls p{margin-top:10px}.menu-signature{gap:8px}.menu-signature .signature-button{padding:8px;font-size:9px}}
@media(max-height:650px){.hero-foot{position:relative;inset:auto;width:100%;margin-top:25px}.hero{display:flex;flex-direction:column;padding-bottom:20px}.signature-dialog-head{padding-block:14px}.cinema-screen video{max-height:55dvh}}

.signature-modal-open .mobile-dock{visibility:hidden}.shop-caption .text-link{color:var(--navy)}

html:not(.signature-ready) .signature-launch,html:not(.signature-ready) .driver-controls,html:not(.signature-ready) .shop-explore-tools,html:not(.signature-ready) .menu-signature{display:none}html:not(.signature-ready) .card-utilities button{display:none}

.shop-detail-open .mobile-dock{visibility:hidden}.shop-detail-open .shop-explore-tools{opacity:1}.shop-caption h3{overflow-wrap:anywhere}

.film-stills{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);pointer-events:none;z-index:1}.film-stills img{border:1px solid #fff6}

@media(max-width:820px){.shop-spot[data-hotspot="1"]{width:44px;padding:0;justify-content:center}.shop-spot[data-hotspot="1"] span{position:absolute;top:100%;left:50%;transform:translateX(-50%);width:94px;max-width:94px;padding:6px;background:var(--cream);color:var(--navy)}.shop-spot[data-hotspot="1"][aria-expanded=true] span{background:var(--red);color:var(--cream)}}

/* Keep the complete welcome-wall painting in the About composition. */
.home-about .about-wall img{object-position:100% 50%}

/* Collective team copy, vector controls, and readable local information. */
.image-view-icon{z-index:3;pointer-events:none}.image-view-icon .icon{width:21px;height:21px}
.team-chapter .portrait-copy h3{font-size:clamp(44px,6vw,78px);line-height:1.03;max-width:6em}
.team-pin-ready .portrait-copy h3{max-width:none;font-size:clamp(42px,5.5vw,74px)}
.footer-local{display:grid;grid-template-columns:1fr 1.6fr;gap:70px;margin-top:52px;padding-top:42px;border-top:1px solid #ffffff26}
.footer-local .eyebrow{color:#d2dbe6;font-size:9px}.footer-local h2{font:400 clamp(30px,3vw,43px)/1.15 var(--display);text-transform:uppercase;margin:0;color:var(--cream)}
.footer-local-copy p{font-size:14px;line-height:1.85;color:#d2dbe6;margin:0 0 18px}.footer-local-copy nav{display:flex;flex-wrap:wrap;gap:10px 25px}.footer-local-copy .text-link{color:var(--cream);font-size:11px}
.detail-link .icon,[data-save] .icon,.signature-dialog-head>button .icon{display:inline-block;vertical-align:middle;width:16px;height:16px;margin-left:5px;flex-shrink:0}.empty-board>span>.icon{width:55px;height:55px}
@media(max-width:820px){.team-pin-ready .portrait-copy h3{font-size:clamp(30px,8vw,43px)}.footer-local{grid-template-columns:1fr;gap:25px;margin-top:36px;padding-top:32px}.footer-local-copy p{font-size:14px}.footer-local h2{font-size:33px}}

/* One group photograph; the inner camera is the only moving layer. */
.team-photo-chapter .team-stage-inner{display:flex;flex-direction:column;gap:24px}
.team-photo-chapter .team-heading{margin:0;flex-shrink:0}
.team-photo-chapter .team-heading>p{display:block;margin:0;font-size:13px;line-height:1.7}
.team-camera{display:flex;align-items:center;justify-content:center;margin:0;min-width:0;min-height:0}
.team-camera-frame{position:relative;overflow:hidden;isolation:isolate;background:#102b50;width:min(100%,var(--team-frame-width,1100px));aspect-ratio:3024/2420;flex-shrink:0}
.team-camera-frame:after{content:'';position:absolute;inset:12px;border:1px solid #fff7;pointer-events:none;z-index:1}
.team-camera-image{display:block;width:100%;height:100%;transform-origin:center}
.team-camera-image img{display:block;width:100%;height:100%;object-fit:cover}
.team-camera-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px 30px;flex-shrink:0}
.team-camera-footer>p{font-size:12px;line-height:1.6;color:#d7dadf;margin:0}
.team-camera-footer .text-link{margin:0;min-height:44px;display:inline-flex;align-items:center;gap:14px;font-size:11px}
.team-camera-progress{width:100%;height:2px;background:#ffffff25;overflow:hidden}
.team-camera-progress i{display:block;width:100%;height:100%;background:var(--red);transform:scaleX(0);transform-origin:left}
.team-pin-ready .team-photo-chapter .team-stage-inner{height:100%}
.team-pin-ready .team-photo-chapter .team-camera{flex:1}
.team-pin-ready .team-photo-chapter .team-heading h2{font-size:clamp(32px,4.2vw,58px)}
@media(max-width:820px){.team-photo-chapter .team-stage{padding:55px 0}.team-photo-chapter .team-stage-inner{gap:24px}.team-photo-chapter .team-heading h2{font-size:38px}.team-photo-chapter .team-heading>p{font-size:12px;margin-top:14px}.team-photo-chapter .team-heading>p br{display:none}.team-photo-chapter .team-camera-footer{gap:12px}.team-camera-footer>p{font-size:11px}.team-camera-footer .text-link{font-size:10px}.team-pin-ready .team-photo-chapter .team-stage{padding:22px 0 16px}.team-pin-ready .team-photo-chapter .team-stage-inner{gap:16px}.team-pin-ready .team-photo-chapter .team-heading h2{font-size:clamp(25px,7vw,33px)}.team-pin-ready .team-photo-chapter .team-heading>p{margin-top:10px;font-size:11px}.team-pin-ready .team-photo-chapter .team-heading{margin-bottom:0}}
@media(max-width:360px){.team-camera-footer{display:block}.team-camera-footer .team-continue{margin-top:6px}.team-camera-progress{margin-top:12px}.team-pin-ready .team-photo-chapter .team-stage-inner{gap:12px}}
@media(prefers-reduced-motion:reduce){.team-photo-chapter .team-stage-inner{height:auto!important}.team-photo-chapter .team-camera{flex:none!important}.team-camera-image{transform:none!important}.team-camera-frame{width:min(100%,1100px)}.team-camera-progress{display:none!important}}

/* Film actions stay outside the native video controls, including iPhone safe areas. */
.cinema-playback{display:flex;align-items:center;gap:12px 20px;flex-wrap:wrap;padding:14px 34px 0}.cinema-playback .cinema-status{flex-basis:100%;margin:0;padding:0;line-height:1.6}.cinema-playback .signature-button{color:var(--cream);border:1px solid #fff7;background:transparent;min-height:44px}.cinema-playback .detail-link{font-size:12px}.cinema-playback [hidden]{display:none}.cinema-screen video{background:#000}.cinema-chapters{padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}
@media(max-width:820px){.cinema-playback{padding:12px 20px 0}.cinema-screen video{max-height:calc(100svh - 270px);min-height:180px}.cinema-dialog{padding-bottom:env(safe-area-inset-bottom,0px)}}
@media(max-height:560px){.cinema-screen video{max-height:55svh;min-height:120px}}
