.site-header{position:sticky;top:0;z-index:40;border-bottom:1px solid #e2e8f0;background:rgba(255,255,255,.95);backdrop-filter:blur(12px)}
.brand-lockup{display:flex;align-items:center;gap:.75rem;font-size:1.25rem;font-weight:650;letter-spacing:-.025em}.brand-mark{display:flex;width:2.5rem;height:2.5rem;align-items:center;justify-content:center;border-radius:.75rem;background:#1d4ed8;color:#fff;font-size:.875rem;box-shadow:0 6px 18px rgba(29,78,216,.2)}
.hero-shell{position:relative;overflow:hidden;border-radius:2rem;background:linear-gradient(135deg,#0f172a,#164e63);padding:2.5rem 1.5rem;color:#fff}.hero-copy{position:relative;z-index:1}.hero-title{max-width:48rem;font-size:clamp(2.5rem,6vw,4rem);line-height:1.08}.hero-text{max-width:42rem;margin:1.75rem 0;font-size:1.125rem;line-height:1.7;color:#cbd5e1}.hero-panel{position:relative;margin-top:2.5rem;overflow:hidden;border:1px solid rgba(255,255,255,.15);border-radius:1.5rem;background:rgba(255,255,255,.08);padding:2rem}.hero-orb{position:absolute;right:-4rem;top:-4rem;width:11rem;height:11rem;border-radius:50%;background:rgba(56,189,248,.18);filter:blur(24px)}.hero-phone{margin:1.5rem 0;font-size:1.5rem;font-weight:650}
.tracking-strip{display:grid;gap:1.5rem;align-items:center;margin:2rem 0;padding:1.5rem;border:1px solid #bae6fd;border-radius:1.25rem;background:#f0f9ff}.tracking-inline{display:flex;flex-direction:column;gap:.75rem}
.showcase-section{padding:2.5rem 0}.section-heading{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.75rem}.showcase-actions{display:flex;align-items:center;gap:.5rem}.carousel-button{display:flex;width:2.75rem;height:2.75rem;align-items:center;justify-content:center;border:1px solid #cbd5e1;border-radius:50%;background:#fff;font-size:1.25rem;cursor:pointer}.carousel-button:hover{background:#f1f5f9}.product-carousel{display:flex;gap:1rem;overflow-x:auto;padding-bottom:1.25rem;scroll-snap-type:x mandatory;scrollbar-width:thin}.catalog-grid{display:grid;gap:1.5rem}.product-card{min-width:82%;overflow:hidden;border:1px solid #e2e8f0;border-radius:1.25rem;background:#fff;box-shadow:0 2px 12px rgba(15,23,42,.06);scroll-snap-align:start;transition:transform .2s,box-shadow .2s}.product-carousel .product-card{min-width:min(74vw,270px);max-width:270px}.product-carousel .product-card-image{aspect-ratio:16/10}.product-carousel .product-card-body{padding:1.1rem}.product-carousel .product-card-body h3{font-size:1.05rem}.product-carousel .product-card-foot strong{font-size:1.05rem}.product-card:hover{transform:translateY(-4px);box-shadow:0 16px 35px rgba(15,23,42,.12)}.catalog-grid .product-card{min-width:0}.product-card-image{width:100%;aspect-ratio:4/3;object-fit:cover}.product-card-body{padding:1.5rem}.product-card-body>*+*{margin-top:.75rem}.product-card-body h2,.product-card-body h3{font-size:1.25rem;font-weight:650;letter-spacing:-.025em}.product-card-foot{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #f1f5f9}.product-card-foot strong{font-size:1.25rem}.product-card-foot a{color:#1d4ed8;font-weight:650}
.catalog-hero{margin-bottom:1.75rem;padding:2.5rem 1.75rem;border-radius:2rem;background:linear-gradient(135deg,#0f172a,#1d4ed8);color:#fff}.catalog-hero p:last-child{margin-top:1rem;color:#cbd5e1}.catalog-filters{display:grid;gap:1rem;align-items:end;margin-bottom:2rem;padding:1.25rem;border:1px solid #e2e8f0;border-radius:1.25rem;background:#fff;box-shadow:0 2px 12px rgba(15,23,42,.05)}
.site-footer{margin-top:3rem;padding:3rem 0 1.5rem;background:#0f172a;color:#fff}.footer-grid{display:grid;gap:2.25rem}.footer-brand{font-size:1.25rem;font-weight:650}.footer-title{margin-bottom:.75rem;color:#7dd3fc;font-size:.75rem;font-weight:650;letter-spacing:.1em;text-transform:uppercase}.footer-note{margin-top:.5rem;color:#cbd5e1;font-size:.875rem;line-height:1.6}.footer-contact{padding:.25rem 0;color:#fff}.footer-contact:hover{color:#7dd3fc}.footer-social{display:flex;flex-direction:column;gap:.5rem;font-size:.875rem}.footer-bottom{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1);color:#94a3b8;font-size:.75rem}
.contact-link{display:flex;align-items:flex-start;gap:.65rem}.contact-icon{display:inline-flex;width:1.2rem;height:1.2rem;flex:0 0 1.2rem;align-items:center;justify-content:center}.contact-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.contact-icon .icon-fill{fill:currentColor;stroke:none}.btn .contact-icon,.btn-light .contact-icon{width:1.1rem;height:1.1rem;flex-basis:1.1rem}.selected-image-list{display:grid;gap:.5rem;margin-top:.75rem}.selected-image-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px solid #e2e8f0;border-radius:.75rem;background:#f8fafc;padding:.65rem .8rem;font-size:.875rem}.selected-image-item span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-image-item button{color:#b91c1c;font-weight:600;cursor:pointer}
input[type=radio]{width:auto!important;padding:0!important;margin:0 .5rem 0 0;accent-color:#1d4ed8}div[id$="_method"]>div{margin:.55rem 0}div[id$="_method"] label{display:flex;align-items:center;margin:0;font-weight:500}
@media(min-width:640px){.tracking-inline{flex-direction:row}.product-card{min-width:340px}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:768px){.hero-shell{display:grid;grid-template-columns:1.5fr .8fr;gap:3rem;padding:4rem 3rem}.hero-panel{margin-top:0}.tracking-strip{grid-template-columns:1fr 1.2fr;padding:2rem}.catalog-filters{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(min-width:1024px){.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.footer-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* Shared accessible technology palette and content presentation. */
.hero-shell .eyebrow,.catalog-hero .eyebrow{color:#7dd3fc}
.hero-shell .btn-light{background:#fff;color:#0f172a;border-color:#cbd5e1}
.hero-shell .btn-light:hover{background:#e0f2fe}
input,textarea,select{color:#0f172a}
.hero-copy,.hero-panel,.product-card-body{min-width:0}
.hero-text,.product-card-body h2,.product-card-body h3,.footer-contact{overflow-wrap:anywhere}
.product-image-link{display:block}.product-card-image{object-fit:contain;background:#f8fafc}
.stock-code{font-size:.8rem;color:#475569;font-weight:600;letter-spacing:.04em;font-variant-numeric:tabular-nums}
.introduction p{white-space:break-spaces;overflow-wrap:anywhere;margin:0 0 1em;line-height:1.7}
.introduction p:last-child{margin-bottom:0}
.intro-align-left{text-align:left}.intro-align-center{text-align:center}.intro-align-justify{text-align:justify}
.intro-indent-0 p{text-indent:0}.intro-indent-2 p{text-indent:2ch}.intro-indent-4 p{text-indent:4ch}
.introduction-preview{padding:1.25rem;border:1px solid #cbd5e1;border-radius:1rem;background:#f8fafc}
.introduction-preview h2{margin-bottom:1rem}.introduction-preview .introduction{font-size:1.125rem}
.product-gallery a{position:relative;display:block;border:1px solid #e2e8f0;border-radius:.75rem;overflow:hidden;background:#f8fafc;cursor:zoom-in}
.gallery-hint{position:absolute;right:.5rem;bottom:.5rem;background:#0f172a;color:#fff;border-radius:.5rem;padding:.25rem .5rem;font-size:.75rem}
.gallery-open{overflow:hidden}
.image-dialog{position:fixed;inset:0;margin:auto;width:min(1100px,96vw);max-width:96vw;max-height:94dvh;padding:1rem;border:1px solid #475569;border-radius:1rem;background:#0f172a;color:#fff}
.image-dialog::backdrop{background:rgba(2,6,23,.88)}
.image-dialog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.5rem}
.image-dialog button{min-width:44px;min-height:44px;padding:.5rem .75rem;border:1px solid #64748b;border-radius:.75rem;background:#1e293b;color:#fff;cursor:pointer}
.image-dialog button:hover{background:#334155}.image-dialog :focus-visible{outline:3px solid #7dd3fc;outline-offset:3px}
.image-dialog-stage{display:flex;align-items:center;justify-content:center;gap:.75rem}
.image-dialog-stage img{min-width:0;max-width:calc(100% - 112px);height:70dvh;object-fit:contain;flex:1}
.image-dialog-stage button{flex-shrink:0}.image-dialog-stage button[hidden]{display:none}
.image-dialog-caption{text-align:center;color:#cbd5e1;margin-top:.5rem;font-size:.875rem}
@media(max-width:480px){.image-dialog{padding:.75rem}.image-dialog-stage{gap:.25rem}.image-dialog-stage img{max-width:calc(100% - 96px);height:60dvh}.hero-phone{font-size:1.2rem}.hero-panel{padding:1.25rem}}
@media(prefers-reduced-motion:reduce){.product-card{transition:none}.product-card:hover{transform:none}}

.product-image-link[hidden]{display:none}

/* Compact layouts share the existing palette and work down to 320px. */
html{scroll-padding-top:7rem}
body{min-width:0}
img{max-width:100%}
input,select,textarea{min-width:0;max-width:100%;box-sizing:border-box}
.wrap{width:94%;max-width:1600px;padding-left:0;padding-right:0}
main.wrap{padding-top:2rem;padding-bottom:2rem}
.grid>*:not(img),.catalog-filters>*,.footer-grid>*,.home-heading>*{min-width:0}
.card,dd,.data-row>div{min-width:0;overflow-wrap:anywhere}
.home-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}
.home-heading h1{font-size:clamp(1.5rem,3vw,2rem)}
.home-heading .muted{margin-top:.35rem}
.home-phone{font-size:1.2rem;font-weight:650;color:#1d4ed8;align-items:center}
.tracking-strip{margin:1.25rem 0;padding:1.25rem;gap:1rem}
.tracking-strip h2{font-size:1.1rem}
.tracking-inline input{flex:1;width:100%;min-width:0}
.tracking-inline button{flex-shrink:0}
.showcase-section{padding:1.25rem 0 2rem}
.home-introduction .hero-text{max-width:none;color:#334155;font-size:1rem;margin:1rem 0}
.catalog-grid{grid-template-columns:minmax(0,1fr);gap:1rem}
.catalog-grid .product-card{display:flex;flex-direction:column;min-width:0}
.card-stock-code{padding:.55rem 1rem;margin:0;background:#f1f5f9;color:#334155}
.product-card-body{padding:1rem;display:flex;flex-direction:column;flex:1}
.product-card-body>*+*{margin-top:.45rem}
.product-card-body h2,.product-card-body h3{font-size:1rem;line-height:1.4}
.product-subtitle{font-size:.9rem;line-height:1.5;color:#334155;overflow-wrap:anywhere}
.product-meta{font-size:.8rem;line-height:1.5}
.stock-quantity{font-size:.8rem;line-height:1.5;color:#166534;font-weight:600}
.stock-empty{color:#991b1b}
.product-card-foot{margin-top:auto;padding-top:.8rem;flex-wrap:wrap;row-gap:.4rem}
.product-card-foot strong{font-size:1rem;overflow-wrap:anywhere}
.product-card-foot a{font-size:.8rem}
.catalog-hero{padding:1.5rem;margin-bottom:1rem}
.catalog-filters{padding:1rem;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}
.catalog-filters>div:first-child,.catalog-filters>button{grid-column:1/-1}
.catalog-filters label{font-size:.8rem;margin-bottom:.35rem}
.catalog-filters input,.catalog-filters select{padding:.55rem .65rem;font-size:1rem;min-height:40px}
.catalog-filters .btn{padding:.6rem 1rem}
.preserved-text{overflow-wrap:anywhere}
.preserved-text p,p.preserved-text{white-space:pre-wrap;white-space:break-spaces}
.preserved-text p{margin:0 0 1em}
.preserved-text p:last-child{margin-bottom:0}
.product-detail-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:1.25rem;margin-top:1.5rem}
.existing-image-editor{margin:1.5rem 0}
.existing-image-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.existing-image-grid img{width:100%;aspect-ratio:4/3;object-fit:contain;background:#f1f5f9;border-radius:.75rem}
.image-order-controls{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-top:.5rem;font-size:.8rem}
.image-order-controls button{border:1px solid #cbd5e1;border-radius:.5rem;min-width:40px;min-height:40px;cursor:pointer}
summary{cursor:pointer;font-weight:600;padding:.4rem 0}
.private-service-section>summary{color:#475569}
@media(min-width:600px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.existing-image-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:900px){.catalog-filters{grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr)) auto}.catalog-filters>div:first-child,.catalog-filters>button{grid-column:auto}}
@media(min-width:1024px){.catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.product-detail-layout{grid-template-columns:minmax(0,1fr) 300px}}
@media(max-width:599px){
  .wrap{width:100%;padding-left:12px;padding-right:12px}
  main.wrap{padding-top:1.25rem;padding-bottom:1.5rem}
  .site-header nav{gap:.75rem;padding-top:.75rem;padding-bottom:.75rem}
  .site-header nav>div{gap:.65rem;font-size:.8rem;width:100%}
  .brand-lockup{font-size:1.05rem}
  .home-phone{font-size:1.05rem}
  .tracking-strip{padding:1rem}
  .card{padding:1rem}
  h1{font-size:1.5rem}h2{font-size:1.1rem}
  .btn,.btn-light{padding:.6rem .85rem;font-size:.875rem;min-height:40px}
  .data-row{gap:.75rem}
  .site-footer{padding-top:2rem;margin-top:2rem}
  .image-dialog{max-height:94vh}
  .image-dialog-stage img{height:60vh}
}
@media print{.private-service-section{display:none}}

.card-image-slider{position:relative;min-width:0}
.card-image-slider .product-image-link{touch-action:pan-y pinch-zoom}
.card-image-arrow{position:absolute;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid #cbd5e1;border-radius:50%;background:rgba(255,255,255,.94);color:#0f172a;font-size:1.75rem;line-height:1;cursor:pointer;box-shadow:0 2px 8px rgba(15,23,42,.15)}
.card-image-arrow:hover{background:#e0f2fe}
.card-image-previous{left:.5rem}.card-image-next{right:.5rem}
.card-image-counter{position:absolute;bottom:.5rem;left:50%;transform:translateX(-50%);border-radius:1rem;padding:.2rem .55rem;background:rgba(15,23,42,.85);color:#fff;font-size:.75rem;pointer-events:none}
.card-image-arrow[hidden],.card-image-counter[hidden]{display:none}

.management-search-form{display:flex;flex-wrap:wrap;align-items:end;gap:.75rem}
.management-search-form>div:first-child{flex:1 1 260px;min-width:0}
.management-search-form>div:not(:first-child){flex:0 1 190px;min-width:0}
.management-search-form label{display:block;margin-bottom:.35rem}
.management-search-form input,.management-search-form select{width:100%}
.management-search-form .btn{min-height:44px}

.product-gallery-stage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.product-gallery-stage img{display:block;width:100%;aspect-ratio:4/3;object-fit:contain}
.gallery-carousel-ready .product-gallery-stage{display:block;touch-action:pan-y pinch-zoom}
.gallery-carousel-ready [data-gallery-image]:not(.is-active){display:none}
.gallery-carousel-ready .product-gallery-stage img{max-height:460px}
.product-gallery-controls:not([hidden]){display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:.75rem;font-variant-numeric:tabular-nums}
.product-gallery-controls[hidden]{display:none}
.product-gallery-arrow{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--field-border);border-radius:50%;background:var(--surface);color:var(--text);font-size:1.3rem;cursor:pointer}
.product-gallery-arrow:hover{background:var(--surface-hover)}

.service-board{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;align-items:start}
.service-column{min-width:0;border:1px solid var(--border);border-radius:1rem;background:var(--surface-soft);padding:.75rem}
.service-column-title{display:flex;align-items:center;gap:.55rem;margin:0 0 .75rem;font-size:1rem;line-height:1.4}
.service-status-dot{width:.7rem;height:.7rem;flex:0 0 .7rem;border-radius:50%;background:#eab308}
.service-column-in_progress .service-status-dot{background:#fff;border:1px solid #64748b}
.service-column-ready .service-status-dot{background:#22c55e}
.service-column-closed .service-status-dot{background:#94a3b8}
.service-count{margin-left:auto;color:var(--muted);font-size:.8rem;font-weight:500;font-variant-numeric:tabular-nums}
.service-column-items{display:grid;gap:.65rem}
.service-board-card{min-width:0;padding:.8rem;border:1px solid var(--border);border-radius:.75rem;background:var(--surface);overflow-wrap:anywhere}
.service-board-card p{margin:.4rem 0 0;font-size:.8rem;line-height:1.45}
.service-board-link{color:var(--accent);font-weight:650;line-height:1.4}
.service-board-link:hover{text-decoration:underline}
.service-board-status{color:var(--muted)}
.service-column-empty{padding:.5rem;color:var(--muted);font-size:.85rem}
@media(min-width:640px){.service-board{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1024px){.service-board{grid-template-columns:repeat(4,minmax(0,1fr))}.panel-shell-wide{max-width:1800px;width:calc(100% - 24px);grid-template-columns:190px minmax(0,1fr)}.panel-shell-wide>aside{padding-left:1rem;padding-right:1rem}.panel-shell-wide>main{padding:2rem 1rem}}
@media(max-width:480px){.management-search-form>div,.management-search-form .btn{width:100%;flex-basis:100%}}
