@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/ibm-plex-sans-normal-400_700-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/ibm-plex-sans-normal-400_700-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'IBM Plex Sans Fallback';font-weight:100 549;src:local('Arial'),local('ArialMT'),local('Liberation Sans'),local('Arimo'),local('Helvetica'),local('Roboto');size-adjust:100.21%;ascent-override:102.29%;descent-override:27.44%;line-gap-override:0%}
@font-face{font-family:'IBM Plex Sans Fallback';font-weight:550 749;src:local('Arial Bold'),local('Arial-BoldMT'),local('Liberation Sans Bold'),local('Arimo Bold'),local('Helvetica Bold'),local('Roboto Bold');size-adjust:98.41%;ascent-override:104.16%;descent-override:27.94%;line-gap-override:0%}
@font-face{font-family:'IBM Plex Sans Fallback';font-weight:750 1000;src:local('Arial Bold'),local('Arial-BoldMT'),local('Liberation Sans Bold'),local('Arimo Bold'),local('Helvetica Bold'),local('Roboto Bold');size-adjust:98.41%;ascent-override:104.16%;descent-override:27.94%;line-gap-override:0%}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/ibm-plex-mono-normal-500-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/ibm-plex-mono-normal-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'IBM Plex Mono Fallback';font-weight:100 549;src:local('Arial'),local('ArialMT'),local('Liberation Sans'),local('Arimo'),local('Helvetica'),local('Roboto');size-adjust:130.38%;ascent-override:78.62%;descent-override:21.09%;line-gap-override:0%}
@font-face{font-family:'IBM Plex Mono Fallback';font-weight:550 749;src:local('Arial Bold'),local('Arial-BoldMT'),local('Liberation Sans Bold'),local('Arimo Bold'),local('Helvetica Bold'),local('Roboto Bold');size-adjust:122.13%;ascent-override:83.93%;descent-override:22.52%;line-gap-override:0%}
@font-face{font-family:'IBM Plex Mono Fallback';font-weight:750 1000;src:local('Arial Bold'),local('Arial-BoldMT'),local('Liberation Sans Bold'),local('Arimo Bold'),local('Helvetica Bold'),local('Roboto Bold');size-adjust:122.13%;ascent-override:83.93%;descent-override:22.52%;line-gap-override:0%}
:root{--primary:#DADE12;--accent:#00BFE6;--bg:#FFFFFF;--alt:#D6C50A;--text:#111111;--muted:#4B4B4B;--primary-txt:#505107;--accent-txt:#005162;--on-primary:#141414;--on-accent:#141414;--line:#DEDEDE;--tint:#FCFCEC;--head:'IBM Plex Sans','IBM Plex Sans Fallback',system-ui,sans-serif;--body:'IBM Plex Sans','IBM Plex Sans Fallback',system-ui,sans-serif;--r:0px;--btn-r:0px;--head-w:700;--pattern:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Cpath d='M40 0H0v40' fill='none' stroke='%23DADE12' stroke-opacity='.14'/%3E%3C/svg%3E");--pattern-on:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Cpath d='M40 0H0v40' fill='none' stroke='%23141414' stroke-opacity='.14'/%3E%3C/svg%3E");--script:'IBM Plex Mono','IBM Plex Mono Fallback',ui-monospace,monospace;--accent-on-primary:#005F73;--head-tt:none;--head-ls:-.01em;--h1:clamp(2.1rem,5vw,3.6rem)}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font:1.0625rem/1.65 var(--body);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}a{color:var(--primary-txt)}a:hover{text-decoration-thickness:2px}
h1,h2,h3{font-family:var(--head);font-weight:var(--head-w);line-height:1.15;letter-spacing:var(--head-ls);text-transform:var(--head-tt);margin:0 0 .5em;text-wrap:balance}
h1,h2,h3,.foot-name{overflow-wrap:normal;word-break:normal;hyphens:manual}
p{margin:0 0 1em}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:var(--text);color:var(--bg);padding:8px 14px;z-index:100;border-radius:6px}.skip:focus{left:8px}
.wrap{width:min(1160px,100% - 40px);margin-inline:auto}.narrow{width:min(760px,100% - 40px)}.center{text-align:center}
.btn{display:inline-flex;align-items:center;gap:.5em;padding:.72em 1.3em;border-radius:var(--btn-r);font-weight:600;text-decoration:none;border:2px solid transparent;line-height:1.2;transition:transform .15s,box-shadow .15s,background .15s;cursor:pointer;font-family:var(--body);font-size:1rem}
.btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgb(0 0 0/.12)}.btn-lg{padding:.9em 1.6em;font-size:1.05rem}
.btn-accent{background:var(--accent);color:var(--on-accent)}.btn-primary{background:var(--primary);color:var(--on-primary)}
.btn-ghost{border-color:currentColor;color:inherit;background:transparent}.btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:1.6em}
.center .btns,.cta-box .btns{justify-content:center}
/* header */
.site-head{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.head-in{display:flex;align-items:center;gap:20px;min-height:72px}.brand{display:flex;align-items:center;text-decoration:none;color:var(--text);margin-right:auto}
.brand-name{font-family:var(--head);font-weight:var(--head-w);font-size:1.35rem;letter-spacing:var(--head-ls);text-transform:var(--head-tt)}.logo{height:44px;width:auto;object-fit:contain}
.site-nav{display:flex;align-items:center;gap:18px}.site-nav ul{display:flex;gap:4px;list-style:none;margin:0;padding:0}
.site-nav ul a{display:block;padding:8px 12px;border-radius:8px;text-decoration:none;color:var(--text);font-weight:500}
.site-nav ul a:hover{background:var(--alt)}.site-nav ul a[aria-current]{color:var(--primary-txt);box-shadow:inset 0 -2px 0 var(--accent)}
.lang{font-weight:700;font-size:.85rem;text-decoration:none;color:var(--text);border:1.5px solid var(--line);padding:5px 9px;border-radius:6px}
.head-call{padding:.55em 1em}.nav-toggle{display:none;background:none;border:0;padding:10px;cursor:pointer;color:var(--text)}
.bars,.bars::before,.bars::after{display:block;width:24px;height:2px;background:currentColor;border-radius:2px;position:relative}.bars::before,.bars::after{content:"";position:absolute}.bars::before{top:-7px}.bars::after{top:7px}
@media (max-width:900px){.nav-toggle{display:block}.site-nav{position:absolute;inset:72px 0 auto 0;background:var(--bg);flex-direction:column;align-items:stretch;padding:12px 20px 20px;border-bottom:1px solid var(--line);display:none;box-shadow:0 18px 30px rgb(0 0 0/.08)}
.site-nav.open{display:flex}.site-nav ul{flex-direction:column}.site-nav ul a{padding:12px 8px;font-size:1.1rem}.lang{align-self:flex-start}.head-call{justify-content:center}}
/* sections */
.sec{padding:clamp(56px,8vw,104px) 0}.sec-alt{background:var(--alt)}.sec-dark{background:var(--primary);color:var(--on-primary)}.sec-dark a{color:inherit}
.sec-title{font-size:clamp(1.7rem,3.4vw,2.5rem);margin-bottom:.6em}.sec-intro{color:var(--muted);font-size:1.15rem;max-width:62ch;margin-bottom:2.2em}
.sec-services .sec-title,.sec-features .sec-title,.sec-steps .sec-title,.sec-testimonials .sec-title,.sec-gallery .sec-title,.sec-team .sec-title,.sec-portfolio .sec-title,.sec-faq .sec-title,.sec-pricing .sec-title{text-align:center}
.sec-services .sec-intro,.sec-pricing .sec-intro{margin-inline:auto;text-align:center}
.prose p{font-size:1.12rem}.prose p:last-child{margin-bottom:0}.eyebrow{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:.92rem;letter-spacing:.04em;text-transform:uppercase;color:var(--accent-txt);margin-bottom:1em}
/* hero */
.sec-hero{padding:0}.hero{position:relative;overflow:hidden}.hero-title{font-size:var(--h1);margin-bottom:.35em}.hero-sub{font-size:clamp(1.1rem,2vw,1.35rem);color:var(--muted);max-width:40ch}
.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(28px,5vw,72px);align-items:center;padding:clamp(48px,8vw,110px) 0}
.hero-media img,.hero-media .ph{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:calc(var(--r)*1.6)}
.hero-split{background:var(--bg) var(--pattern)}
.hero-split .hero-media img{box-shadow:24px 24px 0 var(--accent)}
.hero-deco{display:grid;place-items:center;aspect-ratio:4/3;border-radius:calc(var(--r)*1.6);background:var(--primary) var(--pattern-on);color:var(--on-primary)}
.deco-card{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;padding:30px;font-family:var(--head);font-size:1.35rem;max-width:80%;line-height:1.3}
.deco-card .ico{width:72px;height:72px;color:var(--accent)}
.hero-band{background:var(--primary) var(--pattern-on);color:var(--on-primary)}.hero-band .hero-sub{color:inherit;opacity:.9}.hero-band .eyebrow{color:var(--accent)}
.hero-band .hero-deco{background:color-mix(in srgb,var(--on-primary) 10%,transparent)}
.hero-minimal .hero-grid{grid-template-columns:1.4fr 1fr}.hero-minimal .hero-title{border-left:6px solid var(--accent);padding-left:.4em}
.hero-minimal .hero-media img{aspect-ratio:4/5;filter:grayscale(.15)}.hero-minimal .hero-deco{aspect-ratio:4/5;background:var(--alt);color:var(--text)}
.hero-overlay{min-height:min(88vh,760px);display:flex;align-items:flex-end;color:#fff;background:var(--primary) var(--pattern-on)}
.hero-overlay>img,.hero-overlay .hero-ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-overlay .hero-ph .ph{height:100%;border-radius:0}
/* scrim: dark enough at the text for white type on ANY photo (white, black or busy) — checked by tests/browser_check.py */
.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgb(0 0 0/.34) 0%,rgb(0 0 0/.52) 45%,rgb(0 0 0/.74) 100%)}.hero-overlay.no-img .hero-shade{background:none}
.hero-overlay .hero-in{position:relative;padding:clamp(80px,14vw,160px) 0 clamp(48px,8vw,96px)}.hero-overlay .hero-in>*{max-width:820px}.hero-overlay .hero-sub{color:#fff}.hero-overlay .eyebrow{color:#fff}
.hero-overlay.has-img .hero-title,.hero-overlay.has-img .hero-sub,.hero-overlay.has-img .eyebrow{text-shadow:0 1px 3px rgb(0 0 0/.5),0 0 28px rgb(0 0 0/.35)}
.hero-overlay.no-img{color:var(--on-primary);align-items:center}.hero-overlay.no-img .hero-sub{color:var(--on-primary)}
.hero-centered{background:var(--alt) var(--pattern);text-align:center;padding:clamp(64px,10vw,130px) 0 0}.hero-centered .hero-in{max-width:820px}.hero-centered .hero-sub{margin-inline:auto}
.hero-centered .btns{justify-content:center}.hero-centered .hero-media{margin-top:clamp(40px,6vw,72px)}.hero-centered .hero-media img{aspect-ratio:21/9;border-radius:calc(var(--r)*1.6) calc(var(--r)*1.6) 0 0}
.hero-centered.no-img{padding-bottom:clamp(64px,10vw,130px)}
@media (max-width:900px){.hero-grid,.hero-minimal .hero-grid{grid-template-columns:1fr}.hero-split .hero-media img{box-shadow:12px 12px 0 var(--accent)}.hero-centered .hero-media img{aspect-ratio:4/3}}
.pagehead{background:var(--alt) var(--pattern);padding:clamp(48px,7vw,90px) 0}.sec-pagehead{padding:0}.pagehead-title{font-size:clamp(2rem,4.5vw,3.2rem)}.pagehead-sub{color:var(--muted);font-size:1.2rem;max-width:60ch;margin:0}
/* cards */
.cards{display:grid;gap:clamp(16px,2.4vw,28px)}.cards-3{grid-template-columns:repeat(3,1fr)}.cards-4{grid-template-columns:repeat(4,1fr)}.cards-2{grid-template-columns:repeat(2,1fr)}.cards-1{grid-template-columns:minmax(0,640px);justify-content:center}
@media (max-width:980px){.cards-3,.cards-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.cards-2,.cards-3,.cards-4{grid-template-columns:1fr}}
.card{background:var(--bg);border-radius:var(--r);padding:clamp(22px,2.6vw,32px);position:relative}
.card-shadow .card{box-shadow:0 1px 2px rgb(0 0 0/.05),0 12px 32px rgb(0 0 0/.07)}.card-border .card{border:1px solid var(--line)}
.card-flat .card{background:transparent;padding-left:0;padding-right:0;border-top:3px solid var(--accent);border-radius:0}.card-tint .card{background:var(--tint)}
.sec-alt.card-tint .card,.card-tint .sec-alt .card{background:var(--bg)}
.card-ico{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:calc(var(--r) + 4px);background:var(--tint);color:var(--primary-txt);margin-bottom:16px}
.card-flat .card-ico{background:none;width:auto;height:auto;color:var(--accent-txt)}
.card-title{font-size:1.25rem;margin-bottom:.4em}.card-text{color:var(--muted)}.card-text p{margin-bottom:.6em}.card-text p:last-child{margin:0}
.step-n{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--accent);color:var(--on-accent);font-weight:700;font-family:var(--head);margin-bottom:14px;font-size:1.2rem}
/* about */
.about.with-media{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px);align-items:center}.about-media img,.about-media .ph{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:calc(var(--r)*1.6)}
@media (max-width:860px){.about.with-media{grid-template-columns:1fr}}
/* pricing */
.price-list{list-style:none;padding:0;margin:0}.price-list li{padding:16px 0;border-bottom:1px dashed var(--line)}.pl-row{display:flex;align-items:baseline;gap:10px}
.pl-name{font-weight:600;font-size:1.1rem;font-family:var(--head)}.pl-dots{flex:1;border-bottom:2px dotted var(--line);transform:translateY(-4px)}.pl-price{font-weight:700;color:var(--primary-txt);white-space:nowrap}
.pl-text{color:var(--muted);margin:.25em 0 0;font-size:.98rem}
/* gallery / works */
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.gallery figure{margin:0}.gallery img,.gallery .ph{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:var(--r)}
.gallery.g6{grid-template-columns:repeat(6,1fr)}.g6 figure{grid-column:span 2}.g6 figure.g-half{grid-column:span 3}.g6 figure.g-full{grid-column:1/-1}.g6 .g-half img,.g6 .g-full img{aspect-ratio:3/2}
@media (max-width:700px){.gallery,.gallery.g6{grid-template-columns:repeat(2,1fr)}.g6 figure,.g6 figure.g-half{grid-column:auto}.g6 figure img,.g6 .g-half img{aspect-ratio:1/1}.g6.g-odd figure:first-child{grid-column:1/-1}.g6.g-odd figure:first-child img{aspect-ratio:3/2}}
.works{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(20px,3vw,40px)}@media (max-width:700px){.works{grid-template-columns:1fr}}
.work-media img,.work-media .ph,.work-deco{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:var(--r)}.work-body{padding-top:16px}
.work-deco{display:grid;place-items:center;background:var(--alt) var(--pattern);font-family:var(--head);font-size:3rem;color:var(--primary-txt);font-weight:var(--head-w)}
/* quotes / team / faq / stats */
.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}.quote{margin:0;background:var(--bg);border-radius:var(--r);padding:28px;border-top:4px solid var(--accent)}
.quote blockquote{margin:0 0 14px;font-size:1.08rem}.quote figcaption{font-weight:600;color:var(--muted)}
.team{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px;text-align:center}.avatar{width:140px;height:140px;border-radius:50%;object-fit:cover;margin:0 auto 14px}
.avatar-ph{display:grid;place-items:center;background:var(--primary);color:var(--on-primary);font:700 3rem var(--head)}.role{color:var(--accent-txt);font-weight:600;margin-bottom:.4em}
.faq details{border-bottom:1px solid var(--line);padding:4px 0}.faq summary{cursor:pointer;font-weight:600;font-size:1.1rem;padding:16px 36px 16px 0;list-style:none;position:relative}
.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"+";position:absolute;right:4px;top:12px;font-size:1.5rem;color:var(--accent-txt)}.faq details[open] summary::after{content:"–"}
.faq-a{color:var(--muted);padding-bottom:14px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:20px;margin:0;text-align:center}.stats dt{font:var(--head-w) clamp(2.2rem,5vw,3.2rem)/1 var(--head);color:var(--primary-txt)}.stats dd{margin:8px 0 0;color:var(--muted)}
/* cta */
.sec-cta{background:var(--primary) var(--pattern-on);color:var(--on-primary)}.cta-box{text-align:center;max-width:760px}.cta-sub{font-size:1.2rem;opacity:.9}
/* contact */
.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(28px,5vw,64px);align-items:start}@media (max-width:860px){.contact-grid{grid-template-columns:1fr}}
.contact-list{list-style:none;padding:0;margin:1.4em 0}.contact-list li{display:flex;gap:12px;align-items:center;padding:8px 0}.contact-list a{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--text);font-weight:600}
.contact-list .ico{color:var(--primary-txt);flex:none}
.form{background:var(--alt);padding:clamp(22px,3vw,36px);border-radius:calc(var(--r) + 4px)}.f-row{margin:0 0 16px}.f-row label{display:block;font-weight:600;margin-bottom:6px;font-size:.95rem}
.f-row input,.f-row textarea{width:100%;font:inherit;padding:12px 14px;border:1.5px solid var(--line);border-radius:min(var(--r),10px);background:var(--bg);color:var(--text)}
.f-row input:focus,.f-row textarea:focus{border-color:var(--primary);outline:2px solid color-mix(in srgb,var(--primary) 30%,transparent);outline-offset:0}
.hp{position:absolute;left:-5000px}.f-status{padding:12px 14px;border-radius:8px;font-weight:600}.f-status.ok{background:#E7F6EC;color:#155C2E}.f-status.err{background:#FDECEC;color:#8A1C1C}
.map{margin-top:clamp(28px,4vw,48px);border-radius:var(--r);overflow:hidden;border:1px solid var(--line)}.map iframe{display:block;width:100%;height:360px;border:0}
.hours{border-collapse:collapse;margin:0 auto;min-width:min(420px,100%)}.hours th,.hours td{padding:10px 14px;border-bottom:1px solid var(--line);text-align:left}.hours td{text-align:right}
.hours.compact th,.hours.compact td{padding:3px 0;border:0;font-size:.95rem}.hours.compact td{padding-left:16px}.hours-note{color:var(--muted);margin-top:10px;font-size:.95rem}
.social{display:flex;gap:10px;list-style:none;padding:0;margin:16px 0 0}.center .social{justify-content:center}
.social a{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--tint);color:var(--primary-txt)}.social a:hover{background:var(--accent);color:var(--on-accent)}
/* footer */
.site-foot{background:color-mix(in srgb,var(--primary) 92%,#000);color:var(--on-primary);padding:56px 0 24px;font-size:.98rem}
.site-foot a{color:inherit;text-decoration:none}.site-foot a:hover{text-decoration:underline}
.foot-grid{display:grid;grid-template-columns:1.4fr 1.2fr 1fr .8fr;gap:32px}@media (max-width:900px){.foot-grid{grid-template-columns:1fr 1fr}}@media (max-width:560px){.foot-grid{grid-template-columns:1fr}}
.foot-name{font:var(--head-w) 1.3rem var(--head);text-transform:var(--head-tt);margin-bottom:.3em}.foot-tag{opacity:.85}.foot-h{font-weight:700;margin-bottom:.6em;opacity:.95}
.foot-list,.foot-nav{list-style:none;padding:0;margin:0}.foot-list li{display:flex;gap:8px;align-items:flex-start;padding:4px 0}.foot-list a{display:flex;gap:8px;align-items:center}.foot-list .ico{flex:none;margin-top:3px;opacity:.85}
.foot-nav li{padding:4px 0}.site-foot .social a{background:rgb(255 255 255/.12);color:inherit}
.site-foot .hours.compact th,.site-foot .hours.compact td{color:inherit}
.foot-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;border-top:1px solid rgb(255 255 255/.18);margin-top:40px;padding-top:20px;opacity:.85;font-size:.88rem}.foot-base p{margin:0}
/* mobile call bar */
.callbar{display:none}
@media (max-width:700px){.has-callbar .callbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--bg);border-top:1px solid var(--line);box-shadow:0 -6px 20px rgb(0 0 0/.08);padding:8px;gap:8px;padding-bottom:max(8px,env(safe-area-inset-bottom))}
.callbar a{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:13px;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
.cb-call{background:var(--accent);color:var(--on-accent)}.cb-dir{background:var(--alt);color:var(--text)}.has-callbar .site-foot{padding-bottom:96px}.head-call{display:none}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* editor-only */
.ph{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:100%;min-height:200px;aspect-ratio:4/3;border:2px dashed var(--line);background:var(--alt);color:var(--muted);border-radius:var(--r);font:600 .95rem var(--body);cursor:pointer}
.ph-tile{aspect-ratio:1/1;min-height:0}.edit-hint{color:var(--muted);font-style:italic;text-align:center}.sec-hidden{padding:28px 0;opacity:.7;background:repeating-linear-gradient(45deg,var(--alt),var(--alt) 10px,var(--bg) 10px,var(--bg) 20px)}
.btn-empty{border:2px dashed currentColor!important;background:transparent!important;opacity:.6}
.writing{padding:120px 0}.writing-dots{display:flex;gap:10px;justify-content:center;margin-bottom:22px}.writing-dots i{width:14px;height:14px;border-radius:50%;background:var(--accent);animation:wd 1.2s infinite ease-in-out}
.writing-dots i:nth-child(2){animation-delay:.15s}.writing-dots i:nth-child(3){animation-delay:.3s}@keyframes wd{0%,80%,100%{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}
.add-item{display:block;margin:24px auto 0;font:600 .95rem var(--body);background:none;border:2px dashed var(--line);color:var(--muted);padding:10px 22px;border-radius:999px;cursor:pointer}
.add-item:hover{border-color:var(--primary);color:var(--primary-txt)}.wnb-share{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:28px}
.ws-h{font-weight:700;margin-right:4px}
.ws{display:inline-flex;align-items:center;min-height:36px;padding:.25em .85em;border-radius:999px;border:1px solid color-mix(in srgb,currentColor 40%,transparent);background:transparent;color:inherit;font:inherit;font-size:.86rem;font-weight:600;text-decoration:none;cursor:pointer}
.ws:hover,.ws:focus-visible{background:color-mix(in srgb,currentColor 14%,transparent);text-decoration:none}
.ws-msg,.ws-sms{display:none}.wnb-touch .ws-msg,.wnb-touch .ws-sms{display:inline-flex}
.wnb-badge{display:inline-flex;align-items:center;gap:7px;padding:.3em .8em .3em .45em;border-radius:999px;background:rgb(255 255 255/.92);color:#1F150E!important;font-size:.82rem;font-weight:700;text-decoration:none!important;box-shadow:0 1px 0 rgb(0 0 0/.08);line-height:1.2}
.wnb-badge:hover{background:#FFC31F}/* ── music & arts sections ── */
.sec-events .sec-title,.sec-media .sec-title,.sec-links .sec-title{text-align:center}.sec-events .sec-intro,.sec-media .sec-intro{margin-inline:auto;text-align:center}
.sec-events .kicker,.sec-media .kicker{justify-content:center}
.evs{list-style:none;margin:0 auto;padding:0;max-width:960px}
.ev{display:grid;grid-template-columns:88px 1fr auto;gap:clamp(14px,2.4vw,28px);align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}
.ev:first-child{border-top:1px solid var(--line)}
.ev-when{display:flex;flex-direction:column;align-items:center;justify-content:center;width:88px;min-height:88px;background:var(--primary);color:var(--on-primary);border-radius:var(--r);line-height:1;padding:10px 4px;text-align:center}
.ev-dow{font:600 .72rem var(--body);letter-spacing:.14em;text-transform:uppercase}.ev-day{font:var(--head-w) 2.3rem/1 var(--head);margin:4px 0 3px}
.ev-mon{font:700 .78rem var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-on-primary)}
.ev-when-txt{background:var(--tint);color:var(--primary-txt)}
.ev-title{font-size:clamp(1.2rem,2.2vw,1.5rem);margin:0 0 .25em}.ev-meta{display:flex;flex-wrap:wrap;gap:4px 16px;margin:0;color:var(--muted);font-weight:500}
.ev-meta span+span::before{content:"·";margin-right:16px}.ev-info{margin:.35em 0 0;color:var(--muted);font-size:.95rem}
.ev-btn{white-space:nowrap}.evs-empty{text-align:center;color:var(--muted);font-size:1.1rem;margin:28px auto 0;max-width:52ch}
@media (max-width:640px){.ev-meta{flex-direction:column;gap:2px}.ev-meta span+span::before{content:none}.ev{grid-template-columns:72px 1fr}.ev-when{width:72px;min-height:76px}.ev-day{font-size:1.9rem}.ev-btn{grid-column:2;justify-self:start}}
.ev-edit{display:flex;flex-wrap:wrap;gap:6px 14px;margin:.5em 0 0}.ev-edit span,.mx-url-f,.mx-title-f,.lk-link-f{font:500 .85rem ui-monospace,Consolas,monospace;border:1px dashed var(--line);padding:3px 8px;border-radius:6px;color:var(--muted)}
.evs-empty-edit{text-align:center;color:var(--muted);margin-top:14px}
/* players */
.mx-videos{display:grid;gap:clamp(16px,2.4vw,28px);grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}
.mx{margin:0;position:relative}.mx-play{position:relative;display:block;color:inherit;text-decoration:none}
button.mx-play{width:100%;border:0;padding:0;margin:0;font:inherit;text-align:left;cursor:pointer;background:none}
.mx-video .mx-play{aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;background:var(--primary) var(--pattern-on);color:#fff}
.mx-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.mx-video .mx-play:hover .mx-poster{transform:scale(1.04)}
.mx-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgb(0 0 0/.12),rgb(0 0 0/.62))}
.mx-btn{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:86px;height:86px;border-radius:50%;background:var(--accent);color:var(--on-accent);box-shadow:0 12px 34px rgb(0 0 0/.35);transition:transform .25s}
.mx-btn .ico{width:44px;height:44px}.mx-video .mx-play:hover .mx-btn,.mx-video .mx-play:focus-visible .mx-btn{transform:translate(-50%,-50%) scale(1.08)}
.mx-cap{position:absolute;left:18px;right:18px;bottom:14px;display:flex;flex-direction:column;gap:2px;text-shadow:0 1px 3px rgb(0 0 0/.6)}
.mx-prov{font:700 .72rem var(--body);letter-spacing:.16em;text-transform:uppercase}.mx-name{font:var(--head-w) 1.2rem/1.2 var(--head)}
.mx-frame{aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;background:#000}.mx-frame iframe{display:block;width:100%;height:100%;border:0}
.mx-frame-a{aspect-ratio:auto;background:none}.mx-frame-a iframe{height:auto}
.mx-list{display:grid;gap:12px;max-width:760px;margin:clamp(20px,3vw,32px) auto 0}
.mx-audio .mx-play{display:flex;align-items:center;gap:16px;padding:14px 16px;background:var(--bg);border:1px solid var(--line);border-radius:calc(var(--r) + 6px);transition:border-color .2s,transform .2s}
.mx-audio .mx-play:hover{border-color:var(--accent);transform:translateY(-2px)}
.mx-disc{flex:none;display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:var(--primary);color:var(--accent-on-primary)}
.mx-audio .mx-cap{position:static;flex:1;text-shadow:none}.mx-audio .mx-name{font-size:1.1rem}.mx-audio .mx-prov{color:var(--muted);order:2}
.mx-go{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--primary-txt);white-space:nowrap}
.mx-note{margin:10px 0 0;padding:10px 14px;border-radius:8px;background:var(--tint);color:var(--text);font-size:.95rem}
.mx-title-f,.mx-url-f{margin:8px 0 0}
/* links out */
.lks{list-style:none;padding:0;margin:0;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));text-align:left}
.lk-a{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:calc(var(--r) + 4px);border:1.5px solid var(--line);background:var(--bg);color:var(--text);text-decoration:none;transition:border-color .2s,transform .2s,box-shadow .2s}
a.lk-a:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 14px 30px -18px rgb(0 0 0/.35)}
.lk-ico{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--tint);color:var(--primary-txt)}
.lk-txt{display:flex;flex-direction:column;min-width:0;flex:1}.lk-label{font-weight:700;font-size:1.05rem}.lk-host{color:var(--muted);font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lk-arrow{color:var(--accent-txt);font-weight:700;font-size:1.2rem}
/* press kit */
.pk{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(28px,5vw,72px);align-items:start}@media (max-width:860px){.pk{grid-template-columns:1fr}}
.pk-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin:1.6em 0 0}
.pk-facts div{padding:12px 0;border-top:1px solid var(--line)}.pk-facts dt{font:700 .75rem var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-txt)}
.pk-facts dd{margin:4px 0 0;font-weight:600}@media (max-width:520px){.pk-facts{grid-template-columns:1fr}}
.pk-photo{margin:0}.pk-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r)}.pk-photo figcaption{margin-top:8px;color:var(--muted);font-size:.85rem}
.pk .btns{margin-top:1.8em}.pk-cta-f{color:var(--muted);margin-top:1em}
/* booking / commission questions in the contact form */
.f-ask{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.f-ask .f-row:first-child:nth-last-child(odd),.f-ask .f-row:last-child:nth-child(odd){grid-column:1/-1}
@media (max-width:520px){.f-ask{grid-template-columns:1fr}}
/* ── skins: shared ── */
.rv{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.rv.in{opacity:1;transform:none}
.kicker{display:flex;align-items:center;gap:12px;margin:0 0 14px;font:600 .8rem/1.2 var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--accent-txt)}
.center .kicker,.cta-box .kicker{justify-content:center}
.pagehead.has-photo{position:relative;overflow:hidden}.ph-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pagehead.has-photo .wrap{position:relative}
.orn{display:block;margin:6px auto 22px;color:var(--accent);max-width:100%}
@keyframes wnb-spin{to{transform:rotate(360deg)}}
/* scrolling strip (marquee): a duplicate list keeps the loop seamless; it stops for reduced motion */
.mq{overflow:hidden;white-space:nowrap}.mq-track{display:flex;width:max-content;animation:wnb-mq 38s linear infinite}
.mq ul{display:flex;list-style:none;margin:0;padding:0}.mq li{display:flex;align-items:center}.mq li::after{content:"✦";margin:0 .9em;opacity:.7}
@keyframes wnb-mq{to{transform:translateX(-50%)}}
.cta-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.cta-shade{position:absolute;inset:0}.sec-cta.has-photo{position:relative;overflow:hidden}.sec-cta.has-photo .cta-box{position:relative}
@media (prefers-reduced-motion:reduce){.ring,.ha-ring,.hsh-sticker .ring{animation:none!important}.rv{opacity:1;transform:none}.mq-track{animation:none}}

/* ═══════════ WHITE CUBE (Vernissage — art galleries): white walls, hairlines, light huge type, wall-label captions, one red dot ═══════════ */
.sk-whitecube{--h1:clamp(2.8rem,7vw,6.4rem)}
.sk-whitecube h1,.sk-whitecube h2{font-weight:300;letter-spacing:-.035em;line-height:1}.sk-whitecube h3{font-weight:500;letter-spacing:-.01em}
.sk-whitecube .sec-title{font-size:clamp(2.2rem,5vw,4rem)}
.sk-whitecube .kicker{font:500 .74rem var(--body);letter-spacing:.18em;color:var(--text)}.sk-whitecube .kicker .k-n{color:var(--accent-txt)}
.sk-whitecube .sec-services .sec-title,.sk-whitecube .sec-features .sec-title,.sk-whitecube .sec-steps .sec-title,.sk-whitecube .sec-gallery .sec-title,.sk-whitecube .sec-portfolio .sec-title,.sk-whitecube .sec-team .sec-title,.sk-whitecube .sec-faq .sec-title,.sk-whitecube .sec-events .sec-title,.sk-whitecube .sec-media .sec-title,.sk-whitecube .sec-pricing .sec-title{text-align:left}
.sk-whitecube .sec-events .kicker,.sk-whitecube .sec-media .kicker{justify-content:flex-start}.sk-whitecube .sec-events .sec-intro,.sk-whitecube .sec-media .sec-intro{margin-inline:0;text-align:left}
.sk-whitecube .site-head{background:var(--bg);border-bottom:1px solid var(--text);backdrop-filter:none}
.sk-whitecube .brand-name{font-weight:500;letter-spacing:-.01em;font-size:1.3rem}
.sk-whitecube .site-nav ul a{font-weight:400;border-radius:0}.sk-whitecube .site-nav ul a:hover{background:none;text-decoration:underline}
.sk-whitecube .site-nav ul a[aria-current]{box-shadow:none;color:var(--text);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:6px}
.sk-whitecube .btn{border-radius:0;font-weight:500}.sk-whitecube .btn-accent{background:var(--text);color:var(--bg)}
.sk-whitecube .btn-accent::after{content:"→"}.sk-whitecube .btn-ghost{border-width:1px}
/* hero */
.hero-whitecube{background:var(--bg)}
.hw-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(30px,5vw,80px);align-items:end;padding:clamp(48px,7vw,96px) 0 clamp(56px,8vw,110px)}
.hero-whitecube .hero-title{font-size:var(--h1)}.hero-whitecube .hero-sub{color:var(--muted);font-size:1.1rem}
.hero-whitecube .kicker::before{content:"";width:12px;height:12px;border-radius:50%;background:var(--accent)}
.hw-work{margin:0}.hw-work img,.hw-deco{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--alt)}
.hw-work figcaption{display:flex;flex-wrap:wrap;gap:4px 22px;border-top:1px solid var(--text);margin-top:14px;padding-top:10px;font-size:.88rem}
.hw-work figcaption span:first-child{font-weight:600}
@media (max-width:900px){.hw-grid{grid-template-columns:1fr;padding-top:20px;gap:24px}.hw-work{order:-1}.hw-work img,.hw-deco{aspect-ratio:16/10}}
/* sections: the list is the design */
.sk-whitecube .sec{padding:clamp(64px,9vw,128px) 0}.sk-whitecube .sec-hero{padding:0}
.sk-whitecube .sec-alt{background:var(--alt)}
.sk-whitecube .ev{grid-template-columns:150px 1fr auto;border-color:var(--text)}.sk-whitecube .ev:first-child{border-top-color:var(--text)}
.sk-whitecube .ev-when{flex-direction:row;align-items:baseline;justify-content:flex-start;gap:8px;width:auto;min-height:0;background:none;color:var(--text);padding:0}
.sk-whitecube .ev-day{font-weight:300;font-size:2.6rem;margin:0;order:-1}.sk-whitecube .ev-mon{color:var(--text)}.sk-whitecube .ev-dow{order:1;color:var(--muted)}
.sk-whitecube .ev-title{font-weight:300;font-size:clamp(1.5rem,3vw,2.2rem)}
.sk-whitecube .ev-btn{background:none;color:var(--text);border:1px solid var(--text)}
@media (max-width:640px){.sk-whitecube .ev{grid-template-columns:1fr}.sk-whitecube .ev-btn{grid-column:1}}
.sk-whitecube .works{gap:clamp(40px,6vw,80px) clamp(24px,4vw,56px)}.sk-whitecube .work-media img{border-radius:0;aspect-ratio:4/5}
.sk-whitecube .work-body{border-top:1px solid var(--text);margin-top:14px;padding-top:10px}.sk-whitecube .work-body .card-title{font-size:1.1rem;font-weight:600}
.sk-whitecube .work-body .card-title::before{content:"";display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--accent);margin-right:9px;vertical-align:middle}
.sk-whitecube .gallery{gap:4px}.sk-whitecube .gallery img{border-radius:0}
.sk-whitecube .cards-services .card,.sk-whitecube .cards-features .card,.sk-whitecube .cards-steps .card{border-top:1px solid var(--text);padding:20px 0 0;background:none;box-shadow:none;border-radius:0}
.sk-whitecube .card-ico{background:none;width:auto;height:auto;color:var(--text)}.sk-whitecube .step-n{background:none;color:var(--accent-txt);font-weight:300;font-size:2.4rem;width:auto;height:auto}
.sk-whitecube .team{text-align:left}.sk-whitecube .avatar{border-radius:0;width:100%;height:auto;aspect-ratio:1;margin:0 0 12px}
.sk-whitecube .lk-a,.sk-whitecube .mx-audio .mx-play,.sk-whitecube .mx-video .mx-play,.sk-whitecube .mx-frame{border-radius:0}.sk-whitecube .lk-a{border-color:var(--text)}.sk-whitecube .lk-ico{border-radius:0;background:none;color:var(--text)}
.sk-whitecube .mx-btn{border-radius:0;background:var(--bg);color:var(--text)}
.sk-whitecube .pk-photo img,.sk-whitecube .about-media img{border-radius:0}
.sk-whitecube .hours th,.sk-whitecube .hours td{border-color:var(--text)}
.sk-whitecube .sec-cta{background:var(--bg);color:var(--text);border-top:1px solid var(--text)}.sk-whitecube .cta-box{text-align:left;max-width:none}
.sk-whitecube .cta-box .btns{justify-content:flex-start}.sk-whitecube .sec-cta .sec-title{font-size:clamp(2.4rem,6vw,5rem)}.sk-whitecube .cta-sub{opacity:1;color:var(--muted)}
.sk-whitecube .sec-cta .kicker{justify-content:flex-start}
.sk-whitecube .pagehead{background:var(--bg);border-bottom:1px solid var(--text)}.sk-whitecube .pagehead.has-photo .ph-photo{display:none}
.sk-whitecube .pagehead-title{font-weight:300;font-size:clamp(2.8rem,7vw,5.6rem)}
.sk-whitecube .form{border-radius:0;background:var(--alt)}.sk-whitecube .f-row input,.sk-whitecube .f-row textarea{border-radius:0;border-color:var(--text);border-width:1px}
.sk-whitecube .faq details{border-color:var(--text)}
.sk-whitecube .site-foot{background:var(--text);color:var(--bg)}.sk-whitecube .foot-name{font-weight:400}
