/*! ghf-theme.css — the shared Cedwyn Estate theme for every Great House Farm (Tŷ Mawr) site.
 * One file, one look: black ground, white thin uppercase headings (Barlow), ghost buttons, generous spacing; a Day/Night
 * toggle (basecamp.js, remembered across sites); one signature hue per site set by basecamp.js as --ghf-p (deep) and
 * --ghf-s (bright) from campus/basecamp_stops.json. Generated by campus/build_basecamp.py · v2.1.1 · Sion's Tab agent
 */
@font-face{font-family:"Barlow";font-weight:300;font-display:swap;src:url(../fonts/barlow-latin-300-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-weight:400;font-display:swap;src:url(../fonts/barlow-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-weight:500 700;font-display:swap;src:url(../fonts/barlow-latin-700-normal.woff2) format("woff2")}
html{--ghf-font:Barlow,"Helvetica Neue",Arial,system-ui,sans-serif;--ghf-line:var(--ghf-s,#f2c94c);--ghf-on-line:#000}
html[data-ghf-native=light]{--ghf-line:var(--ghf-p,#0a0a0a);--ghf-on-line:#fff}
/* Day / Night: a site keeps its own design in its own mode and is shown inverted in the other; photos, video, maps,
   canvases (the chessboard) and the shared header are flipped back so they keep their real colours. */
html.ghf-inv{filter:invert(1) hue-rotate(180deg)}
html.ghf-inv :is(img,video,canvas,iframe,embed,object,svg image,.ghf-ui,.ghf-bgimg,[data-ghf-keep]){filter:invert(1) hue-rotate(180deg)}
html.ghf-inv :is(.ghf-ui,.ghf-bgimg,[data-ghf-keep]) :is(img,video,canvas,iframe,embed,object,svg image,.ghf-ui,.ghf-bgimg,[data-ghf-keep]){filter:none}
html[data-ghf-native=dark]:not(.ghf-inv),html[data-ghf-native=dark]:not(.ghf-inv) body{background-color:#000!important}
html[data-ghf-native=light]:not(.ghf-inv),html[data-ghf-native=light]:not(.ghf-inv) body{background-color:#fff}
/* type: one family everywhere; headings thin, uppercase, tracked */
html.ghf-shell body,html.ghf-shell :is(p,li,td,th,dd,dt,label,button,input,select,textarea,summary,figcaption,blockquote,a,small,strong,em,b,h1,h2,h3,h4,h5,h6,nav,header,footer,caption,legend){font-family:var(--ghf-font)}
html.ghf-shell :is(code,pre,kbd,samp,tt){font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
html.ghf-shell :is(h1,h2):not(.ghf-keep-case){font-weight:300!important;text-transform:uppercase;letter-spacing:.06em;line-height:1.15}
html.ghf-shell :is(h3,h4){font-weight:500;letter-spacing:.02em}
@media (max-width:480px){html.ghf-shell h1:not(.ghf-keep-case){font-size:min(30px,8.4vw)!important;letter-spacing:.04em;word-break:normal;overflow-wrap:break-word;hyphens:manual}html.ghf-shell h2:not(.ghf-keep-case){font-size:min(22px,6.6vw)!important;letter-spacing:.04em;word-break:normal;overflow-wrap:break-word}}
html.ghf-shell ::selection{background:var(--ghf-s,#f2c94c);color:#000}
html.ghf-shell :focus-visible{outline:2px solid var(--ghf-line);outline-offset:2px}
/* the signature hue: a faint glow at the top of the page */
.ghf-glow{position:fixed;left:0;right:0;top:0;height:55vh;pointer-events:none;z-index:2147481000;background:radial-gradient(130% 70% at 50% 0%,color-mix(in srgb,var(--ghf-s,#f2c94c) 12%,transparent) 0,transparent 70%)}
html[data-ghf-mode=day] .ghf-glow{background:radial-gradient(130% 70% at 50% 0%,color-mix(in srgb,var(--ghf-p,#0a0a0a) 7%,transparent) 0,transparent 70%)}
/* shared footer follows the mode */
html[data-ghf-mode=day] .ghf-lf{background:#fff!important;color:#444!important;border-top-color:#ddd!important}
html[data-ghf-mode=day] .ghf-lf p{color:#444!important}html[data-ghf-mode=day] .ghf-lf :is(a,b){color:#111!important}
@media print{html.ghf-inv{filter:none}.ghf-glow{display:none}}
/* header standard v2.0.3: the bars' exact height is reserved before the first paint (ghf-boot.js adds .ghf-v2-pre; basecamp.js
   removes it the moment the bars are in), so page content never jumps down when they arrive. */
html.ghf-v2-pre body::before{content:"";display:block;height:148px;background:#000}
@media (min-width:783px){html.ghf-v2-pre body::before{height:152px}}
