:root{--bg: #ffffff;--bg-soft: #f4f6f9;--surface: #ffffff;--border: #e3e7ee;--text: #14181f;--text-dim: #5c6675;--accent: #0d9488;--accent-2: #f2b441;--danger: #d6493c;--radius: 14px;--maxw: 1120px;--font: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;line-height:1.55}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3{line-height:1.15;margin:0 0 .4em;font-weight:800;letter-spacing:-.02em}h1{font-size:clamp(2.1rem,5vw,3.6rem)}h2{font-size:clamp(1.5rem,3vw,2.2rem)}p{color:var(--text-dim)}.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 20px}.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:999px;border:1px solid transparent;font-weight:700;font-size:.98rem;cursor:pointer;transition:.15s;background:var(--accent);color:#fff}.btn:hover{filter:brightness(1.08);transform:translateY(-1px)}.btn.alt{background:var(--accent-2);color:#2a1d00}.btn.ghost{background:transparent;border-color:var(--border);color:var(--text)}.btn.ghost:hover{border-color:var(--accent)}.site-header{position:sticky;top:0;z-index:30;background:#ffffffe0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.nav{display:flex;align-items:center;justify-content:space-between;height:68px}.brand{display:flex;align-items:center;gap:12px;font-weight:800;font-size:1.15rem;letter-spacing:-.01em}.brand .mark{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;font-weight:900;color:#04211f;background:linear-gradient(135deg,var(--accent),#0c8a80)}.brand .mark-img{height:38px;width:auto;display:block}.site-footer .brand .mark-img{height:44px}.nav-links{display:flex;align-items:center;gap:26px}.nav-links a{color:var(--text-dim);font-weight:600;font-size:.97rem}.nav-links a:hover,.nav-links a.active{color:var(--text)}.nav-toggle{display:none;background:none;border:0;color:var(--text);font-size:1.5rem;cursor:pointer}.hero{padding:clamp(56px,9vw,110px) 0;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:radial-gradient(60% 60% at 80% 10%,rgba(22,179,166,.16),transparent 70%),radial-gradient(50% 50% at 10% 90%,rgba(242,180,65,.1),transparent 70%)}.hero .eyebrow{color:var(--accent);font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:.8rem}.hero p.lead{font-size:clamp(1.05rem,2vw,1.25rem);max-width:620px;margin:18px 0 28px}.hero-cta{display:flex;gap:14px;flex-wrap:wrap}.section{padding:clamp(48px,7vw,86px) 0}.section-head{max-width:640px;margin-bottom:36px}.section-head p{margin-top:6px}.grid{display:grid;gap:22px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:.18s;display:flex;flex-direction:column}.card:hover{transform:translateY(-3px);border-color:var(--accent)}.card .thumb{aspect-ratio:4/3;background:linear-gradient(135deg,#eef1f5,#e1e6ee);display:grid;place-items:center;color:var(--text-dim);font-weight:700}.card .body{padding:16px 18px 20px}.card .body h3{font-size:1.15rem;margin-bottom:6px}.card .price{color:var(--accent);font-weight:800;font-size:1.05rem}.swatches{display:flex;gap:6px;margin:12px 0 0}.swatch{width:16px;height:16px;border-radius:50%;border:1px solid rgba(255,255,255,.25)}.tag{display:inline-block;font-size:.72rem;color:var(--text-dim);border:1px solid var(--border);border-radius:999px;padding:2px 9px;margin-top:12px}.features{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.feature{background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.feature .ico{font-size:1.6rem}.feature h3{font-size:1.1rem;margin:10px 0 6px}.actions{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.action-card{display:flex;flex-direction:column;gap:6px;text-align:left;cursor:pointer;background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius);padding:22px;font:inherit;color:var(--text);transition:transform .15s ease,border-color .15s ease}.action-card:hover{transform:translateY(-3px);border-color:var(--accent)}.action-card:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.action-card .ico{font-size:1.8rem;line-height:1}.action-card strong{font-size:1.12rem}.action-card span{color:var(--text-dim);font-size:.93rem;line-height:1.5}@media (prefers-reduced-motion: reduce){.action-card:hover{transform:none}}.addons{display:flex;flex-direction:column;gap:10px}.addon-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--bg-soft)}.addon-row.on{border-color:var(--accent);background:#0d94880f}.addon-check{display:flex;align-items:center;gap:9px;font-weight:600;cursor:pointer;flex:1 1 150px}.addon-check input,.field .addon-check input{width:18px;height:18px;padding:0;margin:0;accent-color:var(--accent)}.method-toggle{display:inline-flex;border:1px solid var(--border);border-radius:999px;overflow:hidden}.method-toggle button{border:0;background:transparent;color:var(--text-dim);font:inherit;font-size:.85rem;padding:7px 13px;cursor:pointer;white-space:nowrap}.method-toggle button.sel{background:var(--accent);color:#fff}.total-card{border:1px solid var(--accent);border-radius:12px;background:var(--surface);padding:16px 18px;margin-top:4px}.total-card .line{display:flex;justify-content:space-between;gap:12px;font-size:.92rem;padding:3px 0;color:var(--text-dim)}.total-card .line span:last-child{font-variant-numeric:tabular-nums}.total-card .grand{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-top:1px solid var(--border);margin-top:8px;padding-top:10px}.total-card .grand b{font-size:1.5rem;color:var(--accent);font-variant-numeric:tabular-nums}.form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:clamp(20px,4vw,34px);max-width:720px}.field{margin-bottom:18px}.field label{display:block;font-weight:600;margin-bottom:7px;font-size:.92rem}.field input,.field select,.field textarea{width:100%;padding:12px 14px;border-radius:10px;background:var(--bg);border:1px solid var(--border);color:var(--text);font:inherit}.field textarea{min-height:120px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--accent);border-color:transparent}.row2{display:grid;gap:18px;grid-template-columns:1fr 1fr}.notice{padding:14px 16px;border-radius:10px;background:#16b3a61f;border:1px solid var(--accent);margin-bottom:18px}.site-footer{border-top:1px solid var(--border);padding:40px 0;margin-top:40px;color:var(--text-dim)}.foot-grid{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}@media (max-width: 760px){.nav-links{position:absolute;top:68px;left:0;right:0;flex-direction:column;gap:0;background:var(--bg-soft);border-bottom:1px solid var(--border);display:none}.nav-links.open{display:flex}.nav-links a{width:100%;padding:14px 20px;border-top:1px solid var(--border)}.nav-toggle{display:block}.row2{grid-template-columns:1fr}}.section.top{padding-top:clamp(28px,4vw,48px)}.section-head.compact{margin-bottom:22px;max-width:720px}.section-head.compact h1{font-size:clamp(1.7rem,4vw,2.6rem)}.section-head.compact p.lead{margin:6px 0 0;font-size:1.02rem}.photo-strip{display:grid;gap:14px;grid-auto-flow:column;grid-auto-columns:minmax(200px,1fr);overflow-x:auto;padding-bottom:8px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.photo-card{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:4/3;border:1px solid var(--border);background:var(--bg-soft);scroll-snap-align:start;transition:.18s}.photo-card img{width:100%;height:100%;object-fit:cover}.photo-card span{position:absolute;left:0;right:0;bottom:0;padding:22px 12px 10px;color:#fff;font-weight:700;font-size:.92rem;background:linear-gradient(transparent,#0000009e)}.photo-card:hover{transform:translateY(-3px);border-color:var(--accent)}.services{background:var(--bg-soft);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:28px 0}.service-heads{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.service-head .ico{font-size:1.3rem}.service-head h3{font-size:1.05rem;margin:6px 0 2px}.service-head p{margin:0;font-size:.9rem}.design-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.design-grid.small{gap:12px;grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}.design-tile{position:relative;display:grid;place-items:center;aspect-ratio:1;padding:12px;cursor:pointer;overflow:hidden;min-height:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:.18s;font:inherit;color:var(--text-dim);font-weight:700;text-align:center}.design-tile img{position:absolute;top:12px;right:12px;bottom:12px;left:12px;width:calc(100% - 24px);height:calc(100% - 24px);max-width:none;object-fit:contain}.design-tile:hover,.design-tile.sel{transform:translateY(-3px);border-color:var(--accent);box-shadow:0 6px 18px #0d948824}.design-tile:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.form.build{max-width:820px}.form-h{font-size:1.15rem;margin:26px 0 14px;padding-top:18px;border-top:1px solid var(--border)}.field-label{display:block;font-weight:600;margin-bottom:10px;font-size:.92rem}.preview-panel{background:var(--bg-soft);border:1px solid var(--border);border-radius:12px;padding:18px}.mockups{display:flex;gap:18px;justify-content:center;flex-wrap:wrap}.mockup{flex:1 1 220px;max-width:320px;text-align:center}.mockup>span{display:block;margin-top:4px;font-size:.8rem;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em}.preview-note{text-align:center;font-size:.78rem;margin:10px 0 0}.slot-row{display:flex;gap:10px 18px;flex-wrap:wrap;justify-content:center;margin-top:12px;font-size:.88rem}.slot-chip{color:var(--text-dim)}.slot-chip b{color:var(--text);text-transform:capitalize}.linkish{background:none;border:0;padding:0 0 0 6px;font:inherit;font-size:.88rem;color:var(--accent);cursor:pointer;text-decoration:underline}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#14181f8c;display:grid;place-items:center;padding:16px}.modal{background:var(--surface);border-radius:var(--radius);padding:22px;width:100%;max-width:520px;max-height:92vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal h3{margin-top:0}.lib-upload{background:var(--bg-soft);border:1px solid var(--border);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:14px}.lib-group{border:1px solid var(--border);border-radius:12px;overflow:hidden}.lib-group.off,.lib-row.off{opacity:.55}.lib-group-head{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:12px 14px;background:var(--bg-soft);border-bottom:1px solid var(--border)}.lib-group-fields{display:grid;gap:8px;flex:1 1 320px}.lib-group-fields input,.lib-row-body input,.lib-controls select{padding:7px 10px;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text);font:inherit;font-size:.9rem}.lib-group-fields input.lib-name{font-weight:700;font-size:1rem}.lib-rows{display:flex;flex-direction:column;gap:10px;padding:12px 14px}.lib-row{display:flex;gap:12px;align-items:flex-start}.lib-row>img{width:64px;height:64px;object-fit:contain;background:var(--bg-soft);border:1px solid var(--border);border-radius:8px;padding:4px;flex:none}.lib-row-body{flex:1;display:grid;gap:8px;min-width:0}.lib-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.btn.sm{padding:5px 12px;font-size:.82rem}.check-inline{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;color:var(--text-dim)}.check-inline input[type=checkbox]{accent-color:var(--accent)}.pos-sliders{display:grid;gap:10px;margin-top:14px}.pos-slider{display:grid;gap:4px;font-size:.88rem}.pos-slider input{width:100%;accent-color:var(--accent)}@media (max-width: 760px){.photo-strip{grid-auto-columns:72%}.design-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.lib-row{flex-direction:column}}.modal-sub{font-weight:700;font-size:.85rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;margin:18px 0 8px}.modal .modal-sub:first-of-type{margin-top:0}.lettering{background:var(--bg-soft);border:1px solid var(--border);border-radius:10px;padding:12px 14px 14px;margin-top:8px}.lettering .modal-sub{margin-top:0}.order-btns{display:inline-flex;gap:4px;align-items:center}.order-btns .btn.sm{padding:5px 9px}.btn:disabled{opacity:.4;cursor:default;transform:none}.trap{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.submit-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}@media (max-width: 640px){.studio-pick{grid-template-columns:1fr!important}}.swatch-row{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.swatch-btn{width:26px;height:26px;border-radius:50%;border:2px solid var(--border);cursor:pointer;padding:0;position:relative}.swatch-btn.sel{border-color:var(--accent);box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--accent)}.swatch-btn.custom{display:inline-grid;place-items:center;overflow:hidden}.swatch-btn.custom input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;width:100%;height:100%;cursor:pointer}.swatch-btn.custom:after{content:"+";color:#fff;font-weight:800;font-size:14px;text-shadow:0 0 2px rgba(0,0,0,.6)}.cart-link{position:relative;display:inline-flex;align-items:center;gap:7px;color:var(--text-dim);font-weight:600;font-size:.97rem}.cart-link:hover,.cart-link.active{color:var(--text)}.cart-badge{min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--accent);color:#fff;font-size:.72rem;font-weight:800;display:inline-flex;align-items:center;justify-content:center;line-height:1}.notice.cart-added{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:space-between}.cart-list{display:flex;flex-direction:column;gap:12px}.cart-row{display:flex;gap:16px;justify-content:space-between;align-items:flex-start;border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;background:var(--surface)}.cart-row-main{min-width:0}.cart-row-title{font-size:1.02rem}.cart-design{color:var(--text-dim);font-weight:500}.cart-row-meta{color:var(--text-dim);font-size:.88rem;margin-top:3px}.cart-row-lines{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.cart-row-lines .slot-chip{border:1px solid var(--border);border-radius:999px;padding:2px 10px;font-size:.78rem;color:var(--text-dim)}.cart-row-note{margin-top:8px;color:var(--text-dim);font-size:.86rem;font-style:italic}.cart-row-side{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex-shrink:0}.cart-qty{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:999px;overflow:hidden}.cart-qty button{width:32px;height:32px;border:0;background:transparent;cursor:pointer;font-size:1.1rem;color:var(--text);line-height:1}.cart-qty button:hover{background:var(--bg-soft)}.cart-qty input{width:46px;height:32px;border:0;border-left:1px solid var(--border);border-right:1px solid var(--border);text-align:center;font:inherit;font-variant-numeric:tabular-nums;-moz-appearance:textfield}.cart-qty input::-webkit-outer-spin-button,.cart-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.cart-line-total{font-weight:800;font-variant-numeric:tabular-nums}.cart-remove{font-size:.82rem}@media (max-width: 560px){.cart-row{flex-direction:column}.cart-row-side{align-items:flex-start;width:100%;flex-direction:row;justify-content:space-between}}.orders-table{width:100%;border-collapse:collapse;font-size:.86rem}.orders-table th,.orders-table td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--border);vertical-align:top}.orders-table th{background:var(--bg-soft);font-weight:700;color:var(--text-dim);white-space:nowrap;position:sticky;top:0}.orders-table tbody tr:hover{background:var(--bg-soft)}.orders-table .paid-row{opacity:.9}.status-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--text-dim);vertical-align:middle}.status-dot.status-paid{background:#16a34a}.status-dot.status-new{background:var(--accent-2)}.status-dot.status-pending_payment{background:#d1932a}.status-dot.status-payment_failed{background:var(--danger)}.status-dot.status-delivered{background:#16a34a}.status-dot.status-canceled{background:#b91c1c}
