/* Version C: "the conversation". Loaded after preview.css; only applies with body.v-c */
.v-c{--serif:"Instrument Serif",Georgia,serif}
.v-c .btn{border-radius:999px}
.v-c h2{font-family:var(--serif);font-weight:400;color:var(--dark);font-size:60px;line-height:1.02;letter-spacing:-.01em}
.v-c .block h2{font-size:56px;margin-bottom:16px}

/* Hero */
.c-hero{background:var(--bg-soft)}
.c-hero-grid{display:grid;grid-template-columns:max(var(--gutter),calc((100vw - var(--wrap))/2 + var(--gutter))) 180px minmax(0,500px) 1fr;
  grid-template-rows:auto auto auto 1fr;column-gap:0;min-height:min(760px,calc(100vh - 120px))}
.c-hero-text{display:contents}
.c-rail{grid-column:2;grid-row:1 / -1;position:relative;padding-top:92px;text-decoration:none;color:var(--dark)}
.c-rail-label{display:block;max-width:140px;line-height:1.5;font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;margin-bottom:24px}
.c-rail ol{list-style:none;margin:0;padding:0;position:relative}
.c-rail ol::before{content:"";position:absolute;left:8px;top:9px;bottom:-2000px;width:2px;background:var(--heading-light);opacity:.6}
.c-rail li{display:flex;align-items:center;gap:14px;min-height:60px;font-size:16px;color:var(--text);position:relative}
.c-rail li .dot{width:18px;height:18px;border-radius:50%;background:var(--bg-soft);border:2px solid var(--sage);flex-shrink:0;position:relative;z-index:1}
.c-rail li:first-child{font-family:var(--serif);font-size:26px;color:var(--dark)}
.c-rail li:first-child .dot{background:var(--dark);border-color:var(--dark);box-shadow:0 0 0 6px #DDE3D2}
.c-rail:hover li:not(:first-child){color:var(--dark)}
.c-hero{overflow:hidden}
.c-kicker{grid-column:3;padding-top:88px;display:flex;align-items:center;gap:12px;font-size:15px;color:var(--text)}
.c-kicker::before{content:"";width:32px;height:2px;background:var(--sage);flex-shrink:0}
.c-hero h1{grid-column:3;margin-top:28px;font-weight:400;padding-right:32px}
.c-hero h1 .q{display:block;font-family:var(--serif);font-size:72px;line-height:.98;letter-spacing:-.01em;color:var(--dark)}
.c-hero h1 .a{display:block;margin:24px 0 0;font-size:42px;font-weight:600;line-height:1.1;color:var(--dark)}
.c-body{grid-column:3;margin:32px 32px 0 0;font-size:19px;line-height:1.6;max-width:460px}
.c-where{grid-column:3;grid-row:4;align-self:start;margin:24px 32px 48px 0;display:flex;gap:10px;font-size:16px;line-height:1.5;color:var(--dark);max-width:460px}
.c-where svg{flex-shrink:0;margin-top:2px}
.c-hero-photo{grid-column:4;grid-row:1 / -1;padding-top:40px;min-height:100%}
.c-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:22% 50%;border-top-left-radius:280px}
.c-steps-inline{display:none}

/* Services: numbered list */
.c-services{padding:104px 0 96px;background:#fff}
.c-svc-head{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:end;padding-bottom:28px;border-bottom:2px solid var(--dark)}
.c-svc-head p{font-size:19px;line-height:1.55;color:var(--dark)}
@media (min-width:1101px){.c-svc-head p{white-space:nowrap}}
.c-svc-list{list-style:none;margin:0;padding:0}
.c-svc{display:grid;grid-template-columns:56px 300px minmax(0,1fr) 200px 110px;column-gap:32px;align-items:center;padding:22px 0;border-bottom:1px solid #D5D8CE;text-decoration:none;color:var(--text)}
.c-svc .num{font-family:var(--serif);font-size:26px;color:var(--sage)}
.c-svc .name{font-family:var(--serif);font-size:36px;line-height:1.05;color:var(--dark)}
.c-svc .desc{font-size:16px;line-height:1.55}
.c-svc img{width:200px;height:124px;object-fit:cover;border-radius:6px}
.c-svc .more{justify-self:end;font-weight:600;color:var(--dark);text-decoration:underline;text-decoration-color:var(--heading-light);text-underline-offset:4px;font-size:15px}

/* Welcome: editorial */
.c-welcome{background:var(--bg-soft);padding:104px 0 96px}
.c-welcome h2{max-width:900px;margin-bottom:56px;font-size:72px}
.c-welcome-grid{display:grid;grid-template-columns:5fr 1fr 6fr}
.c-welcome figure{grid-column:1;margin:0}
.c-welcome figure img{display:block;width:100%;height:100%;min-height:600px;object-fit:cover;object-position:30% 50%}
.c-names{display:grid;grid-template-columns:1fr 1fr;gap:16px;font-size:15px;line-height:1.45}
.c-names strong{display:block;color:var(--dark);font-size:16px}
.c-welcome-text{grid-column:3;display:flex;flex-direction:column;gap:22px;font-size:19px;line-height:1.7;color:#4f5249}
.c-welcome-text .lead::first-letter{float:left;font-family:var(--serif);font-size:104px;line-height:.8;margin:8px 14px 0 0;color:var(--dark)}
.c-counter{margin-top:auto;padding-top:32px;display:flex;align-items:center;gap:20px;border-top:1px solid var(--dark)}
.c-counter b{font-family:var(--serif);font-weight:400;font-size:150px;line-height:.8;letter-spacing:-.03em;color:var(--dark)}
.c-counter span{font-family:var(--serif);font-size:30px;line-height:1.15;color:var(--dark);max-width:220px}

/* First appointment: the steps */
.c-first{padding:104px 0;background:#fff}
.c-first h2{margin-bottom:56px}
.c-first-grid{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:80px;align-items:start}
.c-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:64px;position:relative}
.c-steps::before{content:"";position:absolute;left:31px;top:32px;bottom:120px;width:2px;background:var(--heading-light)}
.c-steps li{display:grid;grid-template-columns:64px 1fr;column-gap:48px;align-items:start;position:relative}
.c-steps .n{width:64px;height:64px;border-radius:50%;background:#fff;border:2px solid var(--dark);color:var(--dark);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:600;position:relative;z-index:1}
.c-steps li:first-child .n{background:var(--dark);color:#fff}
.c-steps h3{font-family:var(--serif);font-weight:400;font-size:72px;line-height:.95;color:var(--dark)}
.c-steps p{margin-top:16px;font-size:20px;line-height:1.6;max-width:560px}
.c-gtk{position:sticky;top:110px;background:var(--dark);color:#fff;border-radius:28px;padding:40px 36px 30px}
.c-gtk h3{color:#fff;font-size:24px;margin-bottom:14px}
.c-gtk p{color:#E6EADF;font-size:17px;line-height:1.65}
.c-btn-light{margin-top:28px;display:flex;align-items:center;justify-content:center;min-height:56px;border-radius:999px;background:#fff;color:var(--dark);font-weight:600;font-size:17px;text-decoration:none}
.c-btn-light:hover{background:#EDEFE8}
.c-gtk-link{margin-top:12px;display:flex;align-items:center;justify-content:center;text-align:center;min-height:44px;color:#fff;font-size:15px;text-underline-offset:4px}

/* Team */
.v-c #team{background:var(--bg-soft)}
.v-c .person .pn{font-size:16px}

/* Reviews: three quotes side by side */
.c-reviews{padding:104px 0;background:#fff}
.c-rev-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;margin-bottom:40px}
.c-rev-meta{display:flex;flex-direction:column;gap:6px}
.c-quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.c-quotes figure{margin:0;display:flex;flex-direction:column;background:var(--bg-soft);border-radius:20px;padding:30px 30px 26px}
.c-quotes figure::before{content:"\201C";font-family:var(--serif);font-size:72px;line-height:.7;height:34px;color:var(--sage)}
.c-quotes blockquote{margin:0 0 24px;font-family:var(--serif);font-size:26px;line-height:1.25;color:var(--dark)}
.c-reviews figcaption{margin-top:auto;font-size:15px;font-weight:600;color:var(--dark)}
.c-rev-more{display:inline-flex;align-items:center;min-height:44px;margin-top:28px}

/* Find us and footer: as A and B, with the serif heading */
.v-c .findus h2{font-size:56px}

/* ---------- Tablet ---------- */
@media (max-width:1100px){
  .c-hero-grid{grid-template-columns:var(--gutter) 0 minmax(0,1fr) 38%}
  .c-rail{display:none}
  .c-hero h1 .q{font-size:64px}
  .c-svc{grid-template-columns:44px 220px minmax(0,1fr) 140px;column-gap:20px}
  .c-svc img{width:140px;height:96px}
  .c-svc .more{display:none}
  .c-first-grid{grid-template-columns:1fr}
  .c-welcome-grid{display:flex;flex-direction:column;gap:32px}
  .c-welcome figure img{height:460px;min-height:0;object-position:50% 15%}
  .c-gtk{position:static}
}

/* ---------- Phone ---------- */
@media (max-width:767px){
  .v-c h2,.v-c .block h2,.v-c .findus h2{font-size:38px;line-height:1.05}
  .c-hero-grid{display:block;min-height:0;padding:26px 20px 30px}
  .c-hero-text{display:block}
  .c-kicker{padding-top:0;font-size:14px}
  .c-kicker::before{width:22px}
  .c-hero h1{margin-top:16px;padding-right:0}
  .c-hero h1 .q{font-size:44px;line-height:1}
  .c-hero h1 .a{margin:12px 0 0;font-size:26px}
  .c-body{margin:14px 0 0;font-size:16px;line-height:1.55}
  .c-hero-photo{padding-top:0;margin:20px -20px 0 0}
  .c-hero-photo img{height:220px;border-top-left-radius:110px;object-position:58% 35%}
  .c-where{margin:16px 0 0;font-size:15px}
  .c-steps-inline{display:flex;flex-wrap:wrap;gap:6px 16px;list-style:none;margin:14px 0 0;padding:0;font-size:15px;color:var(--dark)}
  .c-steps-inline li{display:flex;align-items:center;gap:7px;white-space:nowrap}
  .c-steps-inline .dot{width:10px;height:10px;border-radius:50%;border:2px solid var(--sage)}
  .c-steps-inline li:first-child{font-family:var(--serif);font-size:19px}
  .c-steps-inline li:first-child .dot{background:var(--dark);border-color:var(--dark)}

  .c-services{padding:48px 0 44px}
  .c-svc-head{grid-template-columns:1fr;gap:10px;padding-bottom:18px}
  .c-svc-head p{font-size:16px}
  .c-svc{grid-template-columns:30px minmax(0,1fr) 96px;grid-template-areas:"num name img" "num desc img" "num more img";column-gap:12px;row-gap:4px;align-items:start;padding:18px 0}
  .c-svc .num{grid-area:num;font-size:20px;line-height:1.2}
  .c-svc .name{grid-area:name;font-size:26px}
  .c-svc .desc{grid-area:desc;font-size:14px;line-height:1.5}
  .c-svc img{grid-area:img;width:96px;height:96px;border-radius:6px}
  .c-svc .more{grid-area:more;display:inline;justify-self:start;font-size:14px;min-height:0}

  .c-welcome{padding:48px 0 44px}
  .c-welcome h2{font-size:38px;margin-bottom:22px}
  .c-welcome-grid{display:flex;flex-direction:column;gap:24px}
  .c-welcome figure img{height:280px;min-height:0;object-position:30% 40%}
  .c-names{font-size:14px;gap:12px}
  .c-welcome-text{font-size:16px;line-height:1.65;gap:16px}
  .c-welcome-text .lead::first-letter{font-size:72px;margin:6px 10px 0 0}
  .c-counter{padding-top:22px;gap:14px}
  .c-counter b{font-size:88px}
  .c-counter span{font-size:22px}

  .c-first{padding:48px 0 44px}
  .c-first h2{margin-bottom:28px}
  .c-first-grid{gap:32px}
  .c-steps{gap:32px}
  .c-steps::before{left:21px;top:22px;bottom:80px}
  .c-steps li{grid-template-columns:44px 1fr;column-gap:18px}
  .c-steps .n{width:44px;height:44px;font-size:18px}
  .c-steps h3{font-size:40px;line-height:1}
  .c-steps p{margin-top:8px;font-size:16px}
  .c-gtk{border-radius:20px;padding:26px 22px 18px}
  .c-gtk h3{font-size:20px}
  .c-gtk p{font-size:15px}
  .c-btn-light{min-height:52px}

  .c-reviews{padding:48px 0 44px}
  .c-rev-head{margin-bottom:24px;gap:12px}
  .c-quotes{grid-template-columns:1fr;gap:14px}
  .c-quotes figure{padding:22px 22px 20px;border-radius:16px}
  .c-quotes figure::before{font-size:56px;height:26px}
  .c-quotes blockquote{font-size:22px;margin-bottom:16px}
  .c-rev-more{margin-top:16px}
}
