/*  HOMEPAGE - service site 
   Deliberately plain. Georgia, off-white, one accent colour.
   No web fonts, no gradients, no animations.                    */

:root{
  --paper:#f6f2e8;
  --paper2:#efe9db;
  --ink:#1d1a14;
  --ink-soft:#4a443a;
  --accent:#1f3a2d;      /* dark racing green */
  --accent-soft:#5a7261;
  --rule:#c9c0ac;
}

*{box-sizing:border-box;margin:0;padding:0}
html{font-size:17px}
body{
  font-family:Georgia,"Times New Roman",serif;
  background:var(--paper);
  color:var(--ink);
  line-height:1.65;
}
img{display:block;max-width:100%}
a{color:var(--accent);text-underline-offset:3px}
a:hover{color:var(--ink)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

h1,h2,h3{font-weight:700;line-height:1.2;color:var(--ink)}
h1{font-size:clamp(1.9rem,4vw,2.7rem);letter-spacing:-.01em}
h2{font-size:clamp(1.35rem,2.6vw,1.7rem);margin-bottom:.6em}
h3{font-size:1.1rem;margin-bottom:.35em}

.wrap{width:min(100% - 40px,880px);margin:0 auto}

.kicker{
  font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--ink-soft);margin-bottom:14px;
}

.skip-link{
  position:absolute;left:-9999px;background:var(--ink);color:var(--paper);
  padding:8px 16px;z-index:10;
}
.skip-link:focus{left:12px;top:12px}

/*  HEADER  */
.site-header{border-bottom:3px double var(--rule);background:var(--paper)}
.site-header .wrap{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 24px;
  padding:22px 0 16px;
}
.masthead-name{font-size:1.25rem;font-weight:700;letter-spacing:.01em}
.masthead-name a{color:var(--ink);text-decoration:none}
.masthead-line{color:var(--ink-soft);font-style:italic;font-size:.95rem}
.masthead-contact{
  margin-left:auto;text-align:right;font-size:.95rem;line-height:1.5;
}
.masthead-contact a{white-space:nowrap}

.site-nav{border-bottom:1px solid var(--rule);background:var(--paper)}
.site-nav .wrap{display:flex;flex-wrap:wrap;gap:4px 28px;padding:10px 0}
.site-nav a{
  color:var(--ink);text-decoration:none;font-size:.92rem;
  letter-spacing:.04em;
}
.site-nav a:hover{text-decoration:underline}
.site-nav .nav-book{color:var(--accent);font-weight:700}

/*  SECTIONS  */
.section{padding:56px 0;border-bottom:1px solid var(--rule)}
.section:last-of-type{border-bottom:0}
.section p{max-width:64ch;margin-bottom:1em;color:var(--ink)}
.section p:last-child{margin-bottom:0}
.lede{font-size:1.12rem}
.muted{color:var(--ink-soft)}

/*  HERO  */
.hero{padding:64px 0 56px}
.hero-grid{display:flex;gap:48px;align-items:flex-start}
.hero-copy{flex:1 1 auto}
.hero-sub{
  font-size:1.12rem;color:var(--ink-soft);
  margin:18px 0 26px;max-width:56ch;
}
.hero-contact{margin:0 0 26px;font-size:1.05rem}
.hero-contact strong{font-weight:700}
.hero-photo{flex:0 0 220px}
.hero-photo img{border:1px solid var(--rule)}
.hero-photo figcaption{
  font-size:.82rem;color:var(--ink-soft);font-style:italic;margin-top:8px;
}
@media (max-width:720px){
  .hero-grid{flex-direction:column}
  .hero-photo{flex-basis:auto;max-width:220px}
  .masthead-contact{margin-left:0;text-align:left}
}

/*  BUTTONS  */
.btn{
  display:inline-block;font-family:inherit;font-size:1rem;
  padding:12px 26px;text-decoration:none;border:1px solid var(--accent);
}
.btn-primary{background:var(--accent);color:var(--paper)}
.btn-primary:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.btn-secondary{background:transparent;color:var(--accent)}
.btn-secondary:hover{color:var(--ink);border-color:var(--ink)}
.btn-row{display:flex;flex-wrap:wrap;gap:14px}

/*  PLAIN LISTS  */
.plain-list{list-style:none;max-width:64ch}
.plain-list li{
  padding:14px 0;border-top:1px solid var(--rule);
}
.plain-list li:first-child{border-top:0}
.plain-list strong{display:block;margin-bottom:2px}

.steps{list-style:none;counter-reset:step;max-width:64ch}
.steps li{counter-increment:step;padding:12px 0 12px 44px;position:relative}
.steps li::before{
  content:counter(step) ".";position:absolute;left:0;top:12px;
  font-weight:700;color:var(--accent);
}

/*  QUIET PANEL (testimonials / note)  */
.panel{
  background:var(--paper2);border:1px solid var(--rule);
  padding:28px 32px;max-width:64ch;
}
.panel p{color:var(--ink-soft);font-style:italic}

/*  FOOTER  */
.site-footer{
  border-top:3px double var(--rule);padding:32px 0 48px;
  font-size:.92rem;color:var(--ink-soft);
}
.site-footer .wrap{display:flex;flex-wrap:wrap;gap:8px 32px;justify-content:space-between}
.site-footer a{color:var(--ink-soft)}
.site-footer a:hover{color:var(--ink)}
