/* TITRE — medi-titre.com — Global Stylesheet */
:root{--bg:#F6F3EE;--bg-alt:#EDEAE4;--dark:#1A1916;--text:#3A3832;--text-muted:#7A776E;--accent:#2E6B5A;--accent-light:#3D8B74;--accent-dark:#1E4D3E;--accent-glow:rgba(46,107,90,.12);--warm:#C4A265;--warm-light:#F0E4CE;--white:#FEFDFB;--card:#FFF;--radius:16px;--radius-sm:10px;--shadow:0 2px 24px rgba(26,25,22,.06);--shadow-lg:0 8px 48px rgba(26,25,22,.10);--shadow-xl:0 16px 64px rgba(26,25,22,.12);}
*{margin:0;padding:0;box-sizing:border-box;}html{scroll-behavior:smooth;}body{font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--text);line-height:1.65;overflow-x:hidden;}img{max-width:100%;display:block;}a{color:inherit;}ul{list-style:none;}
body::before{content:'';position:fixed;inset:0;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.03'/%3E%3C/svg%3E");pointer-events:none;z-index:9999;}
.container{max-width:1200px;margin:0 auto;padding:0 28px;}section{padding:100px 0;}.text-center{text-align:center;}.mx-auto{margin-left:auto;margin-right:auto;}
.section-tag{display:inline-flex;align-items:center;gap:8px;font-size:.72rem;font-weight:600;color:var(--accent);letter-spacing:2px;text-transform:uppercase;margin-bottom:16px;}.section-tag::before{content:'';width:24px;height:1.5px;background:var(--accent);}
.section-title{font-family:'Instrument Serif',serif;font-size:clamp(1.9rem,3.5vw,2.8rem);color:var(--dark);line-height:1.15;margin-bottom:16px;}
.section-desc{font-size:1.02rem;color:var(--text-muted);max-width:560px;}.section-header{margin-bottom:60px;}
.btn{padding:14px 32px;border-radius:50px;font-size:.92rem;font-weight:600;text-decoration:none;cursor:pointer;transition:all .3s;border:none;display:inline-flex;align-items:center;gap:8px;font-family:'DM Sans',sans-serif;}
.btn-primary{background:var(--accent);color:var(--white);}.btn-primary:hover{background:var(--accent-light);transform:translateY(-2px);box-shadow:0 8px 24px var(--accent-glow);}
.btn-outline{background:transparent;color:var(--dark);border:1.5px solid rgba(26,25,22,.15);}.btn-outline:hover{border-color:var(--accent);color:var(--accent);}
.btn-sm{padding:10px 22px;font-size:.84rem;}.btn-white{background:var(--white);color:var(--accent);}.btn-white:hover{background:var(--bg);transform:translateY(-2px);}
nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(246,243,238,.88);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom:1px solid rgba(26,25,22,.06);transition:box-shadow .3s;}nav.scrolled{box-shadow:0 2px 32px rgba(26,25,22,.08);}
.nav-inner{max-width:1200px;margin:0 auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between;height:72px;}
.nav-brand{display:flex;align-items:center;text-decoration:none;}.nav-logo{font-family:'Instrument Serif',serif;font-size:1.5rem;color:var(--dark);letter-spacing:2px;}.nav-logo span{color:var(--accent);}
.nav-links{display:flex;gap:32px;}.nav-links a{text-decoration:none;color:var(--text-muted);font-size:.86rem;font-weight:500;letter-spacing:.3px;transition:color .25s;position:relative;}
.nav-links a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--accent);transition:width .3s cubic-bezier(.4,0,.2,1);}.nav-links a:hover{color:var(--dark);}.nav-links a:hover::after{width:100%;}.nav-links a.active{color:var(--accent);}.nav-links a.active::after{width:100%;}
.nav-cta{background:var(--accent);color:var(--white);padding:10px 24px;border-radius:50px;text-decoration:none;font-size:.84rem;font-weight:600;transition:all .3s;}.nav-cta:hover{background:var(--accent-light);transform:translateY(-1px);}
.hamburger{display:none;background:none;border:none;cursor:pointer;width:32px;height:24px;position:relative;}.hamburger span{display:block;width:100%;height:2px;background:var(--dark);position:absolute;left:0;transition:all .3s;}.hamburger span:nth-child(1){top:2px;}.hamburger span:nth-child(2){top:11px;}.hamburger span:nth-child(3){top:20px;}
footer{background:var(--dark);color:rgba(255,255,255,.35);border-top:1px solid rgba(255,255,255,.06);padding:48px 0 32px;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px;}.footer-brand-col .f-logo{font-family:'Instrument Serif',serif;font-size:1.4rem;color:var(--white);letter-spacing:2px;margin-bottom:12px;}.footer-brand-col p{font-size:.84rem;line-height:1.6;max-width:280px;}
.footer-col h4{font-size:.72rem;font-weight:600;color:rgba(255,255,255,.6);letter-spacing:2px;text-transform:uppercase;margin-bottom:16px;}.footer-col ul li{margin-bottom:10px;}.footer-col ul a{text-decoration:none;font-size:.86rem;color:rgba(255,255,255,.4);transition:color .25s;}.footer-col ul a:hover{color:var(--white);}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:24px;border-top:1px solid rgba(255,255,255,.06);font-size:.78rem;}.footer-bottom a{color:rgba(255,255,255,.4);text-decoration:none;}.footer-bottom a:hover{color:var(--white);}
.page-hero{padding:160px 0 80px;position:relative;overflow:hidden;}.page-hero::before{content:'';position:absolute;top:-200px;right:-200px;width:600px;height:600px;background:radial-gradient(circle,var(--accent-glow) 0%,transparent 70%);pointer-events:none;}.page-hero .section-title{font-size:clamp(2.2rem,4vw,3.2rem);}
.breadcrumb{display:flex;align-items:center;gap:8px;font-size:.82rem;color:var(--text-muted);margin-bottom:24px;}.breadcrumb a{color:var(--accent);text-decoration:none;}.breadcrumb a:hover{text-decoration:underline;}.breadcrumb span{opacity:.4;}
.card{background:var(--card);border-radius:var(--radius);padding:36px;box-shadow:var(--shadow);transition:all .3s;border:1px solid transparent;}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:rgba(46,107,90,.08);}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}.stat-card{background:var(--card);border-radius:var(--radius);padding:36px 28px;text-align:center;box-shadow:var(--shadow);transition:transform .3s,box-shadow .3s;position:relative;overflow:hidden;}.stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}.stat-card::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:40px;height:3px;background:var(--accent);border-radius:0 0 4px 4px;}.stat-card .number{font-family:'Instrument Serif',serif;font-size:2.5rem;color:var(--dark);line-height:1;margin-bottom:8px;}.stat-card .label{font-size:.82rem;color:var(--text-muted);font-weight:500;}
.expertise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}.expertise-card{background:var(--card);border-radius:var(--radius);padding:36px;transition:all .3s;border:1px solid rgba(26,25,22,.04);}.expertise-card:hover{border-color:rgba(46,107,90,.12);transform:translateY(-4px);box-shadow:var(--shadow-lg);}.exp-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:20px;}.expertise-card h3{font-size:1.02rem;font-weight:600;color:var(--dark);margin-bottom:10px;}.expertise-card p{font-size:.84rem;color:var(--text-muted);line-height:1.6;}
.legal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}.legal-card{background:var(--card);border-radius:var(--radius);padding:32px;box-shadow:var(--shadow);}.legal-card h3{font-size:.72rem;font-weight:600;color:var(--accent);letter-spacing:2px;text-transform:uppercase;margin-bottom:20px;display:flex;align-items:center;gap:8px;}.legal-card h3::before{content:'';width:4px;height:4px;background:var(--accent);border-radius:50%;}.legal-row{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid rgba(26,25,22,.05);}.legal-row:last-child{border-bottom:none;}.ll{font-size:.84rem;color:var(--text-muted);}.lv{font-size:.86rem;font-weight:600;color:var(--dark);text-align:right;}.legal-badge{display:inline-flex;align-items:center;gap:6px;background:#E8F5E9;color:#2E7D32;padding:4px 12px;border-radius:50px;font-size:.76rem;font-weight:600;}.legal-badge::before{content:'';width:6px;height:6px;background:#2E7D32;border-radius:50%;}
.cta-banner{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-dark) 100%);border-radius:24px;padding:64px;text-align:center;color:var(--white);position:relative;overflow:hidden;}.cta-banner::before{content:'';position:absolute;top:-50%;right:-20%;width:600px;height:600px;background:radial-gradient(circle,rgba(255,255,255,.08),transparent 60%);}.cta-banner h2{font-family:'Instrument Serif',serif;font-size:clamp(1.6rem,3vw,2.4rem);margin-bottom:16px;position:relative;z-index:1;}.cta-banner p{font-size:1rem;opacity:.8;margin-bottom:32px;position:relative;z-index:1;max-width:600px;margin-left:auto;margin-right:auto;}.cta-banner .btn{position:relative;z-index:1;}
.mission-banner{background:linear-gradient(135deg,var(--dark) 0%,#2A2922 100%);border-radius:24px;padding:80px 60px;color:var(--white);text-align:center;position:relative;overflow:hidden;}.mission-banner::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none'%3E%3Cg fill='%23ffffff' fill-opacity='0.02'%3E%3Ccircle cx='30' cy='30' r='1.5'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");}.mission-banner .section-tag{color:var(--warm);justify-content:center;}.mission-banner .section-tag::before{background:var(--warm);}.mission-banner blockquote{font-family:'Instrument Serif',serif;font-size:clamp(1.4rem,2.8vw,2.2rem);line-height:1.35;max-width:800px;margin:0 auto 32px;position:relative;z-index:1;}.mission-banner .attr{font-size:.88rem;opacity:.5;position:relative;z-index:1;}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}.contact-form{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:40px;}.form-group{margin-bottom:18px;}.form-group label{display:block;font-size:.8rem;color:rgba(255,255,255,.45);margin-bottom:7px;font-weight:500;}.form-group input,.form-group textarea{width:100%;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);padding:13px 16px;color:var(--white);font-family:'DM Sans',sans-serif;font-size:.9rem;transition:border-color .3s;outline:none;}.form-group input::placeholder,.form-group textarea::placeholder{color:rgba(255,255,255,.22);}.form-group input:focus,.form-group textarea:focus{border-color:var(--accent);}.form-group textarea{resize:vertical;min-height:110px;}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}.btn-form{width:100%;padding:15px;background:var(--accent);color:var(--white);border:none;border-radius:50px;font-size:.93rem;font-weight:600;cursor:pointer;transition:all .3s;font-family:'DM Sans',sans-serif;}.btn-form:hover{background:var(--accent-light);}
.c-item{display:flex;gap:16px;align-items:flex-start;}.c-icon{width:48px;height:48px;flex-shrink:0;background:rgba(255,255,255,.06);border-radius:14px;display:flex;align-items:center;justify-content:center;}.c-icon svg{width:20px;height:20px;stroke:var(--white);fill:none;stroke-width:1.5;}.c-label{font-size:.74rem;color:rgba(255,255,255,.35);margin-bottom:2px;text-transform:uppercase;letter-spacing:1px;}.c-value{color:var(--white);font-weight:500;font-size:.93rem;}.c-value a{color:var(--warm);text-decoration:none;}.c-value a:hover{text-decoration:underline;}
.faq-grid{max-width:760px;margin:0 auto;}.faq-item{border-bottom:1px solid rgba(26,25,22,.07);overflow:hidden;}.faq-q{display:flex;justify-content:space-between;align-items:center;padding:24px 0;cursor:pointer;gap:16px;user-select:none;}.faq-q h3{font-size:.98rem;font-weight:600;color:var(--dark);transition:color .3s;}.faq-q:hover h3{color:var(--accent);}.faq-q .faq-icon{width:28px;height:28px;flex-shrink:0;background:var(--accent-glow);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .3s;}.faq-q .faq-icon svg{width:14px;height:14px;stroke:var(--accent);transition:transform .3s;}.faq-item.open .faq-icon{background:var(--accent);}.faq-item.open .faq-icon svg{stroke:var(--white);transform:rotate(45deg);}.faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease,padding .4s ease;}.faq-item.open .faq-a{max-height:400px;padding-bottom:24px;}.faq-a p{font-size:.9rem;color:var(--text-muted);line-height:1.7;}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}.blog-card{background:var(--card);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:all .3s;}.blog-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}.blog-thumb{height:180px;position:relative;overflow:hidden;}.blog-thumb-inner{width:100%;height:100%;display:flex;align-items:center;justify-content:center;}.blog-thumb-inner svg{width:60%;height:60%;opacity:.3;}.blog-cat{position:absolute;top:16px;left:16px;background:rgba(255,255,255,.9);backdrop-filter:blur(8px);padding:4px 12px;border-radius:50px;font-size:.7rem;font-weight:600;color:var(--accent);letter-spacing:.5px;text-transform:uppercase;}.blog-body{padding:28px;}.blog-date{font-size:.74rem;color:var(--text-muted);margin-bottom:8px;}.blog-body h3{font-size:1rem;font-weight:600;color:var(--dark);margin-bottom:10px;line-height:1.4;}.blog-body p{font-size:.84rem;color:var(--text-muted);line-height:1.6;margin-bottom:16px;}.blog-link{font-size:.84rem;font-weight:600;color:var(--accent);text-decoration:none;display:inline-flex;align-items:center;gap:6px;transition:gap .3s;}.blog-link:hover{gap:10px;}
.article-content{max-width:760px;margin:0 auto;}.article-content h2{font-family:'Instrument Serif',serif;font-size:1.6rem;color:var(--dark);margin:40px 0 16px;}.article-content p{font-size:1rem;color:var(--text);line-height:1.8;margin-bottom:20px;}.article-content blockquote{border-left:3px solid var(--accent);padding:16px 24px;margin:32px 0;background:var(--accent-glow);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-style:italic;color:var(--text-muted);}.article-meta{display:flex;align-items:center;gap:16px;margin-bottom:40px;padding-bottom:24px;border-bottom:1px solid rgba(26,25,22,.08);}.article-meta .date{font-size:.84rem;color:var(--text-muted);}.article-meta .cat{background:var(--accent-glow);color:var(--accent);padding:4px 14px;border-radius:50px;font-size:.76rem;font-weight:600;}
.timeline{position:relative;max-width:700px;margin:0 auto;}.timeline::before{content:'';position:absolute;left:24px;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--accent),var(--warm));}.tl-item{display:flex;gap:32px;margin-bottom:36px;position:relative;}.tl-dot{width:12px;height:12px;background:var(--accent);border-radius:50%;flex-shrink:0;margin-top:6px;position:relative;left:19px;border:3px solid var(--white);box-shadow:0 0 0 2px var(--accent);}.tl-content{background:var(--card);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow);flex:1;margin-left:12px;}.tl-year{font-family:'Instrument Serif',serif;font-size:1.25rem;color:var(--accent);margin-bottom:6px;}.tl-text{font-size:.86rem;color:var(--text-muted);line-height:1.6;}
.reveal{opacity:0;transform:translateY(32px);transition:opacity .7s ease,transform .7s ease;}.reveal.visible{opacity:1;transform:translateY(0);}
@media(max-width:1024px){.stats-grid{grid-template-columns:repeat(2,1fr);}.expertise-grid,.blog-grid{grid-template-columns:1fr 1fr;}.legal-grid,.contact-grid{grid-template-columns:1fr;}.contact-grid{gap:48px;}.footer-grid{grid-template-columns:1fr 1fr;gap:32px;}}
@media(max-width:640px){.nav-links,.nav-cta{display:none;}.hamburger{display:block;}nav.menu-open .nav-links{display:flex;flex-direction:column;position:fixed;top:72px;left:0;right:0;bottom:0;background:var(--bg);padding:40px 28px;gap:24px;z-index:99;}.stats-grid{grid-template-columns:1fr 1fr;gap:14px;}.expertise-grid,.blog-grid{grid-template-columns:1fr;}.mission-banner,.cta-banner{padding:40px 24px;}.form-row{grid-template-columns:1fr;}section{padding:64px 0;}.footer-grid{grid-template-columns:1fr;gap:24px;}.footer-bottom{flex-direction:column;gap:12px;text-align:center;}.page-hero{padding:120px 0 60px;}}
