@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Libre+Caslon+Display&display=swap";:root{--ink: #171a18;--paper: #f4f1ea;--white: #fff;--muted: #686a65;--line: #cbc9c1;--accent: #b9d2c0;--serif: "Libre Caslon Display", Georgia, serif;--sans: "DM Sans", Arial, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}img{display:block;max-width:100%}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid #1b65d6;outline-offset:4px}.skip-link{position:fixed;z-index:100;top:10px;left:10px;padding:12px 18px;background:var(--white);transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.site-header{position:absolute;z-index:10;top:0;left:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;width:100%;min-height:88px;padding:14px clamp(20px,4vw,68px);border-bottom:1px solid rgb(255 255 255 / 35%);color:var(--white)}.brand{justify-self:start;padding:7px 10px;background:#ffffffe5}.brand img{width:150px;height:auto}nav{display:flex;gap:clamp(18px,2.5vw,42px);font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}nav a,.header-cta{text-decoration:none}nav a:hover,.header-cta:hover{text-decoration:underline;text-underline-offset:6px}.header-cta{justify-self:end;font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.hero{position:relative;display:flex;min-height:100svh;align-items:center;overflow:hidden;background:var(--ink);color:var(--white)}.hero-image{position:absolute;inset:0;background:linear-gradient(90deg,#0c110ee0,#0c110e8f 52%,#0c110e2e),url(/images/rotonde-vichy.jpg) center/cover;transform:scale(1.01)}.hero-content{position:relative;z-index:1;width:min(760px,88vw);margin-left:clamp(20px,10vw,160px);padding:150px 0 90px}.eyebrow{margin:0 0 20px;font-size:.72rem;font-weight:600;letter-spacing:.18em;line-height:1.3;text-transform:uppercase}h1,h2{margin:0;font-family:var(--serif);font-weight:400;letter-spacing:-.035em;line-height:.98}h1{font-size:clamp(4rem,8.5vw,8.7rem)}h1 em{color:var(--accent);font-weight:400}.hero-intro{max-width:530px;margin:34px 0;font-size:clamp(1.05rem,1.5vw,1.3rem)}.hero-actions{display:flex;align-items:center;gap:32px;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;min-height:52px;padding:13px 25px;border:1px solid transparent;font-size:.76rem;font-weight:600;letter-spacing:.08em;line-height:1.2;text-decoration:none;text-transform:uppercase;transition:background .2s,color .2s}.button-primary{background:var(--accent);color:var(--ink)}.button-primary:hover{background:var(--white)}.text-link{font-size:.78rem;font-weight:600;letter-spacing:.05em;text-decoration:none}.text-link:hover{text-decoration:underline;text-underline-offset:6px}.hero-location{position:absolute;z-index:1;right:clamp(20px,4vw,68px);bottom:30px;margin:0;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;writing-mode:vertical-rl}.motion-ready .site-header,.motion-ready .hero .eyebrow,.motion-ready .hero h1,.motion-ready .hero-intro,.motion-ready .hero-actions,.motion-ready .hero-location{opacity:0;transform:translateY(22px)}.motion-ready .hero-image{transform:scale(1.08)}.motion-ready.page-loaded .site-header,.motion-ready.page-loaded .hero .eyebrow,.motion-ready.page-loaded .hero h1,.motion-ready.page-loaded .hero-intro,.motion-ready.page-loaded .hero-actions,.motion-ready.page-loaded .hero-location{opacity:1;transform:translateY(0);transition:opacity .8s ease,transform .8s cubic-bezier(.22,1,.36,1)}.motion-ready.page-loaded .site-header{transition-delay:.05s}.motion-ready.page-loaded .hero .eyebrow{transition-delay:.2s}.motion-ready.page-loaded .hero h1{transition-delay:.3s}.motion-ready.page-loaded .hero-intro{transition-delay:.46s}.motion-ready.page-loaded .hero-actions{transition-delay:.58s}.motion-ready.page-loaded .hero-location{transition-delay:.7s}.motion-ready.page-loaded .hero-image{transform:scale(1.01);transition:transform 1.8s cubic-bezier(.22,1,.36,1)}.motion-ready .reveal-up{opacity:0;transform:translateY(46px)}.motion-ready .reveal-image{clip-path:inset(0 0 100% 0)}.motion-ready .reveal-image img{transform:scale(1.08)}.motion-ready .reveal-up.is-visible{opacity:1;transform:translateY(0);transition:opacity .75s ease var(--reveal-delay, 0ms),transform .85s cubic-bezier(.22,1,.36,1) var(--reveal-delay, 0ms)}.motion-ready .reveal-image.is-visible{clip-path:inset(0);transition:clip-path 1.05s cubic-bezier(.77,0,.18,1) var(--reveal-delay, 0ms)}.motion-ready .reveal-image.is-visible img{transform:scale(1);transition:transform 1.3s cubic-bezier(.22,1,.36,1) var(--reveal-delay, 0ms)}.section{padding:clamp(80px,10vw,150px) clamp(20px,8vw,130px)}.intro{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(50px,10vw,150px)}.section-heading h2,.services h2,.resources h2,.contact h2{font-size:clamp(3.2rem,6vw,6.3rem)}.intro-copy{max-width:680px}.intro-copy p{color:var(--muted)}.intro-copy .lead{margin-top:0;color:var(--ink);font-family:var(--serif);font-size:clamp(1.55rem,2.3vw,2.25rem);line-height:1.28}.values{display:flex;gap:8px;flex-wrap:wrap;margin:32px 0 0;padding:0;list-style:none}.values li{padding:7px 12px;border:1px solid var(--line);border-radius:100px;font-size:.72rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.figures{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.figures div{min-height:210px;padding:42px clamp(20px,3vw,48px);border-right:1px solid var(--line)}.figures div:last-child{border:0}.figures strong{display:block;margin-bottom:25px;font-family:var(--serif);font-size:clamp(3rem,5vw,5rem);font-weight:400;line-height:1}.figures span{color:var(--muted);font-size:.78rem;letter-spacing:.07em;text-transform:uppercase}.portrait{display:grid;grid-template-columns:1.05fr .95fr;align-items:stretch;padding-top:0}.portrait-image{min-height:620px;overflow:hidden}.portrait-image img{width:100%;height:100%;object-fit:cover}.portrait-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(45px,7vw,100px);background:var(--ink);color:var(--white)}blockquote{margin:0 0 35px;font-family:var(--serif);font-size:clamp(2rem,3.3vw,3.7rem);line-height:1.15}.portrait-copy>p:not(.eyebrow,.signature){color:#c9ccc8}.signature{margin-top:25px;font-family:var(--serif);font-size:1.5rem;font-style:italic}.services{background:#e5e1d8}.services-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:75px}.services-heading>p{max-width:380px;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #aaa89f;border-left:1px solid #aaa89f}.service-card{min-height:450px;padding:34px;border-right:1px solid #aaa89f;border-bottom:1px solid #aaa89f}.service-number{color:var(--muted);font-size:.72rem;letter-spacing:.1em}.service-card h3{min-height:92px;margin:70px 0 28px;font-family:var(--serif);font-size:clamp(2rem,3vw,3.2rem);font-weight:400;line-height:1.05}.service-card ul{margin:0;padding:0;color:#4e504d;list-style:none}.service-card li{position:relative;margin:10px 0;padding-left:16px;font-size:.9rem}.service-card li:before{position:absolute;left:0;content:"·"}.panorama{position:relative;min-height:680px;color:var(--white)}.panorama:after{position:absolute;inset:0;background:linear-gradient(0deg,rgb(13 17 15 / 70%),transparent 75%);content:""}.panorama img{position:absolute;width:100%;height:100%;object-fit:cover}.panorama>div{position:absolute;z-index:1;bottom:clamp(40px,7vw,100px);left:clamp(20px,8vw,130px);max-width:780px}.panorama>div>p:last-child{margin:0;font-family:var(--serif);font-size:clamp(2.1rem,4vw,4.2rem);line-height:1.13}.resources{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(50px,9vw,130px);align-items:center}.resources-visual{min-height:650px}.resources-visual img{width:100%;height:100%;object-fit:cover}.resources-copy>p:not(.eyebrow){max-width:570px;color:var(--muted)}.resource-links{margin:40px 0 0;padding:0;list-style:none}.resource-links a{display:flex;justify-content:space-between;padding:17px 3px;border-bottom:1px solid var(--line);font-size:.85rem;font-weight:600;letter-spacing:.06em;text-decoration:none;text-transform:uppercase}.resource-links a:hover span:first-child{text-decoration:underline;text-underline-offset:5px}.contact{display:grid;grid-template-columns:1.2fr .8fr;padding:clamp(80px,10vw,150px) clamp(20px,8vw,130px);background:var(--ink);color:var(--white)}.contact-main{padding-right:clamp(30px,10vw,150px)}.contact-main>p:not(.eyebrow){max-width:530px;margin:35px 0;color:#c7cac6;font-size:1.15rem}.button-light{background:var(--white);color:var(--ink)}.button-light:hover{background:var(--accent)}.contact-details{display:grid;align-content:center;border-top:1px solid #525552;font-style:normal}.contact-details div{display:grid;grid-template-columns:115px 1fr;padding:25px 0;border-bottom:1px solid #525552}.contact-details span{color:#9b9e9a;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}.contact-details a{text-decoration:none}.contact-details a:hover{text-decoration:underline;text-underline-offset:4px}.contact-details p{margin:0}footer{padding:45px clamp(20px,4vw,68px) 25px;background:#e5e1d8}.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;padding-bottom:45px}.footer-top img{width:155px}.footer-top p{justify-self:center;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}.footer-top a{justify-self:end;font-size:.75rem;text-decoration:none;text-transform:uppercase}.footer-bottom{display:flex;justify-content:space-between;align-items:start;gap:25px;padding-top:22px;border-top:1px solid var(--line);color:var(--muted);font-size:.72rem;text-transform:uppercase}.footer-bottom p{margin:0}.footer-bottom a{text-decoration:none}details{max-width:560px}summary{cursor:pointer;text-align:center}.legal-content{padding:20px;color:var(--ink);text-align:left;text-transform:none}.legal-content h2{font-size:2rem}@media(max-width:900px){.site-header{grid-template-columns:1fr auto}nav{display:none}.intro,.portrait,.resources,.contact{grid-template-columns:1fr}.figures{grid-template-columns:repeat(2,1fr)}.figures div:nth-child(2){border-right:0}.figures div:nth-child(-n+2){border-bottom:1px solid var(--line)}.service-grid{grid-template-columns:repeat(2,1fr)}.services-heading{align-items:start;flex-direction:column}.portrait-image,.resources-visual{min-height:500px}.contact-details{margin-top:70px}}@media(max-width:600px){html{scroll-padding-top:70px}.site-header{min-height:72px;padding:10px 18px}.brand img{width:125px}.header-cta{font-size:.65rem}.hero-content{margin-left:20px;padding-top:125px}h1{font-size:clamp(3.45rem,17vw,5.5rem)}.hero-actions{align-items:flex-start;flex-direction:column;gap:20px}.hero-location{display:none}.section{padding-right:20px;padding-left:20px}.intro{gap:40px}.figures{grid-template-columns:1fr}.figures div{min-height:165px;border-right:0;border-bottom:1px solid var(--line)}.figures div:nth-child(3){border-bottom:1px solid var(--line)}.portrait{padding:0}.portrait-image{min-height:390px}.portrait-copy{padding:60px 25px}.service-grid{grid-template-columns:1fr}.service-card{min-height:0}.service-card h3{min-height:0;margin-top:45px}.panorama{min-height:570px}.resources-visual{min-height:430px}.contact-details div{grid-template-columns:90px 1fr}.contact-details a{overflow-wrap:anywhere}.footer-top{grid-template-columns:1fr auto;gap:25px}.footer-top p{display:none}.footer-bottom{align-items:center;flex-direction:column}summary{text-align:left}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
