
:root{
  --bg:#f6f8f8;
  --ink:#17313a;
  --muted:#617780;
  --brand:#114a5d;
  --brand2:#2b788f;
  --sand:#ebf3f5;
  --line:#d9e4e8;
  --white:#fff;
  --shadow:0 12px 28px rgba(12,39,48,.10);
  --radius:20px;
  --container:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Arial,Helvetica,sans-serif;
  color:var(--ink);
  background:var(--bg);
  line-height:1.6;
}
img{max-width:100%;display:block}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}
.container{width:min(100% - 32px,var(--container));margin:0 auto}
.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:12px;top:12px;z-index:9999;background:#fff;padding:8px 12px;border-radius:8px}

.site-header{
  position:sticky;top:0;z-index:30;
  background:rgba(255,255,255,.95);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.header-wrap{
  min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:20px;
}
.brand{display:flex;align-items:center;gap:14px}
.brand img{height:58px;width:auto;border-radius:10px}
.brand-text{display:flex;flex-direction:column;line-height:1.1}
.brand-text strong{font-size:1.05rem;color:var(--ink)}
.brand-text span{font-size:.86rem;color:var(--muted)}
.main-nav{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.main-nav > a:not(.btn){color:var(--ink);font-size:.95rem}

.btn{
  display:inline-block;
  border-radius:999px;
  padding:12px 18px;
  font-weight:700;
  border:1px solid transparent;
  transition:.2s ease;
  text-decoration:none;
}
.btn:hover{text-decoration:none;transform:translateY(-1px)}
.btn-primary{background:var(--brand);color:#fff}
.btn-primary:hover{background:#0f3f50}
.btn-secondary{background:var(--brand2);color:#fff}
.btn-secondary:hover{background:#24687c}
.btn-outline{background:#fff;color:var(--brand);border-color:var(--brand)}
.hero{
  position:relative;min-height:85vh;color:#fff;
  background:
    linear-gradient(rgba(8,25,31,.38),rgba(8,25,31,.52)),
    url('/assets/cottages.jpg') center/cover no-repeat;
  display:grid;place-items:center;
}
.hero::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(to top, rgba(8,25,31,.32), rgba(8,25,31,0));
}
.hero-content{position:relative;z-index:1;padding:90px 0 80px;max-width:860px}
.eyebrow,.section-label{
  text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:700
}
.hero h1{font-size:clamp(2.4rem,6vw,4.6rem);line-height:1.04;margin:8px 0 16px}
.hero p.lead{font-size:1.14rem;max-width:760px}
.hero-points{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}
.hero-points span{
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.22);
  padding:10px 14px;border-radius:999px
}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.micro{margin-top:18px;opacity:.94}
.banner{
  background:var(--sand);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.banner-wrap{
  display:grid;grid-template-columns:1.4fr auto;gap:20px;align-items:center;padding:22px 0;
}
.section{padding:72px 0}
.section-alt{background:#edf3f6}
.two-col{display:grid;grid-template-columns:1.05fr .95fr;gap:28px;align-items:start}
.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:26px
}
.feature-list{padding-left:18px}
.feature-list li{margin-bottom:10px}
.center{text-align:center}
.muted{color:var(--muted)}
.lead-copy{font-size:1.08rem}
.gallery-grid{
  display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px
}
.gallery-grid img,.photo-grid img{
  width:100%;height:100%;object-fit:cover;border-radius:18px;box-shadow:var(--shadow)
}
.gallery-grid .tall{grid-row:span 2;min-height:520px}
.gallery-grid .small{min-height:250px}
.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.photo-grid .wide{grid-column:span 2}
.review{height:100%}
.review p{font-size:1.03rem}
.cta-band{
  background:linear-gradient(135deg,#103b4a,#2e7a90);
  color:#fff
}
.cta-band .btn-outline{color:#fff;border-color:rgba(255,255,255,.75);background:transparent}
.cta-band-wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-items:center}
.cta-stack{display:grid;gap:12px}
.page-hero{
  padding:76px 0 52px;
  color:#fff;
  background:
    linear-gradient(rgba(8,25,31,.48),rgba(8,25,31,.52)),
    url('/assets/loch-lomond-panorama.jpg') center/cover no-repeat;
}
.page-hero.things{background:
    linear-gradient(rgba(8,25,31,.46),rgba(8,25,31,.52)),
    url('/assets/loch-long-walk.jpg') center/cover no-repeat;}
.page-hero.tarbet{background:
    linear-gradient(rgba(8,25,31,.46),rgba(8,25,31,.52)),
    url('/assets/cobbler-ben-lomond.jpg') center/cover no-repeat;}
.page-hero h1{margin:8px 0 12px;font-size:clamp(2rem,4.6vw,3.4rem)}
.path-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.path-links a,.path-links span{color:#fff;opacity:.95}
.badge{
  display:inline-block;background:#eef5f7;color:var(--brand);
  border:1px solid var(--line);padding:6px 10px;border-radius:999px;font-size:.88rem;font-weight:700
}
.floating-whatsapp{
  position:fixed;right:18px;bottom:18px;z-index:40;
  background:#1f8f65;color:#fff;font-weight:700;border-radius:999px;
  padding:14px 18px;box-shadow:var(--shadow)
}
.floating-whatsapp:hover{text-decoration:none;transform:translateY(-1px)}
.site-footer{background:#0f2730;color:#fff;padding:30px 0}
.site-footer a{color:#fff}
.footer-wrap{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.notice{
  background:#fff8e8;border:1px solid #ead9a5;color:#5a4b14;
  border-radius:14px;padding:14px 16px
}
@media (max-width:960px){
  .main-nav{display:none}
  .banner-wrap,.two-col,.three-col,.cta-band-wrap,.gallery-grid,.photo-grid{grid-template-columns:1fr}
  .gallery-grid .tall,.gallery-grid .small{min-height:auto}
}
@media (max-width:640px){
  .hero{min-height:76vh}
  .btn{width:100%;text-align:center}
  .floating-whatsapp{left:12px;right:12px;bottom:12px;text-align:center}
  .brand img{height:48px}
}
