.hero{position:relative;background:var(--navy);color:#fff;overflow:hidden;padding:calc(var(--nav-h) + clamp(48px,8vw,104px)) 0 clamp(40px,6vw,80px)}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(900px 600px at 86% -10%,rgba(203,178,106,.16),transparent 60%),radial-gradient(700px 500px at -5% 110%,rgba(203,178,106,.07),transparent 60%)}.hero-grid{position:relative;display:grid;grid-template-columns:1.4fr .8fr;grid-gap:clamp(32px,4vw,64px);gap:clamp(32px,4vw,64px);align-items:center}.hero-logo{width:clamp(220px,27vw,300px);height:auto;display:block;margin:-10px 0 18px -6px}.hero h1{font-size:clamp(38px,6.2vw,86px);line-height:1;font-weight:500}.hero h1 .it{font-style:italic;color:var(--gold);display:block;white-space:nowrap}.hero-sub{font-size:clamp(16px,1.7vw,19px);color:var(--navy-20);max-width:540px;margin:28px 0 36px;line-height:1.7}.hero-cta{display:flex;gap:16px;flex-wrap:wrap}.hero-aside{-webkit-border-start:1px solid var(--line-dark);border-inline-start:1px solid var(--line-dark);-webkit-padding-start:clamp(24px,3vw,44px);padding-inline-start:clamp(24px,3vw,44px)}.hero-aside .q{font-family:var(--serif);font-style:italic;font-size:clamp(21px,2.2vw,27px);color:#fff;line-height:1.45;margin:0}.hero-aside .q .gold{color:var(--gold)}.hero-aside .src{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--navy-40);margin-top:28px;padding-top:20px}.hero-aside .src,.statband{border-top:1px solid var(--line-dark)}.statband{position:relative;margin-top:clamp(44px,6vw,76px);padding-top:clamp(32px,4vw,46px);display:grid;grid-template-columns:repeat(4,1fr);grid-gap:28px;gap:28px}.stat .n{font-family:var(--serif);font-size:clamp(36px,4.2vw,56px);font-weight:500;line-height:1;letter-spacing:-.01em}.stat .n .u{font-size:.5em;color:var(--gold);font-style:italic}.stat .l{font-size:13.5px;color:var(--navy-20);margin-top:14px;line-height:1.5;max-width:240px}.showcase{position:relative;height:clamp(280px,42vw,560px);background:var(--navy-80)}.showcase image-slot{width:100%;height:100%}.showcase .cap{position:absolute;left:0;right:0;bottom:0;padding:clamp(22px,4vw,48px) var(--gutter);background:linear-gradient(transparent,rgba(10,29,55,.78));pointer-events:none}.showcase .cap .inner{max-width:var(--maxw);margin:0 auto}.showcase .cap p{color:#fff;font-family:var(--serif);font-style:italic;font-size:clamp(20px,2.6vw,32px);margin:0;max-width:720px;line-height:1.3;text-shadow:0 2px 24px rgba(0,0,0,.4)}.intro-flex{display:grid;grid-template-columns:1fr 1fr;grid-gap:clamp(36px,5vw,72px);gap:clamp(36px,5vw,72px);align-items:end}.intro-flex .lead{font-size:clamp(17px,2vw,21px);color:var(--ink-60);line-height:1.65}.practice{display:grid;grid-template-columns:.9fr 2fr;grid-gap:clamp(28px,5vw,72px);gap:clamp(28px,5vw,72px);padding:clamp(40px,5vw,68px) 0;border-top:1px solid var(--line)}.practice:first-of-type{border-top:none;padding-top:clamp(20px,3vw,36px)}.practice .rail{position:relative}.practice .pk{font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-dark);margin:0 0 10px}.practice h3{font-size:clamp(34px,4vw,50px);color:var(--navy);line-height:1}.practice .pt{font-family:var(--serif);font-style:italic;font-size:clamp(19px,2vw,24px);color:var(--gold-dark);margin-top:12px;line-height:1.3}.practice .pdesc{font-size:16.5px;color:var(--ink-60);line-height:1.75;margin:0 0 28px;max-width:60ch}.cap-list{display:grid;grid-template-columns:1fr 1fr;grid-gap:0 40px;gap:0 40px;list-style:none;padding:0;margin:0 0 26px}.cap-list li{font-size:15px;color:var(--navy);padding:14px 0 14px 24px;-webkit-padding-start:24px;padding-inline-start:24px;border-top:1px solid var(--line);position:relative;line-height:1.4}.cap-list li:before{content:"";position:absolute;inset-inline-start:0;top:20px;width:8px;height:8px;border:1px solid var(--gold-dark);transform:rotate(45deg)}.practice .focus{font-size:13.5px;color:var(--ink-40);display:flex;align-items:center;gap:10px}.practice .focus b{color:var(--navy);font-weight:600}.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:1px;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:3px;overflow:hidden}.svc{background:var(--ivory-soft);padding:40px 30px 34px;display:flex;flex-direction:column;min-height:320px;transition:background .3s ease}.svc:hover{background:#fff}.svc .num{font-family:var(--mono);font-size:12px;color:var(--gold-dark);letter-spacing:.12em}.svc h3{font-size:26px;color:var(--navy);margin:22px 0 14px;line-height:1.12}.svc p{font-size:14.5px;color:var(--ink-60);line-height:1.65;margin:0}.svc .foot{margin-top:auto;padding-top:24px}.svc .price{font-family:var(--serif);font-style:italic;font-size:20px;color:var(--navy)}.svc .price span{font-size:14px;color:var(--ink-40);font-style:normal;font-family:var(--sans)}.sol-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:clamp(16px,2vw,26px);gap:clamp(16px,2vw,26px)}.sol{background:var(--white);border:1px solid var(--line);border-radius:3px;padding:34px 30px;display:flex;flex-direction:column;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.sol:hover{transform:translateY(-5px);box-shadow:0 26px 60px rgba(10,29,55,.1);border-color:var(--gold-soft)}.sol .tag{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-dark);border:1px solid var(--line);border-radius:40px;padding:5px 13px;align-self:flex-start}.sol h3{font-size:27px;color:var(--navy);margin:24px 0 8px;line-height:1.08;min-height:58px}.sol .ar{font-family:var(--serif);font-style:italic;font-size:19px;color:var(--gold-dark);margin-bottom:16px}.sol p{font-size:14.5px;color:var(--ink-60);line-height:1.65;margin:0 0 24px}.sol .more{margin-top:auto}.schema-wrap{background:var(--navy);color:#fff;border-radius:4px;padding:clamp(36px,5vw,72px);overflow:hidden;position:relative}.schema-wrap:before{content:"";position:absolute;inset:0;background:radial-gradient(700px 400px at 100% 0,rgba(203,178,106,.12),transparent 60%)}.schema-top{position:relative;display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;margin-bottom:clamp(36px,4vw,56px)}.schema-top h3{font-size:clamp(30px,3.6vw,46px);max-width:640px}.schema-top h3 .serif-i{color:var(--gold)}.schema-intro{font-size:14px;color:var(--navy-20);max-width:320px;line-height:1.6}.steps{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:0;gap:0}.step,.steps{position:relative}.step{padding:0 26px}.step:not(:last-child):after{content:"";position:absolute;top:21px;inset-inline-end:-1px;width:1px;height:calc(100% - 21px);background:var(--line-dark)}.step .dot{width:42px;height:42px;border:1px solid var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-style:italic;color:var(--gold);font-size:20px;margin-bottom:24px}.step h4{font-size:20px;color:#fff;margin-bottom:12px;line-height:1.2}.step p{font-size:14px;color:var(--navy-20);line-height:1.6;margin:0}.schema-bar{position:relative;margin-top:clamp(40px,5vw,60px)}.schema-bar .lbls{display:flex;justify-content:space-between;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--navy-40);margin-bottom:12px}.bar{height:46px;border-radius:3px;overflow:hidden;display:flex;border:1px solid var(--line-dark)}.bar .own{background:linear-gradient(90deg,var(--gold-dark),var(--gold));-webkit-padding-start:16px;padding-inline-start:16px;color:var(--navy);font-weight:600;transition:width 1.1s cubic-bezier(.4,0,.1,1)}.bar .inv,.bar .own{display:flex;align-items:center;font-size:13px}.bar .inv{flex:1 1;justify-content:flex-end;-webkit-padding-end:16px;padding-inline-end:16px;color:var(--navy-20)}.schema-note{position:relative;margin-top:26px;font-size:14px;color:var(--navy-20);max-width:760px;line-height:1.6}.schema-note .gold{color:var(--gold)}.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;grid-gap:clamp(40px,5vw,80px);gap:clamp(40px,5vw,80px);align-items:center}.about-portrait{aspect-ratio:4/5;border-radius:3px;overflow:hidden}.about-portrait image-slot{width:100%;height:100%}.about h2{font-size:clamp(32px,4.4vw,56px);color:var(--navy);margin:20px 0 26px}.about p{font-size:17px;color:var(--ink-60);line-height:1.75}.creds{display:flex;gap:40px;margin-top:34px;flex-wrap:wrap}.cred .n{font-family:var(--serif);font-size:38px;color:var(--navy);line-height:1}.cred .l{font-size:13px;color:var(--ink-40);margin-top:8px;max-width:170px}.trib-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:clamp(20px,2.4vw,34px);gap:clamp(20px,2.4vw,34px)}.article-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:3px;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}.article-card:hover{transform:translateY(-5px);box-shadow:0 26px 60px rgba(10,29,55,.1)}.article-card .thumb{aspect-ratio:16/10;overflow:hidden}.article-card .thumb image-slot{width:100%;height:100%}.article-card .body{padding:26px 26px 30px;display:flex;flex-direction:column;flex:1 1}.article-card .meta{display:flex;gap:12px;align-items:center;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-dark)}.article-card .meta .d{color:var(--ink-40)}.article-card h3{font-size:24px;color:var(--navy);margin:16px 0 12px;line-height:1.12}.article-card p{font-size:14.5px;color:var(--ink-60);line-height:1.6;margin:0 0 22px}.article-card .more{margin-top:auto}.article-card.feat{grid-column:span 3;flex-direction:row}.article-card.feat .thumb{aspect-ratio:auto;flex:0 0 46%}.article-card.feat .body{padding:clamp(32px,4vw,56px);justify-content:center}.article-card.feat h3{font-size:clamp(28px,3.4vw,44px);margin-top:18px}.article-card.feat p{font-size:16px;max-width:560px}.contact-hero{display:grid;grid-template-columns:1.05fr .95fr;grid-gap:clamp(40px,5vw,80px);gap:clamp(40px,5vw,80px);align-items:center}.contact-hero h2{font-size:clamp(36px,5vw,64px);color:#fff;line-height:1}.contact-hero h2 .it{font-style:italic;color:var(--gold)}.contact-hero .lead{color:var(--navy-20);font-size:18px;margin:26px 0 32px;max-width:480px}.booking{background:var(--navy-80);border:1px solid var(--line-dark);border-radius:4px;padding:clamp(30px,3.5vw,44px)}.booking .price{font-family:var(--serif);font-size:56px;color:#fff;line-height:1}.booking .price .per{font-size:20px;color:var(--gold);font-style:italic}.booking .dur{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--navy-40);margin:14px 0 24px}.booking ul{list-style:none;padding:0;margin:0 0 30px}.booking li{font-size:15px;color:var(--navy-20);padding:11px 0 11px 26px;-webkit-padding-start:26px;padding-inline-start:26px;position:relative;border-bottom:1px solid var(--line-dark)}.booking li:before{content:"—";position:absolute;inset-inline-start:0;color:var(--gold)}.devis-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1px;gap:1px;background:var(--line-dark);border:1px solid var(--line-dark);border-radius:3px;overflow:hidden;margin-top:clamp(40px,5vw,64px)}.devis{background:var(--navy);padding:36px 30px;transition:background .3s ease}.devis:hover{background:var(--navy-80)}.devis h4{font-family:var(--serif);font-size:25px;color:#fff;margin-bottom:12px}.devis p{font-size:14px;color:var(--navy-20);line-height:1.6;margin:0 0 20px}@media (max-width:960px){.hero-grid{grid-template-columns:1fr;gap:36px}.hero-aside{-webkit-border-start:none;border-inline-start:none;-webkit-border-before:1px solid var(--line-dark);border-block-start:1px solid var(--line-dark);-webkit-padding-start:0;padding-inline-start:0;padding-top:30px}.statband{grid-template-columns:1fr 1fr;gap:28px 24px}.intro-flex{gap:20px}.intro-flex,.practice{grid-template-columns:1fr}.practice{gap:24px}.sol-grid,.steps,.svc-grid{grid-template-columns:1fr 1fr}.steps{gap:36px 0}.step:nth-child(2):after{display:none}.about-grid{grid-template-columns:1fr;gap:36px}.about-portrait{max-width:380px}.trib-grid{grid-template-columns:1fr 1fr}.article-card.feat{grid-column:span 2;flex-direction:column}.article-card.feat .thumb{aspect-ratio:16/10}.contact-hero{gap:36px}.contact-hero,.devis-grid{grid-template-columns:1fr}}@media (max-width:600px){.statband{grid-template-columns:1fr 1fr}.cap-list,.sol-grid,.steps,.svc-grid{grid-template-columns:1fr}.step{padding:0}.step:after{display:none!important}.trib-grid{grid-template-columns:1fr}.article-card.feat{grid-column:span 1}.bar .own{font-size:11px}}