@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Montserrat:wght@400;500;600&display=swap');
:root{--green:#2A3525;--beige:#B3A89B;--blue:#ADC0CC;--white:#fff;--black:#111;--line:#d8d8d3;--serif:'Cormorant Garamond',Georgia,serif;--sans:Montserrat,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--green);background:var(--white);font-family:var(--sans);font-size:16px;line-height:1.8}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}img{display:block;max-width:100%}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.06}h1{font-size:clamp(4rem,6.5vw,7.4rem);letter-spacing:-.035em}h2{font-size:clamp(2.8rem,4.3vw,4.8rem);letter-spacing:-.025em}h3{font-size:2rem}em{font-weight:400}p+p{margin-top:20px}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--green);outline-offset:5px}.skip{position:fixed;left:10px;top:-100px;background:white;padding:10px;z-index:20}.skip:focus{top:10px}.header{min-height:110px;padding:26px 5%;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line)}.brand{width:240px;flex-shrink:0}.brand img{width:220px;height:auto}.brand span{font-size:9px;letter-spacing:.11em;display:block;margin-top:10px;color:var(--black)}nav{display:flex;gap:32px;align-items:center;font-size:14px}nav a{transition:opacity .2s}nav a:hover{opacity:.65}.nav-contact{border:1px solid var(--green);padding:11px 21px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:710px}.hero-copy{padding:64px 10% 40px}.eyebrow{font-size:12px;font-weight:500;letter-spacing:.16em;line-height:1.65}.hero .eyebrow{margin-bottom:30px}.hero-intro{max-width:440px;font-family:var(--serif);font-size:25px;line-height:1.4;margin-top:28px}.hero-text{font-size:15px;max-width:440px;margin-top:18px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:15px 25px;color:white;background:var(--green);border:1px solid var(--green);font-size:14px;font-weight:500;line-height:1.45;transition:background .2s,color .2s;text-align:center}.button:hover{background:var(--white);color:var(--green)}.hero .button{margin-top:30px}.hero-location{font-size:12px;letter-spacing:.06em;margin-top:27px}.hero-image{position:relative;min-width:0;background:var(--beige);overflow:hidden}.hero-image>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:50% 40%;filter:brightness(.88)}.image-note{position:absolute;bottom:24px;left:28px;right:28px;display:flex;justify-content:space-between;gap:14px;color:white;font-size:10px;letter-spacing:.12em}.signature-line{background:var(--blue);display:flex;justify-content:space-around;flex-wrap:wrap;gap:15px;padding:20px 5%;font-family:var(--serif);font-size:23px}.section{padding:95px 7%;scroll-margin-top:20px}.approach>.eyebrow{margin-bottom:35px}.approach-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:9%}.approach-grid>div{max-width:500px}.lead{font-family:var(--serif);font-size:29px;line-height:1.3}.approach-grid p:not(.lead){font-size:15px}.text-link{display:inline-block;border-bottom:1px solid var(--green);padding-bottom:4px;margin-top:25px;font-size:14px}.services{background:#f4f3f1}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:42px}.section-heading .eyebrow{margin-bottom:20px}.section-heading>p{font-size:14px;max-width:390px}.project-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--beige);gap:18px}.project-tabs button{background:none;border:0;border-bottom:3px solid transparent;text-align:left;padding:20px 0;color:var(--green);font-size:14px;line-height:1.6}.project-tabs button[aria-selected=true]{border-bottom-color:var(--green);font-weight:600}.project-tabs button:hover{border-bottom-color:var(--beige)}.service-panel{display:grid;grid-template-columns:1fr 1.15fr;gap:9%;padding-top:48px}.service-panel[hidden]{display:none}.service-summary{position:relative}.service-number{position:absolute;right:0;top:-20px;font-family:var(--serif);font-size:120px;color:#ddd9d2;line-height:1;pointer-events:none}.service-summary .eyebrow{position:relative;max-width:75%;margin-bottom:24px;font-size:11px}.service-summary h3{font-size:clamp(2.8rem,4vw,4rem);margin-bottom:24px;position:relative}.service-summary>p:not(.eyebrow){font-size:15px;max-width:430px}.service-summary .button{margin-top:30px}.quote-note{display:block;font-size:12px;margin-top:12px}.service-details{border-top:1px solid var(--beige)}details{border-bottom:1px solid var(--beige)}summary{list-style:none;position:relative;padding:23px 35px 23px 0;cursor:pointer;font-size:16px;line-height:1.5}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:3px;font-size:23px;font-family:var(--sans);font-weight:400;top:17px}details[open] summary:after{content:'−'}details p{font-size:14px;margin-bottom:23px;line-height:1.85;max-width:540px}details p+p{margin-top:0}.scope-note{padding:16px;background:#e7e4df;font-size:13px;line-height:1.7}.manifesto{padding:85px 7%;background:var(--green);color:white;text-align:center}.manifesto .eyebrow{color:var(--blue);margin-bottom:32px}.manifesto h2{font-size:clamp(2.7rem,4.7vw,5rem);line-height:1.17}.manifesto h2 em{color:var(--blue)}.values{display:grid;grid-template-columns:repeat(5,1fr);gap:28px;margin-top:65px;text-align:left;border-top:1px solid #697160;padding-top:30px}.values h3{font-size:27px;margin-bottom:10px}.values p{font-size:13px;line-height:1.7;color:#e3e6df}.universe-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:36px;align-items:start}.universe figure:nth-child(2){margin-top:65px}.universe img{width:100%;height:500px;object-fit:cover}.universe figure:nth-child(2) img{height:415px}figcaption{display:flex;justify-content:space-between;gap:12px;font-size:10px;letter-spacing:.07em;margin-top:15px}.studio{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;padding-top:55px}.studio-mark{background:var(--beige);padding:100px 40px;text-align:center}.studio-mark img{width:88%;margin:auto}.studio-script{display:block;font-family:var(--serif);font-style:italic;font-size:35px;margin-top:12px}.studio-mark p{font-size:13px;margin-top:40px}.studio>.studio-mark+div>.eyebrow{margin-bottom:24px}.studio h2{margin-bottom:30px}.studio>div>p:not(.eyebrow){font-size:14px}.process{border-top:1px solid var(--line)}.process>.eyebrow{margin-bottom:25px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:36px;margin-top:45px}.steps article{border-top:1px solid var(--beige);padding-top:20px}.steps span{font-family:var(--serif);font-size:30px;color:#64715d}.steps h3{margin:12px 0 16px}.steps p{font-size:14px}.contact{background:var(--blue);display:grid;grid-template-columns:1fr 1.25fr;gap:10%}.contact .eyebrow{margin-bottom:25px}.contact h2{margin-bottom:30px}.contact>div>p:not(.eyebrow){font-size:15px}.contact-email{display:inline-block;margin-top:35px;border-bottom:1px solid;font-size:16px;overflow-wrap:anywhere}.contact-area{margin-top:28px!important;font-size:13px!important}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:23px}label{display:block;font-size:13px;font-weight:500;margin-bottom:21px;line-height:1.5}input,select,textarea{width:100%;border:0;border-bottom:1px solid #607768;background:transparent;color:var(--green);padding:13px 0;outline-offset:4px;font-size:15px;line-height:1.5;border-radius:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#3e5047;opacity:.85}select{min-height:49px}option{background:white;color:var(--green)}.form-note,.privacy-note{font-size:12px;line-height:1.75}.form-note{margin-bottom:20px}.privacy-note{margin-top:20px}#form-status{font-size:14px}#email-fallback{font-size:14px;margin-top:20px}#email-fallback a{text-decoration:underline}#message-copy{background:#ffffff50;padding:12px;margin-top:12px;font-size:13px}.copy-button{border:1px solid var(--green);color:var(--green);background:transparent;padding:10px 16px;margin-top:10px;font-size:13px}footer{display:flex;align-items:center;gap:30px;flex-wrap:wrap;padding:36px 5%;font-size:12px}footer .footer-brand{width:150px}footer img{width:150px;height:auto}footer p{margin-right:auto;font-family:var(--serif);font-size:20px}footer button{border:0;background:none;font-size:12px;padding:0;color:var(--green)}dialog{border:0;padding:45px;max-width:640px;width:90%;color:var(--green)}dialog::backdrop{background:#0008}dialog h2{font-size:36px;margin:35px 0 25px}dialog p{font-size:14px}dialog a{text-decoration:underline}dialog button{border:1px solid var(--green);background:white;color:var(--green);padding:9px 15px;float:right}@media(min-width:1600px){.hero-copy{padding-left:max(10%,calc((100vw - 1500px)/2))}}@media(max-width:1050px){.header{padding:24px 4%;gap:20px}.brand{width:190px}.brand img{width:180px}.brand span{font-size:8px}nav{gap:18px;font-size:12px}.nav-contact{padding:10px 12px}.hero-copy{padding:45px 9%}.hero{min-height:680px}h1{font-size:5.2rem}.hero-intro{font-size:23px}.section{padding:75px 6%}.approach-grid{gap:6%}.service-panel{gap:6%}.contact{gap:6%}.values{gap:20px}.values h3{font-size:25px}.universe img{height:410px}.universe figure:nth-child(2) img{height:350px}.studio-mark{padding:90px 25px}}@media(max-width:760px){html{scroll-padding-top:20px}.header{padding:22px 6%;display:block}.brand{display:block;width:200px;margin:auto}.brand img{width:200px}.brand span{font-size:8px;text-align:center}nav{margin-top:22px;justify-content:center;gap:20px;font-size:12px;flex-wrap:wrap}.nav-contact{padding:8px 12px}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:45px 7% 40px}.hero .eyebrow{font-size:10px;margin-bottom:25px}h1{font-size:clamp(3.8rem,12vw,6rem)}.hero-intro{font-size:24px;max-width:100%}.hero-text{font-size:15px}.hero-image{height:460px}.image-note{font-size:9px;left:20px;right:20px;bottom:20px}.signature-line{font-size:19px;display:grid;grid-template-columns:1fr 1fr;text-align:center;padding:22px 5%;gap:8px 14px}.section{padding:60px 7%}.eyebrow{font-size:11px}.approach-grid,.service-panel,.studio,.contact{grid-template-columns:1fr;gap:32px}.approach-grid>div{max-width:none}h2{font-size:clamp(2.7rem,9vw,4rem)}.section-heading{display:block}.section-heading>p{margin-top:25px;font-size:14px}.project-tabs{gap:10px}.project-tabs button{font-size:12px;padding:14px 0;line-height:1.5}.service-panel{padding-top:35px}.service-summary h3{font-size:3.3rem}.service-number{font-size:95px}.service-summary>p:not(.eyebrow){max-width:none}.service-details{margin-top:5px}.manifesto{padding:60px 7%}.manifesto h2{font-size:clamp(2.3rem,8vw,3.6rem)}.values{grid-template-columns:1fr 1fr;margin-top:35px;gap:28px}.values article:last-child{grid-column:1 / -1}.values p{font-size:14px}.universe-grid{gap:25px;grid-template-columns:1fr}.universe figure:nth-child(2){margin-top:0}.universe img,.universe figure:nth-child(2) img{height:420px}.studio-mark{padding:70px 35px}.studio h2{font-size:3rem}.steps{grid-template-columns:1fr 1fr;gap:30px 23px;margin-top:35px}.contact-email{font-size:15px}.contact-area{margin-top:20px!important}.contact form{margin-top:5px}.form-row{gap:18px}label{font-size:12px}input,select,textarea{font-size:16px}.form-note,.privacy-note{font-size:12px}footer{padding:30px 7%;gap:20px;font-size:12px}footer p{width:100%;order:1;margin:0}footer span,footer>a:not(.footer-brand),footer button{order:2}}@media(max-width:380px){nav{gap:12px}.nav-contact{padding:6px 8px}.form-row{grid-template-columns:1fr;gap:0}.steps{grid-template-columns:1fr}.hero .button{width:100%;padding:15px}.project-tabs button{font-size:11px}.image-note{flex-direction:column}.brand span{font-size:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Réalisations et liens sociaux */
.realisations{background:#fff;padding-top:75px;padding-bottom:75px}.project-ribbon{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 60px)/4);gap:20px;overflow-x:auto;padding:0 0 22px;scroll-snap-type:x mandatory;scrollbar-color:var(--green) #e7e4df;scrollbar-width:thin}.project-card{min-width:0;scroll-snap-align:start}.project-card img{width:100%;height:300px;object-fit:cover;transition:filter .2s}.project-card:hover img{filter:brightness(.9)}.project-card figcaption{display:block;margin-top:20px;font-size:14px;letter-spacing:0}.project-category{font-size:10px;letter-spacing:.1em;display:block;line-height:1.6}.project-card h3{font-size:28px;margin-top:10px}.project-card p{font-size:13px;margin-top:10px;line-height:1.6}.project-discover{display:inline-block;font-size:12px;margin-top:14px;border-bottom:1px solid var(--beige)}.social-links{display:flex;gap:20px;flex-wrap:wrap;width:100%;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;margin:0;font-size:14px;order:1}.social-links a:hover{text-decoration:underline}footer>span,footer>a:not(.footer-brand),footer>button{order:2}nav[aria-label="Navigation principale"]{gap:24px}@media(max-width:1050px){.project-ribbon{grid-auto-columns:calc((100% - 40px)/3)}nav[aria-label="Navigation principale"]{gap:14px;font-size:12px}.brand{width:190px}.brand img{width:180px}}@media(max-width:760px){.project-ribbon{grid-auto-columns:82%;gap:20px}.project-card img{height:350px}.project-card h3{font-size:30px}.project-card p{font-size:14px}.social-links{gap:12px 24px;font-size:14px}nav[aria-label="Navigation principale"]{gap:15px}.brand{width:200px}.brand img{width:200px}}
/* Galeries de projets */
.gallery-dialog{width:min(1000px,94vw);max-width:1000px;max-height:94vh;max-height:94svh;padding:24px 30px;border:0;overflow:auto;overscroll-behavior:contain;background:white;color:var(--green)}.gallery-dialog::backdrop{background:rgba(12,19,10,.86)}.gallery-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}.gallery-header .eyebrow{font-size:10px;margin-bottom:7px}.gallery-header h2{font-size:32px;margin:0}.gallery-dialog button{float:none;color:var(--green);background:white;border:1px solid var(--beige);padding:10px 16px;font-size:14px;line-height:1.5}.gallery-dialog button:hover{background:#efeeeb}.gallery-stage{height:min(54vh,520px);height:min(54svh,520px);background:#f3f2ef;display:flex;align-items:center;justify-content:center;position:relative;touch-action:pan-y}.gallery-stage img{width:100%;height:100%;object-fit:contain}.gallery-stage img[hidden]{display:none}.gallery-stage #gallery-error{font-size:15px;padding:24px;text-align:center}.gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:16px}.gallery-controls p{font-size:14px;line-height:1.5;white-space:nowrap}.gallery-caption{font-size:14px;text-align:center;line-height:1.5;margin:12px 0 15px}.gallery-thumbnails{display:flex;justify-content:center;gap:10px}.gallery-dialog .gallery-thumb{padding:3px;border:2px solid transparent;background:#f3f2ef}.gallery-thumb img{width:60px;height:54px;object-fit:cover}.gallery-dialog .gallery-thumb[aria-pressed="true"]{border-color:var(--green)}.gallery-dialog .gallery-close{flex-shrink:0}.project-card:focus-visible{outline-offset:3px}@media(max-width:600px){.gallery-dialog{width:96vw;padding:20px 15px;max-height:96svh}.gallery-header{gap:12px}.gallery-header h2{font-size:28px}.gallery-dialog button{font-size:13px;padding:9px 11px}.gallery-stage{height:50svh}.gallery-controls{gap:10px}.gallery-caption{font-size:13px}.gallery-controls p{font-size:13px}.gallery-header .eyebrow{font-size:9px}.gallery-thumb img{width:54px;height:48px}}

.studio-portrait{margin:0;align-self:center}.studio-portrait img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:50% 65%}.studio-portrait figcaption{display:block;font-size:12px;letter-spacing:.06em;margin-top:14px}.studio>.studio-portrait+div>.eyebrow{margin-bottom:24px}@media(max-width:760px){.studio-portrait img{max-height:620px;aspect-ratio:3/4;object-position:50% 65%}}

[data-cms]{white-space:pre-line}

/* Photos sur téléphone : formats réduits, proportions originales conservées. */
@media(max-width:760px){
  .universe-grid{justify-items:center}
  .universe-grid>figure{width:100%;max-width:280px}
  .universe img,.universe figure:nth-child(2) img{width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain}
  .universe figcaption{flex-wrap:wrap}
  .studio-portrait{width:100%;max-width:280px;justify-self:center}
  .studio-portrait img{width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain}
  .project-card img{width:100%;height:280px;object-fit:contain;background:#f4f3f1}
}
