:root {
  --black: #050505;
  --ink: #111111;
  --muted: #656565;
  --line: #d9d9d9;
  --paper: #f3f3f1;
  --white: #ffffff;
  --shell: 1240px;
  --radius: 24px;
  --font: 'Gelasio', Georgia, 'Times New Roman', serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
main section[id] { scroll-margin-top: 96px; }
body {
  margin: 0;
  background: var(--white);
  color: var(--ink);
  font-family: var(--font);
  font-size: 17px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img { max-width: 100%; display: block; height: auto; object-fit: contain; }
a { color: inherit; }
button, input { font: inherit; }
button { cursor: pointer; }
::selection { background: #111; color: #fff; }

.shell { width: min(calc(100% - 48px), var(--shell)); margin-inline: auto; }
.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; }
.skip-link { position: fixed; z-index: 999; top: 10px; left: 10px; transform: translateY(-150%); background: #fff; color: #000; padding: 10px 14px; border: 1px solid #000; }
.skip-link:focus { transform: translateY(0); }

.site-header {
  position: sticky; top: 0; z-index: 100;
  background: rgba(255,255,255,.94);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(0,0,0,.09);
}
.header-inner { height: 78px; display: grid; grid-template-columns: 180px 1fr auto; align-items: center; gap: 28px; }
.brand { display: inline-flex; width: 152px; text-decoration: none; }
.brand img { width: 100%; height: auto; }
.main-nav { display: flex; justify-content: center; gap: 30px; }
.main-nav a { text-decoration: none; font-size: 14px; color: #333; position: relative; }
.main-nav a::after { content: ''; position: absolute; left: 0; right: 100%; bottom: -4px; height: 1px; background: #000; transition: right .25s ease; }
.main-nav a:hover::after, .main-nav a:focus-visible::after { right: 0; }
.main-nav .nav-contact { display: none; }
.menu-toggle { display: none; border: 0; background: none; padding: 8px; }
.menu-toggle span:not(.sr-only) { display: block; width: 24px; height: 1px; background: #000; margin: 6px 0; }

.button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 22px; border-radius: 999px; text-decoration: none; border: 1px solid transparent; font-size: 14px; font-weight: 600; transition: transform .2s ease, background .2s ease, color .2s ease; }
.button:hover { transform: translateY(-1px); }
.button-dark { background: #000; color: #fff; border-color: #000; }
.button-dark:hover { background: #202020; }
.button-light { background: #fff; color: #000; border-color: #fff; }
.button-light:hover { background: #ececec; }
.button-full { width: 100%; }
.text-link { display: inline-flex; gap: 8px; align-items: center; text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 3px; font-size: 14px; }
.light-link { color: #fff; }

.eyebrow { margin: 0 0 16px; font-size: 12px; line-height: 1.2; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }

.hero { background-color: var(--black); background-image: linear-gradient(90deg, rgba(0,0,0,.94) 0%, rgba(0,0,0,.84) 42%, rgba(0,0,0,.48) 72%, rgba(0,0,0,.38) 100%), url('/assets/hero-preserva.jpg'); background-size: cover; background-position: center; color: #fff; min-height: 850px; overflow: hidden; position: relative; }
.hero-inner { min-height: 850px; position: relative; padding-top: 120px; padding-bottom: 70px; display:flex; flex-direction:column; justify-content:center; }
.hero-copy { max-width: 780px; position: relative; z-index: 5; }
.hero h1 { margin: 0; max-width: 780px; font-size: clamp(64px, 7vw, 108px); line-height: .94; letter-spacing: -.048em; font-weight: 400; text-wrap:balance; }
.hero-lede { max-width: 650px; margin: 30px 0 0; font-size: clamp(18px, 1.7vw, 23px); line-height: 1.5; color: #e2e2e2; text-shadow:0 1px 18px rgba(0,0,0,.35); }
.hero-actions { display: flex; align-items: center; gap: 28px; margin-top: 38px; flex-wrap: wrap; }
.hero-assurances { position: relative; z-index: 6; margin-top: 72px; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); border-top: 1px solid #353535; border-bottom: 1px solid #353535; max-width: 900px; }
.hero-assurances > div { padding: 20px 24px 22px 0; display: grid; grid-template-columns: 36px 1fr; column-gap: 8px; align-items: baseline; }
.hero-assurances > div + div { border-left: 1px solid #353535; padding-left: 24px; }
.hero-assurances span { color: #777; font-size: 11px; }
.hero-assurances strong { font-size: 15px; font-weight: 500; }
.hero-assurances small { grid-column: 2; color: #8e8e8e; font-size: 12px; line-height: 1.35; }

.hero-art { position: absolute; width: 570px; height: 430px; right: -35px; bottom: -45px; opacity: .9; }
.archive-label { position: absolute; right: 30px; top: 0; width: 260px; display: flex; justify-content: space-between; font-size: 8px; letter-spacing: .12em; color: #999; border-top: 1px solid #444; padding-top: 8px; }
.disc { position: absolute; border: 1px solid #777; border-radius: 50%; background: radial-gradient(circle at center, transparent 0 12%, #0a0a0a 12.3% 17%, transparent 17.3% 49%, rgba(255,255,255,.08) 49.3% 50%, transparent 50.3%); box-shadow: inset 0 0 0 1px #1b1b1b; }
.disc::before { content:''; position:absolute; inset: 6%; border-radius:50%; border:1px solid #2a2a2a; }
.disc i { position:absolute; inset: 22%; border-radius:50%; border:1px dashed #2f2f2f; }
.disc-back { width: 330px; height:330px; right: 165px; top: 95px; transform: rotate(-12deg); }
.disc-mid { width: 310px; height:310px; right: 55px; top: 105px; transform: rotate(9deg); }
.disc-front { width: 290px; height:290px; right: 105px; top: 145px; background-color:#f5f5f5; border-color:#aaa; box-shadow: 0 35px 80px rgba(0,0,0,.45); }
.disc-front::before { border-color:#bbb; }
.file-card { position:absolute; width:145px; height:92px; background:#fff; color:#000; border-radius:4px; padding:12px; box-shadow:0 18px 50px rgba(0,0,0,.4); display:grid; grid-template-columns:26px 1fr; align-content:start; font-size:10px; }
.file-card b { font-size:10px; font-weight:500; }
.file-card span { font-size:13px; }
.file-card small { grid-column:2; color:#777; }
.file-card-a { right: 360px; top: 205px; transform: rotate(-8deg); }
.file-card-b { right: 10px; top: 235px; transform: rotate(7deg); }

.section { padding: 120px 0; }
.section-white { background: #fff; }
.section-paper { background: var(--paper); }
.section-black { background: #050505; color: #fff; }
.section-heading { margin-bottom: 70px; }
.split-heading { display:block; max-width:980px; }
.split-heading h2, .center-heading h2, .quote-copy h2, .faq-heading h2, .closing-section h2 { margin: 0; font-size: clamp(44px, 5.2vw, 76px); line-height: 1.02; letter-spacing: -.045em; font-weight: 400; }
.split-heading > div > p { max-width: 780px; margin: 28px 0 0; font-size: 20px; color: #555; }
.inverse > div > p { color:#aaa; }
.center-heading { text-align: center; max-width: 850px; margin: 0 auto 70px; }
.center-heading > p:last-child { max-width: 660px; margin: 24px auto 0; color: #646464; font-size: 19px; }
.center-heading.narrow { max-width: 720px; }

.risk-grid { display:grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.risk-card { min-height: 500px; border: 1px solid #dedede; border-radius: var(--radius); padding: 22px; background:#fafafa; display:flex; flex-direction:column; }
.risk-card h3 { font-size: 29px; line-height:1.08; font-weight:400; margin: 12px 0; letter-spacing:-.025em; }
.risk-card > p:last-child { color:#666; margin:0; }
.card-index { font-size:11px; color:#777; margin:20px 0 0; }
.risk-visual { height: 220px; border-radius: 16px; background:#fff; border:1px solid #e5e5e5; position:relative; overflow:hidden; margin-bottom:18px; }
.scratches::before { content:''; position:absolute; width:160px; height:160px; border:1px solid #111; border-radius:50%; left:50%; top:50%; transform:translate(-50%,-50%); box-shadow:inset 0 0 0 30px #fff, inset 0 0 0 31px #bbb, inset 0 0 0 57px #fff, inset 0 0 0 58px #ddd; }
.scratches span { position:absolute; height:1px; background:#666; transform-origin:left; }
.scratches span:nth-child(1){ width:110px; left:33%; top:41%; transform:rotate(17deg); }
.scratches span:nth-child(2){ width:140px; left:37%; top:55%; transform:rotate(-23deg); }
.scratches span:nth-child(3){ width:88px; left:42%; top:64%; transform:rotate(36deg); }
.obsolete .slot { position:absolute; left:12%; right:12%; height:20px; border:1px solid #111; border-radius:2px; top:47%; }
.obsolete .slot::after { content:'OPTICAL DRIVE'; position:absolute; top:34px; left:0; font-size:8px; letter-spacing:.1em; color:#888; }
.obsolete .eject { position:absolute; right:13%; top:62%; font-size:11px; }
.one-copy { display:grid; place-items:center; }
.mini-disc { width:138px; height:138px; border:1px solid #111; border-radius:50%; box-shadow:inset 0 0 0 22px #fff, inset 0 0 0 23px #999, inset 0 0 0 53px #fff, inset 0 0 0 54px #ddd; }
.one-copy span { position:absolute; bottom:15px; font-size:8px; letter-spacing:.18em; }

.steps { display:grid; grid-template-columns: repeat(4,1fr); border-top:1px solid #bbb; }
.step { padding:28px 28px 0 0; min-height:270px; position:relative; }
.step + .step { border-left:1px solid #bbb; padding-left:28px; }
.step-number { font-size:11px; color:#777; }
.step h3 { margin:44px 0 12px; font-size:25px; line-height:1.12; font-weight:400; }
.step p { margin:0; color:#666; font-size:15px; }

.format-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.format-card { background:#111; border:1px solid #303030; border-radius:var(--radius); padding:34px; min-height:600px; display:flex; flex-direction:column; }
.format-card h3 { margin:0; font-size:42px; font-weight:400; line-height:1.05; letter-spacing:-.035em; }
.format-lede { color:#aaa; max-width:550px; margin:20px 0 34px; }
.format-icon { height:250px; background:#080808; border:1px solid #272727; border-radius:18px; display:grid; place-items:center; margin-bottom:32px; position:relative; overflow:hidden; }
.format-icon::before { content:''; width:180px; height:180px; border:1px solid #777; border-radius:50%; box-shadow:inset 0 0 0 34px #080808, inset 0 0 0 35px #484848, inset 0 0 0 70px #080808, inset 0 0 0 71px #242424; }
.format-icon span { position:absolute; z-index:2; font-size:12px; letter-spacing:.2em; }
.format-icon i { position:absolute; width:18px; height:18px; background:#111; border:1px solid #666; border-radius:50%; }
.cd-icon::before { border-style:dashed; }
.spec-list { list-style:none; margin:0; padding:0; border-top:1px solid #303030; }
.spec-list li { display:grid; grid-template-columns: 1fr 1.35fr; gap:24px; border-bottom:1px solid #303030; padding:15px 0; font-size:13px; }
.spec-list span { color:#777; }
.spec-list strong { font-weight:400; }
.format-details { margin-top:auto; border-bottom:0; }
.format-details summary { list-style:none; cursor:pointer; padding:17px 0; border-top:1px solid #303030; border-bottom:1px solid #303030; display:flex; align-items:center; justify-content:space-between; gap:20px; color:#e7e7e7; font-size:14px; }
.format-details summary::-webkit-details-marker { display:none; }
.format-details summary span { transition:transform .2s ease; color:#777; font-size:20px; line-height:1; }
.format-details[open] summary span { transform:rotate(45deg); }
.format-details[open] .spec-list { border-top:0; }
.precision-strip { margin-top:20px; border:1px solid #303030; border-radius:999px; min-height:68px; padding:15px 24px; display:flex; align-items:center; justify-content:center; gap:15px; flex-wrap:wrap; color:#bbb; font-size:14px; }
.precision-strip p { margin:0; }
.precision-strip span { color:#555; }

.process-board { border:1px solid #d4d4d4; border-radius:var(--radius); padding:70px 50px; display:grid; grid-template-columns:repeat(6,1fr); position:relative; overflow:hidden; }
.process-line { position:absolute; height:1px; background:#aaa; left:8%; right:8%; top:103px; }
.process-point { position:relative; z-index:2; text-align:center; display:flex; flex-direction:column; align-items:center; }
.process-point b { width:68px; height:68px; border-radius:50%; display:grid; place-items:center; background:#fff; border:1px solid #111; font-size:12px; font-weight:400; }
.process-point span { margin-top:22px; font-size:17px; }
.process-point small { color:#777; font-size:11px; }

.privacy-section { background:#000; color:#fff; overflow:hidden; }
.privacy-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:70px; align-items:center; min-height:740px; padding-top:100px; padding-bottom:100px; }
.privacy-copy h2 { font-size:clamp(54px,6vw,92px); line-height:.98; letter-spacing:-.05em; font-weight:400; margin:0; }
.privacy-copy > p:not(.eyebrow) { color:#b8b8b8; max-width:650px; font-size:19px; }
.privacy-note { border-top:1px solid #333; padding-top:24px; margin-top:32px; }
.privacy-note strong { color:#fff; font-weight:500; }
.privacy-visual { min-height:480px; display:grid; place-items:center; }
.vault { width:min(430px,90vw); aspect-ratio:1; border-radius:50%; border:1px solid #3b3b3b; display:grid; place-items:center; position:relative; box-shadow:inset 0 0 0 32px #070707, inset 0 0 0 33px #222, inset 0 0 0 74px #050505; }
.vault-ring { width:55%; aspect-ratio:1; border:1px solid #777; border-radius:50%; display:grid; place-items:center; }
.vault-ring-inner { width:48%; aspect-ratio:1; border:1px solid #aaa; border-radius:50%; display:grid; place-items:center; }
.vault-ring-inner span { font-size:54px; }
.vault-label { position:absolute; bottom:13%; font-size:8px; letter-spacing:.14em; text-align:center; color:#777; }

.delivery-section { background:#fff; padding:110px 0; border-bottom:1px solid #dedede; }
.delivery-inner { display:grid; grid-template-columns:.85fr 1.15fr; gap:70px; align-items:start; }
.delivery-heading { position:sticky; top:125px; }
.delivery-heading > span { display:block; margin-bottom:20px; font-size:11px; text-transform:uppercase; letter-spacing:.12em; color:#777; }
.delivery-heading h2 { margin:0; font-size:clamp(52px,6vw,86px); line-height:.98; letter-spacing:-.05em; font-weight:400; }
.delivery-heading p { max-width:560px; margin:28px 0 0; color:#5f5f5f; font-size:19px; }
.delivery-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.delivery-card { min-height:430px; background:#050505; color:#fff; border-radius:var(--radius); padding:34px; display:flex; flex-direction:column; justify-content:space-between; position:relative; overflow:hidden; }
.delivery-card span { color:#777; font-size:11px; }
.delivery-card h3 { margin:auto 0 20px; font-size:clamp(42px,4vw,62px); line-height:1; letter-spacing:-.045em; font-weight:400; }
.delivery-card p { margin:0; color:#b8b8b8; font-size:16px; }
.delivery-icon { width:150px; height:118px; align-self:flex-end; margin-top:-10px; margin-bottom:42px; position:relative; color:#fff; opacity:.78; flex:0 0 auto; }
.download-icon::before { content:''; position:absolute; left:72px; top:8px; width:2px; height:70px; background:#9a9a9a; }
.download-icon::after { content:''; position:absolute; left:53px; top:54px; width:40px; height:40px; border-right:2px solid #9a9a9a; border-bottom:2px solid #9a9a9a; transform:rotate(45deg); border-radius:2px; }
.download-icon i { position:absolute; left:22px; right:22px; bottom:4px; height:40px; border:2px solid #9a9a9a; border-top:0; border-radius:0 0 12px 12px; }
.pendrive-icon::before { content:''; position:absolute; left:24px; right:22px; top:35px; height:52px; border:1px solid #9a9a9a; border-radius:12px; background:#050505; }
.pendrive-icon::after { content:''; position:absolute; right:0; top:47px; width:34px; height:28px; border:1px solid #9a9a9a; border-left:0; border-radius:0 6px 6px 0; }
.pendrive-icon i:first-child { position:absolute; left:44px; top:50px; width:28px; height:22px; border:1px solid #777; border-radius:4px; }
.pendrive-icon i:last-child { position:absolute; right:9px; top:55px; width:10px; height:18px; border-top:1px solid #777; border-bottom:1px solid #777; }

.pricing-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; max-width:1000px; margin:0 auto; }
.price-card { background:#fff; border:1px solid #d9d9d9; border-radius:var(--radius); padding:32px; }
.price-top { display:flex; justify-content:space-between; font-size:15px; }
.media-dot { font-size:22px; line-height:1; }
.price { font-size:72px; line-height:1; margin:54px 0 8px; letter-spacing:-.06em; }
.price small { font-size:22px; vertical-align:top; margin-right:5px; letter-spacing:0; }
.price span { font-size:14px; letter-spacing:0; margin-left:8px; color:#777; }
.price-caption { color:#777; font-size:13px; margin:0 0 28px; }
.volume-price { border-top:1px solid #ddd; border-bottom:1px solid #ddd; display:flex; justify-content:space-between; gap:20px; padding:16px 0; font-size:13px; }
.volume-price strong { font-weight:500; }
.price-card ul { list-style:none; margin:28px 0 0; padding:0; }
.price-card li { position:relative; padding-left:20px; margin:10px 0; color:#555; font-size:14px; }
.price-card li::before { content:'✓'; position:absolute; left:0; color:#000; }
.refund-banner { max-width:1000px; margin:20px auto 0; background:#000; color:#fff; border-radius:var(--radius); padding:36px; display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:end; }
.refund-banner h3 { font-size:38px; font-weight:400; letter-spacing:-.03em; line-height:1.05; margin:0; }
.refund-banner > p { margin:0; color:#bbb; }
.refund-banner strong { color:#fff; font-weight:500; }

.quote-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start; }
.quote-copy { position:sticky; top:125px; }
.quote-copy > p:last-child { color:#666; max-width:520px; font-size:18px; }
.quote-card { border:1px solid #d6d6d6; border-radius:var(--radius); padding:32px; background:#fafafa; }
.field-row { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:20px 0; border-bottom:1px solid #ddd; }
.field-row label { font-size:18px; }
.counter { display:grid; grid-template-columns:44px 60px 44px; border:1px solid #bbb; border-radius:999px; overflow:hidden; background:#fff; }
.counter button { border:0; background:#fff; font-size:18px; height:42px; }
.counter button:hover { background:#eee; }
.counter input { width:60px; border:0; text-align:center; appearance:textfield; background:#fff; outline:none; }
.counter input::-webkit-outer-spin-button,.counter input::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
.estimate { margin:32px 0; padding:28px; background:#000; color:#fff; border-radius:18px; display:grid; }
.estimate > span { font-size:11px; text-transform:uppercase; letter-spacing:.12em; color:#aaa; }
.estimate strong { font-size:52px; font-weight:400; letter-spacing:-.04em; line-height:1.1; margin:8px 0; }
.estimate small { color:#aaa; }
.form-note { color:#777; font-size:11px; text-align:center; line-height:1.5; margin:14px 0 0; }
.form-note strong { color:#444; }

.faq-shell { display:grid; grid-template-columns:.8fr 1.2fr; gap:80px; }
.faq-heading { position:sticky; top:125px; align-self:start; }
.faq-heading h2 { font-size:clamp(42px,4.3vw,64px); }
.faq-heading > p:last-child { color:#666; max-width:470px; }
.faq-list { border-top:1px solid #bdbdbd; }
details { border-bottom:1px solid #bdbdbd; }
summary { list-style:none; cursor:pointer; padding:24px 0; display:flex; justify-content:space-between; gap:20px; font-size:18px; line-height:1.3; }
summary::-webkit-details-marker { display:none; }
summary span { transition:transform .2s ease; font-size:22px; font-weight:300; }
details[open] summary span { transform:rotate(45deg); }
.faq-answer { padding:0 44px 24px 0; color:#666; max-width:720px; }
.faq-answer p { margin:0; }

.closing-section { background:#000; color:#fff; }
.closing-inner { min-height:560px; padding:100px 0; display:grid; grid-template-columns:1fr; align-items:center; }
.closing-section h2 { font-size:clamp(58px,7vw,100px); }
.closing-section p:not(.eyebrow) { color:#aaa; max-width:650px; font-size:19px; margin:28px 0 32px; }

.site-footer { background:#fff; }
.footer-top { padding:70px 0; display:grid; grid-template-columns:1.5fr repeat(3,1fr); gap:50px; }
.footer-brand img { width:180px; height:auto; aspect-ratio:900 / 161; object-fit:contain; }
.footer-brand p { color:#777; font-size:13px; }
.footer-column { display:flex; flex-direction:column; align-items:flex-start; gap:8px; font-size:13px; }
.footer-column strong { margin-bottom:8px; font-size:11px; text-transform:uppercase; letter-spacing:.1em; }
.footer-column a { text-decoration:none; color:#555; }
.footer-column a:hover { text-decoration:underline; }
.footer-column span, .footer-column small { color:#777; }
.footer-column small { max-width:180px; line-height:1.4; }
.footer-bottom { border-top:1px solid #ddd; padding:18px 0 28px; display:flex; justify-content:space-between; gap:20px; font-size:10px; text-transform:uppercase; letter-spacing:.08em; color:#777; }
.footer-signature a { color:#555; text-decoration:none; }
.footer-signature a:hover { text-decoration:underline; }

.legal-page { min-height:100vh; background:#f6f6f4; }
.legal-header { border-bottom:1px solid #ddd; background:#fff; }
.legal-header .shell { height:78px; display:flex; align-items:center; justify-content:space-between; }
.legal-header img { width:150px; height:auto; aspect-ratio:900 / 161; object-fit:contain; }
.legal-header a { font-size:13px; text-decoration:none; }
.legal-main { max-width:850px; margin:0 auto; padding:90px 24px 120px; }
.legal-main h1 { font-size:clamp(48px,7vw,84px); font-weight:400; letter-spacing:-.045em; line-height:1; margin:0 0 30px; }
.legal-main h2 { margin:48px 0 10px; font-size:28px; font-weight:400; }
.legal-main p, .legal-main li { color:#555; }
.legal-main .updated { font-size:12px; text-transform:uppercase; letter-spacing:.1em; color:#777; }

.reveal { opacity:0; transform:translateY(14px); transition:opacity .65s ease, transform .65s ease; }
.reveal.is-visible { opacity:1; transform:none; }

@media (max-width: 1050px) {
  .header-inner { grid-template-columns:160px 1fr auto; }
  .main-nav { gap:18px; }
  .main-nav a { font-size:12px; }
  .risk-grid { grid-template-columns:1fr; }
  .risk-card { min-height:0; display:grid; grid-template-columns: .8fr 1.2fr; column-gap:28px; }
  .risk-visual { grid-row:1 / span 4; height:280px; margin:0; }
  .steps { grid-template-columns:1fr 1fr; border-left:1px solid #bbb; }
  .step { padding:28px; border-bottom:1px solid #bbb; }
  .step + .step { border-left:0; }
  .step:nth-child(even) { border-left:1px solid #bbb; }
  .format-card { padding:24px; }
  .process-board { grid-template-columns:repeat(3,1fr); row-gap:50px; }
  .process-line { display:none; }
  .privacy-grid { grid-template-columns:1fr 1fr; gap:30px; }
  .delivery-inner { grid-template-columns:1fr; gap:40px; }
  .delivery-heading { position:static; }
  .faq-shell { grid-template-columns:1fr; gap:50px; }
  .faq-heading { position:static; }
  .footer-top { grid-template-columns:1fr 1fr; }
}

@media (max-width: 820px) {
  .shell { width:min(calc(100% - 32px), var(--shell)); }
  .site-header { backdrop-filter:none; }
  .header-inner { height:70px; grid-template-columns:1fr auto; }
  .brand { width:132px; }
  .header-cta { display:none; }
  .menu-toggle { display:block; z-index:3; }
  .main-nav { position:absolute; top:69px; left:0; right:0; padding:22px 16px 28px; background:#fff; border-bottom:1px solid #ccc; display:none; flex-direction:column; align-items:stretch; gap:0; }
  .main-nav.is-open { display:flex; }
  .main-nav a { padding:14px 8px; font-size:16px; border-bottom:1px solid #eee; }
  .hero, .hero-inner { min-height:780px; }
  .hero-inner { padding-top:85px; padding-bottom:60px; }
  .hero h1 { font-size:clamp(54px,14vw,82px); }
  .hero-lede { font-size:18px; }
  .hero-assurances { grid-template-columns:1fr; max-width:430px; margin-top:52px; }
  .hero-assurances > div + div { border-left:0; border-top:1px solid #353535; padding-left:0; }
  .section { padding:85px 0; }
  .split-heading { grid-template-columns:1fr; gap:20px; }
  .split-heading > div > p { font-size:17px; }
  .risk-card { display:block; }
  .risk-visual { height:220px; margin-bottom:18px; }
  .format-grid, .pricing-grid, .quote-grid, .privacy-grid, .closing-inner { grid-template-columns:1fr; }
  .delivery-section { padding:85px 0; }
  .delivery-grid { grid-template-columns:1fr; }
  .delivery-card { min-height:310px; }
  .format-card { min-height:auto; }
  .privacy-grid { min-height:0; padding:85px 0; }
  .privacy-visual { min-height:380px; }
  .process-board { grid-template-columns:1fr 1fr; padding:40px 20px; }
  .refund-banner { grid-template-columns:1fr; gap:20px; }
  .quote-copy { position:static; }
  .faq-shell { gap:35px; }
  .closing-inner { min-height:0; gap:20px; }
  .footer-top { grid-template-columns:1fr 1fr; }
}

@media (max-width: 560px) {
  body { font-size:16px; }
  .shell { width:min(calc(100% - 24px), var(--shell)); }
  .hero, .hero-inner { min-height:720px; }
  .hero-inner { padding-top:72px; padding-bottom:54px; }
  .hero h1 { font-size:52px; }
  .hero-actions { align-items:flex-start; flex-direction:column; }
  .button { width:100%; }
  .hero-assurances { margin-top:42px; }
  .split-heading h2, .center-heading h2, .quote-copy h2, .faq-heading h2 { font-size:42px; }
  .center-heading { text-align:left; margin-bottom:45px; }
  .center-heading > p:last-child { margin-left:0; }
  .steps { grid-template-columns:1fr; border:1px solid #bbb; }
  .step, .step + .step, .step:nth-child(even) { border-left:0; padding:24px; }
  .step:last-child { border-bottom:0; }
  .format-card h3 { font-size:36px; }
  .format-icon { height:210px; }
  .spec-list li { grid-template-columns:1fr; gap:2px; }
  .precision-strip { border-radius:20px; justify-content:flex-start; }
  .precision-strip span { display:none; }
  .process-board { grid-template-columns:1fr; gap:0; padding:0 24px; }
  .process-point { min-height:130px; display:grid; grid-template-columns:68px 1fr; text-align:left; column-gap:18px; border-bottom:1px solid #ddd; align-content:center; }
  .process-point:last-child { border-bottom:0; }
  .process-point b { grid-row:1 / span 2; }
  .process-point span { margin:0; }
  .process-point small { align-self:start; }
  .privacy-copy h2 { font-size:48px; }
  .privacy-visual { min-height:300px; }
  .delivery-heading h2 { font-size:48px; }
  .delivery-heading p { font-size:17px; }
  .delivery-card { min-height:270px; padding:26px; }
  .vault { width:300px; }
  .price { font-size:62px; }
  .volume-price { flex-direction:column; gap:2px; }
  .quote-card { padding:20px; }
  .field-row { align-items:flex-start; flex-direction:column; }
  .counter { width:100%; grid-template-columns:1fr 70px 1fr; }
  .counter input { width:70px; }
  .estimate strong { font-size:44px; }
  summary { font-size:16px; }
  .closing-section h2 { font-size:54px; }
  .footer-top { grid-template-columns:1fr; gap:35px; }
  .footer-bottom { flex-direction:column; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { transition:none !important; animation:none !important; }
  .reveal { opacity:1; transform:none; }
}

.hero-art { display:none !important; }

.section-heading h2, .center-heading h2, .quote-copy h2, .faq-heading h2 { text-wrap:balance; }

.closing-simple { max-width:980px; margin:0 auto; }
.closing-simple > div { max-width:900px; }

.summary-section { background:#fff; padding:70px 0 80px; border-bottom:1px solid #e3e3e3; }
.summary-heading { display:grid; grid-template-columns:.9fr 1.1fr; gap:70px; align-items:end; margin-bottom:34px; }
.summary-heading h2 { margin:0; font-size:clamp(34px,3.6vw,54px); line-height:1.02; letter-spacing:-.04em; font-weight:400; }
.summary-heading p { margin:0; color:#626262; max-width:650px; font-size:18px; }
.summary-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #cfcfcf; border-bottom:1px solid #cfcfcf; }
.summary-card { padding:26px 24px 28px 0; min-height:220px; }
.summary-card + .summary-card { border-left:1px solid #cfcfcf; padding-left:24px; }
.summary-card span { display:block; color:#777; font-size:11px; text-transform:uppercase; letter-spacing:.12em; margin-bottom:32px; }
.summary-card h3 { margin:0 0 12px; font-size:27px; line-height:1.08; letter-spacing:-.025em; font-weight:400; }
.summary-card p { margin:0; color:#606060; font-size:14px; line-height:1.5; }

.care-proof { margin-top:70px; border:1px solid #bdbdbd; border-radius:var(--radius); padding:34px; display:grid; grid-template-columns:.85fr 1.15fr; gap:50px; background:#f8f8f6; }
.proof-kicker { display:block; margin-bottom:18px; font-size:11px; text-transform:uppercase; letter-spacing:.12em; color:#777; }
.care-proof h3 { margin:0; font-size:clamp(32px,3.3vw,48px); line-height:1.04; letter-spacing:-.035em; font-weight:400; }
.care-proof ul { list-style:none; margin:0; padding:0; border-top:1px solid #d2d2d2; }
.care-proof li { display:grid; grid-template-columns:.75fr 1fr; gap:24px; padding:18px 0; border-bottom:1px solid #d2d2d2; }
.care-proof strong { font-weight:500; }
.care-proof span { color:#666; font-size:14px; line-height:1.45; }


.contact-section { background:#0a0a0a; color:#fff; padding:100px 0; border-top:1px solid #222; border-bottom:1px solid #222; }
.contact-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:80px; align-items:center; }
.contact-copy h2 { margin:0; max-width:760px; font-size:clamp(48px,5.8vw,82px); line-height:1; letter-spacing:-.045em; font-weight:400; }
.contact-copy > p { max-width:680px; margin:28px 0 38px; color:#bdbdbd; font-size:19px; }
.contact-details { display:grid; gap:18px; max-width:680px; }
.contact-detail { display:grid; grid-template-columns:44px 1fr; gap:14px; align-items:start; padding-top:18px; border-top:1px solid #2e2e2e; }
.contact-icon { width:38px; height:38px; border:1px solid #555; border-radius:50%; display:grid; place-items:center; font-size:17px; }
.contact-detail strong { display:block; font-weight:500; font-size:17px; }
.contact-detail small { display:block; color:#999; margin-top:3px; line-height:1.45; }
.contact-card { background:#fff; color:#000; border-radius:var(--radius); padding:38px; display:flex; flex-direction:column; align-items:flex-start; }
.whatsapp-mark { width:84px; height:84px; margin-bottom:28px; }
.whatsapp-mark svg { width:100%; height:100%; }
.contact-card > span { color:#777; font-size:12px; text-transform:uppercase; letter-spacing:.1em; }
.contact-phone { margin:8px 0 28px; color:#000; font-size:clamp(28px,3vw,42px); line-height:1.1; letter-spacing:-.035em; text-decoration:none; border-bottom:1px solid #bbb; }
.contact-location-note { margin:-10px 0 26px; color:#666; font-size:14px; line-height:1.45; }
.contact-card > small { color:#777; line-height:1.45; margin-top:16px; }

.mobile-contact-bar { display:none; }

.contact-modal[hidden] { display:none; }
.contact-modal { position:fixed; inset:0; z-index:1000; display:grid; place-items:center; padding:24px; }
.contact-modal-backdrop { position:absolute; inset:0; background:rgba(0,0,0,.74); backdrop-filter:blur(8px); }
.contact-modal-dialog { position:relative; z-index:1; width:min(100%,520px); max-height:calc(100vh - 48px); overflow:auto; background:#fff; color:#111; border:1px solid #d8d8d8; border-radius:24px; padding:38px; box-shadow:0 30px 100px rgba(0,0,0,.35); }
.modal-close { position:absolute; top:18px; right:18px; width:38px; height:38px; border:1px solid #d0d0d0; background:#fff; border-radius:50%; font-size:24px; line-height:1; }
.modal-logo { width:150px; height:auto; margin-bottom:42px; }
.contact-modal h2 { margin:0; font-size:42px; line-height:1; letter-spacing:-.04em; font-weight:400; }
.contact-modal-dialog > p { color:#666; margin:18px 0 28px; }
#contact-form { display:grid; gap:10px; }
#contact-form label { font-size:13px; font-weight:600; margin-top:8px; }
#contact-form input:not([type="hidden"]) { width:100%; height:52px; border:1px solid #bbb; border-radius:12px; padding:0 14px; outline:none; background:#fff; color:#111; }
#contact-form input:focus { border-color:#111; box-shadow:0 0 0 2px rgba(0,0,0,.08); }
#contact-form .button { margin-top:14px; }
#contact-form > small { color:#777; line-height:1.45; text-align:center; margin-top:2px; }
.modal-fallback { margin:6px 0 0; color:#666; font-size:13px; line-height:1.45; text-align:center; }
.modal-fallback a { color:#111; }
.modal-fallback button { border:0; background:none; color:#111; text-decoration:underline; padding:0; }
.honeypot { position:absolute !important; left:-10000px !important; opacity:0 !important; pointer-events:none !important; width:1px !important; height:1px !important; }
.modal-status { min-height:22px; margin:8px 0 0; font-size:13px; text-align:center; color:#555; }
.modal-status.is-error { color:#700; }
.modal-status.is-success { color:#111; }
body.modal-open { overflow:hidden; }
body.modal-open .mobile-contact-bar { display:none; }
body.menu-open .mobile-contact-bar { display:none; }

@media (max-width: 820px) {
  body:not(.legal-page) { padding-bottom:76px; }
  .main-nav .nav-contact { display:flex; width:100%; margin-top:18px; }
  .mobile-contact-bar { display:block; position:fixed; left:0; right:0; bottom:0; z-index:90; padding:10px 16px calc(10px + env(safe-area-inset-bottom)); background:rgba(255,255,255,.96); border-top:1px solid #ddd; box-shadow:0 -10px 30px rgba(0,0,0,.08); }
  .summary-section { padding:58px 0 64px; }
  .summary-heading { grid-template-columns:1fr; gap:18px; align-items:start; }
  .summary-grid { grid-template-columns:1fr 1fr; }
  .summary-card { min-height:0; }
  .summary-card:nth-child(3) { border-left:0; padding-left:0; border-top:1px solid #cfcfcf; }
  .summary-card:nth-child(4) { border-top:1px solid #cfcfcf; }
  .care-proof { grid-template-columns:1fr; gap:32px; }
  .contact-grid { grid-template-columns:1fr; gap:45px; }
  .contact-card { padding:28px; }
}

@media (max-width: 560px) {
  .summary-heading h2 { font-size:40px; }
  .summary-grid { grid-template-columns:1fr; }
  .summary-card, .summary-card + .summary-card, .summary-card:nth-child(3), .summary-card:nth-child(4) { padding:22px 0; border-left:0; border-top:1px solid #cfcfcf; }
  .summary-card:first-child { border-top:0; }
  .summary-card span { margin-bottom:18px; }
  .care-proof { padding:24px; margin-top:45px; }
  .care-proof li { grid-template-columns:1fr; gap:4px; }
  .contact-section { padding:78px 0; }
  .contact-copy h2 { font-size:46px; }
  .contact-card { padding:24px; }
  .contact-phone { font-size:30px; }
  .contact-modal { padding:12px; }
  .contact-modal-dialog { padding:28px 20px 22px; border-radius:20px; }
  .contact-modal h2 { font-size:36px; }
  .modal-logo { width:125px; margin-bottom:34px; }
}

@media (max-width:820px) {
  .hero { background-image:linear-gradient(90deg, rgba(0,0,0,.94) 0%, rgba(0,0,0,.82) 62%, rgba(0,0,0,.55) 100%), url('/assets/hero-preserva.jpg'); background-position:62% center; }
}
@media (max-width:560px) {
  .hero { background-image:linear-gradient(90deg, rgba(0,0,0,.92) 0%, rgba(0,0,0,.78) 100%), url('/assets/hero-preserva.jpg'); background-position:58% center; }
  .hero-assurances { background:rgba(0,0,0,.18); }
}
