@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#222822;--muted:#74796f;--line:#e7e5df;--paper:#fbfaf7;--canvas:#f5f3ee;--green:#244f3d;--green2:#31644d;--lime:#dce8c7;--gold:#be9463;--serif:Georgia,'Times New Roman',serif;--sans:'DM Sans',sans-serif;--display:'Manrope',sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font-family:var(--sans);font-size:14px}.app-shell{min-height:100vh;display:grid;grid-template-columns:244px minmax(0,1fr)}button,a{font:inherit;color:inherit}button{cursor:pointer}.sidebar{position:fixed;inset:0 auto 0 0;width:244px;background:#f9f8f4;border-right:1px solid var(--line);padding:26px 16px 18px;display:flex;flex-direction:column;z-index:4}.brand{display:flex;gap:11px;align-items:center;text-decoration:none;padding:0 9px 37px}.brand-mark{width:34px;height:34px;background:var(--green);color:#fff;display:grid;place-items:center;border-radius:10px;font:20px var(--serif);font-style:italic}.brand strong{display:block;font:800 13px var(--display);letter-spacing:1.8px}.brand small{display:block;color:#8a8e83;font:600 9px var(--sans);letter-spacing:2.8px;margin-top:3px}.side-label{font-size:9px;font-weight:700;letter-spacing:1.4px;color:#989b92;padding:0 12px 12px}.side-nav{display:grid;gap:4px}.nav-item{background:transparent;border:0;color:#646b63;text-align:left;border-radius:8px;padding:11px 12px;display:flex;gap:12px;align-items:center;font-size:12px}.nav-item span{font-size:18px;width:20px;text-align:center;color:#858a81}.nav-item:hover,.nav-item.active{background:#e9ede5;color:var(--green);font-weight:700}.nav-item.active span{color:var(--green)}.sidebar-bottom{margin-top:auto}.plan-mini{border:1px solid #e5e3dc;background:#fffefa;border-radius:10px;padding:12px 10px;display:flex;align-items:center;gap:9px;margin:0 1px 16px}.plan-mini-icon{width:28px;height:28px;display:grid;place-items:center;background:#edf2e6;color:var(--green);border-radius:8px}.plan-mini strong,.plan-mini small,.profile strong,.profile small{display:block}.plan-mini strong{font-size:10px}.plan-mini small{font-size:9px;color:var(--muted);margin-top:3px}.plan-mini>span{margin-left:auto;color:#84907f}.profile{display:flex;align-items:center;gap:9px;border-top:1px solid var(--line);padding:17px 6px 0;margin-top:8px}.avatar{height:29px;width:29px;display:grid;place-items:center;border-radius:50%;background:#d9e3d4;color:var(--green);font-size:11px;font-weight:700}.profile strong{font-size:10px}.profile small{font-size:9px;color:var(--muted);margin-top:3px}.profile button{border:0;background:none;margin-left:auto;font-size:18px}.main-content{grid-column:2;min-width:0;padding:0 42px 0 42px;max-width:1600px;width:100%;margin:auto}.topbar{height:74px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);margin-bottom:30px}.breadcrumb{color:#888d84;font-size:11px}.breadcrumb span{margin:0 9px;color:#c3c3bb}.breadcrumb b{color:#42493f;font-weight:600}.top-actions{display:flex;align-items:center;gap:17px}.help-button{border:0;background:none;color:#526357;font-size:11px}.help-button span{margin-left:5px}.user-chip{display:flex;align-items:center;gap:8px;padding:5px 9px;background:#fbfaf7;border:1px solid var(--line);border-radius:20px;font-size:10px}.user-chip .avatar{height:23px;width:23px}.mobile-brand{display:none}.view{max-width:1160px;margin:0 auto}.welcome-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.eyebrow{font-size:10px;letter-spacing:1.6px;color:#81877c;font-weight:700;text-transform:uppercase}.welcome-row h1,.page-heading h1{font:500 32px var(--display);letter-spacing:-1.3px;margin:7px 0 5px}.welcome-row p,.page-heading p{color:#787d74;margin:0;font-size:12px}.welcome-row p strong{color:#424940;font-weight:600}.status-pill{border:1px solid #e3e4d9;background:#f9f9f4;padding:9px 13px;border-radius:20px;color:#6f7868;font-size:10px}.status-pill i{display:inline-block;width:6px;height:6px;background:#8da779;border-radius:50%;margin-right:6px}.hero{background:var(--green);border-radius:14px;min-height:252px;position:relative;overflow:hidden;color:#fff;padding:34px 36px;display:flex;align-items:center;margin-bottom:27px}.hero:after{content:'';position:absolute;width:350px;height:350px;border:1px solid rgba(255,255,255,.13);border-radius:50%;right:67px;top:-63px;box-shadow:0 0 0 26px rgba(255,255,255,.025),0 0 0 64px rgba(255,255,255,.025)}.hero-copy{position:relative;z-index:1;max-width:460px}.hero .eyebrow{color:#c6d5c1;font-size:9px}.hero h2{font:500 29px var(--display);line-height:1.25;letter-spacing:-.8px;margin:11px 0 9px}.hero p{font-size:11px;line-height:1.7;color:#d5e0d2;max-width:380px;margin:0 0 20px}.button-primary{background:#f2eadb;border:0;color:#294535;border-radius:6px;padding:11px 15px;font-weight:700;font-size:10px}.button-primary:hover{background:white}.hero-note{font-size:9px;color:#c2d0be;margin-left:11px}.hero-art{position:absolute;right:74px;top:29px;width:212px;height:195px;z-index:1;transform:rotate(4deg)}.stone-card{position:absolute;inset:6px 15px 8px 20px;border-radius:3px;background:linear-gradient(124deg,#e7d9c4 0%,#c8b59a 20%,#efe4d1 34%,#b6a58e 36%,#d9c9b2 40%,#f1e7d5 63%,#c4b29b 64%,#e8ddcc 68%,#d0bea5 100%);box-shadow:0 22px 45px #10291e88;border:5px solid #d8ccb9}.stone-card:before{content:'';position:absolute;inset:0;background:linear-gradient(167deg,transparent 17%,#8e7d6c66 18%,transparent 19%,transparent 52%,#fff8 53%,transparent 55%),linear-gradient(25deg,transparent 40%,#81736244 41%,transparent 42%);mix-blend-mode:multiply}.stone-label{position:absolute;left:0;bottom:0;background:#f5f0e8;color:#344237;padding:8px 11px;font:italic 12px var(--serif);box-shadow:0 7px 16px #10291e44}.sparkle{position:absolute;right:5px;top:3px;color:#dfd5bd;font-size:22px}.section-heading{display:flex;align-items:end;justify-content:space-between;margin:30px 0 13px}.section-heading h2{font:600 15px var(--display);margin:0}.section-heading p{font-size:10px;color:#898d84;margin:4px 0 0}.text-link{border:0;background:none;color:#52705d;font-size:10px;font-weight:700}.action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.action-card{border:1px solid var(--line);background:#fbfaf7;border-radius:10px;padding:16px 15px 14px;text-align:left;min-height:133px;transition:.18s}.action-card:hover{border-color:#b7c6b2;transform:translateY(-2px);box-shadow:0 8px 24px #293c2010}.action-icon{height:36px;width:36px;background:#e9eee5;color:#3c674b;display:grid;place-items:center;border-radius:9px;font-size:18px;margin-bottom:13px}.action-card strong{display:block;font:600 11px var(--display);margin-bottom:5px}.action-card p{font-size:9px;color:#858a81;line-height:1.5;margin:0}.split-row{display:grid;grid-template-columns:1.3fr .7fr;gap:13px;margin:18px 0 35px}.panel{background:#fbfaf7;border:1px solid var(--line);border-radius:10px;padding:17px}.panel-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.panel-title h3{font:600 11px var(--display);margin:0}.panel-title span{font-size:9px;color:#94988e}.recent-item{display:flex;align-items:center;gap:11px;border-top:1px solid #eeece6;padding:11px 0}.recent-swatch{width:35px;height:35px;border-radius:6px;background:linear-gradient(145deg,#f3eadc,#bca88e 45%,#e9dfcf 48%,#a6937c)}.recent-item strong{font-size:10px;display:block}.recent-item small{font-size:9px;color:#858a81;display:block;margin-top:3px}.recent-item button{margin-left:auto;border:0;background:none;color:#67806a;font-size:9px}.plan-panel{background:#eef1e9;border-color:#e3e8dc}.plan-top{display:flex;justify-content:space-between;align-items:center}.plan-top h3{font:600 11px var(--display);margin:0}.plan-icon{height:30px;width:30px;background:#dbe5d2;border-radius:50%;display:grid;place-items:center;color:var(--green)}.plan-panel>p{font-size:9px;color:#697264;line-height:1.6}.plan-progress{height:4px;background:#dce3d5;border-radius:6px;margin:13px 0 6px;overflow:hidden}.plan-progress i{display:block;width:25%;height:100%;background:#5d815f;border-radius:6px}.plan-meta{display:flex;justify-content:space-between;font-size:8px;color:#788072}.plan-cta{display:block;width:100%;margin-top:15px;background:#fffefa;border:1px solid #dfe4d9;border-radius:5px;padding:9px;color:#36543d;font-size:9px;font-weight:700}.page-heading{margin:0 0 24px}.content-panel{background:#fbfaf7;border:1px solid var(--line);border-radius:12px;padding:24px;margin-bottom:18px}.upload-zone{border:1px dashed #bdc6b6;border-radius:10px;background:#f5f6f1;min-height:250px;display:grid;place-items:center;text-align:center;padding:25px;position:relative;overflow:hidden}.upload-zone img{max-width:100%;max-height:340px;object-fit:contain;border-radius:7px}.upload-inner .upload-icon{height:49px;width:49px;border-radius:14px;background:#e6ecdf;color:#355d43;margin:0 auto 12px;display:grid;place-items:center;font-size:23px}.upload-inner h3{font:600 15px var(--display);margin:0 0 7px}.upload-inner p{font-size:10px;color:#858b80;margin:0 0 16px}.upload-small{display:block;font-size:9px;color:#999d94;margin-top:10px}.button-green{background:var(--green);border:0;color:white;border-radius:6px;padding:11px 16px;font-size:10px;font-weight:700}.button-green:hover{background:var(--green2)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field label{display:block;font-size:10px;color:#5d665d;font-weight:600;margin-bottom:7px}.field input,.field select,.field textarea{width:100%;border:1px solid #e0dfd8;background:#fffefa;border-radius:6px;padding:11px 12px;font:11px var(--sans);color:#31382f;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:#8ca38c;box-shadow:0 0 0 3px #61865d17}.field textarea{min-height:80px;resize:vertical}.field.full{grid-column:1/-1}.form-footer{display:flex;align-items:center;justify-content:space-between;margin-top:17px}.fine-print{font-size:9px;color:#8c9187;line-height:1.5;max-width:360px}.result-box{background:#eef2e9;border:1px solid #dfe8d8;border-radius:9px;padding:17px;margin-top:15px}.result-box h3{font:600 13px var(--display);margin:0 0 5px}.result-box p{font-size:10px;line-height:1.7;color:#687266;margin:0}.confidence{display:inline-flex;align-items:center;gap:6px;color:#477050;font-size:9px;font-weight:700;margin:7px 0}.confidence:before{content:'';height:6px;width:6px;border-radius:50%;background:#83a572}.notice{background:#f7f1e7;border:1px solid #eee3d2;color:#79674c;padding:12px 14px;border-radius:7px;font-size:9px;line-height:1.6;margin-top:14px}.stone-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.stone-option{background:#fbfaf7;border:1px solid var(--line);border-radius:9px;padding:15px;text-align:left}.stone-option:hover{border-color:#aebda9}.stone-option .swatch{height:90px;border-radius:6px;margin-bottom:12px;background:linear-gradient(140deg,#eee4d3,#b09d86 35%,#e8dfd2 38%,#d2c1a8 68%,#8d826e)}.stone-option:nth-child(2) .swatch{background:linear-gradient(40deg,#252a28,#565954 30%,#222825 33%,#676963 62%,#222725)}.stone-option:nth-child(3) .swatch{background:linear-gradient(130deg,#d5bd94,#e6d5b3 35%,#bea477 39%,#e8dec9 67%,#a68f6b)}.stone-option strong{font:600 11px var(--display)}.stone-option small{display:block;color:#858b80;font-size:9px;margin-top:5px}.tag{display:inline-block;background:#eef1e9;color:#62785e;padding:4px 7px;border-radius:10px;font-size:8px;margin-top:10px}.library-search{display:flex;gap:10px;margin-bottom:16px}.library-search input{flex:1;border:1px solid var(--line);background:#fffefa;border-radius:6px;padding:11px 12px;font:11px var(--sans)}.category-row{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:16px}.category-row button{border:1px solid var(--line);border-radius:15px;padding:7px 11px;background:#fffefa;font-size:9px;color:#656d63}.category-row button.selected{background:var(--green);color:#fff;border-color:var(--green)}.subscription-card{display:grid;grid-template-columns:1.1fr .9fr;border-radius:12px;overflow:hidden;border:1px solid #dfe4d9;background:#f0f2eb}.subscription-copy{padding:28px}.subscription-copy h2{font:500 24px var(--display);margin:10px 0}.subscription-copy p{font-size:11px;color:#72796d;line-height:1.7}.price{font:500 30px var(--display);color:#284b36;margin:20px 0 4px}.price small{font:10px var(--sans);color:#788074}.feature-list{list-style:none;padding:0;margin:18px 0}.feature-list li{font-size:10px;color:#52604f;padding:7px 0;border-bottom:1px solid #e1e6db}.feature-list li:before{content:'✓';color:#59815b;margin-right:9px;font-weight:700}.subscription-side{padding:26px;background:#fffefa;border-left:1px solid #e1e4dc;display:flex;flex-direction:column;justify-content:center}.subscription-side h3{font:600 13px var(--display);margin:0 0 10px}.subscription-side p{font-size:10px;color:#798075;line-height:1.6}.subscription-side .button-green{margin-top:10px}footer{border-top:1px solid var(--line);padding:15px 0 22px;display:flex;justify-content:space-between;color:#92968e;font-size:9px}footer i{font-style:normal;margin:0 6px}footer button{border:0;background:none;color:#788071;font-size:9px}footer b{color:#45644b}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,15px);background:#253d30;color:#fff;border-radius:7px;padding:11px 16px;font-size:10px;opacity:0;pointer-events:none;transition:.2s;z-index:9;box-shadow:0 8px 24px #192b1d33}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1050px){.main-content{padding:0 25px}.hero-art{right:18px;opacity:.85}.action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.app-shell{display:block}.sidebar{display:none}.main-content{padding:0 17px}.topbar{height:60px;margin-bottom:22px}.breadcrumb,.user-chip{display:none}.mobile-brand{display:flex;align-items:center;gap:9px;border:0;background:transparent;font:700 10px var(--display);letter-spacing:1px}.mobile-brand .brand-mark{width:29px;height:29px;font-size:16px}.top-actions{margin-left:auto}.help-button{font-size:10px}.welcome-row{align-items:start}.welcome-row h1,.page-heading h1{font-size:26px}.status-pill{font-size:0;padding:10px}.status-pill i{margin:0}.hero{min-height:255px;padding:25px 22px}.hero-copy{max-width:340px}.hero h2{font-size:24px;max-width:260px}.hero p{max-width:260px;font-size:10px}.hero-art{right:-39px;top:72px;transform:scale(.75) rotate(4deg);opacity:.55}.hero-note{display:block;margin:9px 0 0}.action-grid{gap:9px}.action-card{min-height:125px;padding:12px}.split-row{grid-template-columns:1fr}.section-heading{margin-top:24px}.stone-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.subscription-card{grid-template-columns:1fr}.subscription-side{border-left:0;border-top:1px solid #e1e4dc}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.content-panel{padding:16px}.form-footer{align-items:start;gap:12px;flex-direction:column}footer{gap:10px;flex-direction:column}footer button{text-align:left}.upload-zone{min-height:220px}}
@media(max-width:380px){.action-grid{grid-template-columns:1fr 1fr}.hero-art{right:-74px}.hero h2{font-size:21px}.hero p{max-width:230px}.hero{padding-left:17px}}
.consent-line{display:flex;align-items:flex-start;gap:8px;font-size:10px;line-height:1.5;color:#637061}.consent-line input{margin:2px 0 0;accent-color:#355d43}.consent-line a,.legal-wrap a{color:#3f694b}.signed-in{background:#edf1e9;padding:10px 12px;border-radius:6px;margin:14px 0 0;font-size:10px;color:#566454}.legal-page{background:var(--canvas)}.legal-wrap{max-width:760px;background:var(--paper);margin:40px auto;padding:36px;border:1px solid var(--line);border-radius:12px}.legal-wrap>a{display:inline-block;margin-bottom:28px;text-decoration:none;font-size:11px}.legal-wrap h1{font:500 32px var(--display);margin:10px 0 16px}.legal-wrap h2{font:600 14px var(--display);margin:24px 0 7px}.legal-wrap p{font-size:12px;line-height:1.8;color:#636b60}.legal-wrap .legal-warning{background:#f6f0e5;border:1px solid #eee2ce;color:#725e3f;padding:12px;border-radius:6px;font-size:10px}@media(max-width:720px){.legal-wrap{margin:14px;padding:22px}}
.request-row{display:grid;grid-template-columns:minmax(0,1fr) 120px 50px;align-items:center;gap:10px;border-top:1px solid var(--line);padding:14px 0}.request-row strong{font:600 11px var(--display)}.request-row p{font-size:10px;color:#697166;margin:5px 0}.request-row small{font-size:9px;color:#8a8f86}.request-row select{border:1px solid var(--line);border-radius:5px;background:#fffefa;padding:7px;font-size:9px}@media(max-width:720px){.request-row{grid-template-columns:1fr 95px}.request-row button{grid-column:2}}
.reference-list{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.reference-chip{background:#fffefa;border:1px solid #dce4d6;border-radius:14px;padding:5px 8px;font-size:8px;color:#456b4c;text-decoration:none}.reference-chip:hover{text-decoration:underline}
.catalog-summary{font-size:9px;color:#858b80;margin:-3px 0 11px}.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.catalog-card{padding:10px;min-width:0}.catalog-open{display:block;width:100%;border:0;background:none;padding:0;text-align:left}.catalog-open .swatch{height:105px}.catalog-open strong{display:block;font:600 11px var(--display);line-height:1.4}.catalog-open small{min-height:25px;line-height:1.4}.catalog-card .tag{margin-bottom:4px}.compare-add{border:1px solid #dfe4d9;background:#f5f7f1;color:#45664b;border-radius:5px;padding:7px 9px;font-size:9px;margin-top:9px}.catalog-swatch.swatch-0{background:linear-gradient(135deg,#eee9df,#c5b7a4 35%,#f4f0e8 37%,#d2c6b5 68%,#eee7db)}.catalog-swatch.swatch-1{background:linear-gradient(40deg,#292d2c,#64655f 30%,#252a28 33%,#88867e 62%,#292d2c)}.catalog-swatch.swatch-2{background:linear-gradient(145deg,#d8c8a7,#b49b70 40%,#e7d6b1 65%,#a78e62)}.catalog-swatch.swatch-3{background:linear-gradient(145deg,#59605b,#9d9784,#62675f)}.catalog-swatch.swatch-4{background:linear-gradient(145deg,#3b4140,#aba99c,#555a57)}.catalog-swatch.swatch-5{background:linear-gradient(145deg,#303633,#73766e,#292f2d)}.stone-detail{margin-top:14px}.detail-region{font-size:10px;color:#81877d}.detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:15px 0}.detail-columns b{font-size:10px}.detail-columns p{font-size:10px;color:#687166;line-height:1.7}.detail-disclaimer{font-size:9px;color:#858b80;line-height:1.6}.compare-table-wrap{overflow:auto;background:#fbfaf7;border:1px solid var(--line);border-radius:10px}.compare-table{width:100%;border-collapse:collapse;min-width:640px}.compare-table th,.compare-table td{text-align:left;vertical-align:top;padding:13px;border-bottom:1px solid var(--line);font-size:10px;line-height:1.6;min-width:150px}.compare-table thead th{background:#eff2eb;color:#36543d;font:600 11px var(--display)}.compare-table tbody th{color:#596458;width:130px}.compare-table td{color:#687166}.compare-table small{color:#858b80}.empty-compare{text-align:center;padding:35px 20px}.empty-compare .action-icon{margin:0 auto 12px}.empty-compare h3{font:600 14px var(--display);margin:0 0 8px}.empty-compare p{font-size:10px;color:#747b71;margin:0 0 14px}@media(max-width:720px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-columns{grid-template-columns:1fr}.catalog-open .swatch{height:90px}}
.project-results{margin-top:18px}.project-result-head{background:#edf1e9;border:1px solid #dfe8d8;border-radius:9px;padding:16px;margin-bottom:12px}.project-result-head h3{font:600 15px var(--display);margin:7px 0}.project-result-head p{font-size:10px;color:#687266;line-height:1.65;margin:0}.project-match-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.project-match{background:#fffefa;border:1px solid var(--line);border-radius:9px;padding:15px}.match-top{display:flex;justify-content:space-between;gap:8px;align-items:center}.match-family,.match-status{font-size:8px;color:#5f765f;background:#edf2e9;border-radius:12px;padding:5px 8px}.match-status{background:#f5f0e5;color:#806a47}.project-match h4{font:600 12px var(--display);margin:12px 0 3px}.project-match>small{font-size:9px;color:#858b80}.project-match p{font-size:9px;line-height:1.6;color:#6c746a}.project-match p b{color:#4f5c4e}.match-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;border-top:1px solid #eeece6;margin-top:10px;padding-top:8px}.match-actions .compare-add{margin:0}@media(max-width:720px){.project-match-grid{grid-template-columns:1fr}}
