/* BM Copy Print shared light/dark theme v1 */
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 42px;width:42px;height:42px;padding:0;border:1px solid #d8e5ef;border-radius:12px;background:#fff;color:#214765;box-shadow:0 6px 16px rgba(10,54,91,.05);cursor:pointer;transition:background .18s,border-color .18s,color .18s,transform .18s}
.theme-toggle:hover{transform:translateY(-1px);border-color:#b9d4e8;background:#f7fbfe}.theme-toggle-icon{font-size:18px;line-height:1}.theme-toggle-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
html[data-theme="dark"] .gallery-site{--modern-blue:#61b8ff;--modern-navy:#eef6ff;--modern-ink:#dce8f4;--modern-muted:#92a7ba;--modern-surface:#0d1b29;--modern-line:#20364a;--studio-ink:#dce8f4;--studio-blue:#64b8f2;--studio-paper:#07131f;--studio-line:#20364a;background:#07131f;color:#dce8f4}
html[data-theme="dark"] body.gallery-site{background:#07131f;color:#dce8f4}
html[data-theme="dark"] .studio-header{background:rgba(7,19,31,.92);border-bottom-color:#1e3448;box-shadow:0 8px 28px rgba(0,0,0,.16)}
html[data-theme="dark"] .studio-brand>span{color:#8198ad;border-color:#294156}html[data-theme="dark"] .studio-links a{color:#d7e5f1}
html[data-theme="dark"] .theme-toggle{background:#0d2030;border-color:#294257;color:#ffd36a;box-shadow:none}html[data-theme="dark"] .theme-toggle:hover{background:#122a3d;border-color:#3b5c76}
html[data-theme="dark"] .studio-header .menu-toggle{background:#0d2030;border-color:#294257;color:#dbe9f5}html[data-theme="dark"] .studio-header .mobile-nav{background:#091927;border-bottom-color:#20364a}
html[data-theme="dark"] .studio-header .mobile-nav a{color:#d9e6f1}html[data-theme="dark"] .studio-header .mobile-nav a:hover{background:#102638;color:#69bcff}
html[data-theme="dark"] .studio-intro h1,html[data-theme="dark"] .studio-section-head h2,html[data-theme="dark"] .studio-work h3{color:#edf6ff}
html[data-theme="dark"] .studio-intro-aside p,html[data-theme="dark"] .studio-section-head>div>p,html[data-theme="dark"] .studio-hero-foot,html[data-theme="dark"] .studio-work-caption{color:#91a6b9}
html[data-theme="dark"] .hero-action-secondary{background:#0d2030;border-color:#294257;color:#d9e7f3}html[data-theme="dark"] .studio-assurance span{background:#0d2030;border-color:#294257;color:#a9bdce}
html[data-theme="dark"] .quick-card{background:#0b1c2a;border-color:#20384d;color:#dceaf5}html[data-theme="dark"] .quick-card small{color:#7f97ab}html[data-theme="dark"] .quick-card-primary{background:#0b579f;border-color:#0b579f;color:#fff}
html[data-theme="dark"] .quick-index{background:#112b40;color:#68baff}html[data-theme="dark"] .studio-work-photo{background:#102333;box-shadow:0 12px 30px rgba(0,0,0,.16)}
html[data-theme="dark"] .studio-work-open{background:rgba(8,25,39,.9);color:#eaf5ff;box-shadow:0 8px 18px rgba(0,0,0,.22)}html[data-theme="dark"] .studio-work.is-service-sample .studio-work-badge{background:rgba(9,27,42,.88);color:#dbe8f3}
html[data-theme="dark"] .studio-filters button,html[data-theme="dark"] .gallery-site .portfolio-filters a{background:#0c1d2b;border-color:#294257;color:#a9bdce}html[data-theme="dark"] .studio-filters button[aria-pressed=true],html[data-theme="dark"] .gallery-site .portfolio-filters a.active{background:#e7f2fb;border-color:#e7f2fb;color:#09233b}
html[data-theme="dark"] .studio-services{background:linear-gradient(180deg,#0a1825,#07131f)}html[data-theme="dark"] .studio-service-list a{background:#0b1c2a;border-color:#20384d;box-shadow:0 9px 24px rgba(0,0,0,.14)}
html[data-theme="dark"] .studio-service-list h3{color:#eaf4fc}html[data-theme="dark"] .studio-service-list p{color:#91a6b9}html[data-theme="dark"] .studio-service-list a>span{background:#102b40;color:#6abaff}
html[data-theme="dark"] .studio-service-list a:after{background:linear-gradient(90deg,#0b1c2a 0%,#0b1c2a 53%,rgba(11,28,42,.94) 63%,rgba(11,28,42,.18) 100%)}
html[data-theme="dark"] .gallery-site .faq-section{background:#07131f;border-top-color:#1d3347}html[data-theme="dark"] .gallery-site .faq-wrap h2{color:#edf6ff}html[data-theme="dark"] .gallery-site .faq-wrap>div>p{color:#91a6b9}
html[data-theme="dark"] .gallery-site .faq-list details{background:#0b1c2a;border-color:#20384d;box-shadow:none}html[data-theme="dark"] .gallery-site .faq-list details[open]{background:#0e2233;border-color:#31546f}
html[data-theme="dark"] .gallery-site .faq-list summary{color:#dceaf5}html[data-theme="dark"] .gallery-site .faq-list details p{color:#94a9bc}
html[data-theme="dark"] .final-cta-slim{background:#07131f}html[data-theme="dark"] .final-cta-slim-shell{background:linear-gradient(135deg,#0b1d2c,#102a3d);border-color:#294257;box-shadow:none}
html[data-theme="dark"] .final-cta-slim-copy h2{color:#edf6ff}html[data-theme="dark"] .final-cta-slim-copy p{color:#91a6b9}html[data-theme="dark"] .final-cta-slim-copy>span{color:#65b9ff}
html[data-theme="dark"] .final-cta-slim-actions a{background:#0a1926;border-color:#31506a;color:#dce9f4}html[data-theme="dark"] .final-cta-slim-actions a.is-primary{background:#0b69c8;border-color:#0b69c8;color:#fff}
html[data-theme="dark"] .gallery-site .portfolio-hero,html[data-theme="dark"] .gallery-site .portfolio-gallery-section{background:#07131f}html[data-theme="dark"] .gallery-site .portfolio-hero h1{color:#edf6ff}html[data-theme="dark"] .gallery-site .portfolio-hero p{color:#91a6b9}
html[data-theme="dark"] .gallery-site .portfolio-gallery-copy h2{color:#e5f0f9}html[data-theme="dark"] .gallery-site .portfolio-gallery-copy>span,html[data-theme="dark"] .gallery-site .portfolio-gallery-copy p{color:#8fa5b8}
html[data-theme="dark"] .gallery-site .portfolio-gallery-image{background:#102333}html[data-theme="dark"] .gallery-site .gallery-zoom{background:rgba(7,22,34,.9);color:#eaf5ff}
html[data-theme="dark"] .portfolio-empty{background:#0b1c2a;border-color:#294257;color:#dce8f4}
html[data-theme="dark"] .gallery-site .service-detail-hero{background:#081724}html[data-theme="dark"] .gallery-site .service-detail-hero h1,html[data-theme="dark"] .service-detail-card h2{color:#edf6ff}html[data-theme="dark"] .gallery-site .service-detail-hero p{color:#91a6b9}
html[data-theme="dark"] .service-detail-body{background:#07131f}html[data-theme="dark"] .service-detail-card{background:#0b1c2a;border-color:#20384d;box-shadow:none}html[data-theme="dark"] .service-detail-list div{background:#102536;border-color:#294257;color:#d8e6f1}
html[data-theme="dark"] .service-detail-cta{border-top-color:#294257}html[data-theme="dark"] .service-detail-cta p{color:#91a6b9}html[data-theme="dark"] .gallery-site .btn.ghost{background:#0d2030;border-color:#31546f;color:#8dcaff}
html[data-theme="dark"] .reviews-section{background:#081724;border-top-color:#1e3448}html[data-theme="dark"] .review-cards article{background:#0b1c2a;border-color:#20384d;box-shadow:none}html[data-theme="dark"] .review-cards p{color:#a6bacb}
html[data-theme="dark"] .bm-mobile-dock{background:rgba(8,23,35,.96);border-color:#294257;box-shadow:0 14px 40px rgba(0,0,0,.28)}html[data-theme="dark"] .bm-mobile-dock a{color:#a9bdce}html[data-theme="dark"] .bm-mobile-dock a.is-primary{color:#fff}
html[data-theme="dark"] .studio-skip{background:#102638;color:#eaf5ff}html[data-theme="dark"] ::selection{background:#1767a8;color:#fff}
@media(max-width:600px){html[data-theme="dark"] .studio-service-list a:after{background:linear-gradient(90deg,#0b1c2a 0%,#0b1c2a 55%,rgba(11,28,42,.91) 70%,rgba(11,28,42,.10) 100%)}.theme-toggle{flex-basis:38px;width:38px;height:38px;border-radius:10px}.theme-toggle-icon{font-size:16px}}
@media(prefers-reduced-motion:no-preference){.gallery-site,.studio-header,.quick-card,.studio-service-list a,.gallery-site .faq-list details,.final-cta-slim-shell,.theme-toggle{transition:background-color .2s,border-color .2s,color .2s}}
html[data-theme="dark"] .studio-brand img{filter:grayscale(1) brightness(0) invert(1);opacity:.96}

/* Shared footer + mobile dock v2 */
.gallery-site .footer-v3{margin-top:0;border-radius:0;background:#082844}.footer-v3-shell{padding-top:30px;padding-bottom:14px}.footer-v3-main{display:grid;grid-template-columns:1.15fr .9fr .8fr;gap:42px;align-items:start;padding-bottom:24px}
.footer-v3-logo{display:flex;align-items:center;gap:12px;color:#fff}.footer-v3-logo img{width:64px;height:auto;padding:6px;border-radius:10px;background:#fff}.footer-v3-logo strong{display:block;font-size:18px}.footer-v3-logo small{display:block;margin-top:2px;color:#79bce8;font-size:8px;font-weight:850;letter-spacing:.12em}.footer-v3-brand p{max-width:360px;margin:12px 0 0;color:#a6b9c9;font-size:10px;line-height:1.6}
.footer-v3-label{display:block;margin-bottom:8px;color:#73b2e0;font-size:8px;font-weight:900;letter-spacing:.13em}.footer-v3-contact{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.footer-v3-contact a{color:#d9e7f2;font-size:10px}.footer-v3-phone{font-size:20px!important;font-weight:850!important;color:#fff!important}.footer-v3-contact p{max-width:300px;margin:4px 0 0;color:#8fa7bb;font-size:9px;line-height:1.55}
.footer-v3-links{display:grid}.footer-v3-links a{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.08);color:#d9e6f1;font-size:10px;font-weight:700}.footer-v3-links i{font-style:normal;color:#62b8f0}.footer-v3-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08);color:#718ba1;font-size:8px}.footer-v3-bottom div{display:flex;gap:8px}.footer-v3-bottom a{color:#a9bfd1}
.bm-mobile-dock{display:none}
@media(max-width:900px){.footer-v3-main{grid-template-columns:1fr 1fr}.footer-v3-brand{grid-column:1/-1}}
@media(max-width:600px){body.gallery-site{padding-bottom:74px}.footer-v3-shell{padding-top:28px;padding-bottom:92px}.footer-v3-main{grid-template-columns:1fr;gap:22px;padding-bottom:22px}.footer-v3-brand{grid-column:auto}.footer-v3-bottom{align-items:flex-start;flex-direction:column;gap:6px}.footer-v3-logo img{width:58px}.footer-v3-phone{font-size:18px!important}.bm-mobile-dock{position:fixed;z-index:95;left:10px;right:10px;bottom:calc(8px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;max-width:calc(100vw - 20px);padding:5px;border:1px solid rgba(196,216,232,.9);border-radius:17px;background:rgba(255,255,255,.94);box-shadow:0 14px 40px rgba(7,43,75,.18);backdrop-filter:blur(18px)}
.bm-mobile-dock a{display:flex;min-width:0;min-height:52px;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:12px;color:#49657e;text-decoration:none}.bm-mobile-dock a>span{font-size:11px;font-weight:900;line-height:1}.bm-mobile-dock a>strong{font-size:9px;font-weight:850;white-space:normal;text-align:center}.bm-mobile-dock a.is-primary{background:linear-gradient(135deg,#0b78e5,#075ab8);color:#fff;box-shadow:0 7px 16px rgba(8,102,205,.22)}}

/* Shared mobile header polish */
@media(max-width:600px){.studio-nav>.studio-send{display:none!important}.studio-nav{justify-content:space-between}.theme-toggle{margin-left:auto}.studio-header .menu-toggle{margin-left:0!important}.studio-brand{min-width:0}.studio-brand>span{display:none}}
@media(max-width:420px){.gallery-site .portfolio-gallery-grid{grid-template-columns:1fr}.gallery-site .portfolio-gallery-card{min-width:0}}

/* Portfolio clarity + album actions v3 */
.portfolio-group{padding:12px 0 44px}.portfolio-group+.portfolio-group{padding-top:50px;border-top:1px solid #e4edf5}.portfolio-group-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px}.portfolio-group-head h2{margin:5px 0 4px;color:#163a5f;font-size:28px}.portfolio-group-head p{margin:0;color:#6b7f92;font-size:12px}.portfolio-group-head>strong{flex:0 0 auto;color:#678198;font-size:11px;font-weight:800}
.portfolio-card-badge{position:absolute;z-index:2;left:12px;top:12px;padding:6px 9px;border-radius:999px;background:rgba(8,41,71,.86);color:#fff;font-size:9px;font-weight:850}.portfolio-card-badge.is-sample{background:rgba(255,255,255,.92);color:#3f5d75}.portfolio-album-actions{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 24px}.portfolio-album-actions a{display:inline-flex;align-items:center;min-height:40px;padding:8px 14px;border:1px solid #d4e3ee;border-radius:999px;background:#fff;color:#365c79;font-size:12px;font-weight:800}.portfolio-album-actions a.is-primary{background:#0b69c8;border-color:#0b69c8;color:#fff}.portfolio-hero-meta{display:flex;gap:8px;margin-top:16px}.portfolio-hero-meta span{padding:6px 10px;border:1px solid #d7e4ef;border-radius:999px;color:#63798d;font-size:10px;font-weight:800}
html[data-theme="dark"] .portfolio-group+.portfolio-group{border-top-color:#20364a}html[data-theme="dark"] .portfolio-group-head h2{color:#edf6ff}html[data-theme="dark"] .portfolio-group-head p,html[data-theme="dark"] .portfolio-group-head>strong{color:#8fa5b8}html[data-theme="dark"] .portfolio-card-badge{background:rgba(4,20,33,.9);color:#e8f4fd}html[data-theme="dark"] .portfolio-card-badge.is-sample{background:rgba(226,241,252,.92);color:#143149}html[data-theme="dark"] .portfolio-album-actions a{background:#0c1d2b;border-color:#294257;color:#b7c8d7}html[data-theme="dark"] .portfolio-album-actions a.is-primary{background:#0b69c8;border-color:#0b69c8;color:#fff}html[data-theme="dark"] .portfolio-hero-meta span{border-color:#294257;color:#9db1c2}
@media(max-width:600px){.portfolio-group{padding-bottom:34px}.portfolio-group+.portfolio-group{padding-top:36px}.portfolio-group-head{align-items:flex-start;gap:10px}.portfolio-group-head h2{font-size:23px}.portfolio-group-head p{font-size:11px;line-height:1.55}.portfolio-group-head>strong{padding-top:5px;font-size:9px}.portfolio-card-badge{left:9px;top:9px;font-size:8px}.portfolio-album-actions{display:grid;grid-template-columns:1fr 1fr}.portfolio-album-actions a{justify-content:center;text-align:center;padding:8px 10px;font-size:10px}.portfolio-hero-meta{margin-top:12px}}

/* Portfolio grid + mobile header stabilization v4 */
@media(min-width:1101px){.portfolio-service-group .portfolio-gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.portfolio-gallery-grid.is-single{grid-template-columns:minmax(0,540px)}}
@media(max-width:900px){.portfolio-service-group .portfolio-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-gallery-grid.is-single{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.gallery-site .studio-nav{display:grid!important;grid-template-columns:minmax(0,1fr) 38px 38px;align-items:center;gap:8px}.gallery-site .studio-brand{min-width:0;margin:0}.gallery-site .studio-brand img{width:84px}.gallery-site .theme-toggle{margin:0!important;justify-self:end}.gallery-site .studio-header .menu-toggle{display:grid!important;place-items:center;margin:0!important;justify-self:end;width:38px;height:38px}.gallery-site .portfolio-gallery-grid,.portfolio-service-group .portfolio-gallery-grid,.portfolio-gallery-grid.is-single{grid-template-columns:1fr!important}.gallery-site .portfolio-gallery-card{min-width:0}}

/* Album mobile final polish */
@media(max-width:600px){
  .gallery-site .portfolio-hero p{max-width:100%;overflow-wrap:anywhere}
  .portfolio-album-actions{grid-template-columns:1fr;margin-bottom:20px}
  .portfolio-album-actions a{width:100%;min-width:0;white-space:normal;line-height:1.35}
  .portfolio-hero-meta{flex-wrap:wrap}
}

/* Service detail content V4.1 */
.service-detail-intro{max-width:900px;margin:0 0 20px;color:#536b80;font-size:15px;line-height:1.8}
.service-detail-fit,.service-detail-process{margin-top:26px;padding-top:24px;border-top:1px solid #e4edf6}.service-detail-fit h2,.service-detail-process h2{font-size:20px;margin:0 0 14px}
.service-fit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.service-fit-grid>div{display:flex;gap:10px;align-items:flex-start;padding:14px;border:1px solid #e0ebf5;border-radius:12px;background:#fbfdff}.service-fit-grid span{color:#0b68c8;font-weight:900}.service-fit-grid p{margin:0;color:#405a70;font-size:13px;line-height:1.55}
.service-detail-process ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;counter-reset:service-step;list-style:none;margin:0;padding:0}.service-detail-process li{counter-increment:service-step;position:relative;padding:16px 14px 14px 48px;border-radius:12px;background:#f7fbff;border:1px solid #e0ebf5}.service-detail-process li:before{content:counter(service-step);position:absolute;left:14px;top:15px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#0b68c8;color:#fff;font-size:11px;font-weight:900}.service-detail-process strong,.service-detail-process span{display:block}.service-detail-process strong{font-size:13px;color:#173c5d}.service-detail-process span{margin-top:4px;color:#617689;font-size:12px;line-height:1.5}
html[data-theme="dark"] .service-detail-intro{color:#9cb0c1}html[data-theme="dark"] .service-detail-fit,html[data-theme="dark"] .service-detail-process{border-top-color:#294257}html[data-theme="dark"] .service-fit-grid>div,html[data-theme="dark"] .service-detail-process li{background:#102536;border-color:#294257}html[data-theme="dark"] .service-fit-grid p,html[data-theme="dark"] .service-detail-process span{color:#9fb3c4}html[data-theme="dark"] .service-detail-process strong{color:#e2edf6}
@media(max-width:700px){.service-fit-grid,.service-detail-process ol{grid-template-columns:1fr}.service-detail-intro{font-size:14px}.service-detail-fit,.service-detail-process{margin-top:22px;padding-top:20px}}

/* Portfolio Management V3.1 — private preview */
.portfolio-preview-banner{position:sticky;top:0;z-index:120;display:flex;align-items:center;justify-content:center;gap:12px;padding:9px 16px;background:#fff2c7;border-bottom:1px solid #ead486;color:#6d5410;font-size:11px}.portfolio-preview-banner strong{font-size:10px;letter-spacing:.12em}.portfolio-preview-banner a{color:#8b6200;font-weight:900}.is-private-preview .studio-header{top:37px}.is-private-preview .portfolio-hero{padding-top:34px}
html[data-theme="dark"] .portfolio-preview-banner{background:#3a2d08;border-color:#69551a;color:#f7df91}html[data-theme="dark"] .portfolio-preview-banner a{color:#ffe49a}
@media(max-width:600px){.portfolio-preview-banner{position:relative;align-items:flex-start;flex-direction:column;gap:3px;padding:9px 12px}.is-private-preview .studio-header{top:0}.is-private-preview .portfolio-hero{padding-top:0}}
