/* SMORTLER XC - ONE SHEET, 11x17 TABLOID LANDSCAPE MAP ONLY */
:root{color-scheme:light;font-family:Inter,Arial,Helvetica,sans-serif;--ink:#182b34;--green:#378d42;--violet:#7533bc;--orange:#f46629}
*{box-sizing:border-box}
html{background:#e8edef}
body{margin:0;color:var(--ink);background:#e8edef;-webkit-font-smoothing:antialiased}
.print-notice{max-width:1550px;margin:0 auto 12px;padding:14px 18px;border:1px solid #c83737;background:#fff0f0;color:#7a1717;font-weight:800;line-height:1.45}.print-notice[hidden]{display:none!important}
.screen-toolbar{max-width:1550px;min-width:1160px;margin:18px auto 12px;padding:13px 18px;background:#fff;border:1px solid #d8e4de;border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 5px 18px rgba(26,58,46,.07)}
.tool-title{display:flex;align-items:center;gap:15px;font-size:13px}.tool-title span{font-size:12px;color:#6d8178}
.tool-actions{display:flex;align-items:center;gap:12px}.tool-actions a,.tool-actions button{font:750 13px/1.1 Arial,sans-serif;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;min-height:36px;border-radius:8px;padding:9px 14px;cursor:pointer}.tool-actions a{border:1px solid #d5e4d9;color:#326b40;background:#fff}.tool-actions button{border:1px solid #488e43;color:#143b26;background:#beee8c}
.sheet{width:16.4in;height:10.4in;display:flex;flex-direction:column;gap:.125in;margin:0 auto 24px;padding:0;background:white;box-shadow:0 14px 46px rgba(31,50,61,.15);overflow:hidden}
.sheet-header{height:.91in;flex:none;display:flex;justify-content:space-between;align-items:center;gap:.4in;border-bottom:2px solid #dce9df;padding:.03in .06in .08in}
.head-left{min-width:0}.eyebrow{font-weight:900;letter-spacing:.22em;color:#7543a8;font-size:9pt;display:flex;align-items:center;gap:.09in}.eyebrow-rule{width:.25in;height:2px;background:linear-gradient(90deg,#f46629,#773abd)}
.sheet-header h1{font-size:32pt;letter-spacing:-.055em;line-height:1.08;margin:.05in 0 .045in;color:#172d36;font-weight:900;white-space:nowrap}
.sheet-header h1 span{color:#3b9347}.sheet-header h1 em{font-style:normal;color:#8c49c5}
.sheet-header p{font-size:8.5pt;letter-spacing:.12em;font-weight:800;color:#687f77;margin:0}
.sheet-header p b{padding:0 .08in;color:#e66d37}
.head-right{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:.055in;padding-right:.05in}
.head-right img{display:block;width:2.60in;height:auto;max-height:.49in;object-fit:contain;object-position:right}
.head-right strong{font-size:11.5pt;letter-spacing:.015em;color:#5b2a9f}
.sheet-body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,13.94in) minmax(0,1fr);gap:.16in;align-items:start}
.course-map{margin:0;width:100%;min-width:0;position:relative;border:2px solid #d4e2d5;border-radius:9px;padding:0;background:#f0f6f0;overflow:hidden;box-shadow:0 0 0 3px #f6f9f6}
.map-image-area{width:100%;aspect-ratio:2188 / 1361;position:relative;overflow:hidden;background:#608154}
/* One print-safe composite raster for the photograph AND all color traces.
   No CSS filters, image blending, or CSS background-image required. */
.print-artwork{width:100%;height:100%;display:block;position:absolute;inset:0;object-fit:fill;z-index:0;filter:none!important;mix-blend-mode:normal!important;opacity:1!important}
.map-heading,.map-credit{position:absolute;z-index:3;font-weight:900;letter-spacing:.115em;font-size:8pt;color:#fff;background:rgba(8,27,20,.76);border:1px solid rgba(255,255,255,.29);border-radius:5px;padding:.08in .105in;pointer-events:none}
.map-heading{left:.15in;top:.15in}.map-heading span{color:#b7ee86}.map-credit{right:.13in;bottom:.13in;font-size:6.6pt;letter-spacing:.07em;padding:.06in .08in}
.pin{position:absolute;z-index:5;top:var(--y);left:var(--x);transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;pointer-events:none;filter:drop-shadow(0 2px 3px rgba(0,0,0,.54))}
.pin-dot{width:.30in;height:.30in;border:2px solid #fff;background:#152d32;color:#fff;font-size:12pt;line-height:1;border-radius:50%;display:grid;place-items:center;font-weight:950}
.pin-label{position:absolute;display:flex;flex-direction:column;gap:1px;min-width:max-content;padding:.065in .095in;background:rgba(9,29,31,.95);border:1px solid rgba(255,255,255,.85);border-radius:5px;box-shadow:0 2px 8px rgba(0,0,0,.23)}
.pin-label b{font-size:10pt;line-height:1;font-weight:950;letter-spacing:.07em;color:#fff}.pin-label small{font-size:7.5pt;color:#c6f7a2;font-weight:900;letter-spacing:.08em}
.pin--mile1 .pin-dot{color:#fff;border-color:#ffef15}.pin--mile2 .pin-dot{color:#fff;border-color:#fff}.pin--mile3 .pin-dot{color:#ffc17b;border-color:#ff7a00}
.pin--mile1 .pin-label{top:.26in;left:.12in}.pin--mile2 .pin-label{right:.17in;bottom:.27in}.pin--mile3 .pin-label{right:.19in;top:.19in}
.pin--start .pin-dot{width:.37in;height:.37in;background:#b0ef87;color:#194325;border:3px solid white;font-size:7.5pt;letter-spacing:-.02em}
.pin--start .pin-label{top:.24in;left:.15in;background:#103c29;border-color:#ceff9a}
.pin--finish .pin-dot{width:.37in;height:.37in;background:#eadcff;color:#3a2367;border:3px solid #fff;font-size:15pt}
.pin--finish .pin-label{bottom:.28in;left:.18in;background:#3a2367;border-color:#d7b5ff}
.key-panel{height:100%;border:1px solid #dee8e2;border-radius:8px;background:linear-gradient(160deg,#fcfffb,#f8fbfa);padding:.20in .16in .15in;display:flex;flex-direction:column;min-width:0}
.key-heading span{display:block;font-weight:900;font-size:8pt;color:#8245bc;letter-spacing:.2em}
.key-heading h2{margin:.12in 0 .10in;font-size:25pt;line-height:.98;font-weight:950;letter-spacing:-.05em;color:#254937}
.key-heading p{font-size:9.5pt;color:#667b6e;line-height:1.35;margin:0 0 .14in}
.key-stages{display:flex;flex-direction:column;gap:.12in}
.key-stage{display:flex;gap:.105in;align-items:stretch;min-height:.72in;background:#fff;border:1px solid #e2eae4;border-radius:5px;padding:.10in .09in}
.stage-line{width:.09in;flex:none;border-radius:8px;background:#ffea00;border:1px solid #ccb500}.stage-white{background:#fff;border:1px solid #a6b6b4}.stage-orange{background:#ff7a00;border-color:#ff7a00}.stage-violet{background:#7e3eff;border-color:#7e3eff}
.key-stage>div{display:flex;flex-direction:column;justify-content:center;gap:.045in;min-width:0}
.stage-number{font-weight:950;color:#82948a;font-size:7.3pt;letter-spacing:.05em}.key-stage strong{font-size:9.7pt;font-weight:900;white-space:nowrap;color:#233d32}.key-stage small{font-size:8.2pt;color:#5d7165}
.key-finish{border-top:1px solid #d7e5da;margin-top:.18in;padding-top:.17in;display:flex;gap:.12in;align-items:center}.key-star{width:.37in;height:.37in;border-radius:50%;display:grid;place-items:center;background:#b7f49e;color:#1c4f29;font-size:16pt;flex:none}.key-finish strong{display:block;font-size:9.2pt;font-weight:900;color:#2b6341}.key-finish small{display:block;font-size:7.7pt;color:#6a8173;line-height:1.35;margin-top:.04in}
.key-note{margin:.19in 0 auto;color:#64796d;font-size:8.4pt;line-height:1.55}
.key-url{border-top:2px solid #c5dfc6;padding-top:.12in;margin-top:.13in;display:flex;flex-direction:column;gap:.04in}.key-url span{color:#8046aa;font-size:8pt;font-weight:900;letter-spacing:.14em}.key-url strong{color:#284b32;font-size:12pt;letter-spacing:-.03em;white-space:nowrap}
.sheet-footer{height:.30in;flex:none;display:flex;align-items:center;justify-content:space-between;gap:.25in;border-top:1px solid #dbe7dd;padding:0 .07in;color:#617569;letter-spacing:.10em;font-size:8pt;font-weight:850}
.sheet-footer>div{display:flex;align-items:center;gap:.06in}.sheet-footer strong{color:#7340b3;font-size:8.5pt;white-space:nowrap}
.footer-swatch{height:.065in;width:.18in;border-radius:10px;display:inline-block;border:1px solid rgba(0,0,0,.14)}.footer-swatch.violet{background:#7e3eff}.footer-swatch.orange{background:#ff7a00}.footer-swatch.white{background:#fff}.footer-swatch.yellow{background:#f7ee03;margin-right:.08in}
@page{size:17in 11in;margin:.30in}
@media print{
  html,body{background:#fff!important;margin:0;padding:0;overflow:hidden}
  body{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .screen-toolbar,.print-notice{display:none!important}
  .print-artwork{filter:none!important;visibility:visible!important;opacity:1!important;display:block!important}
  .sheet{width:16.4in;height:10.4in;margin:0;padding:0;box-shadow:none;border:0;break-after:avoid;break-before:avoid;page-break-after:avoid;page-break-before:avoid}
  .course-map{box-shadow:none}
}
@media screen and (max-width:1600px){.sheet{margin-left:auto;margin-right:auto}}
@media screen and (max-width:1160px){body{overflow-x:auto}.screen-toolbar{margin-left:16px;margin-right:16px}.sheet{margin-left:16px;margin-right:16px}}
