:root {
  --navy:#29285f; --navy-dark:#1b1b3b; --ink:#252731; --muted:#6e6d70;
  --ivory:#f4f0e8; --paper:#fbfaf7; --white:#fff; --rose:#bf91a5;
  --sage:#72805b; --line:rgba(41,40,95,.18); --line-light:rgba(255,255,255,.18);
  --display:'Cormorant Garamond',Georgia,serif; --sans:'Manrope',Arial,sans-serif;
  --section:clamp(96px,10vw,156px);
  color-scheme:light dark;
}

html { box-sizing:border-box; scroll-behavior:smooth; scroll-padding-top:88px; }
*,*::before,*::after { box-sizing:inherit; }
body { margin:0; min-height:100vh; overflow-x:hidden; background:var(--paper); color:var(--ink); font-family:var(--sans); font-size:15px; line-height:1.7; }
img { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
button,input,textarea { font:inherit; }
:focus-visible { outline:2px solid var(--sage); outline-offset:5px; }
.container { width:min(1220px,calc(100% - 64px)); margin-inline:auto; }
.section { padding:var(--section) 0; }
.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:100; top:12px; left:12px; transform:translateY(-160%); padding:10px 16px; background:var(--paper); color:var(--navy); border:1px solid var(--navy); font-weight:700; }
.skip-link:focus { transform:translateY(0); }

.site-header { position:sticky; z-index:50; top:0; background:rgba(251,250,247,.94); border-bottom:1px solid transparent; backdrop-filter:blur(16px); transition:border-color .25s ease,box-shadow .25s ease; }
.site-header.is-scrolled { border-color:var(--line); box-shadow:0 8px 28px rgba(24,24,52,.05); }
.header-inner { min-height:88px; display:flex; align-items:center; justify-content:space-between; gap:34px; }
.brand { display:flex; align-items:center; gap:13px; color:var(--navy); font:600 1.7rem/1 var(--display); letter-spacing:.01em; }
.brand img { width:50px; height:50px; object-fit:contain; }
.site-nav { display:flex; align-items:center; gap:30px; color:#42424f; font-size:.71rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.site-nav>a:not(.button) { position:relative; padding-block:9px; }
.site-nav>a:not(.button)::after { content:''; position:absolute; left:0; bottom:2px; width:100%; height:1px; background:var(--navy); transform:scaleX(0); transform-origin:right; transition:transform .25s ease; }
.site-nav>a:hover::after,.site-nav>a:focus-visible::after { transform:scaleX(1); transform-origin:left; }
.menu-button { display:none; width:46px; height:46px; padding:10px; border:1px solid var(--line); background:transparent; cursor:pointer; }
.menu-button span:not(.sr-only) { display:block; width:22px; height:1px; margin:6px auto; background:var(--navy); transition:.2s ease; }
.menu-button[aria-expanded="true"] span:nth-child(2) { transform:translateY(7px) rotate(45deg); }
.menu-button[aria-expanded="true"] span:nth-child(3) { opacity:0; }
.menu-button[aria-expanded="true"] span:nth-child(4) { transform:translateY(-7px) rotate(-45deg); }

.button { display:inline-flex; align-items:center; justify-content:center; gap:14px; min-height:52px; padding:0 26px; border:1px solid var(--navy); border-radius:2px; background:var(--navy); color:#fff; font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; transition:background .22s ease,color .22s ease,transform .22s ease; }
.button:hover { transform:translateY(-2px); background:transparent; color:var(--navy); }
.button:active { transform:translateY(0); }
.button-small { min-height:43px; padding-inline:19px; }
.button-green { border-color:var(--ivory); background:var(--ivory); color:var(--navy); }
.button-green:hover { background:transparent; color:var(--ivory); }
.text-link { padding:12px 0 8px; color:var(--navy); border-bottom:1px solid var(--navy); font-size:.75rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.eyebrow { display:flex; align-items:center; gap:13px; margin:0 0 23px; color:var(--sage); font-size:.68rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
.eyebrow::before { content:''; width:36px; height:1px; background:currentColor; }

.hero { position:relative; overflow:hidden; min-height:760px; padding:74px 0 94px; background:var(--ivory); }
.hero::before { content:'1984'; position:absolute; left:-14px; bottom:-58px; color:rgba(41,40,95,.035); font:600 clamp(12rem,28vw,28rem)/.7 var(--display); letter-spacing:-.08em; }
.hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,.92fr) minmax(480px,1.08fr); align-items:center; min-height:590px; gap:clamp(70px,9vw,128px); }
.hero-copy { padding-top:26px; }
.hero h1 { max-width:620px; margin:0; color:var(--navy); font:500 clamp(3.65rem,5vw,5.15rem)/1.04 var(--display); letter-spacing:-.042em; }
.hero h1 span { display:block; white-space:nowrap; }
.hero-text { max-width:540px; margin:28px 0 0; color:#5f5d5e; font-size:1rem; line-height:1.75; }
.hero-actions { display:flex; align-items:center; gap:30px; margin-top:38px; }
.hero-proof { display:flex; align-items:center; gap:18px; margin-top:56px; color:#706f72; font-size:.78rem; letter-spacing:.02em; }
.hero-proof strong { color:var(--navy); font:600 1.65rem var(--display); }
.hero-proof span { max-width:220px; padding-left:18px; border-left:1px solid var(--line); }
.hero-visual { position:relative; min-height:590px; }
.hero-orbit { position:absolute; inset:0 3% 5% 11%; border:1px solid rgba(41,40,95,.24); transform:translate(18px,-18px); }
.hero-image { position:absolute; overflow:hidden; margin:0; background:#e9e3da; }
.hero-image img { width:100%; height:100%; object-fit:cover; }
.hero-image-main { width:86%; height:560px; top:16px; right:3%; }
.hero-image-main img { object-position:center 42%; }
.hero-product-tag { position:absolute; z-index:2; top:28.7%; right:16%; width:15px; height:7px; border-radius:1px; border-left:2px solid #c93069; background:linear-gradient(95deg,#dc3d76,#ed5a91); box-shadow:0 1px 1px rgba(69,24,43,.2),inset 0 1px rgba(255,255,255,.18); transform:rotate(4deg) skewX(-4deg); transform-origin:left center; }
.hero-product-tag::after { content:''; position:absolute; left:4px; top:2px; width:6px; height:1px; background:rgba(255,255,255,.9); box-shadow:0 2px rgba(255,255,255,.48); }
.hero-image-small { width:156px; height:184px; left:0; bottom:-12px; border:10px solid var(--ivory); }
.hero-image-small img { object-position:center; }
.hero-seal { position:absolute; right:-5px; bottom:-3px; width:210px; min-height:112px; display:flex; flex-direction:column; justify-content:center; padding:20px 24px; border:1px solid var(--line); background:var(--paper); color:var(--navy); }
.hero-seal span { font-size:.58rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.hero-seal strong { margin:3px 0; font:600 1.25rem var(--display); }

.benefits { background:var(--navy); color:#fff; }
.benefits-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.benefit { display:grid; grid-template-columns:auto 1fr; gap:18px; min-height:170px; padding:42px 30px; border-right:1px solid var(--line-light); }
.benefit:first-child { border-left:1px solid var(--line-light); }
.benefit>span { color:#c8b2bc; font:500 1.35rem var(--display); }
.benefit h3 { margin:0 0 7px; color:#fff; font:600 1.3rem var(--display); }
.benefit p { margin:0; color:rgba(255,255,255,.62); font-size:.76rem; line-height:1.65; }

.section-heading { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr); align-items:end; gap:80px; margin-bottom:64px; }
.section-heading>div { max-width:760px; }
.section-heading h2,.about-copy h2,.contact-card h2 { margin:0; color:var(--navy); font:500 clamp(3.25rem,5vw,5.2rem)/.92 var(--display); letter-spacing:-.045em; }
.section-heading>p { max-width:430px; margin:0 0 3px; color:var(--muted); font-size:.92rem; line-height:1.85; }

.products { background:var(--paper); }
.product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; }
.product-card { min-width:0; }
.product-media { position:relative; overflow:hidden; aspect-ratio:.8/1; background:#eee8df; }
.product-media-blue { background:#e8eaf0; }
.product-media img { width:100%; height:100%; object-fit:cover; transition:transform .55s cubic-bezier(.2,.7,.2,1); }
.product-card:hover .product-media img { transform:scale(1.025); }
.product-collage { isolation:isolate; background:#f4efe8; }
.product-collage-main { position:absolute; inset:0; }
.product-collage-adult .product-collage-main { width:76%; object-position:center top; }
.product-crop-caption { height:123%!important; }
.product-collage-thumb { position:absolute; z-index:2; right:12px; width:31%!important; height:29%!important; border:5px solid var(--paper); background:#fff; object-fit:cover!important; }
.product-thumb-top { top:12px; }
.product-thumb-bottom { bottom:12px; }
.product-collage-kids .product-collage-main { object-fit:contain; padding:25px 28px 42%; background:#fff; }
.product-collage-kids-detail { position:absolute; z-index:2; left:12%; right:12%; bottom:14px; width:76%!important; height:39%!important; border:5px solid var(--paper); background:#fff; object-fit:contain!important; }
.product-card:hover .product-collage-thumb,.product-card:hover .product-collage-kids-detail { transform:translateY(-3px); }
.product-model .product-model-main { object-position:center 38%; }
.product-model::before { content:''; position:absolute; z-index:3; top:28.6%; right:15.8%; width:12px; height:6px; border-left:2px solid #c93069; border-radius:1px; background:linear-gradient(95deg,#dc3d76,#ed5a91); box-shadow:0 1px 1px rgba(69,24,43,.18); transform:rotate(4deg) skewX(-4deg); }
.product-model .product-model-detail { position:absolute; right:14px; bottom:14px; width:76px; height:90px; border:5px solid var(--paper); object-position:center 45%; }
.product-card:hover .product-model .product-model-detail { transform:translateY(-3px); }
.product-copy { position:relative; min-height:245px; padding:24px 0 0; border-top:1px solid transparent; }
.product-copy::before { content:''; position:absolute; top:0; left:0; width:48px; height:1px; background:var(--navy); transition:width .3s ease; }
.product-card:hover .product-copy::before { width:100%; }
.product-copy>span { color:var(--sage); font-size:.61rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.product-copy h3 { min-height:56px; margin:13px 0 10px; color:var(--navy); font:600 1.6rem/1.05 var(--display); }
.product-copy p { margin:0; color:var(--muted); font-size:.79rem; line-height:1.7; }
.product-copy a { display:inline-block; margin-top:22px; color:var(--navy); border-bottom:1px solid var(--line); font-size:.67rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.product-cta { display:flex; align-items:center; justify-content:space-between; gap:36px; margin-top:58px; padding:34px 38px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.product-cta p { margin:0; color:var(--muted); }
.product-cta strong { color:var(--navy); font:600 1.35rem var(--display); }

.about { background:var(--ivory); }
.about-grid { display:grid; grid-template-columns:1.08fr .92fr; align-items:center; gap:clamp(70px,9vw,130px); }
.about-media { position:relative; padding:0 0 32px 32px; }
.about-media::before { content:''; position:absolute; inset:32px 30% 0 0; border-left:1px solid var(--line); border-bottom:1px solid var(--line); }
.about-media img { position:relative; z-index:1; width:100%; min-height:540px; object-fit:cover; filter:saturate(.84) contrast(1.02); }
.about-badge { position:absolute; z-index:2; right:-32px; bottom:0; width:190px; padding:24px 26px; background:var(--navy); color:#fff; }
.about-badge strong { display:block; font:500 3rem/.8 var(--display); }
.about-badge span { display:block; margin-top:10px; color:rgba(255,255,255,.67); font-size:.65rem; letter-spacing:.08em; text-transform:uppercase; }
.about-copy>p:not(.eyebrow) { margin:27px 0 0; color:var(--muted); font-size:.91rem; line-height:1.9; }
.about-values { display:grid; grid-template-columns:1fr 1fr; gap:28px; margin-top:44px; padding-top:28px; border-top:1px solid var(--line); }
.about-values div { display:grid; }
.about-values strong { color:var(--navy); font:600 1.35rem var(--display); }
.about-values span { color:var(--muted); font-size:.7rem; letter-spacing:.06em; text-transform:uppercase; }

.making { background:var(--navy-dark); }
.section-heading.light h2,.section-heading.light>p { color:#fff; }
.section-heading.light .eyebrow { color:#c7b4bd; }
.section-heading.light>p { color:rgba(255,255,255,.6); }
.making-grid { display:grid; grid-template-columns:1.3fr .85fr; grid-template-rows:285px 285px; gap:18px; }
.making-photo { position:relative; overflow:hidden; margin:0; background:#0f1024; }
.making-photo-large { grid-row:1/3; }
.making-photo img { width:100%; height:100%; object-fit:cover; opacity:.82; filter:saturate(.78); transition:transform .55s ease,filter .35s ease,opacity .35s ease; }
.making-photo:last-child img { object-position:center 48%; }
.making-photo:hover img { transform:scale(1.025); filter:saturate(.95); opacity:.95; }
.making-photo::after { content:''; position:absolute; inset:52% 0 0; background:linear-gradient(transparent,rgba(10,10,30,.82)); }
.making-photo figcaption { position:absolute; z-index:2; left:26px; right:26px; bottom:22px; color:#fff; font:500 1.15rem var(--display); }

.contact-section { padding:var(--section) 0; background:var(--paper); }
.contact-card { position:relative; display:grid; grid-template-columns:1.25fr .75fr; align-items:center; gap:70px; padding:clamp(54px,7vw,88px); background:var(--navy); color:#fff; }
.contact-card::before { content:''; position:absolute; inset:18px; border:1px solid var(--line-light); pointer-events:none; }
.contact-card>div,.contact-card>.button { position:relative; z-index:1; }
.contact-card .eyebrow { color:#c7b4bd; }
.contact-card h2 { color:#fff; font-size:clamp(3.1rem,5.4vw,5rem); }
.contact-card p:last-child { max-width:650px; margin:20px 0 0; color:rgba(255,255,255,.64); font-size:.9rem; }
.contact-card .button { justify-self:end; }

.site-footer { padding:82px 0 24px; background:#14152c; color:#fff; }
.footer-grid { display:grid; grid-template-columns:1.45fr 1fr 1.25fr .7fr; gap:58px; }
.brand-light { color:#fff; }
.brand-light img { padding:3px; background:#fff; }
.footer-brand>p { max-width:320px; margin:24px 0; color:rgba(255,255,255,.58); font-size:.8rem; }
.footer-whatsapp { display:inline-block; padding-bottom:4px; border-bottom:1px solid rgba(255,255,255,.35); font-size:.69rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.footer-grid h2 { margin:10px 0 22px; color:#c7b4bd; font-size:.62rem; letter-spacing:.17em; text-transform:uppercase; }
.footer-grid ul { display:grid; gap:11px; margin:0; padding:0; list-style:none; color:rgba(255,255,255,.62); font-size:.78rem; }
.footer-grid address { color:rgba(255,255,255,.62); font-size:.78rem; font-style:normal; line-height:1.9; }
.footer-grid a:hover { color:#fff; }
.footer-bottom { display:flex; justify-content:space-between; gap:30px; margin-top:64px; padding-top:23px; border-top:1px solid rgba(255,255,255,.12); color:rgba(255,255,255,.4); font-size:.66rem; letter-spacing:.04em; text-transform:uppercase; }
.footer-bottom p { margin:0; }

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

@media (prefers-color-scheme:dark) {
  :root {
    --ink:#efedf2;
    --muted:#b8b5bd;
    --ivory:#191923;
    --paper:#101018;
    --white:#f8f6f1;
    --sage:#a9b889;
    --rose:#d2a5b8;
    --line:rgba(224,221,240,.18);
  }
  body { background:var(--paper); color:var(--ink); }
  .site-header { background:rgba(16,16,24,.92); }
  .site-header.is-scrolled { box-shadow:0 8px 30px rgba(0,0,0,.3); }
  .brand,.site-nav,.text-link,.hero h1,.hero-proof strong,.hero-seal,
  .section-heading h2,.about-copy h2,.product-copy h3,.product-copy a,
  .product-cta strong,.about-values strong { color:#dedbf5; }
  .brand img { padding:2px; border-radius:3px; background:#f8f6f1; object-fit:contain; }
  .site-nav>a:not(.button)::after,.menu-button span:not(.sr-only),
  .product-copy::before { background:#aaa5dd; }
  .site-nav { background:transparent; }
  .hero-text,.hero-proof { color:#c1bec6; }
  .hero::before { color:rgba(213,209,242,.035); }
  .hero-orbit { border-color:rgba(213,209,242,.25); }
  .hero-image-small { border-color:var(--ivory); }
  .hero-seal { background:#20202c; }
  .button { border-color:#7d77c9; background:#716bbd; color:#fff; }
  .button:hover { background:transparent; color:#dedbf5; }
  .button-green { border-color:#e8e3da; background:#e8e3da; color:#24234f; }
  .button-green:hover { background:transparent; color:#fff; }
  .text-link { border-color:#aaa5dd; }
  .benefits { background:#24234f; }
  .products,.contact-section { background:var(--paper); }
  .product-media { background:#24232c; }
  .product-media-blue { background:#252735; }
  .product-collage { background:#24232c; }
  .product-collage-thumb,.product-collage-kids-detail { border-color:#292832; }
  .product-copy>span { color:#b8c792; }
  .about { background:var(--ivory); }
  .about-media img,.making-photo img { filter:saturate(.72) brightness(.88) contrast(1.04); }
  .about-badge,.contact-card { background:#29285f; }
  .making { background:#0b0b13; }
  .contact-card::before { border-color:rgba(255,255,255,.22); }
  .site-footer { background:#08080f; }
  .skip-link { background:#20202c; color:#fff; border-color:#aaa5dd; }
  :focus-visible { outline-color:#c4d09e; }
}

@media (max-width:1080px) {
  .product-grid { grid-template-columns:repeat(2,1fr); gap:54px 26px; }
  .product-copy { min-height:210px; }
  .product-copy h3 { min-height:auto; }
  .footer-grid { grid-template-columns:1.4fr 1fr 1.2fr; }
  .footer-grid>div:last-child { display:none; }
}

@media (max-width:920px) {
  .container { width:min(100% - 40px,1220px); }
  .site-nav { position:absolute; top:87px; left:20px; right:20px; display:none; align-items:stretch; padding:24px; border:1px solid var(--line); background:var(--paper); box-shadow:0 18px 60px rgba(24,24,52,.13); }
  .site-nav.is-open { display:grid; gap:7px; }
  .site-nav>a:not(.button) { padding:12px 8px; }
  .menu-button { display:block; }
  .hero { min-height:auto; padding:72px 0 90px; }
  .hero-grid { grid-template-columns:1fr; gap:70px; }
  .hero-copy { max-width:680px; text-align:left; }
  .hero h1 { max-width:620px; font-size:clamp(3.45rem,7.8vw,4.5rem); line-height:1.045; }
  .hero-visual { width:min(680px,100%); margin-inline:auto; }
  .benefits-grid { grid-template-columns:1fr 1fr; }
  .benefit:nth-child(2) { border-right:0; }
  .benefit:nth-child(-n+2) { border-bottom:1px solid var(--line-light); }
  .section-heading { grid-template-columns:1fr; gap:24px; }
  .about-grid { grid-template-columns:1fr; }
  .about-media { width:min(700px,94%); }
  .about-copy { max-width:700px; }
  .making-grid { grid-template-columns:1fr 1fr; grid-template-rows:450px 260px; }
  .making-photo-large { grid-column:1/3; grid-row:auto; }
  .contact-card { grid-template-columns:1fr; gap:40px; }
  .contact-card .button { justify-self:start; }
  .footer-grid { grid-template-columns:1.4fr 1fr; }
}

@media (max-width:640px) {
  :root { --section:84px; }
  .container { width:min(100% - 28px,1220px); }
  .header-inner { min-height:78px; }
  .brand { font-size:1.5rem; }
  .brand img { width:44px; height:44px; }
  .site-nav { top:77px; left:14px; right:14px; }
  .hero { padding:58px 0 74px; }
  .hero h1 { max-width:none; font-size:clamp(2.65rem,12vw,3.55rem); line-height:1.06; letter-spacing:-.038em; }
  .hero-text { max-width:34rem; margin-top:24px; font-size:.92rem; line-height:1.7; }
  .hero-actions { align-items:stretch; flex-direction:column; gap:10px; }
  .hero-actions .button { width:100%; }
  .hero-actions .text-link { align-self:center; }
  .hero-proof { margin-top:38px; }
  .hero-visual { min-height:480px; }
  .hero-image-main { width:91%; height:440px; right:0; top:0; }
  .hero-image-small { width:118px; height:138px; bottom:2px; }
  .hero-seal { right:0; bottom:-34px; width:180px; min-height:96px; padding:17px 19px; }
  .hero-seal strong { font-size:1.05rem; }
  .benefits-grid { grid-template-columns:1fr; }
  .benefit,.benefit:first-child { min-height:auto; padding:27px 22px; border-left:0; border-right:0; border-bottom:1px solid var(--line-light); }
  .benefit:last-child { border-bottom:0; }
  .section-heading { margin-bottom:42px; }
  .section-heading h2,.about-copy h2,.contact-card h2 { font-size:3.25rem; }
  .product-grid { grid-template-columns:1fr; gap:55px; }
  .product-media { aspect-ratio:.9/1; }
  .product-copy { min-height:auto; }
  .product-copy h3 { font-size:1.85rem; }
  .product-cta { align-items:flex-start; flex-direction:column; padding:30px 0; }
  .product-cta .button { width:100%; }
  .about-media { width:calc(100% - 12px); padding:0 0 24px 18px; }
  .about-media img { min-height:390px; }
  .about-badge { right:-12px; width:156px; padding:20px; }
  .about-badge strong { font-size:2.5rem; }
  .about-values { gap:18px; }
  .making-grid { grid-template-columns:1fr; grid-template-rows:350px 250px 300px; }
  .making-photo-large { grid-column:auto; }
  .making-photo:last-child img { object-position:center 44%; }
  .contact-card { padding:50px 28px; }
  .contact-card::before { inset:10px; }
  .contact-card .button { width:100%; }
  .footer-grid { grid-template-columns:1fr; gap:36px; }
  .footer-grid>div:last-child { display:block; }
  .footer-bottom { flex-direction:column; gap:8px; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; }
}
