/* Variant 2 – modern refinement (franzdesign)
   Loaded after site.css. Sharp corners, lighter display type, hairlines instead of shadows. */

.v2{--radius-card:0;--radius-photo:0;--shadow-card:none;
  /* wide grid: content uses the width, edges scale with the viewport (approx. 48px at 1440) */
  --container:1440px;--gutter:clamp(20px,3.4vw,64px)}

/* Typography: larger, lighter, less tracking */
.v2 h1{font-weight:300;letter-spacing:.01em;font-size:clamp(38px,2.2rem + 2.8vw,68px);line-height:1.08}
.v2 h2{font-weight:400;letter-spacing:.02em}
.v2 h3{letter-spacing:.02em}
.v2 .eyebrow{display:inline-flex;align-items:center;gap:.8rem;color:var(--muted)}
.v2 .eyebrow::before{content:"";width:28px;height:1px;background:var(--turquoise)}
.v2 .center .eyebrow,.v2 .page-head .eyebrow{justify-content:center}

/* Header: slimmer, shadow only after scrolling */
.v2 .site-header{box-shadow:none;border-bottom:1px solid transparent;transition:border-color .3s ease,background .3s ease}
.v2 .site-header.is-scrolled{border-bottom-color:var(--line);background:rgba(255,255,255,.96)}
.v2 .site-header__inner{min-height:68px}
.v2 .brand{font-size:17px;letter-spacing:.03em}
.v2 .brand svg{width:40px;height:40px}
.v2 .nav ul{gap:2rem}
.v2 .nav a{font-size:16px;letter-spacing:.03em}

/* Logo draws itself once per visit */
@keyframes fdDraw{from{stroke-dashoffset:805}to{stroke-dashoffset:0}}
.v2.draw-logo .brand circle{stroke-dasharray:805;stroke-dashoffset:805;animation:fdDraw 1.3s cubic-bezier(.4,0,.2,1) forwards}
.v2.draw-logo .brand circle:nth-child(2){animation-delay:.15s}
.v2.draw-logo .brand circle:nth-child(3){animation-delay:.3s}
.v2.draw-logo .brand circle:nth-child(4){animation-delay:.45s}

/* Hero: left-aligned text, photo bleeding to the right edge */
.v2 .hero{padding-block:clamp(2rem,6vw,4.5rem) clamp(3rem,7vw,5.5rem)}
.v2 .hero__grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2rem,5vw,5rem)}
.v2 .hero__text{text-align:left}
.v2 .hero__meta{color:var(--ink);margin-top:1.1rem}
.v2 .hero__meta span{margin-inline:.5em}
.v2 .hero__photo{margin-right:calc((100vw - min(var(--container),100vw - 2*var(--gutter)))/-2)}
.v2 .hero__photo img{height:clamp(340px,42vw,600px);object-fit:cover;object-position:40% 40%;box-shadow:none}
@media (max-width:860px){
  .v2 .hero__grid{grid-template-columns:1fr}
  .v2 .hero__photo{margin-right:calc(var(--gutter)*-1);margin-left:calc(var(--gutter)*-1)}
  .v2 .hero__photo img{height:auto;aspect-ratio:3/2}
}

/* Cards: hairlines, no shadows, accent line on hover */
.v2 .card{border-color:var(--line);box-shadow:none;position:relative;padding:clamp(1.6rem,3vw,2.25rem)}
.v2 .card::before{content:"";position:absolute;left:-1px;right:-1px;top:-1px;height:2px;background:var(--turquoise);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}
@media (hover:hover){
  .v2 .card:hover{translate:none;box-shadow:none;border-color:var(--line)}
  .v2 .card:hover::before{transform:scaleX(1)}
}
.v2 .card h2{font-size:22px;letter-spacing:.03em}

/* Opening hours with dotted leaders */
.v2 .hours{grid-template-columns:1fr;row-gap:.45em}
.v2 .hours__row{display:flex;align-items:baseline;gap:.6em}
.v2 .hours__row::before{content:"";order:1;flex:1;min-width:1.5em;border-bottom:1px dotted #c4d3d8;translate:0 -.3em}
.v2 .hours dt{order:0}
.v2 .hours dd{order:2;text-align:right}

/* Photos & other surfaces: sharp */
.v2 .feature img,.v2 .person img{border-radius:0}
.v2 .feature img{box-shadow:none}
.v2 .map,.v2 .map__notice,.v2 .strip{border-radius:0}
.v2 .consent{border-radius:0;box-shadow:0 20px 50px rgba(52,64,72,.16)}
.v2 .fd-credit,.v2 .fd-credit__mark{border-radius:0}

/* No alternating section tints: white throughout, hairline between sections */
.v2 .section--tint{background:transparent}
.v2 main>section+section{position:relative}
.v2 main>section+section::after{content:"";position:absolute;top:0;left:50%;translate:-50% 0;width:min(var(--container),100% - 2*var(--gutter));height:1px;background:var(--line);z-index:2}
.v2 main>.hero+section::after{display:none}

/* Section heads left-aligned with eyebrow-style rule */
.v2 .section-head{text-align:left}

/* Footer: left-aligned, compact */
.v2 .site-footer{background:#fff}
.v2 .site-footer__grid{text-align:left;grid-template-columns:1.4fr 1fr 1fr}
.v2 .footer-brand{align-items:flex-start}
.v2 .footer-brand svg{width:48px;height:48px}
.v2 .site-footer h2{font-size:13px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:.9rem}
@media (max-width:767px){.v2 .site-footer__grid{grid-template-columns:1fr}}

@media (prefers-reduced-motion:reduce){
  .v2.draw-logo .brand circle{animation:none;stroke-dashoffset:0}
  .v2 .card::before{transition:none}
}

/* Hero followed directly by content: avoid doubled spacing */
.v2 .hero+.section{padding-top:clamp(1.5rem,4vw,3rem)}
