.newsletter-honeypot{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0;pointer-events:none}.newsletter-btn:disabled,.newsletter-input:disabled{opacity:.7;cursor:wait}.newsletter-feedback.is-error{background:hsla(0,100%,96%,.22)}.newsletter-consent{display:block;margin-top:.15rem;opacity:.85}.newsletter-modal-overlay{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:1rem;background:rgba(48,43,42,.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:newsletter-fade-in var(--transition-smooth)}.newsletter-modal{position:relative;width:100%;max-width:440px;max-height:calc(100vh - 2rem);overflow-y:auto;background:var(--color-marfim);color:var(--color-text-main);border-radius:var(--radius-lg);box-shadow:0 24px 60px -12px rgba(48,43,42,.35);padding:2rem 1.75rem 1.5rem;animation:newsletter-rise-in var(--transition-smooth)}.newsletter-modal-close{position:absolute;top:.85rem;right:.85rem;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-pill);background:transparent;color:var(--color-text-muted);cursor:pointer;transition:background var(--transition-fast)}.newsletter-modal-close:hover{background:var(--color-primary-soft);color:var(--color-primary)}.newsletter-modal-kicker{display:inline-block;font-family:var(--font-sans);font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-oliva-dark);background:var(--color-oliva-soft);padding:.25rem .7rem;border-radius:var(--radius-pill);margin-bottom:.9rem}.newsletter-modal-title{font-family:var(--font-serif);font-size:clamp(1.45rem,4vw,1.75rem);font-weight:600;line-height:1.2;color:var(--color-primary-dark);margin:0 0 .5rem;padding-right:1.5rem}.newsletter-modal-desc{font-size:.92rem;line-height:1.55;color:var(--color-text-muted);margin:0 0 1.25rem}.newsletter-modal-form{display:flex;flex-direction:column}.newsletter-modal-label{font-size:.82rem;font-weight:600;color:var(--color-text-main);margin-bottom:.35rem}.newsletter-modal-input{width:100%;padding:.7rem .95rem;margin-bottom:1rem;font-family:var(--font-sans);font-size:.95rem;color:var(--color-text-main);background:var(--color-white);border:1px solid var(--color-bege-border);border-radius:var(--radius-sm);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.newsletter-modal-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.newsletter-modal-error{font-size:.84rem;color:#9b2335;background:rgba(155,35,53,.08);padding:.5rem .75rem;border-radius:var(--radius-sm);margin:-.25rem 0 1rem}.newsletter-modal-actions{display:flex;gap:.6rem;justify-content:flex-end;flex-wrap:wrap}.newsletter-modal-skip,.newsletter-modal-submit{font-family:var(--font-sans);font-size:.88rem;font-weight:500;padding:.65rem 1.35rem;border-radius:var(--radius-pill);cursor:pointer;transition:all var(--transition-fast)}.newsletter-modal-skip{background:transparent;color:var(--color-text-muted);border:1px solid var(--color-bege-border)}.newsletter-modal-skip:hover{border-color:var(--color-text-muted);color:var(--color-text-main)}.newsletter-modal-submit{background:var(--color-primary);color:var(--color-white);border:none}.newsletter-modal-submit:hover:not(:disabled){background:var(--color-primary-dark)}.newsletter-modal-submit:disabled{opacity:.7;cursor:wait}.newsletter-modal-note{font-size:.74rem;line-height:1.5;color:var(--color-text-subtle);margin:1rem 0 0;text-align:center}@media (max-width:480px){.newsletter-modal{padding:1.75rem 1.25rem 1.25rem}.newsletter-modal-actions>button{flex:1 1}}@keyframes newsletter-fade-in{0%{opacity:0}to{opacity:1}}@keyframes newsletter-rise-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.newsletter-modal,.newsletter-modal-overlay{animation:none}}.legal-page{background:var(--color-marfim);padding:clamp(2.5rem,6vw,4.5rem) 0 var(--section-padding-y)}.legal-container{max-width:820px}.legal-header{margin-bottom:2rem}.legal-kicker{display:inline-block;font-size:.74rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-oliva-dark);background:var(--color-oliva-soft);padding:.25rem .75rem;border-radius:var(--radius-pill);margin-bottom:.9rem}.legal-title{font-family:var(--font-serif);font-size:clamp(2.1rem,5vw,3rem);font-weight:600;line-height:1.1;color:var(--color-primary-dark);margin:0 0 .5rem}.legal-updated{font-size:.88rem;color:var(--color-text-subtle);margin:0}.legal-toc{background:var(--color-white);border:1px solid var(--color-bege-border);border-radius:var(--radius-md);padding:1.25rem 1.5rem;margin-bottom:2.5rem}.legal-toc ol{margin:0;padding-left:1.2rem;columns:260px 2;column-gap:2rem}.legal-toc li{font-size:.9rem;line-height:1.5;margin-bottom:.35rem;page-break-inside:avoid;break-inside:avoid}.legal-toc a{color:var(--color-primary);text-decoration:none}.legal-toc a:hover{text-decoration:underline}.legal-content{color:var(--color-text-main);font-size:1rem;line-height:1.7}.legal-content section{scroll-margin-top:calc(var(--header-height) + 1rem);margin-bottom:2.5rem}.legal-intro{font-size:1.06rem;color:var(--color-text-muted);margin-bottom:2.5rem}.legal-content h2{font-family:var(--font-serif);font-size:clamp(1.5rem,3vw,1.85rem);font-weight:600;color:var(--color-primary-dark);margin:0 0 .9rem;padding-top:1.5rem;border-top:1px solid var(--color-bege-border)}.legal-content h3{font-size:1.02rem;font-weight:600;color:var(--color-text-main);margin:1.5rem 0 .5rem}.legal-content p{margin:0 0 1rem}.legal-content ul{margin:0 0 1rem;padding-left:1.25rem}.legal-content li{margin-bottom:.45rem}.legal-content a{color:var(--color-primary);text-underline-offset:3px}.legal-content code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82em;background:var(--color-bege-light);padding:.1em .4em;border-radius:var(--radius-xs);white-space:nowrap}.legal-callout{background:var(--color-primary-soft);border-left:3px solid var(--color-primary);border-radius:var(--radius-sm);padding:1rem 1.25rem;margin:1.5rem 0 0;font-size:.95rem}.legal-table-wrap{overflow-x:auto;margin:0 0 1.25rem;border:1px solid var(--color-bege-border);border-radius:var(--radius-md);background:var(--color-white)}.legal-table{width:100%;min-width:560px;border-collapse:collapse;font-size:.9rem;line-height:1.5}.legal-table td,.legal-table th{text-align:left;vertical-align:top;padding:.75rem 1rem;border-bottom:1px solid var(--color-bege-light)}.legal-table th{background:var(--color-bege-light);font-weight:600;color:var(--color-primary-dark)}.legal-table tr:last-child td{border-bottom:none}.legal-cookie-btn{font-family:var(--font-sans);font-size:.9rem;font-weight:500;color:var(--color-white);background:var(--color-primary);border:none;border-radius:var(--radius-pill);padding:.6rem 1.3rem;cursor:pointer;transition:background var(--transition-fast)}.legal-cookie-btn:hover{background:var(--color-primary-dark)}.cookie-consent-policy-link{color:var(--color-primary);text-decoration:underline;text-underline-offset:2px}.newsletter-policy-link{color:inherit;text-decoration:underline;text-underline-offset:2px}.privacy-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(28,14,18,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:99999;display:flex;align-items:center;justify-content:center;padding:clamp(.75rem,2.5vw,2rem);opacity:0;visibility:hidden;transition:opacity .28s ease,visibility .28s ease}.privacy-modal-overlay.is-open{opacity:1;visibility:visible}.privacy-modal-card{background:#faf7f2;border:1px solid hsla(34,28%,80%,.9);border-radius:clamp(16px,2.2vw,22px);width:100%;max-width:860px;max-height:88vh;display:flex;flex-direction:column;box-shadow:0 24px 64px rgba(45,10,18,.35),0 4px 16px rgba(0,0,0,.15);transform:translateY(14px) scale(.98);transition:transform .28s cubic-bezier(.16,1,.3,1);overflow:hidden}.privacy-modal-overlay.is-open .privacy-modal-card{transform:translateY(0) scale(1)}.privacy-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem clamp(1.2rem,3vw,2rem);border-bottom:1px solid hsla(34,28%,80%,.65);background:#faf5ee;flex-shrink:0}.privacy-modal-header-info{display:flex;flex-direction:column;gap:.25rem}.privacy-modal-header-info .legal-kicker{margin-bottom:0}.privacy-modal-title{font-family:var(--font-serif,"Cormorant Garamond",serif);font-size:clamp(1.4rem,2.2vw,1.85rem);font-weight:600;color:#491b2a;margin:0;line-height:1.2}.privacy-modal-close-btn{background:rgba(73,27,42,.08);border:none;border-radius:50%;width:38px;height:38px;display:flex;align-items:center;justify-content:center;color:#491b2a;cursor:pointer;transition:background-color .2s ease,transform .2s ease,color .2s ease;flex-shrink:0;padding:0}.privacy-modal-close-btn:hover{background:#491b2a;color:#faf7f2;transform:scale(1.05)}.privacy-modal-body{overflow-y:auto;padding:clamp(1.2rem,3vw,2rem);flex-grow:1;-webkit-overflow-scrolling:touch}.privacy-modal-body::-webkit-scrollbar{width:7px}.privacy-modal-body::-webkit-scrollbar-track{background:hsla(34,28%,80%,.25)}.privacy-modal-body::-webkit-scrollbar-thumb{background:rgba(73,27,42,.25);border-radius:4px}.privacy-modal-body::-webkit-scrollbar-thumb:hover{background:rgba(73,27,42,.45)}.privacy-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:1rem;padding:.9rem clamp(1.2rem,3vw,2rem);border-top:1px solid hsla(34,28%,80%,.65);background:#faf5ee;flex-shrink:0}.privacy-modal-btn-close{background-color:#491b2a;color:#faf7f2;border:none;border-radius:9999px;padding:.6rem 1.6rem;font-family:var(--font-sans,"DM Sans",sans-serif);font-size:.88rem;font-weight:600;cursor:pointer;transition:background-color .2s ease,transform .2s ease}.privacy-modal-btn-close:hover{background-color:#350b15;transform:translateY(-1px)}.legal-inner-content--modal .legal-toc{margin-bottom:1.8rem;padding:1rem 1.25rem}.legal-inner-content--modal .legal-intro{margin-bottom:1.8rem;font-size:.98rem}.legal-inner-content--modal .legal-content section{margin-bottom:2rem}.legal-inner-content--modal .legal-content h2{padding-top:1.1rem;margin-bottom:.75rem}