:root{--bg:#171816;--paper:#eeeae0;--yellow:#e6ff55;--muted:#b7b7ab}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--paper);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none;cursor:pointer}button,input,textarea,select{font:inherit}button{cursor:pointer}header{height:104px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #41423b}.brand{display:flex;gap:12px;align-items:center;font-weight:950;font-size:38px;letter-spacing:-3px}.brand span{font-size:10px;line-height:1.3;letter-spacing:2px;width:85px}nav{display:flex;gap:35px;align-items:center;font-size:13px;font-weight:bold}nav a[aria-current=page]{color:var(--yellow)}.nav-book{border:1px solid #74766b;padding:10px 18px}.nav-book span{margin-left:24px}.hero{padding:58px 6% 48px;position:relative;overflow:hidden}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--yellow);margin-right:10px}h1,h2,h3,p{margin-top:0}h1{font-family:Impact,'Arial Narrow',sans-serif;font-size:clamp(90px,17vw,245px);line-height:.86;letter-spacing:-.025em;font-weight:900;margin:38px 0;position:relative}.outline{color:transparent;-webkit-text-stroke:1.5px var(--paper)}.stamp{display:block;position:absolute;left:64%;top:12%;font:900 clamp(18px,3.3vw,48px)/.95 Impact,'Arial Narrow',sans-serif;letter-spacing:0;padding:22px 32px;background:var(--yellow);color:var(--bg);transform:rotate(9deg);border:3px solid var(--bg);outline:1px solid var(--yellow)}.hero-bottom{display:flex;align-items:center;justify-content:space-between;max-width:950px;padding-top:20px}.hero-bottom p{color:var(--muted);line-height:1.7;font-size:15px;margin:0}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:16px 24px;font-weight:bold;font-size:14px;border:0;transition:transform .2s}.button:hover{transform:translateY(-3px)}.yellow{background:var(--yellow);color:var(--bg)}.light{background:var(--paper);color:var(--bg)}.side-note{position:absolute;right:22px;top:46%;writing-mode:vertical-rl;font-size:9px;letter-spacing:3px;color:var(--muted)}.ticker{background:var(--yellow);color:var(--bg);display:flex;align-items:center;justify-content:space-around;padding:18px 3%;gap:20px;font-size:12px;letter-spacing:2px;font-weight:900}.ticker b{font-size:26px;line-height:1}.section-head{margin:70px 6% 30px;display:flex;justify-content:space-between;border-bottom:1px solid #55564e;padding-bottom:18px;font-size:10px;color:var(--muted)}.show{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding:0 10% 80px;align-items:center}.poster{aspect-ratio:4/4.5;background:var(--paper);color:#181916;display:flex;align-items:center;justify-content:center;flex-direction:column;transform:rotate(-3deg);padding:30px;box-shadow:12px 12px 0 #292b25;position:relative}.poster:before{content:'';position:absolute;top:-13px;width:120px;height:30px;background:#b5ae8e99;transform:rotate(4deg)}.poster>span{font-size:22px;letter-spacing:5px;font-weight:900}.poster strong{font:900 clamp(110px,19vw,255px)/1 Impact,sans-serif;letter-spacing:-12px;transform:rotate(5deg)}.poster small{background:var(--bg);color:var(--paper);padding:5px 9px;font-weight:900;transform:rotate(-3deg);font-size:11px}.poster i{margin-top:30px;font-size:10px;font-style:normal;letter-spacing:4px}h2{font-size:clamp(28px,3.6vw,52px);letter-spacing:-2px;line-height:1.05;margin-bottom:24px}.show-copy h2{margin-top:24px}.show-copy p,.prose p,.booking-grid p,.merch-main p{color:var(--muted);font-size:15px;max-width:520px}.show-details{padding:22px 0;border-top:1px solid #55564e;margin-top:24px;font-size:14px}.text-link{display:inline-block;border-bottom:1px solid var(--yellow);padding-bottom:5px;font-size:13px}.booking-strip{padding:50px 6%;border-top:1px solid #55564e;display:flex;align-items:center;justify-content:space-between}.booking-strip h2{margin:0}footer{display:flex;align-items:center;gap:32px;padding:35px 5%;border-top:1px solid #55564e;flex-wrap:wrap}footer p{font-size:9px;letter-spacing:1.5px;margin:0;flex:1}footer>a:not(.brand),footer small{font-size:11px;color:var(--muted)}.page-title{padding:55px 6% 10px}.page-title h1{font-size:clamp(65px,10vw,145px)}.about-grid,.booking-grid,.merch-main{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding:40px 6% 90px}.type-art{padding:45px 30px;background:var(--yellow);color:var(--bg);font:900 clamp(30px,4.5vw,64px)/1.05 Impact,sans-serif;transform:rotate(-2deg);align-self:start}.type-art em{display:block;color:transparent;-webkit-text-stroke:1.5px var(--bg);font-style:normal;margin-top:35px}.type-art span{display:block;font:10px Arial;letter-spacing:2px;margin-top:60px}.prose h2{font-size:32px}.prose .button{margin-top:20px}.services{display:grid;grid-template-columns:repeat(3,1fr);margin:0 6% 70px;border-top:1px solid #55564e;gap:40px;padding-top:30px}.services span{color:var(--yellow);font-size:12px}.services h3{font-size:25px;margin:18px 0 8px}.services p{color:var(--muted);font-size:14px}.booking-grid{grid-template-columns:.85fr 1.15fr}.note{border-top:1px solid #55564e;border-bottom:1px solid #55564e;padding:25px 0;margin:35px 0}.note strong{font-size:14px}.note p{margin:10px 0 0}.small{font-size:12px!important;color:var(--muted)}label{display:block;font-size:12px;font-weight:bold}input,textarea,select{display:block;width:100%;padding:13px;background:#23251f;color:var(--paper);border:1px solid #626457;margin:8px 0 22px;border-radius:0;font-size:15px;color-scheme:dark}textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--yellow);outline-offset:5px}#form-status{font-size:13px;color:var(--yellow)}#draft-wrap .text-link{margin:20px} .merch-art{background:var(--yellow);color:var(--bg);padding:30px;display:flex;flex-direction:column;gap:30px}.merch-art span{font-size:10px;letter-spacing:2px}.merch-art strong{font:900 clamp(60px,7vw,110px)/.9 Impact,sans-serif}.merch-art em{font-style:normal;color:transparent;-webkit-text-stroke:1.5px var(--bg)}.merch-main{align-items:center}.merch-main h2{margin-top:25px}[hidden]{display:none!important}@media(max-width:700px){header{height:85px;padding:0 5%}.brand{font-size:30px}.brand span{font-size:8px;width:65px}nav{gap:13px;font-size:11px}.nav-book{padding:8px}.nav-book span{display:none}.hero{padding:40px 6%}.hero h1{font-size:24vw;margin:35px 0}.stamp{left:auto;right:0;top:0;padding:12px 15px;font-size:5vw}.hero-bottom{display:block}.hero-bottom .button{margin-top:28px}.side-note{display:none}.eyebrow{font-size:9px}.ticker{font-size:8px;gap:12px;letter-spacing:1px}.ticker b{font-size:18px}.ticker span:last-child{display:none}.section-head{margin-top:45px}.show,.about-grid,.booking-grid,.merch-main{grid-template-columns:1fr;gap:45px;padding:25px 6% 55px}.show{padding-left:10%;padding-right:10%}.poster strong{font-size:48vw}.booking-strip{display:block}.booking-strip .button{margin-top:25px}.page-title h1{font-size:12vw}.services{grid-template-columns:1fr;gap:15px}.type-art{font-size:12vw}.form-row{grid-template-columns:1fr;gap:0}footer{gap:22px}footer p{flex-basis:50%;font-size:8px}.merch-art strong{font-size:20vw}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
/* Personal photography and supplied Pirate King branding. */
.brand{gap:12px;letter-spacing:0}.brand img{width:66px;height:66px;object-fit:contain}.brand span{width:125px;font-size:10px;line-height:1.65;letter-spacing:1.5px}
.hero{min-height:720px;display:flex;align-items:center;background:#0c0b0d;padding-top:65px;padding-bottom:65px}.hero-photo{position:absolute;right:0;top:0;width:49%;height:100%;object-fit:cover;object-position:center 27%;mask-image:linear-gradient(to right,transparent,#000 18%);-webkit-mask-image:linear-gradient(to right,transparent,#000 18%)}.hero-content{position:relative;z-index:1;width:67%;pointer-events:none}.hero-content a{pointer-events:auto}.hero h1{font-size:clamp(90px,12vw,175px);margin:38px 0 25px}.hero .stamp{position:static;display:table;font-size:16px;line-height:1.05;letter-spacing:2px;padding:10px 18px;margin:24px 0 0;transform:rotate(-4deg)}.hero .stamp br{display:none}.hero-bottom{display:block;padding-top:12px}.hero-bottom p{color:#dfddd6;font-size:14px}.hero-bottom .button{margin-top:24px}.hero .side-note{z-index:2;background:#171816a8;padding:12px 4px}.about-portrait{margin:0;align-self:start;position:relative}.about-portrait img{display:block;width:100%;height:auto}.about-portrait figcaption{position:absolute;bottom:20px;left:20px;right:20px;background:var(--yellow);color:var(--bg);font-size:10px;font-weight:bold;letter-spacing:1.5px;padding:12px}
@media(max-width:700px){.brand img{width:48px;height:48px}.brand span{width:77px;font-size:8px;letter-spacing:.8px}.brand{gap:7px}nav{gap:10px}.hero{display:block;min-height:0;padding:0;background:#0c0b0d}.hero-photo{position:relative;width:100%;height:420px;object-position:center 25%;mask-image:linear-gradient(to bottom,#000 80%,transparent);-webkit-mask-image:linear-gradient(to bottom,#000 80%,transparent)}.hero-content{width:100%;padding:0 6% 38px;margin-top:-30px}.hero h1{font-size:22vw;margin:24px 0 20px}.hero .stamp{font-size:13px;margin-top:20px}.hero-content .eyebrow{font-size:8px}.hero-bottom p{font-size:13px}.about-portrait figcaption{font-size:8px}}
@media(max-width:370px){nav{gap:7px;font-size:10px}.brand span{display:none}}
.blog-intro{padding:30px 6% 80px;max-width:1000px}.blog-intro>p,.gallery-intro p,.blog-post p,.blog-empty p{color:var(--muted);max-width:680px}.blog-empty,.blog-post{border-top:1px solid #55564e;padding:35px 0;margin-top:45px}.blog-empty h3{font-size:26px}.blog-empty .button{margin-top:18px}.gallery-intro{padding:0 6%}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px;padding:25px 6% 80px}.gallery-item{padding:0;border:0;background:none;color:var(--paper);text-align:left}.gallery-item img{display:block;width:100%;height:580px;object-fit:cover;object-position:center 20%}.gallery-item span{display:flex;justify-content:space-between;padding:20px 0;border-bottom:1px solid #55564e;font-size:11px;letter-spacing:2px}.gallery-item b{color:var(--yellow);font-size:20px}#photo-dialog{background:#111;border:1px solid #666;color:var(--paper);padding:18px;max-width:95vw;max-height:95vh}#photo-dialog::backdrop{background:#000e}#full-photo{display:block;max-width:85vw;max-height:75vh;object-fit:contain;margin:10px auto}#close-photo{display:block;margin-left:auto;background:var(--yellow);color:#171816;border:0;padding:10px 16px;font-weight:bold}#photo-caption{text-align:center;margin:10px 0;font-size:13px}
@media(max-width:850px){header{height:auto;min-height:100px;flex-wrap:wrap;gap:10px;padding-top:12px;padding-bottom:15px}nav{width:100%;justify-content:space-between;gap:10px}.gallery-item img{height:430px}}
@media(max-width:550px){.gallery-grid{grid-template-columns:1fr}.gallery-item img{height:auto}.blog-intro{padding-top:20px}.gallery-intro p{font-size:13px}nav{font-size:11px}}
/* Crop only the surrounding square; retain the supplied coin artwork. */
.brand img{clip-path:circle(39% at 50% 49%);transform:scale(1.24)}
.real-poster{padding:0;background:none;transform:none;box-shadow:none;aspect-ratio:auto}.real-poster:before{display:none}.real-poster img{display:block;width:100%;height:auto}
.visits-list{padding:20px 6% 80px}.visit-card{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:35px 0;border-top:1px solid #55564e}.visit-card img{width:100%;max-height:600px;object-fit:contain}.visit-card p{white-space:pre-line;color:var(--muted)}.empty-note{border-top:1px solid #55564e;padding:35px 0;color:var(--muted)}.merch-products{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding:0 6% 70px}.product img{width:100%;aspect-ratio:1;object-fit:contain}.product h3{margin:15px 0}.product p{color:var(--muted)}.hero-bottom p{white-space:pre-line}
@media(max-width:1100px){header{height:auto;min-height:104px;flex-wrap:wrap;padding-top:15px;padding-bottom:15px;gap:15px}nav{flex-wrap:wrap;gap:20px}nav a{font-size:12px}}
@media(max-width:700px){nav{justify-content:flex-start;gap:15px}.visit-card,.merch-products{grid-template-columns:1fr}}
