/* Editorial line illustrations. Geometry belongs to the FRACTAL story;
   labels remain selectable HTML text. No image font or icon dependency. */
.v-icon{display:block;width:76px;height:76px;fill:none;stroke:var(--ink);stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;flex:none}
.v-icon .v-accent{stroke:var(--gold-ink);stroke-width:1.2}
.v-figure{min-width:0;margin:0}
.v-figure figcaption{font-family:var(--serif);font-size:17px;line-height:1.8;letter-spacing:.03em;color:var(--ink);text-align:center;margin:16px 0 0}
.v-figure figcaption>span{display:block;font-family:var(--sans);font-size:12px;line-height:1.9;margin-top:10px;letter-spacing:0;color:var(--muted)}
.v-fractal{padding:25px 28px 30px;background:var(--paper)}
.v-fractal-pair{display:grid;grid-template-columns:minmax(0,.82fr) 28px minmax(0,1.18fr);align-items:end;gap:14px;max-width:640px;margin:auto}
.v-fractal-part,.v-fractal-whole{min-width:0;text-align:center}
.v-fractal-drawing{display:block;width:100%;height:auto;fill:none;stroke:var(--gold-ink);stroke-width:.8;stroke-linejoin:round}
.v-fractal-small{width:72%;margin:auto}
.v-fractal p{font-family:var(--serif);font-size:23px;line-height:1.6;margin-top:0}
.v-fractal p>span{display:block;font-family:var(--latin);font-size:10px;letter-spacing:.13em;line-height:1.8;color:var(--gold-ink);margin-bottom:6px}
.v-fractal-equals{align-self:center;margin-bottom:22px;display:flex;flex-direction:column;gap:6px;width:24px}
.v-fractal-equals i{height:1px;background:var(--gold-ink);width:24px;display:block}
.v-axes{padding:32px 20px 26px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.v-axes-pair{display:grid;grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr);align-items:center;gap:14px;max-width:720px;margin:auto}
.v-axis{text-align:center;min-width:0}
.v-axis .v-icon{margin:0 auto 17px;width:86px;height:86px}
.v-axis p{font-family:var(--serif);font-size:26px;line-height:1.65}
.v-axis p>span{display:block;font-family:var(--latin);font-size:11px;letter-spacing:.16em;color:var(--gold-ink);margin-bottom:6px}
.v-axis small{display:block;font-size:12px;line-height:1.9;color:var(--muted);margin-top:10px}
.v-axes-link{font-family:var(--serif);font-size:29px;font-weight:400;color:var(--gold-ink);text-align:center}
.v-axes figcaption{margin-top:25px}
.v-cycle{padding:28px 24px 26px;background:var(--paper);color:var(--ink)}
.v-cycle-wheel{position:relative;max-width:620px;min-height:470px;margin:auto}
.v-cycle-geometry{position:absolute;width:360px;height:360px;left:50%;top:55px;transform:translateX(-50%);fill:none;stroke:var(--gold-ink);stroke-width:1;stroke-linecap:round;stroke-linejoin:round}
.v-inner-ring{opacity:.26}
.v-cycle-arrows{stroke-width:1.5}
.v-cycle-center{position:absolute;left:50%;top:225px;transform:translate(-50%,-50%);font-family:var(--serif);font-size:22px;line-height:1.7;text-align:center;width:160px;max-width:32%;background:var(--paper);padding:13px 4px}
.v-cycle-center>span{display:block;font-family:var(--latin);font-size:10px;line-height:1.8;letter-spacing:.15em;color:var(--gold-ink);margin-bottom:10px}
.v-cycle-center>i{font-family:var(--sans);font-size:16px;line-height:1.2;color:var(--gold-ink);font-style:normal}
.v-cycle ol{list-style:none;margin:0;padding:0;position:absolute;inset:0}
.v-cycle li{position:absolute;display:flex;align-items:center;flex-direction:column;width:140px;max-width:28%;text-align:center;background:var(--paper);padding:8px 4px}
.v-cycle li:nth-child(1){left:50%;top:0;transform:translateX(-50%)}
.v-cycle li:nth-child(2){right:0;top:178px}
.v-cycle li:nth-child(3){left:50%;bottom:0;transform:translateX(-50%)}
.v-cycle li:nth-child(4){left:0;top:178px}
.v-cycle-number{font-family:var(--latin);font-size:19px;line-height:1.3;color:var(--gold-ink);letter-spacing:.06em;margin-bottom:7px}
.v-cycle li strong{font-family:var(--serif);font-weight:600;font-size:20px;line-height:1.7}
.v-cycle li>span:last-child{font-size:11px;line-height:1.8;color:var(--muted);margin-top:7px}
.v-support{list-style:none;margin:0;padding:28px 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:26px}
.v-support li{min-width:0;text-align:center}
.v-support .v-icon{margin:0 auto 20px}
.v-support h3{font-family:var(--serif);font-weight:600;font-size:18px;line-height:1.8;letter-spacing:0}
.v-support p{font-size:12px;line-height:1.9;color:var(--muted);margin-top:8px}
.v-amenities{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;padding:24px 0 26px;margin:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.v-amenities li{text-align:center;min-width:0}
.v-amenities .v-icon{margin:auto auto 10px;width:64px;height:64px}
.v-amenities li>span{font-size:13px;line-height:1.8}
.v-visit{padding:20px 0 0}
.v-visit-duration{display:flex;align-items:baseline;justify-content:space-between;gap:20px;font-size:14px;line-height:1.8;padding-bottom:22px;border-bottom:1px solid var(--line)}
.v-visit-duration>span{font-size:15px;white-space:nowrap}
.v-visit-duration strong{font-family:var(--latin);font-size:45px;line-height:1.1;font-weight:400;letter-spacing:.03em;margin:0 7px}
.v-visit-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;margin:0;padding:28px 0 14px;gap:32px}
.v-visit-steps li{position:relative;min-width:0}
.v-visit-steps li:not(:last-child):after{content:'→';position:absolute;right:-25px;top:56px;color:var(--gold-ink);font-size:20px}
.v-step-number{font-family:var(--latin);font-size:13px;line-height:1.5;letter-spacing:.1em;color:var(--gold-ink);display:block;margin-bottom:12px}
.v-visit-steps .v-icon{width:70px;height:70px;margin:0 0 18px}
.v-visit-steps h3{font-family:var(--serif);font-size:18px;font-weight:600;line-height:1.7;letter-spacing:0;margin-bottom:10px}
.v-visit-steps p{font-size:12px;line-height:1.9;color:var(--muted)}
.v-booking{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin:0;padding:26px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.v-booking li{min-width:0;position:relative}
.v-booking li>span{display:block;font-family:var(--latin);font-size:26px;line-height:1.2;color:var(--gold-ink);margin-bottom:12px}
.v-booking strong{display:block;font-family:var(--serif);font-size:20px;line-height:1.8;font-weight:600}
.v-booking p{font-size:12px;line-height:1.9;color:var(--muted);margin-top:10px}
.v-booking li:not(:last-child):after{content:'→';position:absolute;right:-26px;top:4px;color:var(--gold-ink)}
/* On charcoal, preserve the reference's quiet gold and readable labels. */
.tone-intro .v-icon,.reading-chapters .v-icon{stroke:#e3e8e6}
.tone-intro .v-icon .v-accent,.reading-chapters .v-icon .v-accent{stroke:var(--gold)}
.tone-intro .v-figure figcaption,.reading-chapters .v-figure figcaption{color:#fff}
.tone-intro .v-figure figcaption>span,.reading-chapters .v-figure figcaption>span{color:#d6dcde}
.tone-intro .v-axis small,.reading-chapters .v-axis small,.reading-chapters .v-support p,.reading-chapters .v-visit-steps p{color:#d6dcde}
.tone-intro .v-axis p>span,.reading-chapters .v-axis p>span,.reading-chapters .v-step-number{color:var(--gold)}
.tone-intro .v-cycle figcaption,.reading-chapters .v-cycle figcaption{color:var(--ink)}
@media(max-width:900px){
  .v-support{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:30px}
  .v-visit-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 42px}
  .v-visit-steps li:nth-child(2):after{display:none}
  .v-booking{gap:28px}
  .v-amenities{gap:12px}
}
@media(max-width:600px){
  .v-icon{width:68px;height:68px}
  .v-figure figcaption{font-size:16px;line-height:1.9;margin-top:14px}
  .v-figure figcaption>span{font-size:11px}
  .v-fractal{padding:22px 15px}
  .v-fractal-pair{gap:6px;grid-template-columns:minmax(0,.8fr) 20px minmax(0,1.2fr)}
  .v-fractal p{font-size:21px}
  .v-fractal p>span{font-size:9px;letter-spacing:.07em}
  .v-fractal-equals,.v-fractal-equals i{width:18px}
  .v-axes{padding:25px 0 24px}
  .v-axes-pair{grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr);gap:6px}
  .v-axis .v-icon{width:74px;height:74px;margin-bottom:15px}
  .v-axis p{font-size:22px}
  .v-axis p>span{font-size:10px}
  .v-axis small{font-size:11px;line-height:1.8}
  .v-axes-link{font-size:23px}
  .v-cycle{padding:22px 12px}
  .v-cycle-wheel{min-height:425px}
  .v-cycle-geometry{width:280px;height:280px;top:69px;max-width:100%}
  .v-cycle-center{font-size:16px;top:207px;width:110px;max-width:32%;line-height:1.7;padding:10px 0}
  .v-cycle-center>span{font-size:8px;letter-spacing:.05em;margin-bottom:8px}
  .v-cycle li{width:96px;max-width:28%;padding:7px 2px}
  .v-cycle li:nth-child(2),.v-cycle li:nth-child(4){top:165px}
  .v-cycle-number{font-size:17px;margin-bottom:6px}
  .v-cycle li strong{font-size:16px}
  .v-cycle li>span:last-child{font-size:10px;line-height:1.8;margin-top:7px;max-width:105px}
  .v-support{padding:24px 0;gap:26px 17px}
  .v-support .v-icon{width:68px;height:68px;margin-bottom:14px}
  .v-support h3{font-size:16px}
  .v-support p{font-size:11px;line-height:1.9}
  .v-amenities{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 12px;padding:24px 0}
  .v-amenities .v-icon{width:57px;height:57px;margin-bottom:7px}
  .v-amenities li>span{font-size:12px}
  .v-visit-duration{gap:12px;font-size:12px;padding-bottom:20px}
  .v-visit-duration strong{font-size:38px;margin:0 5px}
  .v-visit-duration>span{font-size:13px}
  .v-visit-steps{padding-top:25px;gap:28px 32px}
  .v-step-number{font-size:12px;margin-bottom:10px}
  .v-visit-steps .v-icon{width:62px;height:62px;margin-bottom:14px}
  .v-visit-steps h3{font-size:16px}
  .v-visit-steps p{font-size:11px}
  .v-visit-steps li:not(:last-child):after{right:-23px;top:51px;font-size:17px}
  .v-booking{grid-template-columns:1fr;padding:0;gap:0}
  .v-booking li{display:grid;grid-template-columns:38px minmax(0,1fr);gap:0 14px;padding:20px 0;border-bottom:1px solid var(--line)}
  .v-booking li:last-child{border-bottom:0}
  .v-booking li>span{grid-row:1/3;font-size:24px;margin:2px 0 0}
  .v-booking strong{font-size:18px}
  .v-booking p{font-size:12px;margin-top:5px}
  .v-booking li:not(:last-child):after{content:none}
}
