/* Finitions transversales ajoutées à la base Claude.ai — sans modifier son ossature. */
:root{
  --content-wide:1240px;
  --ease-premium:cubic-bezier(.22,.68,.2,1);
}

body{min-width:320px;}
.wrap{max-width:var(--content-wide);}
header{position:absolute;inset:0 0 auto;z-index:50;isolation:isolate;background:transparent;border:0;color:var(--paper);}
.nav{width:100%;max-width:none;padding:20px clamp(22px,5vw,82px);border-bottom:1px solid rgba(251,247,241,.2);background:linear-gradient(180deg,rgba(7,20,41,.48),rgba(7,20,41,.08));}
.logo{color:var(--paper);font-size:23px;letter-spacing:.015em;text-shadow:0 2px 18px rgba(5,15,32,.2);}
.logo .fv-mark{color:var(--paper);}
.nav-links{gap:clamp(24px,3vw,45px);font-size:13.5px;letter-spacing:.025em;}
.nav-links a{opacity:.92;color:var(--paper);text-shadow:0 1px 14px rgba(5,15,32,.28);}
.nav-cta{min-height:43px;padding:12px 20px;font-size:12.5px;}
.nav-burger{width:42px;height:42px;border-radius:50%;border:1px solid rgba(251,247,241,.48);display:flex;align-items:center;justify-content:center;background:rgba(9,24,48,.18);cursor:pointer;color:var(--paper);font-size:19px;}
.burger-icon i{background:var(--paper);}
.mobile-menu{display:none;flex-direction:column;background:var(--paper);border-bottom:1px solid var(--line);}
.mobile-menu.open{display:flex;}
.mobile-menu a{padding:14px 24px;border-top:1px solid var(--line);font-size:14px;font-weight:600;}
.mobile-menu .btn{margin:14px 24px 20px;}
@media(min-width:900px){.nav-burger{display:none!important}.mobile-menu{display:none!important}}
.nav-links a{position:relative;}
.nav-links a::after{
  content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;
  background:var(--gold);transition:right .3s var(--ease-premium);
}
.nav-links a:hover::after,.nav-links a:focus-visible::after{right:0;}
.mobile-menu{box-shadow:0 24px 35px -28px rgba(16,33,61,.5);}
.mobile-menu a{min-height:52px;display:flex;align-items:center;color:var(--ink);}
.mobile-menu .btn{justify-content:center;}

.btn[aria-disabled="true"],button.btn:disabled{
  cursor:not-allowed;filter:saturate(.55);opacity:.72;transform:none!important;box-shadow:none;
}
.link-note{margin-top:13px!important;font-size:12.5px!important;opacity:.68;}

/* En-tête immersif pleine largeur. */
.hero{position:relative;display:flex;align-items:center;min-height:clamp(680px,92svh,940px);padding:126px 0 72px;background:#10213d;overflow:hidden;}
.hero-panorama{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:58% center;}
.hero-veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,20,43,.91) 0%,rgba(8,25,50,.74) 30%,rgba(8,25,50,.28) 56%,rgba(8,25,50,.05) 76%),linear-gradient(180deg,rgba(6,18,37,.12) 55%,rgba(6,18,37,.55) 100%);}
.hero .hero-grid{position:relative;z-index:2;width:100%;max-width:none;margin:0;padding-inline:clamp(24px,7vw,126px);display:block;}
.hero-copy{max-width:680px;}
.hero-copy .eyebrow{margin-bottom:23px;color:var(--gold-light);letter-spacing:.18em;}
.hero-copy .eyebrow::before{background:var(--gold-light);box-shadow:0 0 0 5px rgba(217,185,120,.14);}
.hero-copy h1{max-width:13.2ch;color:var(--paper);font-size:clamp(47px,5.65vw,80px);font-weight:400;line-height:1.015;letter-spacing:-.03em;text-wrap:balance;text-shadow:0 3px 28px rgba(3,13,30,.24);}
.hero-copy h1 em{color:var(--gold-light);font-weight:400;}
.hero-sub{max-width:52ch;margin-top:30px;color:rgba(251,247,241,.88);font-size:clamp(15px,1.2vw,17.5px);line-height:1.78;letter-spacing:.002em;text-shadow:0 2px 16px rgba(3,13,30,.26);}
.hero-ctas{margin-top:32px;gap:12px;}
.hero-ctas .btn{min-height:48px;padding:14px 21px;font-size:12.5px;letter-spacing:.01em;}
.hero-meta{display:grid;grid-template-columns:repeat(3,minmax(0,auto));justify-content:start;gap:0;margin-top:43px;border-top:1px solid rgba(251,247,241,.23);}
.hero-meta div{min-width:145px;padding:19px 28px 0 0;margin-right:28px;color:rgba(251,247,241,.7);line-height:1.45;}
.hero-meta div+div{padding-left:28px;border-left:1px solid rgba(251,247,241,.18);}
.hero-meta strong{display:block;margin-bottom:5px;color:var(--gold-light);font-size:20px;font-weight:400;line-height:1;letter-spacing:-.01em;}
.hero-meta span{display:block;max-width:21ch;font-size:10px;font-weight:600;letter-spacing:.075em;line-height:1.5;text-transform:uppercase;}
@media(max-width:899px){
  .nav{padding-block:14px;}
  .mobile-menu{position:absolute;top:100%;left:0;right:0;}
  .hero{min-height:760px;padding:112px 0 58px;align-items:flex-end;}
  .hero-panorama{object-position:69% center;}
  .hero-veil{background:linear-gradient(90deg,rgba(6,20,43,.88),rgba(7,22,46,.5) 70%,rgba(7,22,46,.2)),linear-gradient(0deg,rgba(6,18,37,.82),rgba(6,18,37,.08) 72%);}
  .hero .hero-grid{padding-inline:24px;}
  .hero-copy{max-width:640px;}
}
@media(max-width:560px){
  .hero{min-height:720px;padding-bottom:42px;}
  .hero-copy h1{font-size:clamp(39px,12vw,52px);line-height:1.02;letter-spacing:-.025em;}
  .hero-sub{margin-top:20px;font-size:14.5px;line-height:1.62;}
  .hero-ctas{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:25px;}
  .hero-ctas .btn{width:100%;padding-inline:12px;white-space:normal;text-align:center;}
  .hero-meta{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:29px;}
  .hero-meta div{min-width:0;margin:0;padding:14px 8px 0 0;}
  .hero-meta div+div{padding-left:10px;}
  .hero-meta strong{font-size:17px;}
  .hero-meta span{font-size:8px;letter-spacing:.045em;line-height:1.35;}
}

/* Bloc manifeste : finitions éditoriales. */
.positioning{padding:42px 0 40px;}
.positioning::after{content:"";position:absolute;z-index:2;left:50%;bottom:-18px;width:1px;height:36px;background:linear-gradient(180deg,var(--gold-light),rgba(176,138,62,.08));}
.positioning .pos-grid{gap:30px;}
.positioning .pos-lead{max-width:35ch;}
.positioning .pos-lead h2{font-size:clamp(28px,3.1vw,38px);font-weight:400;line-height:1.14;letter-spacing:-.018em;}
.positioning .pos-lead h2 em{font-weight:400;}
.pos-intro{max-width:34ch;margin-top:16px;color:rgba(251,247,241,.62);font-size:13.5px;line-height:1.65;}
.positioning .pos-list{gap:0;margin-top:0;}
.positioning .pos-item{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:start;gap:17px;padding:15px 0;border-top-color:rgba(251,247,241,.085);}
.positioning .pos-item:first-child{padding-top:4px;}
.positioning .pos-item .num{width:auto;padding-top:1px;color:var(--gold-light);font-size:27px;font-weight:400;line-height:1;letter-spacing:-.035em;opacity:.96;}
.positioning .pos-item p{max-width:62ch;color:rgba(251,247,241,.7);font-size:14px;line-height:1.58;}
.positioning .pos-item strong{margin-bottom:4px;color:var(--paper);font-family:var(--serif);font-size:17.5px;font-weight:500;line-height:1.25;letter-spacing:-.005em;}
.positioning + .parcours{padding-top:58px;}
@media(min-width:900px){
  .positioning .pos-grid{grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr);align-items:center;gap:clamp(54px,7vw,96px);}
}
@media(max-width:899px){
  .positioning{padding:39px 0 36px;}
  .positioning .pos-grid{gap:25px;}
  .positioning .pos-item{grid-template-columns:48px minmax(0,1fr);gap:13px;padding:14px 0;}
  .positioning .pos-item .num{font-size:23px;}
  .positioning + .parcours{padding-top:52px;}
}

/* Parcours : micro-finitions sans changement de structure. */
.parcours .section-head{margin-bottom:40px;}
.parcours .journey-steps{gap:30px clamp(34px,5vw,62px);align-items:start;}
.parcours .step{min-height:84px;padding-left:58px;padding-right:8px;}
.parcours .step .dot{top:0;width:40px;height:40px;border-color:rgba(176,138,62,.55);background:rgba(251,247,241,.8);font-size:13px;box-shadow:0 0 0 5px rgba(176,138,62,.035);}
.parcours .step h3{margin-bottom:7px;color:var(--ink);font-family:var(--serif);font-size:19px;font-weight:500;line-height:1.2;letter-spacing:-.008em;}
.parcours .step p{max-width:46ch;color:rgba(27,46,79,.76);font-size:14.25px;line-height:1.62;}
.parcours .journey-line{top:3px;bottom:5px;background:repeating-linear-gradient(180deg,rgba(176,138,62,.5) 0 4px,transparent 4px 11px);opacity:.5;}
.parcours .doors{margin-top:48px;gap:18px;align-items:stretch;}
.parcours .door{position:relative;min-height:245px;padding:31px 30px 30px;gap:0;overflow:hidden;border-color:rgba(16,33,61,.085);border-radius:18px;background:rgba(255,255,255,.74);box-shadow:0 18px 48px -42px rgba(16,33,61,.42);}
.parcours .door::before{content:"";position:absolute;top:0;left:30px;width:52px;height:2px;background:linear-gradient(90deg,var(--gold),var(--gold-light));}
.parcours .door:hover{transform:translateY(-2px);box-shadow:0 22px 48px -38px rgba(16,33,61,.36);}
.parcours .door-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:18px;margin-bottom:26px;}
.parcours .door .tag{justify-self:start;align-self:start;max-width:100%;padding:5px 10px;border:1px solid rgba(16,33,61,.075);border-radius:999px;background:rgba(242,234,218,.48);color:rgba(27,46,79,.66);font-size:9.25px;font-weight:700;letter-spacing:.105em;line-height:1.35;}
.parcours .door.free .tag,.parcours .door.paid .tag{background:rgba(242,234,218,.48);color:rgba(27,46,79,.66);}
.parcours .door .price{min-width:66px;color:var(--gold);font-size:21px;font-weight:400;line-height:1.15;text-align:right;letter-spacing:-.015em;}
.parcours .door h3{font-size:clamp(23px,2.3vw,28px);font-weight:450;line-height:1.17;letter-spacing:-.015em;}
.parcours .door>p{max-width:55ch;margin-top:13px;color:rgba(27,46,79,.76);font-size:14px;line-height:1.68;}
.parcours .door .offer-link{align-self:flex-start;margin-top:auto;padding-top:21px;font-size:12px;}
@media(max-width:699px){
  .parcours .section-head{margin-bottom:34px;}
  .parcours .journey-steps{gap:25px;}
  .parcours .step{min-height:0;padding-left:55px;padding-right:0;}
  .parcours .doors{margin-top:42px;}
  .parcours .door{min-height:0;padding:28px 23px 26px;}
  .parcours .door::before{left:23px;}
  .parcours .door-row{gap:12px;margin-bottom:23px;}
  .parcours .door .tag{font-size:8.5px;}
  .parcours .door .price{min-width:54px;font-size:19px;}
}

/* Offres : hiérarchie éditoriale et tarifs posés sur la ligne. */
.offres{padding:62px 0 72px;}
.offres .section-head{margin-bottom:38px;}
.offres .offres-grid{gap:16px;align-items:stretch;}
.offres .offer-card{position:relative;padding:32px 29px 29px;gap:0;overflow:hidden;border-color:rgba(16,33,61,.075);border-radius:18px;background:rgba(255,255,255,.78);box-shadow:0 18px 48px -44px rgba(16,33,61,.4);}
.offres .offer-card::before{content:"";position:absolute;top:0;left:29px;width:46px;height:2px;background:linear-gradient(90deg,var(--gold),var(--gold-light));}
.offres .offer-card:hover{transform:translateY(-2px);box-shadow:0 22px 50px -40px rgba(16,33,61,.36);}
.offres .offer-card.featured{background:linear-gradient(155deg,#10213d 0%,#172d50 100%);border-color:rgba(217,185,120,.17);box-shadow:0 22px 54px -42px rgba(8,23,48,.72);}
.offres .offer-name{display:block;color:var(--ink);font-family:var(--serif);font-size:23px;font-weight:500;line-height:1.18;letter-spacing:-.012em;text-transform:none;}
.offres .offer-card.featured .offer-name{color:var(--paper);}
.offres .offer-price{display:flex;align-items:baseline;gap:5px;min-height:55px;margin-top:13px;color:var(--ink);font-family:var(--serif);font-size:43px;font-weight:400;line-height:1.08;letter-spacing:-.028em;}
.offres .offer-card.featured .offer-price{color:var(--gold-light);}
.offres .offer-price .price-prefix{margin-right:1px;font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.035em;text-transform:uppercase;opacity:.64;}
.offres .offer-price .currency{font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:0;opacity:.58;}
.offres .offer-desc{margin-top:17px;color:rgba(27,46,79,.78);font-size:14px;line-height:1.65;}
.offres .offer-card.featured .offer-desc{color:rgba(251,247,241,.72);}
.offres .offer-details{margin-top:24px;padding-top:0;border-top-color:rgba(16,33,61,.09);}
.offres .offer-card.featured .offer-details{border-top-color:rgba(251,247,241,.13);}
.offres .offer-details summary{min-height:52px;padding:14px 0 12px;color:var(--ink);font-size:11px;font-weight:700;letter-spacing:.085em;line-height:1.4;text-transform:uppercase;}
.offres .offer-card.featured .offer-details summary{color:var(--gold-light);}
.offres .offer-details summary::after{width:27px;height:27px;border:1px solid rgba(176,138,62,.25);border-radius:50%;display:grid;place-items:center;flex:none;font-family:var(--sans);font-size:15px;line-height:1;}
.offres .offer-details summary:hover::after{border-color:rgba(176,138,62,.58);background:rgba(176,138,62,.07);}
.offres .offer-card.featured .offer-details summary::after{border-color:rgba(217,185,120,.3);}
.offres .offer-inc{margin-top:4px;padding-bottom:3px;gap:8px;}
.offres .offer-inc li{padding-left:16px;color:rgba(27,46,79,.76);font-size:13px;line-height:1.52;}
.offres .offer-not-inc{margin-top:12px;font-size:11.5px;line-height:1.55;}
.offres .offer-link{align-self:flex-start;margin-top:auto;padding-top:25px;color:var(--ink);font-size:12px;font-weight:700;letter-spacing:.02em;line-height:1.4;}
.offres .offer-link::after{color:var(--gold);font-size:15px;}
.offres .offer-card.featured .offer-link{color:var(--paper);}
.offres .offer-card.featured .offer-link::after{color:var(--gold-light);}
@media(min-width:900px){
  .offres .offres-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:899px){
  .offres .offer-card{padding:29px 25px 26px;}
  .offres .offer-card::before{left:25px;}
}

/* Univers : une seule ligne horizontale, volontaire et pilotable. */
.univers-shell{position:relative;max-width:none!important;}
.univers-scroll{scroll-padding-inline:clamp(24px,5vw,84px);overscroll-behavior-inline:contain;margin:0!important;padding-left:max(24px,calc((100vw - 1240px)/2 + 24px))!important;padding-right:max(24px,calc((100vw - 1240px)/2 + 24px))!important;}
.u-card{width:238px;height:318px;padding:24px;transition:transform .45s var(--ease-premium),box-shadow .45s ease;}
.u-card:nth-child(1),.u-card:nth-child(4){width:276px;}
.u-card:hover{transform:translateY(-5px);box-shadow:0 24px 48px -26px rgba(16,33,61,.55);}
.u-card span{font-size:23px;}
.u-card small{font-size:13px;line-height:1.45;opacity:.9;}
.u-card:focus-visible{outline-color:var(--gold-light);}
.univers-controls{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:8px;}
.scroll-buttons{display:none;gap:8px;}
.scroll-button{
  width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:var(--white);
  color:var(--ink);font-size:18px;cursor:pointer;transition:border-color .25s,transform .25s;
}
.scroll-button:hover{border-color:var(--gold);transform:translateY(-2px);}
@media(min-width:900px){.scroll-buttons{display:flex;}.univers-scroll{padding-bottom:28px;}}

/* Album éditorial. */
.albums{padding:90px 0 100px;background:var(--paper-deep);}
.albums>.wrap{max-width:none;padding-inline:clamp(24px,4vw,72px);}
.album-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:34px;}
.album-heading .section-head{margin-bottom:0;}
.album-library-link{display:inline-flex;align-items:center;gap:10px;flex:none;padding:12px 0;border-bottom:1px solid var(--gold);color:var(--ink);font-size:13px;font-weight:700;}
.album-library-link span{color:var(--gold);font-size:18px;transition:transform .25s;}
.album-library-link:hover span{transform:translateX(4px);}
.album-grid{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:190px;gap:12px;}
.album-card{position:relative;overflow:hidden;border:0;border-radius:20px;min-height:0;margin:0;padding:0;background:var(--ink);color:inherit;font:inherit;text-align:left;cursor:pointer;}
.album-card:first-child{grid-column:1/-1;grid-row:span 2;}
.album-card img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease-premium);}
.album-card:hover img{transform:scale(1.035);}
.album-card:focus-visible{outline:3px solid var(--gold);outline-offset:3px;}
.album-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(10,24,46,.76));}
.album-count{position:absolute;z-index:2;top:16px;right:16px;padding:7px 10px;border:1px solid rgba(251,247,241,.45);border-radius:999px;background:rgba(10,24,46,.7);backdrop-filter:blur(8px);color:var(--paper);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;}
.album-caption{position:absolute;z-index:1;left:20px;right:20px;bottom:18px;color:var(--paper);}
.album-caption span{display:block;font-family:var(--serif);font-size:19px;line-height:1.2;}
.album-caption small{display:block;margin-top:4px;font-size:12px;opacity:.84;}
.album-dialog{width:min(1080px,calc(100% - 32px));max-height:92svh;margin:auto;padding:0;border:0;border-radius:28px;background:var(--paper);color:var(--ink);box-shadow:0 32px 90px rgba(6,18,38,.42);}
.album-dialog::backdrop{background:rgba(5,16,34,.76);backdrop-filter:blur(5px);}
.album-dialog-shell{position:relative;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(230px,.55fr);gap:22px;padding:clamp(24px,4vw,46px);overflow:auto;max-height:92svh;}
.album-dialog-close{position:absolute;z-index:3;top:17px;right:17px;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:rgba(251,247,241,.92);color:var(--ink);font-size:25px;line-height:1;cursor:pointer;}
.album-dialog-close:hover{border-color:var(--gold);}
.album-dialog-head{grid-column:1/-1;padding-right:54px;}
.album-dialog-head h2{font-size:clamp(30px,4.4vw,48px);margin-top:5px;}
.album-dialog-head>p:last-child{max-width:68ch;margin-top:9px;color:var(--ink-soft);font-size:14px;}
.album-featured{margin:0;min-width:0;}
.album-featured img{display:block;width:100%;height:clamp(280px,49vw,530px);object-fit:cover;border-radius:20px;background:var(--paper-deep);}
.album-featured figcaption{margin-top:10px;color:var(--ink-soft);font-size:12.5px;}
.album-thumbnails{display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:10px;}
.album-thumb{position:relative;aspect-ratio:4/3;padding:0;overflow:hidden;border:2px solid transparent;border-radius:13px;background:var(--paper-deep);cursor:pointer;}
.album-thumb img{display:block;width:100%;height:100%;object-fit:cover;}
.album-thumb[aria-current="true"]{border-color:var(--gold);}
.album-thumb:focus-visible{outline:3px solid var(--gold);outline-offset:2px;}
.album-disclaimer{grid-column:1/-1;margin:0;padding-top:4px;color:var(--ink-soft);font-size:11.5px;}
body:has(.album-dialog[open]){overflow:hidden;}
@media(min-width:780px){
  .album-grid{grid-template-columns:1.15fr .85fr .85fr;grid-auto-rows:210px;gap:16px;}
  .album-card:first-child{grid-column:auto;grid-row:span 2;}
  .album-card:nth-child(4){grid-column:2/4;}
}

/* Exemples de ressources. */
.resource-examples{margin-top:58px;padding-top:50px;border-top:1px solid rgba(251,247,241,.14);}
.resource-head{max-width:58ch;margin-bottom:28px;}
.resource-head h3{font-size:clamp(24px,4vw,32px);color:var(--paper);}
.resource-head p{margin-top:10px;color:rgba(251,247,241,.68);font-size:14.5px;}
.resource-grid{display:grid;gap:12px;}
.resource-model{
  min-height:190px;padding:23px;border-radius:20px;display:flex;flex-direction:column;
  background:rgba(251,247,241,.055);border:1px solid rgba(251,247,241,.14);
  transition:background .3s,border-color .3s,transform .3s;
}
.resource-model:hover{background:rgba(251,247,241,.085);border-color:rgba(217,185,120,.42);transform:translateY(-3px);}
.resource-index{font-family:var(--serif);font-style:italic;color:var(--gold-light);font-size:14px;}
.resource-model h4{margin:23px 0 7px;color:var(--paper);font-family:var(--serif);font-size:19px;font-weight:500;}
.resource-model p{font-size:13.5px;color:rgba(251,247,241,.67);line-height:1.55;}
.resource-example-note{margin-top:auto!important;padding-top:15px;font-size:11.5px!important;color:var(--gold-light)!important;}
@media(min-width:650px){.resource-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1050px){.resource-grid{grid-template-columns:repeat(4,1fr);}}

/* Formalités. */
.formalites{padding:78px 0;background:var(--paper);}
.formalites-grid{display:grid;gap:28px;}
.formalites-card{background:var(--white);border:1px solid var(--line);border-radius:26px;padding:28px;box-shadow:0 25px 55px -40px rgba(16,33,61,.42);}
.formalites-card h3{font-size:21px;margin-bottom:12px;}
.formalites-card p{color:var(--ink-soft);font-size:14.5px;}
.official-links{display:grid;gap:10px;margin-top:22px;}
.official-link{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 16px;border:1px solid var(--line);border-radius:13px;font-size:13.5px;font-weight:600;transition:border-color .25s,background .25s;}
.official-link::after{content:"↗";color:var(--gold);font-size:16px;}
.official-link:hover{border-color:var(--gold);background:var(--paper);}
.responsibility{background:var(--ink);color:var(--paper);border-radius:26px;padding:30px;}
.responsibility h3{color:var(--paper);font-size:22px;}
.responsibility p{margin-top:12px;color:rgba(251,247,241,.76);font-size:14.5px;}
@media(min-width:860px){.formalites-grid{grid-template-columns:1.05fr .95fr;align-items:stretch;}}

/* FAQ native, accessible et fermée au chargement. */
.faq{padding:78px 0 88px;background:var(--paper-deep);}
.faq-list{border-top:1px solid var(--line);}
.faq-item{border-bottom:1px solid var(--line);}
.faq-item summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 2px;cursor:pointer;font-family:var(--serif);font-size:18px;line-height:1.35;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+";width:30px;height:30px;border:1px solid rgba(176,138,62,.48);border-radius:50%;display:grid;place-items:center;flex:none;color:var(--gold);font-family:var(--sans);font-size:18px;transition:transform .25s,background .25s;}
.faq-item[open] summary::after{transform:rotate(45deg);background:var(--gold);color:var(--ink);}
.faq-answer{padding:0 52px 23px 2px;color:var(--ink-soft);font-size:14.5px;max-width:75ch;}

/* Portrait plus présent et composition équilibrée. */
.about-grid{align-items:center;}
.about-photo-frame{width:min(100%,360px);aspect-ratio:4/5;}
.about-photo-col{justify-content:center;}
@media(min-width:880px){
  .about-grid{grid-template-columns:minmax(260px,360px) minmax(0,1fr);gap:clamp(46px,7vw,94px);}
  .about-photo-frame{width:100%;}
}

@media(max-width:680px){
  .hero{padding-top:112px;}
  .hero-copy h1 br{display:none;}
  .hero-ctas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}
  .final-ctas{display:grid;grid-template-columns:1fr;}
  .hero-ctas .btn,.final-ctas .btn{width:100%;white-space:normal;text-align:center;}
  .hero-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;}
  .album-grid{grid-auto-rows:165px;}
  .album-caption small{display:none;}
  .album-heading{display:block;margin-bottom:25px;}
  .album-library-link{margin-top:16px;}
  .album-count{top:10px;right:10px;font-size:9px;}
  .album-dialog-shell{display:block;padding:24px 18px 22px;}
  .album-dialog-head{padding-right:45px;margin-bottom:18px;}
  .album-featured img{height:min(56vh,360px);}
  .album-thumbnails{margin-top:15px;grid-template-columns:repeat(4,1fr);gap:6px;}
  .album-thumb{border-radius:8px;}
  .album-disclaimer{margin-top:18px;}
  .future-card{padding:22px;}
  .stack{transform:scale(.88);margin-inline:-18px;}
}
@media(max-width:410px){
  .hero-ctas{grid-template-columns:1fr;}
}
