/* Friesenheim composition; shared brand components remain unchanged. */
.friesenheim-page{padding-top:0}
.friesenheim-page .header{z-index:30}
.friesenheim-page .skip{z-index:40}
.friesenheim-hero{height:100svh;min-height:804px;max-height:1224px}
.friesenheim-hero .hero-copy{padding-top:155px;justify-content:flex-start}
.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:8px 18px;list-style:none;margin:0 0 28px;padding:0;font-size:12px;line-height:1.6}
.breadcrumbs li+li:before{content:'/';margin-right:18px;opacity:.65}
.breadcrumbs a{display:inline-block;text-underline-offset:5px}
.breadcrumbs a:hover{text-decoration:underline}
.friesenheim-hero h1{font-size:clamp(76px,8.3vw,120px);margin:22px 0 26px;max-width:1100px}
.friesenheim-hero .hero-photo>img{object-position:50% 55%}
.friesenheim-hero .hero-bottom p{max-width:500px}
.local-quicklinks{padding:27px 6%;display:flex;flex-wrap:wrap;align-items:center;gap:16px 35px;border-bottom:1px solid var(--line);font-size:13px;color:var(--green)}
.local-quicklinks a{padding:10px 0;text-decoration:underline;text-underline-offset:6px}
.local-quicklinks span{margin-left:auto;color:var(--deep)}
.local-intro{padding-top:65px;padding-bottom:75px}
.local-intro .intro-bottom p{max-width:680px}
.local-selection{display:grid;grid-template-columns:1.08fr 1fr;gap:9%;align-items:start;padding-top:0}
.local-selection .home-copy{padding:0}
.local-selection .home-copy h2{font-size:clamp(48px,5.9vw,90px)}
.local-selection .home-copy>p:not(.eyebrow){max-width:470px}
.local-selection .home-copy>p+p{margin-top:18px}
.local-photo{height:650px;border-radius:30px 100px 30px 30px}
.local-selection .text-link{margin-top:25px}
.local-bouquet{margin:30px 0 0 auto;width:70%}
.local-bouquet img{height:240px;border-radius:70px 20px 20px 20px}
.local-bouquet figcaption{font-size:11px;line-height:1.6;margin-top:12px}
.local-barn{margin:0 6%;padding:95px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.3fr;gap:9%;align-items:center}
.local-barn .home-copy{padding:0}
.local-barn .home-copy h2{font-size:clamp(48px,5vw,76px)}
.local-barn .home-copy>p:not(.eyebrow){max-width:440px}
.local-barn .home-picture{height:610px;border-radius:24px 90px 24px 24px}
.local-hours{margin:0 3%;padding:65px 3.2%;border-radius:48px;background:var(--green);color:var(--paper);display:grid;grid-template-columns:.8fr 1.3fr;gap:8%}
.local-hours h2{font-size:clamp(48px,5vw,76px);line-height:1.06;letter-spacing:-.05em;margin:22px 0}
.local-hours h3{font-size:25px;letter-spacing:-.03em;margin-bottom:12px}
.local-hours p{font-size:15px;line-height:1.8;max-width:410px}
.local-hours .self-service{margin-top:35px;padding-top:25px;border-top:1px solid #ffffff38}
.hours-table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.7;font-variant-numeric:tabular-nums}
.hours-table caption{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:1.7px;padding-bottom:20px}
.hours-table th,.hours-table td{padding:17px 0;border-bottom:1px solid #ffffff38;vertical-align:top}
.hours-table th{font-weight:500;text-align:left;padding-right:20px}
.hours-table td{text-align:right}
.hours-table td span{display:inline-block;white-space:nowrap}
.hours-table .hours-break{padding:0 10px}
.hours-note{margin-top:18px;font-size:12px!important}
.local-arrival{display:grid;grid-template-columns:.8fr 1.3fr;gap:8%;align-items:start}
.local-arrival .home-copy{padding:0}
.local-arrival .home-copy h2{font-size:clamp(48px,5vw,76px)}
.local-arrival address{font-style:normal;font-size:17px;line-height:1.8;margin:24px 0}
.local-arrival h3{font-size:25px;margin:25px 0 12px;letter-spacing:-.03em}
.local-arrival p{font-size:15px;line-height:1.8;max-width:430px}
.local-arrival .button{margin-top:25px}
.local-map{padding-top:10px;min-width:0}
.local-map iframe{display:block;width:100%;height:480px;border:0;border-radius:24px}
.local-map .text-link{margin-top:20px}
.local-others .market-places{margin-top:35px}
.local-others .market-places .place:first-child{grid-column:auto}
.local-others .market-places .place:first-child h3{font-size:clamp(26px,2.6vw,40px)}
.local-others .market-places{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 45px}
.local-others .region-heading>p:last-child{max-width:580px}
.friesenheim-page .button:active{transform:translateY(0)}
@media(min-width:701px) and (max-height:800px){.friesenheim-hero{min-height:780px}.friesenheim-hero .hero-copy{padding-top:145px}}
@media(max-width:1000px){.local-selection,.local-barn{gap:6%}.local-photo{height:560px}.local-barn{padding:70px 0}.local-barn .home-picture{height:530px}.local-hours,.local-arrival{grid-template-columns:1fr 1.2fr;gap:5%}.hours-table td span{display:block}.hours-table .hours-break{display:none}.local-map iframe{height:460px}.local-others .market-places{gap:0 25px}}
@media(max-width:700px){
 .friesenheim-hero{height:auto;min-height:760px;max-height:none}.friesenheim-hero .hero-copy{min-height:760px;padding-top:125px}.friesenheim-hero h1{font-size:clamp(43px,11.6vw,78px);line-height:1.02;margin:30px 0 25px}.friesenheim-hero .hero-photo>img{object-position:53% center}.breadcrumbs ol{font-size:11px;gap:8px 12px;margin-bottom:25px}.breadcrumbs li+li:before{margin-right:12px}
 .local-quicklinks{gap:8px 24px;padding:20px 6%}.local-quicklinks span{margin:0;width:100%;font-size:12px}
 .local-intro{padding-top:38px;padding-bottom:50px}.local-selection{grid-template-columns:1fr;gap:30px;padding-top:0}.local-photo{height:470px;border-radius:22px 65px 22px 22px}.local-selection .home-copy h2{font-size:clamp(43px,12vw,58px)}.local-selection .home-copy>p:not(.eyebrow){font-size:14px}.local-bouquet{width:75%}.local-bouquet img{height:260px}
 .local-barn{grid-template-columns:1fr;gap:30px;padding:50px 0 55px}.local-barn .home-copy h2{font-size:55px}.local-barn .home-picture{height:470px;border-radius:20px 60px 20px 20px}
 .local-hours{margin:0 4%;padding:35px 6%;border-radius:30px;grid-template-columns:1fr;gap:35px}.local-hours h2{font-size:clamp(38px,10vw,55px)}.local-hours p{font-size:14px}.hours-table{font-size:13px}.hours-table th,.hours-table td{padding:14px 0}.hours-table th{padding-right:12px}
 .local-arrival{grid-template-columns:1fr;gap:30px}.local-arrival .home-copy h2{font-size:55px}.local-arrival p{font-size:14px}.local-map iframe{height:360px}.local-map .text-link{font-size:12px}
 .local-others .market-places{grid-template-columns:1fr}.local-others .market-places .place:first-child h3{font-size:33px}
}
