
/* All layouts scoped to service pages. Canonical HannusFoto palette from the main plugin. */
body.hfsp-service-page .hf-site .hfsp-v2{--v-forest:#233c38;--v-dark:#101817;--v-sand:#d9b98c;--v-cream:#f8f5ef;--v-paper:#fffefb;--v-ink:#18201f;--v-line:#dcded8;background:var(--v-paper);color:var(--v-ink);font-family:inherit;line-height:1.64}
body.hfsp-service-page .hf-site .hfsp-v2 *{box-sizing:border-box}
body.hfsp-service-page .hf-site .hfsp-v2-container{max-width:1190px;margin:0 auto;padding:0 26px}
body.hfsp-service-page .hf-site .hfsp-v2 h1,body.hfsp-service-page .hf-site .hfsp-v2 h2,body.hfsp-service-page .hf-site .hfsp-v2 h3{font-family:Georgia,'Times New Roman',serif;letter-spacing:-.025em;font-weight:500;line-height:1.15}
body.hfsp-service-page .hf-site .hfsp-v2 h1{font-size:clamp(2.35rem,4.15vw,4.7rem);color:var(--v-paper);margin:14px 0 21px}
body.hfsp-service-page .hf-site .hfsp-v2 h2{font-size:clamp(1.75rem,3vw,2.9rem);margin:8px 0 20px;color:var(--v-forest)}
body.hfsp-service-page .hf-site .hfsp-v2 h3{font-size:1.33rem;margin:0 0 12px;color:var(--v-forest)}
body.hfsp-service-page .hf-site .hfsp-v2 p{margin:0 0 16px}
body.hfsp-service-page .hf-site .hfsp-v2 a{text-decoration:none}
body.hfsp-service-page .hf-site .hfsp-v2 a:focus-visible{outline:3px solid var(--v-sand);outline-offset:4px}
body.hfsp-service-page .hf-site .hfsp-v2 .hfsp-v2-kicker{color:#97713e;font-weight:700;font-size:.79rem;letter-spacing:.14em;text-transform:uppercase}
body.hfsp-service-page .hf-site .hfsp-v2-hero{background:var(--v-forest);color:var(--v-paper);padding:65px 0 70px}
body.hfsp-service-page .hf-site .hfsp-v2-hero-grid{display:grid;grid-template-columns:minmax(0,1.07fr) minmax(0,1fr);gap:45px;align-items:center}
body.hfsp-service-page .hf-site .hfsp-v2-hero .hfsp-v2-kicker{color:var(--v-sand)}
body.hfsp-service-page .hf-site .hfsp-v2-intro{font-size:clamp(1.05rem,1.5vw,1.24rem);color:#e0e9e4;max-width:620px}
body.hfsp-service-page .hf-site .hfsp-v2-facts{color:#d8ddd8;font-size:.87rem;margin:22px 0 0}
body.hfsp-service-page .hf-site .hfsp-v2-actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px;margin-top:28px}
body.hfsp-service-page .hf-site .hfsp-v2 .hfsp-v2-btn{display:inline-flex!important;align-items:center;justify-content:center;min-height:49px;padding:12px 23px!important;border-radius:999px;background:var(--v-sand)!important;color:var(--v-dark)!important;font-weight:750;line-height:1.3}
body.hfsp-service-page .hf-site .hfsp-v2-ghost{color:var(--v-paper);border-bottom:1px solid var(--v-sand);padding-bottom:3px}
body.hfsp-service-page .hf-site .hfsp-v2-hero-image{position:relative;min-height:340px;aspect-ratio:1.13;overflow:hidden;border-radius:18px;box-shadow:0 22px 50px rgba(0,0,0,.22)}
body.hfsp-service-page .hf-site .hfsp-v2-hero-image img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
body.hfsp-service-page .hf-site .hfsp-v2-hero-image span{position:absolute;bottom:16px;left:16px;padding:6px 12px;background:rgba(16,24,23,.75);color:#fff;border-radius:20px;font-size:.75rem}
body.hfsp-service-page .hf-site .hfsp-v2-showcase{padding:65px 0 75px;background:var(--v-cream)}
body.hfsp-service-page .hf-site .hfsp-v2-sectionhead{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:20px}
body.hfsp-service-page .hf-site .hfsp-v2-sectionhead>a{color:var(--v-forest);font-weight:700;text-decoration:underline}
body.hfsp-service-page .hf-site .hfsp-v2-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
body.hfsp-service-page .hf-site .hfsp-v2-photo-grid figure{margin:0;background:#fff;border-radius:16px;overflow:hidden}
body.hfsp-service-page .hf-site .hfsp-v2-photo-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
body.hfsp-service-page .hf-site .hfsp-v2-photo-grid figcaption{padding:12px 15px;color:#505e58;font-size:.8rem}
body.hfsp-service-page .hf-site .hfsp-v2-note{margin-top:17px!important;color:#4a5a53;font-size:.9rem}
body.hfsp-service-page .hf-site .hfsp-v2-details{padding:70px 0;background:var(--v-paper)}
body.hfsp-service-page .hf-site .hfsp-v2-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
body.hfsp-service-page .hf-site .hfsp-v2-cards article{padding:33px;border:1px solid var(--v-line);border-radius:17px;background:var(--v-cream)}
body.hfsp-service-page .hf-site .hfsp-v2-related{padding:63px 0;background:var(--v-forest);color:var(--v-paper)}
body.hfsp-service-page .hf-site .hfsp-v2-related h2{color:var(--v-paper)}
body.hfsp-service-page .hf-site .hfsp-v2-related .hfsp-v2-kicker{color:var(--v-sand)}
body.hfsp-service-page .hf-site .hfsp-v2-linkgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
body.hfsp-service-page .hf-site .hfsp-v2-linkgrid a{display:flex;justify-content:space-between;gap:10px;background:#344d48;color:#fff;padding:20px 23px;border-radius:12px}
body.hfsp-service-page .hf-site .hfsp-v2-linkgrid a:hover{background:#44665f}
body.hfsp-service-page .hf-site .hfsp-v2-linkgrid span{color:var(--v-sand)}
body.hfsp-service-page .hf-site .hfsp-v2-faq{padding:70px 0;background:var(--v-paper)}
body.hfsp-service-page .hf-site .hfsp-v2-faq-items{max-width:900px}
body.hfsp-service-page .hf-site .hfsp-v2-faq details{border-bottom:1px solid var(--v-line);padding:18px 0}
body.hfsp-service-page .hf-site .hfsp-v2-faq summary{cursor:pointer;font-weight:650;list-style:revert}
body.hfsp-service-page .hf-site .hfsp-v2-faq details p{padding:15px 0 0;max-width:750px}
body.hfsp-service-page .hf-site .hfsp-v2-bottom{background:var(--v-cream);padding:65px 0}
body.hfsp-service-page .hf-site .hfsp-v2-bottom .hfsp-v2-container{display:grid;grid-template-columns:1.6fr 1fr;align-items:center;gap:35px}
body.hfsp-service-page .hf-site .hfsp-v2-bottom .hfsp-v2-email{display:block;color:var(--v-forest);text-decoration:underline;margin-top:16px}
@media(max-width:850px){body.hfsp-service-page .hf-site .hfsp-v2-hero-grid{grid-template-columns:1fr;gap:30px}body.hfsp-service-page .hf-site .hfsp-v2-hero{padding:40px 0 45px}body.hfsp-service-page .hf-site .hfsp-v2-hero-image{min-height:0;aspect-ratio:16/9}body.hfsp-service-page .hf-site .hfsp-v2-bottom .hfsp-v2-container{grid-template-columns:1fr}}
@media(max-width:630px){body.hfsp-service-page .hf-site .hfsp-v2-container{padding:0 19px}body.hfsp-service-page .hf-site .hfsp-v2-photo-grid{grid-template-columns:1fr 1fr}body.hfsp-service-page .hf-site .hfsp-v2-photo-grid figure:last-child{display:none}body.hfsp-service-page .hf-site .hfsp-v2-cards,body.hfsp-service-page .hf-site .hfsp-v2-linkgrid{grid-template-columns:1fr}body.hfsp-service-page .hf-site .hfsp-v2-sectionhead{display:block}body.hfsp-service-page .hf-site .hfsp-v2-hero-image{aspect-ratio:4/3}body.hfsp-service-page .hf-site .hfsp-v2-showcase,body.hfsp-service-page .hf-site .hfsp-v2-details,body.hfsp-service-page .hf-site .hfsp-v2-faq,body.hfsp-service-page .hf-site .hfsp-v2-bottom{padding:45px 0}}

/* 1.4.1: preserve single site-wide type and avoid artificial hiding of portfolio images on phones. */
@media(max-width:630px){body.hfsp-service-page .hf-site .hfsp-v2-photo-grid figure:last-child{display:block}body.hfsp-service-page .hf-site .hfsp-v2-photo-grid{grid-template-columns:1fr 1fr}body.hfsp-service-page .hf-site .hfsp-v2-photo-grid figure:first-child{grid-column:1/-1}body.hfsp-service-page .hf-site .hfsp-v2-photo-grid figure:first-child img{aspect-ratio:16/10}}
