/* Reference-led collage layout. All photographs and studio data stay authentic. */
:root{--bg:#100d0c;--card:#201916;--line:#4a3930;--cream:#eee2c8;--soft:#d9cfbd;--muted:#c4b8a4;--pink:#ff348f;--hotpink:#ff348f;--green:#bfdb54;--display:'IM Fell English',Georgia,serif}
html{scroll-padding-top:24px}
body{background:radial-gradient(ellipse at 70% 20%,#39251d55,transparent 48%),repeating-linear-gradient(32deg,#ad947306 0 1px,transparent 1px 5px),#100d0c;font-size:15px}
body:before{content:'';position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.32;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E")}
.wrap{max-width:1440px;padding:0 34px 24px;gap:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:30px;border-inline:1px solid #bba58022}
.thread,.stitches{display:none}
.site-header{grid-column:1/-1;position:relative;z-index:10;min-height:104px;border-bottom:1px solid #baa28225;gap:20px;flex-wrap:nowrap}
.site-header .logo{display:flex;align-items:center;gap:10px;text-decoration:none;background:none;box-shadow:none;border:0;padding:0;transform:rotate(-2deg);font-family:var(--hand);font-size:44px;line-height:1;color:var(--cream);white-space:nowrap;letter-spacing:-2px}
.site-header .logo img{width:72px;height:86px;object-fit:contain}
.brand-name{display:flex;flex-direction:column}
.site-header .logo small{font-family:var(--body);font-size:9px;letter-spacing:1.9px;text-align:center;line-height:1.7;margin-top:4px;white-space:normal;max-width:220px}
.site-header nav{align-items:center;gap:20px;flex-wrap:nowrap}
.site-header nav a{padding:12px 0;border:0;border-radius:0;font-family:var(--body);font-size:10px;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.site-header nav a:hover{border:0;color:var(--pink)}
.site-header nav a[aria-current=page]{background:none;border:0;color:var(--green);text-decoration:underline;text-underline-offset:9px}
.site-header nav a.nav-book{background:var(--pink);color:#130b0c;padding:13px 26px;border:0;box-shadow:none;border-radius:0;transform:rotate(-2deg);clip-path:polygon(2% 0,98% 3%,100% 15%,98% 28%,100% 43%,98% 60%,100% 78%,97% 100%,0 96%,2% 80%,0 65%,2% 44%,0 23%);font-weight:700}
.menu-toggle{display:none}
.hero{grid-column:1/-1;position:relative;display:grid;grid-template-columns:1.05fr 1fr;gap:0;min-height:420px;padding:0;isolation:isolate}
.hero-text{display:flex;flex-direction:column;gap:15px;justify-content:center;padding:28px 0 22px;z-index:2}
.hero-kicker{font-family:var(--hand);font-size:20px;color:var(--pink);transform:rotate(-8deg);align-self:flex-end;margin-right:40px;max-width:190px;line-height:1.05}
.hero h1{font-family:var(--display);font-size:clamp(56px,6.6vw,96px);font-weight:700;line-height:.84;letter-spacing:-.055em;text-transform:uppercase;white-space:nowrap;position:relative;text-wrap:initial;width:fit-content;transform:rotate(-2deg);margin:0 0 7px}
.hero h1 em{font-style:normal;color:var(--cream)}
.ink-heart{font-family:var(--hand);font-size:.6em;color:var(--pink);display:inline-block;transform:rotate(-12deg);vertical-align:middle;margin-left:6px}
.hero p{font-size:16px;line-height:1.4;margin:0;max-width:44ch;color:var(--soft)}
.hero-actions{display:flex;flex-wrap:wrap;gap:16px;align-items:center}
.btn{font-family:var(--body);font-size:12px;font-weight:700;letter-spacing:.035em;text-transform:uppercase;border:0;border-radius:0;background:var(--pink);color:var(--ink);padding:13px 24px;box-shadow:none;text-align:center;transition:background .15s}
.btn:hover{background:#ff77b4;box-shadow:none;transform:none}
.hero-actions .btn:first-child{transform:rotate(-2deg);clip-path:polygon(2% 0,97% 2%,100% 12%,98% 30%,100% 48%,98% 68%,100% 85%,97% 100%,0 97%,2% 76%,0 52%,2% 29%,0 12%)}
.btn-light{border:1.5px solid var(--cream);border-radius:40px;background:transparent;color:var(--cream);padding:11px 22px;box-shadow:none}
.btn-light:hover{background:var(--cream);color:var(--ink)}
.hero-actions .btn-light span{font-size:23px;line-height:0;margin-left:15px}
.hero .status{background:none;border:0;box-shadow:none;font-size:9px;padding:0;letter-spacing:.06em;color:var(--muted);order:5;text-shadow:none}
.hero-trust{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;max-width:530px;margin-top:2px}
.hero-trust span{display:flex;align-items:center;gap:9px;font-family:var(--body);font-size:9px;text-transform:uppercase;line-height:1.5;letter-spacing:.03em}
.hero-trust b{font-size:34px;font-weight:400;line-height:1}
.hero-collage{margin:-28px -7px 0 5px;position:relative;min-width:0;z-index:-1;transform:rotate(2deg);padding:15px;background:#c5b391;clip-path:polygon(0 2%,96% 0,100% 6%,98% 98%,9% 100%,0 95%)}
.hero-photo{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:50% 35%;filter:sepia(.3) brightness(.65) contrast(1.18);border:10px solid #b8a585}
.hero-collage:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#100d0c88,transparent 45%,#100d0c55);pointer-events:none}
.collage-mascot{position:absolute;z-index:2;right:-5px;bottom:-6px;width:32%;height:65%;object-fit:contain;transform:rotate(12deg);filter:sepia(.25) drop-shadow(3px 2px 0 #e7d6b4)}
.collage-scribble{position:absolute;right:12px;top:24px;color:var(--green);font:21px/1 var(--hand);transform:rotate(-11deg);z-index:2;max-width:105px;text-transform:uppercase}
.hero-art-note{position:absolute;left:-20px;bottom:28px;z-index:3;background:#d7c29e;color:#221912;font:21px/1.15 var(--hand);padding:17px 20px;transform:rotate(-12deg);text-align:center;clip-path:polygon(3% 0,100% 3%,97% 100%,0 96%)}
.hero-art-note span{color:var(--pink)}
#verk{grid-column:1/-1;border-top:1px solid #bba58040;border-bottom:1px solid #bba58040;padding:18px 0 12px;margin-top:10px;min-width:0}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.section-head h2,.booking h2,.about h2,.find h2,.gallery-head h1{font-family:var(--display);font-size:32px;line-height:1.1;text-transform:uppercase;letter-spacing:-.04em}
h2:after,.gallery-head h1:after{content:'';display:block;width:54px;height:3px;background:var(--pink);transform:rotate(-4deg);margin-top:5px}
.section-head p{font-size:11px;max-width:none}
.section-head>div{gap:18px!important}
.arrows{gap:6px}.arrow{width:30px;height:30px;border:0;background:none;box-shadow:none;color:var(--cream)}.arrow.next{background:none;color:var(--pink)}
.strip-wrap{margin-top:9px}.strip{padding:3px 0 6px}.strip-row{gap:10px}.strip-fade{width:28px}
.work{width:calc((min(100vw,1440px) - 148px)/6);min-width:145px;gap:5px}.work:nth-child(even){transform:none}
.patch{width:100%;height:150px;border:1px solid #aa93704a;border-radius:3px;outline:0;filter:saturate(.65) sepia(.12)}
#strip .caption{display:none}.your-turn{width:155px;height:150px;flex:none;background:#292019;color:var(--cream);border:1px solid #aa93704a;border-radius:3px;box-shadow:none}.your-turn img{height:65px;width:auto}.your-turn>span{font-size:19px}.your-turn .dymo{font-size:9px!important}.strip-end{width:0}
#verk .more-row{margin-top:4px;justify-content:space-between;font-size:10px}#verk .more-row .btn{font-size:10px;padding:6px 14px}
.about{grid-column:1;grid-row:4;display:grid;grid-template-columns:150px minmax(0,1fr);gap:20px;padding:28px 0;align-items:start;min-width:0}
.portrait{margin:0;padding:6px;transform:rotate(-4deg);background:#d3c3a4;box-shadow:3px 4px 0 #000;min-width:0;max-width:100%}
.portrait img{border:0;border-radius:0;aspect-ratio:4/4.7;object-fit:cover;object-position:50% 15%}
.portrait figcaption{display:none}.about-text{gap:12px;min-width:0}.about-text p{font-size:12px;line-height:1.6}.tags{gap:5px}.tags .dymo{font-size:8px;padding:4px 7px;letter-spacing:.03em}
.booking{grid-column:2;grid-row:4;background:#dfceae;color:#231a15;margin:24px 0;gap:12px;padding:20px 24px;position:relative;box-shadow:4px 5px 0 #000;clip-path:polygon(1% 0,98% 1%,100% 5%,99% 18%,100% 33%,99% 50%,100% 66%,99% 82%,100% 98%,70% 100%,45% 98%,20% 100%,0 98%,1% 80%,0 65%,1% 45%,0 25%)}
.booking h2{color:#231a15;font-size:28px}.booking .steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:0}.booking .step{background:none;border:0;padding:0;min-width:0;gap:4px;text-align:center;align-items:center}.booking .pin{display:none}.booking .step>svg:not(.pin){height:25px;width:100%;max-width:85px;background:#f083b2;border-radius:30px;padding:3px}.booking .step strong{font-size:11px;line-height:1.2}.booking .step span{font-size:10px;line-height:1.4;color:#372a20}.booking .contact-row{gap:8px}.booking .btn{font-size:9px;padding:8px 12px}.booking .btn-light{border-color:#35251b;color:#231a15}
.find{grid-column:1/-1;border-top:1px solid #bba58040;padding:20px 0;gap:35px}.find-text{gap:10px}.find h2{font-size:28px}.find .find-address{font-size:15px}.find .btn{font-size:10px;padding:9px 15px}.map{padding:4px;border:1px solid #bba58040;border-radius:0;background:#211a15}.map iframe{height:180px}
.site-footer{grid-column:1/-1;border-top:1px solid #bba58040;padding:18px 0 0;gap:20px;font-size:11px}.site-footer>img{width:45px}.footer-text strong{font-family:var(--display);font-size:23px}.footer-info{gap:6px 22px}
.gallery-head,.gallery-grid,.gallery-empty,main>.more-row{grid-column:1/-1}.gallery-head{padding:35px 0 22px}.gallery-head h1{font-size:48px}.gallery-head p{color:var(--soft)}.gallery-grid{gap:24px 18px}.g-open .patch{height:auto;width:100%;outline:0}.gallery-grid+ .more-row{margin:25px 0}.lightbox img{outline:0;border-radius:2px}.gallery-grid li:nth-child(n){transform:none}
@media(min-width:1440px){.hero{min-height:450px}}
@media(max-width:1100px){.site-header nav{gap:15px}.site-header .logo{font-size:36px}.site-header .logo img{width:60px}.hero h1{font-size:6.5vw}.hero-kicker{margin-right:20px;font-size:18px}.hero-actions{gap:10px}.hero-actions .btn{padding:12px 16px;font-size:10px}.hero-trust span{font-size:8px}.hero-trust b{font-size:26px}.about{grid-template-columns:120px minmax(0,1fr);gap:15px}.booking{padding:20px 15px}.booking .steps{gap:8px}.section-head p{display:none}}
@media(max-width:800px){.wrap{padding-inline:20px;column-gap:20px}.site-header nav{gap:12px}.site-header nav a{font-size:9px}.site-header .logo{font-size:30px}.site-header .logo small{font-size:7px}.site-header .logo img{width:46px;height:65px}.site-header{min-height:80px}.site-header nav a.nav-book{padding:12px}.hero{min-height:360px}.hero-text{gap:13px}.hero h1{font-size:6.4vw}.hero p{font-size:13px}.hero-trust{gap:6px}.hero-trust b{font-size:24px}.hero-trust span{font-size:7px;gap:4px}.hero-actions .btn{font-size:9px;padding:10px 12px}.hero-art-note{font-size:16px;padding:12px;left:0}.collage-scribble{font-size:16px}.hero-kicker{font-size:17px}.about{grid-column:1/-1;grid-template-columns:150px 1fr;grid-row:auto;padding-bottom:12px}.booking{grid-column:1/-1;grid-row:auto;margin:12px 0 24px}.about-text p{font-size:14px}.booking .step span{font-size:12px}.booking .step strong{font-size:13px}}
@media(max-width:600px){.wrap{display:flex;padding:0 18px 20px;gap:0;border:0}.site-header{order:0;min-height:78px;justify-content:space-between;flex-wrap:wrap;gap:0}.site-header .logo{font-size:32px}.site-header .logo img{height:65px;width:49px}.site-header .logo small{font-size:7px;max-width:170px}.menu-toggle{display:flex;flex-direction:column;gap:5px;justify-content:center;align-items:center;width:44px;height:44px;background:none;border:0;color:var(--cream)}.menu-toggle span{width:24px;height:2px;background:currentColor}.site-header nav{display:none;flex-direction:column;align-items:stretch;gap:4px;width:100%;padding:12px 0 18px}.menu-toggle[aria-expanded=true]+nav{display:flex}.site-header nav a{font-size:12px;padding:14px 10px;min-height:44px}.site-header nav a.nav-book{text-align:center}.hero{order:1;display:flex;flex-direction:column;min-height:0;padding-top:0}.hero-collage{position:absolute;top:0;right:-8px;left:16px;height:260px;margin:0;transform:rotate(-3deg);z-index:-1;opacity:.8}.hero-photo{object-position:50% 28%;border-width:6px}.hero-collage:after{background:linear-gradient(180deg,transparent 25%,#100d0c 100%)}.collage-mascot{width:24%;height:65%;right:0;bottom:25px}.hero-art-note,.collage-scribble{display:none}.hero-text{padding:160px 0 18px;gap:16px}.hero-kicker{align-self:flex-start;margin:0;max-width:175px;font-size:17px;line-height:1.1;transform:rotate(-9deg);text-shadow:1px 2px #100d0c}.hero h1{font-size:clamp(36px,10.3vw,62px);letter-spacing:-.045em;line-height:.9}.ink-heart{font-size:.6em;margin-left:3px}.hero p{font-size:14px;line-height:1.45}.desktop-break{display:none}.hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.hero-actions .btn{font-size:9px;padding:12px 8px;white-space:nowrap}.hero-actions .btn-light span{margin-left:3px;font-size:17px}.hero-trust{gap:10px;max-width:none;margin-top:6px}.hero-trust span{flex-direction:column;text-align:center;font-size:8px;gap:6px}.hero-trust b{font-size:30px}.hero .status{font-size:8px}.section-head h2{font-size:25px}.section-head{gap:5px}.arrows{display:flex}.arrow{width:25px;height:30px}.arrow svg{width:17px}#verk{order:2;margin:0;padding:14px 0 9px}.work{width:92px;min-width:92px}.patch{height:112px}.strip-row{gap:7px}.your-turn{width:100px;height:112px}.your-turn img{height:43px}.your-turn>span{font-size:14px}#verk .more-row>a:last-child{display:none}#verk .more-row .btn{font-size:8px;padding:5px 10px}.about{order:3;display:grid;grid-template-columns:108px minmax(0,1fr);gap:16px;padding:22px 0}.about h2{font-size:27px}.about-text{gap:9px}.about-text p{font-size:11px;line-height:1.5}.portrait{padding:5px;margin-top:4px}.portrait img{aspect-ratio:3/4;object-position:50% 20%}.tags{display:none}.booking{order:4;margin:0 0 24px;padding:22px 18px;gap:16px}.booking h2{font-size:28px}.booking .steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px}.booking .step strong{font-size:12px}.booking .step span{font-size:11px}.booking .contact-row .btn{width:100%;font-size:10px;min-height:40px}.find{order:5;padding:20px 0}.map iframe{height:220px}.site-footer{order:6}.footer-info{gap:4px 15px}.footer-info>*{padding:8px 0}.gallery-head{order:1;padding-top:25px}.gallery-grid,.gallery-empty{order:2}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}.gallery-grid .caption{gap:5px}.gallery-grid .caption .dymo{font-size:8px;letter-spacing:.03em;padding:4px 6px}main>.more-row{order:3;margin:22px 0;font-size:12px}.gallery-head h1{font-size:40px}.gallery-head p{font-size:13px}.lightbox{order:10}}
@media(max-width:350px){.hero-actions{grid-template-columns:1fr}.hero-actions .btn{font-size:10px}.hero h1{font-size:10vw}.site-header .logo{font-size:29px}.about{grid-template-columns:90px 1fr;gap:12px}.about h2{font-size:24px}.hero-trust span{font-size:7px}.hero p{font-size:13px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Stretch the absolutely positioned photo's frame across the hero grid row. */
.hero-collage{align-self:stretch}
body:before{opacity:.12}
/* Rotated paper and sticker decorations must not widen the page. */
body{overflow-x:clip}
html{overflow-x:clip}
/* The photograph has torn edges; the note and mascot are free to overlap them. */
.hero-collage{clip-path:none;background:none;overflow:visible}
.hero-photo,.hero-collage:after{clip-path:polygon(0 2%,96% 0,100% 6%,98% 98%,9% 100%,0 95%)}
.hero-art-note{left:-28px;box-shadow:4px 5px 12px #0005}
/* Override the original large 42px label, which pushed the doll above the card. */
.your-turn{padding:10px 8px;gap:5px;justify-content:center;overflow:visible}
.your-turn img{height:56px;width:auto;max-width:80%;object-fit:contain;flex:none}
.your-turn span:first-of-type{font-size:25px;line-height:1;white-space:nowrap}
.your-turn .dymo{font-size:9px!important;line-height:1.2;padding:4px 6px;letter-spacing:.04em}
.motion-toggle{border:1px solid #bba58066;border-radius:20px;background:transparent;color:var(--cream);font:inherit;padding:7px 12px;min-height:36px;cursor:pointer}
.motion-toggle[hidden]{display:none}
.btn,.patch,.hero-trust b,.menu-toggle span{transition:transform .25s ease,background .2s ease,filter .25s ease}
.btn:hover,.btn:focus-visible{filter:brightness(1.12)}
.btn-light:hover span{display:inline-block;transform:translateX(4px)}
a.work:hover .patch,.g-open:hover .patch{filter:saturate(1) sepia(0);transform:translateY(-3px)}
@media(max-width:600px){.your-turn{padding:8px 6px;gap:4px}.your-turn img{height:36px}.your-turn span:first-of-type{font-size:18px}.your-turn .dymo{font-size:8px!important;padding:3px 4px}.motion-toggle{min-height:44px}}
@media(prefers-reduced-motion:no-preference){
  .hero-text{animation:ink-arrive .85s ease-out both}
  .collage-mascot{transform-origin:50% 75%;animation:mascot-sway 6s ease-in-out infinite}
  .ink-heart{animation:ink-heartbeat 3.6s ease-in-out infinite}
  .hero-art-note{animation:note-breeze 7s ease-in-out infinite;transform-origin:50% 5%}
  .your-turn img{animation:card-doll-float 4.5s ease-in-out infinite}
  .hero-kicker{animation:kicker-glow 5s ease-in-out infinite}
  .hero-trust span:hover b{transform:translateY(-4px) rotate(-8deg);color:var(--pink)}
}
@keyframes ink-arrive{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}
@keyframes mascot-sway{0%,100%{transform:rotate(10deg) translateY(0)}50%{transform:rotate(14deg) translateY(-6px)}}
@keyframes ink-heartbeat{0%,35%,65%,100%{scale:1}45%{scale:1.13}55%{scale:1.04}}
@keyframes note-breeze{0%,100%{transform:rotate(-12deg)}50%{transform:rotate(-9deg)}}
@keyframes card-doll-float{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-3px) rotate(3deg)}}
@keyframes kicker-glow{0%,100%{text-shadow:0 0 0 #ff348f00}50%{text-shadow:0 0 14px #ff348f80}}
html.motion-paused *,html.motion-paused *:before,html.motion-paused *:after{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
