/* Latvakoski — selected design A. Original layout, shared brand-aware styles. */
:root{--brand-tint:#edf3f8;--brand-dark:#073052;--hero-photo:url('/wp-content/uploads/tunnelmakuvat/kynttila-tausta.jpg')}
body{font:17px/1.7 Arial,Helvetica,sans-serif;color:#243342}
body.brand-annankukka{--brand-tint:#faf1f7;--brand-dark:#54103f;--hero-photo:url('/wp-content/uploads/latvakoski/e40f3db4a4e9-k102-651w.webp')}
body.brand-annabriitta{--brand-tint:#f8f2e9;--brand-dark:#482910;--hero-photo:url('/wp-content/uploads/tunnelmakuvat/noutopoyta.jpg')}
.site-header{display:flex;flex-direction:column;border-bottom:1px solid #e1e7ec}
.utility-bar{order:0;background:var(--blue);color:white;display:flex;justify-content:space-between;padding:8px max(5%,calc((100vw - 1280px)/2));font-size:13px;gap:20px}.utility-bar a{color:white}
.brand-row{order:1;width:100%;max-width:1400px;min-height:140px;padding:24px 5%}.branding img{width:235px;height:106px}.header-phone{font:25px/1.4 Arial,sans-serif}.header-phone span{font-size:inherit;font-weight:700}
.navigation{order:2;background:white;color:var(--blue);padding:0 4% 12px}.navigation>.menu{max-width:1440px;gap:0 7px}.navigation a,.service-menu summary{color:var(--blue);font:14px/1.4 Arial,sans-serif;text-transform:none;padding:10px 8px}.navigation .children{background:white;border:1px solid #dce5ed;border-radius:8px}.navigation .current_page_item>a,.navigation .current_page_ancestor>a{background:var(--brand-tint);border-radius:6px}.navigation .children a{padding:13px 18px}.navigation .service-annankukka>a,.navigation .service-annabriitta>a{color:white}
.content h1,.content h2,.content h3,.content h4{font-family:Arial,Helvetica,sans-serif!important;letter-spacing:-.025em}.content h2{font-size:34px!important;line-height:1.25!important;font-weight:500!important}.content h3{font-size:25px!important;line-height:1.3!important;font-weight:500!important}.content h4{font-size:21px!important;line-height:1.4!important}.content p,.content li{font-family:Arial,Helvetica,sans-serif!important;font-size:17px!important;line-height:1.75!important}
.content .wp-block-button__link{font:600 16px/1.5 Arial,sans-serif!important;padding:13px 25px;border-radius:28px}.content .wp-block-button__link:hover{background:var(--blue);filter:brightness(.88)}
.latva-section.layout-98d14bb4{background:var(--brand-dark)!important}.latva-section.layout-98d14bb4 .latva-grid{background-image:linear-gradient(90deg,#062a50e6,#062a5040),var(--hero-photo)!important;background-size:cover!important;background-position:center 66%!important;min-height:400px!important;padding:65px max(6%,calc((100vw - 1200px)/2))!important}
.latva-section.layout-98d14bb4 .latva-grid:before{display:none}.latva-section.layout-98d14bb4 .latva-root-group{min-height:0!important;width:100%!important;padding:0!important;max-width:1200px!important}.latva-section.layout-98d14bb4 .latva-group{min-height:0!important;padding:0!important;width:100%!important;background:transparent!important;align-items:flex-start!important}.latva-section.layout-98d14bb4 .latva-widget{width:100%!important;padding:0!important;margin:0!important}.latva-section.layout-98d14bb4 h1{font-size:clamp(38px,5vw,62px)!important;font-weight:600!important;line-height:1.12!important;color:white;text-transform:none!important;text-align:left!important}.latva-section.layout-98d14bb4 p{font-size:21px!important;color:white;text-align:left!important;margin-top:22px!important}
.brand-page-heading{background:linear-gradient(90deg,var(--brand-dark),#132b4530),var(--hero-photo) center/cover!important;min-height:400px;text-align:left;padding:75px max(6%,calc((100vw - 1200px)/2))!important;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.brand-page-heading h1{color:white!important;font-size:clamp(38px,5vw,62px)!important;line-height:1.12;font-weight:600;margin:0 0 22px!important}.brand-page-heading p{color:white!important;font-size:21px!important;max-width:720px;margin:0!important}.brand-annabriitta .brand-page-heading:after{content:'Kuvituskuva';font-size:11px;color:#fff9;margin-top:15px}.page-majoitus .brand-page-heading{background:var(--brand-tint)!important;min-height:270px}.page-majoitus .brand-page-heading h1,.page-majoitus .brand-page-heading p{color:var(--blue)!important}
.site-footer{max-width:none;padding:50px max(6%,calc((100vw - 1200px)/2));background:var(--brand-tint);box-shadow:none;clip-path:none;font:15px/1.7 Arial,sans-serif}.brand-annankukka .site-footer,.brand-annabriitta .site-footer{background:var(--brand-tint);box-shadow:none}.gallery-dialog,.apartment-dialog{border-radius:12px}.latva-gallery a{border-radius:8px;overflow:hidden}.opening-hours{font-size:17px}.contact-form input,.contact-form textarea{border-radius:6px;border-color:#bac9d5;background:#fbfcfd}.back-top{background:var(--blue)}
.a-hero{min-height:510px;display:flex;align-items:center;padding:70px max(7%,calc((100vw - 1200px)/2));background:linear-gradient(90deg,#073052eb,#07305230),url('/wp-content/uploads/tunnelmakuvat/kynttila-tausta.jpg') center 68%/cover;color:white}.a-hero-inner{max-width:780px}.a-eyebrow{font-size:12px;letter-spacing:2px;text-transform:uppercase;font-weight:700}.content .a-hero h1{font-size:clamp(42px,5.5vw,72px);line-height:1.1;font-weight:600;color:white;margin:20px 0 24px}.content .a-hero p{font-size:22px!important;max-width:650px}.a-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:30px}.a-button{display:inline-block;padding:13px 25px;border-radius:28px;background:var(--bar);color:white;font-size:16px;font-weight:600;text-align:center}.a-button:hover{background:var(--blue);color:white;text-decoration:none}.a-hero .a-button{background:white;color:var(--blue)}.a-hero .a-button.outline{background:transparent;color:white;border:1px solid #ffffffa0}.a-facts{background:var(--brand-tint);padding:22px max(7%,calc((100vw - 1200px)/2));display:flex;justify-content:space-between;gap:20px;font-size:14px;color:var(--blue)}
.a-wrap{max-width:1280px;margin:auto;padding:70px 40px}.a-intro{display:grid;grid-template-columns:1fr 1.3fr;gap:70px;align-items:start}.a-intro h2{margin:15px 0 22px}.a-story{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center;border-top:1px solid #dce5ec}.a-story h3,.a-story h4{margin-bottom:22px}.a-story img{width:100%;height:auto;border-radius:12px}.a-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding-top:0}.a-service{border-top:2px solid var(--bar);padding-top:24px}.a-service img{width:100%;height:210px;object-fit:cover;border-radius:10px;margin-bottom:24px}.a-service h3{margin-bottom:16px}.a-service p{margin-bottom:20px}.a-service>a{color:var(--blue);text-decoration:underline;text-underline-offset:5px}.a-caption{font-size:11px;color:#65727b;display:block;margin-top:-18px;margin-bottom:14px}.a-all{background:var(--brand-tint)}.a-all .a-wrap{display:grid;grid-template-columns:1fr 1fr;gap:65px}.a-all ul{columns:2;column-gap:28px;padding-left:20px}.a-all li{break-inside:avoid;margin-bottom:10px}.a-all h3{margin-bottom:22px}.a-family{background:#f4f5f6}.a-family h2{text-align:center;margin-bottom:30px}.a-family-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.a-family-card{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:15px;padding:28px 22px;background:white;border-radius:12px;text-align:center;border-bottom:3px solid var(--card);color:var(--card)}.a-family-card img{width:230px;height:110px;object-fit:contain}.a-family-card span{font-size:15px}.a-family-card strong{font-size:29px}.a-contact{text-align:center}.a-contact h2{margin-bottom:24px}.a-contact .a-button{margin:10px}.a-contact .opening-hours{margin-top:30px}
@media(max-width:1024px){.navigation a,.service-menu summary{font-size:13px;padding:9px 7px}.a-intro,.a-story{gap:35px}.a-wrap{padding:50px 30px}}
@media(max-width:767px){.utility-bar{font-size:11px;padding:8px 20px}.brand-row{min-height:110px;padding:20px;gap:15px}.branding img{width:170px;height:auto}.header-phone{font-size:17px}.navigation{padding:0 20px}.navigation .children{border:0}.mobile-nav>summary{color:var(--blue);font:16px Arial;padding:15px 0}.navigation .mobile-nav .children{background:white}.service-menu summary{font-family:Arial!important}.content h2{font-size:29px!important}.content h3{font-size:24px!important}.latva-section.layout-98d14bb4 .latva-grid{min-height:300px!important;padding:50px 24px!important}.brand-page-heading{padding:50px 24px!important;min-height:310px}.brand-page-heading h1{font-size:38px!important}.a-hero{padding:55px 24px;min-height:440px;background-position:35% center}.content .a-hero h1{font-size:44px}.content .a-hero p{font-size:19px!important}.a-facts{padding:20px 24px;flex-direction:column;gap:8px}.a-wrap{padding:45px 24px}.a-intro,.a-story,.a-services,.a-family-grid,.a-all .a-wrap{grid-template-columns:1fr;gap:30px}.a-services{padding-top:0}.a-service img{height:230px}.a-all ul{columns:1}.site-footer{padding:40px 24px}.a-story img{max-width:600px;margin:auto}}
/* Header and homepage arrangement requested 20 September. */
.utility-bar{align-items:center;gap:16px}.utility-bar .utility-phone{font-size:25px;line-height:1.35;white-space:nowrap;padding:5px 0;color:white}.utility-phone strong{font-weight:700;margin-left:12px}
.header-main{display:flex;align-items:center;gap:30px;max-width:1600px;margin:auto;padding:24px 4%;width:100%}.header-main .brand-row{flex:0 0 220px;width:auto;min-height:0;padding:0;margin:0}.header-main .branding img{width:220px;height:100px}.header-main .navigation{flex:1;min-width:0;padding:0}.header-main .navigation>.menu{justify-content:flex-end;gap:4px 5px}.page-majoitus .header-main .brand-row{display:none}.page-majoitus .header-main .navigation>.menu{justify-content:center}
.a-hero{flex-direction:column;align-items:stretch;gap:48px}.a-hero .a-family-grid{width:100%;max-width:1200px}.a-hero .a-family-card{padding:18px 20px;background:#fffffff0;gap:9px}.a-hero .a-family-card img{height:85px;width:220px}.a-hero .a-family-card strong{font-size:27px}.a-hero .a-family-card:hover{background:white;transform:translateY(-2px)}.a-all+.a-services{padding-top:60px}.a-service .a-coffin{object-fit:contain;background:#f2efeb}
@media(max-width:767px){.utility-bar{padding:10px 20px;flex-wrap:wrap;gap:2px 12px}.utility-bar .utility-phone{font-size:20px;margin-left:auto}.utility-phone strong{margin-left:8px}.header-main{padding:16px 20px;gap:18px;align-items:flex-start;flex-wrap:wrap}.header-main .brand-row{flex:0 0 170px}.header-main .branding img{width:170px;height:78px}.header-main .navigation{padding-top:14px}.header-main .navigation:has(.mobile-nav[open]){flex-basis:100%;padding-top:0}.header-main .mobile-nav>summary{text-align:right}.header-main .mobile-nav[open]>summary{text-align:left}.a-hero{gap:32px}.a-hero .a-family-grid{gap:14px}.a-hero .a-family-card{padding:16px}.a-hero .a-family-card img{height:75px}.a-all+.a-services{padding-top:40px}}
/* Brand contrast, navigation and accommodation refinements. */
.utility-bar .utility-phone{font-size:21px}.site-header,.header-main{background:white}
.header-main .navigation>.menu{justify-content:center;gap:5px 9px}.header-main .navigation a,.header-main .service-menu summary{font-weight:700;line-height:1.5;padding:10px 11px;color:var(--blue)}
.header-main .navigation .service-annankukka>a,.header-main .navigation .service-annabriitta>a{color:white}
.navigation a:hover,.navigation a:focus-visible,.service-menu summary:hover{background:var(--brand-tint);border-radius:6px}
body.brand-annankukka .site-footer,body.brand-annabriitta .site-footer{box-shadow:none;background:var(--brand-tint)}
.page-majoitus .header-main .brand-row{display:flex}.page-majoitus .branding{display:block}.page-majoitus .brand-page-heading:after{content:none}.page-majoitus .booking-option{background:var(--brand-tint)}.page-majoitus .apartment-close{background:var(--bar)}
@media(max-width:767px){.utility-bar .utility-phone{font-size:18px}.header-main .navigation a,.header-main .service-menu summary{padding:10px 9px}.header-main .navigation{padding-top:14px}}
/* Standalone brand links; contact remains last at the right edge. */
.header-main .navigation>.menu{justify-content:flex-end}.header-main .navigation>.menu>li>a{white-space:nowrap}.header-main .navigation .service-annankukka>a,.header-main .navigation .service-annabriitta>a{border-radius:6px}.page-majoitus .header-main .navigation>.menu{justify-content:flex-end}
/* Logo-shaped brand buttons on a dedicated third desktop row. */
.header-main .navigation .service-annankukka>a,
.header-main .navigation .service-annabriitta>a{border-radius:999px;padding-left:20px;padding-right:20px}
@media(min-width:1101px){
 .header-main .navigation>.menu{display:grid;grid-template-columns:repeat(8,auto);gap:8px 4px;justify-content:end;align-items:center}
 .header-main .navigation>.menu>li:nth-child(-n+8){grid-row:1}
 .header-main .navigation>.menu>li:nth-child(9){grid-row:2;grid-column:7;justify-self:end}
 .header-main .navigation>.menu>.nav-contact{grid-row:2;grid-column:8;justify-self:end}
 .header-main .navigation>.menu>.service-annabriitta{grid-row:3;grid-column:4 / 8;justify-self:end}
 .header-main .navigation>.menu>.service-annankukka{grid-row:3;grid-column:8;justify-self:end}
 .header-main .navigation>.menu>li>a{padding-left:8px;padding-right:8px}
 .header-main .navigation>.menu>.service-annabriitta>a,.header-main .navigation>.menu>.service-annankukka>a{padding-left:20px;padding-right:20px}
}
@media(min-width:768px) and (max-width:1100px){
 .header-main .navigation>.menu{display:none}.header-main .mobile-nav{display:block}
 .header-main .mobile-nav>summary{text-align:right;cursor:pointer;padding:14px}
 .header-main .mobile-nav .children{position:static;display:block;box-shadow:none;border:0;padding-left:20px}
 .header-main:has(.mobile-nav[open]){flex-wrap:wrap}.header-main .navigation:has(.mobile-nav[open]){flex-basis:100%}
}
.navigation .mobile-nav .service-annabriitta,.navigation .mobile-nav .service-annankukka{width:fit-content;margin:8px 0}
/* Balanced navigation: six primary links, four secondary links, two brand buttons. */
@media(min-width:1101px){
 .header-main .navigation>.menu{width:100%;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:8px 4px;justify-content:stretch;align-items:center}
 .header-main .navigation>.menu>li:nth-child(-n+6){grid-row:1;grid-column:auto / span 2;justify-self:center}
 .header-main .navigation>.menu>li:nth-child(7){grid-row:2;grid-column:1 / 4;justify-self:center}
 .header-main .navigation>.menu>li:nth-child(8){grid-row:2;grid-column:4 / 7;justify-self:center}
 .header-main .navigation>.menu>li:nth-child(9){grid-row:2;grid-column:7 / 10;justify-self:center}
 .header-main .navigation>.menu>.nav-contact{grid-row:2;grid-column:10 / 13;justify-self:center}
 .header-main .navigation>.menu>.service-annabriitta{grid-row:3;grid-column:1 / 8;justify-self:end;margin-right:8px}
 .header-main .navigation>.menu>.service-annankukka{grid-row:3;grid-column:8 / 13;justify-self:start;margin-left:8px}
 .header-main .navigation>.menu>li>a{padding-top:9px;padding-bottom:9px;text-align:center}
}
@media(min-width:1101px){
 .header-main .navigation>.menu{grid-template-columns:repeat(10,minmax(0,1fr));row-gap:10px}
 .header-main .navigation>.menu>li:nth-child(-n+5){grid-row:1;grid-column:auto / span 2;justify-self:center}
 .header-main .navigation>.menu>li:nth-child(6){grid-row:2;grid-column:1 / 3;justify-self:center}
 .header-main .navigation>.menu>li:nth-child(7){grid-row:2;grid-column:3 / 5;justify-self:center}
 .header-main .navigation>.menu>li:nth-child(8){grid-row:2;grid-column:5 / 7;justify-self:center}
 .header-main .navigation>.menu>li:nth-child(9){grid-row:2;grid-column:7 / 9;justify-self:center}
 .header-main .navigation>.menu>.nav-contact{grid-row:2;grid-column:9 / 11;justify-self:center}
 .header-main .navigation>.menu>.service-annabriitta{grid-row:3;grid-column:1 / 7;justify-self:end}
 .header-main .navigation>.menu>.service-annankukka{grid-row:3;grid-column:7 / 11;justify-self:start}
}
/* Accommodation joins the rounded service buttons. */
.header-main .navigation .service-majoitus>a{border:2px solid #004386;border-radius:999px;background:#fff;color:#004386;padding:7px 20px}
.header-main .navigation .service-majoitus>a:hover,.header-main .navigation .service-majoitus>a:focus-visible{background:#edf3f8;color:#004386}
.navigation .mobile-nav .service-majoitus{width:fit-content;margin:8px 0}
@media(min-width:1101px){
 .header-main .navigation>.menu{grid-template-columns:repeat(20,minmax(0,1fr))}
 .header-main .navigation>.menu>li:nth-child(-n+5){grid-column:auto / span 4}
 .header-main .navigation>.menu>li:nth-child(6){grid-column:1 / 6}
 .header-main .navigation>.menu>li:nth-child(7){grid-column:6 / 11}
 .header-main .navigation>.menu>li:nth-child(8){grid-column:11 / 16}
 .header-main .navigation>.menu>.nav-contact{grid-column:16 / 21}
 .header-main .navigation>.menu>.service-annabriitta{grid-column:2 / 11;margin:0;justify-self:end}
 .header-main .navigation>.menu>.service-annankukka{grid-column:11 / 15;margin:0;justify-self:center}
 .header-main .navigation>.menu>li.service-majoitus:nth-child(9){grid-row:3;grid-column:15 / 20;justify-self:start}
}
/* Align the hero service marks and outline the accommodation label. */
.a-hero .a-family-card{display:grid;grid-template-rows:85px auto;align-content:start;justify-items:center;align-items:center}
.a-hero .a-family-card>img{grid-row:1}
.a-hero .a-family-card>strong{grid-row:1;display:inline-flex;align-items:center;justify-content:center;border:2px solid #004386;border-radius:999px;background:white;color:#004386;padding:10px 24px;line-height:1.35}
.a-hero .a-family-card>span{grid-row:2;align-self:start}
@media(max-width:767px){.a-hero .a-family-card{grid-template-rows:75px auto}}
/* Match the lower name capsules of the adjacent logos, not their whole images. */
.a-hero .a-family-card>strong{align-self:end;box-sizing:border-box;width:194px;max-width:100%;height:35px;margin-bottom:1px;padding:0 12px;font-size:22px;line-height:1;border-width:2px}
@media(max-width:767px){.a-hero .a-family-card>strong{width:172px;height:31px;font-size:20px}}
