/* Phaeris — carnet d'aventure. Assets fournis dans regrp, sans dependance distante. */
:root {
  --ph-bg:#0a0d13; --ph-bg-2:#0f1420; --ph-panel:#141a26; --ph-panel-2:#1a2233;
  --ph-line:#284856; --ph-cyan:#4ed0c4; --ph-cyan-hi:#77e7dc; --ph-cyan-deep:#1f8f86;
  --ph-violet:#8b5cd6; --ph-text:#e9eef4; --ph-muted:#a8bdca; --ph-faint:#728da0;
  --ph-on-cyan:#052623; --ph-radius:5px; --ph-glow:0 5px 22px #4ed0c424;
}
body { background:#0a0d13; }
body::before { background:radial-gradient(ellipse at 10% 40%,#278f9c26,transparent 60%),linear-gradient(#102334,#0a0d13); }
body::after { display:none; }
h1,h2,h3,.ph-brand,.ph-h2 { font-family:Georgia,"Palatino Linotype",serif; }
a:focus-visible,button:focus-visible { outline:3px solid #77e7dc; outline-offset:5px; }
.ph-nav { background:#0c1724f5; border-bottom:3px solid #287c87; box-shadow:0 3px 0 #050b12,0 9px 30px #0005; }
.ph-brand small { color:#77e7dc; letter-spacing:3px; }
.ph-links a { color:#bacdd9; }
.ph-links { margin-left:8px; gap:0; }
.ph-links a { padding:9px 9px; font-size:13px; }
.ph-nav-actions .ph-btn { padding:10px 14px; font-size:13px; }
.ph-links a.active,.ph-links a:hover { color:#8df4e8; background:#4ed0c412; }
.ph-btn { border-radius:4px; font-weight:750; transition:transform .15s,background .15s,box-shadow .15s; }
.ph-btn-primary { color:#052623; background:linear-gradient(#65e1d5,#2babaf); border:1px solid #98fff0; box-shadow:0 4px 0 #14535f,inset 0 1px 0 #b7fff580; text-shadow:0 1px 1px #b0fff2; }
.ph-btn-primary:hover { color:#052623; background:linear-gradient(#89f3e5,#3ac2c2); transform:translateY(-2px); box-shadow:0 6px 0 #14535f; }
.ph-btn-ghost { background:#102231e0; border-color:#427782; color:#d7f5f1; }
.ph-btn-ghost:hover { background:#1a3b4b; color:#052623; border-color:#71d8d1; }
.ph-topbg.ph-adventure-bg { position:absolute; top:0; left:0; right:0; height:850px; opacity:1; background:linear-gradient(180deg,#241b1710 25%,#0a0d13 98%),url('../img/adventure/desert.jpg') center top / cover no-repeat; mask-image:none; -webkit-mask-image:none; }
.ph-adventure-hero { min-height:670px; overflow:hidden; position:relative; isolation:isolate; }
.ph-adventure-hero::before { content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(ellipse at center,#29170d88,transparent 67%); }
.ph-adventure-hero>.container { position:relative; }
.ph-adventure-hero .ph-hero-inner { position:relative; z-index:2; padding:36px 0 76px; max-width:770px; margin:auto; text-align:center; }
.ph-adventure-logo { width:240px; height:125px; object-fit:contain; display:block; margin:-6px auto 4px; filter:drop-shadow(0 5px 7px #1a100cb0); }
.ph-adventure-hero .ph-subtitle { color:#ffdd9f; font-size:11px; letter-spacing:4px; margin-bottom:6px; }
.ph-adventure-hero .ph-title { font-size:clamp(3rem,5.4vw,5.1rem); line-height:1.02; letter-spacing:-2px; color:#fff3da; text-shadow:0 4px 0 #522f1c,0 6px 20px #130900; margin-bottom:22px; }
.ph-adventure-hero .ph-title .ph-accent { background:none; color:#ffc46b; -webkit-text-fill-color:initial; }
.ph-adventure-hero .ph-lead { max-width:570px; margin:0 auto 26px; color:#ffefd4; font-size:17px; line-height:1.75; text-shadow:0 2px 5px #160d06; }
.ph-adventure-hero .ph-btn-lg { padding:17px 25px; font-size:15px; }
.ph-hero-note { font-size:12px; color:#ead1af; margin:25px 0 0; text-shadow:0 2px 4px #21140c; }
.ph-cutout { position:absolute; z-index:1; width:410px; height:410px; object-fit:contain; pointer-events:none; filter:drop-shadow(0 20px 10px #020c1ba0); bottom:12px; }
.ph-cutout-iop { left:-150px; transform:rotate(-8deg); }
.ph-cutout-cra { right:-150px; transform:rotate(7deg); }
.ph-world-strip { position:relative; z-index:3; display:flex; justify-content:space-evenly; gap:20px; padding:22px 30px; margin-top:-34px; background:#102633; border-block:1px solid #397e89; box-shadow:0 7px 0 #040d1955,0 0 0 5px #0b1826; color:#c8e9ef; font-size:12px; text-transform:uppercase; letter-spacing:1px; }
.ph-world-strip i { color:#4ed0c4; margin-right:8px; font-size:19px; vertical-align:middle; }
.ph-section { padding:70px 0; }
.ph-eyebrow { color:#60cfc8; font-size:11px; letter-spacing:3px; }
.ph-h2 { font-size:clamp(1.9rem,3vw,2.65rem); font-weight:700; color:#def4fa; }
.ph-section-head { align-items:end; border-bottom:1px solid #28515f; padding-bottom:22px; }
.ph-news-tile { border-radius:3px; border:5px solid #213e50; outline:1px solid #438b93; box-shadow:0 8px 20px #0005; transform:rotate(-1deg); }
.col-md-6:nth-child(even) .ph-news-tile { transform:rotate(1deg); }
.ph-news-tile:hover { transform:translateY(-5px) rotate(0); border-color:#63d3cb; }
.ph-news-tile-title { font-family:Georgia,serif; color:#edfbff; }
.ph-news-tile-date { color:#8aefe3; }
.ph-quest-section { position:relative; margin-top:20px; padding:65px 0 80px; background:#142a3b; color:#d7edf3; clip-path:polygon(0 9px,5% 3px,12% 10px,21% 0,34% 6px,45% 2px,57% 8px,70% 0,81% 7px,93% 2px,100% 9px,100% calc(100% - 8px),90% 100%,72% calc(100% - 6px),55% 100%,36% calc(100% - 9px),19% 100%,0 calc(100% - 5px)); }
.ph-quest-section .ph-h2 { color:#e3f8fc; }
.ph-quest-section .ph-eyebrow { color:#77dcd5; }
.ph-quest-section .ph-section-head { border-color:#386572; }
.ph-quest-section .ph-feature { position:relative; height:100%; padding:26px 22px; border:1px solid #365c6d; border-radius:2px; background:#1b3547; color:#d5edf2; box-shadow:4px 5px 0 #020b1622; }
.ph-quest-section .ph-feature:hover { background:#224657; border-color:#64d1c9; transform:translateY(-5px) rotate(-1deg); box-shadow:6px 9px 0 #020b1630; }
.ph-quest-section .ph-feature h3 { color:#e4f8fa; font-size:22px; }
.ph-quest-section .ph-feature p { color:#b0cbd6; font-size:14px; line-height:1.7; }
.ph-quest-section .ph-feature-ico { background:#204f5c; border:1px solid #408c95; color:#81efe0; border-radius:50%; width:54px; height:54px; }
.ph-quest-number { position:absolute; right:19px; top:17px; font:italic 38px Georgia,serif; color:#488491; }
.ph-card,.card { border-color:#284856; border-radius:5px; }
.ph-footer { border-top:3px solid #284f62; background:#080f19; }
@media(min-width:1400px) { .ph-cutout-iop {left:-70px} .ph-cutout-cra {right:-70px} }
@media(max-width:1199px) { .ph-cutout {width:310px;height:310px;opacity:.8} .ph-cutout-iop {left:-100px} .ph-cutout-cra {right:-100px} }
@media(max-width:991px) {
  .ph-nav-inner { flex-wrap:wrap; padding-block:10px; }
  .ph-links { display:flex; order:3; flex-basis:100%; overflow-x:auto; flex-wrap:nowrap; padding:6px 0; }
  .ph-links a { flex-shrink:0; }
  .ph-world-strip {font-size:10px;gap:12px;padding:18px}
  .ph-adventure-hero .ph-hero-inner {padding:35px 0 80px}
}
@media(max-width:700px) {
  .ph-brand {gap:7px;font-size:16px}
  .ph-brand img {width:30px;height:38px}
  .ph-brand small {font-size:9px}
  .ph-nav-actions {gap:6px}
  .ph-nav-actions .ph-btn {padding:8px 9px;font-size:11px}
  .ph-nav-actions .ph-btn>i {display:none}
  .ph-links {margin-left:0}
  .ph-adventure-hero {min-height:640px}
  .ph-cutout {width:230px;height:230px;bottom:-15px;opacity:.5}
  .ph-cutout-iop {left:-95px} .ph-cutout-cra {right:-95px}
  .ph-adventure-hero .ph-hero-inner {padding:35px 10px 80px}
  .ph-adventure-hero .ph-title {font-size:2.5rem;letter-spacing:-1px}
  .ph-adventure-hero .ph-lead {font-size:15px}
  .ph-adventure-hero .ph-hero-cta {max-width:340px;margin:auto;gap:14px}
  .ph-adventure-logo {width:200px;height:110px}
  .ph-world-strip {display:grid;margin-top:-15px;justify-content:center;gap:14px;width:calc(100% - 30px)}
  .ph-section-head {align-items:start;gap:20px;flex-direction:column}
  .ph-hero-note {max-width:260px;margin:24px auto 0}
  .ph-quest-section {padding:55px 0}
}
@media(prefers-reduced-motion:reduce) { .ph-btn,.ph-feature,.ph-news-tile {transition:none!important} }

.ph-adventure-hero .ph-btn-primary { color:#fff2d5; background:linear-gradient(#f2a444,#c46629); border:1px solid #ffc77a; box-shadow:0 4px 0 #6b361c,inset 0 1px 0 #ffe6a680; text-shadow:0 1px 1px #754218; }

.ph-adventure-hero .ph-btn-primary:hover { color:white; background:linear-gradient(#ffb656,#d47830); transform:translateY(-2px); box-shadow:0 6px 0 #6b361c; }

.ph-adventure-hero .ph-btn-ghost { background:#2d241de0; border-color:#a6814e; color:#f5e4c2; }

.ph-adventure-hero .ph-btn-ghost:hover { background:#4b3825; color:#fff2d5; border-color:#dbb478; }

/* Banniere d'origine, restauree d'apres la capture utilisateur. */
.ph-topbg.ph-original-bg {height:max(110svh,clamp(900px,96vw,1320px));opacity:1;background:url('../img/hero.jpg') center top / cover no-repeat;mask-image:none;-webkit-mask-image:none;}
.ph-original-hero {position:relative;min-height:calc(100svh - 68px);padding:0;}
.ph-original-hero .ph-hero-inner {padding:clamp(48px,7vh,90px) 0 80px;max-width:1000px;margin:auto;text-align:center;}
.ph-original-hero .ph-subtitle {font:700 13px 'Segoe UI',sans-serif;text-transform:uppercase;letter-spacing:3px;color:#69aee3;margin:0 0 22px;}
.ph-original-logo {margin:0 auto 28px;line-height:1;}
.ph-original-logo img {display:block;width:560px;max-width:90%;height:330px;object-fit:contain;margin:auto;filter:drop-shadow(0 8px 20px #07142255);}
.ph-original-hero .ph-lead {color:#d4e0e9;font:400 18px/1.8 'Segoe UI',sans-serif;margin:0 auto 34px;max-width:780px;}
.ph-original-hero .ph-btn-primary {background:linear-gradient(#83bde9,#559cd7);color:#092436;border:1px solid #78b5e3;border-radius:12px;box-shadow:0 8px 28px #4e9bd544;text-shadow:none;padding:19px 34px;font-size:16px;}
.ph-original-hero .ph-btn-primary:hover {background:linear-gradient(#a0d0f3,#70b1e3);color:#092436;}
.ph-nav .ph-brand {font-family:'Segoe UI',sans-serif;}
.ph-nav-actions .ph-btn-primary {background:linear-gradient(#afd457,#83aa35);color:white;border-color:#99bd44;box-shadow:0 6px 24px #91b94333;text-shadow:none;border-radius:9px;}
@media(max-width:700px) {.ph-original-hero {min-height:calc(100svh - 112px)}.ph-original-hero .ph-hero-inner {padding:48px 12px 70px}.ph-original-logo img {height:215px;width:350px}.ph-original-hero .ph-lead {font-size:16px}.ph-topbg.ph-original-bg {height:max(950px,120svh)}}

/* Carnet Retro : panneaux sertis, onglets et parcours illustre. */
.ph-section-head {position:relative;border-bottom:2px solid #355867;padding-bottom:24px;}
.ph-section-head::after {content:"";position:absolute;bottom:-5px;left:0;width:45px;height:8px;background:#73b7c0;clip-path:polygon(0 50%,15% 0,85% 0,100% 50%,85% 100%,15% 100%);}
.ph-btn-ghost {border-radius:5px;background:linear-gradient(#213d4b,#142733);border:1px solid #547481;box-shadow:inset 0 1px #8bafbb30,0 3px #07131c;color:#dcebf0;}
.ph-btn-ghost:hover {background:#2d5261;color:#fff;border-color:#7bc4cb;}
.ph-journal {padding-top:65px;padding-bottom:100px;}
.ph-journal-grid {display:grid;grid-template-columns:1.2fr 1fr;grid-template-rows:repeat(3,minmax(145px,auto));gap:18px;}
.ph-journal-entry {min-width:0;}
.ph-journal-featured {grid-row:span 3;}
.ph-journal .ph-news-tile {height:100%;min-height:150px;display:grid;grid-template-columns:36% 1fr;background:#e0d6b7;border:5px solid #324d56;outline:1px solid #64868e;border-radius:8px;transform:none;box-shadow:0 7px 0 #06121a,inset 0 0 0 1px #9ab4b7;overflow:hidden;}
.ph-journal .ph-news-tile img {position:static;width:100%;height:100%;min-height:145px;object-fit:cover;}
.ph-journal .ph-news-tile-veil {display:none;}
.ph-journal .ph-news-tile-text {position:static;padding:22px;display:flex;flex-direction:column;justify-content:center;gap:9px;min-width:0;}
.ph-journal .ph-news-tile-title {color:#303e3d;font-size:20px;line-height:1.25;text-shadow:none;}
.ph-journal .ph-news-tile-date {color:#667468;font-size:11px;letter-spacing:1px;}
.ph-journal .ph-news-tile:hover {transform:translateY(-3px);border-color:#67a6af;}
.ph-journal-featured .ph-news-tile {display:block;position:relative;}
.ph-journal-featured .ph-news-tile img {position:absolute;inset:0;}
.ph-journal-featured .ph-news-tile-veil {display:block;position:absolute;inset:0;background:linear-gradient(transparent 20%,#061724ed 100%);}
.ph-journal-featured .ph-news-tile-text {position:absolute;inset:auto 0 0;padding:32px;}
.ph-journal-featured .ph-news-tile-title {font-size:32px;color:#f4f2df;}
.ph-journal-featured .ph-news-tile-date {color:#c9e6e4;}
.ph-featured-label {align-self:flex-start;font-size:10px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:#183c44;background:#b8d3a2;padding:6px 12px;border-radius:2px;margin-bottom:7px;}
.ph-retro-quests {background:linear-gradient(115deg,#192e3c,#10202f);clip-path:none;border-block:2px solid #3c5d67;padding:65px 0;margin:0 0 90px;box-shadow:inset 0 6px #091824,inset 0 -6px #091824;}
.ph-quest-layout {display:grid;grid-template-columns:.9fr 1.4fr;gap:65px;align-items:center;}
.ph-retro-quests .ph-quest-intro {display:block;border:0;position:relative;padding-bottom:200px;margin:0;}
.ph-quest-intro::after {display:none;}
.ph-retro-quests .ph-h2 {color:#ece9d9;font-size:42px;line-height:1.15;margin:15px 0;}
.ph-retro-quests .ph-eyebrow {color:#8cc9c6;}
.ph-quest-intro-text {max-width:310px;color:#afc7cf;font-size:15px;line-height:1.8;}
.ph-quest-character {position:absolute;width:260px;height:260px;object-fit:contain;bottom:-35px;right:0;transform:rotate(-8deg);filter:drop-shadow(0 15px 12px #040e1880);pointer-events:none;}
.ph-quest-list {display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.ph-retro-quests .ph-feature {background:linear-gradient(125deg,#ece4c9,#d4c8a5);border:4px solid #537078;border-radius:8px;padding:25px 22px 23px;box-shadow:0 6px 0 #081620,inset 0 0 0 1px #fff8d7;color:#34413d;}
.ph-retro-quests .ph-feature:hover {background:#f2e9cc;border-color:#8fb1a0;box-shadow:0 9px 0 #081620;transform:translateY(-3px);}
.ph-retro-quests .ph-feature h3 {color:#34413d;font-size:23px;margin:20px 0 10px;}
.ph-retro-quests .ph-feature p {color:#626b5b;font-size:14px;}
.ph-retro-quests .ph-feature-ico {background:linear-gradient(#466470,#253e4a);color:#b3ddcf;border:2px solid #9daa8b;border-radius:12px;box-shadow:0 3px 0 #b4a785;}
.ph-retro-quests .ph-quest-number {color:#a49773;font-size:44px;top:19px;right:20px;}
.ph-card,.ph-article,.card {border:1px solid #3f626e;box-shadow:inset 0 0 0 3px #0c1b2760,0 6px 20px #0003;border-radius:8px;}
.ph-footer {border-top:3px solid #4c7079;background:linear-gradient(#122632,#08111b);padding-top:60px;position:relative;}
.ph-footer h4 {color:#cad5b5;font-family:Georgia,serif;letter-spacing:.3px;}
.ph-footer-links a:hover {color:#e9edc5;}
.ph-footer-brand img {filter:drop-shadow(0 0 14px #52c4bc40);}
@media(max-width:991px) {.ph-quest-layout {gap:25px;grid-template-columns:.8fr 1.2fr}.ph-quest-list {gap:15px}.ph-retro-quests .ph-feature {padding:20px 16px}.ph-journal .ph-news-tile-text {padding:17px}.ph-journal-featured .ph-news-tile-title {font-size:27px}}
@media(max-width:700px) {.ph-journal-grid {grid-template-columns:1fr;grid-template-rows:auto}.ph-journal-featured {grid-row:auto;min-height:350px}.ph-journal .ph-news-tile-title {font-size:19px}.ph-journal-featured .ph-news-tile-title {font-size:28px}.ph-journal-featured .ph-news-tile-text {padding:25px}.ph-quest-layout {grid-template-columns:1fr;gap:30px}.ph-retro-quests .ph-quest-intro {padding-bottom:0;padding-right:95px}.ph-quest-character {width:175px;height:175px;bottom:-25px;right:-15px;opacity:.9}.ph-retro-quests .ph-h2 {font-size:34px}.ph-quest-intro-text {font-size:14px}.ph-quest-list {grid-template-columns:1fr 1fr;gap:12px}.ph-retro-quests .ph-feature h3 {font-size:20px}.ph-retro-quests .ph-feature p {font-size:13px}.ph-quest-number {display:none}.ph-journal {padding-bottom:65px}}
@media(max-width:380px) {.ph-quest-list {grid-template-columns:1fr}}
