
  :root{--paper:#fcf9f6;--cream:#f5ede7;--cream2:#ede0d8;--rose:#cf9e94;--terracotta:#ad6e68;--warm:#7b4b4b;--wine:#592f37;--ink:#442f31;--sub:#766668;--line:#e6d9d1;--white:#fffdfb;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;scroll-behavior:smooth;}
  *{box-sizing:border-box}html{scroll-padding-top:88px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}img{width:100%;height:auto;display:block}h1,h2,h3,p{margin-top:0}::selection{background:#d7aca4;color:#fff}.wrap{width:min(1220px,calc(100% - 84px));margin-inline:auto}.sr-only{position:absolute!important;width:1px;height:1px;clip:rect(0,0,0,0);overflow:hidden;white-space:nowrap}
.topline{background:var(--wine);color:#fbeee8;font-size:11px;letter-spacing:.075em}.topline>.wrap{display:flex;justify-content:center;align-items:center;gap:35px;min-height:31px}.topline .tiny-sep{opacity:.4}.masthead{position:relative;z-index:10;background:rgba(252,249,246,.97);border-bottom:1px solid #eddfd8}.nav{min-height:93px;display:grid;grid-template-columns:280px 1fr 185px;gap:24px;align-items:center}.brand{font-family:var(--serif);font-weight:600;font-size:27px;letter-spacing:-.065em;line-height:1;white-space:nowrap;color:var(--wine)}.brand .sm{font-family:var(--sans);display:block;margin-top:10px;letter-spacing:.27em;font-size:9px;color:#a27671;font-weight:700}.brand-mark{display:inline-block;color:#b97879;font-weight:400;margin-right:2px;transform:rotate(-20deg);font-size:29px;vertical-align:-1px}.navlinks{display:flex;align-items:center;justify-content:center;gap:29px}.navlinks a{color:#655354;font-size:12px;font-weight:600;transition:color .2s;white-space:nowrap}.navlinks a:hover{color:var(--terracotta)}.cta{display:inline-flex;align-items:center;justify-content:center;gap:11px;border:1px solid var(--wine);background:var(--wine);color:white;border-radius:3px;padding:14px 21px;font-size:12px;font-weight:700;line-height:1.2;letter-spacing:.02em;transition:background .2s,border-color .2s,transform .2s;white-space:nowrap}.cta:hover{background:#83494d;border-color:#83494d;transform:translateY(-1px)}.cta.ghost{color:var(--wine);border-color:#d5b8b0;background:transparent}.cta.ghost:hover{background:#f3e5de}.cta.light{background:var(--paper);color:var(--wine);border-color:var(--paper)}.cta.light:hover{background:#fffcf8}.menu-btn{display:none;border:0;background:transparent;padding:11px;color:var(--wine)}.menu-btn svg{width:23px;height:23px}.mobile-menu{display:none}
  .hero{overflow:hidden;background:linear-gradient(112deg,#f7eee8 0%,#f9f3ed 60%,#ebdad0 100%)}.hero-grid{display:grid;grid-template-columns:49% 51%;min-height:610px}.hero-left{padding:105px 15px 90px 0;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:1}.eyebrow{display:flex;gap:11px;align-items:center;font-size:11px;letter-spacing:.21em;text-transform:uppercase;font-weight:700;color:#a86f6b}.eyebrow:before{content:'';display:block;width:28px;height:1px;background:#ad716a}.hero h1{font-family:var(--serif);font-size:clamp(48px,5.1vw,76px);line-height:1.2;letter-spacing:-.055em;color:var(--wine);font-weight:500;margin:25px 0 23px}.hero h1 em{font-weight:400;color:var(--terracotta)}.hero-copy{font-size:16px;color:#69595a;max-width:405px;line-height:1.95;margin:0 0 30px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-bottom{margin-top:60px;display:flex;align-items:center;gap:11px;color:#826a65;font-size:12px}.hero-bottom svg{width:16px;height:16px;color:#ab716d}.hero-photos{position:relative;padding:45px 0 45px 16px;display:grid;grid-template-columns:1fr;align-items:center}.hero-photo-main{height:534px;position:relative;margin-right:-40px;border-radius:210px 0 0 7px;overflow:hidden;box-shadow:15px 12px 45px #7446411a;background:#c9afa1}.hero-photo-main img{width:100%;height:100%;object-fit:cover;object-position:center 49%;filter:saturate(.9)}.hero-photos:after{content:'';pointer-events:none;position:absolute;inset:100px -120px 80px auto;width:190px;border-radius:50%;background:radial-gradient(#fff5 1px,transparent 2px);background-size:13px 13px;opacity:.2}.hero-caption{position:absolute;right:-2px;bottom:21px;background:rgba(253,247,240,.94);backdrop-filter:blur(8px);padding:17px 25px 17px 24px;box-shadow:0 10px 30px #3c1e1920;min-width:238px}.hero-caption strong{display:block;font-family:var(--serif);font-size:17px;font-weight:500;color:var(--wine);line-height:1.4}.hero-caption small{letter-spacing:.08em;text-transform:uppercase;font-size:9px;color:#9d6a69}.hero-side-note{position:absolute;left:-31px;bottom:85px;background:#bd8e83;color:white;transform:rotate(-7deg);width:114px;height:114px;border-radius:50%;display:grid;place-items:center;text-align:center;font-family:var(--serif);font-style:italic;font-size:15px;line-height:1.5;box-shadow:0 8px 20px #87685b3a;padding:10px;z-index:1}
  .values{border-bottom:1px solid var(--line);background:#fffdfb}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);min-height:116px;align-items:center}.value{padding:19px 40px;border-right:1px solid var(--line);display:flex;gap:17px;align-items:center}.value:first-child{padding-left:0}.value:last-child{border:0}.value-icon{display:grid;place-items:center;width:40px;height:40px;flex:none;border:1px solid #dbc4bb;border-radius:50%;color:#9b635f}.value-icon svg{width:19px;height:19px;stroke-width:1.4}.value strong{display:block;font-size:12px;color:var(--wine);font-weight:700}.value span{display:block;color:#887875;font-size:11px;margin-top:2px}
  section{scroll-margin-top:80px}.section-pad{padding-block:104px}.section-title{text-align:center;margin-bottom:48px}.overline{font-size:11px;color:#a26b68;font-weight:700;letter-spacing:.19em;text-transform:uppercase;margin-bottom:15px}.section-title h2,.split-text h2,.ekukka-text h2,.contact-title h2{font-family:var(--serif);font-weight:400;font-size:clamp(33px,3.45vw,51px);line-height:1.28;letter-spacing:-.052em;color:var(--wine);margin:0 0 17px}.section-title p{max-width:550px;margin:auto;color:var(--sub);font-size:14px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.service-card{background:white;border:1px solid #efe7e1;padding-bottom:24px;box-shadow:0 9px 23px #53352108}.service-card img{height:270px;object-fit:cover}.service-card:nth-child(1) img{object-position:center 52%}.service-card:nth-child(2) img{object-position:center 45%}.service-card:nth-child(3) img{object-position:center 49%}.service-inner{padding:26px 28px 2px}.service-icon{font-family:var(--serif);font-size:12px;color:var(--terracotta);letter-spacing:.04em}.service-card h3{font-family:var(--serif);font-size:24px;color:var(--wine);font-weight:400;line-height:1.32;letter-spacing:-.025em;margin:8px 0 11px}.service-card p{font-size:13px;color:var(--sub);margin:0 0 15px;min-height:64px}.plain-link{font-size:12px;color:var(--wine);font-weight:700;border-bottom:1px solid var(--terracotta);display:inline-flex;align-items:center;gap:10px;padding-bottom:3px}.plain-link:hover{color:var(--terracotta)}
  .about{background:#f1e5dd}.about-grid{display:grid;grid-template-columns:53% 47%;gap:70px;align-items:center;padding-top:90px;padding-bottom:90px}.about-photos{position:relative;min-width:0}.about-photos .shop-img{height:405px;object-fit:cover;border-radius:4px;object-position:center 55%}.about-photos .detail-img{position:absolute;width:42%;height:250px;object-fit:cover;right:-20px;bottom:-52px;border:8px solid #f1e5dd;box-shadow:0 12px 26px #4b30231c}.about-text{padding-left:25px}.about-text h2{font-family:var(--serif);font-size:clamp(35px,3.5vw,51px);line-height:1.32;font-weight:400;letter-spacing:-.05em;color:var(--wine);margin:12px 0 24px}.about-text p{color:#6f5d5b;font-size:14px;line-height:2;max-width:475px;margin-bottom:20px}.small-sign{margin-top:20px;font-family:var(--serif);font-style:italic;font-size:23px;color:#ad786f}
  .ekukka-area{padding-block:110px;background:#fcf9f6}.ekukka-panel{display:grid;grid-template-columns:46% 54%;min-height:430px;background:var(--wine);overflow:hidden;border-radius:3px}.ekukka-text{padding:68px 40px 62px 64px;color:#f9eae2;display:flex;flex-direction:column;justify-content:center}.ekukka-text .overline{color:#e1b9ab}.ekukka-text h2{color:#fff7f0;font-size:clamp(35px,3.35vw,51px)}.ekukka-text p{color:#eedbd7;font-size:14px;max-width:395px;line-height:1.92}.ekukka-text .cta{align-self:flex-start;margin-top:14px}.ekukka-image{position:relative;min-height:430px}.ekukka-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#592f3780 0,transparent 35%)}.ekukka-image img{height:100%;width:100%;object-fit:cover;object-position:center center}
  .review-area{background:#f7f0ec;border-top:1px solid #efe5e0;border-bottom:1px solid #e9dcd3;padding:85px 0}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.review-grid .overline{margin-bottom:16px}.review-area h2{font-family:var(--serif);font-size:clamp(35px,3.3vw,49px);font-weight:400;letter-spacing:-.05em;color:var(--wine);line-height:1.3;margin-bottom:18px}.review-area p{color:var(--sub);max-width:450px;font-size:14px;line-height:1.9}.rating-block{border:1px solid #dcc9bf;background:#fffaf6;padding:32px 30px 29px;text-align:center;position:relative}.rating-block:after{content:'“';font-family:var(--serif);color:#e7cfc5;position:absolute;font-size:113px;right:17px;top:-52px}.rating-number{font-family:var(--serif);font-size:73px;font-weight:400;letter-spacing:-.08em;color:var(--wine);line-height:1.1}.rating-stars{font-size:21px;letter-spacing:.24em;color:#a76660;margin-top:5px}.rating-block p{font-size:13px;margin:12px auto 10px}.rating-block small{color:#a48e84;font-size:10px}
  .visit-section{padding-block:100px}.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.visit-image{position:relative;min-height:430px}.visit-image img{height:430px;object-fit:cover;object-position:center 48%;border-radius:3px;filter:saturate(.84)}.visit-image .place-tag{position:absolute;bottom:27px;left:-20px;background:#fff9f5;color:var(--wine);padding:18px 23px;box-shadow:0 8px 21px #392b231f;font-family:var(--serif);font-size:19px}.visit-image .place-tag small{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#aa7c73}.visit-body h2{font-family:var(--serif);color:var(--wine);font-size:clamp(35px,3.2vw,49px);font-weight:400;line-height:1.3;letter-spacing:-.05em;margin:10px 0 23px}.visit-body p{color:var(--sub);font-size:14px;line-height:1.9}.visit-contact{display:grid;grid-template-columns:1fr 1fr;gap:19px;margin:27px 0 30px}.visit-contact strong{font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:#9e776f;display:block;margin-bottom:7px}.visit-contact span,.visit-contact a{font-size:13px;color:var(--ink);line-height:1.55}.visit-body .cta{margin-top:4px}
  .form-area{background:#ead8d2;padding-block:96px}.form-grid{display:grid;grid-template-columns:42% 58%;gap:70px;align-items:start}.contact-title{padding-top:20px}.contact-title h2{font-size:clamp(35px,3.35vw,50px)}.contact-title p{max-width:360px;font-size:14px;color:#73595b;line-height:1.9}.contact-title .contact-email{font-size:13px;display:block;margin-top:34px;color:var(--wine);border-bottom:1px solid #bca19b;max-width:max-content;padding-bottom:3px}.contact-form{background:#fffaf7;padding:36px 40px 30px;border:1px solid #e7cec6;box-shadow:0 10px 28px #57333c0c}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{margin-bottom:18px}.field label{display:block;color:#75575b;font-size:11px;font-weight:700;letter-spacing:.05em;margin-bottom:7px}.field input,.field textarea,.field select{background:#fffdfb;border:1px solid #e2cec6;border-radius:2px;outline:none;color:var(--wine);padding:13px 13px;width:100%;font-size:13px;transition:border-color .2s,box-shadow .2s;min-height:46px}.field textarea{resize:vertical;min-height:130px}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--terracotta);box-shadow:0 0 0 3px #bf88752e}.contact-form .cta{width:100%;padding:16px}.form-note{font-size:10px;color:#a18b87;margin:14px 0 0;line-height:1.7}
  .footer{background:#462a30;color:#eaccc5;padding:64px 0 26px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:50px;padding-bottom:52px}.footer .brand{color:#fff3ed}.footer .brand .sm{color:#c59690}.footer p{font-size:13px;color:#d4b7b5;max-width:275px;margin:24px 0}.footer h3{font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:700;color:#eecfca;margin-bottom:21px}.footer a{font-size:12px;display:block;margin:9px 0;color:#dbbbb7}.footer a:hover{color:white}.footer-bottom{border-top:1px solid #ffffff26;padding-top:20px;display:flex;align-items:center;justify-content:space-between;color:#b99893;font-size:10px;gap:20px}.footer-bottom .demo{letter-spacing:.06em;color:#d8aba8}
  @media(max-width:1100px){.wrap{width:min(1100px,calc(100% - 48px))}.nav{grid-template-columns:240px 1fr 160px;gap:10px}.brand{font-size:24px}.navlinks{gap:16px}.navlinks a{font-size:11px}.hero-grid{min-height:575px}.hero-left{padding:76px 6px 65px 0}.hero h1{font-size:60px}.hero-photo-main{height:495px;margin-right:-24px}.about-grid{gap:38px}.about-text{padding-left:0}.review-grid{gap:45px}.visit-grid{gap:50px}.form-grid{gap:40px}}
  @media(max-width:820px){.nav{min-height:80px;grid-template-columns:1fr auto auto}.navlinks{display:none}.nav .desktop-cta{padding:11px 15px}.menu-btn{display:grid;place-items:center}.mobile-menu{position:absolute;z-index:20;top:100%;left:0;right:0;background:#fffaf6;box-shadow:0 15px 20px #51373523;border-top:1px solid var(--line);padding:8px 24px 18px}.mobile-menu.open{display:block}.mobile-menu a{display:block;padding:11px 4px;font-size:13px;font-weight:600;color:var(--wine);border-bottom:1px solid #eaded8}.hero-grid{grid-template-columns:1fr 1fr;min-height:480px}.hero h1{font-size:49px}.hero-left{padding:60px 8px 48px 0}.hero-copy{font-size:14px}.hero-bottom{margin-top:32px}.hero-photo-main{height:405px}.hero-side-note{width:94px;height:94px;font-size:12px;left:-25px;bottom:63px}.hero-caption{right:0;padding:11px 15px;min-width:0}.hero-caption strong{font-size:14px}.hero-caption small{font-size:8px}.value{padding:16px;gap:9px}.value:first-child{padding-left:0}.value-icon{height:36px;width:36px}.service-card img{height:210px}.service-inner{padding:18px 15px 10px}.service-card h3{font-size:21px}.section-pad{padding-block:78px}.about-grid{grid-template-columns:1fr 1fr;gap:25px}.about-photos .shop-img{height:380px}.about-photos .detail-img{height:180px;right:0;bottom:-35px}.about-text p{line-height:1.8}.ekukka-text{padding:35px}.review-grid{gap:30px}.visit-grid{gap:30px}.visit-image{min-height:365px}.visit-image img{height:365px}.visit-contact{grid-template-columns:1fr}.form-grid{gap:20px}.contact-form{padding:27px}}
  @media(max-width:640px){html{scroll-padding-top:70px}.wrap{width:calc(100% - 36px)}.preview{font-size:9px;padding:6px 8px}.topline>.wrap{min-height:28px;gap:7px;font-size:9px;letter-spacing:0}.topline .tiny-sep{display:none}.topline .top-address{display:none}.nav{min-height:70px;gap:12px}.brand{font-size:22px}.brand-mark{font-size:23px}.brand .sm{font-size:8px;margin-top:7px}.nav .desktop-cta{font-size:10px;padding:11px 12px}.hero{background:#f5ebe5}.hero-grid{grid-template-columns:1fr;display:flex;flex-direction:column-reverse}.hero-photos{padding:0;margin:0 -18px}.hero-photo-main{height:352px;border-radius:0;margin:0}.hero-photo-main img{object-position:center 41%}.hero-caption{right:18px;bottom:14px}.hero-side-note{width:87px;height:87px;left:19px;bottom:26px;font-size:12px}.hero-left{padding:34px 4px 43px}.eyebrow{font-size:10px}.hero h1{font-size:clamp(46px,10.3vw,66px);margin:17px 0 18px;line-height:1.21}.hero-copy{font-size:14px;line-height:1.9;margin-bottom:23px}.hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.hero-actions .cta{font-size:11px;padding:14px 10px;white-space:normal}.hero-bottom{margin-top:27px;font-size:11px}.values-grid{grid-template-columns:1fr;min-height:0;padding-block:14px}.value,.value:first-child{border-right:0;border-bottom:1px solid #eee2d9;padding:15px 3px}.value:last-child{border:0}.value-icon{width:37px;height:37px}.value span{font-size:11px}.section-pad{padding-block:66px}.section-title{margin-bottom:28px}.section-title h2,.split-text h2,.ekukka-text h2,.contact-title h2{font-size:37px}.service-grid{grid-template-columns:1fr;gap:16px}.service-card{padding-bottom:4px}.service-card img{height:220px}.service-inner{padding:20px}.service-card h3{font-size:26px}.service-card p{min-height:0}.about-grid{display:flex;flex-direction:column;gap:55px;padding-block:59px}.about-photos{width:100%}.about-photos .shop-img{height:280px}.about-photos .detail-img{height:155px;width:45%;bottom:-30px;right:0;border-width:5px}.about-text{width:100%;padding:0}.about-text h2{font-size:37px;margin:11px 0 20px}.about-text p{font-size:13px}.ekukka-area{padding-block:64px}.ekukka-panel{grid-template-columns:1fr}.ekukka-text{padding:45px 28px}.ekukka-image{min-height:0;height:245px}.ekukka-image:after{background:linear-gradient(0deg,#592f374f,transparent)}.ekukka-image img{height:100%}.review-area{padding-block:63px}.review-grid{grid-template-columns:1fr;gap:24px}.review-area h2{font-size:37px}.rating-block{padding:25px 20px}.rating-number{font-size:62px}.visit-section{padding-block:65px}.visit-grid{grid-template-columns:1fr;gap:44px}.visit-image{min-height:0}.visit-image img{height:255px}.visit-image .place-tag{left:10px;bottom:-19px;padding:11px 16px;font-size:16px}.visit-body h2{font-size:36px}.visit-contact{grid-template-columns:1fr 1fr;gap:10px}.visit-contact span,.visit-contact a{font-size:12px}.form-area{padding-block:65px}.form-grid{grid-template-columns:1fr;gap:30px}.contact-title{padding:0}.contact-title h2{font-size:37px}.contact-title .contact-email{margin-top:17px}.contact-form{padding:25px 18px}.form-two{gap:10px}.field{margin-bottom:12px}.footer{padding-top:52px}.footer-grid{grid-template-columns:1fr 1fr;gap:24px 10px;padding-bottom:30px}.footer-grid>div:first-child{grid-column:1/-1}.footer h3{margin-bottom:13px}.footer-bottom{display:block}.footer-bottom span{display:block;margin-bottom:8px}}
  @media(max-width:355px){.nav .desktop-cta{display:none}.hero-actions{grid-template-columns:1fr}.form-two{grid-template-columns:1fr}}
  @media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
  .contact-dog{margin:32px 0 0;max-width:255px;position:relative}.contact-dog img{display:block;width:100%;height:247px;object-fit:cover;object-position:center 38%;border-radius:130px 130px 4px 4px;border:6px solid #fff7f1;box-shadow:0 14px 30px #6e4e4930}.contact-dog figcaption{position:absolute;bottom:-10px;right:-35px;background:#fffaf5;color:var(--wine);font-family:var(--serif);font-style:italic;font-size:15px;line-height:1.3;padding:12px 15px;box-shadow:0 7px 15px #734e4720;transform:rotate(-4deg)}.contact-dog figcaption span{color:#b87e7a}.contact-dog figcaption a{display:block;color:inherit;text-decoration:none;white-space:nowrap}.contact-dog figcaption a:focus-visible{outline:2px solid var(--wine);outline-offset:5px}.contact-dog figcaption a:hover{text-decoration:underline}.contact-dog:hover img{filter:saturate(1.05)}@media(max-width:640px){.contact-dog{margin:25px auto 0;max-width:265px}.contact-dog img{height:220px}.contact-dog figcaption{right:-8px;bottom:-14px;font-size:14px}}
/* Törnävän Kukka — client-requested October 2026 refresh. The approved base style stays intact. */
/* Shared navigation: six simple destinations, mobile accessible. */
.nav{grid-template-columns:215px minmax(0,1fr) 166px;gap:18px;min-height:88px}
.navlinks{gap:clamp(10px,1.65vw,25px)}
.navlinks a{font-size:11.5px}
.navlinks a[aria-current="page"],.mobile-menu a[aria-current="page"]{color:var(--terracotta)}
.navlinks a[aria-current="page"]{border-bottom:1px solid var(--terracotta);padding-bottom:4px}
.brand{font-size:25px}

/* Wide storefront photo is deliberately never portrait-cropped. */
.hero-v2{padding-top:0;padding-bottom:74px;overflow:hidden;background:radial-gradient(ellipse at 80% 5%,#edddd5 0%,transparent 40%),linear-gradient(115deg,#f8eee7,#f6eee8 70%,#f1e2db)}
.hero-v2 .hero-intro{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(200px,.7fr);gap:50px;align-items:center;padding-top:32px;padding-bottom:24px;min-height:355px}
.hero-v2 .hero-left{padding:42px 0 30px;display:block}
.hero-v2 h1{font-size:clamp(48px,5.3vw,75px);margin-top:15px;margin-bottom:15px;line-height:1.16;max-width:840px}
.hero-v2 h1 em{display:inline;font-weight:400}
.hero-v2 .hero-copy{max-width:590px;margin-bottom:23px;line-height:1.8}
.hero-v2 .hero-bottom{margin-top:24px}
.hero-intro-ornament{text-align:center;position:relative;isolation:isolate;padding:16px 12px 5px;transform:rotate(-5deg)}
.hero-intro-ornament:before{content:'';position:absolute;z-index:-1;inset:13px 42px;border-radius:51% 49% 47% 53%;border:1px solid #cfa79c;transform:rotate(16deg)}
.hero-intro-ornament span{font-family:var(--serif);display:block;color:#c08c7c;font-size:43px;line-height:1.5}
.hero-intro-ornament p{font-family:var(--serif);font-style:italic;color:#986b67;font-size:clamp(20px,2vw,30px);line-height:1.32;margin:0 0 14px}
.hero-intro-ornament small{font-size:10px;letter-spacing:.17em;text-transform:uppercase;color:#ad8680}
.hero-storefront-wrap{position:relative}
.hero-storefront{margin:0;position:relative;overflow:hidden;border:8px solid #fffcf9;box-shadow:0 20px 60px #58362e22,0 1px 5px #54362e16;background:#f4ece5}
.hero-storefront img{display:block;aspect-ratio:2048/716;width:100%;height:auto;object-fit:contain}
.hero-storefront figcaption{position:absolute;right:21px;bottom:20px;background:#fffaf4f0;padding:11px 19px;box-shadow:0 9px 20px #2b20122e;display:grid;gap:3px;color:var(--wine)}
.hero-storefront figcaption span{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#946b66}
.hero-storefront figcaption strong{font-family:var(--serif);font-size:17px;font-weight:500}
/* Softer original photography all around */
.service-card img{filter:saturate(.89) sepia(.035);object-position:center 38%}
.service-card{border-radius:3px;overflow:hidden}
.service-card:nth-child(2) img{object-position:center 35%}
.about-photos .shop-img{filter:saturate(.88);object-position:center 48%}
.about-photos .detail-img{filter:saturate(.9);object-position:center 38%}
.ekukka-image img{object-position:center 47%;filter:saturate(.92)}
.visit-image{background:#eadbd4}.visit-image img{object-fit:contain;filter:saturate(.85);background:#f6ece5}
.contact-page-link{margin-top:17px!important}
.review-flower{font-family:var(--serif);font-size:63px;color:#bd8e83;line-height:1.2}
.rating-block h3{font-family:var(--serif);font-size:29px;font-weight:400;color:var(--wine);margin:2px 0 6px}
.rating-block p{margin-bottom:19px}
.rating-block .plain-link{margin:auto}
/* Home gallery teaser: brief preview of named client-owned photographs. */
.home-gallery-teaser{padding:93px 0 112px;background:#fffcf9}
.home-gallery-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:29px}
.home-gallery-heading h2,.home-contact-cta h2,.gallery-end h2{font-family:var(--serif);font-weight:400;font-size:clamp(34px,3.3vw,52px);line-height:1.25;letter-spacing:-.055em;color:var(--wine);margin:0 0 13px}
.home-gallery-heading p{max-width:660px;font-size:14px;line-height:1.9;color:var(--sub);margin:0}
.home-gallery-heading .cta{margin-bottom:5px;flex:none}
.teaser-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}
.teaser-picture{display:block;position:relative;overflow:hidden;background:#f4e9e2;border:1px solid #ead9d2;padding:12px 12px 15px;text-align:center;box-shadow:0 10px 30px #5f41300a;transition:transform .2s}
.teaser-picture:hover{transform:translateY(-4px)}
.teaser-picture img{height:300px;object-fit:cover;mask-image:radial-gradient(ellipse 77% 79% at center,#000 72%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 77% 79% at center,#000 72%,transparent 100%)}
.teaser-picture span{display:block;font-family:var(--serif);font-size:23px;color:var(--wine);padding:12px 0 4px}
.home-contact-cta{background:var(--wine);padding:77px 0 72px}
.home-contact-content{display:flex;align-items:center;justify-content:space-between;gap:44px}
.home-contact-cta h2{color:#fff7f0;margin-bottom:10px}
.home-contact-cta p{font-size:14px;color:#e1ccc8;max-width:580px;margin:0}
.home-contact-cta .overline{color:#d7aaa5}
.home-contact-cta .cta{flex:none}
/* Individual page introductions */
.subpage-intro{background:linear-gradient(135deg,#f7eee7,#f1e2dc);padding:87px 0 78px;text-align:center;position:relative;overflow:hidden}
.subpage-intro:after{content:'✿';font-family:var(--serif);position:absolute;font-size:290px;color:#d6b8ad21;right:2%;top:-130px;pointer-events:none;transform:rotate(-17deg)}
.subpage-intro .wrap{position:relative;z-index:1}
.subpage-intro h1{font-family:var(--serif);font-weight:400;font-size:clamp(59px,6.6vw,95px);line-height:1.08;letter-spacing:-.06em;color:var(--wine);margin:17px 0 23px}
.subpage-intro h1 em{font-weight:400;color:var(--terracotta)}
.subpage-intro p{font-size:16px;color:#795f5f;line-height:1.85;margin:0 auto;max-width:650px}
.subpage-intro .flower-mark{color:#c39b8d;font-size:.48em;vertical-align:middle;font-family:var(--serif)}
.gallery-section{padding:70px 0 110px;background:#fffcf9}
.gallery-topline{display:flex;justify-content:space-between;align-items:center;padding-bottom:19px;border-bottom:1px solid #e5d8ce;margin-bottom:34px;text-transform:uppercase;color:#a17a72;font-size:10px;letter-spacing:.14em;font-weight:700;gap:18px}
.gallery-masonry{columns:4 220px;column-gap:21px}
.gallery-card{display:block;break-inside:avoid;margin:0 0 26px;padding:12px 12px 12px;background:linear-gradient(145deg,#f4e7df,#f9f3ee);border:1px solid #ebd9d1;box-shadow:0 8px 24px #573c3210;text-align:center}
.gallery-photo{display:block;position:relative;width:100%;border:0;cursor:zoom-in;background:#eee1d7;padding:0;line-height:0;overflow:hidden}
.gallery-photo img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;filter:saturate(.9) contrast(.98) sepia(.025);-webkit-mask-image:radial-gradient(ellipse 81% 81% at center,#000 70%,transparent 100%);mask-image:radial-gradient(ellipse 81% 81% at center,#000 70%,transparent 100%);transition:transform .3s ease}
.gallery-photo:hover img{transform:scale(1.035)}
.gallery-card figcaption{font-family:var(--serif);font-size:20px;line-height:1.4;color:var(--wine);padding:15px 0 5px}
.gallery-end{padding:65px 0 80px;background:#f3e5dd}
.gallery-end-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}
.gallery-end p{color:#795f5f;font-size:14px}
.gallery-dialog{background:#fffaf6;color:var(--wine);border:1px solid #decac1;box-shadow:0 25px 85px #22111499;max-height:93vh;max-width:min(900px,95vw);padding:15px 22px;border-radius:4px;overflow:auto}
.gallery-dialog::backdrop{background:#2c1a20d9;backdrop-filter:blur(6px)}
.dialog-inner{position:relative;min-width:min(700px,calc(95vw - 65px));text-align:center}
.dialog-inner img{width:auto;max-width:100%;height:auto;max-height:70vh;object-fit:contain;margin:0 auto}
.dialog-close{position:absolute;right:1px;top:0;background:#fffaf5df;border:0;color:var(--wine);font-size:36px;line-height:1;padding:4px 12px;z-index:3}
.dialog-caption{font-family:var(--serif);font-size:24px;margin:12px auto 10px}
.dialog-controls{display:flex;align-items:center;justify-content:center;gap:32px;padding-bottom:5px}
.dialog-controls button{border:0;background:transparent;color:var(--wine);font-size:12px;font-weight:700;padding:7px;cursor:pointer}
/* Contact page portrait and info */
.contact-intro{padding:71px 0 58px}
.contact-intro h1{font-size:clamp(55px,6vw,82px)}
#yhteydenottolomake{padding-block:78px;background:#f1e3df}
#yhteydenottolomake .form-grid{grid-template-columns:minmax(0,42%) minmax(0,1fr);gap:5%}
#yhteydenottolomake .contact-title{padding-top:0}
#yhteydenottolomake .contact-dog{margin:29px 0 0;max-width:390px;position:relative;background:transparent}
#yhteydenottolomake .contact-dog img{width:100%;height:auto;max-height:535px;object-fit:contain;border-radius:6px;box-shadow:0 12px 31px #5c3e3516;filter:saturate(.91)}
#yhteydenottolomake .contact-dog figcaption{margin-top:9px;color:var(--wine)}
#yhteydenottolomake .contact-dog figcaption a{background:transparent;color:var(--wine);font-size:12px}
#yhteydenottolomake .contact-form{align-self:start}
.honeypot{position:absolute;left:-9999px;height:0;overflow:hidden}
.form-feedback{font-size:12px;color:var(--wine);line-height:1.7;margin-top:10px}
.form-feedback a{text-decoration:underline}
.contact-info-section{background:#fffaf7;padding:79px 0 93px}
.contact-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.contact-info-grid > div{padding:10px 24px;border-left:1px solid #dbcac1}
.contact-info-grid > div:first-child{border-color:var(--terracotta)}
.info-label{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:#ae756f;font-weight:700}
.contact-info-grid h2{font-family:var(--serif);font-weight:400;color:var(--wine);font-size:25px;margin:11px 0 9px}
.contact-info-grid p{font-size:13px;line-height:1.85;color:#665459;margin-bottom:13px}
.contact-info-grid a:hover{text-decoration:underline}
.contact-info-grid small{color:#907d7e;font-size:11px}
/* Consistency & accessibility */
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #bd7f79;outline-offset:3px}
@media(max-width:1120px){.nav{grid-template-columns:200px minmax(0,1fr) 148px;gap:12px}.navlinks{gap:11px}.navlinks a{font-size:10.5px}.brand{font-size:23px}}
@media(max-width:990px){.nav{grid-template-columns:1fr auto auto;min-height:80px}.navlinks{display:none}.menu-btn{display:grid;place-items:center}.mobile-menu{position:absolute;z-index:20;top:100%;left:0;right:0;background:#fffaf6;box-shadow:0 15px 20px #51373523;border-top:1px solid var(--line);padding:8px 24px 18px}.mobile-menu.open{display:block}.mobile-menu a{display:block;padding:11px 4px;font-size:13px;font-weight:600;color:var(--wine);border-bottom:1px solid #eaded8}.hero-v2 .hero-intro{grid-template-columns:1fr minmax(100px,.35fr)}.hero-intro-ornament p{font-size:20px}.gallery-masonry{columns:3 190px}}
@media(max-width:740px){.hero-v2 .hero-intro{grid-template-columns:1fr;gap:0;padding-top:10px;padding-bottom:24px;min-height:0}.hero-v2 .hero-left{padding:38px 0 20px}.hero-v2 h1{font-size:clamp(43px,8vw,60px)}.hero-intro-ornament{display:none}.home-gallery-heading{display:block}.home-gallery-heading .cta{margin-top:22px}.teaser-grid{gap:12px}.teaser-picture{padding:9px}.teaser-picture img{height:180px}.teaser-picture span{font-size:18px}.home-contact-content,.gallery-end-inner{align-items:start;flex-direction:column}.contact-info-grid{grid-template-columns:1fr 1fr}.gallery-masonry{columns:2 190px;column-gap:15px}#yhteydenottolomake .form-grid{grid-template-columns:1fr;gap:27px}#yhteydenottolomake .contact-dog{max-width:370px}#yhteydenottolomake .contact-title p{max-width:640px}}
@media(max-width:540px){.hero-v2{padding-bottom:40px}.hero-v2 .hero-left{padding-top:39px}.hero-v2 h1{font-size:46px}.hero-v2 .hero-copy{font-size:14px;line-height:1.7}.hero-v2 .hero-bottom{margin-top:23px}.hero-v2 .hero-actions .cta{font-size:11px}.hero-storefront{border-width:4px}.hero-storefront figcaption{position:static;display:block;text-align:center;padding:11px 8px}.hero-storefront figcaption span{display:block;font-size:9px}.hero-storefront figcaption strong{font-size:14px}.home-gallery-teaser{padding:65px 0 72px}.teaser-grid{grid-template-columns:1fr 1fr;gap:12px}.teaser-picture:last-child{display:none}.teaser-picture img{height:165px}.teaser-picture span{font-size:17px}.subpage-intro{padding:56px 0}.subpage-intro h1{font-size:58px}.gallery-section{padding:37px 0 67px}.gallery-topline{font-size:9px;letter-spacing:.04em}.gallery-masonry{columns:2 140px;column-gap:12px}.gallery-card{padding:7px 7px 9px;margin-bottom:14px}.gallery-card figcaption{font-size:16px;padding:10px 0 3px}.gallery-dialog{max-width:94vw;padding:15px 10px}.dialog-inner{min-width:0}.dialog-inner img{max-height:65vh}.dialog-caption{font-size:21px}.contact-info-grid{grid-template-columns:1fr}.contact-info-grid>div{padding-left:21px}.contact-intro{padding:49px 0 39px}#yhteydenottolomake{padding:56px 0}#yhteydenottolomake .contact-dog{margin-top:27px}#yhteydenottolomake .form-two{grid-template-columns:1fr;gap:0}.home-contact-cta{padding:58px 0}.footer-grid{gap:22px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
