/* G1: a calmer editorial cadence and a more substantial report preview. */
:root {
  --g1-warm-white: #faf9f6;
  --g1-soft-red: #f8e9eb;
}

/* Alternating surfaces make the six blocks easier to scan as a sequence. */
.method {
  padding: 78px 0 82px;
  background: var(--paper);
}

.audience {
  padding: 86px 0 90px;
  background: var(--white);
}

.report {
  padding: 86px 0 92px;
  background: var(--g1-warm-white);
}

.physician {
  padding: 86px 0 90px;
  background: var(--white);
}

.process {
  padding: 88px 0 98px;
  background: var(--paper);
}

.eyebrow {
  margin-bottom: 18px;
  font-size: 11px;
  letter-spacing: .1em;
}

h1 {
  letter-spacing: -.035em;
  line-height: 1.03;
}

h2 {
  letter-spacing: -.04em;
  line-height: 1.05;
}

.section-head > p,
.report-intro > p:last-child,
.physician-lead {
  font-size: 16px;
  line-height: 1.65;
}

.moment-grid {
  margin-top: 46px;
}

.moment-no,
.report-card header,
.report-card footer,
.boundary span,
.process-track b {
  font-size: 11px;
}

.report-layout {
  grid-template-columns: .72fr 1.28fr;
  gap: clamp(48px, 8vw, 128px);
}

.report-stack {
  position: relative;
  width: min(100%, 710px);
  padding: 17px 0 0 18px;
}

.report-sheet--back {
  position: absolute;
  z-index: 0;
  inset: 0 0 0 0;
  border: 1px solid rgba(36, 40, 43, .12);
  border-radius: 18px;
  background: #f1ece5;
  box-shadow: 12px 16px 0 rgba(207, 196, 184, .55);
  transform:rotate(-1.2deg);
}

.report-card {
  position: relative;
  z-index: 1;
  min-height: 480px;
  border-radius: 18px;
  box-shadow: 0 12px 30px rgba(71, 57, 43, .12);
}

.report-card header {
  padding: 23px 32px;
  font-size: 11px;
  letter-spacing: .08em;
}

.report-card-title {
  padding: 39px 32px 35px;
}

.report-card-title p {
  font-size: clamp(31px, 3vw, 42px);
  letter-spacing: -.045em;
  line-height: 1.03;
}

.report-card-title span {
  font-size: 12px;
  line-height: 1.5;
}

.report-card dl {
  padding: 0 32px;
}

.report-card dl > div {
  grid-template-columns: 1.05fr .95fr;
  gap: 32px;
  margin: 0 -12px;
  padding: 22px 12px;
  border-top-color: rgba(36, 40, 43, .12);
  transition: background-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.report-card dt,
.report-card dd {
  font-size: 13px;
  line-height: 1.55;
}

.report-card dt {
  gap: 11px;
}

.report-card dt i {
  font-size: 11px;
}

.report-card dl > div:first-child {
  border-top: 0;
}

.report-card footer {
  margin-top: 1px;
  padding: 16px 32px;
  font-size: 11px;
}

@media (hover: hover) and (pointer: fine) {
  .report-card .report-row:hover {
    background: var(--g1-soft-red);
    box-shadow: inset 3px 0 0 var(--red);
    transform: translateX(2px);
  }
}

/* The three inputs remain distinct documents while retaining their literal labels. */
.discussion-sources li:nth-child(1) { background: #fff8f8; }
.discussion-sources li:nth-child(2) { background: #f7f3ed; }
.discussion-sources li:nth-child(3) { background: #f8f8f7; }
.discussion-sources li:nth-child(2) svg { stroke: var(--wine); }
.discussion-sources li:nth-child(3) svg { stroke: #8c6c49; }

@media (max-width: 900px) {
  .method { padding: 70px 0 74px; }
  .audience, .report, .physician, .process { padding: 76px 0; }
  .report-layout { grid-template-columns:1fr; gap: 40px; }
  .report-stack { max-width: 680px; }
}

@media (max-width: 540px) {
  .method { padding: 58px 0 62px; }
  .audience, .report, .physician, .process { padding: 64px 0; }
  .eyebrow { font-size: 10px; }
  h1 { font-size: clamp(29px,8.4vw,38px); letter-spacing: -.035em; }
  h2 { font-size: 38px; }
  .hero-lead { margin-top:0; }
  .section-head > p, .report-intro > p:last-child, .physician-lead { font-size: 15px; }
  .report-stack { padding: 11px 0 0 11px; }
  .report-sheet--back { border-radius: 14px; box-shadow: 7px 9px 0 rgba(207, 196, 184, .55); }
  .report-card { min-height: 0; border-radius: 14px; }
  .report-card header, .report-card-title, .report-card dl, .report-card footer { padding-left: 20px; padding-right: 20px; }
  .report-card header { padding-top: 17px; padding-bottom: 17px; font-size: 9px; }
  .report-card-title { display:block; padding-top: 29px; padding-bottom: 26px; }
  .report-card-title p { font-size: 29px; }
  .report-card-title span { display:block; margin-top:14px; text-align:left; font-size: 11px; }
  .report-card dl > div { grid-template-columns: 1fr; gap: 7px; margin: 0 -8px; padding: 17px 8px; }
  .report-card dt, .report-card dd { font-size: 12px; }
  .report-card footer { padding-top: 13px; padding-bottom: 13px; font-size: 9px; }
  .discussion-sources { grid-template-columns:1fr; gap:0; padding:8px 18px; border:1px solid var(--line); border-radius:16px; background:var(--paper); }
  .discussion-sources li { display:flex; align-items:center; gap:18px; min-height:88px; padding:16px 0; border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; }
  .discussion-sources li:last-child { border-bottom:0; }
  .discussion-sources svg { flex:none; margin:0; }
  .discussion-sources h3 { font-size:15px; line-height:1.35; }
  .discussion-sources::after,.discussion-sources li::after { display:none; }
  .discussion-connector { height:38px; }
  .discussion-connector::before { top:0; }
}

@media (max-width: 350px) {
  h1 { font-size: 28px; }
  h2 { font-size: 34px; }
  .report-card-title { display:block; }
  .report-card-title span { display:block; margin-top:12px; text-align:left; }
}

@media (prefers-reduced-motion: reduce) {
  .report-card dl > div { transition:none; }
  .report-card .report-row:hover { transform:none; }
}

/* Expanded G1 content: designed as page sections, while keeping G1's existing palette. */
.header-link { border:0; background:transparent; cursor:pointer; }
button { font-family:inherit; }
button.button { border:0; cursor:pointer; }
button:focus-visible { outline:3px solid var(--red); outline-offset:4px; }
body.has-dialog { overflow:hidden; }
.button--light:hover { color:#fff; }
@media (max-width:540px) {
  .method .video-poster { min-height:300px; aspect-ratio:auto; }
  .method .video-poster-copy { left:20px; right:20px; top:90px; }
  .method .video-play { top:40px; }
  .moment.moment--red { padding-bottom:170px; }
  .moment.moment--red h3,.moment.moment--red p { max-width:100%; }
  .moment.moment--red .moment-no { margin-bottom:32px; }
  .moment.moment--red .moment-photo { height:215px; width:68%; bottom:-30px; right:-4%; }
}
.moment--light::before { display:none; }
.text-button { display:inline-flex; align-items:center; gap:10px; margin-top:28px; padding:0; border:0; border-bottom:1px solid var(--red); background:transparent; color:var(--wine); font:700 12px/1.4 Manrope,Arial,sans-serif; cursor:pointer; }
.text-button span { font-size:17px; color:var(--red); }
.process-scene--contact .process-steps a.text-button { margin-top:14px; color:#fff; border-bottom-color:rgba(255,255,255,.82); font-size:15px; }
.process-scene--contact .process-steps a.text-button span { color:#fff; }
.process-scene--contact .process-steps a.text-button:focus-visible { outline:2px solid #fff; outline-offset:4px; }
.report-intro > p:not(.eyebrow) { max-width:405px; margin:26px 0 0; color:var(--muted); font-size:16px; line-height:1.65; }
.video-poster { isolation:isolate; background:linear-gradient(132deg,#fbf8f3 0%,#fff 48%,#f1d6d9 100%); }
.video-poster::after { content:""; position:absolute; z-index:-1; width:47%; aspect-ratio:1; right:12%; bottom:-23%; border-radius:50%; background:linear-gradient(135deg,rgba(217,31,61,.85),rgba(159,23,49,.15)); box-shadow:-70px -28px 0 rgba(255,255,255,.62),-121px -64px 0 rgba(159,23,49,.08); }
.video-poster-copy { position:absolute; z-index:1; left:clamp(20px,5vw,48px); top:31%; }
.video-poster-copy p { margin:0 0 10px; font:600 clamp(25px,3.2vw,45px)/1 Montserrat,Manrope,sans-serif; letter-spacing:-.06em; }
.video-poster-copy span { color:var(--wine); font-size:12px; }
.video-agenda { position:absolute; z-index:1; right:clamp(19px,4vw,43px); bottom:27px; display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px; max-width:390px; margin:0; padding:0; list-style:none; }
.video-agenda li { padding:8px 11px; border:1px solid rgba(159,23,49,.2); border-radius:999px; background:rgba(255,255,255,.6); color:var(--wine); font-size:10px; font-weight:700; }
.video-play { z-index:2; left:auto; right:clamp(23px,7vw,76px); top:30px; width:48px; height:48px; transform:none; opacity:.8; pointer-events:none; }
.moment-photo { position:absolute; right:-7%; bottom:-23%; width:60%; height:125%; object-fit:contain; opacity:.93; filter:drop-shadow(0 18px 21px rgba(95,0,17,.23)); }
.moment--red h3,.moment--red p,.moment--red .moment-no { max-width:56%; }
.calendar-art { position:absolute; right:30px; top:31px; display:grid; grid-template-columns:repeat(3,20px); gap:8px; width:100px; padding:29px 16px 16px; border:1px solid rgba(159,23,49,.28); border-radius:12px; background:rgba(255,255,255,.68); transform:rotate(7deg); }
.calendar-art::before { content:""; position:absolute; top:14px; left:16px; right:16px; height:1px; background:rgba(159,23,49,.4); }
.calendar-art i { width:20px; height:16px; border-radius:3px; background:rgba(217,31,61,.12); }.calendar-art i:nth-child(2),.calendar-art i:nth-child(5) { background:var(--red); }

.process { padding-top:95px; padding-bottom:108px; }
.process-head { margin-bottom:50px; }
.process-scenes { display:grid; gap:18px; margin:0; padding:0; list-style:none; }
.process-scene { display:grid; grid-template-columns:1fr 1fr; min-height:430px; overflow:hidden; border-radius:22px; background:#fff; }
.process-scene--contact { background:var(--wine); color:#fff; }.process-scene--sample { background:#f0eae2; }.process-scene--report { grid-template-columns:.83fr 1.17fr; background:#fff; border:1px solid rgba(36,40,43,.12); }
.process-scene-photo { position:relative; min-height:100%; overflow:hidden; background:linear-gradient(140deg,#e9cfd1,#f5e9e5); }.process-scene--sample .process-scene-photo { background:linear-gradient(140deg,#fffaf7,#e9d9d2); }
.process-scene-photo img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; padding:17px; filter:drop-shadow(0 22px 22px rgba(65,20,22,.18)); }
.process-scene-copy { padding:44px clamp(26px,5vw,68px); }.scene-index { margin:0 0 56px; color:var(--red); font-size:11px; font-weight:700; letter-spacing:.12em; }.process-scene--contact .scene-index { color:#ffb6c1; }
.process-scene-copy>h3 { margin:0 0 37px; font:600 clamp(31px,3.6vw,51px)/.99 Montserrat,Manrope,sans-serif; letter-spacing:-.065em; }.step-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }.step-pair article { border-top:1px solid rgba(36,40,43,.22); padding-top:15px; }.process-scene--contact .step-pair article { border-color:rgba(255,255,255,.32); }.step-pair b { display:block; margin-bottom:15px; color:var(--red); font-size:12px; }.process-scene--contact .step-pair b { color:#ffb6c1; }.step-pair h4 { margin:0 0 9px; font:600 17px/1.16 Montserrat,Manrope,sans-serif; letter-spacing:-.04em; }.step-pair p { margin:0; color:var(--muted); font-size:12px; line-height:1.55; }.process-scene--contact .step-pair p { color:rgba(255,255,255,.75); }.process-scene--report .step-pair { grid-template-columns:minmax(0,300px); }
.process-document { align-self:center; justify-self:center; width:min(75%,330px); padding:28px; border:1px solid rgba(36,40,43,.15); border-radius:10px; background:#faf8f5; box-shadow:15px 16px 0 #ebe4dc; transform:rotate(-4deg); }.process-document span { display:block; margin-bottom:31px; color:var(--red); font:600 17px Montserrat,Manrope,sans-serif; }.process-document i { display:block; height:1px; margin:11px 0 7px; background:rgba(36,40,43,.15); }.process-document b { font-size:10px; line-height:1.4; }

.practical { padding:90px 0; background:#fff; }.practical-layout { display:grid; grid-template-columns:.75fr 1.25fr; gap:clamp(44px,8vw,120px); align-items:end; }.practical-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:0; margin:0; border-top:1px solid var(--line); }.practical-grid div { min-height:135px; padding:20px 18px; border-bottom:1px solid var(--line); }.practical-grid div:nth-child(odd) { border-right:1px solid var(--line); }.practical-grid dt { margin-bottom:31px; color:var(--red); font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }.practical-grid dd { margin:0; font:500 17px/1.35 Montserrat,Manrope,sans-serif; letter-spacing:-.04em; }
.team { padding:94px 0; background:#eee9e2; }.team-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:65px; align-items:center; }.team-copy details { max-width:360px; margin-top:34px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }.team-copy summary { display:flex; justify-content:space-between; padding:16px 0; cursor:pointer; font-size:13px; font-weight:700; }.team-copy summary span { color:var(--red); font-size:20px; }.team-copy details p { padding-bottom:16px; color:var(--muted); font-size:13px; line-height:1.55; }.team-composition { position:relative; min-height:325px; }.portrait-aperture { position:absolute; display:grid; place-items:center; overflow:hidden; border:1px solid rgba(159,23,49,.18); border-radius:50% 50% 12px 12px; background:#f8f5f0; }.portrait-aperture svg { width:78%; fill:none; stroke:var(--wine); stroke-width:1.2; opacity:.55; }.portrait-aperture--large { width:221px; height:278px; left:20%; top:0; }.portrait-aperture--small { width:150px; height:190px; right:19%; bottom:0; background:#fff; }.team-panel { position:absolute; padding:13px 16px; border-radius:8px; font-size:11px; font-weight:700; }.team-panel--project { left:0; bottom:20px; background:var(--wine); color:#fff; }.team-panel--ambassadors { right:0; top:35px; border:1px solid rgba(159,23,49,.25); color:var(--wine); }
.faq { padding:96px 0; background:#fff; }.faq-layout { display:grid; grid-template-columns:.75fr 1.25fr; gap:clamp(44px,8vw,120px); }.faq-list { display:grid; grid-template-columns:repeat(2,1fr); gap:13px; }.faq-list article { min-height:180px; padding:24px; border:1px solid var(--line); border-radius:14px; }.faq-list h3 { margin:0 0 28px; font:600 17px/1.22 Montserrat,Manrope,sans-serif; letter-spacing:-.045em; }.faq-list p { margin:0; color:var(--muted); font-size:12px; line-height:1.6; }
.inquiry { padding:82px 0; background:var(--wine); color:#fff; }.inquiry .eyebrow { color:#ffb6c1; }.inquiry-layout { display:flex; justify-content:space-between; align-items:end; gap:40px; }.inquiry h2 { margin-bottom:23px; }.inquiry p:last-child { max-width:460px; margin:0; color:rgba(255,255,255,.77); font-size:15px; line-height:1.6; }.button--light { flex:none; background:#fff; color:var(--wine); box-shadow:none; }.button--light span { background:var(--red); color:#fff; }

.page-dialog { width:min(640px,calc(100% - 32px)); max-height:calc(100% - 32px); border:0; border-radius:20px; padding:0; color:var(--ink); background:#fff; box-shadow:0 22px 70px rgba(36,40,43,.28); }.page-dialog::backdrop { background:rgba(36,40,43,.5); }.dialog-inner { position:relative; padding:44px; }.dialog-close { position:absolute; right:18px; top:16px; width:38px; height:38px; border:1px solid var(--line); border-radius:50%; background:#fff; color:var(--ink); font-size:25px; cursor:pointer; }.dialog-inner h2 { margin-bottom:31px; font-size:42px; }.dialog-report-list { margin:0; border-top:1px solid var(--line); }.dialog-report-list div { padding:19px 0; border-bottom:1px solid var(--line); }.dialog-report-list dt { margin-bottom:7px; font-size:14px; font-weight:700; }.dialog-report-list dd,.dialog-lead { margin:0; color:var(--muted); font-size:13px; line-height:1.55; }.dialog-lead { margin-bottom:22px; }.dialog-discussion { margin-top:22px; padding-top:20px; border-top:1px solid var(--line); }.dialog-discussion h3 { margin:0 0 10px; font-size:14px; }.dialog-discussion ul { margin:0; padding-left:19px; color:var(--muted); font-size:13px; line-height:1.55; }.dialog-discussion li+li { margin-top:5px; }.application-form fieldset { display:grid; gap:13px; margin:0; padding:0; border:0; }.application-form legend { margin-bottom:16px; font-size:12px; font-weight:700; }.application-form label { display:grid; gap:6px; color:var(--muted); font-size:11px; }.application-form input,.application-form textarea { width:100%; padding:11px; border:1px solid var(--line); border-radius:5px; background:#f6f3ef; color:var(--ink); font:13px Manrope,Arial,sans-serif; }.application-form .consent { display:flex; align-items:flex-start; gap:8px; }.application-form .consent input { width:auto; margin-top:2px; }.application-form .button { justify-content:center; margin-top:7px; border:0; }.application-form .button:disabled { opacity:.62; cursor:not-allowed; }

@media (max-width:900px) { .process-scene,.process-scene--report { grid-template-columns:1fr; }.process-scene-photo { min-height:300px; }.process-scene--sample .process-scene-copy { order:2; }.process-scene--sample .process-scene-photo { order:1; }.process-document { margin:42px 0 5px; }.practical-layout,.team-layout,.faq-layout { grid-template-columns:1fr; gap:35px; }.inquiry-layout { align-items:flex-start; flex-direction:column; } }
@media (max-width:540px) { .video-poster-copy { top:33%; }.video-poster-copy p { font-size:25px; }.video-poster-copy span { font-size:10px; }.video-agenda { left:18px; right:18px; bottom:16px; justify-content:flex-start; }.video-agenda li { padding:6px 8px; font-size:8px; }.video-play { right:18px; top:18px; width:42px; height:42px; }.moment-photo { right:-9%; bottom:-25%; width:65%; }.moment--red h3,.moment--red p,.moment--red .moment-no { max-width:68%; }.process { padding:65px 0; }.process-scene { min-height:0; border-radius:15px; }.process-scene-photo { min-height:245px; }.process-scene-copy { padding:29px 23px 31px; }.scene-index { margin-bottom:34px; }.process-scene-copy>h3 { margin-bottom:29px; font-size:33px; }.step-pair { grid-template-columns:1fr; gap:17px; }.process-document { width:75%; padding:21px; }.practical,.team,.faq { padding:64px 0; }.practical-grid,.faq-list { grid-template-columns:1fr; }.practical-grid div:nth-child(odd) { border-right:0; }.practical-grid div { min-height:0; }.practical-grid dt { margin-bottom:14px; }.team-composition { min-height:275px; }.portrait-aperture--large { left:11%; width:175px; height:220px; }.portrait-aperture--small { right:7%; width:120px; height:151px; }.team-panel--project { bottom:0; }.team-panel--ambassadors { top:19px; }.faq-list article { min-height:0; }.faq-list h3 { margin-bottom:14px; }.inquiry { padding:62px 0; }.dialog-inner { padding:35px 21px 25px; }.dialog-inner h2 { font-size:32px; }.dialog-close { right:12px; top:11px; }.page-dialog .eyebrow { margin-bottom:16px; } }

/* G1 refinement: concise method poster, editorial dossier, and native FAQ. */
.method .video-poster {
  display:grid;
  min-height:0;
  padding:34px;
  place-items:center;
  background:linear-gradient(135deg,#fffdfa 0%,#f7ebe9 56%,#ead3d5 100%);
}
.method .video-poster::before { width:64%; top:21%; left:43%; box-shadow:0 0 0 42px rgba(255,255,255,.23),0 0 0 84px rgba(255,255,255,.13); }
.method .video-poster::after { width:41%; right:8%; bottom:-29%; opacity:.72; }
.video-poster-logo { position:absolute; top:31px; left:34px; width:136px; height:auto; }
.method .video-poster > p { position:relative; z-index:1; margin:0; color:var(--ink); font:600 clamp(31px,3.8vw,52px)/.98 Montserrat,Manrope,sans-serif; letter-spacing:-.07em; text-align:center; }
.method .video-poster .video-play { position:relative; inset:auto; z-index:1; width:64px; height:64px; margin-top:20px; transform:none; background:var(--red); color:#fff; box-shadow:0 16px 28px rgba(159,23,49,.19); }
.method-video figcaption { margin-top:13px; }

.moment--light { background:linear-gradient(135deg,#f1e9df,#f8f5ef); }
.moment-photo--calendar { right:-2%; bottom:-15%; width:68%; height:117%; filter:drop-shadow(0 18px 19px rgba(95,0,17,.17)); }
.moment--light .moment-no,.moment--light h3,.moment--light p { max-width:57%; }

.discussion-dossier {
  display:grid;
  grid-template-columns:1.08fr .92fr;
  grid-template-rows:auto auto;
  gap:14px;
  min-height:432px;
  padding:15px 0 0 15px;
}
.discussion-dossier::before {
  position:absolute;
  content:"";
  z-index:0;
  inset:0 9% 16px 8%;
  border:1px solid var(--line);
  border-radius:22px;
  background:#f4eee7;
  transform:rotate(-1.25deg);
}
.dossier-card,.discussion-result { position:relative; z-index:1; }
.dossier-card {
  min-height:180px;
  overflow:hidden;
  padding:22px;
  border:1px solid rgba(36,40,43,.13);
  border-radius:15px;
  background:#fff;
  box-shadow:0 12px 25px rgba(54,39,27,.06);
}
.dossier-card--report { grid-row:span 2; min-height:0; padding:27px; background:#fffafa; }
.dossier-card--history { background:#f5f1ea; }
.dossier-card--exam { background:#f7f8f7; }
.dossier-index { position:absolute; top:18px; right:20px; color:var(--red); font-size:10px; font-weight:700; letter-spacing:.1em; }
.dossier-card h3 { position:absolute; z-index:2; bottom:22px; left:22px; margin:0; font:600 clamp(15px,1.5vw,21px)/1.1 Montserrat,Manrope,sans-serif; letter-spacing:-.055em; }
.dossier-card--report h3 { left:27px; bottom:27px; font-size:clamp(22px,2.3vw,31px); }
.report-motif { position:absolute; top:63px; left:27px; right:27px; padding:16px 15px; border:1px solid rgba(159,23,49,.16); background:rgba(255,255,255,.76); box-shadow:10px 12px 0 rgba(217,31,61,.08); transform:rotate(-2deg); }
.report-motif::before { display:block; width:42%; height:5px; margin-bottom:20px; border-radius:4px; background:var(--red); content:""; }
.report-motif i { display:block; height:1px; margin-top:13px; background:rgba(36,40,43,.2); }
.report-motif i::before { display:block; width:18%; height:4px; border-radius:3px; background:#e4dad5; content:""; transform:translateY(-7px); }
.history-motif { position:absolute; top:31px; left:22px; right:42px; height:76px; border-left:1px solid rgba(159,23,49,.42); }
.history-motif::before { position:absolute; top:34px; left:0; width:100%; border-top:1px dashed rgba(36,40,43,.22); content:""; }
.history-motif i { position:absolute; top:29px; width:11px; height:11px; border:2px solid #f5f1ea; border-radius:50%; background:var(--red); box-shadow:0 0 0 1px rgba(159,23,49,.4); }
.history-motif i:nth-child(1) { left:-6px; }.history-motif i:nth-child(2) { left:31%; }.history-motif i:nth-child(3) { left:63%; }.history-motif i:nth-child(4) { right:-5px; }
.exam-motif { position:absolute; top:28px; right:24px; width:119px; height:82px; border:1px solid rgba(36,40,43,.18); background:linear-gradient(135deg,#fff 0%,#ebe5df 100%); box-shadow:8px 9px 0 rgba(140,108,73,.1); transform:rotate(3deg); }
.exam-motif::before,.exam-motif::after,.exam-motif b { position:absolute; border-radius:50%; content:""; }
.exam-motif::before { width:42px; height:42px; left:17px; top:17px; border:1px solid rgba(159,23,49,.35); }
.exam-motif::after { width:18px; height:18px; left:39px; top:28px; background:rgba(217,31,61,.22); }
.exam-motif b { width:29px; height:29px; right:17px; bottom:15px; border:1px solid rgba(36,40,43,.17); }
.dossier-route { position:absolute; z-index:0; top:0; right:4%; bottom:36px; left:19%; border:1px solid rgba(217,31,61,.22); border-bottom:0; border-radius:60% 60% 0 0; }
.discussion-dossier .discussion-result {
  grid-column:2;
  padding:22px 20px;
  align-self:end;
  border-radius:14px;
  background:var(--wine);
  box-shadow:0 13px 24px rgba(95,0,17,.16);
  text-align:left;
}
.discussion-dossier .discussion-result::before { position:absolute; top:-31px; left:50%; width:1px; height:31px; background:var(--red); content:""; opacity:.55; }
.discussion-dossier .discussion-result > span { margin-bottom:8px; font-size:10px; }
.discussion-dossier .discussion-result h3 { font-size:clamp(18px,1.9vw,25px); }

.team-composition { min-height:435px; padding:17px 17px 0 0; }
.team-composition::before { position:absolute; z-index:0; inset:32px 8% 10px 13%; border:1px solid rgba(159,23,49,.18); border-radius:20px; background:#e5dfd7; transform:rotate(2deg); content:""; }
.team-portrait { position:relative; z-index:1; height:405px; margin:0; overflow:hidden; border-radius:18px 18px 60px 18px; background:#d6d2cc; box-shadow:18px 20px 0 rgba(159,23,49,.1); }
.team-portrait::after { position:absolute; content:""; inset:16px; border:1px solid rgba(255,255,255,.55); border-radius:11px 11px 48px 11px; pointer-events:none; }
.team-portrait img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.team-panel { z-index:2; padding:14px 17px; border-radius:9px; box-shadow:0 10px 22px rgba(36,40,43,.12); }
.team-panel--project { left:-16px; bottom:31px; }
.team-panel--ambassadors { top:48px; right:-12px; background:rgba(255,255,255,.92); }

.faq-layout { align-items:start; }
.faq-intro { position:relative; min-height:360px; }
.faq-scene { display:block; width:min(270px,82%); height:235px; margin:26px 0 0 -13px; object-fit:contain; filter:drop-shadow(0 17px 19px rgba(95,0,17,.12)); }
.faq-list { display:block; border-top:1px solid var(--line); }
.faq-list details { position:relative; border-bottom:1px solid var(--line); }
.faq-list summary { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px 52px 24px 0; cursor:pointer; font:600 clamp(17px,1.6vw,22px)/1.22 Montserrat,Manrope,sans-serif; letter-spacing:-.05em; list-style:none; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary::after { position:absolute; right:1px; top:22px; display:grid; width:30px; height:30px; place-items:center; border:1px solid rgba(159,23,49,.3); border-radius:50%; color:var(--red); content:"+"; font:400 25px/1 Manrope,Arial,sans-serif; transition:transform .2s ease,background-color .2s ease,color .2s ease; }
.faq-list details[open] summary::after { color:#fff; background:var(--red); transform:rotate(45deg); }
.faq-list details p { max-width:540px; margin:0; padding:0 52px 25px 0; color:var(--muted); font-size:14px; line-height:1.65; }
.faq-list summary:focus-visible { outline:3px solid var(--red); outline-offset:-3px; }
@media (hover:hover) and (pointer:fine) { .faq-list summary:hover { color:var(--wine); }.faq-list summary:hover::after { border-color:var(--red); background:var(--g1-soft-red); } .faq-list details[open] summary:hover::after { background:var(--wine); } }

@media (max-width:900px) {
  .discussion-dossier { max-width:640px; }
  .team-composition { max-width:620px; width:100%; }
  .faq-intro { min-height:0; }
  .faq-scene { height:180px; margin-top:16px; }
}
@media (max-width:540px) {
  .method .video-poster { min-height:282px; padding:25px; }
  .video-poster-logo { top:22px; left:22px; width:111px; }
  .method .video-poster > p { font-size:34px; }
  .method .video-poster .video-play { width:54px; height:54px; margin-top:12px; }
  .moment-photo--calendar { width:75%; height:109%; right:-9%; bottom:-17%; }
  .moment--light .moment-no,.moment--light p { max-width:66%; }
  .moment--light h3 { max-width:100%; }
  .discussion-dossier { grid-template-columns:1fr; grid-template-rows:auto; gap:10px; min-height:0; padding:10px 0 0 10px; }
  .discussion-dossier::before { inset:0 5% 12px 4%; border-radius:16px; }
  .dossier-card,.dossier-card--report { grid-row:auto; min-height:160px; padding:20px; }
  .dossier-card--report { min-height:205px; }
  .dossier-card h3,.dossier-card--report h3 { bottom:20px; left:20px; font-size:20px; }
  .dossier-card:not(.dossier-card--report) h3 { font-size:17px; }
  .report-motif { top:46px; left:20px; right:24px; padding:13px; }
  .history-motif { top:25px; left:20px; right:37px; }
  .exam-motif { top:22px; right:22px; }
  .dossier-route { display:none; }
  .discussion-dossier .discussion-result { grid-column:auto; padding:21px; }
  .discussion-dossier .discussion-result::before { display:none; }
  .team-composition { min-height:337px; padding:10px 10px 0 0; }
  .team-composition::before { inset:24px 5% 8px 9%; }
  .team-portrait { height:318px; border-radius:14px 14px 44px 14px; box-shadow:10px 12px 0 rgba(159,23,49,.1); }
  .team-panel { padding:11px 13px; font-size:10px; }
  .team-panel--project { left:-8px; bottom:15px; }
  .team-panel--ambassadors { top:34px; right:-5px; }
  .faq-scene { width:205px; height:160px; margin:12px 0 0 -9px; }
  .faq-list summary { min-height:78px; padding:20px 46px 20px 0; font-size:18px; }
  .faq-list summary::after { top:24px; width:27px; height:27px; font-size:22px; }
  .faq-list details p { padding:0 0 21px; font-size:13px; }
}
@media (prefers-reduced-motion:reduce) { .faq-list summary::after { transition:none; } }
