/* Homepage only. Original CI values copied exactly from the existing styles.css. */
.gd-home {
  --color-cream:#f7f3ed; --color-olive:#3e4d35; --color-wine:#6b2d35;
  --color-terracotta:#b85c38; --color-gold:#c7a15a; --color-charcoal:#1f1f1f;
  --color-cream-deep:#ece1d0; --color-olive-soft:#54624b;
  --color-line:rgba(31,31,31,.1); --color-line-light:rgba(247,243,237,.18);
  --color-card:rgba(247,243,237,.8); --color-card-deep:rgba(247,243,237,.92);
  --color-text-soft:rgba(31,31,31,.72); --color-text-light:rgba(247,243,237,.84);
  --gd-radius:5px; --gd-gap:24px; --gd-display:Georgia,'Times New Roman',serif;
  margin:0; background:var(--color-cream); color:var(--color-charcoal);
  font-family:'Segoe UI',Arial,sans-serif; font-size:16px; line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
.gd-home *, .gd-home *::before, .gd-home *::after { box-sizing:border-box; }
.gd-home [hidden] { display:none!important; }
.gd-home ::selection { background:var(--color-olive); color:var(--color-cream); }
.gd-home a { color:inherit; text-decoration:none; }
.gd-home button { font:inherit; cursor:pointer; }
.gd-home img { display:block; max-width:100%; }
.gd-home h1, .gd-home h2, .gd-home h3, .gd-home p, .gd-home figure { margin:0; }
.gd-home h1, .gd-home h2, .gd-home h3 { font-family:var(--gd-display); font-weight:400; line-height:1.17; letter-spacing:-.035em; text-wrap:balance; }
.gd-home h2 { font-size:clamp(34px,3.3vw,46px); }
.gd-home h3 { font-size:27px; letter-spacing:-.025em; }
.gd-home p+p { margin-top:16px; }
.gd-home :where(section,main,.gd-legal) { scroll-margin-top:118px; }
.gd-home :where(a,button,[tabindex]):focus-visible { outline:2px solid var(--color-wine); outline-offset:5px; }
.gd-wrap { width:min(1200px,calc(100% - 96px)); margin-inline:auto; }
.gd-section { padding-block:76px; }
.gd-eyebrow { color:var(--color-olive); font-size:10px; font-weight:600; line-height:1.5; letter-spacing:.17em; text-transform:uppercase; margin-bottom:20px!important; }
.gd-sr-only { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.gd-skip { position:fixed; left:12px; top:8px; z-index:100; padding:12px 20px; background:var(--color-olive); color:var(--color-cream)!important; transform:translateY(-160%); }
.gd-skip:focus { transform:none; }
.gd-header { position:sticky; top:0; z-index:20; background:var(--color-cream); border-bottom:1px solid var(--color-line); }
.gd-header-inner { display:flex; align-items:center; justify-content:space-between; gap:30px; min-height:102px; }
.gd-brand { display:flex; align-items:center; gap:14px; flex-shrink:0; }
.gd-brand img { width:82px; height:auto; }
.gd-brand-copy { display:grid; gap:4px; }
.gd-brand-copy strong { font-family:var(--gd-display); font-weight:400; font-size:22px; letter-spacing:-.02em; }
.gd-brand-copy small { color:var(--color-text-soft); font-size:9px; letter-spacing:.22em; text-transform:uppercase; }
.gd-nav { display:flex; align-items:center; gap:26px; font-size:13px; }
.gd-nav a { padding:12px 0; border-bottom:1px solid transparent; transition:border-color .18s,color .18s; }
.gd-nav a:hover, .gd-nav a[aria-current] { border-color:var(--color-gold); color:var(--color-olive); }
.gd-menu-toggle { border:1px solid var(--color-line); color:var(--color-olive); background:none; border-radius:var(--gd-radius); padding:9px 14px; min-height:44px; font-size:13px; }
.gd-hero { padding-block:82px 88px; }
.gd-hero-grid { display:grid; grid-template-columns:1.25fr 1fr; gap:90px; align-items:end; }
.gd-hero h1 { color:var(--color-olive); font-size:clamp(48px,5.4vw,74px); max-width:650px; line-height:1.09; }
.gd-hero-copy { color:var(--color-text-soft); font-size:16px; padding-bottom:3px; }
.gd-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.gd-button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; border:1px solid transparent; border-radius:var(--gd-radius); padding:12px 20px; font-size:12px; font-weight:600; line-height:1.5; transition:background .18s,border-color .18s,color .18s; }
.gd-button-primary { color:var(--color-cream)!important; background:var(--color-olive); border-color:var(--color-olive); }
.gd-button-primary:hover { background:var(--color-olive-soft); border-color:var(--color-olive-soft); }
.gd-button-secondary { color:var(--color-olive)!important; background:transparent; border-color:var(--color-olive); }
.gd-button-secondary:hover { background:var(--color-cream-deep); }
.gd-culture { background:var(--color-cream-deep); }
.gd-two-column { display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:center; }
.gd-two-column h2 { max-width:510px; }
.gd-prose { color:var(--color-text-soft); }
.gd-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:32px; }
.gd-slider-controls { display:flex; align-items:center; gap:8px; flex-shrink:0; }
.gd-slider-count { color:var(--color-text-soft); font-size:11px; letter-spacing:.08em; margin-right:13px; min-width:35px; }
.gd-slider-button { width:44px; height:44px; border:1px solid var(--color-line); border-radius:var(--gd-radius); color:var(--color-olive); background:none; display:grid; place-content:center; transition:background .18s; }
.gd-slider-button span { font:27px/1 Arial,sans-serif; }
.gd-slider-button:hover:not(:disabled) { background:var(--color-cream-deep); }
.gd-slider-button:disabled { opacity:.32; cursor:default; }
.gd-track { display:grid; grid-auto-flow:column; gap:var(--gd-gap); overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scroll-padding-inline:1px; padding:2px 1px 20px; align-items:stretch; scrollbar-width:thin; scrollbar-color:var(--color-gold) var(--color-line); touch-action:pan-x pan-y; }
.gd-track::-webkit-scrollbar { height:4px; }
.gd-track::-webkit-scrollbar-track { background:var(--color-line); }
.gd-track::-webkit-scrollbar-thumb { background:var(--color-gold); border-radius:2px; }
.gd-track.is-dragging { cursor:grabbing; scroll-snap-type:none; user-select:none; }
.gd-track > article { scroll-snap-align:start; min-width:0; }
.gd-format-track { grid-auto-columns:calc((100% - 48px)/3.12); }
.gd-card { border:1px solid var(--color-line); border-radius:var(--gd-radius); background:var(--color-card); overflow:hidden; }
.gd-format-card { padding:30px; min-height:305px; border-top:2px solid var(--color-gold); }
.gd-card-number { color:var(--color-olive-soft); font-size:11px; letter-spacing:.1em; display:block; margin-bottom:25px; }
.gd-format-card h3 { min-height:2.34em; margin-bottom:17px; }
.gd-format-card p { color:var(--color-text-soft); font-size:14px; line-height:1.65; }
.gd-format-card .gd-card-intro { color:var(--color-charcoal); }
.gd-format-card p+p { margin-top:10px; }
.gd-principles { background:var(--color-olive); color:var(--color-cream); }
.gd-principles .gd-eyebrow { color:var(--color-text-light); }
.gd-principles .gd-section-heading { margin-bottom:36px; }
.gd-principle-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; }
.gd-principle-grid article { border-top:1px solid var(--color-line-light); padding-top:22px; }
.gd-principle-grid h3 { font-size:24px; }
.gd-principle-grid p { color:var(--color-text-light); font-size:14px; margin-top:13px; }
.gd-event-track { grid-auto-columns:calc((100% - 24px)/2.35); }
.gd-event-card { display:flex; flex-direction:column; }
.gd-event-image { padding:15px; background:var(--color-card-deep); }
.gd-event-image img { width:100%; height:auto; aspect-ratio:3/2; object-fit:contain; }
.gd-event-copy { padding:28px; flex:1; display:flex; flex-direction:column; align-items:flex-start; }
.gd-event-copy .gd-eyebrow { margin-bottom:12px!important; }
.gd-event-meta { display:flex; flex-wrap:wrap; gap:5px 18px; font-size:11px; color:var(--color-text-soft); margin-bottom:18px; }
.gd-event-copy h3 { font-size:28px; line-height:1.2; margin-bottom:16px; }
.gd-event-copy > p:not(.gd-eyebrow) { color:var(--color-text-soft); font-size:14px; margin-bottom:22px; }
.gd-event-copy .gd-button { margin-top:auto; }
.gd-single-event { grid-auto-columns:100%; }
.gd-single-event .gd-event-card { display:grid; grid-template-columns:1fr 1.15fr; align-items:center; }
.gd-single-event .gd-event-image { padding:28px; }
.gd-single-event .gd-event-copy { padding:38px; }
.gd-single-event .gd-event-copy h3 { max-width:470px; font-size:32px; }
.gd-single-event .gd-event-copy .gd-button { margin-top:0; }
.gd-about { background:var(--color-cream-deep); }
.gd-host-name { color:var(--color-olive); font-size:13px; margin-top:25px!important; }
.gd-contact { display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:center; }
.gd-contact-copy { color:var(--color-text-soft); }
.gd-contact .gd-button { margin-top:24px; }
.gd-footer { background:var(--color-charcoal); color:var(--color-cream); padding-block:36px; }
.gd-footer-inner { display:grid; grid-template-columns:260px minmax(0,1fr) auto; align-items:center; gap:52px; }
.gd-footer-brand { display:block; width:260px; max-width:100%; }
.gd-footer-brand img { width:100%; height:auto; filter:brightness(2.6); }
.gd-footer .gd-legal { min-width:0; }
.gd-footer .gd-legal h2 { color:var(--color-gold); font-size:24px; margin-bottom:14px; }
.gd-footer .gd-legal-copy { color:var(--color-text-light); font-size:13px; line-height:1.65; }
.gd-footer .gd-legal p+p { margin-top:8px; }
.gd-footer .gd-legal strong { color:var(--color-cream); font-weight:600; }
.gd-footer .gd-legal a { text-decoration:underline; text-underline-offset:4px; overflow-wrap:anywhere; }
.gd-footer-up { display:inline-flex; align-items:center; gap:12px; min-height:44px; font-size:13px; white-space:nowrap; }
.gd-footer-up span { color:var(--color-gold); font-size:18px; }
.gd-footer a:hover { color:var(--color-gold); }
.gd-footer a:focus-visible { outline-color:var(--color-gold); }
@media(max-width:1100px) {
  .gd-wrap { width:calc(100% - 64px); }
  .gd-nav { gap:18px; font-size:12px; }
  .gd-brand-copy strong { font-size:20px; }
  .gd-brand img { width:68px; }
  .gd-hero-grid { gap:50px; }
  .gd-hero h1 { font-size:60px; }
  .gd-two-column, .gd-contact { gap:60px; }
  .gd-format-card { padding:25px; }
  .gd-format-card h3 { font-size:25px; }
}
@media(max-width:900px) {
  .gd-section { padding-block:60px; }
  .gd-header-inner { min-height:88px; padding-block:12px; flex-wrap:wrap; gap:12px; }
  .gd-brand-copy strong { font-size:21px; }
  .gd-nav { flex-basis:100%; flex-wrap:wrap; justify-content:space-between; gap:10px 22px; }
  .gd-enhanced .gd-nav { display:none; }
  .gd-enhanced .gd-nav.is-open { display:flex; flex-direction:column; align-items:stretch; gap:0; padding-top:10px; }
  .gd-nav a { min-height:44px; font-size:15px; }
  .gd-hero { padding-block:55px 62px; }
  .gd-hero-grid { grid-template-columns:1fr 1fr; gap:36px; }
  .gd-hero h1 { font-size:49px; }
  .gd-hero-copy { font-size:14px; }
  .gd-actions { gap:10px; margin-top:22px; }
  .gd-two-column, .gd-contact { gap:40px; }
  .gd-format-track { grid-auto-columns:calc((100% - 24px)/2.18); }
  .gd-format-card { min-height:290px; }
  .gd-principle-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
  .gd-event-track { grid-auto-columns:62%; }
  .gd-single-event { grid-auto-columns:100%; }
  .gd-single-event .gd-event-copy { padding:27px; }
  .gd-single-event .gd-event-copy h3 { font-size:27px; }
  .gd-single-event .gd-event-image { padding:15px; }
}
@media(min-width:901px) { .gd-menu-toggle { display:none; } }
@media(max-width:600px) {
  .gd-wrap { width:calc(100% - 40px); }
  .gd-section { padding-block:48px; }
  .gd-home h2 { font-size:34px; }
  .gd-header-inner { min-height:78px; }
  .gd-brand { gap:8px; }
  .gd-brand img { width:51px; }
  .gd-brand-copy strong { font-size:17px; }
  .gd-brand-copy small { font-size:8px; }
  .gd-menu-toggle { font-size:12px; padding-inline:11px; }
  .gd-hero { padding-block:40px 48px; }
  .gd-eyebrow { font-size:9px; margin-bottom:17px!important; }
  .gd-hero-grid { grid-template-columns:1fr; gap:24px; }
  .gd-hero h1 { font-size:clamp(40px,10.5vw,52px); max-width:460px; }
  .gd-hero-copy { font-size:15px; }
  .gd-actions { gap:10px; }
  .gd-button { padding:12px 15px; font-size:12px; }
  .gd-two-column { grid-template-columns:1fr; gap:24px; }
  .gd-prose { font-size:15px; }
  .gd-section-heading { flex-wrap:wrap; gap:20px; margin-bottom:24px; }
  .gd-section-heading > div:first-child { flex-basis:100%; }
  .gd-slider-controls { margin-left:auto; }
  .gd-format-track { grid-auto-columns:86%; }
  .gd-track { --gd-gap:16px; padding-bottom:17px; }
  .gd-format-card { padding:25px; min-height:285px; }
  .gd-format-card h3 { font-size:27px; }
  .gd-card-number { margin-bottom:22px; }
  .gd-principle-grid { gap:24px 20px; }
  .gd-principle-grid h3 { font-size:22px; }
  .gd-principle-grid p { font-size:13px; }
  .gd-event-track { grid-auto-columns:88%; }
  .gd-single-event { grid-auto-columns:100%; }
  .gd-single-event .gd-event-card { display:flex; }
  .gd-single-event .gd-event-copy { padding:25px; }
  .gd-single-event .gd-event-image { padding:15px; }
  .gd-single-event .gd-event-copy h3 { font-size:28px; }
  .gd-event-copy { padding:24px; }
  .gd-contact { grid-template-columns:1fr; gap:23px; }
  .gd-contact-copy { font-size:15px; }
  .gd-host-name { margin-top:18px!important; }
}
@media(max-width:360px) { .gd-brand-copy strong { font-size:15px; } .gd-brand img { width:42px; } .gd-brand { gap:5px; } }
@media(prefers-reduced-motion:reduce) { .gd-home *, .gd-home *::before, .gd-home *::after { transition:none!important; scroll-behavior:auto!important; } }
@media print { .gd-header, .gd-slider-controls { display:none!important; } .gd-wrap { width:100%; } .gd-section { padding-block:25px; } .gd-track { display:block; overflow:visible; } .gd-card { break-inside:avoid; margin-bottom:18px; } }

/* One continuous footer, with the original transparent mark. */
@media(max-width:900px) {
  .gd-footer-inner { grid-template-columns:220px minmax(0,1fr); gap:18px 32px; }
  .gd-footer-brand { width:220px; grid-row:1 / 3; }
  .gd-footer-up { grid-column:2; justify-self:start; }
}
@media(max-width:600px) {
  .gd-footer { padding-block:24px; }
  .gd-footer-inner { grid-template-columns:minmax(0,1fr); gap:18px; }
  .gd-footer-brand { width:230px; grid-row:auto; }
  .gd-footer .gd-legal h2 { font-size:23px; margin-bottom:12px; }
  .gd-footer .gd-legal-copy { font-size:13px; }
  .gd-footer-up { grid-column:auto; }
}