/* Refinements 2026-10-18 — restore original split hero, calm gallery edges, dedicated menu pages. */
.hero-classic{background:linear-gradient(115deg,#f8f0ea 0%,#faf5ee 57%,#efddd4 100%)}
.hero-classic .hero-grid{grid-template-columns:minmax(0,48%) minmax(0,52%);min-height:625px;gap:0;align-items:center}
.hero-classic .hero-left{padding:86px 28px 83px 0}
.hero-classic h1{font-size:clamp(52px,5.0vw,76px);margin:24px 0 23px;line-height:1.18}
.hero-classic h1 em{display:inline-block;white-space:nowrap;font-weight:400}
.hero-classic .hero-copy{max-width:410px}
.hero-classic .hero-bottom{margin-top:54px}
.hero-classic .hero-photos{padding:48px 0 51px 24px;min-height:590px}
.hero-classic .hero-photo-main{height:515px;margin-right:-36px;border-radius:215px 0 2px 4px;background:#e7cec0}
.hero-classic .storefront-frame{isolation:isolate;display:flex;align-items:center;justify-content:center}
.hero-classic .storefront-blurred{position:absolute;inset:-20px;background-image:linear-gradient(180deg,#e6d4c733,#b58f8340),url('etusivu.webp');background-size:cover;background-position:center;filter:blur(17px) saturate(.68);z-index:0;opacity:.63}
.hero-classic .storefront-frame:after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 38px #f2e3d055;z-index:3}
.hero-classic .hero-photo-main img{position:relative;z-index:2;width:100%;height:auto;max-height:100%;object-fit:contain;filter:saturate(.90) contrast(1.015);box-shadow:0 12px 24px #3e272424}
.hero-classic .hero-side-note{left:-11px;bottom:100px}
.hero-classic .hero-caption{right:-6px;bottom:24px}
.values .value-icon{font-size:25px;font-family:var(--serif)}
/* Client request: imagery should feel calm, vintage and softly feathered, not a crowded sharp grid. */
.gallery-section{background:#fcf8f4;padding:77px 0 106px}
.gallery-masonry{columns:3 260px;column-gap:33px}
.gallery-card{background:linear-gradient(145deg,#fcf7f2,#f7eee8);border:1px solid #f0e5df;border-radius:6px;box-shadow:0 12px 38px #5335210b;margin:0 0 33px;padding:19px 18px 13px;overflow:hidden}
.gallery-photo{background:#f8eee8;border-radius:4px;isolation:isolate}
.gallery-photo img{width:100%;filter:saturate(.92) contrast(.99);-webkit-mask-image:radial-gradient(ellipse 78% 79% at center,#000 48%,#000e 61%,#0006 78%,transparent 100%);mask-image:radial-gradient(ellipse 78% 79% at center,#000 48%,#000e 61%,#0006 78%,transparent 100%)}
.gallery-card figcaption{font-size:22px;padding:15px 0 8px;color:#694047}
.gallery-intro-copy{max-width:750px!important}
.teaser-picture{border-radius:5px;background:#f9f0e9}
.teaser-picture img{-webkit-mask-image:radial-gradient(ellipse 80% 82% at center,#000 50%,#000c 70%,transparent 100%);mask-image:radial-gradient(ellipse 80% 82% at center,#000 50%,#000c 70%,transparent 100%)}
/* page-specific spacing and visual continuity */
.subpage-intro{padding:79px 0 68px}
.subpage-intro:not(.gallery-intro) h1{margin-bottom:15px}
#palvelut.section-pad{padding-block:95px}
#meista.about{padding-top:95px;padding-bottom:95px}
#arvostelut.review-area{padding-top:90px;padding-bottom:95px}
#yhteystiedot.visit-section{padding-top:100px;padding-bottom:95px}
@media(max-width:990px){.hero-classic .hero-grid{grid-template-columns:minmax(0,48%) minmax(0,52%);min-height:530px}.hero-classic .hero-left{padding:58px 24px 56px 0}.hero-classic h1{font-size:clamp(43px,5.7vw,65px)}.hero-classic .hero-photos{min-height:470px;padding:40px 0 40px 14px}.hero-classic .hero-photo-main{height:445px}.gallery-masonry{columns:3 210px;column-gap:18px}}
@media(max-width:740px){.hero-classic .hero-grid{display:grid;grid-template-columns:1fr;min-height:0}.hero-classic .hero-left{padding:55px 0 16px}.hero-classic h1{font-size:clamp(45px,8.6vw,64px)}.hero-classic .hero-bottom{margin-top:27px}.hero-classic .hero-photos{min-height:0;padding:12px 0 58px 20px}.hero-classic .hero-photo-main{height:360px;margin-right:0;border-radius:155px 0 0 4px}.hero-classic .hero-side-note{width:90px;height:90px;font-size:13px;bottom:68px;left:-8px}.hero-classic .hero-caption{right:0;bottom:23px}.gallery-masonry{columns:2 220px;column-gap:18px}}
@media(max-width:540px){.hero-classic .hero-left{padding:47px 0 18px}.hero-classic h1{font-size:clamp(43px,10vw,54px)}.hero-classic h1 em{white-space:normal}.hero-classic .hero-copy{font-size:14px;line-height:1.85}.hero-classic .hero-photos{padding-left:5px;padding-bottom:38px}.hero-classic .hero-photo-main{height:285px;border-radius:110px 0 0 4px}.hero-classic .hero-side-note{display:none}.hero-classic .hero-caption{position:absolute;right:0;bottom:13px;padding:8px 11px;min-width:0}.hero-classic .hero-caption strong{font-size:13px}.hero-classic .hero-caption small{font-size:8px}.values-grid{grid-template-columns:1fr}.values .value{padding:14px 8px;border-right:0;border-bottom:1px solid #e7d8d0}.values .value:last-child{border-bottom:0}.gallery-masonry{columns:2 135px;column-gap:10px}.gallery-card{margin-bottom:15px;padding:9px 7px 6px;border-radius:3px}.gallery-card figcaption{font-size:16px;padding:9px 0 4px}.gallery-section{padding:38px 0 64px}}
/* The storefront photo fills the original arch instead of appearing as a narrow stripe. */
.hero-classic .storefront-blurred{display:none}
.hero-classic .hero-photo-main img{height:100%;max-height:none;width:100%;object-fit:cover;object-position:center center;box-shadow:none}

/* 2026-10-18 follow-up fixes: stronger feathered gallery edges + cleaner contact page */
.gallery-card{
  border-radius:18px;
  padding:18px 18px 16px;
}
.gallery-photo{
  padding:18px;
  border-radius:26px;
  background:linear-gradient(180deg,#efe2d9 0%, #f9f2ed 100%);
  box-shadow:inset 0 0 0 1px #f1e3dc;
}
.gallery-photo img{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  border-radius:20px;
  -webkit-mask-image:none;
  mask-image:none;
}
.gallery-photo::before,
.gallery-photo::after{
  content:'';
  position:absolute;
  pointer-events:none;
  border-radius:22px;
}
.gallery-photo::before{
  inset:18px;
  z-index:2;
  box-shadow:inset 0 0 54px 16px rgba(247,238,232,.92);
}
.gallery-photo::after{
  inset:18px;
  z-index:3;
  background:radial-gradient(ellipse at center,
    rgba(255,255,255,0) 52%,
    rgba(247,238,232,.18) 68%,
    rgba(247,238,232,.62) 84%,
    rgba(247,238,232,.94) 100%);
}
.gallery-card figcaption{
  padding:18px 6px 4px;
}

.contact-intro{
  padding:62px 0 30px;
  background:linear-gradient(180deg,#f7efea 0%, #f1e3df 100%);
}
.contact-intro .wrap{max-width:980px}
.contact-intro p{max-width:620px}
#yhteydenottolomake{
  padding:30px 0 74px;
  background:#f1e3df;
}
#yhteydenottolomake .form-grid{
  grid-template-columns:minmax(280px,.9fr) minmax(360px,1.1fr);
  gap:36px;
  align-items:start;
}
#yhteydenottolomake .contact-title{
  padding:30px 28px 24px;
  background:#f8efeb;
  border:1px solid #e5d5ce;
  border-radius:20px;
  box-shadow:0 14px 32px rgba(87,51,60,.06);
}
#yhteydenottolomake .contact-title p{
  max-width:none;
}
#yhteydenottolomake .contact-email{
  margin-top:20px;
}
#yhteydenottolomake .contact-dog{
  margin:24px 0 0;
  max-width:none;
}
#yhteydenottolomake .contact-dog img{
  width:100%;
  max-height:none;
  height:auto;
  object-fit:cover;
  object-position:center center;
  background:#fbf6f1;
  border:8px solid #fff8f4;
  border-radius:180px 180px 14px 14px;
  box-shadow:0 16px 34px rgba(92,62,53,.12);
}
#yhteydenottolomake .contact-dog figcaption{
  position:relative;
  right:auto;
  bottom:auto;
  display:inline-block;
  margin-top:14px;
  margin-left:auto;
  transform:rotate(-3deg);
  background:#fffaf5;
  padding:10px 16px;
  border:1px solid #ead9d1;
}
#yhteydenottolomake .contact-form{
  padding:34px 34px 28px;
  border-radius:20px;
  box-shadow:0 16px 40px rgba(87,51,60,.08);
}
#yhteydenottolomake .field textarea{
  min-height:150px;
}
#yhteydenottolomake .form-note{
  margin-top:14px;
}

@media(max-width:740px){
  .gallery-photo{padding:12px;border-radius:18px}
  .gallery-photo::before,.gallery-photo::after{inset:12px;border-radius:16px}
  #yhteydenottolomake{padding:22px 0 56px}
  #yhteydenottolomake .form-grid{grid-template-columns:1fr;gap:24px}
  #yhteydenottolomake .contact-title{padding:24px 20px 18px;border-radius:16px}
  #yhteydenottolomake .contact-dog figcaption{margin-top:12px}
  #yhteydenottolomake .contact-form{padding:24px 20px 22px;border-radius:16px}
}
@media(max-width:540px){
  .gallery-card{border-radius:14px;padding:10px 10px 8px}
  .gallery-photo{padding:10px;border-radius:14px}
  .gallery-photo::before,.gallery-photo::after{inset:10px;border-radius:12px}
  .gallery-card figcaption{padding:12px 2px 2px}
  .contact-intro{padding:46px 0 22px}
  #yhteydenottolomake .contact-title{padding:20px 16px 16px}
  #yhteydenottolomake .contact-dog img{border-width:6px;border-radius:130px 130px 12px 12px}
  #yhteydenottolomake .contact-form{padding:20px 16px}
}
