@font-face{font-family:'DM Sans';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/dm-sans-400.ttf') format('truetype')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/dm-sans-500.ttf') format('truetype')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/dm-sans-600.ttf') format('truetype')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/dm-sans-700.ttf') format('truetype')}
:root{--ink:#191919;--muted:#68645f;--brown:#835b45;--brown-dark:#654330;--paper:#f2f2f2;--line:#e6e2de;--radius:12px;--wide:1340px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:#fff;font-family:'DM Sans',Arial,Helvetica,sans-serif;font-size:17px;line-height:1.65}a{color:var(--brown);text-decoration-thickness:1px;text-underline-offset:4px}a:hover{color:var(--brown-dark)}img{max-width:100%;height:auto;vertical-align:middle}h1,h2,h3,h4{color:var(--ink);line-height:1.12;font-weight:600;letter-spacing:-.045em;margin:0 0 24px}h1{font-size:clamp(40px,5vw,72px)}h2{font-size:clamp(30px,3.8vw,52px)}h3{font-size:26px}p{margin:0 0 22px}button,input,textarea,select{font:inherit}button,a,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #8c552f;outline-offset:5px}.wrap{width:min(var(--wide),calc(100% - 80px));margin-inline:auto}.screen-reader-text,.skip-link:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link:focus{position:fixed;top:10px;left:10px;background:#fff;padding:16px;z-index:200}.button,.wp-element-button,.wp-block-button__link,button[type=submit],input[type=submit],.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{display:inline-flex;align-items:center;justify-content:center;gap:25px;min-height:48px;padding:14px 24px;border:0;border-radius:8px;background:var(--brown);color:#fff;font-size:15px;font-weight:600;line-height:1.3;text-decoration:none;box-shadow:none;transition:background .2s,transform .2s}.button:hover,.wp-block-button__link:hover,button[type=submit]:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce button.button.alt:hover,.woocommerce a.button.alt:hover{background:var(--brown-dark);color:#fff}.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt{background:var(--brown);color:#fff}.button span{font-size:22px}.eyebrow{font-size:12px;text-transform:uppercase;font-weight:700;letter-spacing:.14em;color:var(--brown);margin-bottom:20px}.site-header{background:#fff;position:relative;z-index:30;border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:32px;min-height:102px}.site-logo{width:225px;flex-shrink:0}.site-logo img,.custom-logo{width:225px;max-height:70px;object-fit:contain;object-position:left}.brand{display:inline-block}.site-nav .menu{list-style:none;display:flex;align-items:center;gap:30px;padding:0;margin:0}.site-nav a{color:var(--ink);text-decoration:none;font-size:15px;font-weight:500}.site-nav a:hover,.site-nav .current-menu-item>a{color:var(--brown)}.menu-item-has-children{position:relative}.submenu-toggle{border:0;background:transparent;color:inherit;padding:10px 6px}.site-nav .sub-menu{list-style:none;position:absolute;left:-24px;top:100%;width:280px;background:#fff;box-shadow:0 16px 32px #00000012;border:1px solid var(--line);border-radius:8px;padding:18px;display:none}.site-nav .sub-menu a{display:block;padding:8px}.site-nav .is-open>.sub-menu{display:block}.site-nav .sub-menu .sub-menu{left:100%;top:0}.header-tools{display:flex;align-items:center;gap:20px}.header-tools a{color:var(--ink);text-decoration:none;font-size:14px;white-space:nowrap}.header-tools svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.cart-link{display:flex;align-items:center;gap:6px}.orff-cart-count{font-size:11px;background:var(--paper);min-width:23px;text-align:center;border-radius:50%;padding:2px}.search-dropdown summary{list-style:none;display:flex}.search-dropdown summary::-webkit-details-marker{display:none}.search-dropdown>div{position:absolute;right:40px;top:100%;background:#fff;padding:24px;box-shadow:0 12px 24px #0002;min-width:350px;border-radius:8px}.menu-toggle{display:none}.search-form,.woocommerce-product-search{display:flex;width:100%;gap:8px}.search-form input,.woocommerce-product-search input{min-width:0;flex:1}.search-form button,.woocommerce-product-search button{padding-inline:20px}.entry-content input:not([type=checkbox]):not([type=radio]):not([type=submit]),input[type=search],input[type=text],input[type=email],input[type=password],input[type=tel],input[type=number],textarea,select{border:1px solid #d4d0cc;border-radius:6px;padding:12px 14px;min-height:46px;background:#fff;color:var(--ink);max-width:100%}.entry-content textarea{width:100%}
/* Native block layouts */
.front-content>.wp-block-group{margin-block:0}.orff-section{padding:92px 0}.orff-section>.wp-block-group__inner-container,.orff-section>.section-inner{width:min(var(--wide),calc(100% - 80px));margin-inline:auto}.orff-section> :first-child{margin-top:0}.hero{background:var(--paper);padding-top:88px;padding-bottom:76px}.hero h1{max-width:1030px;font-size:clamp(42px,5.7vw,80px);line-height:1.06;margin:0 auto 32px;text-align:center;letter-spacing:-.06em}.hero h1 span{color:var(--brown)}.hero .hero-lead{max-width:760px;font-size:18px;margin:0 auto 16px;text-align:center;color:#514d49}.hero .price-note{text-align:center;font-size:13px;color:var(--muted)}.hero-actions{display:flex;align-items:center;justify-content:center;gap:24px;margin:30px auto 54px!important;max-width:760px}.hero-actions>.wp-block-group{flex:1}.hero-actions .wp-block-search{flex:1}.hero-actions .wp-block-search__inside-wrapper{gap:6px}.hero-actions .wp-block-search__input{border:0;border-radius:6px;background:#fff;padding:14px}.hero-actions .wp-block-search__button{margin-left:0}.audience-grid{gap:28px!important;margin:0!important}.audience-card{position:relative;overflow:hidden;border-radius:12px;min-height:430px;background:#ddd}.audience-card figure{margin:0;height:430px}.audience-card img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.25,.65,.3,1)}.audience-card:hover img{transform:scale(1.035)}.audience-card:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 40%,#0009);pointer-events:none}.audience-card h2{position:absolute;left:32px;bottom:26px;z-index:1;color:#fff;margin:0;font-size:40px}.audience-card h2 a{color:inherit;text-decoration:none}.audience-card h2 a:after{content:'↗';margin-left:24px}.section-title{text-align:center;margin-bottom:46px}.section-intro{max-width:860px;text-align:center;margin:0 auto 40px!important;color:#615c56}.trust-strip{background:#fff;border-bottom:1px solid var(--line);padding:20px!important}.trust-strip p{margin:0;text-align:center;font-size:13px;color:var(--muted)}.trust-strip .wp-block-columns{margin:0;gap:16px}.featured-section{background:#26231f;color:#fff}.featured-section h2,.featured-section p{color:#fff}.featured-section .wp-block-columns{align-items:center!important;gap:80px}.featured-section figure{margin:0}.featured-section img{border-radius:12px;width:100%;max-height:510px;object-fit:cover}.featured-section .wp-block-column:last-child{padding-block:30px}.featured-section .eyebrow{color:#d5b9a4}.featured-section h2{font-size:clamp(32px,4vw,58px)}.rooms-section{background:var(--paper)}.split-section .wp-block-columns{align-items:center!important;gap:80px}.split-section img{width:100%;height:470px;object-fit:cover;border-radius:12px}.split-section .wp-block-column p{color:var(--muted)}.local-section{background:#e9e2db}.local-section .section-inner{max-width:900px;text-align:center}.method-section .section-inner{max-width:950px}.method-section h2{text-align:center}.method-section p{color:var(--muted)}.partners-section{border-top:1px solid var(--line);background:#faf9f7}.partners-section h2{text-align:center}.partners-section .wp-block-columns{gap:50px;margin-top:50px}.partners-section figure{height:65px;margin:0 0 28px}.partners-section figure img{width:210px;height:65px;object-fit:contain;object-position:left}.partners-section p{font-size:15px;color:var(--muted)}.page-main{padding-block:72px 100px;min-height:60vh}.page-heading{max-width:1000px;margin:0 auto 54px;text-align:center}.entry-content{max-width:950px;margin-inline:auto}.entry-content>p,.prose>p{margin-bottom:25px}.entry-content>h2,.entry-content>h3{margin-top:48px}.entry-content>.wp-block-image{margin:32px 0}.entry-content .wp-block-image img{border-radius:12px}.entry-content .wp-block-columns{gap:35px}.entry-content ul,.entry-content ol{padding-left:24px}.entry-content a{overflow-wrap:anywhere}.entry-content table{border-collapse:collapse;width:100%;margin-block:25px}.entry-content td,.entry-content th{padding:12px;border:1px solid var(--line)}.entry-content .alignwide{max-width:100%;width:100%}.blog-main{padding-block:80px 100px}.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:58px 36px}.post-image{display:block;aspect-ratio:1.5;overflow:hidden;border-radius:10px;background:var(--paper);margin-bottom:24px}.post-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.25,.65,.3,1)}.post-image:hover img{transform:scale(1.03)}.post-card h2{font-size:26px;letter-spacing:-.035em;line-height:1.2;margin-bottom:16px}.post-card h2 a{color:var(--ink);text-decoration:none}.post-card p{font-size:15px;color:var(--muted)}.post-date{font-size:13px!important;color:var(--muted)}.post-card .post-date{margin-bottom:12px}.read-more{font-size:14px;font-weight:600;text-decoration:none}.read-more span{padding-left:14px}.image-placeholder{display:grid;place-items:center;height:100%;color:var(--brown);font-size:24px}.article-main{padding-block:70px 100px}.article-main .page-heading{max-width:1050px}.article-main h1{font-size:clamp(36px,4vw,60px)}.article-hero{max-width:1200px;margin:0 auto 55px}.article-hero img{width:100%;max-height:640px;object-fit:cover;border-radius:12px}.prose{max-width:800px}.prose h2{font-size:35px}.prose h3{font-size:26px}.navigation{margin-top:60px}.nav-links{display:flex;justify-content:center;gap:18px;flex-wrap:wrap}.post-navigation .nav-links{justify-content:space-between;gap:30px}.post-navigation .nav-links>div{max-width:45%}
/* WooCommerce keeps its own product, cart, checkout and account logic. */
.shop-main{padding-block:50px 90px;min-height:65vh}.woocommerce-breadcrumb{font-size:13px!important;margin-bottom:35px!important}.woocommerce-products-header{max-width:850px;margin:0 auto 35px;text-align:center}.woocommerce-products-header h1{margin-bottom:22px}.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{font-size:14px;margin-block:0 28px}.category-nav{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;clear:both;margin:28px 0 36px}.category-nav a{padding:8px 16px;border:1px solid var(--line);border-radius:30px;color:var(--ink);text-decoration:none;font-size:13px}.category-nav a:hover,.category-nav a[aria-current=page]{color:#fff;background:var(--brown);border-color:var(--brown)}.woocommerce ul.products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:44px 30px;margin:0!important;padding:0;list-style:none;clear:both}.woocommerce ul.products::before,.woocommerce ul.products::after{display:none!important}.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{float:none!important;width:auto!important;margin:0!important;padding:0;display:flex;flex-direction:column;min-width:0;position:relative}.woocommerce ul.products li.product a img{aspect-ratio:1;object-fit:contain;width:100%;padding:0;background:transparent;border-radius:0;margin-bottom:18px}.woocommerce ul.products li.product a:hover img{background:transparent}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:17px;font-weight:500;letter-spacing:-.02em;line-height:1.35;color:var(--ink);padding:0;margin-bottom:12px;min-height:46px}.woocommerce ul.products li.product .price{font-size:20px;color:var(--ink);font-weight:600;margin:0 0 5px}.woocommerce ul.products li.product .price ins{text-decoration:none}.woocommerce ul.products li.product .price del{font-size:14px;font-weight:400;color:var(--muted)}.woocommerce ul.products li.product .button{align-self:flex-start;margin-top:16px;font-size:13px;padding:11px 17px;min-height:42px}.woocommerce ul.products li.product .product-stock{display:block;font-size:12px;font-weight:400;color:#527650}.product-stock:before{content:'●';font-size:8px;margin-right:7px}.product-stock.unavailable{color:var(--muted)!important}.woocommerce span.onsale{background:var(--brown);min-height:0;line-height:1.4;padding:7px 12px;min-width:0;border-radius:5px;font-size:12px;z-index:2;top:10px!important;right:10px!important;margin:0!important}.woocommerce div.product{overflow:hidden}.woocommerce div.product .product_title{font-size:clamp(30px,3.2vw,46px);line-height:1.15;letter-spacing:-.04em;margin-bottom:24px}.woocommerce div.product p.price,.woocommerce div.product span.price{font-size:30px;font-weight:600;color:var(--brown)}.woocommerce div.product p.price ins{text-decoration:none}.woocommerce div.product p.price del{font-size:21px}.woocommerce-product-details__short-description{font-size:16px;color:#55514d}.woocommerce div.product div.images img{max-height:640px;object-fit:contain;background:#fafafa;border-radius:12px}.woocommerce div.product form.cart .button{min-height:48px}.woocommerce .quantity .qty{width:80px}.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;border-bottom:1px solid var(--line)}.woocommerce div.product .woocommerce-tabs ul.tabs li{border:0;background:transparent;margin:0;padding:10px 22px 10px 0}.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after,.woocommerce div.product .woocommerce-tabs ul.tabs::before{display:none}.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--brown)}.woocommerce-Tabs-panel{max-width:950px;padding-block:20px!important}.woocommerce-Tabs-panel h2{font-size:32px}.woocommerce-Tabs-panel h3{font-size:24px;margin-top:30px}.woocommerce-Tabs-panel img{max-width:100%}.related.products{clear:both;margin-top:70px}.related.products>h2{font-size:36px;margin-bottom:35px}.product_meta{font-size:13px;display:grid;gap:7px;color:var(--muted);border-top:1px solid var(--line);padding-top:20px}.product-help{border-top:1px solid var(--line);padding-top:25px;margin-top:25px;font-size:14px}.product-help p{margin:4px 0}.woocommerce table.shop_table{border:1px solid var(--line);border-radius:8px;font-size:15px}.woocommerce table.shop_table td{padding:16px 12px}.woocommerce-cart table.cart img{width:75px}.woocommerce .cart-collaterals .cart_totals h2{font-size:32px}.woocommerce #payment{background:var(--paper);border-radius:10px}.woocommerce .col2-set .col-1,.woocommerce .col2-set .col-2{width:48%}.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea{padding:12px;border:1px solid #d4d0cc;border-radius:6px}.woocommerce .woocommerce-MyAccount-navigation{width:24%}.woocommerce .woocommerce-MyAccount-content{width:72%}.woocommerce-MyAccount-navigation ul{list-style:none;padding:0}.woocommerce-MyAccount-navigation a{display:block;padding:11px 0;border-bottom:1px solid var(--line)}.woocommerce-info,.woocommerce-message,.woocommerce-error{border-top-color:var(--brown);background:var(--paper);font-size:15px}.woocommerce-info:before,.woocommerce-message:before{color:var(--brown)}.page-main:has(.woocommerce){max-width:var(--wide)}.page-main .entry-content:has(.woocommerce){max-width:var(--wide)}.woocommerce .woocommerce-pagination{margin-top:48px}.orff-preview-notice{padding:8px 20px;background:#eee7df;color:#544132;text-align:center;font-size:12px;line-height:1.5}.orff-unavailable{border:1px solid var(--line);border-radius:8px;padding:22px;background:#faf8f5;font-size:14px}.orff-source-note{font-size:12px;color:var(--muted)}
.footer-cta{background:linear-gradient(#0006,#0007),url('images/cta.webp') center 40%/cover;color:#fff;padding:100px 0;text-align:center}.footer-cta p{font-size:14px}.footer-cta h2{font-size:clamp(40px,5.3vw,72px);color:#fff;margin-bottom:34px}.site-footer{padding:70px 0 0;background:#fff}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr .8fr .8fr;gap:60px}.footer-grid .brand,.footer-grid .custom-logo-link{width:225px;margin-bottom:25px}.footer-grid h2{font-size:17px;letter-spacing:-.01em;margin-bottom:24px}.footer-grid p,.footer-grid a{font-size:14px}.footer-grid p{color:var(--muted)}.footer-grid a:not(.brand):not(.custom-logo-link){display:block;margin-bottom:10px;text-decoration:none}.footer-grid ul{list-style:none;margin:0;padding:0}.footer-grid .footer-subtitle{margin-top:30px}.footer-bottom{border-top:1px solid var(--line);margin-top:50px;display:flex;justify-content:space-between;gap:30px;padding-block:24px}.footer-bottom p{font-size:12px;color:var(--muted);margin:0}
@media(min-width:1201px){.site-nav .menu-item-has-children:hover>.sub-menu{display:block}}
@media(max-width:1200px){.wrap{width:calc(100% - 48px)}.header-inner{min-height:86px;gap:18px}.site-logo,.site-logo img{width:190px}.menu-toggle{display:flex;gap:12px;border:0;background:transparent;font-size:14px;align-items:center;margin-left:auto;padding:10px}.site-nav{display:none;position:absolute;top:100%;left:0;width:100%;background:#fff;padding:20px 24px;border-bottom:1px solid var(--line);max-height:75vh;overflow:auto}.site-nav.is-open{display:block}.site-nav .menu{display:block}.site-nav .menu>li{padding:12px 0}.site-nav .sub-menu{position:static;box-shadow:none;border:0;border-left:1px solid var(--line);border-radius:0;margin:10px;width:100%;padding:5px 15px}.site-nav .sub-menu .sub-menu{position:static}.submenu-toggle{float:right;padding:4px 15px}.site-nav .sub-menu a{display:inline-block}.orff-section{padding:65px 0}.orff-section>.section-inner{width:calc(100% - 48px)}.audience-card,.audience-card figure{min-height:0;height:350px}.hero h1{font-size:60px}.featured-section .wp-block-columns,.split-section .wp-block-columns{gap:40px}.woocommerce ul.products{gap:36px 20px}.footer-grid{gap:30px;grid-template-columns:1.3fr 1fr 1fr}.footer-grid>div:last-child{grid-column:2/4;display:flex;align-items:baseline;gap:15px;flex-wrap:wrap}.footer-grid .footer-subtitle{margin:0 0 0 25px}.post-grid{gap:40px 25px}.post-card h2{font-size:23px}}
@media(max-width:767px){body{font-size:16px}.wrap,.orff-section>.section-inner{width:calc(100% - 36px)}.header-inner{gap:12px;min-height:78px}.site-logo,.site-logo img{width:155px}.header-tools{gap:14px}.account-link{display:none}.menu-toggle{font-size:0;padding:8px}.menu-toggle span:last-child{font-size:21px}.hero{padding-top:48px!important}.hero h1{font-size:42px;letter-spacing:-.055em}.hero .hero-lead{font-size:16px}.hero-actions{flex-direction:column;gap:14px;margin-bottom:35px!important}.hero-actions .wp-block-search{width:100%}.hero-actions .wp-block-buttons{width:100%}.hero-actions .wp-block-button,.hero-actions .wp-block-button__link{width:100%}.audience-grid{gap:18px!important}.audience-card,.audience-card figure{height:310px}.audience-card h2{font-size:32px;left:24px}.orff-section{padding:50px 0}.trust-strip .wp-block-columns{gap:5px}.trust-strip p{font-size:12px}.section-title{margin-bottom:30px}.featured-section .wp-block-columns,.split-section .wp-block-columns{gap:28px}.featured-section .wp-block-column:last-child{padding:0}.split-section img{height:320px}.partners-section .wp-block-columns{gap:30px}.partners-section figure{margin-bottom:15px}.page-main,.blog-main,.article-main{padding-block:48px 65px}.page-heading{margin-bottom:35px}.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 16px}.woocommerce ul.products li.product a img{padding:0;margin-bottom:13px}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:15px;min-height:60px}.woocommerce ul.products li.product .price{font-size:18px}.woocommerce ul.products li.product .button{font-size:12px;padding:10px 12px;min-height:42px}.woocommerce .woocommerce-ordering,.woocommerce .woocommerce-result-count{float:none}.woocommerce .woocommerce-ordering select{width:100%}.category-nav{justify-content:flex-start;flex-wrap:nowrap;overflow:auto;padding-bottom:8px;margin-inline:-18px;padding-inline:18px}.category-nav a{white-space:nowrap}.woocommerce div.product div.images,.woocommerce div.product div.summary{width:100%;float:none}.woocommerce .col2-set .col-1,.woocommerce .col2-set .col-2{width:100%;float:none}.woocommerce .woocommerce-MyAccount-navigation,.woocommerce .woocommerce-MyAccount-content{width:100%;float:none}.woocommerce .woocommerce-MyAccount-navigation ul{display:flex;gap:15px;overflow:auto;white-space:nowrap}.post-grid{grid-template-columns:1fr;gap:40px}.post-card h2{font-size:26px}.post-image{aspect-ratio:1.6}.footer-cta{padding:70px 0}.site-footer{padding-top:45px}.footer-grid{grid-template-columns:1fr 1fr;gap:32px 20px}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid>div:last-child{grid-column:auto;display:block}.footer-grid .footer-subtitle{margin:25px 0 20px}.footer-grid p,.footer-grid a{font-size:13px;overflow-wrap:anywhere}.footer-bottom{display:block;padding-block:22px;margin-top:35px}.footer-bottom p+p{margin-top:6px}.search-dropdown>div{right:18px;left:18px;min-width:0}.post-navigation .nav-links>div{max-width:100%}.entry-content .wp-block-columns{gap:20px}.article-hero{margin-bottom:32px}.prose h2{font-size:29px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
.woocommerce ul.products.columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}.orff-latest-posts.wp-block-latest-posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin:0;padding:0;list-style:none}.orff-latest-posts.wp-block-latest-posts li{width:auto!important;margin:0!important}.orff-latest-posts .wp-block-latest-posts__featured-image{margin-bottom:20px}.orff-latest-posts .wp-block-latest-posts__featured-image img{width:100%;height:245px;object-fit:cover;border-radius:10px}.orff-latest-posts .wp-block-latest-posts__post-title{display:block;font-size:25px;line-height:1.2;letter-spacing:-.03em;color:var(--ink);font-weight:600;text-decoration:none;margin-bottom:12px}.orff-latest-posts time{font-size:12px;color:var(--muted)}.orff-latest-posts .wp-block-latest-posts__post-excerpt{font-size:15px;color:var(--muted);margin-top:15px}.orff-latest-posts .wp-block-latest-posts__read-more{display:block;margin-top:16px}@media(max-width:767px){.orff-latest-posts.wp-block-latest-posts{grid-template-columns:1fr;gap:36px}.woocommerce ul.products.columns-3{grid-template-columns:repeat(2,minmax(0,1fr))}.woocommerce ul.products.columns-3>li:last-child{grid-column:auto}.orff-latest-posts .wp-block-latest-posts__featured-image img{height:230px}}

/* Keep the native search block and CTA on the same baseline, independent of block spacing. */
.hero-actions > * {
  margin-block: 0 !important;
}
.hero-actions > .wp-block-buttons {
  flex: 0 0 auto;
}
.hero-actions .wp-block-search {
  flex: 1 1 0;
  min-width: 0;
}
.hero-actions .wp-block-search__inside-wrapper {
  box-sizing: border-box;
  align-items: stretch;
  width: 100%;
  gap: 8px;
}
.hero-actions .wp-block-search__input,
.hero-actions .wp-block-search__button,
.hero-actions .wp-block-button__link {
  box-sizing: border-box;
  height: 52px;
  min-height: 52px;
  margin: 0;
  line-height: 1.3;
}
.hero-actions .wp-block-search__input {
  min-width: 0;
  padding: 0 16px;
  font-size: 16px;
}
.hero-actions .wp-block-search__button,
.hero-actions .wp-block-button__link {
  padding: 0 24px;
  white-space: nowrap;
}

/* A geometric chevron avoids font-dependent baseline drift. */
.site-nav .menu-item-has-children {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  column-gap: 0;
}
.site-nav .submenu-toggle {
  display: inline-grid;
  place-items: center;
  float: none;
  width: 22px;
  height: 32px;
  min-height: 32px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: inherit;
  line-height: 1;
  vertical-align: middle;
}
.site-nav .submenu-toggle::before {
  content: '';
  width: 7px;
  height: 7px;
  box-sizing: border-box;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
}
.site-nav .submenu-toggle[aria-expanded="true"]::before {
  transform: translateY(2px) rotate(225deg);
}
@media (max-width: 1200px) {
  .site-nav .menu-item-has-children > a {
    display: flex;
    align-items: center;
    min-height: 44px;
  }
  .site-nav .submenu-toggle {
    width: 44px;
    height: 44px;
    min-height: 44px;
  }
  .site-nav .menu-item-has-children > .sub-menu {
    grid-column: 1 / -1;
    width: auto;
    margin-inline: 0;
  }
}
@media (max-width: 767px) {
  .hero-actions .wp-block-search {
    flex: 0 0 auto;
    width: 100%;
  }
}

/* Full-width product navigation: native menu links + selected WooCommerce products. */
.orff-mega-panel[hidden],
.orff-menu-backdrop[hidden] { display: none !important; }
.site-nav .orff-has-mega {
  position: static;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  column-gap: 0;
}
.site-nav .orff-has-mega > a { border-radius: 6px; }
.site-nav .orff-has-mega.is-open > a,
.site-nav .orff-has-mega.is-open > .submenu-toggle { color: var(--brown); }
.orff-mega-panel {
  position: absolute;
  inset: 100% 0 auto;
  background: #fff;
  border-top: 1px solid var(--line);
  box-shadow: 0 18px 22px rgb(0 0 0 / 5%);
  max-height: calc(100dvh - 150px);
  overflow: auto;
  overscroll-behavior: contain;
}
.orff-mega-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 36px;
  padding-block: 38px 40px;
}
.orff-mega-categories { min-width: 0; }
.orff-mega-featured {
  min-width: 0;
  border-left: 1px solid var(--line);
  padding-left: 36px;
}
.site-nav .orff-mega-heading {
  margin: 0 0 26px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.5;
}
.site-nav .orff-mega-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 24px 28px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.site-nav .orff-mega-links > li { display: block; min-width: 0; padding: 0; }
.site-nav .orff-mega-links a {
  display: block;
  padding: 0;
  font-size: 17px;
  font-weight: 500;
  line-height: 1.35;
  text-decoration: none;
  overflow-wrap: anywhere;
}
.site-nav .orff-mega-description {
  display: block;
  margin-top: 7px;
  font-size: 13px;
  line-height: 1.55;
  font-weight: 400;
  color: var(--muted);
}
.site-nav .orff-mega-links .sub-menu {
  position: static;
  display: block;
  width: auto;
  margin: 10px 0 0;
  padding: 0 0 0 12px;
  border: 0;
  border-left: 1px solid var(--line);
  border-radius: 0;
  box-shadow: none;
}
.site-nav .orff-mega-links .sub-menu li { margin: 8px 0; }
.site-nav .orff-mega-links .sub-menu a { font-size: 14px; }
.site-nav .orff-mega-all {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 30px;
  padding: 13px 18px;
  min-height: 48px;
  background: #f7f6f4;
  border: 1px solid var(--line);
  border-radius: 7px;
  font-size: 14px;
}
.site-nav .orff-mega-all:hover { background: #eee9e4; }
.orff-mega-all > span { font-size: 22px; }
.orff-mega-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.site-nav .orff-mega-card { display: block; min-width: 0; text-decoration: none; }
.orff-mega-image {
  display: grid;
  place-items: center;
  aspect-ratio: 1.45;
  background: #f5f3f0;
  border-radius: 6px;
  overflow: hidden;
}
.orff-mega-image img { display: block; width: 100%; height: 100%; max-height: 240px; object-fit: contain; padding: 15px; }
.orff-mega-card:hover .orff-mega-image { background: #ece7e0; }
.orff-mega-card-label { display: block; margin-top: 18px; color: var(--muted); font-size: 12px; font-weight: 400; }
.orff-mega-card-name { display: block; margin-top: 7px; font-size: 19px; font-weight: 500; line-height: 1.3; letter-spacing: -.025em; }
.orff-mega-card-price { display: block; margin-top: 10px; font-size: 14px; color: var(--brown); }
.orff-mega-card-price del { color: var(--muted); font-size: 12px; }
.orff-mega-card-price ins { text-decoration: none; }
.orff-menu-backdrop { position: fixed; inset: 0; z-index: 25; background: rgb(0 0 0 / 35%); }
@media (max-width: 1200px) {
  .site-nav .orff-has-mega { position: relative; }
  .site-nav .orff-has-mega > a { display: flex; align-items: center; min-height: 44px; }
  .orff-mega-panel {
    position: static;
    grid-column: 1 / -1;
    max-height: none;
    overflow: visible;
    border: 0;
    box-shadow: none;
  }
  .orff-mega-inner { width: 100%; grid-template-columns: 1fr; gap: 30px; padding-block: 24px 10px; }
  .orff-mega-featured { border-left: 0; border-top: 1px solid var(--line); padding: 25px 0 0; }
  .site-nav .orff-mega-heading { margin-bottom: 20px; }
  .orff-mega-image img { max-height: 200px; }
  .orff-menu-backdrop { display: none; }
}
@media (max-width: 479px) {
  .site-nav .orff-mega-links { grid-template-columns: 1fr; gap: 20px; }
  .site-nav .orff-mega-links a { font-size: 16px; }
  .orff-mega-cards { gap: 14px; }
  .orff-mega-card-name { font-size: 16px; }
  .orff-mega-image { aspect-ratio: 1; }
  .orff-mega-image img { padding: 8px; max-height: 160px; }
}

/* Gentle entrance effects, with no layout shifts or loading overlays. */
@keyframes orff-content-in {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes orff-menu-in {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes orff-fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}
@media (prefers-reduced-motion: no-preference) {
  .site-header { animation: orff-fade-in 500ms ease-out; }
  .hero h1,
  .hero .hero-lead,
  .hero .price-note,
  .hero-actions,
  .page-heading {
    animation: orff-content-in 800ms cubic-bezier(.25, .65, .3, 1) backwards;
  }
  .hero .hero-lead { animation-delay: 100ms; }
  .hero .price-note { animation-delay: 170ms; }
  .hero-actions { animation-delay: 240ms; }
  .hero-actions.orff-entrance-done { animation: none; }

  .orff-mega-panel:not([hidden]) {
    animation: orff-menu-in 480ms cubic-bezier(.25, .65, .3, 1);
  }
  .orff-menu-backdrop:not([hidden]) { animation: orff-fade-in 420ms ease-out; }
  .orff-mega-panel:not([hidden]) .orff-mega-links > li,
  .orff-mega-panel:not([hidden]) .orff-mega-card {
    animation: orff-content-in 620ms cubic-bezier(.25, .65, .3, 1) backwards;
  }
  .orff-mega-panel:not([hidden]) .orff-mega-links > li:nth-child(n+3) { animation-delay: 60ms; }
  .orff-mega-panel:not([hidden]) .orff-mega-links > li:nth-child(n+5) { animation-delay: 120ms; }
  .orff-mega-panel:not([hidden]) .orff-mega-links > li:nth-child(n+7) { animation-delay: 180ms; }
  .orff-mega-panel:not([hidden]) .orff-mega-card { animation-delay: 100ms; }
  .orff-mega-panel:not([hidden]) .orff-mega-card + .orff-mega-card { animation-delay: 180ms; }
  .orff-mega-panel:not([hidden]) :is(.orff-mega-card, .orff-mega-links > li):focus-within { animation: none; }
  .site-nav > .menu > li > .sub-menu,
  .search-dropdown[open] > div { animation: orff-menu-in 420ms cubic-bezier(.25, .65, .3, 1); }
  .site-nav .submenu-toggle::before { transition: transform 320ms cubic-bezier(.25, .65, .3, 1); }
}
@media (prefers-reduced-motion: no-preference) and (max-width: 1200px) {
  .site-nav.is-open { animation: orff-menu-in 420ms cubic-bezier(.25, .65, .3, 1); }
}

/* Studio 49 brand introduction and product-type navigation. */
.studio-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(250px, 1fr);
  background: #f5f1e9;
  border-radius: 14px;
  margin: 0 0 44px;
  overflow: hidden;
}
.studio-hero-copy { padding: 58px 50px 48px; }
.studio-hero .eyebrow { margin-bottom: 24px; }
.studio-hero h1 { max-width: 700px; font-size: clamp(38px, 4.2vw, 60px); line-height: 1.07; margin-bottom: 25px; }
.studio-intro { max-width: 650px; font-size: 16px; line-height: 1.75; color: #5c554b; }
.studio-intro p:last-child { margin-bottom: 0; }
.studio-actions { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; margin-top: 30px; }
.studio-advice { font-size: 14px; font-weight: 500; text-decoration: none; }
.studio-hero-brand { position: relative; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 20px; padding: 45px 30px; background: #efe8da; isolation: isolate; }
.studio-hero-brand img { position: relative; width: 220px; height: auto; max-height: 290px; object-fit: contain; }
.studio-hero-brand p { position: relative; margin: 0; font-size: 12px; letter-spacing: .035em; color: #655949; }
.studio-brand-year { position: absolute; inset: auto 0 22px; text-align: center; font-size: clamp(80px, 11vw, 170px); line-height: 1; font-weight: 700; letter-spacing: -.07em; color: rgb(105 78 38 / 5%); z-index: -1; }
.studio-values { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 35px; padding: 27px 50px 32px; border-top: 1px solid #ded6c7; }
.studio-values > div { position: relative; padding-left: 30px; }
.studio-values > div > span { position: absolute; top: 1px; left: 0; color: #a08868; font-size: 11px; }
.studio-values h2 { font-size: 17px; letter-spacing: -.015em; margin: 0 0 9px; }
.studio-values p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.6; }
.studio-compact { display: flex; gap: 22px; align-items: center; margin-bottom: 35px; }
.studio-compact img { width: 58px; height: 70px; object-fit: contain; }
.studio-compact h1 { margin: 0; font-size: 46px; }
.product-filters { clear: both; margin: 36px 0 28px; padding-bottom: 26px; border-bottom: 1px solid var(--line); scroll-margin-top: 30px; }
.filter-label { margin-bottom: 12px; color: var(--muted); font-size: 12px; font-weight: 600; letter-spacing: .055em; }
.product-filters .category-nav { justify-content: flex-start; margin: 0; }
.product-filters .category-nav a { font-size: 13px; padding: 9px 16px; }
.product-filters .category-nav a.is-active { background: var(--brown); border-color: var(--brown); color: #fff; }
.category-refinements { display: flex; flex-wrap: wrap; gap: 10px 22px; padding-top: 17px; }
.category-refinements a { font-size: 13px; text-decoration: none; }
@media (prefers-reduced-motion: no-preference) {
  .studio-hero-copy { animation: orff-content-in 800ms cubic-bezier(.25, .65, .3, 1) backwards; }
  .studio-hero-brand img { animation: orff-content-in 900ms 140ms cubic-bezier(.25, .65, .3, 1) backwards; }
}
@media (min-width: 1201px) and (max-width: 1420px) {
  .site-nav .menu { gap: 18px; }
  .header-inner { gap: 22px; }
  .site-logo, .site-logo img { width: 190px; }
  .header-tools { gap: 14px; }
}
@media (max-width: 1000px) {
  .studio-hero { grid-template-columns: minmax(0, 1.5fr) minmax(220px, 1fr); }
  .studio-hero-copy { padding: 38px 30px; }
  .studio-hero-brand img { width: 165px; }
  .studio-values { padding: 25px 30px; gap: 20px; }
}
@media (max-width: 767px) {
  .studio-hero { grid-template-columns: 1fr; border-radius: 10px; }
  .studio-hero-copy { padding: 30px 24px; }
  .studio-hero h1 { font-size: 38px; }
  .studio-intro { font-size: 15px; }
  .studio-hero-brand { grid-row: 1; flex-direction: row; justify-content: space-between; gap: 20px; padding: 22px 24px; }
  .studio-hero-brand img { width: 74px; max-height: 90px; }
  .studio-hero-brand p { max-width: 140px; font-size: 13px; text-align: right; }
  .studio-brand-year { display: none; }
  .studio-actions { gap: 18px; }
  .studio-values { grid-template-columns: 1fr; padding: 24px; gap: 20px; }
  .studio-compact h1 { font-size: 36px; }
  .product-filters .category-nav { margin-inline: -18px; padding-inline: 18px; }
}

/* Instrument packages: full photographs and a scannable contents overview. */
.package-hero { max-width: 850px; margin: 0 auto 35px; text-align: center; }
.package-hero h1 { margin-bottom: 24px; }
.package-hero > p:last-child { max-width: 620px; margin: auto; color: var(--muted); font-size: 18px; }
.package-navigation { margin-bottom: 38px; }
.woocommerce.orff-package-archive ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 60px 48px; }
.woocommerce.orff-package-archive ul.products li.product { border-bottom: 1px solid var(--line); padding-bottom: 30px; }
.woocommerce.orff-package-archive ul.products li.product a img.package-main-image { aspect-ratio: 4 / 3; width: 100%; object-fit: contain; margin-bottom: 22px; }
.package-badges { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.package-badges span { display: inline-block; padding: 5px 11px; border-radius: 30px; background: #f3eee8; color: #654330; font-size: 12px; font-weight: 500; line-height: 1.5; }
.woocommerce.orff-package-archive ul.products li.product .woocommerce-loop-product__title { min-height: 0; font-size: clamp(21px, 2.2vw, 28px); margin-bottom: 16px; }
.package-details { margin-top: 20px; border-top: 1px solid var(--line); }
.package-details summary { display: flex; justify-content: space-between; gap: 20px; padding: 18px 0; list-style: none; font-size: 15px; font-weight: 500; color: var(--ink); }
.package-details summary::-webkit-details-marker { display: none; }
.package-details summary > span { font-size: 22px; font-weight: 400; line-height: 1; }
.package-details[open] summary > span { transform: rotate(45deg); }
.package-contents { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 24px; margin: 0; padding: 0; list-style: none; }
.package-contents li { display: flex; align-items: baseline; gap: 10px; font-size: 14px; color: #514d49; line-height: 1.5; overflow-wrap: anywhere; }
.package-contents li > span { color: var(--brown); flex-shrink: 0; }
.package-photo-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 25px; }
.woocommerce ul.products li.product .package-photo-strip img { aspect-ratio: 1; width: 100%; object-fit: contain; margin: 0; }
.package-overview { clear: both; display: grid; grid-template-columns: 1fr 1.5fr; gap: 60px; padding: 45px; margin: 35px 0 50px; background: #f7f4ef; border-radius: 12px; }
.package-overview h2 { font-size: clamp(28px, 3vw, 38px); }
.package-overview p:not(.eyebrow), .package-overview a { font-size: 15px; }
.package-overview .package-contents { gap: 15px 24px; }
@media (max-width: 767px) {
  .woocommerce.orff-package-archive ul.products { grid-template-columns: 1fr; gap: 36px; }
  .woocommerce.orff-package-archive ul.products li.product a img.package-main-image { aspect-ratio: 1; }
  .package-hero > p:last-child { font-size: 16px; }
  .package-overview { grid-template-columns: 1fr; gap: 24px; padding: 25px 20px; }
  .package-contents { gap: 12px 16px; }
}
@media (max-width: 380px) {
  .package-contents { grid-template-columns: 1fr; }
}
.orff-concept-image { position: relative; aspect-ratio: 3 / 2; }
.orff-concept-image img { position: absolute; inset: 0; width: 100%; height: 100%; max-height: none; padding: 0; object-fit: cover; }
.orff-concept-image-one { background: #f0eae2; }
.orff-concept-image-one img { padding: 22px; object-fit: contain; object-position: center; }
.orff-concept-description { display: block; font-size: 13px; line-height: 1.5; color: var(--muted); margin-top: 10px; }
.orff-concept-card .orff-mega-card-name { margin-top: 20px; }
@media (max-width: 1200px) {
  .orff-concept-image img { max-height: none; }
}

/* Native blocks used by both the audience pages and their product archives. */
.audience-landing { margin-bottom: 60px; }
.audience-landing .wp-block-group { box-sizing: border-box; }
.arena-hero { display: grid; grid-template-columns: 1fr 1fr; background: #f3efe8; border-radius: 14px; overflow: hidden; }
.arena-hero-copy { padding: clamp(28px, 4vw, 62px); align-self: center; }
.arena-hero h1 { font-size: clamp(38px, 4.3vw, 62px); }
.arena-lead { color: #5b554e; font-size: 17px; }
.arena-hero > .wp-block-image { margin: 0; height: 100%; }
.arena-hero > .wp-block-image img { width: 100%; height: 100%; min-height: 430px; object-fit: cover; }
.audience-landing .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.arena-hero .wp-block-button + .wp-block-button .wp-block-button__link { color: var(--brown); background: transparent; box-shadow: inset 0 0 0 1px #b8a899; }
.arena-benefits { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 38px; padding: 38px 0; border-bottom: 1px solid var(--line); }
.arena-benefit h2 { font-size: 21px; letter-spacing: -.025em; margin-bottom: 12px; }
.arena-benefit p, .arena-idea p { font-size: 15px; color: var(--muted); margin: 0; }
.arena-split { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 5vw, 78px); align-items: center; margin-block: 70px; }
.arena-split > .wp-block-image { margin: 0; }
.arena-split > .wp-block-image img { width: 100%; border-radius: 12px; aspect-ratio: 3 / 2; object-fit: cover; }
.arena-split h2, .arena-ideas > h2, .arena-contact h2 { font-size: clamp(30px, 3.5vw, 46px); }
.arena-split-copy > p:not(.eyebrow) { color: var(--muted); font-size: 16px; }
.arena-room > .wp-block-image { background: #f4f0e9; border-radius: 12px; }
.arena-room > .wp-block-image img { aspect-ratio: 4 / 3; padding: 28px; object-fit: contain; }
.arena-ideas { padding: 44px; background: #f7f5f1; border-radius: 12px; }
.arena-ideas > h2 { max-width: 650px; margin-bottom: 32px; }
.arena-idea-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 30px; }
.arena-idea h3 { font-size: 21px; letter-spacing: -.025em; }
.arena-contact { padding: 48px; background: #eae1d6; border-radius: 12px; text-align: center; }
.arena-contact > p { max-width: 640px; margin-inline: auto; }
.arena-contact .wp-block-buttons { justify-content: center; }
.arena-products > h2 { font-size: 36px; }
.arena-all { text-align: center; margin-top: 35px; }
@media (max-width: 900px) {
  .arena-hero, .arena-split { grid-template-columns: 1fr; }
  .arena-hero > .wp-block-image img { min-height: 0; height: 320px; }
  .arena-split { gap: 25px; margin-block: 44px; }
  .arena-split > .wp-block-image { max-width: 650px; }
  .arena-benefits { gap: 24px; }
}
@media (max-width: 600px) {
  .arena-benefits, .arena-idea-grid { grid-template-columns: 1fr; gap: 24px; }
  .arena-ideas, .arena-contact { padding: 28px 22px; }
  .arena-hero > .wp-block-image img { height: 250px; }
  .arena-hero h1 { font-size: 40px; }
}

/* Products follow the audience hero; editorial sections follow the catalogue. */
.arena-intro.audience-landing { margin-bottom: 32px; }
.audience-landing.arena-intro > .arena-hero { margin: 0; }
.audience-landing.arena-rest { clear: both; margin-top: 60px; }
.arena-products { margin-top: 32px; scroll-margin-top: 28px; }

.woocommerce.orff-package-archive ul.products li.product a img.package-presentation-image {
  aspect-ratio: 3 / 2;
  object-fit: contain;
  border-radius: 10px;
  margin-bottom: 8px;
}
.package-image-note { display: block; color: var(--muted); font-size: 11px; margin: 0 0 16px; }

/* The catalogue layout changes framing only; original photo pixels stay intact. */
.orff-product-visual { display: block; width: 100%; aspect-ratio: 1; position: relative; overflow: hidden; margin-bottom: 18px; }
.woocommerce ul.products li.product a .orff-product-visual img.orff-product-photo {
  position: absolute; left: 0; top: 0; width: 100%; height: 100%; max-width: none;
  aspect-ratio: auto; object-fit: contain; padding: 0; margin: 0; border-radius: 0;
}
.woocommerce ul.products li.product a .orff-product-visual.has-image-layout img.orff-product-photo {
  left: var(--image-left); top: var(--image-top); width: var(--image-width); height: var(--image-height);
}
@media (max-width: 767px) { .orff-product-visual { margin-bottom: 13px; } }

/* Compact article previews, shared by the blog and the native latest-posts block. */
.post-excerpt,
.front-content .orff-latest-posts .wp-block-latest-posts__post-excerpt {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
  line-height: 1.6;
  max-height: 3.2em;
  font-size: 15px;
  color: var(--muted);
  margin: 0 0 18px;
}
.post-excerpt p { margin: 0; font-size: inherit; line-height: inherit; }
.front-content .orff-latest-posts.wp-block-latest-posts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 58px 36px;
  padding: 0;
  list-style: none;
}
.front-content .orff-latest-posts.wp-block-latest-posts > li {
  display: flex;
  flex-direction: column;
  min-width: 0;
  max-width: none;
  width: auto;
  margin: 0;
}
.front-content .orff-latest-posts .wp-block-latest-posts__featured-image {
  position: relative;
  order: 0;
  aspect-ratio: 1.5;
  overflow: hidden;
  border-radius: 10px;
  margin: 0 0 24px;
}
.front-content .orff-latest-posts .wp-block-latest-posts__featured-image img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.front-content .orff-latest-posts .wp-block-latest-posts__post-date { order: 1; font-size: 13px; margin: 0 0 12px; }
.front-content .orff-latest-posts .wp-block-latest-posts__post-title { order: 2; font-size: 26px; line-height: 1.2; letter-spacing: -.035em; margin: 0 0 16px; }
.front-content .orff-latest-posts .wp-block-latest-posts__post-excerpt { order: 3; }
@media (min-width: 768px) and (max-width: 1024px) {
  .post-grid, .front-content .orff-latest-posts.wp-block-latest-posts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .front-content .orff-latest-posts.wp-block-latest-posts { grid-template-columns: 1fr; gap: 40px; }
  .front-content .orff-latest-posts .wp-block-latest-posts__featured-image { aspect-ratio: 1.6; }
}

/* Carl Orff: editable portrait, introduction and practical activity ideas. */
.orff-story { background: #f6f2ec; }
.orff-story > .section-inner { max-width: 1130px; margin-inline: auto; }
.orff-story-layout { display: grid; grid-template-columns: minmax(220px, 350px) minmax(0, 1fr); gap: clamp(36px, 6vw, 90px); align-items: center; }
.orff-story .orff-story-portrait { margin: 0; }
.orff-story-portrait img { display: block; width: 100%; height: auto; border-radius: 160px 160px 12px 12px; }
.orff-story-portrait figcaption { font-size: 11px; line-height: 1.6; margin-top: 16px; color: var(--muted); }
.orff-story-portrait figcaption a { color: inherit; text-underline-offset: 3px; }
.orff-story .orff-story-copy { margin: 0; max-width: 690px; }
.orff-story .orff-story-copy h2 { text-align: left; font-size: clamp(34px, 3.8vw, 54px); line-height: 1.08; letter-spacing: -.045em; margin: 16px 0 24px; }
.orff-story .eyebrow { color: var(--brown); margin: 0; }
.orff-story .orff-story-lead { font-size: 21px; line-height: 1.5; color: var(--ink); }
.orff-story-copy > p { margin: 0 0 18px; }
.orff-story-copy .wp-block-buttons { margin-top: 26px; }
.orff-story .orff-story-source { font-size: 12px; margin-top: 18px; margin-bottom: 0; }
.orff-story-source a { color: var(--muted); text-underline-offset: 3px; }
.orff-story-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px; margin-top: 54px; padding-top: 30px; border-top: 1px solid #dcd3c9; }
.orff-story-step { margin: 0; }
.orff-story .orff-story-number { color: var(--brown); font-size: 13px; letter-spacing: .08em; margin: 0 0 12px; }
.orff-story-step h3 { font-size: 24px; margin: 0 0 10px; }
.orff-story-step > p:last-child { font-size: 15px; line-height: 1.6; margin: 0; max-width: 330px; }
@media(max-width:767px) {
 .orff-story-layout { grid-template-columns: 1fr; gap: 30px; }
 .orff-story .orff-story-portrait { max-width: 280px; margin-inline: auto; }
 .orff-story-steps { grid-template-columns: 1fr; gap: 24px; margin-top: 36px; }
 .orff-story-step > p:last-child { max-width: none; }
}

/* Homepage presentation images: preserve the complete landscape composition. */
.front-content .orff-home-presentation img { display: block; width: 100%; height: auto; max-height: none; aspect-ratio: 3 / 2; object-fit: contain; border-radius: 12px; }
.orff-home-presentation figcaption { margin-top: 10px; font-size: 11px; line-height: 1.5; color: var(--muted); }
.featured-section .orff-home-presentation figcaption { color: #c8beb5; }

/* Product-link display rules must not override the button's centering. */
.woocommerce ul.products li.product > a.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 100%;
  text-align: center;
  white-space: normal;
}
@media (max-width: 600px) {
  .woocommerce ul.products li.product > a.button {
    min-height: 44px;
    padding: 12px 14px;
    line-height: 1.35;
    gap: 8px;
  }
}

/* Shared pagination: the list is a layout container, never a numbered button. */
.woocommerce nav.woocommerce-pagination,
nav.pagination,
.wp-block-query-pagination,
.woocommerce-pagination--without-numbers {
  clear: both;
  margin: 48px 0 0;
  text-align: center;
}
.woocommerce nav.woocommerce-pagination ul.page-numbers,
nav.pagination .nav-links,
.wp-block-query-pagination,
.wp-block-query-pagination-numbers,
.woocommerce-pagination--without-numbers {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.woocommerce nav.woocommerce-pagination ul.page-numbers {
  width: auto;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  list-style: none;
  white-space: normal;
}
.woocommerce nav.woocommerce-pagination ul.page-numbers li {
  display: block;
  float: none;
  border: 0;
  padding: 0;
  margin: 0;
  overflow: visible;
}
.woocommerce nav.woocommerce-pagination ul.page-numbers li .page-numbers,
nav.pagination .nav-links .page-numbers,
.wp-block-query-pagination .page-numbers,
.wp-block-query-pagination > a,
.woocommerce-pagination--without-numbers a.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  padding: 10px 14px;
  margin: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.2;
  text-decoration: none;
  box-shadow: none;
}
.woocommerce nav.woocommerce-pagination ul.page-numbers li a:hover,
nav.pagination .nav-links a.page-numbers:hover,
.wp-block-query-pagination a:hover,
.woocommerce-pagination--without-numbers a.button:hover {
  border-color: var(--brown);
  background: #f5f1eb;
  color: var(--brown-dark);
}
.woocommerce nav.woocommerce-pagination ul.page-numbers li .current,
nav.pagination .nav-links .current,
.wp-block-query-pagination .current {
  border-color: var(--brown);
  background: var(--brown);
  color: #fff;
  font-weight: 600;
}
.woocommerce nav.woocommerce-pagination ul.page-numbers li .dots,
nav.pagination .nav-links .dots,
.wp-block-query-pagination .dots {
  min-width: 24px;
  padding-inline: 2px;
  border-color: transparent;
  background: transparent;
  color: var(--muted);
}
.woocommerce nav.woocommerce-pagination a:focus-visible,
nav.pagination a:focus-visible,
.wp-block-query-pagination a:focus-visible,
.woocommerce-pagination--without-numbers a:focus-visible {
  outline: 2px solid var(--brown);
  outline-offset: 3px;
}
@media(max-width:767px) {
  .woocommerce nav.woocommerce-pagination, nav.pagination, .wp-block-query-pagination,
  .woocommerce-pagination--without-numbers { margin-top: 32px; }
  .woocommerce nav.woocommerce-pagination ul.page-numbers, nav.pagination .nav-links,
  .wp-block-query-pagination, .wp-block-query-pagination-numbers { gap: 6px; }
}

/* Let the existing native heading link cover the entire audience card. */
.audience-card h2 { position: static; }
.audience-card h2 a { position: absolute; inset: 0; z-index: 3; display: flex; align-items: flex-end; padding: 26px 32px; border-radius: 12px; }
.audience-card h2 a:focus-visible { outline: 3px solid #fff; outline-offset: -8px; }
@media(max-width:767px) { .audience-card h2 a { padding: 26px 24px; } }

/* Native contact page and accessible server-rendered form. */
.contact-main { padding-block: 64px 90px; }
.contact-intro { max-width: 780px; margin: 0 auto 48px; text-align: center; }
.contact-intro h1 { margin-bottom: 20px; }
.contact-intro p { font-size: 19px; color: var(--muted); }
.contact-layout { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(36px, 5vw, 76px); align-items: start; max-width: 1160px; margin-inline: auto; }
.contact-details h2 { font-size: clamp(30px, 3vw, 42px); margin-bottom: 20px; }
.contact-details > p { color: var(--muted); }
.contact-channels { display: grid; gap: 18px; margin-block: 28px; }
.contact-channels p { margin: 0; font-size: 16px; }
.contact-channels strong { display: inline-block; margin-bottom: 4px; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.contact-photo { margin: 30px 0 0; }
.contact-photo img { width: 100%; aspect-ratio: 1.8; object-fit: cover; border-radius: 12px; }
.contact-map { margin-top: 30px; }
.contact-map iframe { display: block; width: 100%; height: 320px; border: 0; border-radius: 12px; }
.contact-map > a { display: inline-flex; align-items: center; min-height: 44px; margin-top: 8px; }
.contact-form-panel { margin: 0; padding: clamp(24px, 3vw, 42px); border: 1px solid #e8dfd5; border-radius: 16px; background: #f6f2ec; scroll-margin-top: 24px; }
.contact-form-panel h2 { font-size: clamp(25px, 2.3vw, 32px); margin-bottom: 12px; }
.contact-form-panel > p { font-size: 15px; color: var(--muted); margin-bottom: 26px; }
.contact-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.contact-field { min-width: 0; margin-bottom: 20px; }
.contact-field label { display: block; font-size: 14px; font-weight: 600; margin-bottom: 8px; }
.contact-field label span { font-weight: 400; color: var(--muted); }
.contact-field input, .contact-field textarea { width: 100%; min-height: 48px; padding: 12px 14px; border: 1px solid #d7cec3; border-radius: 7px; background: #fff; color: var(--ink); font: inherit; font-size: 16px; }
.contact-field textarea { display: block; min-height: 160px; resize: vertical; }
.contact-field [aria-invalid="true"] { border-color: #a1382b; }
.contact-field .contact-field-help, .contact-privacy, .contact-preview-note { font-size: 12px; line-height: 1.6; color: var(--muted); }
.contact-field .contact-field-help { margin: 8px 0 0; }
.contact-preview-note { margin: 14px 0 0; }
.orff-contact-form button { gap: 20px; }
.contact-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.contact-feedback { padding: 16px; border: 1px solid #b5c6b1; border-radius: 8px; background: #f0f6ed; margin-bottom: 24px; font-size: 14px; }
.contact-feedback.is-error { background: #fff4f0; border-color: #cc9d91; }
.contact-feedback ul { padding-left: 20px; margin: 8px 0 0; }
.popular-all-products { text-align: center; margin: 40px 0 0; }
.popular-all-products a { display: inline-flex; align-items: center; min-height: 48px; padding: 12px 24px; border: 1px solid var(--brown); border-radius: 8px; text-decoration: none; font-weight: 600; }
.popular-all-products a:hover { background: #f5f1eb; }
@media(max-width:767px) {
 .contact-main { padding-block: 42px 60px; }
 .contact-layout { grid-template-columns: 1fr; gap: 30px; }
 .contact-intro { margin-bottom: 34px; }
 .contact-intro p { font-size: 16px; }
 .contact-field-row { grid-template-columns: 1fr; gap: 0; }
}

.orff-tone-choice { min-width: 0; clear: both; margin: 0 0 22px; padding: 22px; border: 1px solid var(--line); border-radius: 10px; background: #f8f5f0; }
.orff-tone-choice legend { padding: 0 8px; font-weight: 600; font-size: 18px; }
.orff-tone-choice p { margin: 0 0 16px; font-size: 13px; line-height: 1.6; color: var(--muted); }
.orff-tone-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(140px,1fr)); gap: 10px; }
.orff-tone-option { display: flex; align-items: center; justify-content: space-between; min-width: 0; border: 1px solid var(--line); border-radius: 8px; background: #fff; padding-right: 8px; }
.orff-tone-option.is-selected { border-color: var(--brown); background: #f1e8df; }
.orff-tone-label { display: flex; align-items: center; gap: 8px; min-height: 48px; padding: 10px; flex: 1; cursor: pointer; font-weight: 600; font-size: 15px; }
.orff-tone-label input { width: 18px; height: 18px; margin: 0; accent-color: var(--brown); cursor: pointer; }
.orff-tone-amount { flex: 0 0 52px; }
.woocommerce .orff-tone-amount input { width: 52px; min-height: 44px; padding: 4px; border: 1px solid #cbbfb3; border-radius: 5px; background: #fff; font: inherit; font-size: 16px; text-align: center; }
.orff-tone-amount input:disabled { opacity: .4; }
.orff-tone-choice .orff-tone-count { margin: 16px 0 0; font-weight: 600; color: var(--brown); }
@media(max-width:1000px) { .orff-tone-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:380px) { .orff-tone-choice { padding: 14px; } .orff-tone-grid { gap: 6px; } .orff-tone-label { padding: 8px; gap: 5px; } }
form.cart:has(.orff-tone-choice) .quantity { display: none; }
@media(max-width:1200px) { .site-nav .menu-item-has-children > a { width: 100%; min-width: 0; } }

/* Extended MK package copy flows below the gallery and purchase summary. */
.orff-mk-details{clear:both;border-top:1px solid var(--line,#e5ded8);padding:clamp(36px,5vw,72px) 0;margin-top:40px}
.orff-mk-details-content{max-width:1000px;margin-inline:auto}
.orff-mk-details h2{font-size:clamp(26px,3vw,38px);line-height:1.2;margin:1.5em 0 .6em}
.orff-mk-details h2:first-child{margin-top:0}
.orff-mk-details h3{font-size:clamp(22px,2vw,28px);margin-top:1.4em}
.orff-mk-details p,.orff-mk-details li{line-height:1.75}
.orff-mk-details ul{padding-left:1.3em}
.orff-mk-details li+li{margin-top:.35em}
.orff-mk-details img{max-width:100%;height:auto;border-radius:12px}

/* Complete music room: a visual overview, followed by instrument families. */
.musicroom-main { padding-block: 40px 80px; }
.musicroom-main > .woocommerce-breadcrumb { margin-bottom: 36px; }
.room-hero { overflow: hidden; border-radius: 18px; background: #f5f0e8; }
.room-hero-copy { max-width: 880px; margin-inline: auto; padding: clamp(32px, 5vw, 72px) 28px 36px; text-align: center; }
.room-hero h1 { font-size: clamp(36px, 4.4vw, 68px); line-height: 1.08; margin: 0 0 24px; }
.room-hero-copy > p { max-width: 720px; margin: 0 auto 28px; color: var(--muted); font-size: clamp(17px, 1.5vw, 21px); }
.room-hero .wp-block-buttons, .room-contact .wp-block-buttons { justify-content: center; gap: 12px; }
.room-hero > figure { margin: 0; }
.room-hero > figure img { display: block; width: 100%; max-height: 640px; aspect-ratio: 16 / 9; object-fit: cover; object-position: center 52%; border-radius: 0; }
.room-highlights { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; padding-block: 38px; border-bottom: 1px solid var(--line); }
.room-highlight h3 { margin: 0 0 10px; font-size: 23px; }
.room-highlight p { margin: 0; color: var(--muted); }
.room-contents { padding-block: clamp(48px, 7vw, 88px); scroll-margin-top: 140px; }
.room-section-heading { max-width: 720px; margin: 0 auto 40px; text-align: center; }
.room-section-heading h2, .room-practice h2, .room-contact h2 { font-size: clamp(30px, 3.2vw, 46px); line-height: 1.15; margin: 0 0 20px; }
.room-section-heading p, .room-content-card p { color: var(--muted); }
.room-content-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.room-content-card figure { margin: 0 0 24px; }
.room-content-card img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 12px; }
.room-content-card h3 { font-size: 24px; margin: 0 0 12px; }
.room-content-card p { margin: 0; }
.room-practice { display: grid; grid-template-columns: 1fr 1.1fr; gap: 48px; padding: clamp(28px, 4vw, 56px); background: #f5f0e8; border-radius: 16px; }
.room-practice-copy > p { margin-top: 0; }
.room-practice-copy > p:last-child { margin-bottom: 0; }
.room-contact { max-width: 800px; margin: 0 auto; padding-top: clamp(48px, 7vw, 88px); text-align: center; }
.room-contact > p { color: var(--muted); }
.room-contact .wp-block-buttons { margin-block: 28px 20px; }
@media (max-width: 700px) {
 .musicroom-main { padding-block: 24px 48px; }
 .room-hero-copy { padding: 32px 20px 24px; }
 .room-hero > figure img { aspect-ratio: 3 / 2; }
 .room-highlights, .room-content-grid, .room-practice { grid-template-columns: 1fr; gap: 28px; }
 .room-highlights { padding: 28px 4px; }
 .room-practice { gap: 8px; }
 .room-hero .wp-block-button, .room-contact .wp-block-button { width: 100%; }
 .room-hero .wp-block-button__link, .room-contact .wp-block-button__link { display: flex; justify-content: center; align-items: center; width: 100%; min-height: 48px; padding: 14px 18px; }
}

/* Gutenberg's flow spacing must not offset siblings in these grids. */
.room-highlights > .wp-block-group,
.room-content-grid > .wp-block-group,
.room-practice > .wp-block-group { margin-block: 0; }
.room-highlights, .room-content-grid, .room-practice { align-items: start; }
.musicroom-main .wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color) {
 color: var(--brown-dark);
 border: 2px solid var(--brown-dark);
 background: transparent;
 padding: 12px 22px;
 min-height: 48px;
}
.musicroom-main .wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color):hover {
 color: #fff;
 border-color: var(--brown-dark);
 background: var(--brown-dark);
}
.room-inquiry { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(28px, 4vw, 56px); margin-top: 60px; }
.room-inquiry-summary > img { display: block; width: 100%; border-radius: 10px; margin-bottom: 24px; }
.room-inquiry-summary > p { color: var(--muted); font-size: 16px; }
.room-inquiry-summary .contact-field-help { font-size: 13px; }
.room-inquiry-fields { min-width: 0; }
.room-inquiry .contact-field textarea { min-height: 130px; }
@media (max-width: 800px) { .room-inquiry { grid-template-columns: 1fr; margin-top: 40px; } }

/* A compact, readable inventory at every screen size. */
.room-inventory { padding-top: clamp(48px, 7vw, 88px); }
.room-inventory-table { margin: 0; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
.room-inventory-table table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 16px; }
.room-inventory-table caption { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.room-inventory-table th, .room-inventory-table td { padding: 14px 20px; border: 0; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.room-inventory-table thead { color: #fff; background: var(--brown-dark); }
.room-inventory-table thead th:first-child { width: 12%; }
.room-inventory-table thead th:nth-child(2) { width: 44%; }
.room-inventory-table tbody th[scope="row"] { font-weight: 500; }
.room-inventory-groups { border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
.room-inventory-group + .room-inventory-group { border-top: 1px solid var(--line); }
.room-inventory-group > summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 64px; padding: 18px 20px; background: #f5f0e8; color: var(--brown-dark); font-weight: 600; cursor: pointer; list-style: none; }
.room-inventory-group > summary::-webkit-details-marker { display: none; }
.room-inventory-group > summary:hover { background: #ede4d9; }
.room-inventory-group > summary:focus-visible { outline: 2px solid var(--brown-dark); outline-offset: -4px; }
.room-inventory-toggle { width: 10px; height: 10px; flex-shrink: 0; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); margin-right: 4px; }
.room-inventory-group[open] > summary .room-inventory-toggle { transform: rotate(225deg); }
.room-inventory-group .room-inventory-table { border: 0; border-radius: 0; }
.room-inventory-table tr:last-child > * { border-bottom: 0; }
.room-inventory > p { color: var(--muted); font-size: 14px; margin-top: 14px; }
@media(max-width:600px) {
 .room-inventory-table table { font-size: 14px; line-height: 1.5; }
 .room-inventory-table th, .room-inventory-table td { padding: 12px 10px; }
 .room-inventory-table thead th:first-child { width: 18%; }
 .room-inventory-table thead th:nth-child(2) { width: 42%; }
}

.room-inventory-product { display: flex; align-items: center; gap: 18px; }
.room-inventory-pictures { display: flex; flex-wrap: wrap; gap: 4px; flex: 0 0 120px; }
.room-inventory-pictures img { display: block; width: 120px; height: 78px; object-fit: contain; border-radius: 6px; background: #fff; }
.room-inventory-pictures:has(img + img) img { width: 58px; height: 48px; }
.room-inventory-table tbody td, .room-inventory-table tbody th { vertical-align: middle; }
@media(max-width:600px) {
 .room-inventory-product { flex-direction: column; align-items: flex-start; gap: 8px; }
 .room-inventory-pictures { flex: initial; max-width: 100%; }
 .room-inventory-pictures img { width: 100%; max-width: 110px; height: auto; }
 .room-inventory-pictures:has(img + img) img { width: calc(50% - 2px); height: auto; }
}

/* Equal main-menu rows and roomier dropdown choices. */
.site-nav > .menu > li{margin:0;padding:0}
.site-nav > .menu > li > a{display:flex;align-items:center;min-height:44px;line-height:1.4}
.site-nav > .menu > .menu-item-has-children{column-gap:5px}
.site-nav > .menu > li > .sub-menu{padding:12px;margin-top:0}
.site-nav > .menu > li > .sub-menu > li{margin:0;padding:0}
.site-nav > .menu > li > .sub-menu > li > a{display:flex;align-items:center;min-height:48px;padding:13px 16px;line-height:1.45;border-radius:5px}
.site-nav > .menu > li > .sub-menu > li > a:hover{background:#f6f2ed}
.site-nav .orff-mega-links{row-gap:30px}
@media(max-width:1200px){
 .site-nav > .menu > li > a{min-height:56px;padding-block:14px}
 .site-nav > .menu > li > .submenu-toggle{height:56px;min-height:56px}
 .site-nav > .menu > li > .sub-menu{margin:0 0 10px 12px;padding:6px 12px}
 .site-nav > .menu > li > .sub-menu > li > a{min-height:50px;padding:14px 12px}
 .site-nav .orff-mega-links{row-gap:28px}
}

.learning-intro{padding-block:56px 80px}.li-hero{display:grid;grid-template-columns:1.15fr 1fr;background:#f4efe7;border-radius:18px;overflow:hidden}.li-hero-copy{padding:clamp(28px,4vw,60px)}.li-hero h1{font-size:clamp(40px,4.7vw,66px)}.li-hero>img{height:100%;width:100%;object-fit:cover}.li-lead{font-size:19px;color:#625b52}.li-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-block:28px}.li-text-link{font-weight:600}.li-small{font-size:14px;color:#71685e;margin:0}.li-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding:48px 0;border-bottom:1px solid var(--line)}.li-benefits span{font-size:13px;color:var(--brown)}.li-benefits h2{font-size:24px;margin:12px 0}.li-benefits p{margin:0;color:var(--muted)}.li-section{padding-top:80px}.li-section-heading{max-width:730px;margin:0 auto 40px;text-align:center}.li-section-heading p{color:var(--muted)}.li-section-heading .eyebrow{color:var(--brown)}.li-flow,.li-arenas{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.li-flow article{padding:30px;border:1px solid var(--line);border-radius:14px}.li-flow h3,.li-arenas h3{font-size:25px;margin:20px 0 14px}.li-flow p,.li-arenas p{color:var(--muted);margin-bottom:0}.li-step{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#eee5d8;color:var(--brown);font-weight:600}.li-example,.li-materials{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;margin-top:80px}.li-score{background:#e9eee5;padding:44px;border-radius:18px}.li-score h3{font-size:42px}.li-beats{display:flex;gap:14px;margin:30px 0}.li-beats span{display:grid;place-items:center;flex:1;aspect-ratio:1;border-radius:50%;background:#788971;color:#fff;font-size:30px}.li-score-label{font-size:14px;letter-spacing:.04em}.li-arenas article{background:#f6f2ec;border-radius:14px;padding:30px}.li-arenas h3{margin-top:0}.li-arenas span{display:block;margin-top:22px;color:var(--brown);font-size:13px}.li-materials{padding:48px;background:#f5f1ea;border-radius:18px}.li-materials li{margin:14px 0}.li-screen{aspect-ratio:16/10;background:#303d38;color:#fff;border-radius:12px;padding:34px;box-shadow:0 15px 35px #30271b18}.li-screen-top{letter-spacing:.18em;font-size:11px;color:#c9d1bf}.li-screen h3{font-size:44px;color:white;margin:20px 0}.li-screen-dots{display:flex;gap:14px;margin-bottom:24px}.li-screen-dots i{width:24px;height:24px;background:#dbc79d;border-radius:50%}.li-screen p{font-size:16px;margin:0}.li-cta{text-align:center;max-width:880px;margin:90px auto 0}.li-cta .li-actions{justify-content:center}.li-outline{background:transparent;border:1px solid var(--brown-dark);color:var(--brown-dark)}
@media(max-width:900px){.li-hero,.li-example,.li-materials{grid-template-columns:1fr}.li-hero>img{max-height:340px}.li-benefits,.li-flow,.li-arenas{grid-template-columns:1fr;gap:22px}.li-example,.li-materials{gap:30px}.li-materials{padding:28px}.li-benefits{padding-block:30px}.li-section,.li-example,.li-materials{margin-top:0;padding-top:50px}.li-materials{margin-top:50px;padding-top:28px}.li-section-heading{text-align:left}.learning-intro{padding-top:24px}.li-cta{margin-top:60px}.li-score{padding:28px}.li-screen h3{font-size:36px}}
.li-hero>img{object-position:42% center}
.li-concrete .li-section-heading{max-width:820px}
.li-concrete .li-arenas article{display:flex;flex-direction:column;padding:28px}
.li-concrete .li-arenas .eyebrow{font-size:11px;margin:0 0 18px;color:var(--brown)}
.li-concrete .li-arenas h3{font-size:27px;min-height:61px}
.li-concrete .li-kit{font-size:15px;padding-bottom:20px;border-bottom:1px solid #ded6cc;min-height:72px}
.li-concrete ol{padding-left:21px;margin:20px 0 24px;color:#514b44;font-size:16px}
.li-concrete li{padding-left:5px;margin-bottom:14px}
.li-concrete .li-outcome{font-size:15px;border-top:1px solid #ded6cc;padding-top:18px;margin-top:auto}
.li-example-note{font-size:14px;color:var(--muted);text-align:center;margin:24px auto 0;max-width:760px}
@media(max-width:900px){.li-concrete .li-arenas h3,.li-concrete .li-kit{min-height:0}.li-hero>img{max-height:380px;aspect-ratio:4/3;object-position:center}}
.home-studio-intro{display:grid;grid-template-columns:170px minmax(0,760px);justify-content:center;align-items:center;gap:55px;margin-bottom:60px}
.home-studio-intro>img{width:150px;height:auto;justify-self:center}
.home-studio-intro h2{font-size:clamp(30px,3.5vw,48px)}
.home-studio-intro p:not(.eyebrow){color:var(--muted)}
.home-studio-link{font-weight:600}.home-studio-products-title{text-align:center;font-size:26px;margin-bottom:30px}
.home-studio-all{text-align:center;margin:64px 0 0}
@media(max-width:650px){.home-studio-intro{grid-template-columns:1fr;gap:26px;margin-bottom:38px}.home-studio-intro>img{width:95px;justify-self:start}.home-studio-products-title{text-align:left;font-size:24px}}

/* Samspill presentation and direct portal link in the arena menu. */
.site-nav > .menu > li > .sub-menu > li.menu-learning-portal{border-top:1px solid var(--line);margin-top:8px;padding-top:8px}
.site-nav > .menu > li > .sub-menu > li.menu-learning-portal > a{color:var(--brown-dark);font-weight:600}
.samspill-intro .samspill-example-heading{color:var(--brown-dark);font-weight:600;margin-bottom:16px}
.samspill-intro .samspill-kit{font-size:15px;border-top:1px solid var(--line);padding-top:20px;margin-top:24px;margin-bottom:24px}
.samspill-intro .li-arenas .li-text-link{margin-top:auto;padding-top:8px}
.samspill-voices{display:grid;gap:10px;margin:28px 0}
.samspill-voices>div{display:flex;justify-content:space-between;gap:16px;background:#ffffffa8;border-radius:8px;padding:14px 18px}
.samspill-voices strong{font-size:14px;color:#445941}
.samspill-intro .button.li-outline{background:transparent;border:1px solid var(--brown-dark);color:var(--brown-dark)}
.samspill-intro .button.li-outline:hover{background:var(--brown-dark);color:#fff}
@media(max-width:600px){.samspill-intro .li-actions{align-items:stretch;flex-direction:column}.samspill-intro .li-actions>a{text-align:center}.samspill-intro .li-screen{padding:24px}.samspill-intro .li-hero h1{font-size:38px}}

/* A short portal label fits alongside the shop navigation. */
.site-nav > .menu > .menu-learning-portal > a{color:var(--brown-dark);font-weight:600;white-space:nowrap}
@media(min-width:1201px) and (max-width:1450px){
 .header-inner{gap:20px}
 .site-nav > .menu{gap:18px}
 .site-logo,.site-logo img{width:190px}
 .header-tools{gap:14px}
}

/* Portal action follows the cart, separate from shop navigation. */
.header-tools .samspill-header-button{background:var(--brown);color:#fff;min-height:44px;padding:12px 16px;font-size:14px;font-weight:600}
.header-tools .samspill-header-button:hover{background:var(--brown-dark);color:#fff}
.header-tools{flex-shrink:0}
@media(max-width:600px){
 .header-inner{flex-wrap:nowrap;padding-block:12px;gap:10px}
 .header-inner .site-logo{flex:0 1 155px;min-width:0}
 .header-inner .site-logo img{width:100%}
 .header-inner .menu-toggle{flex-shrink:0}
 .header-inner .header-tools{width:auto;gap:12px}
 .header-tools .samspill-header-button{margin-left:2px}
}

/* Samspill SaaS presentation. */
.sp-landing{--sp-green:#344d43;--sp-soft:#eef2ec;overflow:hidden}
.sp-hero{text-align:center;padding-top:70px;background:radial-gradient(ellipse at 50% 75%,#ede5d7,transparent 67%)}
.sp-pill{display:inline-flex;align-items:center;gap:18px;font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--brown-dark);padding:7px 8px 7px 16px;border:1px solid #ded8cf;border-radius:30px}
.sp-pill span{background:#eee6db;border-radius:20px;padding:5px 12px;letter-spacing:0;font-weight:500}
.sp-hero h1{font-size:clamp(44px,5.5vw,78px);letter-spacing:-.055em;margin:20px 0 24px;line-height:1.06}
.sp-hero h1 em{font-style:normal;color:var(--sp-green)}
.sp-lead{max-width:660px;margin:0 auto;font-size:21px;color:var(--muted)}
.sp-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin:30px 0 18px}
.sp-landing .button{min-height:50px;padding:15px 24px}
.sp-landing .button.sp-outline{background:transparent;border:1px solid var(--brown-dark);color:var(--brown-dark)}
.sp-landing .button.sp-outline:hover{background:var(--brown-dark);color:white}
.sp-note{font-size:13px;color:var(--muted);line-height:1.6}
.sp-browser{margin:0;background:#fff;border:1px solid #ded9d1;border-radius:14px;overflow:hidden;box-shadow:0 20px 65px #30271b13}
.sp-browser img{display:block;width:100%;height:auto}
.sp-browser figcaption{font-size:12px;color:var(--muted);text-align:center;padding:12px 18px;background:#fff}
.sp-browser-bar{display:flex;gap:24px;align-items:center;padding:12px 20px;background:#f5f3ef;text-align:left;font-size:12px;color:#6b655e;border-bottom:1px solid #ded9d1}
.sp-browser-bar span{letter-spacing:3px;color:#bcb3a7}
.sp-hero-screen{max-width:1100px;margin:44px auto 0}
.sp-audiences{display:flex;gap:40px;justify-content:center;flex-wrap:wrap;padding:32px 0;color:#6c665d;font-size:15px;border-bottom:1px solid var(--line)}
.sp-section{padding-block:90px}
.sp-heading{max-width:760px;text-align:center;margin:0 auto 40px}
.sp-heading h2,.sp-feature h2,.sp-instruments h2{font-size:clamp(32px,3.5vw,48px)}
.sp-heading>p:not(.eyebrow){color:var(--muted)}
.sp-benefits,.sp-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.sp-benefits article{padding:30px;border:1px solid var(--line);border-radius:14px;display:flex;flex-direction:column}
.sp-benefits h3{font-size:25px;margin:18px 0 14px}
.sp-benefits p{color:var(--muted)}
.sp-benefits .eyebrow{font-size:10px;color:var(--brown);margin-bottom:0}
.sp-benefits .sp-link{margin-top:auto}
.sp-number{font-size:13px;color:var(--brown);font-weight:700}
.sp-feature{display:grid;grid-template-columns:1fr 1.3fr;align-items:center;gap:64px;padding-block:70px}
.sp-feature p{color:var(--muted)}
.sp-feature .eyebrow{color:var(--brown)}
.sp-checks{list-style:none;padding:0;margin:24px 0}
.sp-checks li{position:relative;padding-left:26px;margin:12px 0;font-size:16px}
.sp-checks li:before{content:'✓';position:absolute;left:0;color:var(--brown)}
.sp-link{font-weight:600;text-decoration:none}
.sp-dark{background:#283e35;margin-block:35px}
.sp-dark .sp-feature{grid-template-columns:1.3fr 1fr}
.sp-dark h2{color:#fff}.sp-dark p,.sp-dark li{color:#e0e8df}.sp-dark .eyebrow,.sp-dark .sp-link,.sp-dark .sp-checks li:before{color:#e2c9ab}
.sp-instruments{background:#f3eee6;border-radius:18px;display:grid;grid-template-columns:1fr 1fr;overflow:hidden}
.sp-instruments>div{padding:48px}.sp-instruments>img{width:100%;height:100%;object-fit:cover}
.sp-plan{border:1px solid #ded8cf;border-radius:16px;padding:28px;display:flex;flex-direction:column;background:#fff}
.sp-plan-featured{border:2px solid var(--sp-green);background:#f5f7f3}
.sp-plan-badge{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--sp-green);font-weight:700;margin-bottom:24px}
.sp-plan h3{font-size:28px;margin-bottom:14px}.sp-plan>p:not(.sp-price){color:var(--muted)}
.sp-plan .sp-price{font-size:46px;font-weight:600;letter-spacing:-.05em;margin:18px 0 0;color:var(--ink);line-height:1.2;white-space:nowrap}
.sp-price span{font-size:15px;letter-spacing:0;font-weight:400}
.sp-price-note{font-size:11px;margin:8px 0 24px}.sp-scope{font-size:14px;border-top:1px solid var(--line);padding-top:22px;margin:0}
.sp-plan .sp-checks{margin-bottom:30px}.sp-plan .button{margin-top:auto;width:100%}
.sp-centered{text-align:center;margin-top:24px}
@media(max-width:900px){.sp-feature,.sp-dark .sp-feature{grid-template-columns:1fr;gap:30px}.sp-dark .sp-feature>figure{order:2}.sp-feature{padding-block:45px}.sp-benefits,.sp-plans{grid-template-columns:1fr}.sp-plan .sp-checks{margin-top:16px}.sp-section{padding-block:55px}.sp-hero{padding-top:38px}.sp-instruments{grid-template-columns:1fr}.sp-instruments>img{max-height:350px}.sp-instruments>div{padding:32px}.sp-hero-screen{margin-top:28px}}
@media(max-width:600px){.sp-pill{font-size:9px;gap:8px;padding-left:10px}.sp-pill span{padding:5px 8px}.sp-lead{font-size:18px}.sp-audiences{gap:12px 24px;font-size:13px}.sp-heading{text-align:left}.sp-actions{flex-direction:column}.sp-browser{border-radius:8px}.sp-browser figcaption{font-size:10px}.sp-hero h1{font-size:42px}.sp-benefits article{padding:24px}.sp-browser-bar{font-size:10px;gap:12px}}

.sp-plan .sp-price{font-size:38px;white-space:normal}.sp-plan .sp-price .woocommerce-Price-amount,.sp-plan .sp-price bdi{font-size:inherit;font-weight:inherit;letter-spacing:inherit}.sp-plan .sp-price .woocommerce-Price-currencySymbol{font-size:20px}.sp-plan .sp-price>span:last-child{display:block;font-size:14px;margin-top:6px}.sp-license-details{text-align:center;font-size:13px;margin-top:14px}
.sp-player-guide{border-top:1px solid var(--line)}
.sp-player-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.sp-player-guide-card{min-width:0;background:#f8f6f2;border:1px solid #e5dfd8;border-radius:18px;overflow:hidden}
.sp-player-guide-screen{border:0;border-radius:0;box-shadow:none}
.sp-player-guide-screen img{height:310px;object-fit:cover;object-position:center 36%}
.sp-player-guide-controls img{object-position:center bottom}
.sp-player-guide-copy{padding:28px 32px 32px}
.sp-player-guide-copy .sp-number{display:block;margin-bottom:12px}
.sp-player-guide-copy h3{font-size:27px;margin:0 0 10px}
.sp-player-guide-copy p{color:var(--muted);margin:0;max-width:52ch}
.sp-player-guide-link{text-align:center;margin-top:32px}
@media(max-width:900px){.sp-player-guide-grid{grid-template-columns:1fr}}
@media(max-width:600px){.sp-player-guide-screen img{height:210px}.sp-player-guide-copy{padding:22px}.sp-player-guide-copy h3{font-size:23px}}

.home-samspill{background:#edf1eb;padding:85px 0}
.home-samspill-inner{display:grid;grid-template-columns:1fr 1.35fr;align-items:center;gap:65px}
.home-samspill-copy h2{font-size:clamp(32px,3.5vw,48px);color:#30483d}
.home-samspill-copy>p:not(.eyebrow){color:var(--muted)}
.home-samspill-copy ul{list-style:none;padding:0;margin:24px 0 30px}
.home-samspill-copy li{position:relative;padding-left:25px;margin:10px 0;font-size:15px}
.home-samspill-copy li:before{content:'✓';position:absolute;left:0;color:var(--brown)}
.home-samspill-preview{margin:0;border:1px solid #d9ddd5;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 20px 50px #23372a15}
.home-samspill-bar{padding:12px 18px;display:flex;gap:20px;align-items:center;font-size:11px;color:#6b655e;background:#f7f6f2}
.home-samspill-bar span{color:#bcb3a7;letter-spacing:3px}
.home-samspill-preview img{display:block;width:100%;height:auto}
.home-samspill-preview figcaption{padding:12px;text-align:center;font-size:12px;color:var(--muted)}
@media(max-width:900px){.home-samspill{padding:55px 0}.home-samspill-inner{grid-template-columns:1fr;gap:30px}.home-samspill-copy{max-width:650px}}
.local-section .contact-map{margin-top:38px}
.local-section .contact-map iframe{height:380px}
@media(max-width:600px){.local-section .contact-map iframe{height:300px}}

/* Small announcement badge without widening the header button. */
.header-tools .samspill-header-button{position:relative;overflow:visible}
.header-tools .samspill-header-button .samspill-new-badge{position:absolute;top:-10px;right:-7px;background:#f2dba8;color:#503b26;border:2px solid #fff;border-radius:20px;padding:3px 8px;font-size:10px;font-weight:700;line-height:1;letter-spacing:.035em;box-shadow:0 2px 5px #39291b12;pointer-events:none}

/* Seasonal campaign on the shop front page. */
.black-month-banner{background:linear-gradient(90deg,var(--brown-dark),var(--brown) 50%,var(--brown-dark));color:#fff;border-bottom:1px solid #0000001f}
.black-month-banner h2{font-size:17px;line-height:24px;font-weight:500;letter-spacing:.01em;text-align:center;margin:0}
.black-month-banner h2 a{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px 14px;padding-block:13px;color:#fff;text-decoration:none}
.black-month-banner h2 a:hover{color:#fff}
.black-month-banner h2 strong{font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:4px 11px;border:1px solid #ffffff73;border-radius:30px}
.black-month-banner h2 .black-month-arrow{transition:transform .2s}
.black-month-banner h2 a:hover .black-month-arrow{transform:translateX(4px)}
@media(max-width:600px){.black-month-banner h2{font-size:15px;line-height:20px}.black-month-banner h2 a{padding-block:10px;gap:4px 10px}.black-month-banner h2 strong{font-size:12px}}

/* Tilbud-merket: WooCommerce sin left:-.5em kombinert med right:10px gjorde merket så bredt som hele produktet. */
.woocommerce span.onsale{left:auto!important;width:auto;height:auto;white-space:nowrap}
.woocommerce ul.products li.product span.onsale{right:10px!important;left:auto!important}
.woocommerce div.product span.onsale{left:10px!important;right:auto!important;top:10px!important}

.orff-concept-image img.orff-concept-logo { inset: auto; top: 14px; right: 14px; width: 64px; height: auto; object-fit: contain; filter: drop-shadow(0 2px 6px rgba(0,0,0,.25)); }
@media (max-width: 760px) { .orff-concept-image img.orff-concept-logo { width: 48px; top: 10px; right: 10px; } }

.menu-toggle .menu-bars { position: relative; display: block; width: 24px; height: 18px; font-size: 0; }
.menu-toggle .menu-bars i { position: absolute; left: 0; width: 100%; height: 2px; border-radius: 2px; background: currentColor; transition: transform 320ms cubic-bezier(.25,.65,.3,1), opacity 180ms ease, top 320ms cubic-bezier(.25,.65,.3,1); }
.menu-toggle .menu-bars i:nth-child(1) { top: 0; }
.menu-toggle .menu-bars i:nth-child(2) { top: 8px; }
.menu-toggle .menu-bars i:nth-child(3) { top: 16px; }
.menu-toggle[aria-expanded="true"] .menu-bars i:nth-child(1) { top: 8px; transform: rotate(45deg); }
.menu-toggle[aria-expanded="true"] .menu-bars i:nth-child(2) { opacity: 0; transform: scaleX(.2); }
.menu-toggle[aria-expanded="true"] .menu-bars i:nth-child(3) { top: 8px; transform: rotate(-45deg); }
@media (prefers-reduced-motion: reduce) { .menu-toggle .menu-bars i { transition: none; } }
