.customer-shell { --bg:#f3f1ec; --surface:#fffefa; --ink:#203b38; --muted:#667772; --line:#d9e1da; --accent:#20594e; --accent-soft:#e7efe7; background:radial-gradient(ellipse at 100% 0,#e5ece4 0,transparent 38%),var(--bg); }
.customer-shell .top { background:rgba(255,254,250,.96); border-bottom:1px solid #d5ded5; }
.customer-shell .brand::before { content:'R /'; display:inline-grid; place-items:center; width:38px;height:38px;border-radius:12px;background:#d56f4c;color:#fff;margin-right:10px;font-size:17px; }
.customer-shell main { max-width:1370px; }
.customer-shell .studio-intro { background:#193e37;color:#fff7e8;border-radius:24px;overflow:hidden; padding:0;margin:0 0 28px;min-height:300px;box-shadow:0 14px 36px #193e3715; }
.studio-intro>div:first-child { flex:1;padding:40px; }
.customer-shell .studio-intro .eyebrow { color:#eeb783; }
.customer-shell .studio-intro h1 { font-size:clamp(30px,3.5vw,48px); max-width:600px; }
.customer-shell .studio-intro p { color:#cfdfd5;max-width:430px; }
.intro-visual { width:45%;align-self:stretch;position:relative;min-height:300px;background:#b6b79d; }
.intro-visual img { width:100%;height:100%;position:absolute;object-fit:cover; }
.intro-visual::after { content:'';position:absolute;inset:0;background:linear-gradient(90deg,#193e371a,transparent 50%); }
.intro-visual>span { position:absolute;z-index:1;bottom:18px;left:20px;color:#fff;background:#193e37c9;padding:7px 12px;font-size:9px;letter-spacing:1.7px;border-radius:5px; }
.visual-unavailable { background:linear-gradient(135deg,#b4b59b,#527c6d); }
.customer-shell .card { border-radius:20px;box-shadow:0 5px 22px #203b3805; }
.customer-shell .card h2 { letter-spacing:-.5px; }
.customer-shell .btn { box-shadow:0 3px 9px #20594e12; }
.customer-shell .btn.ghost { box-shadow:none; }
.customer-shell .style-library { padding:28px; }
.library-toolbar { display:flex;align-items:center;gap:20px;justify-content:space-between;margin:18px 0 24px; }
.library-toolbar .search { margin:0;max-width:490px;flex:1;min-width:0; }
.library-toolbar .gnote { flex-shrink:0; }
.customer-shell .styles { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px; }
.customer-shell .style { min-height:0;padding:0;display:flex;flex-direction:column;text-align:left;border:1px solid #dbe2db;background:#fffefa;border-radius:15px;transition:transform .18s,box-shadow .18s; }
.customer-shell .style::before { display:none; }
.customer-shell .style:hover { transform:translateY(-3px);box-shadow:0 10px 20px #193e3712; }
.customer-shell .style[aria-pressed=true] { border:2px solid #23634e;box-shadow:0 0 0 3px #c2d6bb; }
.style-image { aspect-ratio:16/10;width:100%;position:relative;overflow:hidden;background:#e8e2d6; }
.style-image img { width:100%;height:100%;object-fit:cover;display:block; }
.image-caption { position:absolute;bottom:12px;left:14px;padding:4px 8px;background:#fffefae8;border-radius:5px;font-size:9px;letter-spacing:1px; }
.style-copy { padding:20px;display:flex;flex-direction:column;flex:1; }
.customer-shell .style .style-index { font-size:9px;letter-spacing:1.4px;color:#9a5b3a;margin-bottom:10px; }
.customer-shell .style b { font-size:20px;line-height:1.2;margin:0 0 10px; }
.customer-shell .style .style-copy>span { color:#65746c;font-size:13px;line-height:1.65; }
.style-tags { display:flex;flex-wrap:wrap;gap:5px;margin:16px 0; }
.style-tags small { background:#efeee7;border-radius:5px;padding:4px 7px;color:#657060;font-size:10px; }
.style-choice { color:#20594e;margin-top:auto;padding-top:8px;font-weight:700;font-size:12px; }
.style-placeholder { display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;background:linear-gradient(135deg,#e6dfd2,#d7e0d3); }
.style-placeholder>span { font-size:11px;color:#586657; }
.material-stripes { display:flex;gap:8px;transform:rotate(-5deg); }
.material-stripes i { width:45px;height:63px;border-radius:4px;box-shadow:2px 4px 8px #21342d15; }
.swatch-0 { background:#b1a795; }.swatch-1 { background:#d9c6a6; }.swatch-2 { background:#567066; }
.customer-shell .style-custom { background:#eaf0e7;align-items:flex-start;justify-content:center; }
.custom-symbol { margin:25px 0 0 24px;font-size:48px;line-height:1;color:#71917c; }
.style-custom .style-copy { flex:0; }
.library-more { grid-column:1/-1;justify-self:center; }
.advanced-settings>summary { cursor:pointer;font-size:21px;font-weight:700;list-style:inside; }
.advanced-settings>summary small { display:block;font-size:13px;font-weight:400;color:#65746c;margin:8px 0 0 22px; }
.advanced-settings[open]>summary { margin-bottom:20px; }
.customer-shell .selection-review { border:1px solid #bdd0b7;background:linear-gradient(130deg,#fffefa,#f0f4e9);scroll-margin-top:110px; }
.summary-empty { background:#e7ecdf;padding:18px;border-radius:12px;color:#536a55; }
.summary-heading { display:flex;justify-content:space-between;gap:12px;align-items:center;border-bottom:1px solid #d7dfd1;padding:10px 0 20px; }
.summary-heading small { font-size:10px;letter-spacing:1.4px;color:#897153; }
.summary-heading h3 { font-size:25px;margin-top:7px; }
.summary-badge { background:#20594e;color:#fff;padding:8px 14px;border-radius:8px;white-space:nowrap; }
.summary-controls { display:flex;gap:8px;flex-wrap:wrap;margin:20px 0; }
.summary-controls span { background:#e5ecdf;border:1px solid #d6dfcd;padding:7px 11px;border-radius:7px;font-size:12px; }
.summary-angle { background:#fffefa;border:1px solid #d9e1d6;border-radius:14px;padding:22px;margin:18px 0; }
.summary-angle-title { display:flex;align-items:center;gap:16px; }
.summary-angle-title img { width:105px;height:72px;object-fit:contain;background:#eeede7;border-radius:7px; }
.summary-angle-title p { color:#667772;font-size:12px;margin:5px 0; }
.angle-policy { background:#f2eee3;padding:12px;border-radius:8px;color:#776444;font-size:13px; }
.summary-category { border-top:1px solid #e1e6dc;padding:12px 0; }
.summary-category>summary { cursor:pointer;font-weight:600; }
.summary-category dl { margin:8px 0 0; }
.summary-row { display:grid;grid-template-columns:175px 1fr;gap:18px;padding:8px 0;font-size:13px; }
.summary-row dt { color:#718073; }.summary-row dd { margin:0; }
.summary-note { border-left:3px solid #d58257;padding:6px 15px;margin:16px 0; }.summary-note p { white-space:pre-wrap; }
.customer-shell .modal .box { max-height:88vh;overflow:auto; }.customer-shell .modal .box:has(#selection-summary) { width:min(950px,96vw);max-width:950px; }
.customer-shell .dock { background:#193e37f5;border-top:1px solid #376052;box-shadow:0 -4px 25px #193e3718; }.customer-shell .dock .info { color:#d5e2d4; }.customer-shell .dock .btn { background:#e9b179;border-color:#e9b179;color:#203b38; }
@media(max-width:950px){.customer-shell .styles{grid-template-columns:repeat(2,minmax(0,1fr))}.studio-intro>div:first-child{padding:28px}.intro-visual{width:40%}.library-toolbar{flex-wrap:wrap}.library-toolbar .gnote{font-size:11px}}
@media(max-width:620px){.customer-shell main{padding:18px 14px 155px}.customer-shell .top{padding:12px 14px;gap:8px}.customer-shell .brand{font-size:18px}.customer-shell .studio-intro{display:block}.studio-intro>div:first-child{padding:26px}.intro-visual{width:100%;height:190px;min-height:190px}.customer-shell .card,.customer-shell .style-library{padding:20px}.customer-shell .styles{grid-template-columns:1fr}.style-image{aspect-ratio:16/9}.library-toolbar{gap:8px}.library-toolbar .search{flex-basis:100%;max-width:none}.summary-heading{flex-wrap:wrap}.summary-row{grid-template-columns:1fr;gap:3px}.summary-angle{padding:14px}.summary-heading h3{font-size:21px}.customer-shell .dock .btn{width:100%;font-size:13px}.customer-shell .dock{gap:6px;padding-top:8px}.customer-shell .brand::before{width:30px;height:30px}}
@media(prefers-reduced-motion:reduce){.customer-shell .style{transition:none}.customer-shell .style:hover{transform:none}}
.space-selector{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.space-selector h2{flex-basis:100%}.space-selector .sub{flex-basis:100%;margin-bottom:0}.space-selector .field{min-width:240px}.camera-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.camera-choice{border:1px solid var(--line);background:#fffefa;border-radius:12px;padding:16px;text-align:left;display:flex;flex-direction:column;gap:10px}.camera-choice[aria-pressed=true]{border:2px solid #20594e;background:#edf3e7}.camera-choice b{font-size:17px}.camera-choice span{font-size:13px;color:#667772;line-height:1.6}.camera-schematic{height:125px;background:linear-gradient(155deg,#e4ddcd 60%,#c3b39b 61%);position:relative;overflow:hidden;border-radius:8px}.camera-schematic i{position:absolute;display:block}.schematic-window{width:28%;height:64%;top:14%;left:15%;border:6px solid #485b50;background:linear-gradient(150deg,#b3c7c2,#eff5e3)}.schematic-surface{right:13%;top:15%;width:25%;height:62%;background:repeating-linear-gradient(90deg,#957d5d 0 3px,#b7a083 3px 7px);border:1px solid #857359}.schematic-foreground{bottom:-17px;left:17%;width:25%;height:48px;background:#55755a;border-radius:50%}.editorial .schematic-foreground{filter:blur(5px)}.precise .schematic-surface{box-shadow:0 0 0 2px #b26942}.lens-explainer{padding:18px;background:#f1eee4;border-radius:10px;margin-top:18px;font-size:13px}.lens-explainer h3{font-size:16px}.lens-explainer p{line-height:1.7}.camera-guide summary{margin-bottom:12px}@media(max-width:650px){.camera-guide-grid{grid-template-columns:1fr}.space-selector .field{min-width:0;width:100%}}
