:root { --cream: #F5F0E8; --sand: #E8DDC8; --clay: #C4A882; --bark: #7A5C3A; --moss: #4A5C3E; --charcoal: #1E1A16; --warm-white: #FAF7F2; --cream-muted: #D8D2C7; --charcoal-muted: #2F2A25; --sage-light: #E8DDC8; --terra: #B8956A; --mid: #2F2A25; } *,*::before,*::after{margin:0;padding:0;box-sizing:border-box} html{scroll-behavior:smooth} body{font-family:'DM Sans',sans-serif;background:var(--cream);color:var(--charcoal);} a{text-decoration:none;color:inherit} .topbar{background:var(--charcoal);text-align:center;padding:.6rem 1rem;font-size:.78rem;letter-spacing:.1em;color:var(--sage-light)} .topbar a{color:#fff;font-weight:500} header{display:flex;justify-content:space-between;align-items:center;padding:1.8rem 6%;background:var(--cream);border-bottom:1px solid var(--sand);flex-wrap:wrap;gap:1rem} .logo-wrap{display:flex;align-items:center;gap:1.1rem;text-decoration:none} .logo-circle{width:68px;height:68px;background:var(--sage);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0} .logo-drop{width:9px;height:13px;background:var(--terra);border-radius:60%} .logo-js{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:600;color:var(--charcoal);line-height:1} .logo-text .sub{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mid);display:block} .logo-text .main{font-family:'Cormorant Garamond',serif;font-size:1.85rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--charcoal);line-height:1.1;display:block} .header-cta{display:inline-flex;align-items:center;gap:.6rem;background:var(--terra);color:#fff;padding:.85rem 1.8rem;font-size:.95rem;font-weight:500;border-radius:2px;white-space:nowrap;transition:background .2s,transform .15s} .header-cta:hover{background:#a8480f;transform:translateY(-1px)} nav.breadcrumb{background:var(--sand);padding:.8rem 6%;font-size:.78rem;color:var(--mid)} nav.breadcrumb a{color:var(--sage-dark)} nav.breadcrumb span{margin:0 .4rem} .s-label{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--terra);display:flex;align-items:center;gap:.7rem;margin-bottom:.8rem} .s-label::before{content:'';display:block;width:22px;height:1.5px;background:var(--terra)} .page-hero{background:var(--sage);padding:4rem 6%;position:relative;overflow:hidden} .page-hero::before{content:'';position:absolute;width:500px;height:500px;border-radius:50%;border:1px solid rgba(255,255,255,.08);top:50%;right:-150px;transform:translateY(-50%);pointer-events:none} .page-hero-inner{position:relative;z-index:1;max-width:720px} .page-hero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,4.5vw,3.5rem);font-weight:300;line-height:1.2;color:var(--charcoal);margin-bottom:.8rem} .page-hero h1 em{font-style:italic;color:#fff} .page-hero-sub{font-size:1rem;color:var(--charcoal);opacity:.8;line-height:1.7;margin-bottom:1.8rem} .hero-cta-row{display:flex;gap:1rem;flex-wrap:wrap;align-items:center} .btn-primary{display:inline-flex;align-items:center;gap:.6rem;background:var(--charcoal);color:#fff;padding:1rem 2rem;font-size:1rem;font-weight:500;border-radius:2px;transition:background .2s,transform .15s} .btn-primary:hover{background:var(--sage-dark);transform:translateY(-2px)} .btn-secondary{display:inline-flex;align-items:center;gap:.6rem;background:rgba(255,255,255,.3);color:var(--charcoal);border:1px solid rgba(255,255,255,.6);padding:1rem 2rem;font-size:1rem;font-weight:500;border-radius:2px;transition:background .2s} .btn-secondary:hover{background:rgba(255,255,255,.5)} main{display:flex;flex-direction:column;gap:4rem} .section{padding:4rem 6%} .project-intro h2{font-family:'Cormorant Garamond',serif;font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:300;color:var(--charcoal);margin-bottom:1rem} .project-intro p{font-size:1rem;line-height:1.8;color:var(--mid)} .photo-section{background:var(--charcoal);color:var(--cream)} .photo-section-inner{max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:1rem} .photo-section h2{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,4vw,3rem);font-weight:300;margin-bottom:.4rem;color:#fff} .photo-section p{font-size:.95rem;line-height:1.7;color:rgba(255,255,255,.85)} .photo-slider{margin-top:2rem;display:flex;flex-direction:column;gap:1rem} .photo-slider__frame{position:relative;border-radius:22px;overflow:hidden;border:1px solid rgba(255,255,255,.15);background:#000} .photo-slider__frame img{width:100%;height:auto;display:block;object-fit:cover} .protocol{padding:4rem 6%;background:var(--cream);} .protocol h2{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,4vw,3rem);font-weight:300;color:var(--charcoal);margin-bottom:1rem} .protocol-summary{font-style:italic;color:var(--mid);border-left:3px solid var(--terra);padding-left:1rem;margin-bottom:2rem;line-height:1.8} .protocol-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.8rem} .protocol-step{background:#fff;border-radius:16px;border:1px solid rgba(30,26,22,.08);box-shadow:0 12px 30px rgba(30,26,22,.05);overflow:hidden;display:flex;flex-direction:column} .protocol-step-media{max-height:220px;overflow:hidden} .protocol-step-media img{width:100%;height:100%;object-fit:cover;display:block} .protocol-step-body{padding:1.5rem;display:flex;flex-direction:column;gap:.6rem;flex:1} .protocol-step-body h3{font-family:'Cormorant Garamond',serif;font-size:1.4rem;color:var(--charcoal);margin:0} .protocol-step-body p{font-size:.9rem;line-height:1.6;color:var(--mid)} .protocol-step-body a{color:var(--terra);font-weight:500} .protocol-step-body span{font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--sage-dark)} .callout{background:var(--charcoal);color:#fff;padding:3rem 6%;display:flex;flex-direction:column;gap:.8rem} .callout h3{font-family:'Cormorant Garamond',serif;font-size:1.9rem;font-weight:300} .callout p{font-size:1rem;line-height:1.7;max-width:680px;color:rgba(255,255,255,.9)} .cta-recall{background:var(--sand);border-radius:22px;padding:2rem 3rem;display:flex;flex-wrap:wrap;align-items:center;gap:1rem;justify-content:space-between;box-shadow:0 20px 40px rgba(30,26,22,.1)} .cta-recall-text{font-size:1rem;color:var(--charcoal);max-width:640px;line-height:1.6} .cta-recall-actions{display:flex;flex-wrap:wrap;gap:.6rem} footer{background:var(--charcoal);padding:2.5rem 6%;display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;color:rgba(255,255,255,.4);font-size:.76rem;letter-spacing:.05em} footer .footer-ids{line-height:1.8} footer a{color:rgba(255,255,255,.6)} footer a:hover{text-decoration:underline} @media(max-width:960px){header{justify-content:center} .page-hero{padding:3rem 5%} .section{padding:3rem 5%} .photo-slider__frame{min-height:320px} .protocol{padding:3rem 5%} } @media(max-width:600px){.hero-cta-row{flex-direction:column;align-items:flex-start} .photo-slider__controls input[type=range]{margin-top:.4rem}}

/* Controle mobile 2026-05-24 : texte hero minimum 16px. */
.page-hero-sub { font-size: max(16px, 1rem); }

.page-hero-sub { font-size: 17px !important; }
