/* O'Théo — typographie affinée (v2). Styles du contenu central uniquement. Navigation, carte et footer inchangés. */
#otheo-story { --ot-ink:#1c1b19; --ot-night:#181917; --ot-espresso:#24201b; --ot-text:#35312c; --ot-muted:#71685d; --ot-gold:#bd8b56; --ot-gold-light:#e0bf93; --ot-paper:#faf8f3; --ot-cream:#f3eee6; --ot-line:rgba(79,61,41,.17); color:var(--ot-text); background:var(--ot-paper); text-align:left; overflow:hidden; font-family:Roboto,Arial,sans-serif; font-size:16px; line-height:1.82; -webkit-font-smoothing:antialiased; }
#otheo-story *,#otheo-story *::before,#otheo-story *::after {box-sizing:border-box}
#otheo-story h1,#otheo-story h2,#otheo-story h3,#otheo-story p,#otheo-story figure,#otheo-story blockquote {margin:0;padding:0;color:inherit;letter-spacing:normal;text-transform:none;}
#otheo-story img{display:block;max-width:100%;height:auto}
#otheo-story .ot-shell{width:min(1260px,calc(100% - 100px));margin-inline:auto}
#otheo-story .ot-prose p + p{margin-top:1.22em}
#otheo-story .ot-section{padding:clamp(72px,7vw,108px) 0;position:relative}
#otheo-story .ot-section__title{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(1.85rem,2.7vw,2.6rem);line-height:1.23;letter-spacing:-.027em;margin:0 0 27px;max-width:850px;}
#otheo-story .ot-section__title::before{content:'';display:block;width:52px;height:2px;background:var(--ot-gold);margin-bottom:23px;}
#otheo-story .ot-rule{width:64px;height:2px;background:var(--ot-gold);margin:33px 0 30px}
#otheo-story .ot-hero{position:relative;isolation:isolate;min-height:630px;background:var(--ot-night);color:#f5efe6;display:flex;align-items:center;}
#otheo-story .ot-hero__grain{position:absolute;inset:0;background:radial-gradient(ellipse at 24% 18%,rgba(158,115,69,.15),transparent 48%),repeating-linear-gradient(135deg,transparent 0 84px,rgba(255,255,255,.016) 84px 85px);pointer-events:none;z-index:-1}
#otheo-story .ot-hero__layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);min-height:630px;gap:65px;align-items:center;padding-block:75px 78px}
#otheo-story .ot-hero__text{position:relative;z-index:2;padding-right:0}
#otheo-story .ot-hero__title{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(2.35rem,3.05vw,3.35rem);line-height:1.16;letter-spacing:-.045em;max-width:670px;text-wrap:balance;color:#f7f0e5}
#otheo-story .ot-hero__intro{font-size:1.075rem;line-height:1.9;color:#d6cec4;max-width:645px;font-weight:300}
#otheo-story .ot-hero__art{position:relative;align-self:stretch;display:flex;align-items:center;min-height:490px}
#otheo-story .ot-hero__photo-frame{position:relative;width:100%;aspect-ratio:1.4;max-height:680px;overflow:hidden;background:#110e0b;box-shadow:0 38px 78px rgba(0,0,0,.30);z-index:1}
#otheo-story .ot-hero__photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;transform:scale(1.01);animation:ot-breathe 18s ease-in-out infinite alternate;}
#otheo-story .ot-hero__corner{position:absolute;top:-19px;right:-21px;width:46%;height:40%;border:1px solid rgba(224,191,147,.72);z-index:0}
#otheo-story .ot-opening{background:var(--ot-cream);border-bottom:1px solid var(--ot-line);padding:69px 0 73px}
#otheo-story .ot-opening__grid{display:grid;grid-template-columns:1.05fr .8fr;gap:clamp(40px,9vw,135px);align-items:center}
#otheo-story .ot-opening__catch{font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.35rem,1.95vw,1.85rem);font-weight:400;line-height:1.37;letter-spacing:-.02em;color:#4e3928;margin:0 0 22px}
#otheo-story .ot-opening__context{font-size:1.05rem;color:#655b50;line-height:1.95;border-left:1px solid rgba(157,116,73,.45);padding-left:40px}
#otheo-story .ot-quote{position:relative}
#otheo-story .ot-quote__text{font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.05rem,1.25vw,1.21rem);line-height:1.7;letter-spacing:-.01em}
#otheo-story .ot-quote__cite{font-family:Roboto,Arial,sans-serif;color:var(--ot-muted);font-size:.92rem;margin-top:21px;letter-spacing:.02em}
#otheo-story .ot-opening .ot-quote__text{max-width:580px}
#otheo-story .ot-section--history{background:#fcfbf8}
#otheo-story .ot-split--history{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(50px,7vw,115px);align-items:center}
#otheo-story .ot-section--history .ot-prose{font-size:1.04rem}
#otheo-story .ot-image-plate{position:relative;padding:24px 0 24px 26px}
#otheo-story .ot-image-plate::before{content:'';position:absolute;inset:0 18% 10% 0;background:#e6d8c4}
#otheo-story .ot-image-plate__photo{position:relative;overflow:hidden;box-shadow:0 24px 55px rgba(56,41,21,.16)}
#otheo-story .ot-image-plate__photo img{width:100%;min-height:410px;object-fit:cover;transition:transform .9s ease}
#otheo-story .ot-image-plate:hover img{transform:scale(1.045)}
#otheo-story .ot-section--team{background:#f1ebe2}
#otheo-story .ot-team__heading{max-width:795px;margin:0 auto 42px;text-align:center}
#otheo-story .ot-team__heading .ot-section__title{margin-left:auto;margin-right:auto}
#otheo-story .ot-team__heading .ot-section__title::before{margin-left:auto;margin-right:auto}
#otheo-story .ot-team__body{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:70px;max-width:1030px;margin:auto}
#otheo-story .ot-team__transition{border-left:1px solid rgba(142,104,66,.5);padding-left:35px;align-self:center;font-family:Georgia,'Times New Roman',serif;font-size:1.15rem;line-height:1.65;font-style:italic;color:#6d5036}
#otheo-story .ot-two-quotes{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:48px auto 48px;max-width:1030px}
#otheo-story .ot-brief-quote{background:#fffefa;padding:36px 38px;border-top:2px solid #b88b5f;box-shadow:0 12px 32px rgba(74,57,37,.055);font-family:Georgia,'Times New Roman',serif;font-size:1.07rem;line-height:1.72}
#otheo-story .ot-brief-quote p+p{margin-top:17px}
#otheo-story .ot-brief-quote__main{font-size:1.13rem;font-style:italic;color:#704e2b}
#otheo-story .ot-team__after{max-width:900px;margin:auto}
#otheo-story .ot-section--cave{background:#24221e;color:#e8ded0;background-image:radial-gradient(ellipse at 100% 0%,rgba(176,122,61,.10),transparent 48%);}
#otheo-story .ot-cave__intro{max-width:880px;margin:0 auto 65px}
#otheo-story .ot-section--cave .ot-section__title{color:#fff4e2}
#otheo-story .ot-cave__quote{max-width:1010px;margin:0 auto 66px;padding:51px 55px 56px;border:1px solid rgba(222,187,137,.36);border-left:4px solid #b88a51;background:rgba(255,255,255,.035);position:relative}
#otheo-story .ot-cave__quote::before{content:'“';font-family:Georgia,serif;font-size:72px;line-height:1;position:absolute;left:19px;top:5px;color:rgba(201,153,87,.24)}
#otheo-story .ot-cave__quote .ot-quote__text{position:relative;font-size:clamp(1.09rem,1.42vw,1.31rem);line-height:1.76;color:#f1e5d2}
#otheo-story .ot-cave__outro{max-width:870px;margin:auto}
#otheo-story .ot-cave__outro .ot-quote{margin:22px 0 28px;padding:22px 34px;border-left:2px solid var(--ot-gold);color:#e8cba0}
#otheo-story .ot-section--services{background:#fbf9f5}
#otheo-story .ot-services__intro{max-width:960px;margin:0 auto}
#otheo-story .ot-services__intro .ot-section__title{max-width:830px}
#otheo-story .ot-services__testimonials{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin:56px 0 48px}
#otheo-story .ot-services__card{background:#eee6d9;padding:42px 45px;border-radius:2px;display:flex;flex-direction:column;gap:15px}
#otheo-story .ot-services__card>p{font-size:.99rem;color:#64594d}
#otheo-story .ot-services__card .ot-quote__text{font-size:1.13rem;line-height:1.7;color:#4c3827}
#otheo-story .ot-services__outro{max-width:890px;margin:0 auto}
#otheo-story .ot-section--hours{background:#e8dcc9}
#otheo-story .ot-hours__layout{display:grid;grid-template-columns:.88fr 1fr;gap:clamp(65px,10vw,140px)}
#otheo-story .ot-hours__intro .ot-section__title{max-width:520px}
#otheo-story .ot-hours__intro{position:relative}
#otheo-story .ot-hours__aside{padding:14px 0 0 42px;border-left:1px solid rgba(107,76,44,.25)}
#otheo-story .ot-hours__aside .ot-quote{margin:19px 0 32px}
#otheo-story .ot-hours__aside .ot-quote__text{font-size:1.16rem;color:#61432b}
#otheo-story .ot-section--diandra{background:#f5efe5}
#otheo-story .ot-diandra__context{max-width:980px;margin:0 auto 50px}
#otheo-story .ot-diandra__words{max-width:1050px;margin:auto;padding:65px clamp(34px,7vw,90px);background:#e8d4b8;position:relative}
#otheo-story .ot-diandra__words::before{content:'“';position:absolute;top:-32px;left:32px;color:rgba(124,78,34,.38);font-family:Georgia,serif;font-size:88px;line-height:1}
#otheo-story .ot-diandra__words .ot-quote__text{font-size:clamp(1.1rem,1.47vw,1.34rem);line-height:1.78;color:#493723}
#otheo-story .ot-diandra__words .ot-quote__cite{font-weight:700;color:#6e5238}
#otheo-story .ot-section--voices{background:#fffefb}
#otheo-story .ot-voices__grid{display:grid;grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(65px,8vw,125px)}
#otheo-story .ot-voices__grid .ot-section__title{position:sticky;top:120px}
#otheo-story .ot-section--listen{background:#f0eae0}
#otheo-story .ot-listen__opening{max-width:950px;margin:0 auto}
#otheo-story .ot-listen__review{max-width:890px;margin:54px auto;padding:32px 42px;background:rgba(255,255,255,.65);border-left:3px solid #ac8152}
#otheo-story .ot-listen__review .ot-quote__text{font-size:clamp(1.09rem,1.4vw,1.27rem);color:#594536}
#otheo-story .ot-listen__closing{max-width:950px;margin:auto}
#otheo-story .ot-section--closing{background:#1d1e1a;color:#eae4db}
#otheo-story .ot-closing__grid{display:grid;grid-template-columns:minmax(0,1fr) 165px;gap:60px;align-items:center}
#otheo-story .ot-closing__grid .ot-prose{max-width:915px}
#otheo-story .ot-closing__grid .ot-section__title{color:#f5ebdc}
#otheo-story .ot-closing__last{font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.25rem,1.65vw,1.5rem);line-height:1.55;margin-top:34px!important;color:#d3ab79!important}
#otheo-story .ot-closing__ornament{display:grid;place-items:center;position:relative;height:320px;opacity:.5}
#otheo-story .ot-closing__ornament span{position:absolute;width:140px;height:140px;border:1px solid #bf8b58;transform:rotate(45deg)}
#otheo-story .ot-closing__ornament span:nth-child(2){width:105px;height:105px;transform:rotate(22deg)}
#otheo-story .ot-closing__ornament span:nth-child(3){width:62px;height:62px;transform:rotate(45deg)}
/* Reveal only when JS successfully activates; without JS content stays visible. */
#otheo-story.ot-js [data-ot-reveal]{opacity:0;transform:translateY(23px);transition:opacity .85s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
#otheo-story.ot-js [data-ot-reveal].ot-visible{opacity:1;transform:none}
@keyframes ot-breathe {from{transform:scale(1.01)}to{transform:scale(1.065)}}
@media (max-width:1100px){
 #otheo-story .ot-shell{width:min(100% - 68px,1150px)}
 #otheo-story .ot-hero__layout{gap:38px;min-height:580px}
 #otheo-story .ot-hero__title{font-size:clamp(2.2rem,3.8vw,3.2rem)}
 #otheo-story .ot-hero__intro{font-size:1rem}
 #otheo-story .ot-split--history{gap:45px}
 #otheo-story .ot-cave__quote{padding:42px}
}
@media (max-width:760px){
 #otheo-story{font-size:15.5px;line-height:1.78}
 #otheo-story .ot-shell{width:calc(100% - 40px)}
 #otheo-story .ot-section{padding:72px 0}
 #otheo-story .ot-section__title{font-size:clamp(1.65rem,5.6vw,2.1rem);margin-bottom:24px}
 #otheo-story .ot-hero{min-height:0}
 #otheo-story .ot-hero__layout{grid-template-columns:1fr;gap:44px;min-height:0;padding-block:70px 66px}
 #otheo-story .ot-hero__title{font-size:clamp(2.05rem,7.1vw,2.85rem);max-width:700px}
 #otheo-story .ot-hero__intro{font-size:1rem}
 #otheo-story .ot-hero__art{min-height:0;max-width:640px;width:calc(100% - 12px)}
 #otheo-story .ot-hero__photo-frame{aspect-ratio:1.4;max-height:500px}
 #otheo-story .ot-hero__corner{right:-13px}
 #otheo-story .ot-opening{padding:66px 0}
 #otheo-story .ot-opening__grid,#otheo-story .ot-split--history,#otheo-story .ot-team__body,#otheo-story .ot-two-quotes,#otheo-story .ot-services__testimonials,#otheo-story .ot-hours__layout,#otheo-story .ot-voices__grid{grid-template-columns:1fr;gap:30px}
 #otheo-story .ot-opening__context{padding-left:22px}
 #otheo-story .ot-split--history{gap:42px}
 #otheo-story .ot-image-plate__photo img{min-height:240px}
 #otheo-story .ot-team__heading{text-align:left}
 #otheo-story .ot-team__heading .ot-section__title::before{margin-left:0}
 #otheo-story .ot-team__transition{padding-left:22px}
 #otheo-story .ot-two-quotes{margin:36px auto}
 #otheo-story .ot-brief-quote{padding:26px}
 #otheo-story .ot-cave__intro{margin-bottom:32px}
 #otheo-story .ot-cave__quote{padding:36px 28px;margin-bottom:43px}
 #otheo-story .ot-services__testimonials{margin:35px 0}
 #otheo-story .ot-services__card{padding:30px}
 #otheo-story .ot-hours__aside{padding:25px 0 0;border-left:0;border-top:1px solid rgba(107,76,44,.25)}
 #otheo-story .ot-diandra__words{padding:62px 26px 33px}
 #otheo-story .ot-voices__grid .ot-section__title{position:static}
 #otheo-story .ot-listen__review{margin:38px auto;padding:28px}
 #otheo-story .ot-closing__grid{grid-template-columns:1fr;gap:0}
 #otheo-story .ot-closing__ornament{display:none}
}
@media (max-width:760px){
 #otheo-story .ot-opening__catch{font-size:1.43rem}
 #otheo-story .ot-team__transition{font-size:1.08rem}
 #otheo-story .ot-brief-quote{font-size:1.04rem}
 #otheo-story .ot-brief-quote__main{font-size:1.11rem}
 #otheo-story .ot-services__card .ot-quote__text{font-size:1.09rem}
 #otheo-story .ot-hours__aside .ot-quote__text{font-size:1.1rem}
 #otheo-story .ot-cave__quote .ot-quote__text{font-size:1.11rem}
 #otheo-story .ot-diandra__words .ot-quote__text{font-size:1.13rem}
 #otheo-story .ot-listen__review .ot-quote__text{font-size:1.1rem}
 #otheo-story .ot-closing__last{font-size:1.24rem}
}
@media (max-width:430px){
 #otheo-story .ot-shell{width:calc(100% - 32px)}
 #otheo-story .ot-hero__layout{padding-block:55px}
 #otheo-story .ot-hero__title{font-size:2.04rem}
 #otheo-story .ot-hero__photo-frame{aspect-ratio:1.25}
 #otheo-story .ot-quote__text{font-size:1.06rem}
 #otheo-story .ot-cave__quote .ot-quote__text{font-size:1.1rem}
 #otheo-story .ot-diandra__words .ot-quote__text{font-size:1.11rem}
}
@media (prefers-reduced-motion:reduce){
 #otheo-story .ot-hero__photo{animation:none}
 #otheo-story.ot-js [data-ot-reveal]{opacity:1;transform:none;transition:none}
 #otheo-story .ot-image-plate__photo img{transition:none}
}
@media print{#otheo-story .ot-section{padding:32px 0;break-inside:avoid}#otheo-story [data-ot-reveal]{opacity:1!important;transform:none!important}#otheo-story .ot-hero__photo{animation:none!important}}
