/* The site's look, from the Creator's page template: its colours and fonts here, each 1 line. */
:root{--bg:#FAF8F5;--ink:#111111;--muted:#6B6560;--rule:#E4DED6;--accent:#111111;--on-accent:#FFFFFF;--kick:#8A6A44;--kick-hero:#8A6A44;--surface:#FFFFFF;--hl:#FFFFFF;--nav-bg:transparent;--hero-bg:transparent;--hero-ink:inherit;--hero-rule:rgba(255,255,255,.25);--sec-bg:transparent;--foot-bg:transparent;--foot-ink:inherit;--head:'Bodoni Moda',Georgia,serif;--text:'Hanken Grotesk',system-ui,sans-serif;--mono:'IBM Plex Mono',ui-monospace,monospace;--row-head:'Familjen Grotesk',system-ui,sans-serif;--hw:600;--row-w:600;--lh:1.02;--ls:-.01em;--tt:none;--row-tt:none;--r:2px;--rb:2px;--r-img:0;--brand-size:20px;--card-pad:0;--card-bg:transparent;--card-border:0;--card-ls:-.01em;--h1:44px;--h1-phone:36px;}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--text);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}
a{color:inherit;text-decoration:none}
img{max-width:100%}
.head-font{font-family:var(--head);font-weight:var(--hw)}
.nav{position:relative;display:flex;align-items:center;gap:28px;padding:14px 56px;border-bottom:1px solid var(--rule);background:var(--nav-bg);white-space:nowrap}
.brand{display:flex;align-items:baseline;gap:10px;min-width:0}
.brand b{font-family:var(--head);font-weight:var(--hw);font-size:var(--brand-size);letter-spacing:var(--ls);text-transform:var(--tt);line-height:1}
.brand small{font-size:13px;color:var(--muted)}
.links{display:flex;gap:24px;font-size:15px;font-weight:500;color:var(--muted)}
.links a:hover{color:var(--ink)}
.end{margin-left:auto;display:flex;gap:8px}
.cta{display:inline-flex;align-items:center;height:40px;padding:0 16px;border-radius:var(--r);background:var(--accent);color:var(--on-accent);font-size:14.5px;font-weight:600}
.menu{display:none;position:relative}
.menu summary{display:inline-flex;align-items:center;height:40px;padding:0 12px;border-radius:var(--r);border:1.5px solid var(--ink);font-size:14.5px;font-weight:600;cursor:pointer;list-style:none}
.menu summary::-webkit-details-marker{display:none}
.menu nav{position:absolute;right:0;top:48px;z-index:5;display:flex;flex-direction:column;min-width:200px;padding:8px 0;background:var(--surface);border:1px solid var(--rule);border-radius:var(--rb)}
.menu nav a{padding:12px 16px;font-size:15px;font-weight:500}
.btn{display:inline-flex;align-items:center;height:48px;padding:0 20px;border-radius:var(--r);background:var(--accent);color:var(--on-accent);font-size:16px;font-weight:600;white-space:nowrap}
.btn.big{height:50px;padding:0 22px;font-weight:700}
.btn.ghost{background:transparent;color:inherit;border:1.5px solid var(--ink);font-weight:600}
.btn.ghost.cur{border-color:currentColor}
.btns{display:flex;flex-wrap:wrap;gap:10px}
.kick{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--kick)}
h1{margin:0;font-family:var(--head);font-weight:var(--hw);font-size:var(--h1);line-height:var(--lh);letter-spacing:var(--ls);text-transform:var(--tt);text-wrap:balance}
.lead{margin:0;font-size:20px;line-height:1.5;color:var(--muted);text-wrap:pretty}
.hero-type{display:grid;grid-template-columns:minmax(0,1fr);gap:64px;align-items:start;padding:40px 56px 80px;background:var(--hero-bg)}
.hero-type.aside{grid-template-columns:minmax(0,7fr) minmax(0,4fr)}
.hero-type .copy,.hero-split .copy{display:flex;flex-direction:column;gap:20px;align-items:flex-start}
.hero-type .lead{max-width:600px}
.aside-box{display:flex;flex-direction:column;padding:6px 22px 10px;background:var(--surface);border:1px solid var(--rule);border-radius:var(--rb)}
.aside-box .t{padding:14px 0 8px;font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.aside-box .row{display:flex;flex-direction:column;gap:4px;padding:14px 0;border-top:1px solid var(--rule)}
.aside-box .row span:first-child{font-size:13px;color:var(--muted)}
.aside-box .row span:last-child{font-family:var(--head);font-weight:var(--hw);font-size:20px;line-height:1.15;letter-spacing:var(--ls)}
.hero-split{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:64px;align-items:start;padding:40px 56px 80px}
.hero-split .lead{max-width:520px}
.hero-split img{display:block;width:100%;aspect-ratio:5/4;object-fit:cover;border-radius:var(--rb)}
.hero-poster{position:relative;display:flex;flex-direction:column;gap:22px;align-items:flex-start;padding:40px 56px 72px;background:var(--hero-bg);color:var(--hero-ink);overflow:hidden}
.hero-poster>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-poster .shade{position:absolute;inset:0;background:rgba(10,12,10,.48)}
.hero-poster>*:not(img):not(.shade){position:relative}
.hero-poster .kick{font-size:14px;color:var(--kick-hero)}
.hero-poster h1{max-width:1100px}
.hero-poster .lead{max-width:580px;color:inherit;opacity:.86}
.marquee{overflow:hidden;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);background:var(--accent);color:var(--on-accent)}
.marquee div{display:inline-flex;white-space:nowrap;padding:14px 0;font:800 30px/1 var(--head);letter-spacing:-.02em;animation:th-mq 18s linear infinite}
.marquee span{padding-right:.3em}
.hero-center{display:flex;flex-direction:column;align-items:center;gap:14px;padding:40px 56px 40px;text-align:center}
.hero-center .kick{font-size:15px;letter-spacing:0;text-transform:none}
.hero-center h1{letter-spacing:var(--ls);text-transform:none}
.hero-center .lead{font-size:30px;line-height:1.3;font-weight:500}
.hero-center .btns{justify-content:center;gap:12px;margin-top:8px}
.hero-center .btn{height:46px}
.stage-shot{display:flex;align-items:flex-end;width:100%;max-width:1080px;height:440px;margin-top:36px;padding:16px;background:var(--surface);border-radius:var(--rb)}
.stage-shot span{font-size:12.5px;font-weight:500;color:var(--muted)}
.hero-profile{display:flex;justify-content:center;padding:40px 56px 56px}
.hero-profile .card{display:flex;flex-direction:column;align-items:center;gap:14px;width:100%;max-width:520px;text-align:center}
.hero-profile img{width:96px;height:96px;object-fit:cover;border-radius:var(--rb)}
.hero-profile h1{line-height:1.05;text-transform:none}
.hero-profile .kick{font-size:15px;letter-spacing:0;text-transform:none}
.hero-profile .lead{font-size:16.5px}
.plinks{display:flex;flex-direction:column;gap:10px;width:100%;margin-top:10px}
.plinks a{display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:0 18px;border-radius:var(--r);border:1.5px solid var(--ink);font-size:16px;font-weight:600;text-align:left}
.plinks a.hot{background:var(--ink);color:var(--bg)}
.plinks a span{font-weight:500;opacity:.75}
.sec{display:flex;flex-direction:column;gap:20px;padding:48px 56px;border-top:1px solid var(--rule);background:var(--sec-bg)}
.sec-head{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
h2{margin:0;font-family:var(--head);font-weight:var(--hw);font-size:40px;line-height:1.05;letter-spacing:var(--ls);text-transform:var(--tt)}
.sec-head .note{font-size:15px;color:var(--muted)}
.tag{display:inline-flex;align-items:center;height:22px;padding:0 7px;border-radius:4px;background:var(--accent);color:var(--on-accent);font-family:var(--text);font-size:12px;font-weight:700;text-transform:none;letter-spacing:0}
.sample{background:transparent;color:var(--muted);border:1px solid var(--rule)}
.rows{display:flex;flex-direction:column;border-top:2px solid var(--ink)}
.rows .r{display:grid;gap:4px 20px;align-items:baseline;padding:16px 10px;border-bottom:1px solid var(--rule)}
.rows .r.hl{background:var(--hl)}
.rows .rh{display:grid;gap:4px 20px;padding:12px 10px;border-bottom:1px solid var(--rule);font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.rows .a{font-size:14.5px;font-weight:600;color:var(--muted)}
.rows .b{font-family:var(--row-head);font-weight:var(--row-w);font-size:20px;line-height:1.3;text-transform:var(--row-tt)}
.rows .b .tag{margin-left:10px;vertical-align:3px}
.rows .c{font-size:15px;color:var(--muted)}
.rows .d{font-size:16px;font-weight:700;text-align:right}
.cards{display:grid;gap:20px}
.cards article{display:flex;flex-direction:column;gap:10px;padding:var(--card-pad);background:var(--card-bg);border:var(--card-border);border-radius:var(--rb)}
.cards img{display:block;width:100%;object-fit:cover;border-radius:var(--r-img)}
.cards .k{font-size:12.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--kick)}
.cards .t{font-family:var(--head);font-weight:var(--hw);font-size:22px;line-height:1.2;letter-spacing:var(--card-ls);text-wrap:pretty}
.cards .s{font-size:15px;color:var(--muted);text-wrap:pretty}
.cards .m{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:4px;font-size:16px;font-weight:700}
.cards .m .cta{height:40px;padding:0 14px;white-space:nowrap}
.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.plans article{display:flex;flex-direction:column;gap:14px;padding:24px;background:var(--surface);border:1px solid var(--rule);border-radius:var(--rb)}
.plans article.top{border:2px solid var(--accent)}
.plans .pt{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:700}
.plans .price{font-family:var(--head);font-weight:var(--hw);font-size:40px;line-height:1;letter-spacing:-.03em}
.plans .f{display:flex;flex-direction:column;gap:8px;padding-top:14px;border-top:1px solid var(--rule)}
.plans .f span{font-size:15px;color:var(--muted)}
.plans .go{margin-top:auto;display:flex;align-items:center;height:46px;padding:0 16px;border-radius:var(--r);border:1.5px solid var(--ink);font-size:15.5px;font-weight:600}
.plans article.top .go{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.sec-note{font-size:13.5px;color:var(--muted)}
.comp{display:grid;grid-template-columns:minmax(0,440px) minmax(0,1fr);gap:48px;align-items:stretch;padding:32px 56px 48px}
.comp-photo{align-self:stretch}
.comp-photo .open{height:100%}
.comp-photo .open img{height:100%}
.comp-info .btns{margin-top:auto}
.pols{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
.pols figure{display:flex;flex-direction:column;gap:10px;margin:0;padding:10px 10px 14px;background:var(--surface);border:1px solid var(--rule);border-radius:4px}
.pols img,.pols .ph{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:2px}
.pols .ph{border:0;background:var(--bg)}
.pols figcaption{font-size:13.5px;font-weight:600;text-align:center}
.about{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:56px;align-items:start}
.bio{display:flex;flex-direction:column;gap:14px;max-width:640px}
.bio p{margin:0;font-size:18px;line-height:1.6;text-wrap:pretty}
.does{margin:0;border-top:2px solid var(--ink)}
.does div{display:grid;grid-template-columns:140px minmax(0,1fr);gap:4px 16px;padding:14px 0;border-bottom:1px solid var(--rule)}
.does dt{font-weight:700}
.does dd{margin:0;color:var(--muted)}
.enq{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;max-width:880px}
.enq label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600}
.enq .wide{grid-column:1/-1}
.enq input,.enq select,.enq textarea{width:100%;min-height:46px;padding:10px 12px;border:1.5px solid var(--rule);border-radius:var(--r);background:var(--surface);color:var(--ink);font:400 16px var(--text)}
.enq textarea{resize:vertical}
.enq input:focus,.enq select:focus,.enq textarea:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:transparent}
.enq button{border:0;cursor:pointer;font-family:var(--text)}
.enq .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.flash{margin:0;max-width:880px;padding:14px 16px;border-radius:var(--r);border:1.5px solid var(--danger,#C0281E);font-weight:600}
.flash.ok{border-color:var(--ink);background:var(--surface)}
.brand b{font-family:var(--text);font-size:15px;font-weight:600;letter-spacing:.22em;text-transform:uppercase}
.brand small{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase}
.links{font-size:12px;letter-spacing:.16em;text-transform:uppercase}
.cta,.btn{font-size:12.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.places{display:flex;flex-direction:column;gap:12px;padding-top:24px;border-top:2px solid var(--ink)}
.places h3{margin:0;font-size:11.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.places ul{display:flex;flex-wrap:wrap;gap:6px 0;margin:0;padding:0;list-style:none}
.places li{font-family:var(--head);font-size:clamp(20px,2.4vw,28px);line-height:1.25}
.places li:not(:last-child)::after{content:"\00B7";padding:0 .45em;color:var(--kick)}
.social{display:flex;flex-wrap:wrap;gap:8px 24px;margin:0;padding:0;list-style:none}
.social li{display:flex;align-items:baseline;gap:8px;font-size:15px}
.social span{font-size:11.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.social a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.fsoc{display:flex;flex-wrap:wrap;gap:4px 16px}
.fsoc a{text-decoration:underline;text-underline-offset:3px}
.statement{padding:40px 56px;border-top:1px solid var(--rule);background:#1A1816;color:#CFC6B8}
.statement p{margin:0;max-width:none;text-align:left;font-family:var(--head);font-weight:500;font-size:clamp(26px,3.6vw,48px);line-height:1.25;letter-spacing:-.005em;text-wrap:pretty;-webkit-font-smoothing:antialiased}
@media (max-width:900px){.statement{padding:40px 32px}}
@media (max-width:640px){.statement{padding:32px 16px}}
.mgmt{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:0;font-size:15px}
.mgmt span{font-size:11.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.mgmt a,.foot .f a{text-decoration:underline;text-underline-offset:3px}
.end .shop{display:inline-flex;align-items:center;height:40px;padding:0 14px;border:1px solid var(--ink);border-radius:var(--r);font-size:12.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.kick{font-size:12px;letter-spacing:.24em}
.comp-info h1{font-size:96px;letter-spacing:-.02em}
.comp-info .lead{font-size:18px}
.comp-photo img{object-position:center top}
h2{font-weight:500}
.folio figcaption .k,.does dt{letter-spacing:.14em;text-transform:uppercase;font-size:11.5px}
.does{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}
.does div{grid-template-columns:minmax(0,1fr)}
.does dt{font-size:12.5px}
.comp-photo .ph,.folio .ph{display:flex!important}
.comp-photo img,.comp-photo .ph{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:var(--rb)}
.ph{display:flex;align-items:flex-end;padding:14px;background:var(--surface);border:1px solid var(--rule);color:var(--muted);font-size:13px;font-weight:500}
.open{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in}
.comp-info{display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.comp-info h1{font-size:72px}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;margin:6px 0 0;border-top:2px solid var(--ink)}
.stats div{padding:12px 12px 12px 0;border-bottom:1px solid var(--rule)}
.stats dt{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.stats dd{margin:2px 0 0;font-family:var(--head);font-weight:600;font-size:19px;line-height:1.25}
.folio{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.folio figure{display:flex;flex-direction:column;gap:8px;margin:0}
.folio img,.folio .ph{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r-img)}
.folio figcaption{display:flex;gap:10px;font-size:14.5px}
.folio figcaption .k{font-weight:600;color:var(--kick)}
.lightbox{width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:rgba(15,13,11,.95);color:#fff}
.lightbox[open]{display:flex;align-items:center;justify-content:center}
.lightbox::backdrop{background:rgba(15,13,11,.95)}
.lightbox img{max-width:88vw;max-height:88vh;object-fit:contain}
.lightbox button{position:absolute;height:44px;padding:0 14px;border-radius:var(--r);border:1.5px solid rgba(255,255,255,.7);background:transparent;color:#fff;font:600 15px var(--text);cursor:pointer}
.lightbox .close{top:16px;right:16px}
.lightbox .prev{left:16px;top:50%;transform:translateY(-50%)}
.lightbox .next{right:16px;top:50%;transform:translateY(-50%)}
.stage{display:flex;align-items:center;gap:14px;margin:24px 56px;padding:40px 24px;border:2px dashed var(--rule);border-radius:var(--rb);color:var(--muted);font-size:15px;font-weight:600}
.foot{display:flex;flex-wrap:wrap;align-items:center;gap:10px 26px;padding:28px 56px 32px;background:var(--foot-bg);color:var(--foot-ink);font-size:14.5px}
.foot b{font-family:var(--head);font-weight:var(--hw);font-size:18px;letter-spacing:var(--ls);text-transform:var(--tt)}
.foot .f{opacity:.78}
.foot .fl{display:flex;flex-wrap:wrap;gap:6px 20px;margin-left:auto}
.spin-line{position:relative;display:block;width:40px;height:2px;overflow:hidden;background:var(--rule)}
.spin-line i{position:absolute;left:0;top:0;width:14px;height:2px;background:var(--accent);animation:th-slide 1s cubic-bezier(.5,0,.5,1) infinite}
.spin-signal{display:inline-flex;align-items:flex-end;gap:2px;height:15px}
.spin-signal i{width:3px;border-radius:1px;background:var(--accent);opacity:.2;animation:th-fade 1.1s ease-in-out infinite}
.spin-bars{display:inline-flex;align-items:flex-end;gap:3px;height:16px}
.spin-bars i{width:4px;height:16px;background:var(--accent);transform-origin:bottom;animation:th-bar .9s ease-in-out infinite}
.spin-dots{display:inline-flex;gap:4px}
.spin-dots i{width:7px;height:7px;border-radius:50%;background:var(--accent);animation:th-fade 1s ease-in-out infinite}
.spin-signal i:nth-child(2),.spin-bars i:nth-child(2),.spin-dots i:nth-child(2){animation-delay:.15s}
.spin-signal i:nth-child(3),.spin-bars i:nth-child(3),.spin-dots i:nth-child(3){animation-delay:.3s}
.spin-signal i:nth-child(4){animation-delay:.45s}
@keyframes th-mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes th-slide{0%{transform:translateX(-14px)}100%{transform:translateX(40px)}}
@keyframes th-fade{0%,100%{opacity:.2}40%{opacity:1}}
@keyframes th-bar{0%,100%{transform:scaleY(.3)}50%{transform:scaleY(1)}}
@media (prefers-reduced-motion:reduce){*{animation:none!important}}
h1,h2,p,dt,dd,figcaption,label,.lead,.note,.flash{overflow-wrap:break-word;hyphens:manual}
.mgmt a,.foot .f a{overflow-wrap:anywhere}
.comp-info h1{font-size:clamp(44px,5.6vw,88px);line-height:1}
#booking-enquiries{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:20px 56px;align-items:start}
.book-side{display:flex;flex-direction:column;gap:16px}
#booking-enquiries>.enq{max-width:none}
.comp-info{min-width:0}
.btn{max-width:100%}
@media (max-width:1180px){
.links,.end .cta,.end .shop{display:none}
.brand small{display:none}
.menu{display:block}
.nav{padding:16px 32px}
}
@media (max-width:1000px){
.folio{grid-template-columns:repeat(3,minmax(0,1fr))}
.pols{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:900px){
.comp{grid-template-columns:minmax(0,1fr);gap:24px;padding:20px 32px 36px}
#booking-enquiries{display:flex}
#booking-enquiries>.enq{max-width:880px}
.comp-photo{max-width:560px}
.about{grid-template-columns:minmax(0,1fr);gap:28px}
.sec{padding:36px 32px}
.foot{padding:32px}
.foot .fl{margin-left:0;width:100%}
}
@media (max-width:640px){
.nav{padding:14px 16px}
.links,.end .cta{display:none}
.brand small{display:none}
.brand.keep small{display:inline}
.menu{display:block}
h1{font-size:var(--h1-phone)}
.lead{font-size:17px}
.hero-type,.hero-type.aside{grid-template-columns:minmax(0,1fr);gap:28px;padding:16px 16px 40px}
.hero-split{grid-template-columns:minmax(0,1fr);gap:28px;padding:16px 16px 40px}
.hero-split img{aspect-ratio:4/3}
.hero-poster{padding:16px 16px 40px}
.hero-center{padding:16px 16px 24px}
.hero-center .lead{font-size:22px}
.stage-shot{height:240px}
.hero-profile{padding:16px 16px 32px}
.sec{padding:36px 16px}
h2{font-size:30px}
.rows .r{grid-template-columns:minmax(0,1fr)!important}
.rows .rh{display:none}
.rows .b{font-size:17px}
.rows .d{text-align:left}
.cards{gap:14px;grid-template-columns:var(--cols-phone,minmax(0,1fr))!important}
.cards .t{font-size:19px}
.plans{grid-template-columns:minmax(0,1fr)}
.stage{margin:16px}
.comp{grid-template-columns:minmax(0,1fr);gap:24px;padding:16px 16px 36px}
.comp-info h1{font-size:46px}
.stats{grid-template-columns:repeat(2,minmax(0,1fr))}
.folio{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.pols{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.about{grid-template-columns:minmax(0,1fr);gap:28px}
.bio p{font-size:16.5px}
.does div{grid-template-columns:minmax(0,1fr)}
.enq{grid-template-columns:minmax(0,1fr)}
.does{grid-template-columns:minmax(0,1fr)}
.comp{padding:16px 16px 36px}
.sec{padding:36px 16px}
.foot{padding:28px 16px 36px}
.nav{padding:14px 16px}
.stats dd{font-size:16.5px}
.stats div{padding:10px 8px 10px 0}
.btns{width:100%}
.btns .btn{flex:1 1 100%;justify-content:center;white-space:normal;text-align:center;line-height:1.3}
.cards .t,.folio figcaption{font-size:13px}
h2{font-size:clamp(26px,8vw,30px)}
.lead,.comp-info .lead{font-size:16.5px}
.end .shop{display:none}
.folio figcaption{flex-direction:column;gap:0;font-size:13.5px}
.lightbox .prev,.lightbox .next{top:auto;bottom:20px;transform:none}
.foot{padding:28px 16px 36px}
.foot .fl{margin-left:0}
}
@media (max-width:640px){
.nav{position:sticky;top:0;z-index:20;background:var(--bg);padding:12px 16px}
.menu summary{height:38px}
.comp{gap:18px;padding:12px 16px 28px}
.comp-photo img,.comp-photo .ph{width:100%;aspect-ratio:4/5;max-height:62svh}
.comp-info{gap:12px}
.kick{font-size:10.5px;letter-spacing:.18em}
.comp-info h1{font-size:42px}
.comp-info .lead{font-size:15.5px;line-height:1.5}
.stats{margin-top:4px}
.stats dt{font-size:10.5px}
.stats dd{font-size:16px}
.stats div{padding:8px 8px 8px 0}
.social{gap:6px 16px}
.social li,.mgmt{font-size:14px}
.btns{gap:8px}
.btns .btn{flex:1 1 calc(50% - 4px);height:46px;padding:0 10px;font-size:11.5px;letter-spacing:.1em}
.btns .btn:first-child{flex-basis:100%}
.statement{padding:28px 16px}
.statement p{font-size:24px;line-height:1.3}
.sec{padding:32px 16px;gap:16px}
h2{font-size:28px}
.folio{gap:10px}
.folio figcaption{font-size:12px}
.places{padding-top:16px}
.places li{font-size:19px}
.pols{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.pols figure{padding:6px 6px 8px;gap:6px}
.pols figcaption{font-size:11px}
.pols .ph{padding:6px;font-size:10px}
.does{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px}
.does div{padding:10px 0}
.does dt{font-size:11px;letter-spacing:.1em}
.bio p{font-size:16px}
.enq{gap:12px}
.foot{flex-direction:column;align-items:flex-start;gap:10px;padding:24px 16px 32px}
}
/* Luxe pass */
.nav{position:sticky;top:0;z-index:20;background:var(--bg)}
.comp{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;padding:0;min-height:calc(100svh - 69px);align-items:stretch}
.comp-photo{position:relative;overflow:hidden;min-height:560px;background:#1A1816}
.comp-photo .open{position:absolute;inset:0;height:100%}
.comp-photo img,.comp-photo .open img{width:100%;height:100%;aspect-ratio:auto;max-height:none;border-radius:0;object-fit:cover;object-position:center 22%;transition:transform 1.6s cubic-bezier(.2,.7,.2,1)}
.comp-photo:hover img{transform:scale(1.025)}
.comp-info{justify-content:flex-start;gap:18px;padding:23px 56px 40px}
.comp-info h1{font-size:clamp(64px,8.2vw,136px);line-height:.92;letter-spacing:-.025em}
.comp-info .btns{margin-top:auto}
.statement{padding:56px}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:36px;padding-top:24px;border-top:1px solid rgba(207,198,184,.22)}
.facts b{display:block;font-family:var(--head);font-weight:600;font-size:clamp(40px,4.6vw,68px);line-height:1;color:#F3EEE6}
.facts span{display:block;margin-top:10px;font-size:11.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#9C9286}
.ticker{display:flex;align-items:center;gap:32px;padding:22px 0 22px 56px;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);overflow:hidden}
.tk-l{flex:none;font-size:11.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.tk{flex:1;min-width:0;overflow:hidden}
.tk-run{display:flex;width:max-content;animation:tk 90s linear infinite}
.ticker:hover .tk-run{animation-play-state:paused}
.tk ul{display:flex;margin:0;padding:0;list-style:none}
.tk li{font-family:var(--head);font-weight:600;font-size:clamp(26px,3vw,42px);line-height:1.1;white-space:nowrap}
.tk li::after{content:"\00B7";padding:0 .6em;color:var(--kick)}
@keyframes tk{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.tk-run{width:auto}.tk ul{flex-wrap:wrap;row-gap:6px}.tk ul+ul{display:none}}
.folio{counter-reset:f;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:calc((100vw - 160px) / 4 * 1.25 + 30px);gap:16px}
.folio{align-items:start}
.folio figure{counter-increment:f;min-height:0;height:100%}
.folio .open{flex:1;min-height:0;overflow:hidden}
.folio img{height:100%;aspect-ratio:auto;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.folio figure:hover img{transform:scale(1.04)}
.folio figure:nth-child(1){grid-column:span 2;grid-row:span 2}
.folio figure:nth-child(6){grid-column:span 2}
.folio figcaption{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:2px 10px}
.folio figcaption::before{content:counter(f,decimal-leading-zero);font-family:var(--head);font-weight:600;color:var(--muted)}
.rv-i{transition:opacity 1s ease}
.rv-i:not(.in){opacity:0}
@media (max-width:1000px){
.folio{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto}
.folio figure:nth-child(n){grid-column:auto;grid-row:auto;height:auto}
.folio img{height:auto;aspect-ratio:4/5}
.folio figure:nth-child(1),.folio figure:nth-child(6){grid-column:1/-1}
.folio figure:nth-child(1) img{max-height:88svh}
.folio figure:nth-child(6) img{aspect-ratio:4/3}
}
/* Booking form, whole on every screen */
html{scroll-padding-top:76px}
.enq>*{min-width:0}
.enq input,.enq select,.enq textarea{max-width:100%;min-width:0}
.enq input[type=date]{display:block;-webkit-appearance:none;appearance:none;height:46px;line-height:24px;text-align:left}
.enq input[type=date]::-webkit-date-and-time-value{text-align:left}
@media (max-width:900px){#booking-enquiries{align-items:stretch}#booking-enquiries>*{width:100%}}
@media (max-width:640px){#booking-enquiries{gap:20px}.enq{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.enq>label:not(.wide):not(:has(input[type=date])){grid-column:1/-1}.enq input,.enq select,.enq textarea{font-size:16px}}
.cap{min-height:78px}
/* Admin */
.adm-main{display:flex;flex-direction:column;gap:20px;max-width:980px;margin:0 auto;padding:40px 24px 64px}
.adm-sign{display:flex;flex-direction:column;gap:16px;max-width:440px}
.adm-sign h1{font-size:56px}
.adm-sign .enq{grid-template-columns:minmax(0,1fr)}
.adm-p{margin:0;color:var(--muted)}
.adm-p a,.adm-dl a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.adm .end{align-items:center;gap:14px}
.adm .end form{margin:0}
.adm .end .btn,.adm-act .btn{height:40px;padding:0 14px;cursor:pointer;font-family:var(--text)}
.adm-who{font-size:13px;color:var(--muted);overflow:hidden;text-overflow:ellipsis}
.adm-list{display:flex;flex-direction:column;gap:12px}
.adm-card{display:flex;flex-direction:column;gap:14px;padding:20px;background:var(--surface);border:1px solid var(--rule);border-radius:var(--rb);scroll-margin-top:80px}
.adm-card.done{opacity:.55}
.adm-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 16px}
.adm-top b{font-family:var(--head);font-size:22px;font-weight:600}
.adm-top span,.adm-top time{font-size:14px;color:var(--muted)}
.adm-dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 16px;margin:0}
.adm-dl dt{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.adm-dl dd{margin:2px 0 0;overflow-wrap:anywhere}
.adm-msg{margin:0;white-space:pre-wrap;line-height:1.55}
.adm-act{display:flex;flex-wrap:wrap;gap:8px}
.adm-act form{margin:0}
.adm-act button.btn{background:transparent}
@media (max-width:640px){.adm-main{padding:24px 16px 48px}.adm-dl{grid-template-columns:repeat(2,minmax(0,1fr))}.adm-sign h1{font-size:44px}.adm-who{display:none}.adm .menu{display:none}}
/* Passkeys */
.adm-keys{margin-top:48px;padding-top:32px;border-top:1px solid var(--rule)}
.adm-keys-l{list-style:none;margin:0 0 16px;padding:0;border-top:1px solid var(--rule)}
.adm-keys-l li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--rule)}
.adm-keys-l small{color:var(--muted);margin-left:6px}
.adm-keys-l button.btn{background:transparent}
.adm-pk{margin-top:20px}
.adm-pk .btn{width:100%;background:transparent}
.adm-or{display:flex;align-items:center;gap:12px;margin:0 0 16px;color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.12em}
.adm-or::before,.adm-or::after{content:"";flex:1;border-top:1px solid var(--rule)}
.pk-msg{margin-top:12px}
.adm-nudge{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 32px;align-items:center;margin:0 0 40px;padding:24px 28px;background:#1A1816;color:#CFC6B8}
.adm-nudge[hidden]{display:none}
.adm-nudge b{display:block;font-family:var(--head);font-size:24px;font-weight:600;color:#FAF8F5;margin:0 0 6px}
.adm-nudge p{margin:0;max-width:56ch}
.adm-nudge-b{display:flex;gap:8px;flex-wrap:wrap}
.adm-nudge .btn{background:#FAF8F5;color:#111;border-color:#FAF8F5}
.adm-nudge .btn.ghost{background:transparent;color:#FAF8F5;border-color:rgba(250,248,245,.4)}
.adm-nudge .pk-msg{grid-column:1/-1;margin:0}
@media (max-width:640px){.adm-nudge{grid-template-columns:minmax(0,1fr);padding:20px 16px}.adm-nudge-b .btn{flex:1 1 100%}}
/* Face card */
.about:has(.about-face){grid-template-columns:minmax(0,4fr) minmax(0,6fr) minmax(0,5fr);gap:48px}
.about-face{margin:0}
.about-face img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 30%}
.book-face{display:block;width:100%;max-width:380px;aspect-ratio:1;object-fit:cover;object-position:center 25%}
@media (max-width:1180px){.about:has(.about-face){grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px}.about:has(.about-face) .does{grid-column:1/-1}}
@media (max-width:900px){
.comp{grid-template-columns:minmax(0,1fr);min-height:0}
.comp-photo{max-width:none;min-height:0;height:min(80svh,760px)}
.comp-info{padding:28px 32px 40px}
.statement{padding:44px 32px}
.ticker{padding-left:32px}
}
@media (max-width:640px){
.about:has(.about-face){grid-template-columns:minmax(0,1fr);gap:24px}
.about-face img{max-height:70svh}
.book-face{max-width:none;aspect-ratio:4/3}
.comp-photo{height:min(78svh,680px)}
.comp-info{padding:22px 16px 32px;gap:14px}
.comp-info h1{font-size:clamp(48px,14.5vw,64px)}
.statement{padding:36px 16px}
.facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px;margin-top:28px;padding-top:20px}
.facts>div:last-child{grid-column:1/-1}
.facts b{font-size:40px}
.ticker{flex-wrap:wrap;gap:10px;padding:16px 0 16px 16px}
.tk{flex-basis:100%}
.tk li{font-size:26px}
.folio figcaption{font-size:12px}
.btns .btn:first-child{flex-basis:calc(50% - 4px)}
}
