:root{
  --ink:#121212;
  --black:#0b0c0d;
  --black-2:#111315;
  --paper:#faf9f6;
  --paper-2:#f3f1ec;
  --warm:#d8c9b8;
  --line-dark:rgba(255,255,255,.14);
  --line-light:#d8d4ce;
  --serif:"Bodoni Moda",Didot,"Times New Roman",serif;
  --sans:"Inter",Arial,sans-serif;
  --script:"Pinyon Script","Snell Roundhand",cursive;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
button{color:inherit}
img{display:block;max-width:100%}
.skip-link{position:fixed;left:1rem;top:-100px;z-index:1000;background:#fff;color:#000;padding:.75rem 1rem;transition:.2s}
.skip-link:focus{top:1rem}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.brand{font:400 29px/1 var(--serif);letter-spacing:.14em;color:#f4f0eb}
.site-header{height:78px;padding:0 5.2vw;display:grid;grid-template-columns:160px 1fr 160px;align-items:center;position:absolute;inset:0 0 auto;z-index:20;border-bottom:1px solid rgba(255,255,255,.025);background:linear-gradient(180deg,rgba(8,9,10,.95),rgba(8,9,10,.72))}
.main-nav{justify-self:center;display:flex;align-items:center;gap:3.1rem}
.main-nav a{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#f5f1ed;white-space:nowrap;transition:opacity .2s}
.main-nav a:hover{opacity:.6}
.header-actions{justify-self:end;display:flex;gap:18px}
.icon-button{width:22px;height:28px;border:0;background:none;padding:0;cursor:pointer}
.icon-button svg{width:100%;height:100%;fill:none;stroke:#f7f1ea;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round}
.menu-toggle{display:none;border:0;background:transparent;padding:8px}
.menu-toggle span{display:block;width:22px;height:1px;background:#fff;margin:6px 0}

.home-page{background:#0b0c0d;color:#fff}
.hero-home{min-height:542px;position:relative;overflow:hidden;background:radial-gradient(circle at 68% 47%,#161717 0,#0c0d0e 42%,#08090a 76%);display:grid;grid-template-columns:42% 58%;padding-top:78px}
.hero-copy{padding:83px 0 64px 6.6vw;z-index:2}
.hero-copy h1{font:400 clamp(46px,5vw,71px)/1.04 var(--serif);letter-spacing:-.035em;margin:0 0 28px;color:#f7f3ee}
.fine-line{width:43px;height:1px;background:#cabaaa;margin-bottom:24px;opacity:.8}
.hero-copy p{font-size:12px;line-height:1.75;letter-spacing:.14em;text-transform:uppercase;color:#f6f1eb;margin:0 0 30px}
.btn-outline{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 28px;border:1px solid currentColor;font-size:11px;letter-spacing:.18em;text-transform:uppercase;transition:.25s}
.btn-outline--light{color:#f5f0e9}
.btn-outline:hover{background:#f5f0e9;color:#111}
.hero-art{position:absolute;right:-1.5vw;top:68px;width:70vw;height:520px;display:flex;align-items:center;justify-content:flex-end;pointer-events:none}
.hero-art img{width:min(100%,1000px);height:100%;object-fit:contain;object-position:right center;filter:drop-shadow(0 25px 45px rgba(0,0,0,.25))}

.benefits{min-height:146px;border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);display:grid;grid-template-columns:repeat(4,1fr);padding:30px 10vw;background:linear-gradient(90deg,#101214,#141618 45%,#101214)}
.benefit{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;border-right:1px solid var(--line-dark)}
.benefit:last-child{border-right:0}
.benefit svg{width:42px;height:42px;fill:none;stroke:#d8c7b7;stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round}
.benefit p{margin:0;text-align:center;font-size:10px;line-height:1.7;letter-spacing:.11em;text-transform:uppercase;color:#eee9e3}

.moments{padding:39px 9.8vw 43px;background:radial-gradient(circle at 50% 15%,#151719,#0b0c0d 65%);text-align:center}
.moments h2{font:400 22px/1.2 var(--serif);letter-spacing:.07em;text-transform:uppercase;margin:0 0 28px;color:#eee9e4}
.moment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1030px;margin:0 auto}
.moment-card{background:#121314;border:1px solid rgba(255,255,255,.035);overflow:hidden;transition:transform .25s,border-color .25s}
.moment-card:hover{transform:translateY(-3px);border-color:rgba(220,205,188,.35)}
.moment-image{aspect-ratio:1.58/1;overflow:hidden;background:#bba893}
.moment-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.moment-card:hover img{transform:scale(1.025)}
.moment-caption{padding:16px 12px 17px;display:flex;flex-direction:column;gap:7px;background:linear-gradient(180deg,#1a1918,#131313)}
.moment-caption strong{font:400 19px/1 var(--serif);letter-spacing:.13em;text-transform:uppercase;color:#f0eae3}
.moment-caption span{font-size:10px;color:#cfc8c0}
.collections-cta{margin-top:20px;height:35px;padding:0 26px;font-size:9px}

.craft{display:grid;grid-template-columns:48% 52%;min-height:320px;background:linear-gradient(90deg,#0c0d0e,#101214);border-top:1px solid rgba(255,255,255,.05)}
.craft-photo{overflow:hidden;min-height:320px}
.craft-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05) brightness(.75)}
.craft-copy{padding:51px 8vw 45px 5.8vw;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.eyebrow{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:#d8cfc6}
.tiny-rule,.mini-rule{display:block;width:31px;height:1px;background:#b6a899;margin:10px 0 13px}
.craft-copy h2{font:400 28px/1.2 var(--serif);margin:0 0 17px;color:#f1ece6}
.craft-copy p{max-width:330px;font-size:11px;line-height:1.75;color:#d7d0c8;margin:0 0 19px}
.btn-small{height:36px;padding:0 20px;font-size:9px}

.site-footer{background:#f3efea;color:#171717;padding:34px 7.5vw 16px;display:grid;grid-template-columns:1.15fr .95fr .95fr 1.25fr;gap:45px;position:relative;min-height:250px}
.brand--footer{color:#111;font-size:32px;display:inline-block;margin-bottom:12px}
.footer-brand p,.footer-news p{font-size:10px;line-height:1.65;text-transform:uppercase;letter-spacing:.06em;margin:0 0 20px;color:#37332f}
.socials{display:flex;gap:18px;font-weight:600;font-size:15px}
.footer-col,.footer-news{display:flex;flex-direction:column;align-items:flex-start}
.footer-col h3,.footer-news h3{font-size:10px;text-transform:uppercase;letter-spacing:.15em;font-weight:500;margin:7px 0 16px}
.footer-col a{font-size:9px;margin:0 0 10px;color:#292521}
.footer-news p{text-transform:none;letter-spacing:0}
.newsletter-form{display:flex;width:100%;max-width:270px;height:34px;border:1px solid #b6aea6}
.newsletter-form input{flex:1;min-width:0;border:0;background:transparent;padding:0 12px;font-size:9px;outline:none}
.newsletter-form button{width:37px;border:0;background:#121212;color:#fff;font-size:18px;cursor:pointer}
.domain{margin-top:32px;align-self:flex-end;font:400 12px var(--serif);letter-spacing:.05em;color:#6a625a}
.footer-bottom{position:absolute;left:30%;bottom:16px;font-size:8px;color:#817a73;letter-spacing:.04em}

/* Product configurator */
.product-page{background:linear-gradient(90deg,#fbfaf8,#f7f6f2);min-height:100vh;color:#151515}
.product-topbar{height:86px;padding:0 3vw;display:flex;align-items:center;justify-content:space-between;position:absolute;inset:0 0 auto;z-index:10}
.brand--light-page{color:#171717;font-size:27px}
.product-topbar>span{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:#57524d}
.configurator-shell{max-width:1440px;margin:0 auto;padding:126px 3.2vw 58px;display:grid;grid-template-columns:31% 69%;position:relative}
.config-copy{padding:22px 0 0 1.5vw;position:relative;z-index:2}
.config-copy h1{font:400 clamp(58px,6vw,88px)/.96 var(--serif);letter-spacing:-.04em;margin:0 0 27px}
.config-intro{font-size:14px;line-height:1.78;color:#6e6963;margin:0 0 40px}
.mode-switch{display:grid;grid-template-columns:repeat(3,1fr);gap:0;max-width:350px;border-bottom:1px solid #d3cdc6;margin:0 0 31px}
.mode-btn{border:0;background:transparent;padding:0 5px 11px;font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:#9a938b;cursor:pointer;position:relative;white-space:nowrap}
.mode-btn.is-active{color:#171717}
.mode-btn.is-active::after{content:"";position:absolute;left:5px;right:5px;bottom:-1px;height:1px;background:#171717}
.field-group{max-width:350px;margin-bottom:42px}
.field-group label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#7b756f;margin-bottom:14px}
.line-input-wrap,.date-control,.textarea-wrap{position:relative;border-bottom:1px solid #aaa39c}
.line-input-wrap input,.date-control input,.textarea-wrap textarea{width:100%;border:0;outline:0;background:transparent;color:#111;padding:0 42px 11px 0;font-size:20px;letter-spacing:.04em;border-radius:0}
.line-input-wrap input{text-transform:none}
.counter{position:absolute;right:0;bottom:-22px;font-size:9px;color:#88817a}
.counter b{font-weight:400}
.date-control input{appearance:none;-webkit-appearance:none;padding-right:36px;font-size:18px}
.date-control input::-webkit-calendar-picker-indicator{opacity:0;position:absolute;right:0;width:30px;height:30px;cursor:pointer}
.calendar-icon{position:absolute;right:1px;bottom:10px;width:22px;height:22px;border:1px solid #8d867f;pointer-events:none}
.calendar-icon::before{content:"";position:absolute;left:-1px;right:-1px;top:5px;border-top:1px solid #8d867f}
.calendar-icon::after{content:"";position:absolute;left:5px;right:5px;top:-4px;height:6px;border-left:1px solid #8d867f;border-right:1px solid #8d867f}
.field-group small{display:block;margin-top:10px;font-size:10px;color:#89827b}
.textarea-wrap textarea{resize:none;line-height:1.25;font-family:var(--script);font-size:31px;letter-spacing:0;padding:2px 42px 10px 0;min-height:96px;caret-color:#222}
.textarea-wrap textarea::placeholder{font-family:var(--sans);font-size:12px;letter-spacing:.02em;color:#aaa29b}
.phrase-group{margin-bottom:34px}
.engraving-layer [hidden],.field-group[hidden],.idea-file[hidden]{display:none!important}
.idea-upload{max-width:350px;margin:2px 0 0;padding:18px 0 14px;border-top:1px solid #d7d1ca;border-bottom:1px solid #d7d1ca;transition:border-color .2s}
.idea-upload.is-active{border-color:#999087}
.idea-upload__top{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center}
.idea-upload h2{font:400 17px/1.2 var(--serif);margin:0 0 5px;color:#24211f}
.idea-upload p{margin:0;font-size:9px;letter-spacing:.04em;color:#8a837c}
.upload-action{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 13px;border:1px solid #aaa29a;background:transparent;font-size:8px;text-transform:uppercase;letter-spacing:.12em;cursor:pointer;transition:.2s;white-space:nowrap}
.upload-action:hover{background:#171717;color:#fff;border-color:#171717}
.idea-upload>small{display:block;margin-top:10px;font-size:8px;letter-spacing:.04em;color:#9a938c}
.idea-file{display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:center;margin-top:14px;padding-top:14px;border-top:1px solid #e2ddd7}
.idea-thumb{width:48px;height:48px;padding:4px;border:1px solid #d2ccc5;background:#f4f2ee;cursor:pointer;overflow:hidden}
.idea-thumb img{width:100%;height:100%;object-fit:contain;filter:grayscale(1)}
.idea-file__meta{min-width:0;display:flex;flex-direction:column;gap:4px}
.idea-file__meta strong{font-size:9px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.idea-file__meta span{font-size:8px;text-transform:uppercase;letter-spacing:.1em;color:#8b837b}
.idea-upload.is-active .idea-file__meta span{color:#282421}
.idea-remove{border:0;background:transparent;padding:6px 0 6px 8px;font-size:8px;text-transform:uppercase;letter-spacing:.1em;color:#817970;cursor:pointer}
.reset-personalization{margin:16px 0 0;border:0;background:transparent;padding:7px 0;color:#8a837c;font-size:8px;text-transform:uppercase;letter-spacing:.13em;cursor:pointer;display:inline-flex;align-items:center;gap:7px;transition:color .2s}
.reset-personalization span{font-size:13px;line-height:1;transform:translateY(-1px)}
.reset-personalization:hover{color:#222}
.laser-note{margin-top:38px;display:flex;align-items:flex-start;gap:15px;color:#7b746c}
.laser-note svg{width:33px;height:33px;fill:none;stroke:#8a827a;stroke-width:1;stroke-linecap:round;stroke-linejoin:round}
.laser-note p{margin:0;font-size:11px;line-height:1.65}
.laser-note strong{font-weight:400;color:#55504b}

.medal-stage{min-height:790px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;margin-top:-102px;position:relative}
.medal-visual{width:min(790px,68vw);aspect-ratio:1600/1800;position:relative;transform-origin:center;isolation:isolate}
.medal-visual>img{width:100%;height:100%;object-fit:contain;position:relative;z-index:1}
.engraving-layer{position:absolute;inset:0;width:100%;height:100%;z-index:2;overflow:visible;pointer-events:none}
.engraved{fill:#5d5752;stroke:rgba(255,255,255,.22);stroke-width:1.1;paint-order:stroke fill;filter:none;opacity:.93;mix-blend-mode:multiply}
.engraved-name{font-family:var(--script);font-size:116px;letter-spacing:0;font-weight:400;fill:#6f665e;stroke:rgba(255,255,255,.34);stroke-width:1.05}
.engraved-date{font-family:'Cormorant Garamond',Georgia,serif;font-size:56px;letter-spacing:4px;font-weight:400;fill:#5f5851;stroke:rgba(255,255,255,.30);stroke-width:.9}
.handwritten{font-family:var(--script);font-size:104px;letter-spacing:0;fill:#6f665e;stroke:rgba(255,255,255,.34);stroke-width:1.05}
.custom-engraving{opacity:.72;filter:grayscale(1) contrast(1.35);mix-blend-mode:multiply}
/* Imagem enviada pelo cliente: camada HTML independente do SVG para funcionar
   de forma consistente mesmo quando a página é aberta diretamente como ficheiro. */
.custom-preview-layer{position:absolute;left:34.8125%;top:56.2778%;width:35.625%;height:31.6667%;z-index:2;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:50%;pointer-events:none;mix-blend-mode:multiply}
.custom-preview-layer[hidden]{display:none!important}
.custom-preview-layer img{display:block;width:88%;height:88%;object-fit:contain;opacity:.82;filter:contrast(1.06);mix-blend-mode:multiply}


/* v7 — commerce area: clean luxury / Pandora-inspired, no artificial cream cards */
.commerce-showcase{
  grid-column:1/-1;
  margin-top:28px;
  padding:54px 0 0;
  border-top:1px solid #e4e4e4;
  background:#fff;
}
.commerce-panel{
  display:grid;
  grid-template-columns:minmax(390px,.84fr) minmax(520px,1.16fr);
  align-items:stretch;
  min-height:610px;
  border:1px solid #dedede;
  background:#fff;
}
.commerce-copy{
  padding:58px 58px 52px;
  display:flex;
  flex-direction:column;
  border-right:1px solid #dedede;
}
.commerce-kicker,
.faq-clean__head>span{
  display:block;
  margin-bottom:13px;
  font:500 9px/1 var(--sans);
  letter-spacing:.19em;
  text-transform:uppercase;
  color:#777;
}
.commerce-copy h2{
  margin:0;
  font:400 clamp(28px,2.25vw,36px)/1.14 var(--sans);
  letter-spacing:-.035em;
  color:#111;
}
.commerce-price-line{
  display:flex;
  align-items:flex-end;
  gap:14px;
  margin:24px 0 12px;
}
.commerce-price-line>strong{
  font:400 clamp(54px,5vw,72px)/.92 var(--sans);
  letter-spacing:-.07em;
  color:#050505;
}
.commerce-price-line>span{
  padding-bottom:7px;
  font:400 9px/1 var(--sans);
  color:#8a8a8a;
  text-transform:uppercase;
  letter-spacing:.12em;
}
.commerce-lead{
  max-width:390px;
  margin:0;
  font:400 12px/1.65 var(--sans);
  color:#555;
}
.commerce-specs{
  display:flex;
  flex-wrap:wrap;
  gap:0;
  margin:30px 0 0;
  padding:19px 0;
  border-top:1px solid #e5e5e5;
  border-bottom:1px solid #e5e5e5;
}
.commerce-specs span{
  position:relative;
  padding:0 17px;
  font:400 9px/1.35 var(--sans);
  color:#444;
  white-space:nowrap;
}
.commerce-specs span:first-child{padding-left:0}
.commerce-specs span+span::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:1px;
  height:18px;
  background:#ddd;
  transform:translateY(-50%);
}
.chain-option{
  width:100%;
  display:grid;
  grid-template-columns:18px 72px 1fr auto;
  gap:15px;
  align-items:center;
  margin:30px 0 0;
  padding:14px 0;
  border:0;
  border-top:1px solid #dedede;
  border-bottom:1px solid #dedede;
  background:#fff;
  text-align:left;
  cursor:pointer;
  transition:border-color .2s,background .2s;
}
.chain-option:hover{background:#fafafa;border-color:#bdbdbd}
.chain-option.is-selected{background:#fafafa;border-color:#111}
.addon-check{
  width:16px;
  height:16px;
  border:1px solid #9d9d9d;
  border-radius:50%;
  position:relative;
  background:#fff;
}
.chain-option.is-selected .addon-check{border-color:#111}
.chain-option.is-selected .addon-check::after{
  content:"";
  position:absolute;
  inset:3px;
  border-radius:50%;
  background:#111;
}
.chain-option__image{
  width:72px;
  height:72px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#fff;
}
.chain-option__image img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.chain-option__copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.chain-option__copy small{
  font:500 8px/1 var(--sans);
  text-transform:uppercase;
  letter-spacing:.15em;
  color:#898989;
}
.chain-option__copy strong{
  font:500 14px/1.25 var(--sans);
  letter-spacing:-.01em;
  color:#151515;
}
.chain-option__copy span{
  font:400 10px/1.2 var(--sans);
  color:#777;
}
.chain-option__price{
  text-align:right;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.chain-option__price strong{
  font:500 18px/1 var(--sans);
  letter-spacing:-.03em;
  color:#111;
}
.chain-option__price small{
  font:500 8px/1 var(--sans);
  text-transform:uppercase;
  letter-spacing:.12em;
  color:#777;
}
.commerce-cta{
  margin-top:auto;
  padding-top:34px;
}
.commerce-cta .primary-buy{
  width:100%;
  height:58px;
  border:0;
  border-radius:0;
  background:#050505;
  color:#fff;
  font:500 10px/1 var(--sans);
  letter-spacing:.18em;
  text-transform:uppercase;
  cursor:pointer;
  box-shadow:none;
  transition:background .2s;
}
.commerce-cta .primary-buy:hover{background:#242424;transform:none;box-shadow:none}
.cta-selection{
  margin-top:12px;
  font:400 9px/1.4 var(--sans);
  color:#777;
  text-align:center;
}
.secure-line{
  margin-top:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  font:500 8px/1 var(--sans);
  text-transform:uppercase;
  letter-spacing:.12em;
  color:#7b7b7b;
}
.secure-line svg{width:13px;height:13px;fill:none;stroke:#777;stroke-width:1.2}
.save-toast{min-height:20px;margin-top:9px;font:400 9px/1.4 var(--sans);color:#666;text-align:center}

.commerce-visual{
  position:relative;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:36px 34px 30px;
  overflow:hidden;
  background:#fff;
}
.commerce-visual>img{
  width:min(760px,110%);
  max-width:none;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 18px 20px rgba(0,0,0,.12));
  transform:translateX(2%);
}
.pack-caption{
  width:100%;
  max-width:590px;
  margin-top:4px;
  padding-top:18px;
  border-top:1px solid #dedede;
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:28px;
}
.pack-caption strong{
  font:400 21px/1.25 var(--serif);
  color:#171717;
}
.pack-caption span{
  flex:0 0 auto;
  font:400 9px/1.45 var(--sans);
  color:#767676;
  white-space:nowrap;
}

.product-assurance{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  margin-top:54px;
  border-top:1px solid #dedede;
  border-bottom:1px solid #dedede;
  background:#fff;
}
.product-assurance>div{
  min-height:130px;
  padding:26px 30px 25px;
}
.product-assurance>div+div{border-left:1px solid #dedede}
.product-assurance span{
  display:block;
  margin-bottom:18px;
  font:500 8px/1 var(--sans);
  color:#aaa;
  letter-spacing:.13em;
}
.product-assurance strong{
  display:block;
  margin-bottom:7px;
  font:500 13px/1.25 var(--sans);
  color:#171717;
}
.product-assurance p{
  margin:0;
  font:400 10px/1.55 var(--sans);
  color:#777;
}

.faq-clean{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:30% 70%;
  gap:0;
  padding:76px 0 52px;
  background:#fff;
}
.faq-clean__head{padding-right:52px}
.faq-clean__head h2{
  margin:0;
  font:400 27px/1.15 var(--sans);
  letter-spacing:-.035em;
  color:#151515;
}
.faq-list{border-top:1px solid #d9d9d9}
.faq-list details{border-bottom:1px solid #d9d9d9}
.faq-list summary{
  list-style:none;
  cursor:pointer;
  position:relative;
  padding:21px 44px 21px 0;
  font:500 12px/1.45 var(--sans);
  color:#202020;
}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{
  content:"+";
  position:absolute;
  right:2px;
  top:50%;
  transform:translateY(-50%);
  font:300 20px/1 var(--sans);
  color:#777;
}
.faq-list details[open] summary::after{content:"−"}
.faq-list details p{
  max-width:690px;
  margin:-3px 0 22px;
  padding-right:44px;
  font:400 10px/1.75 var(--sans);
  color:#747474;
}

@media (max-width:1050px){
  .site-header{grid-template-columns:130px 1fr 120px;padding-inline:4vw}.main-nav{gap:1.65rem}.main-nav a{font-size:9px}
  .hero-home{grid-template-columns:44% 56%}.hero-art{right:-12vw;width:80vw}
  .benefits{padding-inline:4vw}.moments{padding-inline:5vw}
  .configurator-shell{grid-template-columns:38% 62%;padding-inline:4vw}.medal-visual{width:min(700px,68vw)}.medal-stage{min-height:720px}.config-copy h1{font-size:66px}
  .commerce-panel{grid-template-columns:44% 56%;min-height:560px}.commerce-copy{padding:46px 38px 42px}.commerce-visual{padding-inline:20px}.pack-caption{gap:18px}.pack-caption span{white-space:normal;text-align:right}
}

@media (max-width:800px){
  .site-header{height:68px;grid-template-columns:1fr auto auto;padding:0 22px}.brand{font-size:25px}.menu-toggle{display:block;grid-column:2}.header-actions{grid-column:3;margin-left:12px}.header-actions .icon-button:nth-child(-n+2){display:none}
  .main-nav{position:absolute;top:68px;left:0;right:0;background:#0b0c0d;border-top:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;align-items:flex-start;gap:0;padding:12px 22px 20px;opacity:0;visibility:hidden;transform:translateY(-8px);transition:.2s}.main-nav.is-open{opacity:1;visibility:visible;transform:none}.main-nav a{width:100%;padding:13px 0;font-size:10px}
  .hero-home{min-height:720px;display:block;padding-top:68px}.hero-copy{padding:62px 24px 0;position:relative;z-index:3}.hero-copy h1{font-size:49px}.hero-copy p{font-size:10px}.hero-art{top:250px;right:-150px;width:730px;height:480px;opacity:.94}.benefits{grid-template-columns:1fr 1fr;padding:18px 12px}.benefit{padding:17px;border-bottom:1px solid var(--line-dark)}.benefit:nth-child(2){border-right:0}.benefit:nth-child(n+3){border-bottom:0}.moments{padding:34px 18px}.moments h2{font-size:18px}.moment-grid{grid-template-columns:1fr;gap:15px}.moment-image{aspect-ratio:1.7}.moment-caption strong{font-size:18px}.craft{grid-template-columns:1fr}.craft-photo{min-height:260px}.craft-copy{padding:39px 24px}.site-footer{grid-template-columns:1fr 1fr;padding:35px 24px 52px;gap:34px 20px}.footer-news{grid-column:1/-1}.footer-bottom{left:24px;bottom:16px}
  .product-topbar{height:70px;padding:0 22px}.product-topbar>span{font-size:8px;letter-spacing:.2em}.brand--light-page{font-size:24px}
  .configurator-shell{padding:96px 22px 45px;display:flex;flex-direction:column}.config-copy{padding:0}.config-copy h1{font-size:60px;margin-bottom:22px}.config-intro{font-size:13px;margin-bottom:27px}.mode-switch{max-width:none}.field-group{max-width:none}.idea-upload{max-width:none}.laser-note{margin-top:30px}
  .medal-stage{order:2;min-height:auto;margin:15px -20px 0 0}.medal-visual{width:min(720px,112vw)}
  .commerce-showcase{order:3;margin-top:22px;padding-top:32px}.commerce-panel{grid-template-columns:1fr;min-height:0}.commerce-copy{order:2;border-right:0;border-top:1px solid #dedede;padding:34px 26px 30px}.commerce-visual{order:1;min-height:410px;padding:22px 20px 24px}.commerce-visual>img{width:min(650px,120%);transform:none}.pack-caption{margin-top:0}.pack-caption strong{font-size:18px}.commerce-specs{gap:10px 0}.commerce-specs span{padding:0 12px}.chain-option{grid-template-columns:18px 62px 1fr auto}.chain-option__image{width:62px;height:62px}.commerce-cta{padding-top:28px}
  .product-assurance{order:4;grid-template-columns:1fr;margin-top:36px}.product-assurance>div{min-height:0;padding:22px 4px}.product-assurance>div+div{border-left:0;border-top:1px solid #dedede}
  .faq-clean{order:5;grid-template-columns:1fr;padding:58px 0 30px}.faq-clean__head{padding:0 0 28px}.faq-clean__head h2{font-size:24px}
}

@media (max-width:430px){
  .idea-upload__top{grid-template-columns:1fr}.upload-action{justify-self:start}
  .hero-copy h1{font-size:43px}.hero-art{right:-210px;width:735px}.benefit p{font-size:8px}.site-footer{grid-template-columns:1fr}.footer-news{grid-column:auto}.footer-bottom{position:static;grid-column:1/-1;margin-top:5px}.domain{align-self:flex-start}
  .config-copy h1{font-size:53px}.mode-switch{grid-template-columns:repeat(3,1fr)}.mode-btn{font-size:8px}.medal-visual{width:116vw;margin-left:-5vw}
  .commerce-visual{min-height:330px;padding-inline:10px}.commerce-visual>img{width:128%}.pack-caption{display:block;padding-top:14px}.pack-caption strong{display:block;font-size:17px}.pack-caption span{display:block;margin-top:7px;text-align:left;font-size:8px}.commerce-copy{padding:30px 20px 28px}.commerce-copy h2{font-size:25px}.commerce-price-line>strong{font-size:58px}.commerce-specs{display:grid;grid-template-columns:1fr;gap:10px;padding-block:16px}.commerce-specs span{padding:0}.commerce-specs span+span::before{display:none}.chain-option{grid-template-columns:16px 54px 1fr;gap:10px}.chain-option__image{width:54px;height:54px}.chain-option__price{grid-column:3;flex-direction:row;align-items:center;justify-content:space-between;text-align:left}.commerce-cta .primary-buy{font-size:9px;letter-spacing:.15em}
}

@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* v4 — field clearing + robust configurator controls */
.field-label-row{max-width:350px;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}
.field-label-row label{margin:0!important}
.clear-field{border:0;background:transparent;padding:3px 0;color:#a19a93;font-size:8px;text-transform:uppercase;letter-spacing:.12em;cursor:pointer;transition:color .2s}
.clear-field:hover,.clear-field:focus-visible{color:#222;outline:none}
.reset-personalization{border-bottom:1px solid transparent}
.reset-personalization:hover,.reset-personalization:focus-visible{border-bottom-color:#8a837c;outline:none}
.textarea-wrap textarea{min-height:116px;display:block;cursor:text;pointer-events:auto;caret-color:#171717}
@media (max-width:800px){.field-label-row{max-width:none}}

/* v8 — white canvas + lower-page spacing and FAQ refinement */
.product-page{
  background:#fff;
  color:#151515;
}
.configurator-shell{
  background:#fff;
}

/* Keep the value points editorial, not card-like. */
.product-assurance{
  grid-column:1/-1;
  width:100%;
  max-width:1180px;
  margin:110px auto 0;
  padding:0 14px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:72px;
  border:0;
  background:transparent;
}
.product-assurance>div{
  min-height:0;
  padding:0;
  position:relative;
}
.product-assurance>div+div{
  border:0;
}
.product-assurance>div::before{
  content:"";
  display:block;
  width:34px;
  height:1px;
  margin-bottom:24px;
  background:#bdbdbd;
}
.product-assurance span{
  display:block;
  margin-bottom:14px;
  font:500 8px/1 var(--sans);
  color:#a0a0a0;
  letter-spacing:.16em;
}
.product-assurance strong{
  display:block;
  margin-bottom:10px;
  font:500 14px/1.35 var(--sans);
  letter-spacing:-.012em;
  color:#171717;
}
.product-assurance p{
  max-width:290px;
  margin:0;
  font:400 11px/1.7 var(--sans);
  color:#747474;
}

/* FAQ becomes its own calm section with real breathing room. */
.faq-clean{
  grid-column:1/-1;
  width:100%;
  max-width:1120px;
  margin:142px auto 0;
  padding:0 14px 108px;
  display:block;
  background:transparent;
}
.faq-clean__head{
  max-width:620px;
  padding:0;
  margin:0 0 42px;
}
.faq-clean__head>span{
  margin-bottom:15px;
  font:500 9px/1 var(--sans);
  letter-spacing:.19em;
  text-transform:uppercase;
  color:#8b8b8b;
}
.faq-clean__head h2{
  margin:0;
  font:400 clamp(28px,2.2vw,34px)/1.15 var(--sans);
  letter-spacing:-.035em;
  color:#151515;
}
.faq-list{
  width:100%;
  border-top:1px solid #d8d8d8;
}
.faq-list details{
  border-bottom:1px solid #d8d8d8;
}
.faq-list summary{
  list-style:none;
  cursor:pointer;
  position:relative;
  padding:27px 58px 27px 0;
  font:500 14px/1.45 var(--sans);
  letter-spacing:-.012em;
  color:#202020;
}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{
  content:"+";
  position:absolute;
  right:3px;
  top:50%;
  transform:translateY(-50%);
  font:300 23px/1 var(--sans);
  color:#747474;
}
.faq-list details[open] summary::after{content:"−"}
.faq-list details p{
  max-width:780px;
  margin:-5px 0 28px;
  padding:0 58px 0 0;
  font:400 11.5px/1.78 var(--sans);
  color:#6f6f6f;
}

@media (max-width:800px){
  .product-page,.configurator-shell{background:#fff}
  .product-assurance{
    order:4;
    grid-template-columns:1fr;
    gap:42px;
    margin-top:76px;
    padding:0;
  }
  .product-assurance>div{padding:0}
  .product-assurance>div+div{border:0}
  .product-assurance>div::before{margin-bottom:18px}
  .faq-clean{
    order:5;
    margin-top:92px;
    padding:0 0 70px;
  }
  .faq-clean__head{margin-bottom:30px}
  .faq-clean__head h2{font-size:26px}
  .faq-list summary{padding:23px 46px 23px 0;font-size:13px}
  .faq-list details p{padding-right:40px;margin-bottom:24px;font-size:11px}
}


/* v10 — frase: seletor tipográfico visível e premium */
.phrase-style{
  max-width:350px;
  margin:2px 0 20px;
  padding:0 0 14px;
  border-bottom:1px solid #dedede;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.phrase-style__label{
  font:400 8px/1 var(--sans);
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#7e7e7e;
  white-space:nowrap;
}
.phrase-style__options{
  display:flex;
  align-items:center;
  gap:8px;
}
.phrase-style-btn{
  position:relative;
  min-width:78px;
  height:32px;
  border:1px solid #d6d6d6;
  background:#fff;
  padding:0 12px;
  color:#6e6e6e;
  cursor:pointer;
  transition:border-color .2s ease,color .2s ease,background .2s ease;
}
.phrase-style-btn--script{
  font-family:"Pinyon Script","Snell Roundhand",cursive;
  font-size:18px;
  line-height:1;
}
.phrase-style-btn--classic{
  font-family:"Cormorant Garamond","Times New Roman",serif;
  font-size:15px;
  line-height:1;
}
.phrase-style-btn:hover,
.phrase-style-btn:focus-visible{
  border-color:#8b8b8b;
  color:#171717;
  outline:none;
}
.phrase-style-btn.is-active{
  border-color:#171717;
  color:#171717;
  background:#fff;
}
.phrase-style-btn.is-active::after{
  content:"";
  position:absolute;
  left:10px;
  right:10px;
  bottom:-1px;
  height:1px;
  background:#171717;
}
.phrase-classic{
  font-family:"Cormorant Garamond","Times New Roman",serif;
  font-weight:400;
  fill:#5f5954;
  stroke:rgba(255,255,255,.22);
  stroke-width:1.05;
}
@media (max-width:800px){
  .phrase-style{max-width:none}
  .phrase-style-btn{min-width:74px}
}

/* Inputs preserve the exact capitalisation typed by the customer. */
.product-page input,.product-page textarea{text-transform:none}

/* 40.7.17 — Safari: unresolved SVG filter references can suppress engraving text. Keep engraving text filter-free. */
