:root{--cream:#fbfaf7;--linen:#f1ede6;--stone:#e4dfd5;--dark:#202a25;--ink:#28302c;--subtle:#6e776d;--gold:#a5814c;--gold-light:#dec58b;--border:#ded9cf;--white:#fff;--radius:2px;--page:1280px;--shadow:0 16px 60px rgba(21,26,22,.10)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:1.7}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}svg{max-width:100%}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{font-family:Georgia,serif;font-weight:500;line-height:1.03}h1{font-size:clamp(3.3rem,6.8vw,7.1rem);letter-spacing:-.035em}h2{font-size:clamp(2.5rem,4.5vw,4.4rem);letter-spacing:-.025em}h3{font-size:2rem}.container{width:min(calc(100% - 64px),var(--page));margin:auto}.eyebrow,.label,.kicker{font-size:10px;letter-spacing:.2em;font-weight:800;text-transform:uppercase;color:var(--gold)}.overline{font-size:12px;letter-spacing:.15em;text-transform:uppercase}.muted{color:var(--subtle)}.small{font-size:12px}.center{text-align:center}.lead{font-size:16px;max-width:650px;color:#69736b;line-height:1.95}.section{padding:100px 0}.section.sm{padding:60px 0}.section.alt{background:var(--linen)}.section.dark{background:var(--dark);color:#fff}.section-heading{margin:0 0 20px}.row{display:flex;gap:20px;align-items:center}.between{justify-content:space-between}.grid{display:grid;gap:22px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.announcement{background:#263029;color:#efeadf;text-align:center;padding:9px 12px;font-size:9px;letter-spacing:.25em;font-weight:700}.header{display:flex;align-items:center;justify-content:space-between;min-height:91px;border-bottom:1px solid #e6e1d8;gap:26px}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand-mark{height:38px;width:38px;object-fit:contain;border-radius:50%;background:#1f2722;padding:4px}.brand-label{font:600 23px Georgia,serif;letter-spacing:.04em;white-space:nowrap}.brand-sub{font-size:8px;letter-spacing:.25em;line-height:1;display:block;font-weight:800}.nav{display:flex;align-items:center;gap:30px}.nav a{font-size:11px;letter-spacing:.06em;white-space:nowrap}.nav a.active,.nav a:hover{color:var(--gold)}.header-action{font-size:10px;font-weight:800;letter-spacing:.13em;white-space:nowrap;border-bottom:1px solid var(--gold);padding-bottom:8px}.menu-toggle{display:none;border:0;background:transparent;font-size:24px}.button,.button-outline,.textlink{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:50px;padding:14px 25px;background:var(--dark);color:#fff;border:1px solid var(--dark);font-size:10px;letter-spacing:.12em;font-weight:800;text-transform:uppercase;transition:transform .2s,background .2s}.button:hover{background:#3c4b40;transform:translateY(-1px)}.button-outline{background:transparent;color:var(--dark)}.button-outline:hover{background:var(--dark);color:#fff}.button-light{background:#f3e9d3;color:#213027;border-color:#f3e9d3}.textlink{padding:10px 0;border:0;border-bottom:1px solid var(--gold);min-height:0;background:none;color:var(--dark)}.textlink:hover{background:none;transform:none;color:var(--gold)}.hero{display:grid;grid-template-columns:1.04fr .96fr;min-height:670px;background:#eeebe4}.hero-copy{padding:80px clamp(28px,6vw,115px);align-self:center}.hero-copy h1{max-width:650px;margin:30px 0}.hero-copy p{max-width:500px}.hero-media{position:relative;background:linear-gradient(135deg,#d8d2c6,#a59b89 75%);display:grid;place-items:center;min-height:550px;overflow:hidden}.hero-media:before{content:'';position:absolute;width:560px;height:560px;border:1px solid #d8cfc1;border-radius:50%}.hero-ring{width:min(85%,650px);z-index:1;filter:drop-shadow(0 35px 25px rgba(51,45,30,.21));transform:rotate(-13deg)}.media-label{position:absolute;bottom:34px;left:35px;font-size:10px;letter-spacing:.18em;font-weight:800;color:#62594d}.medallion{width:65px;height:65px;border:1px solid #cfc3a9;border-radius:50%;display:grid;place-items:center;font:italic 35px 'Cormorant Garamond',serif;color:var(--gold)}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.category-card{border:1px solid var(--border);display:flex;flex-direction:column;background:#fff;min-width:0}.category-visual{height:240px;position:relative;display:grid;place-items:center;overflow:hidden;background:#ded9cd}.category-visual img{height:100%;width:100%;object-fit:cover}.category-visual .mini-ring{max-height:95%;max-width:88%;filter:drop-shadow(0 25px 12px #aaa09677)}.category-visual.darkbg{background:#171e1a}.category-visual.darkbg img{object-fit:contain}.category-copy{padding:27px}.category-copy h3{margin-bottom:8px}.category-copy p{min-height:54px;color:var(--subtle);font-size:12px}.feature{border-top:1px solid var(--border);padding:26px 0}.feature .num{color:var(--gold);font-size:11px}.feature h3{margin:8px 0 12px;font-size:32px}.big-photo{height:500px;width:100%;object-fit:cover;background:#bbb4aa}.photo-wrap{position:relative}.photo-note{position:absolute;bottom:17px;right:17px;background:#f8f5e9cc;padding:10px 14px;font-size:9px;letter-spacing:.1em}.page-head{padding:75px 0 50px}.page-head h1{font-size:clamp(3.1rem,5.5vw,5.4rem);margin:20px 0}.page-head p{max-width:710px}.hairline{height:1px;background:var(--border);margin:22px 0}.badge{display:inline-flex;font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#7a6038;background:#f5e9d6;padding:7px 11px}.note{background:#f1ede4;border-left:2px solid var(--gold);padding:18px 22px;font-size:12px;color:#657065}.footer{background:#222c25;color:#f4f1e9;padding:66px 0 23px}.footer .brand-label,.footer .brand-sub{color:#faf6eb}.footer .brand-mark{background:#0d110f}.footer a:hover{color:#dfbd82}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:70px}.footer a{display:block;font-size:12px;color:#d0d5cd;margin:9px 0}.footer-bottom{margin-top:65px;padding-top:25px;border-top:1px solid #4d554f;display:flex;justify-content:space-between;gap:25px;font-size:10px;color:#c0c7bb}.footer-bottom a{display:inline;margin:0;font-size:10px}.builder{display:grid;grid-template-columns:1.05fr 1fr;border:1px solid var(--border);margin-bottom:80px;background:#fff;align-items:stretch}.preview-col{display:flex;flex-direction:column;background:#ded8ce}.preview-stage{min-height:515px;position:relative;display:grid;place-items:center;background:radial-gradient(circle at 48% 50%,#f1ece1,#cdc4b7);overflow:hidden}.preview-svg{width:min(93%,670px);max-height:430px;filter:drop-shadow(0 32px 18px #6b5e4e2d)}.preview-title{position:absolute;top:23px;left:27px}.preview-bottom{position:absolute;bottom:22px;left:27px;right:27px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.12em;color:#797469}.stat-strip{display:grid;grid-template-columns:repeat(3,1fr);background:var(--dark);color:#fff;padding:28px 30px;gap:20px}.stat-strip span{font-size:9px;color:#b7c1b8;font-weight:800;letter-spacing:.13em}.stat-strip strong{display:block;font:500 30px 'Cormorant Garamond',serif;margin-top:8px}.builder-controls{padding:40px 50px 45px}.builder-controls h2{font-size:45px}.control-block{padding:19px 0;border-bottom:1px solid #eae7e0}.control-header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:13px}.control-header label{font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:800}.control-header b{font-size:13px;color:var(--gold)}select,input:not([type=range]):not([type=checkbox]):not([type=file]),textarea{border:1px solid var(--border);background:#faf9f6;padding:14px 16px;display:block;width:100%;border-radius:0;outline-color:var(--gold);font-size:13px;color:var(--ink)}textarea{min-height:120px;resize:vertical}input[type=range]{width:100%;accent-color:var(--gold);margin:6px 0}.range-hints{display:flex;justify-content:space-between;color:var(--subtle);font-size:10px}.checkbox-line{display:flex;gap:11px;align-items:center;font-size:12px}input[type=checkbox]{accent-color:var(--gold)}.field-group{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.field-group.one{grid-template-columns:1fr}.field-group label,.field>label{display:block;font-size:11px;font-weight:700;color:#6c756d;margin:0 0 7px}.field{margin:0 0 19px}.estimate{background:var(--linen);padding:22px 26px;margin-top:25px}.estimate .price{font:500 49px 'Cormorant Garamond',serif;margin:4px 0 7px}.estimate .price-status{font-size:11px;color:#667165}.mini-table{width:100%;border-collapse:collapse;font-size:12px}.mini-table th,.mini-table td{padding:10px 0;border-bottom:1px solid var(--border);text-align:left}.mini-table th:last-child,.mini-table td:last-child{text-align:right}.mini-table .total{font-weight:800;color:var(--ink)}.tabbar{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:28px}.tabbar button{padding:10px 16px;border:1px solid var(--border);color:var(--ink);background:transparent;font-size:11px}.tabbar button.active{background:var(--dark);color:#fff;border-color:var(--dark)}.pricing-card{border:1px solid var(--border);background:#fff;padding:30px}.pricing-card h3{margin-bottom:12px}.price-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:32px}.cards-list{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.service-card{border:1px solid var(--border);padding:25px;background:#fff}.service-card p{color:var(--subtle);font-size:12px}.service-card h3{font-size:26px}.service-icon{font-size:34px;color:var(--gold);margin-bottom:10px}.status-text{color:#986c42;font-size:12px}.quote-page{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:start}.dark-panel{padding:46px;background:var(--dark);color:#fff}.dark-panel p{color:#b7bfb8}.dark-panel h2{font-size:55px}.form-panel{background:#fff;border:1px solid var(--border);padding:35px}.upload-zone{border:1px dashed #b7ad98;background:#faf8f2;padding:22px}.upload-zone input{font-size:11px;max-width:100%}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:35px}.step{border-top:1px solid var(--border);padding-top:20px}.step-num{color:var(--gold);font-size:11px;letter-spacing:.15em}.step h3{font-size:27px;margin:12px 0}.step p{font-size:12px;color:var(--subtle)}.service-table th,.service-table td{padding:11px 10px;border-bottom:1px solid var(--border);text-align:left;font-size:12px}.service-table{border-collapse:collapse;width:100%;background:white}.service-table th{background:#f1eee7;font-weight:800}.service-table-wrap{overflow-x:auto}.service-table th:first-child,.service-table td:first-child{min-width:180px}.alert{padding:14px 18px;background:#f7ebd6;border:1px solid #e0c99b;font-size:12px}.privacy{margin-top:12px;font-size:11px;color:#747d73}.product-warning{font-size:11px;color:#8a734f}.emphasis{font-family:Georgia,serif;font-size:26px}.one-col{max-width:840px}.faq details{padding:22px 0;border-bottom:1px solid var(--border)}.faq summary{cursor:pointer;font-weight:700;font-size:14px}.faq details p{margin:12px 0 0;font-size:13px;color:var(--subtle)}.flash{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);padding:15px 22px;background:#253129;color:#fff;box-shadow:var(--shadow);z-index:100;max-width:calc(100% - 32px);font-size:12px}.hidden{display:none!important}.util-buttons{display:flex;gap:10px;flex-wrap:wrap}.admin-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:35px}.cards-2{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field-note{font-size:10px;color:#717c72}.site-nudge{position:fixed;bottom:15px;right:15px;padding:9px 12px;background:#213027;color:#eee;font-size:9px;letter-spacing:.09em;z-index:12}#quote-output{white-space:pre-wrap;background:#f4f0e9;border:1px solid var(--border);padding:20px;font:12px/1.7 monospace;max-height:350px;overflow:auto}.illustrative{font-size:9px;letter-spacing:.11em;color:#878b7e}.timeline{border-left:1px solid var(--gold);padding-left:24px}.timeline>div{margin-bottom:22px}.timeline strong{display:block;font-size:12px}.timeline small{color:var(--subtle)}.not-for-sale{position:absolute;top:16px;right:16px;background:#f7efe2;color:#786036;padding:7px 12px;text-transform:uppercase;font-size:8px;letter-spacing:.13em;font-weight:800}.demo-only{background:#f4ead8;padding:12px 16px;font-size:11px;color:#745c35}.screenreader{position:absolute;left:-9999px}
@media(max-width:1150px){.nav{gap:18px}.nav a{font-size:10px}.container{width:min(calc(100% - 40px),var(--page))}.builder-controls{padding:25px}.hero-copy{padding:55px}}
@media(max-width:900px){.hero,.builder,.quote-page,.intro-grid,.admin-layout{grid-template-columns:1fr}.hero-copy{padding:60px 32px}.hero-media{min-height:420px}.builder-controls{padding:30px}.preview-stage{min-height:400px}.grid-4,.grid-3,.cards-list{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:span 2}.header-action{display:none}.menu-toggle{display:block}.nav{display:none;position:absolute;top:114px;left:0;right:0;z-index:999;background:#fff;box-shadow:var(--shadow);padding:30px;flex-direction:column;align-items:start}.nav.open{display:flex}}
@media(max-width:560px){.container{width:calc(100% - 30px)}.header{min-height:78px}.brand-label{font-size:18px}.brand-sub{font-size:7px}.brand-mark{height:32px;width:32px}.nav{top:101px}.section{padding:65px 0}.hero{min-height:0}.hero-copy{padding:50px 22px}.hero-media{min-height:350px}.page-head{padding:52px 0 26px}.grid-4,.grid-3,.grid-2,.cards-list,.footer-grid,.price-grid,.steps,.field-group,.cards-2{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.builder-controls{padding:20px}.stat-strip{padding:20px 12px;gap:8px}.stat-strip strong{font-size:24px}.stat-strip span{font-size:7px}.preview-stage{min-height:320px}.preview-bottom{left:16px;right:16px;font-size:8px}.footer-bottom{flex-direction:column}.form-panel,.pricing-card,.dark-panel{padding:22px}.estimate .price{font-size:42px}}

.hero-image{width:min(92%,700px);max-height:520px;object-fit:contain;z-index:1;filter:drop-shadow(0 35px 25px rgba(51,45,30,.21));transform:rotate(-13deg)}.preview-image{width:min(93%,670px);max-height:430px;object-fit:contain;filter:drop-shadow(0 32px 18px #6b5e4e2d)}.category-visual .mini-ring-image{max-height:95%;max-width:88%;object-fit:contain;filter:drop-shadow(0 25px 12px #aaa09677)}

.hidden{display:none!important}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px}.gallery-card{background:#f6f1e8;border:1px solid #e4dccf;border-radius:16px;padding:12px}.gallery-card img{width:100%;display:block;border-radius:12px;background:#ece4d8}.gallery-card strong{display:block;margin-top:10px;font-size:14px}.gallery-card span{display:block;font-size:12px;color:#6e6a61}.field-note.small{font-size:12px;color:#7a7468;margin-top:6px}.preview-meta{font-size:12px;color:#7a7468;margin-top:6px}.hero-image{width:min(92%,700px);max-height:520px;object-fit:contain;z-index:1;filter:drop-shadow(0 35px 25px rgba(51,45,30,.21));transform:rotate(-10deg)}.preview-image{width:min(96%,710px);max-height:450px;object-fit:contain;filter:drop-shadow(0 32px 18px rgba(78,67,50,.18))}.category-visual .mini-ring-image{max-height:95%;max-width:88%;object-fit:contain;filter:drop-shadow(0 25px 12px rgba(120,112,99,.4))}

.designer-switch{display:flex;gap:12px;margin:0 0 18px;flex-wrap:wrap}.designer-tab{border:1px solid #d8d2c7;background:#f7f3ea;color:#23302a;padding:12px 18px;border-radius:999px;font:600 14px/1 var(--font-sans);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.designer-tab.active{background:#1f2a24;color:#fff;border-color:#1f2a24}.designer-panel{display:none}.designer-panel.active{display:block}.preview-meta{font-size:12px;color:#7b7468;margin-top:8px}.designer-panel .builder{margin-top:0}@media (max-width:720px){.designer-switch{justify-content:stretch}.designer-tab{flex:1 1 31%;text-align:center;padding:11px 10px;font-size:12px}}

/* MASS V8 WebP catalog: no drawn fallback or broken image icon */
.preview-image:not([src]), .hero-image:not([src]), img[data-jewelry-type]:not([src]){display:none!important}
.preview-image{transition:transform .2s ease;object-fit:contain;max-width:100%;height:auto}
.preview-stage{overflow:hidden}
.preview-meta{line-height:1.5}
.gallery-card img:not([src]){display:none!important}

/* V10.1: A real, locally bundled workshop photograph always appears before the
 * optional Blender image catalog loads. Photo backgrounds are NEVER rotated. */
.hero-media.has-photo-fallback::before{display:none}
.hero-media .hero-image.is-photo-fallback{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:cover;object-position:center center;transform:none!important;filter:none}
.hero-media.has-photo-fallback .media-label{z-index:2;color:#fff;background:rgba(28,35,29,.8);padding:8px 12px;letter-spacing:.09em}
.category-visual .mini-ring-image.is-photo-fallback{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;transform:none!important;filter:none}
.preview-stage .preview-image.is-photo-fallback{width:100%;height:100%;max-width:none;max-height:none;position:absolute;inset:0;object-fit:cover;object-position:50% 49%;transform:none!important;filter:none}
.preview-stage:has(>.preview-image.is-photo-fallback) .preview-title,
.preview-stage:has(>.preview-image.is-photo-fallback) .preview-bottom{z-index:2;background:rgba(248,245,236,.9);padding:6px 10px}
.preview-stage .preview-meta{z-index:2}


/* MASS V10.2: protect stage labels, keep a calm premium product framing.
   The description lives outside .preview-stage (as a sibling), never over the image. */
.designer-panel .preview-stage{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:515px;
  padding:72px 38px 63px;
  box-sizing:border-box;
  isolation:isolate;
}
.designer-panel .preview-stage>.preview-title{
  position:absolute;
  top:23px;
  left:28px;
  right:28px;
  z-index:4;
  max-width:calc(100% - 56px);
  font-size:11px;
  line-height:1.5;
}
.designer-panel .preview-stage>.preview-bottom{
  position:absolute;
  bottom:22px;
  left:28px;
  right:28px;
  z-index:4;
  display:flex;
  gap:16px;
  align-items:center;
  justify-content:space-between;
  pointer-events:none;
  line-height:1.4;
}
.designer-panel .preview-stage>.preview-image{
  display:block;
  position:relative;
  inset:auto;
  width:min(79%,480px);
  max-width:100%;
  height:auto;
  max-height:325px;
  min-height:0;
  object-fit:contain;
  object-position:center;
  flex:0 1 auto;
  filter:brightness(1.17) saturate(1.10) drop-shadow(0 16px 24px rgba(40,35,25,.13));
  transform-origin:center center;
  border-radius:0;
  box-sizing:border-box;
  z-index:1;
}
/* When the image is an old opaque photo, treat it as a photo CARD, not a
   stretched background. The photograph never receives rotation/zoom. */
.designer-panel .preview-stage>.preview-image.is-photo-fallback{
  position:relative!important;
  inset:auto!important;
  display:block;
  width:min(72%,440px)!important;
  max-width:100%!important;
  height:290px!important;
  max-height:290px!important;
  object-fit:cover!important;
  object-position:center!important;
  transform:none!important;
  border-radius:6px;
  border:1px solid rgba(128,116,98,.2);
  filter:none!important;
  box-shadow:0 16px 32px rgba(35,34,29,.12);
}
.designer-panel .preview-col>.preview-meta{
  position:relative;
  z-index:0;
  display:block;
  box-sizing:border-box;
  width:100%;
  min-height:52px;
  margin:0;
  padding:14px 28px 16px;
  border-top:1px solid rgba(85,72,52,.12);
  background:#f1ede5;
  color:#756f63;
  font-size:12px;
  line-height:1.5;
  letter-spacing:normal;
}
@media(max-width:900px){
  .designer-panel .preview-stage{min-height:400px;padding:68px 22px 53px}
  .designer-panel .preview-stage>.preview-image{width:min(76%,420px);max-height:255px}
  .designer-panel .preview-stage>.preview-image.is-photo-fallback{height:235px!important;max-height:235px!important}
}
@media(max-width:560px){
  .designer-panel .preview-stage{min-height:340px;padding:60px 18px 46px}
  .designer-panel .preview-stage>.preview-image{width:min(77%,315px);max-height:205px}
  .designer-panel .preview-stage>.preview-image.is-photo-fallback{width:min(78%,315px)!important;height:195px!important;max-height:195px!important}
  .designer-panel .preview-stage>.preview-title{top:16px;left:18px;right:18px;max-width:calc(100% - 36px);font-size:9px}
  .designer-panel .preview-stage>.preview-bottom{left:18px;right:18px;bottom:15px;font-size:8px}
  .designer-panel .preview-col>.preview-meta{padding:12px 18px 14px;font-size:11px}
}

/* V11: Live browser-rendered ring; all overlay text stays outside the render centre. */
#ring-builder .live-ring-stage{min-height:530px;display:block;position:relative;background:radial-gradient(circle at 50% 33%,#eee9e1 0%,#ddd4c7 58%,#c9bdac 100%);overflow:hidden}
#ring-builder .live-ring-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:grab;outline-offset:-5px;z-index:1}
#ring-builder .live-ring-canvas:active{cursor:grabbing}
#ring-builder .live-ring-stage .preview-title{z-index:3;top:22px;left:22px;background:#f9f7f1e6;padding:7px 10px;font-size:10px;max-width:calc(100% - 44px)}
#ring-builder .live-ring-stage .preview-bottom{z-index:3;bottom:18px;left:18px;right:18px;background:#f8f5eff2;padding:8px 10px;border:1px solid #ddd4c7;font-size:9px;gap:10px}
#ring-builder .ring-preview-badge{z-index:3;position:absolute;right:20px;top:70px;font-size:9px;letter-spacing:.1em;font-weight:700;color:#7b6242;padding:7px 10px;background:#f9f6f0e3;border:1px solid #d9cfbd}
#ring-builder .live-fallback-image{position:absolute;inset:50% auto auto 50%;width:60%!important;height:60%!important;max-height:none!important;max-width:none!important;object-fit:contain!important;transform:translate(-50%,-50%)!important;filter:none!important;display:block}
#ring-builder .gpu-available .live-fallback-image{display:none!important}
#ring-builder .preview-col>.preview-meta{background:#f5f1ea;padding:17px 22px;border-bottom:1px solid #e1dbd0;line-height:1.6}
#ring-builder .advanced-ring-controls{display:grid;gap:4px;margin-top:16px;padding:16px 17px;background:#f7f5f0;border:1px solid #ebe4d9}
#ring-builder .advanced-ring-controls label{display:flex;justify-content:space-between;font-size:11px;color:#5f6a60;margin-top:6px}
#ring-builder .advanced-ring-controls b{color:#a5814c}
#ring-builder .ring-cad-notice{padding:13px 15px;font-size:12px;line-height:1.55;color:#79623f;background:#faf0e0;border:1px solid #e6d6b9;margin-top:20px}
#ring-builder .preview-stage .preview-image.is-photo-fallback{display:block;object-fit:contain;width:60%;height:60%;inset:50% auto auto 50%;transform:translate(-50%,-50%)!important}
@media(max-width:900px){#ring-builder .live-ring-stage{min-height:440px}}
@media(max-width:560px){#ring-builder .live-ring-stage{min-height:350px}#ring-builder .ring-preview-badge{top:60px;right:16px;font-size:8px}#ring-builder .live-ring-stage .preview-bottom{font-size:7px}}

#ring-builder .cad-dimensions{padding:14px 20px;background:#ebe5da;color:#555d54;font-size:12px;line-height:1.6;border-bottom:1px solid #ccc3b4}
#ring-builder .cad-dimensions strong{font-weight:700;color:#3d493e}

/* Release footer: readable builder attribution and direct contact. */
footer .northgrid-credit{font-size:1rem;font-weight:600;line-height:1.6}footer .footer-contact{padding:1rem;text-align:center;font-size:1rem}footer .footer-contact a{color:inherit;text-decoration:underline;text-underline-offset:3px}
