/* Photo edition: tactile paper, lacquer red, midnight blue. */
:root{--paper:#f5efdf;--paper-2:#ebe4d3;--ink:#182a36;--red:#aa352a;--mustard:#bd8b41;--wrap:1320px}
body{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='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%2382755c' opacity='.035' filter='url(%23n)' d='M0 0h160v160H0z'/%3E%3C/svg%3E")}
.wrap{padding-inline:clamp(22px,4vw,64px)}
.site-header{background:var(--paper);border-bottom:1px solid #182a3626}
.site-header .wrap{min-height:96px;padding-block:14px;gap:12px 28px}
.logo{display:flex;align-items:center;gap:12px;font-size:23px;line-height:1.5;letter-spacing:.08em}
.logo-star{font-size:34px;color:var(--red);font-family:serif}
.logo small{display:block;font:9px/1.8 var(--sans);letter-spacing:.22em}
.nav{font-size:13px;gap:22px;letter-spacing:.03em}
.nav a{transition:color .2s}
.hero{overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:40px;position:relative;padding-block:48px 65px;align-items:center}
.hero-text{position:relative;padding-block:22px;z-index:1}
.hero .eyebrow{font-size:11px;letter-spacing:.25em;display:flex;align-items:center;gap:12px}
.hero .eyebrow::before{content:'';width:32px;height:1px;background:var(--red)}
.hero h1{font-size:clamp(64px,7.4vw,100px);line-height:1.2;letter-spacing:.035em;margin-top:22px;white-space:nowrap}
.title-dot{color:var(--red)}
.hero-lead{font-size:15px;line-height:2.2;margin-top:28px;max-width:26em}
.btns{gap:10px;margin-top:28px}
.btn{font-size:13px;padding:13px 21px;border-width:1px;transition:background .2s,color .2s}
.btn::after{content:' ↗';margin-left:18px}
.hero-art{display:block;position:relative;min-width:0;align-self:stretch;margin-right:-22px}
.hero-art>img{width:100%;height:100%;min-height:530px;max-height:640px;object-fit:cover;object-position:64% center;box-shadow:14px 14px 0 var(--paper-2)}
.photo-tag{position:absolute;right:22px;top:22px;writing-mode:vertical-rl;background:var(--paper);padding:16px 12px;font-family:var(--serif);font-size:17px;letter-spacing:.16em;line-height:1.8}
.photo-credit{position:absolute;bottom:18px;left:22px;color:#fff3da;font-size:9px;letter-spacing:.2em}
.band{padding:14px 0;font-size:11px;letter-spacing:.32em;background:var(--red)}
.band span{animation:none}
.about .wrap{gap:70px;padding-block:90px;align-items:center}
.about-head{flex:1 1 440px;position:relative}
.story-photo{margin:0 0 28px;position:relative}
.story-photo img{width:100%;aspect-ratio:1.65;object-fit:cover}
.story-photo figcaption{position:absolute;bottom:14px;left:18px;color:var(--paper);font-family:var(--serif);font-size:18px}
.sec-title{font-size:clamp(28px,3.6vw,40px);line-height:1.5;letter-spacing:.04em}
.eyebrow{font-size:11px;letter-spacing:.25em}
.about-body{flex:1 1 380px;padding-top:0;font-size:16px;line-height:2.2}
.more{font-size:13px;border-bottom-width:1px;padding-bottom:8px}
.more::after{margin-left:25px}
.items .wrap{padding-block:80px}
.items-head{margin-bottom:35px}
.grid{gap:36px 22px}
.card-art{overflow:hidden;background-image:linear-gradient(135deg,#ffffff0d,#0000000a)}
.photo-card{border:0;background:var(--paper-2)}
.photo-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.photo-card:has(img[src*="robot"]) img{object-position:65% center}
.card:hover .photo-card img{transform:scale(1.035)}
.card-art svg{max-height:68%;max-width:68%;filter:drop-shadow(4px 7px 0 #00000012)}
.card-row{flex-wrap:wrap;gap:2px 10px;border-bottom-width:1px;align-items:center;padding-bottom:12px}
.card-row h3{font-size:15px}
.price{font-size:21px}
.card p{font-size:12px}
.teaser{background:var(--ink)}
.teaser .wrap{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding-block:64px}
.teaser .eyebrow{color:#ddbb7b}
.teaser-text p.lead{font-size:15px;line-height:2.1}
.teaser-art{display:block}
.teaser-art img{width:100%;aspect-ratio:1.35;object-fit:cover}
.info .wrap{padding-block:80px;gap:70px}
.table{border:0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:8px 0}
.row{font-size:16px}
.row+.row{border-top-color:#182a3633}
.site-footer{padding-block:42px}
.site-footer .wrap{gap:20px}
.site-footer .serif{font-size:20px}
.foot-links{font-size:12px;gap:8px 18px}
.demo-note{width:100%;font-size:10px;opacity:.65;letter-spacing:.03em}
.photo-head .wrap{display:grid;grid-template-columns:1fr 1fr;column-gap:60px;position:relative;padding-block:20px 55px}
.photo-head .crumbs{grid-column:1/-1;padding-top:0;margin-bottom:22px}
.photo-head h1{font-size:clamp(34px,5vw,62px);align-self:start;letter-spacing:.05em}
.photo-head .eyebrow{align-self:end;margin-top:24px!important}
.photo-head .lead{font-size:15px;line-height:2;align-self:start}
.page-head-photo{grid-column:2;grid-row:2/5;align-self:stretch}
.page-head-photo img{width:100%;height:100%;max-height:350px;object-fit:cover}
.page-about .page-head-photo img{object-position:65% center}
.section{padding-block:72px}
.steps li,.point{border-width:1px}
.steps .num{font-size:32px}
.chips a{border-width:1px;font-size:12px;padding:7px 16px}
@media(min-width:1100px){.page-index .grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1000px){.hero .wrap{gap:28px;grid-template-columns:1fr 1fr}.hero h1{font-size:68px}.hero-art>img{min-height:500px}.nav{gap:16px}.site-header .wrap{min-height:90px}.hero-lead{font-size:14px}.hero .btn{padding:12px 15px}.btn::after{margin-left:8px}.teaser .wrap{gap:32px}.photo-head .wrap{column-gap:28px}}
@media(max-width:680px){
 .site-header .wrap{padding-block:12px;gap:10px;min-height:0}.logo{font-size:19px;gap:9px}.logo-star{font-size:29px}.logo small{font-size:8px}.nav{font-size:11px;gap:18px}.nav a{padding:5px 0}
 .hero .wrap{display:flex;flex-direction:column;align-items:stretch;gap:22px;padding-block:30px 42px}.hero-text{padding:0;flex:none}.hero-art{order:0;flex:none;margin:0}.hero h1{font-size:clamp(52px,12vw,76px);margin-top:18px;line-height:1.15}.hero-lead{font-size:14px;margin-top:20px;max-width:none}.hero .eyebrow{font-size:9px;letter-spacing:.2em}.hero .btns{margin-top:22px}.btn{flex:0 1 auto;padding:12px 18px}.hero-art>img{min-height:0;height:auto;aspect-ratio:1.12;max-height:none;box-shadow:8px 8px 0 var(--paper-2)}.photo-tag{font-size:13px;top:14px;right:14px;padding:12px 8px}.photo-credit{font-size:8px;left:14px;bottom:12px}
 .about .wrap{gap:26px;padding-block:56px}.about-head,.about-body{flex:1 1 100%}.story-photo{margin-bottom:22px}.about-body{font-size:15px}.sec-title{font-size:29px}.items .wrap,.info .wrap{padding-block:56px}.items-head{margin-bottom:26px}.items-head p.note{font-size:12px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px}.card-row{gap:3px}.card-row h3{font-size:13px}.card p{font-size:11px}.price{font-size:19px}.card-art svg{max-width:75%}
 .teaser .wrap{grid-template-columns:1fr;gap:28px;padding-block:48px}.teaser-art{display:block}.teaser-art img{aspect-ratio:1.6}.teaser .sec-title{font-size:27px}.info .wrap{gap:48px}.hours,.access{flex:1 1 100%}.addr{font-size:14px}.tel{font-size:22px}.site-footer .wrap{gap:20px}.foot-links{font-size:11px;gap:8px 16px}
 .photo-head .wrap{grid-template-columns:1fr;padding-block:16px 40px}.photo-head .crumbs{grid-column:1;margin-bottom:0}.photo-head h1{font-size:39px;margin-top:10px}.photo-head .eyebrow{margin-top:28px!important}.photo-head .lead{margin-top:18px;font-size:14px}.page-head-photo{grid-column:1;grid-row:auto;margin-top:24px}.page-head-photo img{height:auto;aspect-ratio:1.6}.chips{gap:8px;margin-top:26px}.chips a{padding:7px 11px}.section{padding-block:48px}.cat h2{font-size:26px}.cat h2 small{font-size:10px}.cat+.cat{margin-top:48px}.steps{grid-template-columns:1fr}.steps li{padding:22px}.points{grid-template-columns:1fr}.message-body{font-size:15px}
}
@media(max-width:360px){.grid{grid-template-columns:1fr}.hero h1{font-size:52px}.nav{gap:15px}.hero .btn{padding:12px 14px}.logo{font-size:18px}}
.site-header{transition:box-shadow .3s,background .3s}
.site-header.is-scrolled{box-shadow:0 5px 20px #182a3610}
.hero-text{animation:hero-enter .9s ease-out both}
.hero-art{animation:hero-enter 1.1s .1s ease-out both}
.hero-art>img{transform:translateY(var(--parallax,0px));transition:transform .15s linear}
.hero-art{overflow:clip}
.hero-art>img{animation:photo-breathe 14s ease-in-out infinite alternate}
.band span{animation:slide 48s linear infinite}
.band:hover span{animation-play-state:paused}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .75s ease var(--reveal-delay,0ms),transform .75s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms)}
.reveal.is-visible{opacity:1;transform:translateY(0)}
.wind-button{position:absolute;left:20px;bottom:20px;display:flex;align-items:center;gap:10px;min-height:42px;padding:10px 15px;background:var(--paper);color:var(--ink);border:1px solid #f5efdf88;cursor:pointer;font:700 12px var(--sans);z-index:2;box-shadow:0 4px 18px #0003;transition:background .2s,transform .2s}
.wind-button:hover{background:#fff9e9;transform:translateY(-2px)}
.wind-button:focus-visible{outline:3px solid var(--mustard);outline-offset:4px}
.hero-art .wind-key{display:block;width:20px;height:20px;max-width:none;flex:none;transition:transform .45s}
.wind-button:hover .wind-key{transform:rotate(90deg)}
.wind-label{min-width:115px;text-align:left}
.photo-credit{bottom:77px}
.hero-art.is-winding>img{animation:toy-walk .28s ease-in-out 7}
.is-winding .wind-key{animation:key-turn .55s linear 4}
.card{transition:translate .25s}
.card:hover{translate:0 -4px}
.more::after{display:inline-block;transition:transform .2s}
.more:hover::after{transform:translateX(5px)}
.btn:hover{transform:translateY(-2px)}
@keyframes hero-enter{from{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}
@keyframes photo-breathe{from{scale:1}to{scale:1.045}}
@keyframes toy-walk{0%,100%{rotate:0deg;scale:1.03}25%{rotate:-.7deg;translate:-3px -3px;scale:1.04}75%{rotate:.7deg;translate:3px -2px;scale:1.04}}
@keyframes key-turn{to{transform:rotate(360deg)}}
@media(max-width:680px){.wind-button{left:14px;bottom:14px;padding:9px 12px;font-size:11px}.wind-label{min-width:108px}.photo-credit{bottom:69px}.hero-art>img{animation-duration:16s}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}.hero-art>img{transform:none!important}.card:hover,.btn:hover,.wind-button:hover{transform:none;translate:none}}
