/* AMNPLIFIED ARTist PICk — MASTER stylesheet (single source of truth)
   Consolidates: base theme, shop, product, cart, checkout,
   photographer directory + profile, perks, coming-soon.
   Replace public/css/artistpick.css with this file in FULL. */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
:root{
  --brand:#f16625;--brand-d:#d4531a;--brand-l:rgba(241,102,37,.16);
  --paper:#0b0b0b;--paper2:#141414;--surface:#161616;
  --ink:#f5f4f2;--ink2:#e6e4e1;--ink3:#c9c7c3;--ink4:#6f6d69;
  --rule:rgba(245,244,242,.16);
  --sans:'Archivo',sans-serif;--narrow:'Archivo Narrow',sans-serif;--mono:'IBM Plex Mono',monospace;
  --e:cubic-bezier(.2,.8,.2,1);
}
[x-cloak]{display:none!important;}
html{scroll-behavior:smooth;}
body{font-family:var(--narrow);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;line-height:1.6;}
::selection{background:var(--brand);color:#fff;}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}
button{font-family:inherit;cursor:pointer;border:0;background:none;color:inherit;}
h1,h2,h3,h4{font-family:var(--sans);line-height:1.05;letter-spacing:-.03em;text-transform:uppercase;}
:focus-visible{outline:2px solid var(--brand);outline-offset:2px;}
.wrap,main>div{max-width:1600px;margin:0 auto;padding:0 40px;}
.mono{font-family:var(--mono);font-size:14px;letter-spacing:.1em;text-transform:uppercase;}
.bt{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 26px;font-family:var(--sans);font-size:16px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border:2px solid var(--ink);transition:all .25s var(--e);}
.bt-a{background:var(--brand);color:#fff;border-color:var(--brand);}
.bt-a:hover{background:var(--ink);color:var(--brand);border-color:var(--ink);}
.bt-o{background:transparent;color:var(--ink);border-color:var(--rule);}
.bt-o:hover{border-color:var(--brand);color:var(--brand);}
.logo-img{height:34px;width:auto;display:block;}

/* header (light, matches homepage) */
header{position:sticky;top:0;z-index:90;background:#f2f0eb;border-bottom:2px solid #0a0a0a;}
header nav{display:flex;align-items:center;justify-content:space-between;height:70px;}
.nv{display:flex;align-items:center;height:100%;}
.nv a{font-family:var(--mono);font-size:14px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:#0a0a0a;padding:0 18px;height:100%;display:flex;align-items:center;border-left:1px solid rgba(10,10,10,.16);transition:background .2s,color .2s;}
.nv a:hover,.nv a.active{background:var(--brand);color:#fff;}
.nv a:last-child{border-right:1px solid rgba(10,10,10,.16);}
.nv-cta{display:flex;gap:14px;align-items:center;}
.cart-btn{position:relative;display:flex;align-items:center;gap:8px;padding:0 14px;height:46px;border:2px solid rgba(10,10,10,.25);color:#0a0a0a;font-family:var(--mono);font-size:16px;transition:all .2s;}
.cart-btn:hover{border-color:var(--brand);color:var(--brand);}
.cart-count{background:var(--brand);color:#fff;font-size:14px;font-weight:700;min-width:20px;height:20px;display:flex;align-items:center;justify-content:center;padding:0 5px;font-family:var(--sans);}

/* ================= SHOP ================= */
.page-hero{padding:56px 0 40px;text-align:center;border-bottom:2px solid var(--ink);}
.page-hero h1{font-size:clamp(40px,7vw,84px);font-weight:900;}
.page-hero p{font-family:var(--narrow);font-size:18px;color:var(--ink2);margin-top:12px;}
.filterbar{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;padding:18px 0;border-bottom:2px solid var(--ink);}
.filterbar select{height:48px;padding:0 15px;background:var(--surface);border:2px solid var(--rule);color:var(--ink);font-family:var(--narrow);font-size:15px;min-width:170px;transition:border-color .2s;}
.filterbar select:hover{border-color:var(--ink3);}
.filterbar select:focus{outline:none;border-color:var(--brand);}
.filterbar > button{font-family:var(--mono);font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);padding:0 10px;background:none;border:0;}
.filterbar > button:hover{color:var(--brand);}
.filterbar button:hover{color:var(--brand);}
.gallery{columns:5;column-gap:16px;padding:34px 0 40px;}
@media(max-width:1400px){.gallery{columns:4;}}
@media(max-width:1080px){.gallery{columns:3;}}
@media(max-width:760px){.gallery{columns:2;}}
.tile{break-inside:avoid;margin-bottom:18px;position:relative;overflow:hidden;background:var(--paper2);border:1px solid var(--rule);}
.tile img{width:100%;height:auto;transition:transform .6s var(--e);}
.tile:hover img{transform:scale(1.05);}
.tile figcaption,.tile-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,11,11,0) 32%,rgba(11,11,11,.4) 58%,rgba(11,11,11,.92) 100%);opacity:0;transition:opacity .35s var(--e);display:flex;flex-direction:column;justify-content:flex-end;padding:18px;}
.tile:hover figcaption,.tile:hover .tile-overlay{opacity:1;}
.tile-imglink{display:block;}
.tile-top{display:flex;justify-content:space-between;align-items:flex-start;transform:translateY(-10px);transition:transform .35s var(--e);}
.tile:hover .tile-top{transform:translateY(0);}
.tile-cat{background:var(--ink);color:var(--paper);font-family:var(--mono);font-size:13px;font-weight:500;padding:6px 11px;text-transform:uppercase;letter-spacing:.06em;}
.tile-sale{background:var(--brand);color:#fff;font-family:var(--mono);font-size:13px;font-weight:700;padding:6px 11px;text-transform:uppercase;letter-spacing:.06em;}
.tile-bottom{transform:translateY(14px);transition:transform .35s var(--e);}
.tile:hover .tile-bottom{transform:translateY(0);}
.t-artist,.tile-artist{color:#fff;font-family:var(--sans);font-weight:700;font-size:18px;line-height:1.15;display:block;}
.t-venue,.tile-venue{font-family:var(--narrow);color:rgba(255,255,255,.96);font-size:16px;margin:4px 0 12px;display:flex;align-items:center;gap:5px;}
.tile-row{display:flex;justify-content:space-between;align-items:center;gap:12px;}
.t-price,.tile-price{font-family:var(--sans);color:#fff;margin:0;}
.tile-price .from{font-family:var(--mono);font-size:13px;font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.97);display:block;margin-bottom:1px;}
.tile-price .amount{font-size:20px;font-weight:800;}
.tile-price .unit{font-size:14px;color:rgba(255,255,255,.97);font-weight:400;}
.tile-actions{display:flex;gap:8px;}
.tile-view{width:42px;height:42px;background:rgba(255,255,255,.15);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;color:#fff;transition:all .2s;flex-shrink:0;}
.tile-view:hover{background:#fff;color:var(--paper);}
.tile button,.tile-add{background:var(--brand);color:#fff;height:42px;padding:0 16px;font-size:15px;font-weight:700;font-family:var(--sans);letter-spacing:.04em;text-transform:uppercase;display:inline-flex;align-items:center;gap:7px;transition:all .2s;white-space:nowrap;}
.tile-add:hover{background:var(--brand-d);}
.tile-add.added{background:#fff;color:var(--paper);}
@media(hover:none){.tile figcaption,.tile-overlay{opacity:1;background:linear-gradient(180deg,rgba(11,11,11,.1) 40%,rgba(11,11,11,.9) 100%);}.tile-top,.tile-bottom{transform:none;}}
.empty{grid-column:1/-1;padding:60px;text-align:center;color:var(--ink2);font-size:17px;}
nav[role="navigation"]{display:flex;justify-content:center;padding:10px 0 50px;}
nav[role="navigation"] span,nav[role="navigation"] a,nav[role="navigation"] button{font-family:var(--mono);font-size:15px;min-width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--rule);color:var(--ink2);margin:0 -1px;padding:0 10px;}
nav[role="navigation"] [aria-current="page"] span{background:var(--brand);color:#fff;border-color:var(--brand);}

.opt{transition:background .12s,border-color .12s,color .12s;}
.opt:active{background:var(--brand);color:#fff;border-color:var(--brand);}
.opt.pending{background:var(--brand);color:#fff;border-color:var(--brand);opacity:.85;}
.buy [wire\:loading]{pointer-events:none;}

/* ================= PRODUCT PAGE ================= */
.product{display:grid;grid-template-columns:1fr 1fr;border-bottom:2px solid var(--ink);}
.gallery-col{border-right:2px solid var(--ink);display:flex;gap:16px;padding:40px;background:var(--paper2);align-items:flex-start;position:relative;}
.thumbs{display:flex;flex-direction:column;gap:10px;width:84px;flex-shrink:0;}
.thumbs button{width:84px;height:84px;border:2px solid var(--rule);overflow:hidden;position:relative;background:#000;padding:0;}
.thumbs button img{width:100%;height:70%;object-fit:cover;}
.thumbs button span{display:block;font-family:var(--mono);font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink2);padding:3px 0;text-align:center;}
.thumbs button.active{border-color:var(--brand);}
.viewer{flex:1;position:relative;}
.photo-frame{border:2px solid var(--ink);background:#000;max-width:520px;position:relative;cursor:crosshair;overflow:hidden;}
.photo-frame img{width:100%;height:auto;display:block;}
.photo-frame .lens{position:absolute;width:150px;height:150px;border:2px solid var(--brand);background:rgba(241,102,37,.12);pointer-events:none;z-index:5;}
.zoom-hint{position:absolute;bottom:0;left:0;right:0;background:rgba(11,11,11,.72);color:rgba(255,255,255,.97);font-family:var(--mono);font-size:13.5px;letter-spacing:.08em;text-transform:uppercase;padding:9px 14px;text-align:center;pointer-events:none;z-index:4;}
.zoom-popup{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:520px;height:560px;border:2px solid var(--brand);background-repeat:no-repeat;background-color:#000;z-index:9999;box-shadow:0 24px 80px rgba(0,0,0,.8);pointer-events:none;}
.zoom-popup .zp-label{position:absolute;top:0;left:0;background:var(--brand);color:#fff;font-family:var(--mono);font-size:13.5px;letter-spacing:.08em;text-transform:uppercase;padding:6px 12px;font-weight:600;}
.room-view{position:relative;aspect-ratio:1;overflow:hidden;background:#1a1a1a;max-width:520px;}
.room-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.room-poster{position:absolute;transform:translate(-50%,0);box-shadow:0 18px 34px -8px rgba(0,0,0,.38),0 6px 14px rgba(0,0,0,.22);z-index:2;max-width:60%;transition:width .35s var(--e);}
.room-poster img{width:100%;height:auto;display:block;object-fit:contain;}
.scene-tag{position:absolute;bottom:0;left:0;background:var(--ink);color:var(--paper);font-family:var(--mono);font-size:13px;letter-spacing:.08em;text-transform:uppercase;padding:6px 12px;z-index:3;}
.room-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);z-index:1;}
.buy{padding:48px 50px;}
.buy h1{font-size:clamp(30px,3.6vw,52px);font-weight:900;margin-bottom:16px;}
.type-label{display:inline-block;background:var(--ink);color:var(--paper);font-family:var(--mono);font-size:13.5px;letter-spacing:.1em;text-transform:uppercase;padding:8px 14px;margin-bottom:18px;}
.buy .meta{font-family:var(--narrow);font-size:17px;color:var(--ink2);border-left:3px solid var(--brand);padding-left:16px;margin-bottom:26px;line-height:1.7;}
.buy .meta b{color:var(--ink);}
.buy h4{font-family:var(--mono);font-size:14px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);margin:22px 0 12px;}
.opt-row{display:flex;flex-wrap:wrap;}
.opt{border:2px solid var(--rule);margin-left:-2px;font-family:var(--sans);font-weight:700;text-transform:uppercase;background:var(--surface);color:var(--ink);padding:14px 18px;}
.opt:first-child{margin-left:0;}
.opt:hover{border-color:var(--ink3);z-index:1;position:relative;}
.opt.selected{background:var(--brand);color:#fff;border-color:var(--brand);z-index:2;position:relative;}
.opt.size{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:96px;}
.opt.size .nm{font-size:17px;}
.opt.size .dim{font-family:var(--mono);font-size:13px;font-weight:500;text-transform:none;opacity:.6;}
.opt.paper{font-size:16px;}
.size-compare{margin:16px 0 22px;border:2px solid var(--rule);background:#0f1735;overflow:hidden;line-height:0;}
.size-compare img{width:100%;height:150px;display:block;object-fit:contain;background:#0f1735;}
.size-compare figcaption{font-family:var(--mono);font-size:13px;line-height:1.5;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);padding:8px 12px;text-align:center;border-top:1px solid var(--rule);}
.price-line{margin:26px 0;padding:18px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);}
.price-line .price{font-family:var(--sans);font-size:44px;font-weight:900;letter-spacing:-.03em;}
.buy-actions{display:flex;gap:12px;align-items:center;}
.qty{display:flex;border:2px solid var(--ink);height:52px;}
.qty button{width:44px;font-size:18px;font-family:var(--sans);font-weight:700;}
.qty button:hover{background:var(--brand);color:#fff;}
.qty input{width:50px;text-align:center;background:var(--surface);border:0;border-left:2px solid var(--ink);border-right:2px solid var(--ink);color:var(--ink);font-family:var(--sans);font-size:17px;font-weight:700;}
.add-cart{width:240px;height:52px;background:var(--brand);color:#fff;border:2px solid var(--brand);font-family:var(--sans);font-size:16px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;display:flex;align-items:center;justify-content:center;gap:10px;transition:all .25s var(--e);}
.add-cart:hover{background:var(--ink);color:var(--brand);border-color:var(--ink);}
.add-cart:disabled{opacity:.4;cursor:not-allowed;}
.soldout{font-family:var(--mono);font-size:16px;letter-spacing:.08em;text-transform:uppercase;color:var(--brand);border:2px solid var(--brand);padding:14px 20px;display:inline-block;}
.paper-info{display:grid;grid-template-columns:1fr 1fr;gap:0;border:2px solid var(--rule);margin-top:30px;}
.paper-info .pi{padding:20px;border-right:1px solid var(--rule);}
.paper-info .pi:last-child{border-right:0;}
.paper-info h5{font-family:var(--sans);font-size:16px;font-weight:800;text-transform:uppercase;margin-bottom:8px;}
.paper-info p{font-family:var(--narrow);font-size:16px;color:var(--ink2);line-height:1.62;}
.ship-notes{margin-top:22px;}
.ship-notes li{font-family:var(--narrow);font-size:16.5px;color:var(--ink2);padding:8px 0 8px 20px;position:relative;border-bottom:1px solid var(--rule);}
.ship-notes li:last-child{border-bottom:0;}
.ship-notes li::before{content:'→';position:absolute;left:0;color:var(--brand);font-family:var(--mono);font-size:15px;}
@media(max-width:900px){.paper-info{grid-template-columns:1fr;}.paper-info .pi{border-right:0;border-bottom:1px solid var(--rule);}}
@media(max-width:960px){.product{grid-template-columns:1fr;}.gallery-col{border-right:0;border-bottom:2px solid var(--ink);flex-direction:column-reverse;}.thumbs{flex-direction:row;width:auto;overflow-x:auto;}.buy{padding:32px 24px;}}

.related{padding:56px 0 72px;border-bottom:2px solid var(--ink);}
.related-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:28px;}
.related-head h2{font-size:clamp(24px,3.2vw,40px);font-weight:900;}
.related-head .mono{color:var(--ink3);}
.related-head .mono:hover{color:var(--brand);}
.related-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:2px solid var(--ink);border-left:2px solid var(--ink);}
.rel-card{border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);background:var(--paper);transition:background .2s;display:flex;flex-direction:column;}
.rel-card:hover{background:var(--surface);}
.rel-img{aspect-ratio:1;overflow:hidden;border-bottom:2px solid var(--ink);}
.rel-img img{width:100%;height:100%;object-fit:cover;filter:grayscale(100%);transition:all .4s var(--e);}
.rel-card:hover .rel-img img{filter:grayscale(0);transform:scale(1.05);}
.rel-body{padding:18px;display:flex;flex-direction:column;flex:1;}
.rel-body h4{font-size:17px;font-weight:800;margin-bottom:8px;}
.rel-body .rprice{font-family:var(--sans);font-size:17px;font-weight:900;color:var(--brand);margin-bottom:14px;}
.rel-body .bt{width:100%;padding:11px;font-size:14px;margin-top:auto;}
@media(max-width:1080px){.related-grid{grid-template-columns:1fr 1fr;}}

/* ================= CART / CHECKOUT ================= */
.cart h1,.checkout h1,.thankyou h1{font-size:clamp(34px,5vw,60px);font-weight:900;padding:40px 0 26px;}
.cart-layout{display:grid;grid-template-columns:1fr 380px;border:2px solid var(--ink);margin-bottom:60px;}
.cart-items{border-right:2px solid var(--ink);}
.cart-row{display:grid;grid-template-columns:96px 1fr auto;gap:20px;padding:26px 32px;border-bottom:1px solid var(--rule);align-items:center;}
.cart-row img{width:96px;height:96px;object-fit:cover;border:2px solid var(--ink);}
.cart-row .info h3{font-size:18px;font-weight:800;margin-bottom:6px;}
.cart-row .info h3 a:hover{color:var(--brand);}
.cart-row .right{display:flex;flex-direction:column;align-items:flex-end;gap:12px;}
.line-price{font-family:var(--sans);font-size:22px;font-weight:900;}
.cart .qty{height:40px;}
.cart .qty button{width:38px;}
.cart .qty input{width:44px;font-size:17px;}
.remove{font-family:var(--mono);font-size:13.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);}
.remove:hover{color:var(--brand);}
.summary{padding:32px;background:var(--paper2);}
.summary h2{font-size:22px;font-weight:900;margin-bottom:20px;padding-bottom:14px;border-bottom:2px solid var(--ink);}
.summary .row,.sum-item{display:flex;justify-content:space-between;font-family:var(--narrow);font-size:17px;padding:10px 0;color:var(--ink2);}
.sum-item{border-bottom:1px solid var(--rule);gap:14px;}
.summary .row.total{border-top:2px solid var(--ink);margin-top:12px;padding-top:18px;font-family:var(--sans);font-weight:900;font-size:22px;color:var(--ink);}
.summary .bt{width:100%;margin-top:18px;height:54px;}
.cart .empty,.checkout .empty{padding:70px 0;text-align:center;font-size:18px;color:var(--ink2);}
.cart .empty a,.checkout .empty a{color:var(--brand);}
@media(max-width:900px){.cart-layout{grid-template-columns:1fr;}.cart-items{border-right:0;border-bottom:2px solid var(--ink);}}

.checkout-grid{display:grid;grid-template-columns:1fr 420px;border:2px solid var(--ink);margin-bottom:60px;}
.form-col{border-right:2px solid var(--ink);padding:36px 40px;}
.form-col h2{font-size:20px;font-weight:900;margin:26px 0 18px;display:flex;align-items:center;gap:12px;}
.form-col h2:first-child{margin-top:0;}
.form-col h2 span{width:30px;height:30px;background:var(--brand);color:#fff;font-family:var(--sans);font-size:16.5px;display:flex;align-items:center;justify-content:center;}
.form-col label{display:flex;flex-direction:column;gap:7px;margin-bottom:14px;font-family:var(--mono);font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);}
.form-col input,.form-col select{padding:13px 15px;background:var(--surface);border:2px solid var(--rule);color:var(--ink);font-family:var(--narrow);font-size:17.5px;}
.form-col input:focus,.form-col select:focus{outline:none;border-color:var(--brand);}
.form-col em{color:var(--brand);font-style:normal;font-size:15px;}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.paypal-box{border:2px solid var(--brand);background:var(--brand-l);padding:24px;}
.paypal-box b{font-family:var(--sans);font-size:20px;text-transform:uppercase;color:var(--brand);display:block;margin-bottom:10px;}
.paypal-box p{font-family:var(--narrow);font-size:17px;color:var(--ink2);line-height:1.6;}
.checkout .error{background:var(--brand-l);border:2px solid var(--brand);color:var(--brand);padding:14px 18px;margin-bottom:20px;font-family:var(--narrow);}
@media(max-width:900px){.checkout-grid{grid-template-columns:1fr;}.form-col{border-right:0;border-bottom:2px solid var(--ink);}.grid2{grid-template-columns:1fr;}}

.thankyou{text-align:center;padding-bottom:80px;}
.thankyou p{font-family:var(--narrow);font-size:17px;color:var(--ink2);margin-bottom:10px;}
.thankyou .mono{color:var(--brand);display:block;margin:18px 0 28px;}

footer{background:var(--paper2);border-top:2px solid var(--ink);margin-top:40px;}
.fbot{display:flex;justify-content:space-between;padding:26px 0;font-family:var(--mono);font-size:13.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);flex-wrap:wrap;gap:12px;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:36px;padding:48px 0 36px;}
.footer-brand .logo-img{margin-bottom:14px;}
.footer-brand p{font-family:var(--narrow);font-size:17px;color:var(--ink2);line-height:1.7;max-width:320px;}
.footer-col h5{font-family:var(--mono);font-size:13.5px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--ink3);margin-bottom:14px;}
.footer-col a{display:block;font-family:var(--narrow);font-size:17px;color:var(--ink2);margin-bottom:10px;transition:color .2s;}
.footer-col a:hover{color:var(--brand);}
.fbot{border-top:1px solid var(--rule);}
@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr;}.footer-brand{grid-column:1/-1;}}

.toast{position:fixed;bottom:24px;right:24px;background:var(--surface);border:2px solid var(--ink);color:var(--ink);padding:16px 22px;font-size:16.5px;transform:translateY(120px);opacity:0;transition:all .4s var(--e);z-index:300;}
.toast.show{transform:translateY(0);opacity:1;}

/* ===================== PHOTOGRAPHER PAGES ===================== */
.ph-hero{border-bottom:2px solid var(--ink);padding:60px 0 50px;text-align:center;position:relative;overflow:hidden;}
.ph-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 0%,var(--brand-l),transparent 55%);pointer-events:none;}
.ph-hero .eyebrow{font-family:var(--mono);font-size:15px;letter-spacing:.16em;text-transform:uppercase;color:var(--brand);margin-bottom:16px;}
.ph-hero h1{font-size:clamp(38px,6.5vw,80px);font-weight:900;letter-spacing:-.04em;margin-bottom:18px;}
.ph-hero p{font-family:var(--narrow);font-size:18px;color:var(--ink2);max-width:640px;margin:0 auto 30px;}
.hero-stats{display:flex;justify-content:center;border:2px solid var(--rule);max-width:640px;margin:0 auto;}
.hero-stat{flex:1;padding:18px 14px;border-right:1px solid var(--rule);}
.hero-stat:last-child{border-right:0;}
.hero-stat .n{font-family:var(--sans);font-size:28px;font-weight:900;line-height:1;color:var(--brand);}
.hero-stat .l{font-family:var(--mono);font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);margin-top:7px;}

.ph-toolbar{background:var(--paper2);border-bottom:2px solid var(--ink);padding:20px 0;}
.toolbar-inner{display:flex;gap:12px;align-items:center;flex-wrap:wrap;}
.search-box{flex:1;min-width:240px;position:relative;}
.search-box svg{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:var(--ink3);pointer-events:none;}
.search-box input{width:100%;padding:13px 15px 13px 44px;background:var(--surface);border:2px solid var(--rule);color:var(--ink);font-family:var(--narrow);font-size:17.5px;}
.search-box input:focus{outline:none;border-color:var(--brand);}
.ph-toolbar select{padding:13px 15px;background:var(--surface);border:2px solid var(--rule);color:var(--ink);font-family:var(--narrow);font-size:17px;min-width:160px;}
.ph-toolbar select:focus{outline:none;border-color:var(--brand);}
.tb-count{font-family:var(--mono);font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);}
.tb-count b{color:var(--ink);}

.state-bar{border-bottom:2px solid var(--ink);padding:16px 0;}
.state-chips{display:flex;flex-wrap:wrap;justify-content:center;border:2px solid var(--rule);width:fit-content;margin:0 auto;}
.state-chip{font-family:var(--mono);font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink2);padding:11px 18px;border-right:1px solid var(--rule);transition:all .2s;}
.state-chip:last-child{border-right:0;}
.state-chip.active{background:var(--brand);color:#fff;}

.sec{padding:52px 0;}
.sec .wrap{text-align:center;}
.sec-label{font-family:var(--mono);font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--brand);margin-bottom:12px;display:block;}
.sec h2{font-size:clamp(26px,3.6vw,46px);font-weight:900;margin-bottom:12px;}
.sec .lead{font-family:var(--narrow);font-size:17px;color:var(--ink2);max-width:720px;margin:0 auto;}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:26px;text-align:left;}
.sec-head h2{font-size:clamp(24px,3.2vw,40px);}
.sec-head .sub{font-family:var(--narrow);font-size:17px;color:var(--ink2);margin-top:6px;}

.ph-featured{border-bottom:2px solid var(--ink);background:var(--paper2);padding:48px 0;}
.ph-featured .wrap{text-align:left;}
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);border:2px solid var(--ink);}
.feat{border-right:2px solid var(--ink);display:flex;flex-direction:column;}
.feat:last-child{border-right:0;}
.feat-img{position:relative;aspect-ratio:16/10;overflow:hidden;background:#000;border-bottom:2px solid var(--ink);}
.feat-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--e);}
.feat:hover .feat-img img{transform:scale(1.05);}
.feat-rank{position:absolute;top:0;left:0;background:var(--brand);color:#fff;font-family:var(--sans);font-size:16.5px;font-weight:900;padding:8px 14px;}
.feat-body{padding:24px;flex:1;display:flex;flex-direction:column;}
.feat-body h3{font-size:22px;font-weight:900;margin-bottom:4px;}
.feat-body .loc{font-family:var(--mono);font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--brand);margin-bottom:12px;}
.feat-body .spec{font-family:var(--narrow);font-size:16.5px;color:var(--ink2);margin-bottom:16px;flex:1;}
.feat-meta{display:flex;gap:20px;margin-bottom:18px;}
.feat-meta .m .v{font-family:var(--sans);font-size:19px;font-weight:900;display:block;}
.feat-meta .m .k{font-family:var(--mono);font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);}

/* ===== PHOTOGRAPHER DIRECTORY — card redesign ===== */
/* ===== PHOTOGRAPHER DIRECTORY — premium card redesign ===== */
.pg-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:22px;text-align:left;border:0;
}
.pg-card{
  border:2px solid var(--rule);background:var(--paper2);position:relative;
  transition:border-color .3s var(--e),transform .3s var(--e),box-shadow .4s var(--e);
  display:flex;flex-direction:column;overflow:hidden;
}
.pg-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--brand);
  transform:scaleX(0);transform-origin:left;transition:transform .35s var(--e);z-index:3;
}
.pg-card:hover{
  border-color:var(--brand);transform:translateY(-6px);
  box-shadow:0 20px 44px -12px rgba(241,102,37,.28),0 6px 16px rgba(0,0,0,.4);
}
.pg-card:hover::before{transform:scaleX(1);}

/* subtle ghost index number, top-right, barely-there */
.pg-ghost-no{
  position:absolute;top:14px;right:16px;z-index:3;
  font-family:var(--sans);font-size:13px;font-weight:700;letter-spacing:.05em;
  color:rgba(255,255,255,.35);pointer-events:none;
  font-family:var(--mono);
}

/* portrait crop reads as a curated talent directory, not a generic avatar list */
.pg-photo{position:relative;aspect-ratio:4/5;overflow:hidden;background:#000;border-bottom:2px solid var(--rule);}
.pg-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(15%);transition:all .6s var(--e);}
.pg-card:hover .pg-photo img{transform:scale(1.08);filter:grayscale(0);}

.pg-avatar-fallback{
  width:100%;height:100%;position:relative;display:flex;align-items:center;justify-content:center;
  background:
    radial-gradient(circle at 50% 40%,rgba(241,102,37,.16),transparent 60%),
    repeating-linear-gradient(135deg,rgba(255,255,255,.02) 0px,rgba(255,255,255,.02) 1px,transparent 1px,transparent 14px),
    linear-gradient(135deg,var(--surface) 0%,#191919 100%);
}
.pg-avatar-fallback span{
  font-family:var(--sans);font-size:72px;font-weight:900;color:rgba(245,244,242,.5);letter-spacing:-.03em;
  border:2px solid rgba(241,102,37,.35);width:110px;height:110px;display:flex;align-items:center;justify-content:center;
}
.pg-photo .state-tag{
  position:absolute;top:0;left:0;z-index:2;background:var(--brand);color:#fff;
  font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:6px 12px;
}

/* hover-reveal CTA over the photo, matching the product-tile interaction language */
.pg-view-cta{
  position:absolute;inset:0;z-index:2;display:flex;align-items:flex-end;justify-content:center;
  padding-bottom:22px;gap:8px;
  background:linear-gradient(180deg,rgba(11,11,11,0) 45%,rgba(11,11,11,.85) 100%);
  color:#fff;font-family:var(--sans);font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;
  opacity:0;transform:translateY(8px);transition:opacity .3s var(--e),transform .3s var(--e);
}
.pg-card:hover .pg-view-cta{opacity:1;transform:translateY(0);}
.pg-view-cta svg{transition:transform .3s var(--e);}
.pg-card:hover .pg-view-cta svg{transform:translateX(4px);}

.pg-body{padding:22px 20px;display:flex;flex-direction:column;flex:1;}
.pg-body h3{
  font-size:20px;font-weight:900;margin-bottom:12px;letter-spacing:-.01em;
  position:relative;padding-bottom:10px;display:inline-block;
}
.pg-body h3::after{
  content:'';position:absolute;left:0;bottom:0;height:2px;width:28px;background:var(--brand);
  transition:width .35s var(--e);
}
.pg-card:hover .pg-body h3::after{width:100%;}
.pg-body .loc{
  font-family:var(--mono);font-size:12px;letter-spacing:.04em;text-transform:uppercase;
  color:var(--ink3);margin-bottom:14px;display:flex;align-items:center;gap:6px;margin-top:-6px;
}
.pg-body .loc svg{color:var(--brand);flex-shrink:0;}
.pg-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px;}
.pg-tag{
  font-family:var(--mono);font-size:10.5px;letter-spacing:.03em;text-transform:uppercase;
  color:var(--ink2);border:1px solid var(--rule);padding:5px 10px;transition:all .25s var(--e);
}
.pg-card:hover .pg-tag{border-color:rgba(241,102,37,.4);background:var(--brand-l);color:var(--ink);}
.pg-foot{
  display:flex;justify-content:space-between;align-items:center;margin-top:auto;
  padding-top:16px;border-top:1px solid var(--rule);
}
.pg-foot .shows{font-family:var(--mono);font-size:11px;text-transform:uppercase;color:var(--ink3);}
.pg-foot .shows b{color:var(--ink);font-family:var(--sans);}
.pg-foot .view{
  font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--brand);display:flex;align-items:center;gap:5px;transition:gap .25s var(--e);
}
.pg-card:hover .pg-foot .view{gap:9px;}

/* featured card image fallback (same premium treatment) */
.feat-img-fallback{
  width:100%;height:100%;position:relative;display:flex;align-items:center;justify-content:center;
  background:
    radial-gradient(circle at 50% 40%,rgba(241,102,37,.16),transparent 60%),
    linear-gradient(135deg,var(--surface) 0%,#191919 100%);
}
.feat-img-fallback span{
  font-family:var(--sans);font-size:88px;font-weight:900;color:rgba(245,244,242,.5);
  border:2px solid rgba(241,102,37,.35);width:130px;height:130px;display:flex;align-items:center;justify-content:center;
}

/* staggered scroll-reveal entrance */
.pg-card.rv{transition-delay:calc(var(--i, 0) * 70ms);}




@media(max-width:1200px){.pg-grid{grid-template-columns:repeat(3,1fr);}.feat-grid{grid-template-columns:1fr;}.feat{border-right:0;border-bottom:2px solid var(--ink);}}
@media(max-width:900px){.pg-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:640px){.pg-grid{grid-template-columns:1fr;}}

.profile-sec{padding:44px 40px 0;}
.profile{display:grid;grid-template-columns:0.9fr 1.1fr;border:2px solid var(--ink);max-width:1400px;margin:0 auto 44px;background:var(--paper2);}
.profile-photo{position:relative;border-right:2px solid var(--ink);overflow:hidden;background:#000;aspect-ratio:4/5;}
.profile-photo img{width:100%;height:100%;object-fit:cover;}
.profile-photo .state-tag{position:absolute;top:0;left:0;background:var(--brand);color:#fff;font-family:var(--mono);font-size:14px;letter-spacing:.08em;text-transform:uppercase;padding:10px 16px;}
.profile-info{padding:44px 46px;display:flex;flex-direction:column;justify-content:center;}
.profile-info .eyebrow{font-family:var(--mono);font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:var(--brand);margin-bottom:12px;}
.profile-info h1{font-size:clamp(38px,5vw,64px);font-weight:900;line-height:.95;margin-bottom:10px;}
.profile-info .role{font-family:var(--mono);font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid var(--rule);}
.profile-info .bio p{font-family:var(--narrow);font-size:17px;line-height:1.65;color:var(--ink2);margin-bottom:12px;}
.profile-jump{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0 22px;}
.contact-bar{display:flex;border:2px solid var(--rule);flex-wrap:wrap;}
.contact-bar a{flex:1;min-width:140px;padding:13px 15px;border-right:1px solid var(--rule);display:flex;align-items:center;gap:9px;font-family:var(--mono);font-size:14px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink2);transition:all .2s;}
.contact-bar a:last-child{border-right:0;}
.contact-bar a:hover{background:var(--brand);color:#fff;}
.contact-bar svg{color:var(--brand);flex-shrink:0;}
.contact-bar a:hover svg{color:#fff;}
@media(max-width:1080px){.profile{grid-template-columns:1fr;}.profile-photo{border-right:0;border-bottom:2px solid var(--ink);}.profile-info{padding:32px 24px;}.profile-sec{padding:28px 20px 0;}}

.event-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(--ink);border-left:2px solid var(--ink);margin-top:28px;text-align:left;}
.event{border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);padding:26px;position:relative;transition:background .2s;}
.event:hover{background:var(--surface);}
.event .status{position:absolute;top:24px;right:24px;font-family:var(--mono);font-size:13px;letter-spacing:.08em;text-transform:uppercase;padding:5px 9px;border:1px solid var(--rule);color:var(--ink3);}
.event .status.confirmed{background:var(--brand-l);border-color:var(--brand);color:var(--brand);}
.event .date{display:flex;align-items:baseline;gap:8px;margin-bottom:14px;}
.event .date .day{font-family:var(--sans);font-size:36px;font-weight:900;line-height:1;color:var(--brand);}
.event .date .mo{font-family:var(--mono);font-size:15px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);}
.event h3{font-size:20px;font-weight:800;margin-bottom:8px;}
.event .venue{font-family:var(--narrow);font-size:17px;color:var(--ink2);}
@media(max-width:900px){.event-grid{grid-template-columns:1fr;}}

.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);border:2px solid var(--ink);margin-top:30px;text-align:left;}
.step{padding:30px 24px;border-right:2px solid var(--ink);}
.step:last-child{border-right:0;}
.step .num{font-family:var(--sans);font-size:42px;font-weight:900;line-height:1;color:var(--brand);margin-bottom:16px;}
.step h3{font-size:18px;font-weight:800;margin-bottom:10px;}
.step p{font-family:var(--narrow);font-size:16.5px;color:var(--ink2);}
@media(max-width:1080px){.exp-grid,.steps-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:700px){.exp-grid,.steps-grid{grid-template-columns:1fr;}.exp,.step{border-right:0;border-bottom:2px solid var(--ink);}}

.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px;text-align:left;}
.testi{border:2px solid var(--rule);padding:30px 26px;display:flex;flex-direction:column;}
.testi .quote{font-family:var(--narrow);font-size:17.5px;line-height:1.6;color:var(--ink);margin-bottom:20px;flex:1;}
.testi .quote::before{content:'\201C';font-family:var(--sans);font-size:50px;font-weight:900;color:var(--brand);line-height:0;display:block;height:22px;}
.testi .who{display:flex;align-items:center;gap:12px;border-top:1px solid var(--rule);padding-top:15px;}
.testi .who img{width:44px;height:44px;object-fit:cover;border:2px solid var(--brand);flex-shrink:0;}
.testi .who .wn{font-family:var(--mono);font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);line-height:1.5;}
.testi .who .wn b{color:var(--ink);font-weight:600;display:block;font-size:15px;}
@media(max-width:1080px){.testi-grid{grid-template-columns:1fr;}}

.pricing{background:var(--paper2);}
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);border:2px solid var(--ink);margin-top:30px;text-align:left;}
.price{padding:34px 30px;border-right:2px solid var(--ink);display:flex;flex-direction:column;}
.price:last-child{border-right:0;}
.price.feature{background:var(--brand-l);}
.price h3{font-family:var(--mono);font-size:16.5px;letter-spacing:.08em;color:var(--ink3);margin-bottom:8px;font-weight:500;text-transform:uppercase;}
.price .amt{font-family:var(--sans);font-size:38px;font-weight:900;letter-spacing:-.03em;margin-bottom:6px;}
.price .amt small{font-size:16.5px;font-weight:600;color:var(--ink3);text-transform:uppercase;letter-spacing:.04em;}
.price .sub{font-family:var(--narrow);font-size:16px;color:var(--ink3);margin-bottom:20px;}
.price ul{margin-bottom:24px;flex:1;}
.price li{font-family:var(--narrow);font-size:16.5px;color:var(--ink2);padding:9px 0 9px 18px;border-bottom:1px solid var(--rule);position:relative;}
.price li::before{content:'→';position:absolute;left:0;color:var(--brand);font-family:var(--mono);font-size:14px;}
.price .bt{width:100%;}
@media(max-width:900px){.price-grid{grid-template-columns:1fr;}.price{border-right:0;border-bottom:2px solid var(--ink);}}

.join-cta{border-top:2px solid var(--ink);background:var(--paper2);padding:56px 0;text-align:center;}
.join-cta h2{font-size:clamp(26px,4vw,48px);font-weight:900;margin-bottom:12px;}
.join-cta h2 mark{background:var(--brand);color:#fff;padding:0 8px;}
.join-cta p{font-family:var(--narrow);font-size:17px;color:var(--ink2);max-width:540px;margin:0 auto 24px;}
.enquire{background:var(--paper2);}

/* ===== WHAT'S INCLUDED — perk cards ===== */
.perks-sec .lead{margin:0 auto 8px;}
.perks-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px;text-align:left;}
.perk-card{position:relative;background:var(--surface);border:2px solid var(--rule);padding:34px 28px 28px;transition:border-color .25s var(--e),transform .25s var(--e);overflow:hidden;}
.perk-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--brand);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--e);}
.perk-card:hover{border-color:var(--brand);transform:translateY(-4px);}
.perk-card:hover::before{transform:scaleX(1);}
.perk-no{position:absolute;top:20px;right:24px;font-family:var(--sans);font-size:44px;font-weight:900;color:var(--ink4);letter-spacing:-.03em;line-height:1;}
.perk-icon{width:54px;height:54px;border:2px solid var(--brand);color:var(--brand);display:flex;align-items:center;justify-content:center;margin-bottom:22px;background:var(--brand-l);}
.perk-card h3{font-size:22px;font-weight:900;margin-bottom:10px;letter-spacing:-.01em;}
.perk-card p{font-family:var(--narrow);font-size:16.5px;color:var(--ink2);line-height:1.62;margin-bottom:20px;min-height:44px;}
.perk-value{display:inline-flex;align-items:center;font-family:var(--mono);font-size:14px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--brand);border:1px solid var(--brand);padding:7px 14px;background:var(--brand-l);}
.perks-foot{display:flex;align-items:center;justify-content:center;gap:9px;margin-top:30px;font-family:var(--mono);font-size:14px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink3);}
.perks-foot svg{color:var(--brand);flex-shrink:0;}
@media(max-width:900px){.perks-grid{grid-template-columns:1fr;}.perk-card{text-align:center;}.perk-icon{margin-left:auto;margin-right:auto;}.perk-no{right:auto;left:24px;}}

/* ===== coming soon ===== */
.coming-soon{padding:110px 0 120px;text-align:center;position:relative;overflow:hidden;}
.coming-soon::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 10%,var(--brand-l),transparent 60%);pointer-events:none;}
.cs-eyebrow{font-family:var(--mono);font-size:15px;letter-spacing:.18em;text-transform:uppercase;color:var(--brand);display:block;margin-bottom:20px;}
.coming-soon h1{font-size:clamp(46px,9vw,110px);font-weight:900;letter-spacing:-.05em;line-height:.9;margin-bottom:20px;}
.coming-soon p{font-family:var(--narrow);font-size:19px;color:var(--ink2);max-width:520px;margin:0 auto 34px;}
.cs-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}

/* ===== responsive: shop/header ===== */
@media(max-width:640px){
  .wrap,main>div{padding:0 20px;}
  .nv,.nv-cta{gap:8px;}
}

/* ===== Profile cover photo (breaks up the text-heavy top) ===== */
.profile-cover{height:260px;background-size:cover;background-position:center;position:relative;border-bottom:2px solid var(--ink);filter:grayscale(25%) contrast(1.05);}
.profile-cover::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,11,11,.35) 0%,rgba(11,11,11,.85) 85%,var(--paper) 100%);}
@media(max-width:640px){.profile-cover{height:170px;}}

/* ===== Perk card images ===== */
.perk-img{margin:-34px -28px 20px;aspect-ratio:16/10;overflow:hidden;border-bottom:2px solid var(--rule);}
.perk-img img{width:100%;height:100%;object-fit:cover;filter:grayscale(35%);transition:filter .3s var(--e),transform .5s var(--e);}
.perk-card:hover .perk-img img{filter:grayscale(0);transform:scale(1.05);}
.perk-card{padding-top:0;}
.perk-icon{margin-top:22px;}

/* ===== Other Services ===== */
.other-services{background:var(--paper2);}
.other-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:32px;text-align:left;}
.other-card{border:2px solid var(--rule);padding:28px 26px;transition:border-color .2s;}
.other-card:hover{border-color:var(--brand);}
.other-icon{font-size:30px;margin-bottom:14px;line-height:1;}
.other-card h3{font-size:18px;font-weight:800;margin-bottom:8px;}
.other-card p{font-family:var(--narrow);font-size:16.5px;color:var(--ink2);line-height:1.62;}
@media(max-width:900px){.other-grid{grid-template-columns:1fr;}}

/* ===== EXPERTISE — blurred photo background + flip cards ===== */
.expertise{position:relative;overflow:hidden;background:var(--paper2);}
.expertise::before{
  content:'';position:absolute;inset:-30px;z-index:0;
  background-image:url('https://images.unsplash.com/photo-1533174072545-7a4b6ad7a6c3?w=1600&q=60');
  background-size:cover;background-position:center;
  filter:blur(14px) grayscale(35%) brightness(.55);
  transform:scale(1.12);
}
.expertise::after{
  content:'';position:absolute;inset:0;z-index:0;
  background:linear-gradient(180deg,rgba(11,11,11,.55) 0%,rgba(11,11,11,.88) 60%,var(--paper2) 100%);
}
.expertise .wrap{position:relative;z-index:1;}

.exp-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:34px;
  text-align:left;perspective:1400px;
}
.exp-card{height:270px;background:transparent;}
.exp-inner{
  position:relative;width:100%;height:100%;
  transition:transform .7s cubic-bezier(.4,.2,.2,1);
  transform-style:preserve-3d;
}
.exp-card:hover .exp-inner{transform:rotateY(180deg);}
.exp-face{
  position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;
  padding:30px 28px;display:flex;flex-direction:column;border:2px solid var(--ink);
}
.exp-front{background:var(--surface);}
.exp-back{background:var(--brand);border-color:var(--brand);transform:rotateY(180deg);justify-content:center;}
.exp-icon{
  width:52px;height:52px;border:2px solid var(--brand);color:var(--brand);
  display:flex;align-items:center;justify-content:center;margin-bottom:20px;background:var(--brand-l);
  transition:transform .3s var(--e);
}
.exp-card:hover .exp-icon{transform:scale(1.08);}
.exp-front h3{font-size:20px;font-weight:900;margin-bottom:auto;}
.exp-flip-hint{
  font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--ink3);display:flex;align-items:center;gap:6px;
}
.exp-flip-hint svg{transition:transform .3s var(--e);}
.exp-card:hover .exp-flip-hint svg{transform:translateX(4px);}
.exp-back p{font-family:var(--narrow);font-size:16.5px;line-height:1.6;color:#fff;font-weight:500;}
.exp-back .exp-back-label{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.75);margin-bottom:12px;display:block;}

/* touch devices can't hover to flip — show both sides stacked instead */
@media(hover:none){
  .exp-inner{transform:none!important;}
  .exp-card{height:auto;}
  .exp-face{position:relative;inset:auto;backface-visibility:visible;}
  .exp-back{transform:none;border-top:0;margin-top:-2px;}
}
@media(max-width:1080px){.exp-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:700px){.exp-grid{grid-template-columns:1fr;}}

/* subtle scroll-reveal, matches the homepage's .rv pattern */
.rv{opacity:0;transform:translateY(24px);transition:opacity .6s,transform .6s var(--e);}
.rv.in{opacity:1;transform:translateY(0);}

/* ===== ARTist PICk / Photographer PICk tabs on shop page ===== */
.pick-tabs{display:flex;justify-content:center;border-bottom:2px solid var(--ink);}
.pick-tab{
  flex:1;max-width:320px;padding:20px 24px;font-family:var(--sans);font-size:15px;font-weight:800;
  letter-spacing:.02em;text-transform:uppercase;color:var(--ink3);background:var(--paper2);
  border-right:1px solid var(--rule);transition:all .2s;display:flex;align-items:center;justify-content:center;gap:10px;
}
.pick-tab:last-child{border-right:0;}
.pick-tab:hover{color:var(--ink);background:var(--surface);}
.pick-tab.active{color:#fff;background:var(--brand);}
.pick-count{
  font-family:var(--mono);font-size:12px;font-weight:500;padding:3px 9px;
  background:rgba(0,0,0,.2);border-radius:0;
}
.pick-tab.active .pick-count{background:rgba(255,255,255,.2);}
.pick-desc{
  text-align:center;font-family:var(--narrow);font-size:15px;color:var(--ink2);
  padding:18px 20px 0;max-width:640px;margin:0 auto;
}
@media(max-width:640px){
  .pick-tabs{flex-direction:column;}
  .pick-tab{max-width:none;border-right:0;border-bottom:1px solid var(--rule);}
  .pick-tab:last-child{border-bottom:0;}
}

/* ===== Banners & Ads (generic, any placement) ===== */
.profile-cover-link{display:block;}
.ad-banner{position:relative;border-bottom:2px solid var(--ink);overflow:hidden;background:var(--paper2);}
.ad-banner img{width:100%;height:auto;max-height:220px;object-fit:cover;display:block;}
.ad-banner a{display:block;}
.ad-banner-label{
  position:absolute;top:0;right:0;z-index:2;
  background:rgba(11,11,11,.75);color:rgba(255,255,255,.85);
  font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;
  padding:6px 12px;
}

/* ===== Searchable filter dropdown (artist / photographer / venue etc) ===== */
/* ===== Searchable filter dropdown (artist / photographer / venue etc) ===== */
.searchable-select{position:relative;min-width:200px;}
.ss-trigger{
  width:100%;height:48px;padding:0 15px;background:var(--surface);border:2px solid var(--rule);
  color:var(--ink);font-family:var(--narrow);font-size:15px;
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  transition:border-color .2s;text-align:left;
}
.ss-trigger:hover{border-color:var(--ink3);}
.searchable-select.is-open .ss-trigger{border-color:var(--brand);}
.ss-trigger svg{color:var(--ink3);flex-shrink:0;transition:transform .25s var(--e);}
.searchable-select.is-open .ss-trigger svg{transform:rotate(180deg);color:var(--brand);}

.ss-panel{
  position:absolute;top:calc(100% + 8px);left:0;width:280px;
  background:var(--paper2);border:2px solid var(--brand);z-index:50;
  box-shadow:0 20px 48px rgba(0,0,0,.55);
  overflow:hidden;
}
.ss-search{
  display:flex;align-items:center;gap:9px;margin:12px;padding:11px 13px;
  background:var(--surface);border:2px solid var(--rule);transition:border-color .2s;
}
.ss-search:focus-within{border-color:var(--brand);}
.ss-search svg{color:var(--ink3);flex-shrink:0;}
.ss-search input{
  flex:1;width:100%;background:none;border:0;color:var(--ink);font-family:var(--narrow);font-size:15px;
}
.ss-search input:focus{outline:none;}
.ss-search input::placeholder{color:var(--ink4);}

.ss-list{max-height:280px;overflow-y:auto;padding:0 0 8px;}
.ss-hint{
  font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:var(--brand);padding:4px 16px 10px;
}
.ss-item{
  position:relative;display:block;width:100%;text-align:left;padding:12px 16px 12px 19px;
  font-family:var(--narrow);font-size:15px;color:var(--ink2);
  transition:background .15s,color .15s;
}
.ss-item::before{
  content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--brand);
  transform:scaleY(0);transition:transform .2s var(--e);
}
.ss-item:hover{background:var(--surface);color:var(--ink);}
.ss-item:hover::before{transform:scaleY(1);}
.ss-item.active{background:var(--brand-l);color:var(--brand);font-weight:700;}
.ss-item.active::before{transform:scaleY(1);}
.ss-empty{
  padding:22px 16px;text-align:center;font-family:var(--narrow);font-size:14px;color:var(--ink3);
}
/* ===== Services page — à la carte service cards ===== */
.svc-group{margin-top:40px;text-align:left;}
.svc-group:first-of-type{margin-top:36px;}
.svc-group-title{
  font-family:var(--mono);font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  color:var(--brand);margin-bottom:18px;padding-bottom:10px;border-bottom:1px solid var(--rule);
}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.svc-card{
  border:2px solid var(--rule);background:var(--surface);padding:22px 22px 24px;
  display:flex;flex-direction:column;transition:border-color .2s;
}
.svc-card:hover{border-color:var(--brand);}
.svc-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;}
.svc-card h4{font-size:17px;font-weight:800;line-height:1.25;}
.svc-price{
  font-family:var(--sans);font-size:19px;font-weight:900;color:var(--brand);white-space:nowrap;flex-shrink:0;
}
.svc-card p{font-family:var(--narrow);font-size:15px;color:var(--ink2);line-height:1.55;margin-bottom:18px;flex:1;}
.svc-card .bt{width:100%;padding:11px;font-size:12px;}
@media(max-width:1080px){.svc-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:640px){.svc-grid{grid-template-columns:1fr;}}