:root {
  --ink: #102b35;
  --river: #0d5066;
  --deep: #082f3e;
  --gold: #e5b85c;
  --cream: #fbf6e9;
  --paper: #fffdf7;
  --white: #ffffff;
  --muted: #58707a;
  --line: rgba(16,43,53,.16);
  --shadow: 0 24px 70px rgba(7,39,51,.14);
}

* { box-sizing: border-box; }
.skip-link{position:fixed;left:1rem;top:1rem;z-index:1000;transform:translateY(-200%);padding:.7rem 1rem;border-radius:.5rem;background:white;color:var(--deep);font-weight:800}.skip-link:focus{transform:none}
:focus-visible{outline:3px solid #f0bd58;outline-offset:3px}
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 16px; line-height: 1.65; }
a { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }

.site-header { position: absolute; z-index: 10; top: 0; left: 0; width: 100%; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 2rem; padding: 1.35rem clamp(1.2rem,4vw,4.5rem); color: white; border-bottom: 1px solid rgba(255,255,255,.22); }
.brand { display: inline-flex; align-items: center; gap: .75rem; text-decoration: none; text-transform: uppercase; letter-spacing: .12em; font-weight: 800; font-size: .84rem; }
.brand-logo { display:block; width:4.5rem; height:4.5rem; object-fit:contain; border-radius:.7rem; box-shadow:0 5px 18px rgba(0,0,0,.16); }
.nav { display: flex; gap: 2rem; }
.nav a { text-decoration: none; font-size: .9rem; font-weight: 650; }
.nav a:hover { color: var(--gold); }
.languages { grid-column:3; grid-row:1; align-self:start; justify-self: end; display: flex; border: 1px solid rgba(255,255,255,.35); border-radius: 999px; padding: .2rem; }
.languages button { border: 0; background: transparent; color: white; min-width: 2.3rem; padding: .42rem .6rem; border-radius: 999px; font: inherit; font-size: .75rem; font-weight: 800; cursor: pointer; }
.languages button[aria-pressed="true"] { background: var(--gold); color: var(--deep); }

.hero { position: relative; min-height: 760px; height: 92vh; display: flex; align-items: center; overflow: hidden; color: white; background-image: linear-gradient(110deg,rgba(5,31,40,.9) 0%,rgba(5,45,59,.65) 51%,rgba(6,49,60,.24) 100%), url("oberndorf-laufen.webp"); background-size: cover; background-position: center; }
.hero::before { content:""; position:absolute; inset:auto 0 0; height:42%; background:linear-gradient(transparent,rgba(4,28,35,.72)); }
.hero-shade { position:absolute; width:38rem; height:38rem; border:1px solid rgba(229,184,92,.25); border-radius:50%; right:-8rem; top:14%; box-shadow:0 0 0 6rem rgba(229,184,92,.035),0 0 0 12rem rgba(229,184,92,.025); }
.hero-content { position: relative; z-index: 2; width:min(780px,82%); margin-left:clamp(1.4rem,8vw,9rem); padding-top:5rem; }
.eyebrow,.section-kicker,.tour-route { margin:0 0 1rem; color:var(--gold); font-size:.76rem; font-weight:900; letter-spacing:.2em; }
.hero h1 { max-width: 760px; margin:0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(3.3rem,7.2vw,7.3rem); line-height:.92; letter-spacing:-.055em; font-weight:500; }
.hero-copy { max-width:640px; margin:2rem 0 0; font-size:clamp(1.05rem,1.5vw,1.3rem); line-height:1.6; color:rgba(255,255,255,.88); }
.small-group-promise { display:inline-block; margin-top:1.45rem; padding:.55rem .85rem; border-top:2px solid var(--gold); border-bottom:2px solid var(--gold); color:var(--gold); font-size:.78rem; font-weight:900; letter-spacing:.13em; }
.hero-actions { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:2.3rem; }
.button { display:inline-flex; justify-content:center; align-items:center; min-height:3.2rem; padding:.8rem 1.25rem; border:1px solid transparent; border-radius:999px; text-decoration:none; font:inherit; font-size:.9rem; font-weight:850; cursor:pointer; transition:transform .2s,background .2s; }
.button:hover { transform:translateY(-2px); }
.button-primary { color:var(--deep); background:var(--gold); }
.button-quiet { color:white; border-color:rgba(255,255,255,.45); background:rgba(255,255,255,.08); backdrop-filter:blur(10px); }
.button-outline { color:var(--deep); border-color:var(--deep); background:transparent; }
.route-line { position:absolute; z-index:2; right:clamp(1rem,5vw,5rem); bottom:2.4rem; display:flex; align-items:center; gap:.7rem; font-size:.7rem; font-weight:800; text-transform:uppercase; letter-spacing:.12em; color:rgba(255,255,255,.8); }
.route-line i { display:block; width:clamp(1.2rem,3vw,3.4rem); height:1px; background:var(--gold); }

.section { width:min(1180px,calc(100% - 2.6rem)); margin-inline:auto; padding:clamp(5rem,9vw,8rem) 0; }
.intro { display:grid; grid-template-columns:.75fr 1.7fr; gap:clamp(2rem,8vw,8rem); align-items:start; }
.intro h2,.section-heading h2,.about h2,.availability h2,.booking-steps h2,.faq h2,.contact h2 { font-family:Georgia,"Times New Roman",serif; font-size:clamp(2.4rem,4.6vw,4.5rem); line-height:1.06; letter-spacing:-.035em; font-weight:500; margin:0; }
.intro > p:last-child { grid-column:2; max-width:760px; margin:-2rem 0 0; font-size:1.15rem; color:var(--muted); }

.christmas-special { position:relative; width:min(1280px,calc(100% - 2.6rem)); margin:0 auto clamp(5rem,9vw,8rem); padding:clamp(2.3rem,5vw,5rem); display:grid; grid-template-columns:1.45fr .55fr; gap:clamp(2rem,5vw,5rem); overflow:hidden; color:white; border:1px solid rgba(229,184,92,.55); border-radius:1.4rem; background:radial-gradient(circle at 50% 0%,rgba(214,154,65,.2),transparent 42%),linear-gradient(120deg,#511018 0%,#831d28 56%,#350b11 100%); box-shadow:0 24px 70px rgba(63,17,24,.28); }
.christmas-special::before { content:""; position:absolute; inset:0; opacity:.17; background-image:radial-gradient(circle at 20% 20%,#fff 0 1px,transparent 1.5px),radial-gradient(circle at 72% 35%,#fff 0 1px,transparent 1.5px); background-size:56px 56px,74px 74px; }
.christmas-star { position:absolute; right:3%; top:-3rem; color:rgba(229,184,92,.18); font-size:18rem; line-height:1; }
.advent-holly { position:absolute; z-index:0; left:-2%; bottom:-1.2rem; width:104%; height:auto; opacity:.34; pointer-events:none; }
.christmas-copy,.christmas-eve { position:relative; z-index:1; }
.christmas-photo { height:440px; margin:-1.5rem -1.5rem 2rem; overflow:hidden; border:1px solid rgba(229,184,92,.48); border-radius:1rem; background:#27060b; }
.christmas-photo img { width:100%; height:100%; display:block; object-fit:contain; object-position:center; filter:saturate(1.08) contrast(1.02); }
.christmas-copy h2 { margin:0; font-family:Georgia,serif; font-size:clamp(2.5rem,5vw,5rem); line-height:1; font-weight:500; letter-spacing:-.04em; }
.christmas-copy > p:not(.section-kicker) { max-width:760px; color:rgba(255,255,255,.82); }
.christmas-details { display:flex; flex-wrap:wrap; gap:.7rem; margin:1.5rem 0; }
.christmas-details span { padding:.55rem .8rem; border:1px solid rgba(255,255,255,.27); border-radius:999px; font-size:.8rem; font-weight:800; }
.christmas-dates { font-size:.92rem; }
.christmas-eve { align-self:stretch; display:flex; flex-direction:column; justify-content:center; padding:1.8rem; border:1px solid rgba(229,184,92,.55); border-radius:1rem; background:rgba(37,4,9,.28); backdrop-filter:blur(8px); }
.christmas-eve > p:first-child { margin:0 0 .7rem; color:var(--gold); font-size:.73rem; font-weight:900; letter-spacing:.15em; }
.christmas-eve h3 { margin:0; font-family:Georgia,serif; font-size:2rem; line-height:1.1; font-weight:500; }
.christmas-eve > p:last-child { color:rgba(255,255,255,.75); }

.tours { padding-top:2rem; }
.section-heading { display:flex; justify-content:space-between; gap:3rem; align-items:end; margin-bottom:2.3rem; }
.section-heading > p { max-width:340px; color:var(--muted); margin:0; }
.tour-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }
.tour-card { position:relative; display:flex; flex-direction:column; min-height:560px; padding:2rem; border:1px solid var(--line); border-radius:1.2rem; background:white; box-shadow:0 8px 25px rgba(14,48,58,.05); overflow:hidden; }
.tour-card-featured { color:white; background:var(--river); border-color:var(--river); box-shadow:var(--shadow); }
.tour-card-featured::after { content:""; position:absolute; width:20rem; height:20rem; border:1px solid rgba(229,184,92,.28); border-radius:50%; right:-10rem; bottom:-8rem; }
.tour-number { color:var(--gold); font-family:Georgia,serif; font-size:2rem; font-style:italic; }
.tour-route { margin-top:2.2rem; }
.tour-card h3 { margin:0 0 1rem; font-family:Georgia,serif; font-size:2rem; line-height:1.08; font-weight:500; }
.tour-card > p:not(.tour-route) { color:var(--muted); }
.tour-card-featured > p:not(.tour-route) { color:rgba(255,255,255,.78); }
.transport-note { position:relative; z-index:2; margin:1rem 0 1.25rem; padding:.8rem .9rem; border-left:3px solid var(--gold); border-radius:0 .55rem .55rem 0; background:rgba(229,184,92,.12); color:var(--muted); font-size:.78rem; line-height:1.5; }
.tour-card-featured .transport-note,.christmas-special .transport-note { background:rgba(255,255,255,.08); color:rgba(255,255,255,.82); }
.tour-card ul { list-style:none; padding:0; margin:1rem 0 2rem; border-top:1px solid var(--line); }
.tour-card-featured ul { border-color:rgba(255,255,255,.2); }
.tour-card li { padding:.55rem 0; border-bottom:1px solid var(--line); font-size:.9rem; }
.tour-card-featured li { border-color:rgba(255,255,255,.2); }
.tour-actions { position:relative; z-index:2; display:flex; flex-wrap:wrap; align-items:center; gap:.75rem; margin-top:auto; }
.tour-actions > a:first-child { color:var(--river); font-weight:850; text-underline-offset:.3rem; }
.booking-legal { margin:1rem 0 0; padding-top:.85rem; border-top:1px solid var(--line); color:var(--muted); font-size:.78rem; line-height:1.45; }
.booking-legal a { color:var(--river); font-weight:800; }
.tour-calendar-button { display:inline-flex; align-items:center; min-height:2.4rem; padding:.45rem .8rem; border:1px solid var(--river); border-radius:999px; color:var(--river); text-decoration:none; font-size:.78rem; font-weight:850; }
.tour-payment-button { display:inline-flex; align-items:center; justify-content:center; min-height:2.4rem; padding:.48rem .85rem; border:1px solid var(--gold); border-radius:999px; background:var(--gold); color:var(--deep); text-decoration:none; font-size:.78rem; font-weight:900; }
.tour-payment-schnapps { background:#fff6df; }
.tour-card-featured .tour-actions > a:first-child { color:var(--gold); }
.tour-card-featured .tour-calendar-button { color:white; border-color:rgba(255,255,255,.55); }
.tour-card-featured .tour-payment-button { color:var(--deep); }
.christmas-actions { display:flex; flex-wrap:wrap; gap:.7rem; align-items:center; }
.button-payment { background:var(--gold); border-color:var(--gold); color:var(--deep); }
.tour-card-panorama { order:-1; background:linear-gradient(145deg,#eef5f5,#fff); }
.tour-card-short { background:linear-gradient(145deg,#fff8e9,#fff); }
.tour-card-custom { color:white; background:linear-gradient(145deg,#0d3b4c,#0d5066); border-color:transparent; }
.tour-card-custom > p:not(.tour-route),.tour-card-custom .booking-formats > p { color:rgba(255,255,255,.72); }
.tour-card-custom ul,.tour-card-custom li { border-color:rgba(255,255,255,.2); }
.tour-card-custom .booking-formats > div { border-color:rgba(255,255,255,.2); background:rgba(255,255,255,.08); }
.tour-card-custom .booking-formats strong { color:white; }
.tour-card-custom .booking-formats span { color:rgba(255,255,255,.72); }
.tour-card-custom .tour-actions > a:first-child { color:var(--gold); }
.tour-card-custom .tour-calendar-button { color:white; border-color:rgba(255,255,255,.55); }
.booking-formats { position:relative; z-index:2; display:grid; grid-template-columns:1fr 1fr; gap:.65rem; margin:0 0 1.35rem; }
.price-strip { position:relative; z-index:2; display:flex; flex-wrap:wrap; gap:.55rem; margin:.9rem 0 1.15rem; padding:.7rem; border-top:2px solid var(--gold); border-bottom:2px solid var(--gold); background:rgba(229,184,92,.11); }
.price-strip span { display:flex; flex:1 1 8rem; flex-direction:column; gap:.05rem; }
.price-strip small { color:var(--muted); font-size:.66rem; font-weight:850; line-height:1.25; text-transform:uppercase; letter-spacing:.06em; }
.price-strip strong { color:var(--deep); font-family:Georgia,"Times New Roman",serif; font-size:1.45rem; }
.tour-card-featured .price-strip { background:rgba(229,184,92,.13); }
.tour-card-featured .price-strip small,.tour-card-custom .price-strip small { color:rgba(255,255,255,.72); }
.tour-card-featured .price-strip strong,.tour-card-custom .price-strip strong { color:var(--gold); }
.price-strip-christmas { max-width:34rem; }
.booking-formats > p { grid-column:1/-1; margin:0; color:var(--muted); font-size:.68rem; font-weight:900; letter-spacing:.14em; }
.booking-formats > div { display:flex; flex-direction:column; gap:.18rem; padding:.75rem; border:1px solid var(--line); border-radius:.75rem; background:rgba(255,255,255,.72); }
.booking-formats strong { font-size:.86rem; color:var(--ink); }
.booking-formats span { color:var(--muted); font-size:.76rem; line-height:1.35; }
.booking-formats-single { grid-template-columns:1fr; }
.booking-formats-single > p { grid-column:auto; }
.tour-card-featured .booking-formats > p { color:rgba(255,255,255,.65); }
.tour-card-featured .booking-formats > div { border-color:rgba(255,255,255,.2); background:rgba(255,255,255,.08); }
.tour-card-featured .booking-formats strong { color:white; }
.tour-card-featured .booking-formats span { color:rgba(255,255,255,.72); }
.professional { display:grid; grid-template-columns:.85fr 1.15fr; gap:3rem; align-items:start; color:white; background:var(--river); border-radius:1.5rem; }
.professional h2 { margin:.25rem 0 0; max-width:12ch; font-family:Georgia,serif; font-size:clamp(2rem,4vw,3.6rem); line-height:1.03; font-weight:500; }
.professional .section-kicker { color:var(--gold); }
.professional-content > p { margin:0 0 1.5rem; max-width:65ch; color:rgba(255,255,255,.78); font-size:1.05rem; }
.professional-points { display:flex; flex-wrap:wrap; gap:.6rem; margin:0 0 1.5rem; }
.professional-points span { padding:.55rem .75rem; border:1px solid rgba(255,255,255,.22); border-radius:999px; font-size:.8rem; font-weight:800; }
.legal-links { display:flex; flex-wrap:wrap; justify-content:center; gap:.6rem 1.2rem; margin:.8rem 0 1.2rem; }
.legal-links a { color:var(--gold); font-size:.82rem; font-weight:800; text-underline-offset:.25rem; }
.professional .button-outline { color:white; border-color:rgba(255,255,255,.45); }
.tour-gallery { position:relative; height:auto; aspect-ratio:3 / 2; margin:-2rem -2rem 1.65rem; overflow:hidden; background:#263f43; }
.tour-gallery-track { position:absolute; inset:0; height:100%; display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; overscroll-behavior-inline:contain; }
.tour-gallery-track::-webkit-scrollbar { display:none; }
.tour-gallery-slide { flex:0 0 100%; min-width:0; height:100%; margin:0; scroll-snap-align:start; position:relative; background:#0a3542; }
.tour-gallery-slide::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg,transparent 60%,rgba(7,47,61,.28)); }
.tour-gallery-slide img { width:100%; height:100%; display:block; object-fit:contain; object-position:center; }
.tour-gallery-slide.natural-tone img { filter:saturate(.82) contrast(.98); }
.tour-gallery-slide.portrait-context { background:#d9d2bd; }
.tour-gallery-slide.portrait-context img { object-fit:contain; object-position:center; }
.tour-gallery-slide.schnapps-sunflowers img { object-position:center 51%; }
.tour-gallery-slide.schnapps-toast img { object-position:center 59%; }
.tour-gallery-slide.schnapps-family img { object-position:center 58%; }
.tour-gallery-slide.schnapps-still img { object-position:center 55%; }
.tour-gallery-slide.schnapps-history img { object-position:center 50%; }
.tour-gallery-slide.schnapps-sunflowers,
.tour-gallery-slide.schnapps-toast,
.tour-gallery-slide.schnapps-family,
.tour-gallery-slide.schnapps-still,
.tour-gallery-slide.schnapps-history { background:#263f43; }
.tour-gallery-slide.schnapps-sunflowers img,
.tour-gallery-slide.schnapps-toast img,
.tour-gallery-slide.schnapps-family img,
.tour-gallery-slide.schnapps-still img,
.tour-gallery-slide.schnapps-history img { object-fit:contain; object-position:center; }
.tour-gallery-slide.contain img { object-fit:contain; }
.gallery-arrow { position:absolute; z-index:2; top:50%; width:2.35rem; height:2.35rem; border:1px solid rgba(255,255,255,.65); border-radius:50%; transform:translateY(-50%); color:white; background:rgba(7,47,61,.68); font:700 1.55rem/1 Georgia,serif; cursor:pointer; backdrop-filter:blur(3px); }
.gallery-prev { left:.7rem; }
.gallery-next { right:.7rem; }
.gallery-dots { position:absolute; z-index:2; left:50%; bottom:.65rem; display:flex; gap:.38rem; transform:translateX(-50%); }
.gallery-dot { width:.48rem; height:.48rem; padding:0; border:1px solid rgba(255,255,255,.9); border-radius:50%; background:rgba(7,47,61,.45); }
.gallery-dot.active { background:white; }
.tour-card-featured .tour-gallery { border-bottom:1px solid rgba(255,255,255,.18); }

.story-band { padding:clamp(5rem,9vw,9rem) 1.4rem; background:var(--cream); text-align:center; }
.story-band blockquote { width:min(940px,100%); margin:auto; color:var(--deep); font-family:Georgia,serif; font-size:clamp(2rem,4vw,4rem); line-height:1.18; font-style:italic; }

.about { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2.5rem,7vw,7rem); align-items:center; }
.about-image { min-height:590px; border-radius:1.6rem; background-image:linear-gradient(180deg,transparent 55%,rgba(7,47,61,.22)),url("guide-natascha-orchard.webp"); background-size:cover; background-position:center top; box-shadow:var(--shadow); }
.about-copy > p:not(.section-kicker) { color:var(--muted); font-size:1.08rem; }
.credentials { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:2rem; }
.credentials span { padding:.55rem .8rem; border-radius:999px; background:var(--cream); color:var(--deep); font-size:.78rem; font-weight:800; }

.trust-section { padding-top:2rem; }
.trust-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.trust-grid article { padding:clamp(1.5rem,3vw,2.4rem); border:1px solid var(--line); border-radius:1.2rem; background:white; box-shadow:0 8px 25px rgba(14,48,58,.05); }
.trust-grid article > span { color:var(--gold); font:italic 1.8rem/1 Georgia,serif; }
.trust-grid h3 { margin:1.3rem 0 .7rem; font:500 1.65rem/1.1 Georgia,serif; }
.trust-grid p { margin:0; color:var(--muted); }

.booking-steps { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(2rem,7vw,7rem); align-items:start; background:var(--cream); width:100%; padding-inline:max(calc((100% - 1180px)/2),1.3rem); }
.booking-steps ol { list-style:none; counter-reset:steps; margin:0; padding:0; }
.booking-steps li { counter-increment:steps; display:grid; grid-template-columns:3.2rem 1fr; padding:1.35rem 0; border-bottom:1px solid var(--line); }
.booking-steps li::before { content:"0" counter(steps); grid-row:1 / span 2; color:var(--gold); font:italic 1.7rem/1 Georgia,serif; }
.booking-steps strong { font-size:1.05rem; }
.booking-steps span { color:var(--muted); }

.faq { display:grid; grid-template-columns:.7fr 1.3fr; gap:clamp(2rem,7vw,7rem); }
.faq-list { border-top:1px solid var(--line); }
.faq details { border-bottom:1px solid var(--line); }
.faq summary { position:relative; padding:1.3rem 2.5rem 1.3rem 0; cursor:pointer; list-style:none; font-weight:850; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary::after { content:"+"; position:absolute; right:.2rem; color:var(--river); font-size:1.45rem; line-height:1; }
.faq details[open] summary::after { content:"−"; }
.faq details p { margin:-.35rem 0 1.35rem; color:var(--muted); }

.availability { display:block; text-align:center; }
.availability-copy { max-width:760px; margin-inline:auto; }
.availability-copy > p:not(.section-kicker) { color:var(--muted); font-size:1.08rem; margin:1.3rem 0 1.8rem; }
.availability-dialog { width:min(900px,calc(100% - 2rem)); max-height:calc(100dvh - 2rem); padding:0; border:0; border-radius:1rem; color:var(--ink); background:white; box-shadow:0 28px 90px rgba(4,28,35,.35); overflow:auto; }
.availability-dialog::backdrop { background:rgba(4,28,35,.72); backdrop-filter:blur(4px); }
.availability-dialog-inner { position:relative; padding:.75rem; }
.availability-dialog .section-kicker { display:none; }
.availability-dialog h2 { margin:0; padding-right:2.5rem; font:500 1.45rem/1.1 Georgia,"Times New Roman",serif; }
.calendar-close-form { position:sticky; z-index:4; top:.7rem; height:0; margin:0; text-align:right; pointer-events:none; }
.calendar-close { width:2.25rem; height:2.25rem; border:1px solid var(--line); border-radius:50%; color:white; background:var(--deep); box-shadow:0 4px 14px rgba(4,28,35,.25); font-size:1.45rem; line-height:1; cursor:pointer; pointer-events:auto; }
.calendar-tour-name { margin:.3rem 0 .55rem; padding-right:2.4rem; color:var(--river); font-size:.82rem; font-weight:850; }
.calendar-schedule { margin:-.15rem 0 .75rem; padding:.55rem .7rem; border-left:3px solid var(--gold); border-radius:0 .5rem .5rem 0; color:var(--deep); background:#fff7e5; font-size:.82rem; font-weight:800; line-height:1.4; }
.calendar-language { margin:0 0 .65rem; padding:.65rem; border:1px solid var(--line); border-radius:.8rem; }
.calendar-language legend { padding:0 .25rem; color:var(--deep); font-size:.78rem; font-weight:900; }
.calendar-language-options { display:grid; grid-template-columns:repeat(3,1fr); gap:.35rem; }
.calendar-language-options button { min-height:2.35rem; padding:.4rem .3rem; border:1px solid rgba(13,80,102,.25); border-radius:.55rem; color:var(--deep); background:#eef6f5; font-family:inherit; font-size:.76rem; font-weight:800; line-height:1.1; cursor:pointer; }
.calendar-language-options button[aria-checked="true"] { color:white; border-color:var(--river); background:var(--river); box-shadow:0 4px 12px rgba(13,80,102,.2); }
.calendar-language > p { margin:.5rem 0 0; color:var(--muted); font-size:.7rem; line-height:1.4; }
.booking-calendar { min-width:0; padding:.65rem; border:1px solid var(--line); border-radius:.8rem; background:white; box-shadow:none; }
.calendar-workspace { display:grid; grid-template-columns:minmax(340px,.9fr) minmax(320px,1.1fr); gap:.75rem; align-items:start; }
.calendar-toolbar { display:grid; grid-template-columns:2.2rem 1fr 2.2rem; align-items:center; gap:.45rem; margin-bottom:.55rem; }
.calendar-toolbar h3 { margin:0; text-align:center; font:500 1.25rem/1.1 Georgia,"Times New Roman",serif; }
.calendar-arrow { width:2.2rem; height:2.2rem; border:1px solid var(--line); border-radius:50%; color:var(--deep); background:var(--paper); font-size:1.35rem; cursor:pointer; }
.calendar-arrow:disabled { opacity:.3; cursor:default; }
.calendar-weekdays,.calendar-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:.2rem; }
.calendar-weekdays { margin-bottom:.2rem; color:var(--muted); text-align:center; font-size:.65rem; font-weight:850; text-transform:uppercase; }
.calendar-day { min-height:2.15rem; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:.15rem; border:1px solid transparent; border-radius:.45rem; color:#9aa9ae; background:#f3f5f3; font:inherit; cursor:default; }
.calendar-day strong { font-size:.82rem; }
.calendar-day small { display:none; }
.calendar-day.empty { visibility:hidden; }
.calendar-day.available { color:#0e5d31; border:2px solid #2b9a58; background:#c9f2d5; cursor:pointer; font-weight:850; }
.calendar-day.available:hover,.calendar-day.available.selected { color:white; background:#23854c; transform:translateY(-1px); }
.calendar-day.booked { color:#8c1421; border:2px solid #c53a49; background:#ffd6da; font-weight:850; }
.calendar-legend { display:flex; flex-wrap:wrap; gap:.8rem; margin:.55rem 0; color:var(--muted); font-size:.7rem; font-weight:750; }
.calendar-legend > span { display:inline-flex; align-items:center; gap:.42rem; }
.calendar-legend i { width:.7rem; height:.7rem; border-radius:50%; }
.legend-available { background:var(--river); }
.legend-alternative { background:#2563eb; }
.legend-other-language { background:#e0aa2b; }
.legend-booked { background:#b04a55; }
.legend-unscheduled { background:#aab4b7; }
[data-prelaunch-partner] { display:revert; }
.partner-account-actions{display:grid;gap:.75rem;width:100%}.partner-account-actions[hidden]{display:none}.partner-history{display:grid;gap:.75rem}.partner-history-item{display:grid;gap:.25rem;padding:1rem;border:1px solid rgba(31,55,68,.16);border-radius:12px;background:#fff}.partner-history-item span,.partner-history-item small{color:var(--muted,#5f6b70)}
.partner-only { display:none!important; }
.partner-calendar-mode .partner-only { display:inline-flex!important; }
.partner-calendar-mode .public-only { display:none!important; }
.calendar-day.other-language { color:#674700; border:2px solid #d39b00; background:#ffe69a; font-weight:850; }
.calendar-day.alternative { color:#173f93; border:2px solid #2563eb; background:#dbeafe; font-weight:850; cursor:pointer; }
.calendar-day.alternative:hover,.calendar-day.alternative.selected { color:white; background:#2563eb; transform:translateY(-1px); }
.calendar-day.booked.selectable,.calendar-day.other-language.selectable { cursor:pointer; }
.calendar-day.booked.selectable:hover,.calendar-day.booked.selectable.selected { color:white; background:#b52f3e; transform:translateY(-1px); }
.calendar-day.unavailable.selectable { color:#67777c; border-color:#cbd3d5; background:#edf0f0; cursor:pointer; }
.calendar-day.unavailable.selectable:hover,.calendar-day.unavailable.selectable.selected { color:white; border-color:var(--deep); background:#657b82; transform:translateY(-1px); }
.calendar-selection { min-height:100%; max-height:31rem; overflow:auto; padding:.8rem; border-radius:.8rem; color:white; background:var(--deep); font-size:.8rem; }
.calendar-selection p { margin:0; color:rgba(255,255,255,.78); }
.calendar-selection strong { display:block; color:var(--gold); }
.calendar-selection a,.calendar-selection button { display:inline-block; margin-top:.35rem; color:white; font-weight:850; text-underline-offset:.25rem; }
.calendar-selection .calendar-payment { padding:.55rem .75rem; border:0; border-radius:999px; color:var(--deep); background:var(--gold); font-family:inherit; text-decoration:none; cursor:pointer; }
.availability-results-intro { margin:.45rem 0 .7rem!important; }
.availability-results { display:grid; gap:.6rem; margin-top:.65rem; }
.availability-result { padding:.7rem; border:1px solid rgba(255,255,255,.18); border-radius:.65rem; background:rgba(255,255,255,.08); }
.availability-result h3 { margin:0 0 .15rem; color:white; font:700 .95rem/1.25 inherit; }
.availability-result p { margin:0 0 .45rem!important; }
.availability-result-actions { display:flex; flex-wrap:wrap; gap:.4rem; }
.availability-result-actions .calendar-payment { margin-top:0; font-size:.72rem; }
.calendar-bottom-close { margin-top:.55rem; text-align:center; }
.calendar-bottom-close .button { min-width:9rem; padding:.55rem .8rem; font-size:.78rem; }
@media (max-width:720px) {
  .availability-dialog { width:min(430px,calc(100% - 1rem)); max-height:calc(100dvh - 1rem); }
  .calendar-workspace { grid-template-columns:1fr; }
  .calendar-selection { min-height:2.7rem; max-height:none; overflow:visible; }
}

.contact { display:grid; grid-template-columns:1.3fr .7fr; gap:4rem; align-items:center; width:min(1280px,calc(100% - 2.6rem)); margin-bottom:4rem; padding-inline:clamp(1.5rem,5vw,5rem); border-radius:1.4rem; color:white; background:var(--deep); }
.contact h2 { color:white; }
.contact p:not(.section-kicker) { max-width:680px; color:rgba(255,255,255,.72); }
.contact-actions { display:grid; gap:.8rem; }
.contact-actions .button { width:100%; }
.contact-actions .button-outline { color:white; border-color:rgba(255,255,255,.55); }
.contact-note { font-size:.78rem; text-align:center; }

.partner-booking { display:grid; grid-template-columns:1.25fr .75fr; gap:clamp(2rem,7vw,6rem); align-items:center; margin-bottom:4rem; padding:clamp(2rem,5vw,4rem); border-radius:1.4rem; color:white; background:linear-gradient(135deg,var(--deep),#0d5066); box-shadow:var(--shadow); }
.partner-booking h2 { max-width:720px; margin:.25rem 0 1rem; color:white; }
.partner-booking-copy > p:not(.section-kicker) { max-width:720px; color:rgba(255,255,255,.78); font-size:1.05rem; }
.partner-benefits { display:flex; flex-wrap:wrap; gap:.55rem; margin-top:1.4rem; }
.partner-benefits span { padding:.55rem .75rem; border:1px solid rgba(255,255,255,.25); border-radius:999px; color:white; background:rgba(255,255,255,.08); font-size:.78rem; font-weight:800; }
.partner-booking-actions { display:grid; gap:.75rem; }
.partner-booking-actions .button { width:100%; }
.partner-booking-actions .button-outline { color:white; border-color:rgba(255,255,255,.55); }
.partner-booking-actions p { margin:.2rem 0 0; color:rgba(255,255,255,.7); font-size:.78rem; text-align:center; }
.partner-dialog { width:min(680px,calc(100% - 2rem)); max-height:calc(100dvh - 2rem); padding:0; border:0; border-radius:1rem; color:var(--ink); background:white; box-shadow:0 28px 90px rgba(4,28,35,.35); overflow:auto; }
.partner-dialog::backdrop { background:rgba(4,28,35,.72); backdrop-filter:blur(4px); }
.partner-dialog-inner { padding:clamp(1.25rem,4vw,2.2rem); }
.partner-dialog h2 { margin:.15rem 2.5rem 1.2rem 0; font-size:clamp(1.7rem,4vw,2.4rem); }
.partner-dialog-close { position:sticky; z-index:3; top:.8rem; height:0; margin:0 .8rem 0 0; text-align:right; pointer-events:none; }
.partner-dialog-close button { width:2.3rem; height:2.3rem; border:0; border-radius:50%; color:white; background:var(--deep); font-size:1.45rem; line-height:1; cursor:pointer; pointer-events:auto; }
.partner-tabs { display:grid; grid-template-columns:1fr 1fr; gap:.4rem; margin-bottom:1.1rem; padding:.3rem; border-radius:.8rem; background:var(--cream); }
.partner-tabs button { min-height:2.6rem; padding:.55rem; border:0; border-radius:.6rem; color:var(--deep); background:transparent; font:800 .85rem/1.2 inherit; cursor:pointer; }
.partner-tabs button[aria-selected="true"] { color:white; background:var(--river); }
.partner-form { display:grid; grid-template-columns:1fr 1fr; gap:.9rem; }
.partner-form label { display:grid; gap:.35rem; color:var(--deep); font-size:.78rem; font-weight:850; }
.partner-form input,.partner-form select,.partner-form textarea { width:100%; min-height:2.8rem; padding:.65rem .75rem; border:1px solid var(--line); border-radius:.65rem; color:var(--ink); background:white; font:inherit; }
.partner-form textarea { resize:vertical; }
.partner-form .partner-full { grid-column:1 / -1; }
.partner-form .partner-consent { display:flex; grid-template-columns:auto 1fr; align-items:flex-start; gap:.6rem; font-weight:650; line-height:1.4; }
.partner-consent input { width:1.15rem; min-height:1.15rem; margin:.15rem 0 0; }
.partner-status { min-height:1.5rem; margin-top:.9rem; color:var(--deep); font-size:.85rem; font-weight:750; }
.partner-status.error { color:#9b2635; }
.partner-booking-summary { margin:-.4rem 0 1rem; padding:.8rem; border-left:3px solid var(--gold); border-radius:0 .55rem .55rem 0; color:var(--deep); background:#fff7e5; font-weight:800; }
.partner-price-breakdown { display:grid; gap:.45rem; margin:0 0 1rem; padding:.85rem; border:1px solid var(--line); border-radius:.75rem; background:#f4f8f7; }
.partner-price-breakdown > div { display:flex; justify-content:space-between; gap:1rem; color:var(--muted); font-size:.85rem; }
.partner-price-breakdown strong { color:var(--deep); }
.partner-price-breakdown > div:last-child { padding-top:.45rem; border-top:1px solid var(--line); }
.is-hidden { display:none!important; }

.partners { padding-top:0; text-align:center; }
.partners h2 { margin:.2rem 0 1.4rem; font-size:clamp(1.8rem,4vw,3rem); }
.partner-links { display:flex; flex-wrap:wrap; justify-content:center; gap:.7rem; }
.partner-links a { padding:.7rem 1rem; border:1px solid var(--line); border-radius:999px; color:var(--deep); background:white; font-weight:800; text-decoration:none; }
.partner-links a:hover { color:white; border-color:var(--river); background:var(--river); }

.tour-detail-links { padding-top:0; }
.tour-detail-links > p { text-align:center; }
.tour-detail-links > div { display:flex; flex-wrap:wrap; justify-content:center; gap:.55rem 1.1rem; }
.tour-detail-links a { color:var(--deep); font-size:.78rem; font-weight:800; text-underline-offset:.2rem; }
.tour-detail-links a:hover { color:var(--river); }

footer { display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:2rem clamp(1.2rem,4vw,4.5rem); border-top:1px solid var(--line); color:var(--muted); font-size:.8rem; }
.footer-brand { color:var(--ink); }
.credits { max-width:360px; font-size:.68rem; line-height:1.5; }
.credits a { text-underline-offset:.15rem; }
.toast { position:fixed; z-index:20; left:50%; bottom:1.5rem; transform:translate(-50%,120px); padding:.8rem 1rem; border-radius:.75rem; color:white; background:var(--deep); box-shadow:var(--shadow); transition:transform .25s; }
.toast.show { transform:translate(-50%,0); }

@media (max-width:900px) {
  .site-header { grid-template-columns:1fr auto; }
  .site-header .brand { grid-column:1; grid-row:1; }
  .site-header .languages { grid-column:2; grid-row:1; }
  .nav { grid-column:1/-1; grid-row:2; display:flex; gap:1.15rem; overflow-x:auto; padding:.15rem 0; scrollbar-width:none; }
  .nav::-webkit-scrollbar { display:none; }
  .nav a { flex:0 0 auto; }
  .hero { min-height:680px; height:auto; padding:11rem 0 7rem; }
  .hero-content { width:auto; margin:0 1.4rem; }
  .route-line { left:1.4rem; right:auto; }
  .intro { display:block; }
  .intro > p:last-child { margin:1.4rem 0 0; }
  .section-heading { display:block; }
  .section-heading > p { margin-top:1rem; }
  .tour-grid { grid-template-columns:1fr; }
  .tour-card { min-height:auto; }
  .booking-formats { grid-template-columns:1fr; }
  .booking-formats > p { grid-column:auto; }
  .professional { grid-template-columns:1fr; gap:1.5rem; }
  .about,.booking-steps,.faq,.contact,.partner-booking { grid-template-columns:1fr; }
  .trust-grid { grid-template-columns:1fr; }
  .christmas-special { grid-template-columns:1fr; }
  .christmas-copy,.christmas-eve,.tour-card { min-width:0; }
  .christmas-photo { height:auto; margin:0 0 2rem; }
  .christmas-photo img { height:auto; }
  .about-image { min-height:420px; }
  footer { flex-direction:column; text-align:center; }
}

@media (max-width:560px) {
  .site-header { padding:1rem; gap:.5rem; }
  .brand { font-size:.72rem; letter-spacing:.08em; }
  .brand-logo { width:3.7rem; height:3.7rem; }
  .languages button { min-width:2rem; padding:.35rem .4rem; }
  .nav { gap:.9rem; }
  .nav a { font-size:.76rem; }
  .hero h1 { font-size:3.35rem; }
  .hero-actions { flex-direction:column; align-items:stretch; }
  .route-line { gap:.35rem; font-size:.58rem; }
  .route-line i { width:1rem; }
  .section { width:min(100% - 2rem,1180px); }
  .christmas-special { width:min(100% - 1rem,1280px); }
  .contact { width:min(100% - 1rem,1280px); }
  .booking-calendar { margin-inline:0; padding:.55rem; border-radius:.75rem; }
  .availability-dialog-inner { padding:.65rem; }
  .availability-dialog .booking-calendar { margin-inline:0; }
  .calendar-day { min-height:2rem; padding:.1rem; }
  .partner-form { grid-template-columns:1fr; }
  .partner-form .partner-full { grid-column:auto; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { transition:none!important; }
}

.language-flag{display:block;width:23px;height:15px;object-fit:cover;border-radius:2px;margin:0 auto 5px;box-shadow:0 0 0 1px rgba(0,0,0,.12)}
.languages button,.calendar-language-options button{display:flex;flex-direction:column;align-items:center;justify-content:center}.calendar-language-options button{min-height:3.4rem}.langs a{display:inline-flex;flex-direction:column;align-items:center;justify-content:center}

.tour-learn-more{display:inline-flex;align-items:center;gap:.4rem;align-self:flex-start;margin:.15rem 0 .85rem;color:var(--river);font-size:.95rem;font-weight:850;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.25rem}.tour-learn-more::after{content:"→"}.tour-learn-more:hover{color:var(--deep)}.christmas-copy .tour-learn-more{color:var(--gold)}

.partner-handover-panel[hidden]{display:none}.partner-handover-panel{padding:.75rem;background:#f6f8f9;border-radius:.5rem;overflow-wrap:anywhere}.partner-history-item button{margin-top:.5rem}

.calendar-day:has(.calendar-places){min-height:3.2rem}.calendar-day .calendar-places{display:block;font-size:.875rem;line-height:1.15;white-space:normal}.calendar-places-range{max-width:3.1rem}.calendar-capacity-note{font-size:.875rem;line-height:1.4;color:var(--muted);margin:.75rem 0 0}.calendar-capacity-note[hidden]{display:none}.availability-result .availability-places{color:#0e5d31;font-size:1rem;margin:.3rem 0 .7rem}

/* Phone layouts must shrink with the viewport, including enlarged system text. */
.site-header > *, .section > *, .calendar-workspace > *, .partner-form > * { min-width:0; }
.section, .christmas-special, footer, dialog { overflow-wrap:anywhere; }
.button, .tour-payment-button, .tour-calendar-button { max-width:100%; white-space:normal; text-align:center; }
.partner-form input, .partner-form select, .partner-form textarea { min-width:0; max-width:100%; }
.partner-consent input { flex:0 0 1.15rem; }
@media (max-width:900px) {
  .site-header { grid-template-columns:minmax(0,1fr) auto; }
  .nav { flex-wrap:wrap; overflow:visible; gap:.4rem 1rem; }
  .nav a { flex:0 1 auto; }
  .hero h1, .christmas-copy h2 { overflow-wrap:anywhere; }
  .route-line { right:1.4rem; flex-wrap:wrap; }
}
@media (max-width:720px) {
  .calendar-workspace { grid-template-columns:minmax(0,1fr); }
  .calendar-toolbar { grid-template-columns:2.2rem minmax(0,1fr) 2.2rem; }
  .calendar-language-options { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .calendar-day { min-width:0; }
  .calendar-day .calendar-places { font-size:.65rem; overflow-wrap:anywhere; }
  .partner-price-breakdown > div { flex-wrap:wrap; gap:.2rem .7rem; }
}
@media (max-width:560px) {
  .hero-content { max-width:calc(100% - 2rem); margin-inline:1rem; padding-top:3rem; }
  .hero h1 { font-size:clamp(2.25rem,9vw,3.1rem); line-height:1.02; }
  .hero { padding-top:12rem; }
  .brand { gap:.45rem; font-size:.62rem; letter-spacing:.04em; }
  .brand-logo { flex:0 0 auto; width:3rem; height:3rem; }
  .languages { flex-shrink:0; }
  .intro h2,.section-heading h2,.about h2,.availability h2,.booking-steps h2,.faq h2,.contact h2 { font-size:clamp(1.85rem,8vw,2.4rem); }
  .christmas-copy h2 { font-size:clamp(2rem,8.5vw,2.7rem); line-height:1.08; }
  .christmas-special { padding:1.25rem; }
  .christmas-eve { padding:1.1rem; }
  .partner-booking { padding:1.25rem; }
  .tour-card { padding:1.25rem; }
  .tour-gallery { margin:-1.25rem -1.25rem 1.3rem; }
  .tour-card h3 { font-size:1.8rem; overflow-wrap:anywhere; }
  .about-image { min-height:0; aspect-ratio:3 / 4; background-size:contain; background-repeat:no-repeat; background-color:var(--cream); }
  .toast { width:max-content; max-width:calc(100% - 2rem); text-align:center; overflow-wrap:anywhere; }
}

/* Keep professional booking copy inside its coloured panel at every width. */
.professional.section { padding-inline:clamp(1.25rem,4vw,3rem); }
.professional-heading, .professional-content { min-width:0; }
.professional-points span { max-width:100%; }
@media (max-width:560px) {
  .professional.section { padding-block:2.5rem; }
  .professional h2 { max-width:none; font-size:clamp(1.85rem,8vw,2.4rem); line-height:1.1; }
}

/* Compact homepage cards; full practical information lives on each tour page. */
.tour-card-facts { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.5rem 1rem; margin:.1rem 0 1rem; font-size:.88rem; color:var(--muted); }
.tour-card-facts strong { font-size:1.35rem; color:var(--deep); }
.tour-card-facts small { font-size:.75rem; }
.tour-card-featured .tour-card-facts, .christmas-special .tour-card-facts { color:rgba(255,255,255,.8); }
.tour-card-featured .tour-card-facts strong, .christmas-special .tour-card-facts strong { color:var(--gold); }
.tour-card { min-height:0; }
.tour-card > p:not(.tour-route) { margin-bottom:1.5rem; }
.tour-actions { padding-top:.4rem; }
.tour-actions .tour-learn-more { margin:0; }
.tour-payment-options[hidden] { display:none!important; }
.christmas-special { display:block; padding:clamp(1.25rem,4vw,3rem); }
.christmas-copy { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:2rem; align-items:center; }
.christmas-photo { height:320px; margin:0; }
.christmas-summary { min-width:0; }
.christmas-copy h2 { font-size:clamp(2rem,3.8vw,3.4rem); line-height:1.08; }
.christmas-actions .tour-learn-more { color:white; }
.partner-booking { position:relative; gap:2rem; }
.anchor-target { position:absolute; top:0; left:0; }
.partner-booking .tour-learn-more { color:var(--gold); }
@media(max-width:900px){ .christmas-copy { grid-template-columns:minmax(0,1fr); } .christmas-photo { height:auto; } .christmas-photo img { height:auto; } }
@media(max-width:560px){ .tour-card-facts { align-items:flex-start; } .christmas-copy { gap:1.25rem; } .partner-booking h2 { font-size:clamp(1.85rem,8vw,2.4rem); line-height:1.1; } }

.small-group-benefit{max-width:42rem;color:white;font-size:clamp(16px,1.6vw,19px);line-height:1.5;margin:.75rem 0 1.25rem}

/* Give the seasonal experience a full feature section. */
@media (min-width:901px) {
  .christmas-special { padding:clamp(2.5rem,4vw,4rem); }
  .christmas-copy { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(2rem,4vw,4rem); }
  .christmas-photo { height:clamp(440px,39vw,560px); }
  .christmas-copy h2 { font-size:clamp(2.8rem,4.4vw,4.2rem); }
}

.border-document-note{padding:14px 16px;border-left:4px solid #ad7226;background:#fff4de;color:#362914;line-height:1.55;margin:16px 0}.border-document-note p{margin:6px 0 0}.return-note{line-height:1.65}

/* Readable, generously sized tour actions. */
.tour-learn-more, .tour-calendar-button, .tour-payment-button {
  display:inline-flex; align-items:center; justify-content:center;
  min-height:56px; padding:14px 22px; font-size:18px; line-height:1.35;
  font-weight:850; max-width:100%; white-space:normal; text-align:center;
}
.tour-learn-more { border:2px solid currentColor; border-radius:999px; text-decoration:none; }
.tour-actions, .christmas-actions { gap:12px; }
.tour-learn-more:focus-visible, .tour-calendar-button:focus-visible, .tour-payment-button:focus-visible { outline:3px solid currentColor; outline-offset:4px; }
@media(max-width:560px) {
  .tour-actions > .tour-learn-more, .tour-actions > .tour-calendar-button, .tour-actions > .tour-payment-button,
  .christmas-actions > .tour-learn-more, .christmas-actions > .tour-calendar-button, .christmas-actions > .tour-payment-button { width:100%; }
}

.button { min-height:56px; font-size:18px; line-height:1.35; padding:14px 22px; }

.languages a { display:flex; flex-direction:column; align-items:center; justify-content:center; min-width:2.3rem; padding:.42rem .6rem; border-radius:999px; color:white; font-size:.75rem; font-weight:800; text-decoration:none; }
.languages a[aria-current="page"] { background:var(--gold); color:var(--deep); }

.border-document-note,.transport-note,.tour-meeting{border-left:0!important}.tour-practical a,.return-note a{border:0;text-decoration:none}.tour-payment-options:empty{display:none!important}

/* One consistent header colour; logo background is discarded by the SVG filter. */
.site-header{background:#082f3e;border-bottom:0}.site-header .brand-logo{background:transparent;border-radius:0;box-shadow:none}.site-header .languages{background:transparent}

.brand-logo,.brand img{box-shadow:none!important;border-radius:0!important;background:transparent!important}

.farm-addon{margin-top:1.3rem;padding-top:1rem;border-top:1px solid #d8af55}.farm-addon h4{margin:0 0 .5rem;font-size:1.05rem}.farm-addon p{font-size:.9rem;line-height:1.6}.farm-addon a{color:inherit;font-weight:700}
