{"id":162,"date":"2026-10-20T08:02:06","date_gmt":"2026-10-20T08:02:06","guid":{"rendered":"https:\/\/funny-magenta-eagle.157-180-92-33.cpanel.site\/?page_id=162"},"modified":"2026-10-20T12:14:11","modified_gmt":"2026-10-20T12:14:11","slug":"brunssi","status":"publish","type":"page","link":"https:\/\/funny-magenta-eagle.157-180-92-33.cpanel.site\/?page_id=162","title":{"rendered":"Brunssi"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"162\" class=\"elementor elementor-162\">\n\t\t\t\t<div class=\"elementor-element elementor-element-30c6957 e-con-full e-flex e-con e-parent\" data-id=\"30c6957\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a4302c8 elementor-widget elementor-widget-html\" data-id=\"a4302c8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- UTU \u00b7 00 GLOBAL + HEADER \u2014 keep this block first on every page (fonts, tokens, reveal, nav) -->\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n<link rel=\"preconnect\" href=\"https:\/\/images.unsplash.com\">\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter+Tight:wght@300;400;500&display=swap\" rel=\"stylesheet\">\n<style>\n:root{\n  --utu-bg:#F4EFE9; --utu-sand:#E9E0D5; --utu-blush:#EED9D2; --utu-rose:#C8968A; --utu-rose-d:#A9786C;\n  --utu-ink:#2A2522; --utu-mute:#8B807A; --utu-brown:#3B2C24; --utu-brown-d:#2A201B; --utu-cream:#F3EADF; --utu-line:rgba(42,37,34,.14); --utu-white:#FBF8F5;\n  --utu-sans:\"Inter Tight\",system-ui,-apple-system,sans-serif;\n  --utu-pad:clamp(20px,4vw,56px); --utu-ease:cubic-bezier(.22,.8,.24,1);\n}\nhtml{scroll-behavior:smooth}\nbody{background:var(--utu-bg);color:var(--utu-ink);-webkit-font-smoothing:antialiased}\n.e-con:has(>.elementor-widget-html .utu-s),.e-con:has(>.e-con-inner>.elementor-widget-html .utu-s){--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--gap:0px;--content-width:100%}\n.elementor-widget-html:has(.utu-s){margin:0!important}\n.utu-s,.utu-s *{box-sizing:border-box;margin:0}\n.utu-s{font-family:var(--utu-sans);font-weight:400;color:var(--utu-ink);font-size:17px;line-height:1.6;letter-spacing:-.01em}\n.utu-s img{display:block;max-width:100%}\n:where(.utu-s) button,.utu-s input,.utu-s select,.utu-s textarea{font:inherit;color:inherit}\n.utu-s a{color:inherit;text-decoration:none}\n.utu-s em{font-style:normal}\n.utu-btn{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;height:54px;padding:0 7px 0 22px;background:var(--utu-ink);color:var(--utu-white)!important;border:0;border-radius:2px;cursor:pointer;font-size:16px;background-image:linear-gradient(var(--utu-brown),var(--utu-brown));background-repeat:no-repeat;background-size:0 100%;transition:background-size .7s var(--utu-ease),background-color .4s}\n.utu-btn>span:last-child{width:40px;height:40px;display:grid;place-items:center;background:rgba(255,255,255,.1);border-radius:2px;transition:transform .4s var(--utu-ease)}\n.utu-btn:hover{background-size:100% 100%}.utu-btn:hover>span:last-child{transform:translateX(3px)}\n.utu-btn--light{background-color:var(--utu-white);background-image:linear-gradient(var(--utu-sand),var(--utu-sand));color:var(--utu-ink)!important}.utu-btn--light>span:last-child{background:var(--utu-sand)}\n.utu-btn--line{background-color:transparent;background-image:linear-gradient(rgba(255,255,255,.1),rgba(255,255,255,.1));color:inherit!important;box-shadow:inset 0 0 0 1px currentColor}.utu-btn--line>span:last-child{background:none}\n.utu-btn:focus-visible,.utu-s a:focus-visible,.utu-s button:focus-visible{outline:2px solid var(--utu-rose);outline-offset:3px}\n.utu-fig{position:relative;overflow:hidden;background:var(--utu-sand);clip-path:inset(0);transition:clip-path 1.9s var(--utu-ease)}\n[data-utu-reveal]:not(.is-in) .utu-fig,.utu-fig[data-utu-reveal]:not(.is-in){clip-path:inset(100% 0 0 0)}\n.utu-s .utu-fig img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);transition:transform 2.4s var(--utu-ease)}\n.utu-fig.is-in img,.is-in .utu-fig img{transform:scale(1)}\n.utu-fig:hover img{transform:scale(1.03)}\n.utu-s .utu-par img{scale:1.12}\n.utu-curtain{position:fixed;inset:0;z-index:2000;background:var(--utu-blush);display:grid;place-items:center;pointer-events:none;clip-path:inset(0);animation:utuCurtain 1.1s .6s var(--utu-ease) forwards}\n.utu-curtain span{font-family:var(--utu-sans);font-weight:300;font-size:clamp(44px,6vw,76px);letter-spacing:-.05em;color:var(--utu-ink);animation:utuCurtainTxt .9s var(--utu-ease) both}\n@keyframes utuCurtain{to{clip-path:inset(0 0 100% 0)}}\n@keyframes utuCurtainTxt{from{opacity:0;transform:translateY(14px)}}\n.elementor-editor-active .utu-curtain{display:none}\n.utu-cap{display:flex;justify-content:space-between;font-size:14px;padding-top:12px}\n.utu-cap span:last-child{color:var(--utu-mute)}\n[data-utu-reveal]{opacity:0;transform:translateY(36px);transition:opacity 1.5s var(--utu-ease),transform 1.5s var(--utu-ease)}\n[data-utu-reveal].is-in{opacity:1;transform:none}\n[data-utu-reveal=split]{opacity:1;transform:none}\n[data-utu-split] .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.1em;margin-bottom:-.1em}\n[data-utu-split] .w>span{display:inline-block;transform:translateY(110%);transition:transform 1.4s var(--utu-ease);transition-delay:calc(var(--i)*var(--utu-stagger,70ms))}\n[data-utu-split].is-in .w>span{transform:none}\n.elementor-editor-active [data-utu-reveal]{opacity:1;transform:none}\n.elementor-editor-active .utu-fig{clip-path:none!important}\n.elementor-editor-active [data-utu-split] .w>span{transform:none}\n@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}[data-utu-reveal]{opacity:1;transform:none}.utu-curtain{display:none}[data-utu-split] .w>span{transform:none}.utu-s .utu-fig{clip-path:none}html{scroll-behavior:auto}}\n\n.utu-hd{position:fixed;inset:0 0 auto;z-index:999;padding:18px var(--utu-pad);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;color:var(--utu-ink);transition:background .5s var(--utu-ease),padding .5s var(--utu-ease),transform .7s var(--utu-ease)}\n.utu-hd.is-hidden{transform:translateY(-120%)}\n.admin-bar .utu-hd{top:32px}@media (max-width:782px){.admin-bar .utu-hd{top:46px}}\n.utu-hd.is-solid{background:rgba(244,239,233,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding-block:12px}\n.utu-hd__bar{grid-column:1\/-1;display:flex;justify-content:space-between;align-items:center;font-size:13px;padding-bottom:14px;max-height:40px;overflow:hidden;transition:max-height .5s var(--utu-ease),opacity .5s,padding .5s}\n.utu-hd.is-solid .utu-hd__bar{max-height:0;opacity:0;padding-bottom:0}\n.utu-hd__brands{display:flex;gap:18px}\n.utu-hd__brands a{opacity:.55;transition:opacity .3s}\n.utu-hd__brands a:hover,.utu-hd__brands a[aria-current]{opacity:1}\n.utu-hd__nav{display:flex;gap:32px;font-size:15px}\n.utu-hd__nav a{position:relative;opacity:.9}\n.utu-hd__m{display:none}\n.utu-hd__nav a::after{content:\"\";position:absolute;left:0;bottom:-3px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .5s var(--utu-ease)}\n.utu-hd__nav a:hover::after{transform:scaleX(1);transform-origin:left}\n.utu-hd__logo{font-size:30px;font-weight:300;letter-spacing:-.05em;line-height:1}\n.utu-hd__end{display:flex;justify-content:flex-end;align-items:center;gap:22px;font-size:15px}\n.utu-hd__cta{height:42px;padding:0 20px;display:inline-flex;align-items:center;border:1px solid currentColor;border-radius:2px;transition:background .4s,color .4s}\n.utu-hd__cta:hover{background:var(--utu-ink);color:var(--utu-white);border-color:var(--utu-ink)}\n.utu-s .utu-hd__cta--fill{background:var(--utu-ink);color:var(--utu-white);border-color:var(--utu-ink)}\n.utu-hd__cta--fill:hover{background:var(--utu-brown);border-color:var(--utu-brown)}\n@media (max-width:1200px) and (min-width:861px){.utu-hd__nav{gap:20px;font-size:14px}.utu-hd__end{gap:10px}.utu-hd__cta{padding:0 14px;font-size:14px}}\n.utu-hd__menu{display:none;background:none;border:0;cursor:pointer;width:40px;height:40px;position:relative}\n.utu-hd__menu i{position:absolute;left:10px;right:10px;height:1px;background:currentColor;transition:transform .4s var(--utu-ease)}\n.utu-hd__menu i:first-child{top:16px}.utu-hd__menu i:last-child{top:23px}\n.utu-hd[data-open] .utu-hd__menu i:first-child{transform:translateY(3.5px) rotate(45deg)}\n.utu-hd[data-open] .utu-hd__menu i:last-child{transform:translateY(-3.5px) rotate(-45deg)}\n.utu-cta{display:none}\n@media (max-width:860px){\n  .utu-cta{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:998;display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:6px;background:rgba(251,248,245,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-radius:4px;box-shadow:0 20px 50px -20px rgba(42,37,34,.45);transform:translateY(140%);transition:transform .6s var(--utu-ease)}\n  .utu-cta.is-on{transform:none}\n  .utu-cta a{height:50px;display:grid;place-items:center;border-radius:2px;font-size:16px;box-shadow:inset 0 0 0 1px var(--utu-line)}\n  .utu-cta a:last-child{background:var(--utu-ink);color:var(--utu-white);box-shadow:none}\n  .utu-hd{grid-template-columns:1fr auto}\n  .utu-hd__nav{position:fixed;inset:0;background:var(--utu-bg);color:var(--utu-ink);flex-direction:column;justify-content:center;padding:0 var(--utu-pad);gap:6px;font-size:44px;font-weight:300;letter-spacing:-.04em;opacity:0;pointer-events:none;transition:opacity .5s var(--utu-ease);z-index:-1}\n  .utu-hd[data-open] .utu-hd__nav{opacity:1;pointer-events:auto}\n  .utu-hd__m{display:inline}\n  .utu-hd__logo{order:-1}\n  .utu-hd__bar{order:-2}\n  .utu-hd__end .utu-hd__cta{display:none}\n  .utu-hd__menu{display:block}\n}\n<\/style>\n\n<header class=\"utu-s utu-hd\" id=\"utu-hd\">\n  <div class=\"utu-hd__bar\">\n    <nav class=\"utu-hd__brands\" aria-label=\"Talot\"><a href=\"\/?page_id=88\" aria-current=\"page\">Utu<\/a><a href=\"#\">Sumu<\/a><a href=\"#\">Platanin talo<\/a><\/nav>\n    <span class=\"utu-hd__lang\">FI \/ EN<\/span>\n  <\/div>\n  <nav class=\"utu-hd__nav\" aria-label=\"P\u00e4\u00e4valikko\">\n    <a href=\"\/?pagename=huoneet\">Huoneet<\/a>\n    <a href=\"\/?pagename=brunssi\">Brunssi<\/a>\n    <a href=\"\/?page_id=88#kuvat\">Kuvat<\/a>\n    <a href=\"\/?page_id=88#lahjakortit\">Lahjakortit<\/a>\n    <a class=\"utu-hd__m\" href=\"#yhteys\">Yhteystiedot<\/a>\n  <\/nav>\n  <a class=\"utu-hd__logo\" href=\"\/?page_id=88\" aria-label=\"Utu \u2013 etusivu\">utu<\/a>\n  <div class=\"utu-hd__end\">\n    <a class=\"utu-hd__cta\" href=\"\/?pagename=brunssi#brunssi-varaus\">Varaa brunssi<\/a>\n    <a class=\"utu-hd__cta utu-hd__cta--fill\" href=\"\/?pagename=huoneet#huoneet\" data-open-rooms>Varaa y\u00f6pyminen<\/a>\n    <button class=\"utu-hd__menu\" aria-label=\"Valikko\" aria-expanded=\"false\"><i><\/i><i><\/i><\/button>\n  <\/div>\n<\/header>\n\n<div class=\"utu-curtain\" id=\"utu-curtain\" aria-hidden=\"true\"><span>utu<\/span><\/div>\n<script>try{if(sessionStorage.getItem(\"utuSeen\"))document.getElementById(\"utu-curtain\").remove();else{sessionStorage.setItem(\"utuSeen\",\"1\");document.documentElement.classList.add(\"utu-first\")}}catch(e){document.getElementById(\"utu-curtain\").remove()}<\/script>\n\n<nav class=\"utu-s utu-cta\" id=\"utu-cta\" aria-label=\"Pikavaraus\">\n  <a href=\"\/?pagename=brunssi#brunssi-varaus\">Varaa brunssi<\/a>\n  <a href=\"\/?pagename=huoneet#huoneet\" data-open-rooms>Varaa y\u00f6pyminen<\/a>\n<\/nav>\n\n<script>\n(()=>{\n  const hd=document.getElementById('utu-hd'); if(!hd||hd.dataset.ready)return; hd.dataset.ready=1;\n  const btn=hd.querySelector('.utu-hd__menu');\n  const set=o=>{o?hd.setAttribute('data-open',''):hd.removeAttribute('data-open');btn.setAttribute('aria-expanded',o)};\n  btn.addEventListener('click',()=>set(!hd.hasAttribute('data-open')));\n  hd.querySelectorAll('.utu-hd__nav a').forEach(a=>a.addEventListener('click',()=>set(false)));\n  const cta=document.getElementById('utu-cta');\n  let lastY=scrollY;\n  const solid=()=>{const y=scrollY;hd.classList.toggle('is-solid',y>innerHeight*.6);if(Math.abs(y-lastY)>6){hd.classList.toggle('is-hidden',y>innerHeight&&y>lastY&&!hd.hasAttribute('data-open'));lastY=y}cta.classList.toggle('is-on',scrollY>innerHeight*.8&&innerHeight+scrollY<document.documentElement.scrollHeight-500)};\n  addEventListener('scroll',solid,{passive:true}); solid();\n  \/\/ [data-open-rooms] links open the room list on the rooms page, elsewhere they just navigate there\n  document.addEventListener('click',e=>{if(e.target.closest('[data-open-rooms]')&&document.getElementById('huoneet')){e.preventDefault();document.dispatchEvent(new CustomEvent('utu:rooms'))}});\n  \/\/ booking started on another page arrives as URL params (?from&to&guests or ?date&time&guests)\n  const q=new URLSearchParams(location.search), hand=()=>{if(q.get('from'))document.dispatchEvent(new CustomEvent('utu:rooms',{detail:{from:q.get('from'),to:q.get('to'),guests:q.get('guests')}}));else if(q.get('date'))document.dispatchEvent(new CustomEvent('utu:brunch',{detail:{date:q.get('date'),time:q.get('time'),guests:q.get('guests')}}))};\n  document.readyState==='loading'?document.addEventListener('DOMContentLoaded',hand):hand();\n  \/\/ scroll reveal for every block on the page\n  const io='IntersectionObserver' in window&&new IntersectionObserver(es=>es.forEach(e=>{if(e.isIntersecting){e.target.classList.add('is-in');io.unobserve(e.target)}}),{rootMargin:'0px 0px -8% 0px'});\n  \/\/ split headings into words that rise in one by one\n  const split=()=>document.querySelectorAll('[data-utu-split]:not([data-done])').forEach(el=>{el.dataset.done=1;el.setAttribute('aria-label',el.textContent.trim());el.innerHTML=el.textContent.trim().split(\/\\s+\/).map((w,i)=>`<span class=\"w\" aria-hidden=\"true\"><span style=\"--i:${i}\">${w}<\/span><\/span>`).join(' ')});\n  const scan=()=>{split();document.querySelectorAll('[data-utu-reveal]:not(.is-in)').forEach(el=>io?io.observe(el):el.classList.add('is-in'))};\n  document.readyState==='loading'?document.addEventListener('DOMContentLoaded',scan):scan();\n  addEventListener('load',scan);\n  \/\/ photos drift slowly inside their frames\n  if(!matchMedia('(prefers-reduced-motion:reduce)').matches){let pr=0;const run=()=>{pr=0;const H=innerHeight;document.querySelectorAll('.utu-par').forEach(f=>{const r=f.getBoundingClientRect();if(r.bottom<0||r.top>H)return;f.firstElementChild.style.translate='0 '+(-(r.top+r.height\/2-H\/2)\/H*r.height*.08).toFixed(1)+'px'})};addEventListener('scroll',()=>pr||(pr=requestAnimationFrame(run)),{passive:true});addEventListener('load',run)}\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-33f3d9f e-con-full e-flex e-con e-parent\" data-id=\"33f3d9f\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b41c53f elementor-widget elementor-widget-html\" data-id=\"b41c53f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- UTU \u00b7 11 ALASIVUN HERO \u00b7 BRUNSSI -->\n<style>\n.utu-ph{position:relative;height:80svh;min-height:560px;overflow:hidden;color:var(--utu-white);background:var(--utu-ink)}\n.utu-s .utu-ph__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;scale:1.1;animation:utuPhZoom 2.8s var(--utu-ease) forwards}\n@keyframes utuPhZoom{to{scale:1.02}}\n.utu-ph__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(244,239,233,.75) 0%,rgba(244,239,233,.2) 22%,rgba(244,239,233,0) 38%,rgba(30,25,22,0) 50%,rgba(30,25,22,.55) 100%)}\n.utu-ph__body{position:absolute;left:var(--utu-pad);right:var(--utu-pad);bottom:clamp(28px,6vh,64px);display:flex;justify-content:space-between;align-items:flex-end;gap:40px}\n.utu-ph__title{font-size:clamp(72px,12vw,210px);font-weight:300;letter-spacing:-.065em;line-height:.82;margin-left:-.04em}\n.utu-ph__title:has(br){font-size:clamp(60px,8.4vw,150px)}\n.utu-ph__title span{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.06em}\n.utu-ph__title i{display:inline-block;font-style:normal;transform:translateY(105%);animation:utuPhRise 1.6s var(--utu-ease) forwards}\n.utu-ph__title span:nth-child(2) i{animation-delay:.12s}\n@keyframes utuPhRise{to{transform:none}}\n.utu-ph__side{max-width:36ch;opacity:0;animation:utuPhIn 1.4s .6s var(--utu-ease) forwards}\n.utu-ph__side p{font-size:clamp(17px,1.4vw,20px);line-height:1.45;margin-bottom:24px}\n@keyframes utuPhIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}\n@media (max-width:860px){.utu-ph{height:78svh}.utu-ph__body{flex-direction:column;align-items:flex-start;gap:24px}.utu-ph__title{font-size:clamp(60px,17vw,120px)}}\n<\/style>\n\n<section class=\"utu-s utu-ph\" id=\"top\">\n  <img decoding=\"async\" class=\"utu-ph__img\" alt=\"Katettu brunssip\u00f6yt\u00e4\" fetchpriority=\"high\" src=\"https:\/\/images.unsplash.com\/photo-1694967336899-d6d8b08932bf?auto=format&fit=crop&w=2200&h=1300&q=72\" srcset=\"https:\/\/images.unsplash.com\/photo-1694967336899-d6d8b08932bf?auto=format&fit=crop&w=1000&h=1250&q=70 1000w,https:\/\/images.unsplash.com\/photo-1694967336899-d6d8b08932bf?auto=format&fit=crop&w=2200&h=1300&q=72 2200w\" sizes=\"100vw\">\n  <div class=\"utu-ph__shade\"><\/div>\n  <div class=\"utu-ph__body\">\n    <h1 class=\"utu-ph__title\" aria-label=\"Brunssi\"><span><i>Brunssi<\/i><\/span><\/h1>\n    <div class=\"utu-ph__side\"><p>Aamupala joka aamu, brunssi lauantaisin ja sunnuntaisin klo 10\u201315. Tervetuloa, vaikka et y\u00f6pyisi meill\u00e4.<\/p><a class=\"utu-btn utu-btn--light\" href=\"#brunssi-varaus\"><span>Varaa brunssi<\/span><span aria-hidden=\"true\">\u2192<\/span><\/a><\/div>\n  <\/div>\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7ba8e17 e-con-full e-flex e-con e-parent\" data-id=\"7ba8e17\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d1b67d4 elementor-widget elementor-widget-html\" data-id=\"d1b67d4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- UTU \u00b7 03 BRUNSSI -->\n<style>\n.utu-br{padding:clamp(90px,10vw,160px) var(--utu-pad) clamp(130px,14vw,220px);scroll-margin-top:60px}\n.utu-br__head{display:grid;grid-template-columns:1fr 1.6fr;gap:40px;align-items:end;margin-bottom:clamp(60px,8vw,120px)}\n.utu-br__title{font-size:clamp(64px,10vw,180px);line-height:.88;letter-spacing:-.06em;font-weight:300;grid-column:1\/-1}\n.utu-br__intro{grid-column:2;font-size:clamp(19px,1.7vw,24px);line-height:1.4;letter-spacing:-.015em;max-width:680px}\n.utu-br__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,32px)}\n.utu-br__grid .utu-fig{aspect-ratio:4\/5}\n.utu-br__menu{display:grid;grid-template-columns:1fr 1.6fr;gap:40px;margin-top:clamp(110px,12vw,190px)}\n.utu-br__menu h3{font-size:clamp(26px,2.4vw,36px);font-weight:300;letter-spacing:-.03em;line-height:1.1}\n.utu-br__cols{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}\n.utu-br__cols h4{font-size:15px;font-weight:500;margin-bottom:14px}\n.utu-br__cols ul{padding:0}\n.utu-br__cols li{list-style:none;font-size:16px;line-height:1.9}\n.utu-br__price{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;margin-top:clamp(60px,6vw,90px)}\n.utu-br__price p{font-size:clamp(26px,2.4vw,36px);letter-spacing:-.03em;font-weight:300}\n.utu-br__price small{display:block;font-size:15px;color:var(--utu-mute);letter-spacing:0}\n@media (max-width:860px){\n  .utu-br__head,.utu-br__menu{grid-template-columns:1fr}\n  .utu-br__intro{grid-column:1}\n  .utu-br__grid{grid-template-columns:repeat(3,78%);overflow-x:auto;scroll-snap-type:x mandatory;margin:0 calc(-1*var(--utu-pad));padding:0 var(--utu-pad);scroll-padding:0 var(--utu-pad);scrollbar-width:none}\n  .utu-br__grid::-webkit-scrollbar{display:none}\n  .utu-br__grid>div{scroll-snap-align:start}\n  .utu-br__cols{grid-template-columns:1fr 1fr}\n}\n@media (max-width:480px){.utu-br__cols{grid-template-columns:1fr}}\n<\/style>\n\n<section class=\"utu-s utu-br\" id=\"brunssi\">\n  <div class=\"utu-br__head\">\n    <h2 class=\"utu-br__title\" data-utu-reveal=\"split\" data-utu-split>Brunssi utun alla<\/h2>\n    <p class=\"utu-br__intro\" data-utu-reveal>Brunssi on lauantaisin ja sunnuntaisin, ja kattauksia on kolme. Osa ruoista on p\u00f6yd\u00e4ss\u00e4 valmiina, l\u00e4mpim\u00e4t ruoat tuomme p\u00f6yt\u00e4\u00e4n. Leiv\u00e4t leivotaan samana aamuna ja kahvi tulee l\u00e4hipaahtimolta.<\/p>\n  <\/div>\n\n  <div class=\"utu-br__grid\">\n    <div data-utu-reveal>\n      <div class=\"utu-fig utu-par\"><img decoding=\"async\" loading=\"lazy\" alt=\"Pannukakkuja, viikunoita ja marjoja\" src=\"https:\/\/images.unsplash.com\/photo-1623847965554-bf6dfffcc558?auto=format&fit=crop&w=900&h=1125&q=70\"><\/div>\n      <p class=\"utu-cap\"><span>Pannukakut ja marjat<\/span><span>01<\/span><\/p>\n    <\/div>\n    <div data-utu-reveal>\n      <div class=\"utu-fig utu-par\"><img decoding=\"async\" loading=\"lazy\" alt=\"Katettu p\u00f6yt\u00e4\" src=\"https:\/\/images.unsplash.com\/photo-1694967336899-d6d8b08932bf?auto=format&fit=crop&w=900&h=1125&q=70\"><\/div>\n      <p class=\"utu-cap\"><span>Kattaus klo 10<\/span><span>02<\/span><\/p>\n    <\/div>\n    <div data-utu-reveal>\n      <div class=\"utu-fig utu-par\"><img decoding=\"async\" loading=\"lazy\" alt=\"Leivonnaisia ja hedelmi\u00e4\" src=\"https:\/\/images.unsplash.com\/photo-1658769986562-8fc8af2d5a31?auto=format&fit=crop&w=900&h=1125&q=70\"><\/div>\n      <p class=\"utu-cap\"><span>Leivonnaiset<\/span><span>03<\/span><\/p>\n    <\/div>\n  <\/div>\n\n  <div class=\"utu-br__menu\">\n    <h3 data-utu-reveal=\"split\" data-utu-split>Syksyn menu<\/h3>\n    <div data-utu-reveal>\n      <div class=\"utu-br__cols\">\n        <div><h4>P\u00f6yd\u00e4ss\u00e4<\/h4><ul><li>Hapanjuurileip\u00e4 ja voi<\/li><li>Graavattu siika<\/li><li>Juuresmousse<\/li><li>Kotijuusto ja hillo<\/li><li>Salaatit<\/li><li>Puuro ja puolukka<\/li><\/ul><\/div>\n        <div><h4>Keitti\u00f6st\u00e4<\/h4><ul><li>Munakokkeli ja kantarellit<\/li><li>Blinit ja savulohi<\/li><li>Sienitoast<\/li><li>Pannukakku<\/li><li>Kasvisvaihtoehto aina<\/li><\/ul><\/div>\n        <div><h4>Juotavaa<\/h4><ul><li>Kahvi ja espressojuomat<\/li><li>Tee<\/li><li>Tuorepuristettu mehu<\/li><li>Kuohuviini +12 \u20ac<\/li><li>Alkoholiton kuohuva<\/li><\/ul><\/div>\n      <\/div>\n      <div class=\"utu-br__price\">\n        <p>52 \u20ac \/ aikuinen<small>Lapset 4\u201312 v 24 \u20ac, alle 4-vuotiaat ilmaiseksi<\/small><\/p>\n        <a class=\"utu-btn\" href=\"#brunssi-varaus\"><span>Varaa p\u00f6yt\u00e4<\/span><span aria-hidden=\"true\">\u2192<\/span><\/a>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-f8e7748 e-con-full e-flex e-con e-parent\" data-id=\"f8e7748\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-812de7f elementor-widget elementor-widget-html\" data-id=\"812de7f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- UTU \u00b7 04 BRUNSSIVARAUS (mockup \u2013 kytke varausj\u00e4rjestelm\u00e4\u00e4n my\u00f6hemmin) -->\n<style>\n.utu-bb{background:var(--utu-blush);padding:clamp(100px,12vw,190px) var(--utu-pad);display:grid;grid-template-columns:1fr 1.35fr;gap:40px;scroll-margin-top:60px}\n.utu-bb>*{min-width:0}\n.utu-bb__h{font-size:clamp(48px,6vw,96px);line-height:.92;letter-spacing:-.05em;font-weight:300;margin:0 0 24px}\n.utu-bb__lead{max-width:400px;color:#5e5450;font-size:18px}\n.utu-bb__card{background:var(--utu-white);border-radius:3px;padding:clamp(20px,3vw,40px)}\n.utu-step{margin-bottom:40px}\n.utu-step__t{display:flex;justify-content:space-between;font-size:14px;color:var(--utu-mute);margin-bottom:14px}\n.utu-chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}\n.utu-chips::-webkit-scrollbar{display:none}\n.utu-chip{flex:0 0 auto;min-width:96px;border:1px solid var(--utu-line);background:none;border-radius:2px;padding:10px 12px;text-align:left;cursor:pointer;transition:border-color .3s,background .3s,color .3s}\n.utu-chip b{display:block;font-weight:400;font-size:17px;letter-spacing:-.01em}\n.utu-chip small{font-size:13px;color:var(--utu-mute)}\n.utu-chip:hover{border-color:var(--utu-ink)}\n.utu-chip[aria-pressed=true]{background:var(--utu-ink);color:var(--utu-white);border-color:var(--utu-ink)}\n.utu-chip[aria-pressed=true] small{color:rgba(255,255,255,.65)}\n.utu-chip:disabled{opacity:.4;cursor:not-allowed;text-decoration:line-through}\n.utu-stepper{display:flex;align-items:center;gap:18px}\n.utu-stepper button{width:44px;height:44px;border:1px solid var(--utu-line);background:none;border-radius:50%;cursor:pointer;font-size:18px;transition:border-color .3s}\n.utu-stepper button:hover{border-color:var(--utu-ink)}\n.utu-stepper output{font-size:32px;font-weight:300;min-width:24px;text-align:center;letter-spacing:-.03em}\n.utu-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}\n.utu-in{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--utu-mute)}\n.utu-in--wide{grid-column:1\/-1}\n.utu-in input,.utu-in textarea{border:0;border-bottom:1px solid var(--utu-line);background:none;padding:8px 0;font-size:17px;color:var(--utu-ink);outline:0;transition:border-color .3s;resize:vertical}\n.utu-in input:focus,.utu-in textarea:focus{border-color:var(--utu-ink)}\n.utu-sum{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}\n.utu-sum p{font-size:15px;color:var(--utu-mute)}\n.utu-sum p b{display:block;color:var(--utu-ink);font-weight:400;font-size:26px;letter-spacing:-.02em}\n.utu-hint{font-size:14px;color:var(--utu-rose-d);margin-top:10px}\n.utu-done{text-align:center;padding:40px 0}\n.utu-done h3{font-size:clamp(32px,3.4vw,48px);font-weight:300;letter-spacing:-.035em;margin:0 0 12px}\n.utu-done code{font-family:inherit;background:var(--utu-bg);padding:4px 10px;border-radius:2px}\n@media (max-width:860px){.utu-bb{grid-template-columns:1fr}}\n@media (max-width:480px){.utu-fields{grid-template-columns:1fr}}\n<\/style>\n\n<section class=\"utu-s utu-bb\" id=\"brunssi-varaus\">\n  <div>\n    <h2 class=\"utu-bb__h\" data-utu-reveal=\"split\" data-utu-split>Varaa p\u00f6yt\u00e4<\/h2>\n    <p class=\"utu-bb__lead\" data-utu-reveal>Yksi kattaus kest\u00e4\u00e4 kaksi tuntia. Kirjoita allergiat lis\u00e4tietoihin, niin keitti\u00f6 tiet\u00e4\u00e4 varautua. Jos tulette yli kahdeksan hengen porukalla, soita tai laita meille s\u00e4hk\u00f6postia.<\/p>\n  <\/div>\n\n  <form class=\"utu-bb__card\" data-utu-reveal novalidate>\n    <div data-flow>\n      <div class=\"utu-step\"><p class=\"utu-step__t\"><span>P\u00e4iv\u00e4<\/span><span>la\u2013su<\/span><\/p><div class=\"utu-chips\" data-days><\/div><p class=\"utu-hint\" data-hint hidden><\/p><\/div>\n      <div class=\"utu-step\"><p class=\"utu-step__t\"><span>Kellonaika<\/span><span>2 h<\/span><\/p><div class=\"utu-chips\" data-times><\/div><\/div>\n      <div class=\"utu-step\"><p class=\"utu-step__t\"><span>Henkil\u00f6m\u00e4\u00e4r\u00e4<\/span><span>max 8<\/span><\/p>\n        <div class=\"utu-stepper\"><button type=\"button\" data-g=\"-1\" aria-label=\"V\u00e4hemm\u00e4n\">\u2212<\/button><output data-guests>2<\/output><button type=\"button\" data-g=\"1\" aria-label=\"Enemm\u00e4n\">+<\/button><\/div><\/div>\n      <div class=\"utu-step\"><p class=\"utu-step__t\"><span>Yhteystiedot<\/span><\/p>\n        <div class=\"utu-fields\">\n          <label class=\"utu-in\">Nimi<input name=\"name\" required autocomplete=\"name\"><\/label>\n          <label class=\"utu-in\">Puhelin<input name=\"tel\" type=\"tel\" autocomplete=\"tel\"><\/label>\n          <label class=\"utu-in utu-in--wide\">S\u00e4hk\u00f6posti<input name=\"email\" type=\"email\" required autocomplete=\"email\"><\/label>\n          <label class=\"utu-in utu-in--wide\">Allergiat tai toiveet<textarea name=\"note\" rows=\"1\"><\/textarea><\/label>\n        <\/div><\/div>\n      <div class=\"utu-sum\"><p>Maksetaan paikan p\u00e4\u00e4ll\u00e4<b data-total>104 \u20ac<\/b><\/p><button class=\"utu-btn\" type=\"submit\"><span>Vahvista varaus<\/span><span aria-hidden=\"true\">\u2192<\/span><\/button><\/div>\n    <\/div>\n    <div class=\"utu-done\" data-done hidden aria-live=\"polite\">\n      <h3>Kiitos, p\u00f6yt\u00e4 on varattu<\/h3>\n      <p><span data-done-when><\/span>. L\u00e4hetimme vahvistuksen s\u00e4hk\u00f6postiisi.<br>Varausnumero <code data-ref><\/code><\/p>\n    <\/div>\n  <\/form>\n<\/section>\n\n<script>\n(()=>{\n  const s=document.getElementById('brunssi-varaus'); if(!s||s.dataset.ready)return; s.dataset.ready=1;\n  const f=s.querySelector('form'), daysEl=s.querySelector('[data-days]'), timesEl=s.querySelector('[data-times]');\n  const fmt=new Intl.DateTimeFormat('fi-FI',{weekday:'short',day:'numeric',month:'numeric'});\n  const iso=d=>d.toLocaleDateString('sv-SE'), D=k=>new Date(k+'T12:00');\n  \/\/ ponytail: mock availability from a hash of the date \u2013 swap for the real booking API\n  const seats=(k)=>{let h=0;for(const c of k)h=(h*31+c.charCodeAt(0))%97;return h%5===0?0:2+h%9};\n  const st={date:null,time:'11.30',guests:2};\n  const weekends=[];for(let d=new Date(),i=0;weekends.length<8&&i<60;i++,d.setDate(d.getDate()+1))if([0,6].includes(d.getDay()))weekends.push(iso(d));\n  const chip=(label,sub,on,dis)=>`<button type=\"button\" class=\"utu-chip\" aria-pressed=\"${on}\" ${dis?'disabled':''}><b>${label}<\/b><small>${sub}<\/small><\/button>`;\n  const render=()=>{\n    daysEl.innerHTML=weekends.map(k=>{const n=seats(k);return chip(fmt.format(D(k)),n?'Vapaana':'T\u00e4ynn\u00e4',k===st.date,!n).replace('<button','<button data-k=\"'+k+'\"')}).join('');\n    timesEl.innerHTML=['10.00','11.30','13.00'].map(t=>{const n=seats(st.date+t);return chip(t,n?n+' paikkaa':'T\u00e4ynn\u00e4',t===st.time,!n||n<st.guests).replace('<button','<button data-k=\"'+t+'\"')}).join('');\n    s.querySelector('[data-guests]').textContent=st.guests;\n    s.querySelector('[data-total]').textContent=st.guests*52+' \u20ac';\n  };\n  st.date=weekends.find(k=>seats(k))||weekends[0];\n  daysEl.addEventListener('click',e=>{const b=e.target.closest('[data-k]');if(b){st.date=b.dataset.k;render()}});\n  timesEl.addEventListener('click',e=>{const b=e.target.closest('[data-k]');if(b){st.time=b.dataset.k;render()}});\n  s.querySelectorAll('[data-g]').forEach(b=>b.addEventListener('click',()=>{st.guests=Math.min(8,Math.max(1,st.guests+ +b.dataset.g));render()}));\n  f.addEventListener('submit',e=>{\n    e.preventDefault();\n    if(!f.reportValidity())return;\n    s.querySelector('[data-flow]').hidden=true;\n    s.querySelector('[data-done]').hidden=false;\n    s.querySelector('[data-done-when]').textContent=fmt.format(D(st.date))+' klo '+st.time+', '+st.guests+' hl\u00f6';\n    s.querySelector('[data-ref]').textContent='UTU-'+Math.random().toString(36).slice(2,7).toUpperCase();\n  });\n  \/\/ from the hero booking bar\n  document.addEventListener('utu:brunch',e=>{\n    const d=e.detail, hint=s.querySelector('[data-hint]');\n    let k=d.date; hint.hidden=weekends.includes(k)&&!!seats(k);\n    if(!hint.hidden){k=weekends.find(w=>w>=d.date&&seats(w))||weekends.find(w=>seats(w));hint.textContent='Brunssi on vain viikonloppuisin, joten valitsimme l\u00e4himm\u00e4n vapaan p\u00e4iv\u00e4n.'}\n    st.date=k;st.time=d.time;st.guests=Math.min(8,parseInt(d.guests)||2);render();\n    s.scrollIntoView({behavior:'smooth'});\n  });\n  render();\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-494940f e-con-full e-flex e-con e-parent\" data-id=\"494940f\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c622f4c elementor-widget elementor-widget-html\" data-id=\"c622f4c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- UTU \u00b7 08 FOOTER \/ YHTEYSTIEDOT -->\n<style>\n.utu-ft{background:var(--utu-brown-d);color:var(--utu-cream);padding:clamp(110px,12vw,190px) var(--utu-pad) 28px;overflow:hidden;scroll-margin-top:60px}\n.utu-ft__top{display:grid;grid-template-columns:1fr 1.35fr;gap:40px}\n.utu-ft__lead{font-size:clamp(34px,4vw,60px);line-height:1.05;letter-spacing:-.04em;font-weight:300}\n.utu-ft__cols{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;font-size:17px;line-height:1.7}\n.utu-ft__cols h4{font-size:13px;font-weight:400;color:rgba(251,248,245,.5);margin-bottom:10px;letter-spacing:.03em}\n.utu-ft__cols a{border-bottom:1px solid transparent;transition:border-color .3s}\n.utu-ft__cols a:hover{border-color:currentColor}\n.utu-ft__news{grid-column:2;display:flex;border-bottom:1px solid rgba(251,248,245,.3);margin-top:clamp(40px,5vw,70px)}\n.utu-ft__news input{flex:1;border:0;background:none;color:var(--utu-white);padding:14px 0;font-size:17px;outline:0;min-width:0}\n.utu-ft__news input::placeholder{color:rgba(251,248,245,.5)}\n.utu-ft__news button{border:0;background:none;color:var(--utu-white);cursor:pointer;font-size:17px}\n.utu-ft__mark{font-size:clamp(160px,38vw,640px);font-weight:300;letter-spacing:-.08em;line-height:.72;margin:clamp(70px,9vw,140px) 0 0 -.04em;color:rgba(243,234,223,.13)}\n.utu-ft__base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:14px;color:rgba(251,248,245,.55);margin-top:28px}\n.utu-ft__base nav{display:flex;gap:20px}\n@media (max-width:860px){.utu-ft__top{grid-template-columns:1fr}.utu-ft__news{grid-column:1}.utu-ft__cols{grid-template-columns:1fr 1fr}}\n<\/style>\n\n<footer class=\"utu-s utu-ft\" id=\"yhteys\">\n  <div class=\"utu-ft__top\">\n    <p class=\"utu-ft__lead\" data-utu-reveal=\"split\" data-utu-split>Yhteystiedot<\/p>\n    <div data-utu-reveal>\n      <div class=\"utu-ft__cols\">\n        <div><h4>OSOITE<\/h4><p>Utu<br>Rantatie 1<br>53100 Lappeenranta<\/p><\/div>\n        <div><h4>YHTEYS<\/h4><p><a href=\"mailto:hei@utu.fi\">hei@utu.fi<\/a><br><a href=\"tel:+358401234567\">+358 40 123 4567<\/a><br><a href=\"#\" aria-label=\"Instagram\">Instagram<\/a><\/p><\/div>\n        <div><h4>AUKIOLO<\/h4><p>Brunssi la\u2013su 10\u201315<br>Vastaanotto ma\u2013su 7\u201322<\/p><\/div>\n      <\/div>\n    <\/div>\n    <form class=\"utu-ft__news\" onsubmit=\"event.preventDefault();this.innerHTML='<p style=&quot;padding:14px 0&quot;>Kiitos tilauksesta!<\/p>'\">\n      <input type=\"email\" required placeholder=\"Tilaa uutiskirje: s\u00e4hk\u00f6postiosoite\" aria-label=\"S\u00e4hk\u00f6posti uutiskirjeeseen\">\n      <button type=\"submit\">Tilaa \u2192<\/button>\n    <\/form>\n  <\/div>\n  <p class=\"utu-ft__mark\" aria-hidden=\"true\">utu<\/p>\n  <div class=\"utu-ft__base\">\n    <span>\u00a9 2026 Utu<\/span>\n    <nav><a href=\"\/?pagename=huoneet\">Huoneet<\/a><a href=\"\/?pagename=brunssi\">Brunssi<\/a><a href=\"\/?page_id=88#lahjakortit\">Lahjakortit<\/a><a href=\"#\">Tietosuoja<\/a><\/nav>\n  <\/div>\n<\/footer>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>UtuSumuPlatanin talo FI \/ EN Huoneet Brunssi Kuvat Lahjakortit Yhteystiedot utu Varaa brunssi Varaa y\u00f6pyminen utu Varaa brunssi Varaa y\u00f6pyminen Brunssi Aamupala joka aamu, brunssi lauantaisin ja sunnuntaisin klo 10\u201315. Tervetuloa, vaikka et y\u00f6pyisi meill\u00e4. Varaa brunssi\u2192 Brunssi utun alla Brunssi on lauantaisin ja sunnuntaisin, ja kattauksia on kolme. Osa ruoista on p\u00f6yd\u00e4ss\u00e4 valmiina, l\u00e4mpim\u00e4t [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"footnotes":""},"class_list":["post-162","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/funny-magenta-eagle.157-180-92-33.cpanel.site\/index.php?rest_route=\/wp\/v2\/pages\/162","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/funny-magenta-eagle.157-180-92-33.cpanel.site\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/funny-magenta-eagle.157-180-92-33.cpanel.site\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/funny-magenta-eagle.157-180-92-33.cpanel.site\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/funny-magenta-eagle.157-180-92-33.cpanel.site\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=162"}],"version-history":[{"count":9,"href":"https:\/\/funny-magenta-eagle.157-180-92-33.cpanel.site\/index.php?rest_route=\/wp\/v2\/pages\/162\/revisions"}],"predecessor-version":[{"id":196,"href":"https:\/\/funny-magenta-eagle.157-180-92-33.cpanel.site\/index.php?rest_route=\/wp\/v2\/pages\/162\/revisions\/196"}],"wp:attachment":[{"href":"https:\/\/funny-magenta-eagle.157-180-92-33.cpanel.site\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=162"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}