/*
Theme Name: OBSIDIAN Atelier
Description: A custom block theme scaffolded by Studio Code.
Requires at least: 6.7
Tested up to: 6.9
Requires PHP: 7.2
Version: 0.2.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: obsidian
Tags: full-site-editing, block-patterns, block-styles, wide-blocks, accessibility-ready, style-variations
*/

/* WordPress inserts a margin-block-start equal to the block gap (24px unless
   theme.json sets styles.spacing.blockGap) between the template's top-level
   sections (header part, main, footer part) — a gap that exists even when no
   markup asks for it. Zero it so sections butt edge-to-edge and own their
   vertical rhythm via padding; this does not affect block gaps inside nested
   layouts. */
.wp-site-blocks > * + * {
	margin-block-start: 0;
}

/* With that gap gone, main carries its own vertical padding so templates this
   theme does not author (WooCommerce shop, product, cart…) still clear the
   header and footer. A descendant selector, not a child one: WooCommerce wraps
   the single-product main in an extra group. Templates built from full-bleed
   sections opt out with is-flush and let the sections own the rhythm. */
.wp-site-blocks main {
	padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--70);
}
.wp-site-blocks main.is-flush {
	padding-block: 0;
}

:root{--ob-bg:var(--wp--preset--color--background);--ob-panel:var(--wp--preset--color--graphite);--ob-fg:var(--wp--preset--color--text);--ob-muted:var(--wp--preset--color--muted);--ob-line:var(--wp--preset--color--line);--ob-accent:var(--wp--preset--color--accent)}
/* === base === */
*{box-sizing:border-box}html{scroll-behavior:smooth;color-scheme:dark}body{margin:0}img{max-width:100%;height:auto}button,input,select,textarea{font:inherit}a{transition:color .2s}a:hover{color:var(--ob-accent)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--ob-accent);outline-offset:4px}h1,h2,h3{margin-top:0;text-transform:uppercase;letter-spacing:-.015em}h1{font-size:clamp(66px,8vw,116px)}h2{font-size:clamp(42px,5.4vw,76px)}h3{font-size:36px}p{margin-top:0}figure{margin:0}.wp-site-blocks{padding-top:0;padding-bottom:0}.wp-site-blocks main{padding-block:72px 96px}.wp-site-blocks main.is-flush{padding:0}.wp-site-blocks main> .wp-block-group h1.wp-block-post-title{font-size:64px}.eyebrow{font-size:13px;letter-spacing:.17em;font-weight:600;text-transform:uppercase;color:var(--ob-accent)}.muted,.field-help{color:var(--ob-muted)}.micro{font-size:13px;line-height:1.8;letter-spacing:.04em;color:var(--ob-muted)}.band{padding-block:100px}.band-inner>*:first-child{margin-top:0}.tone-graphite{background:var(--ob-panel)}.section-top{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:44px}.section-heading h2{margin:16px 0 0}.section-note{max-width:330px}.section-note p{font-size:16px;line-height:1.8}.wp-element-button{display:inline-flex;justify-content:center;align-items:center;gap:30px;text-transform:uppercase;transition:background .2s,color .2s,transform .2s;cursor:pointer;border:1px solid transparent;font-size:13px;letter-spacing:.14em;font-weight:600;line-height:1.5;background:var(--wp--preset--color--primary);color:var(--ob-bg);padding:18px 28px;text-decoration:none}.wp-element-button:hover{transform:translateY(-2px)}.is-style-quiet .wp-element-button{background:transparent;color:var(--ob-fg);padding:12px 0;border-bottom:1px solid var(--ob-line)}.is-style-quiet .wp-element-button:hover{color:var(--ob-accent)}.will-reveal{opacity:0;transform:translateY(24px);transition:opacity .8s,transform .8s}.will-reveal.revealed{opacity:1;transform:none}.is-style-studio-card{padding:28px;border:1px solid var(--ob-line)}

/* === header === */
header.wp-block-template-part{position:relative;z-index:40}.site-header{border-bottom:1px solid var(--ob-line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:104px}.brand-stack>*{margin:0}.brand{font-family:var(--wp--preset--font-family--manrope);font-size:24px;font-weight:600;letter-spacing:.21em;line-height:1.3}.brand-sub{font-size:11px;letter-spacing:.29em;color:var(--ob-muted);margin-top:5px}.main-nav{font-size:13px}.main-nav .wp-block-navigation__container{gap:25px}.header-actions{display:flex;align-items:center;gap:18px}.header-actions>*{margin:0}.header-actions .wp-element-button{padding:14px 20px}.wc-block-mini-cart__button{padding:8px;color:var(--ob-fg)}.obsidian-home header.wp-block-template-part{position:absolute;left:0;right:0}.obsidian-home .site-header{background:transparent;border-color:rgba(242,241,237,.2)}.obsidian-home .header-inner{min-height:104px}.main-nav .wp-block-navigation__responsive-container.is-menu-open{background:var(--ob-bg);padding:36px}.wp-block-navigation__responsive-container-close{color:var(--ob-fg)}

/* === hero === */
 .hero{position:relative;min-height:850px;height:calc(100svh - 28px);max-height:1100px;isolation:isolate;padding-top:166px;padding-bottom:70px;overflow:hidden}.hero-photo{position:absolute;inset:0;width:100%;height:100%;z-index:-2;margin:0!important;max-width:none!important}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:65% 60%;filter:grayscale(.65) brightness(.65)}.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(9,12,10,.92),rgba(9,12,10,.6) 38%,rgba(9,12,10,.05) 85%),linear-gradient(0deg,rgba(9,12,10,.8),transparent 48%)}.hero-inner{height:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;position:relative}.hero .eyebrow{font-size:12px;letter-spacing:.2em;margin-bottom:22px}.hero-title{font-size:clamp(86px,9vw,144px);font-weight:600;line-height:.88;letter-spacing:-.01em;margin:0!important}.hero-title em{font-style:normal;color:transparent;-webkit-text-stroke:1px var(--ob-fg)}.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;width:100%;margin-top:38px}.hero-copy{font-size:16px;line-height:1.8;color:var(--ob-fg);margin-bottom:24px}.hero-index{font-size:13px;line-height:2.3;letter-spacing:.12em;color:var(--ob-muted);text-align:right}.hero-demo{position:absolute;right:var(--wp--style--root--padding-right);bottom:21px;font-size:11px;letter-spacing:.14em;color:var(--ob-muted);margin:0!important}.proof-band{padding-block:30px;border-bottom:1px solid var(--ob-line)}.proof-row{display:flex;align-items:center;justify-content:space-between;gap:30px}.proof-row>*{margin:0}.proof-row .eyebrow{font-size:12px}.proof-item{font-size:14px;color:var(--ob-muted);border-left:1px solid var(--ob-line);padding-left:24px}

/* === editorial === */
 .page-intro{padding-block:84px 70px}.page-intro h1{margin:20px 0 26px;line-height:.95}.intro-copy{max-width:600px;font-size:18px;line-height:1.9;color:var(--ob-muted)}.story-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:80px;align-items:center}.story-image img,.about-story figure img,.work-interior figure img{width:100%;height:530px;object-fit:cover;filter:saturate(.35)}.story-copy h2{margin-top:20px}.story-copy p{font-size:17px;line-height:1.9}.story-copy .wp-block-buttons{margin-top:30px}.testimonial-grid,.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.quote-stars{font-size:16px;letter-spacing:4px;color:var(--ob-accent)}.quote-text{font-size:19px;line-height:1.8;margin-block:28px 40px}.testimonial-grid .eyebrow{margin-bottom:8px}.testimonial-grid .micro{font-size:11px}.booking-cta{padding-block:86px}.cta-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:60px;align-items:end}.cta-grid h2{margin-bottom:0}.cta-side{max-width:330px;justify-self:end}.cta-side p{font-size:16px;color:var(--ob-muted);margin-bottom:28px}.process-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:70px}.process-step{border-top:1px solid var(--ob-line);padding:26px 0}.process-step h3{margin:10px 0;font-size:30px}.process-step p{font-size:16px}.faq h2{font-size:48px}.wp-block-details{border-top:1px solid var(--ob-line);padding:22px 0}.wp-block-details summary{cursor:pointer;font-size:18px}.wp-block-details p{padding-top:18px;color:var(--ob-muted);font-size:16px}.ob-comparison{margin:0}.comparison-stage{position:relative;aspect-ratio:16/9;overflow:hidden;--split:50%;touch-action:pan-y;background:var(--ob-panel)}.comparison-stage>img,.comparison-before,.comparison-before img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.comparison-stage>img{filter:saturate(.55)}.comparison-before{clip-path:inset(0 calc(100% - var(--split)) 0 0)}.comparison-before img{filter:grayscale(.7) contrast(.6) brightness(.8) blur(1px)}.comparison-handle{position:absolute;top:0;bottom:0;left:var(--split);width:1px;background:var(--ob-fg);display:flex;align-items:center;justify-content:center;transform:translateX(-50%);pointer-events:none;font-size:0}.comparison-handle span{font-size:24px;background:var(--ob-fg);color:var(--ob-bg);width:46px;height:46px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.comparison-stage input[type=range]{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:.01;cursor:ew-resize}.comparison-stage:focus-within{outline:2px solid var(--ob-accent);outline-offset:4px}.compare-tag{position:absolute;bottom:22px;font-size:12px;letter-spacing:.1em;background:var(--ob-bg);padding:8px 12px;pointer-events:none}.tag-before{left:22px}.tag-after{right:22px}.ob-comparison figcaption{display:flex;justify-content:space-between;gap:20px;font-size:13px;line-height:1.7;padding-top:18px;color:var(--ob-muted)}.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:110px}.contact-info h2{margin-block:20px 34px}.contact-info>p{margin-bottom:24px}.contact-form-wrap h2{font-size:48px}.contact-form-wrap .field-help{font-size:15px}.contact-form-wrap input,.contact-form-wrap textarea{background:var(--ob-bg)!important;color:var(--ob-fg)!important;border:1px solid var(--ob-line)!important;border-radius:0!important}.contact-form-wrap label{font-size:15px!important}.contact-form-wrap .wp-block-jetpack-label{margin-top:24px}

/* === services === */
 .ob-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.ob-service-card{display:flex;flex-direction:column;border:1px solid var(--ob-line);padding:26px;transition:border-color .25s;background:var(--ob-bg)}.ob-service-card:hover{border-color:var(--ob-muted)}.ob-service-card .eyebrow{margin-bottom:24px;font-size:12px}.service-photo{width:100%;height:180px;object-fit:cover;filter:saturate(.3);margin-bottom:28px}.ob-service-card h3{font-size:36px;margin:0 0 18px}.ob-service-card>p{font-size:15px;color:var(--ob-muted);line-height:1.9;flex:1}.service-foot{padding-top:26px;margin-top:22px;border-top:1px solid var(--ob-line);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:18px;font-size:13px}.service-foot strong{font-size:28px;font-weight:400;font-family:var(--wp--preset--font-family--barlow-condensed)}.service-foot a{font-size:13px;white-space:nowrap}.service-foot a span{margin-left:6px}

/* === booking === */
 .ob-booking{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(290px,1fr);gap:80px;align-items:start}.booking-fields fieldset{border:0;padding:0;margin:0 0 48px;min-width:0}.booking-fields legend{font-family:var(--wp--preset--font-family--barlow-condensed);font-size:32px;text-transform:uppercase;display:flex;gap:18px;align-items:center;margin-bottom:25px;width:100%;padding:0}.booking-fields legend>span{font-family:var(--wp--preset--font-family--manrope);font-size:13px;color:var(--ob-accent)}.booking-services{display:grid;gap:10px}.service-option{position:relative;cursor:pointer}.service-option input{position:absolute;top:24px;left:20px;accent-color:var(--ob-accent);width:14px;height:14px}.option-content{display:flex;justify-content:space-between;gap:20px;border:1px solid var(--ob-line);padding:20px 20px 20px 48px;transition:background .2s,border-color .2s}.option-content strong{display:block;font-size:17px;font-weight:500}.option-content small{display:block;font-size:13px;color:var(--ob-muted);margin-top:5px}.option-content>span:last-child{font-size:19px}.service-option input:checked+.option-content{border-color:var(--ob-accent);background:var(--ob-panel)}.ob-booking label:not(.service-option){font-size:15px;color:var(--ob-fg)}.ob-booking input:not([type=radio]):not([type=checkbox]),.ob-booking select,.ob-booking textarea{display:block;width:100%;background:var(--ob-panel);border:1px solid var(--ob-line);color:var(--ob-fg);border-radius:0;padding:15px 16px;min-height:51px;margin:8px 0 20px;font-size:16px}.ob-booking textarea{resize:vertical}.ob-booking input::placeholder,.ob-booking textarea::placeholder{color:var(--ob-muted);opacity:.75}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}.booking-extras{border-top:1px solid var(--ob-line)}.booking-extras label{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--ob-line);padding:20px 0;cursor:pointer}.booking-extras strong{margin-left:auto;font-size:15px;font-weight:500}.booking-extras input,.consent input{accent-color:var(--ob-accent);width:16px;height:16px;flex-shrink:0}.field-help{font-size:15px;line-height:1.8}.optional{color:var(--ob-muted);font-size:13px}.booking-summary{position:sticky;top:30px;background:var(--ob-panel);padding:32px;border:1px solid var(--ob-line)}.booking-summary h2{font-size:42px;margin:18px 0 10px}.booking-summary [data-summary-duration]{color:var(--ob-muted);font-size:15px}.summary-lines{padding:24px 0;border-top:1px solid var(--ob-line);border-bottom:1px solid var(--ob-line);margin-top:28px;font-size:14px;color:var(--ob-muted)}.summary-lines>div{display:flex;justify-content:space-between;gap:16px;margin:10px 0}.summary-lines>div>span:last-child{color:var(--ob-fg);white-space:nowrap}.summary-total{display:flex;justify-content:space-between;align-items:center;margin-block:24px;font-size:15px}.summary-total strong{font-family:var(--wp--preset--font-family--barlow-condensed);font-size:48px;font-weight:500}.booking-summary>.field-help{font-size:13px}.consent{display:flex;align-items:start;gap:10px;margin-block:26px;font-size:13px!important;line-height:1.8;color:var(--ob-muted)!important}.consent input{margin:3px 0}.booking-summary button{width:100%;padding-inline:15px}.booking-summary button:disabled{opacity:.6;cursor:wait}.summary-note{font-size:11px;letter-spacing:.08em;text-align:center;color:var(--ob-muted);line-height:2;margin:18px 0 0}.booking-status{font-size:14px;margin-top:10px}.booking-band{padding-top:10px}.booking-summary a{text-decoration:underline}

/* === commerce === */
 .commerce-demo{padding:15px 20px;border:1px solid var(--ob-line);color:var(--ob-accent);font-size:12px;letter-spacing:.12em;margin-bottom:36px}.woocommerce{font-size:16px}.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce select,.select2-container--default .select2-selection--single{background:var(--ob-panel);border:1px solid var(--ob-line);color:var(--ob-fg);padding:13px;min-height:48px;border-radius:0}.woocommerce form .form-row label{font-size:15px;color:var(--ob-muted);line-height:2.4}.woocommerce table.shop_table{border:1px solid var(--ob-line);border-radius:0;border-collapse:collapse}.woocommerce table.shop_table th,.woocommerce table.shop_table td{border-color:var(--ob-line);padding:20px 15px}.woocommerce .product-name a{font-size:18px}.woocommerce .variation{font-size:13px;line-height:1.8;color:var(--ob-muted)}.woocommerce .variation dt,.woocommerce .variation dd{float:none!important;display:block!important;margin:5px 0!important}.woocommerce .variation dd p{margin:0}.woocommerce .variation dt{color:var(--ob-fg);font-weight:500}.woocommerce-cart .cart-collaterals .cart_totals{float:right;width:48%}.woocommerce-cart .cart-collaterals .cart_totals h2{font-size:42px}.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{border-radius:0;background:var(--wp--preset--color--primary);color:var(--ob-bg);padding:17px 24px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;font-weight:600}.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt{background:var(--wp--preset--color--primary);color:var(--ob-bg)}.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce button.button.alt:hover,.woocommerce a.button.alt:hover{background:var(--ob-accent);color:var(--ob-bg)}.woocommerce button:disabled{opacity:.5}.woocommerce .quantity .qty{background:var(--ob-panel);color:var(--ob-fg);border:1px solid var(--ob-line);padding:9px}.woocommerce .coupon .input-text{min-width:130px;background:var(--ob-panel);color:var(--ob-fg);border:1px solid var(--ob-line)}.woocommerce-message,.woocommerce-info,.woocommerce-error{background:var(--ob-panel);color:var(--ob-fg);font-size:15px;border-top-color:var(--ob-accent)}.woocommerce-message::before,.woocommerce-info::before{color:var(--ob-accent)}.woocommerce #payment,.woocommerce-checkout #payment{background:var(--ob-panel);border-radius:0;border:1px solid var(--ob-line)}.woocommerce #payment div.payment_box{background:var(--ob-bg);color:var(--ob-muted)}.woocommerce #payment div.payment_box::before{border-bottom-color:var(--ob-bg)}.woocommerce-checkout h3{font-size:36px}.woocommerce .col2-set .col-1{float:none;width:100%}.woocommerce .col2-set .col-2:empty{display:none}.woocommerce-checkout #customer_details{width:48%;float:left}.woocommerce-checkout #order_review_heading,.woocommerce-checkout #order_review{width:46%;float:right}.woocommerce-checkout form.checkout::after{content:"";display:table;clear:both}.woocommerce #payment .place-order{padding:25px}.woocommerce-privacy-policy-text{font-size:14px;color:var(--ob-muted)}.woocommerce form.checkout_coupon{border-color:var(--ob-line)}.select2-dropdown,.select2-results__option{background:var(--ob-panel);color:var(--ob-fg)}.select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--ob-fg);line-height:22px}.woocommerce .product-thumbnail{width:110px}.woocommerce ul.products li.product a img{aspect-ratio:4/3;object-fit:cover;filter:saturate(.35)}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:28px}.woocommerce ul.products li.product .price{color:var(--ob-accent)}.woocommerce .woocommerce-order-overview{padding:0;margin-block:40px;display:flex;flex-wrap:wrap;gap:20px}.woocommerce ul.order_details li{float:none;border-color:var(--ob-line);margin:0;font-size:13px}.woocommerce .woocommerce-customer-details address{border-color:var(--ob-line);padding:22px}.woocommerce .woocommerce-order-details h2{font-size:42px}.wc-block-components-drawer{background:var(--ob-panel);color:var(--ob-fg)}.wc-block-mini-cart__badge{background:var(--ob-accent);color:var(--ob-bg)}.wc-block-mini-cart__amount{font-size:14px}.woocommerce div.product p.price{color:var(--ob-accent)}.woocommerce div.product .product_title{font-size:64px}

/* === footer === */
 .site-footer{padding-block:72px 24px;border-top:1px solid var(--ob-line)}.footer-top{display:grid;grid-template-columns:1.4fr .7fr 1fr;gap:50px}.footer-position h2{font-size:46px}.footer-position>p{font-size:15px}.footer-links>p:last-child,.footer-info>p{font-size:15px;line-height:2}.footer-info .eyebrow,.footer-links .eyebrow{font-size:12px}.footer-wordmark{font-family:var(--wp--preset--font-family--manrope);font-size:clamp(66px,12.6vw,190px);font-weight:600;letter-spacing:.025em;line-height:1;margin-block:55px 30px;color:transparent;-webkit-text-stroke:1px var(--ob-line);text-align:center}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:24px;border-top:1px solid var(--ob-line)}.footer-bottom>*{margin:0;font-size:11px}.site-footer a:hover{color:var(--ob-accent)}

/* === responsive === */
 @media(min-width:1450px){.hero-title{font-size:144px}}@media(max-width:1100px){.header-inner{gap:16px}.main-nav .wp-block-navigation__container{gap:18px}.header-actions{gap:10px}.header-actions .wp-element-button{padding:13px}.story-grid{gap:40px}.ob-booking{gap:35px}.contact-grid{gap:50px}.ob-service-card{padding:20px}.service-photo{height:150px}.service-foot{align-items:start;flex-direction:column;gap:12px}}@media(max-width:900px){.header-actions .wp-block-buttons{display:none}.brand{font-size:21px}.ob-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-services .ob-service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.home-services .service-photo{height:130px}.home-services .ob-service-card{padding:18px}.home-services .ob-service-card h3{font-size:30px}.ob-booking{grid-template-columns:minmax(0,1.25fr) minmax(270px,1fr);gap:24px}.booking-summary{padding:24px}.testimonial-grid{gap:14px}.testimonial-grid .is-style-studio-card{padding:22px}.contact-grid{gap:40px}}@media(max-width:781px){.band{padding-block:64px}.header-inner{min-height:84px}.obsidian-home .header-inner{min-height:84px}.main-nav{order:3}.main-nav .wp-block-navigation__responsive-container-open{display:flex}.main-nav .wp-block-navigation__responsive-container:not(.is-menu-open){display:none}.main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{font-size:24px;gap:24px}.header-actions{margin-left:auto}.hero{min-height:760px;height:92svh;max-height:1000px;padding-top:146px;padding-bottom:80px}.hero-title{font-size:clamp(76px,12vw,110px)}.hero-photo img{object-position:68% center}.hero::before{background:linear-gradient(90deg,rgba(9,12,10,.8),rgba(9,12,10,.22)),linear-gradient(0deg,rgba(9,12,10,.85),transparent)}.hero-demo{left:24px;right:auto;font-size:11px;bottom:25px}.proof-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.proof-band{padding-block:24px}.proof-item{font-size:13px;padding-left:14px}.section-top{align-items:start;gap:25px;flex-direction:column;margin-bottom:32px}.section-note{max-width:100%}.section-note p{margin-bottom:10px}.story-grid{grid-template-columns:1fr;gap:35px}.story-image img,.about-story figure img,.work-interior figure img{height:400px}.testimonial-grid,.values-grid{grid-template-columns:1fr}.quote-text{margin-block:20px 28px}.cta-grid{grid-template-columns:1fr;gap:30px}.cta-side{justify-self:start;max-width:450px}.footer-top{grid-template-columns:1fr 1fr;gap:30px}.footer-position{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:12px}.page-intro{padding-block:64px 44px}.page-intro h1{font-size:clamp(64px,10vw,100px)}.intro-copy{font-size:16px}.ob-booking{grid-template-columns:1fr;gap:8px}.booking-band{padding-top:0}.booking-summary{position:static;margin-bottom:20px}.booking-fields fieldset{margin-bottom:36px}.contact-grid{grid-template-columns:1fr;gap:48px}.process-grid{grid-template-columns:1fr;gap:30px}.home-services .ob-service-grid,.ob-service-grid{grid-template-columns:1fr}.home-services .ob-service-card{padding:25px}.home-services .service-photo,.service-photo{height:230px}.service-foot{flex-direction:row;align-items:center}.comparison-stage{aspect-ratio:4/3}.compare-tag{font-size:11px;bottom:12px;padding:6px 8px}.tag-before{left:12px}.tag-after{right:12px}.ob-comparison figcaption{font-size:12px;flex-direction:column;gap:5px}.woocommerce-checkout #customer_details,.woocommerce-checkout #order_review_heading,.woocommerce-checkout #order_review{width:100%;float:none}.woocommerce-cart .cart-collaterals .cart_totals{width:100%;float:none}.woocommerce ul.order_details li{width:45%}.woocommerce .woocommerce-order-overview{gap:25px 10px}.wc-block-mini-cart__amount{display:none}.header-cart .wc-block-mini-cart__amount{display:none}}@media(max-width:420px){.hero-title{font-size:76px}.hero-index-wrap{display:none}.brand{font-size:20px}.brand-sub{font-size:10px}.hero .eyebrow{font-size:11px}.hero-copy{font-size:15px}.form-pair{grid-template-columns:1fr;gap:0}.option-content{padding:18px 14px 18px 42px;gap:10px}.option-content strong{font-size:15px}.option-content>span:last-child{font-size:17px}.service-option input{left:15px;top:21px}.booking-fields legend{font-size:29px}.footer-top{gap:20px}.footer-wordmark{font-size:12vw}.wc-block-mini-cart__button{padding:4px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.will-reveal{opacity:1;transform:none}}


/* Final layout corrections: remove inherited flow gaps in editorial bands and rows. */
.wp-block-post-content>.band,.wp-block-post-content>.hero{margin-block-start:0}
.hero>.hero-inner{margin-block-start:0}
.header-inner>*,.header-actions>*,.hero-bottom>*,.section-top>*,.story-grid>*,.testimonial-grid>*,.values-grid>*,.cta-grid>*,.contact-grid>*,.process-grid>*,.footer-top>*,.footer-bottom>*{margin-block-start:0}
.wp-element-button.wp-block-button__link:hover,.wp-element-button:hover{background:var(--ob-accent);color:var(--ob-bg)}
.is-style-quiet .wp-element-button:hover{background:transparent;color:var(--ob-accent)}
.ob-product-request{margin-block:24px}.ob-product-request p{font-size:14px;color:var(--ob-muted);margin-top:16px}
@media(max-width:420px){.hero-title{font-size:clamp(54px,17.4vw,72px)}.page-intro h1{font-size:clamp(52px,16vw,66px)}.booking-summary h2{font-size:36px}.ob-booking,.booking-fields,.booking-summary{min-width:0}.summary-total{gap:14px}.booking-summary .wp-element-button{font-size:12px;letter-spacing:.08em;gap:12px}.booking-fields legend{font-size:27px;gap:12px}}

/* Classic WooCommerce checkout: retain one full-width notes column and the theme field palette. */
.woocommerce .col2-set .col-2{float:none;clear:both;width:100%;padding-top:28px}
.woocommerce form.checkout .form-row textarea.input-text{background:var(--ob-panel);color:var(--ob-fg);border:1px solid var(--ob-line);border-radius:0;min-height:120px;padding:14px}
.woocommerce-checkout main .woocommerce,.woocommerce-cart main .woocommerce{max-width:none}
.woocommerce .select2-container--default .select2-selection--single{height:52px;padding:12px}
.woocommerce-checkout header .wp-block-site-title{font-size:24px;font-weight:600;letter-spacing:.2em}
.checkout-title{font-size:clamp(48px,6vw,78px);line-height:1;margin-block:36px 44px}

/* === OBSIDIAN refinement: readable type, editorial density and deliberate actions === */
body { font-size:18px; }
.eyebrow { font-size:12px; line-height:1.6; letter-spacing:.13em; }
.micro { font-size:13px; line-height:1.8; letter-spacing:.01em; }
.muted { line-height:1.75; }
.wp-element-button { min-height:54px; font-size:14px; letter-spacing:.065em; gap:24px; padding:17px 24px; }
.ob-arrow { width:22px; height:22px; flex:0 0 22px; transition:transform .25s ease; }
a:hover .ob-arrow, button:hover .ob-arrow { transform:translateX(4px); }
.wp-block-button__link .ob-arrow { vertical-align:middle; }
.is-style-quiet .wp-element-button { padding:13px 0; }
.band { padding-block:80px; }
.section-top { gap:36px; margin-bottom:36px; }
.section-note { max-width:370px; }
.section-note p { font-size:16px; }
.story-copy p { font-size:17px; }
.cta-side { max-width:400px; }
.cta-side p { font-size:17px; }
.cta-grid { grid-template-columns:1.4fr 1fr; gap:48px; }
.page-intro { padding-block:64px; border-bottom:1px solid var(--ob-line); }
.page-intro h1 { font-size:clamp(62px,7.3vw,108px); margin:20px 0 28px; }
.intro-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(280px,.85fr); align-items:center; gap:64px; }
.intro-grid > *, .intro-visual > *, .studio-facts > *, .booking-guide > * { margin-block-start:0; min-width:0; }
.intro-copy { font-size:18px; line-height:1.8; max-width:590px; }
.intro-visual { background:var(--ob-panel); border:1px solid var(--ob-line); }
.intro-photo { overflow:hidden; margin:0; }
.intro-photo img { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; filter:saturate(.65); }
.intro-visual-caption { padding:24px 26px 26px; }
.intro-visual-caption .eyebrow { margin-bottom:14px; }
.intro-visual-title { font-size:36px; line-height:1; margin:0 0 14px; }
.intro-visual-copy { margin:0; font-size:15px; color:var(--ob-muted); line-height:1.75; }
.hero { min-height:800px; max-height:980px; }
.hero-inner { justify-content:flex-start; }
.hero-title { margin-top:0; }
.hero-bottom { margin-top:auto; padding-top:40px; }
.hero-copy { font-size:17px; }
.hero-index { font-size:13px; }
.hero-demo { font-size:11px; letter-spacing:.1em; }
.proof-band { padding-block:26px; }
.proof-row .eyebrow { font-size:12px; }
.proof-item { font-size:14px; }
header.wp-block-template-part { position:sticky; top:0; z-index:60; }
.obsidian-home header.wp-block-template-part { position:fixed; top:0; }
.site-header { background:rgba(17,18,17,.94); backdrop-filter:blur(16px); }
.obsidian-home .site-header { background:rgba(17,18,17,.48); }
.ob-scrolled .site-header { background:rgba(17,18,17,.96); border-color:var(--ob-line); }
.admin-bar header.wp-block-template-part, .admin-bar.obsidian-home header.wp-block-template-part { top:var(--wp-admin--admin-bar--height,32px); }
.main-nav { font-size:13px; }
.main-nav .wp-block-navigation__container { gap:23px; }
.main-nav a { padding-block:8px; }
.main-nav a[aria-current="page"] { color:var(--ob-accent); text-decoration:underline; text-underline-offset:8px; }
.header-actions .wp-element-button { min-height:48px; font-size:12px; padding:13px 18px; gap:16px; }
.brand-sub { font-size:10px; letter-spacing:.18em; }
.ob-scroll-progress { position:fixed; z-index:100; top:0; left:0; width:100%; height:2px; background:var(--ob-accent); transform:scaleX(0); transform-origin:left; pointer-events:none; }
.admin-bar .ob-scroll-progress { top:var(--wp-admin--admin-bar--height,32px); }
.ob-service-card { padding:28px; background:var(--ob-bg); border-color:var(--ob-line); transition:border-color .3s,transform .3s; }
.ob-service-card:hover { border-color:var(--ob-muted); transform:translateY(-4px); }
.ob-service-card .eyebrow { font-size:12px; margin-bottom:20px; letter-spacing:.08em; }
.service-photo { height:210px; margin-bottom:26px; filter:saturate(.65); }
.ob-service-card h3 { font-size:38px; line-height:1.02; }
.ob-service-card > p { font-size:16px; line-height:1.75; margin-bottom:0; }
.service-includes { list-style:none; padding:0; margin:24px 0 0; font-size:14px; color:var(--ob-fg); line-height:1.6; }
.service-includes li { padding:9px 0 9px 20px; position:relative; border-bottom:1px solid color-mix(in srgb,var(--ob-line),transparent 35%); }
.service-includes li::before { content:""; position:absolute; left:0; top:18px; width:5px; height:5px; background:var(--ob-accent); }
.service-foot { display:grid; grid-template-columns:1fr; align-items:start; gap:16px; margin-top:25px; padding-top:22px; }
.service-foot > span { font-size:14px; }
.service-foot strong { font-size:40px; margin-left:4px; }
.service-foot a { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:14px 17px; min-height:52px; font-size:16px; font-weight:500; border:1px solid var(--ob-line); background:var(--ob-panel); white-space:normal; text-decoration:none; transition:background .2s,border-color .2s; }
.service-foot a:hover { color:var(--ob-fg); border-color:var(--ob-muted); background:color-mix(in srgb,var(--ob-panel),var(--ob-line) 30%); }
.service-foot a span { margin:0; }
.services-catalog .ob-service-grid { grid-template-columns:repeat(6,minmax(0,1fr)); }
.services-catalog .ob-service-card { grid-column:span 2; }
.services-catalog .ob-service-card:nth-child(n+4) { grid-column:span 3; }
.services-catalog .ob-service-card:nth-child(n+4) .service-photo { height:250px; }
.process-step p { font-size:16px; }
.work-context { display:grid; grid-template-columns:1fr 1fr; gap:12px 40px; align-items:end; margin-bottom:36px; }
.work-context .eyebrow { grid-column:1/-1; margin:0; }
.work-context h2 { font-size:60px; margin:0; }
.work-context .muted { font-size:17px; max-width:480px; margin:0; }
.comparison-stage { aspect-ratio:4/3; cursor:ew-resize; isolation:isolate; }
.has-paired-images .comparison-stage > img, .has-paired-images .comparison-before img { filter:none; }
.comparison-before { will-change:clip-path; }
.comparison-stage > img, .comparison-before img { user-select:none; -webkit-user-drag:none; pointer-events:none; }
.comparison-stage input[type=range] { touch-action:pan-y; opacity:0; z-index:5; }
.comparison-handle { z-index:3; }
.comparison-handle > span { width:60px; height:60px; border:1px solid var(--ob-accent); background:var(--ob-fg); color:var(--ob-bg); box-shadow:0 3px 20px rgba(0,0,0,.22); transition:transform .2s; }
.comparison-stage:hover .comparison-handle > span, .comparison-stage.is-dragging .comparison-handle > span { transform:scale(1.08); }
.comparison-legend { display:flex; justify-content:space-between; align-items:center; gap:16px; border-bottom:1px solid var(--ob-line); padding:15px 0; font-size:13px; text-transform:uppercase; letter-spacing:.08em; }
.comparison-legend span:nth-child(2) { color:var(--ob-muted); text-transform:none; letter-spacing:0; }
.ob-comparison figcaption { font-size:14px; line-height:1.8; padding-top:16px; }
.ob-comparison figcaption strong { font-weight:500; }
.has-paired-images + .micro { font-size:13px; max-width:900px; }
.studio-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border:1px solid var(--ob-line); }
.fact-cell { padding:30px 32px; border-right:1px solid var(--ob-line); }
.fact-cell:last-child { border-right:0; }
.fact-number { font-family:var(--wp--preset--font-family--barlow-condensed); font-size:72px; line-height:1; color:var(--ob-accent); margin-bottom:20px; }
.fact-cell .muted { font-size:16px; margin-bottom:0; }
.facts-band { padding-block:0 64px; }
.booking-guide { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; padding-bottom:34px; margin-bottom:48px; border-bottom:1px solid var(--ob-line); }
.guide-step { padding:22px 24px; background:var(--ob-panel); border:1px solid var(--ob-line); }
.guide-step .guide-title { font-size:18px; font-weight:600; margin-bottom:12px; }
.guide-step .muted { font-size:15px; margin-bottom:0; }
.booking-summary { padding:28px; }
.booking-summary > .field-help, .summary-note { font-size:13px; letter-spacing:0; }
.summary-lines { font-size:15px; }
.summary-total { font-size:16px; }
.consent { font-size:14px!important; }
.ob-booking label:not(.service-option) { font-size:15px; }
.ob-booking input:not([type=radio]):not([type=checkbox]), .ob-booking select, .ob-booking textarea { font-size:16px; }
.option-content strong { font-size:16px; }
.option-content small { font-size:13px; }
.field-help { font-size:15px; }
.optional { font-size:13px; }
.booking-fields legend > span { font-size:13px; }
.booking-extras strong { font-size:15px; }
.contact-form-wrap .field-help { font-size:16px; }
.contact-form-wrap label { font-size:15px!important; }
.contact-info > p { font-size:17px; }
.contact-info > .eyebrow { font-size:12px; }
.contact-note { padding:24px; border:1px solid var(--ob-line); margin-top:34px; }
.contact-note h2 { font-size:34px; margin:14px 0; }
.contact-note .muted { font-size:16px; margin-bottom:0; }
.footer-links > p:last-child, .footer-info > p { font-size:16px; }
.footer-info .eyebrow,.footer-links .eyebrow { font-size:12px; }
.footer-position > p { font-size:16px; }
.footer-bottom > * { font-size:12px; }
.footer-position h2 { font-size:52px; }
.woocommerce { font-size:16px; }
.woocommerce .variation { font-size:14px; }
.woocommerce form .form-row label { font-size:15px; }
.woocommerce form .input-text, .woocommerce form select, .select2-selection__rendered { font-size:16px; }
.woocommerce a.button,.woocommerce button.button { font-size:13px; line-height:1.5; }
.woocommerce-privacy-policy-text { font-size:14px; }
.commerce-demo { font-size:12px; line-height:1.8; }

/* Every page gets a deliberate entrance; scroll motion is progressive enhancement. */
@view-transition { navigation:auto; }
::view-transition-old(root) { animation:ob-document-out .2s ease both; }
::view-transition-new(root) { animation:ob-document-in .45s cubic-bezier(.2,.7,.2,1) both; }
@keyframes ob-document-out { to { opacity:0; transform:translateY(-10px); } }
@keyframes ob-document-in { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:none; } }
@keyframes ob-intro-in { from { opacity:0; transform:translateY(22px); } to { opacity:1; transform:none; } }
@keyframes ob-image-in { from { opacity:0; transform:translateY(16px) scale(.985); } to { opacity:1; transform:none; } }
.ob-motion .intro-heading > *, .ob-motion .hero-inner > .eyebrow, .ob-motion .hero-title, .ob-motion .hero-bottom { animation:ob-intro-in .7s cubic-bezier(.2,.7,.2,1) both; }
.ob-motion .intro-heading > :nth-child(2), .ob-motion .hero-title { animation-delay:.1s; }
.ob-motion .intro-heading > :nth-child(3), .ob-motion .hero-bottom { animation-delay:.2s; }
.ob-motion .intro-visual { animation:ob-image-in .85s cubic-bezier(.2,.7,.2,1) .18s both; }
.ob-reveal { opacity:0; transform:translate3d(0,24px,0); transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1); transition-delay:var(--reveal-delay,0ms); }
.ob-reveal.ob-inview { opacity:1; transform:none; }
.ob-leaving main { opacity:0; transform:translateY(-10px); transition:opacity .15s,transform .15s; }

@media (max-width:1120px) {
  .main-nav { order:3; }
  .main-nav .wp-block-navigation__responsive-container-open { display:flex; }
  .main-nav .wp-block-navigation__responsive-container:not(.is-menu-open) { display:none; }
  .main-nav .wp-block-navigation__responsive-container.is-menu-open { padding:36px; }
  .main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { font-size:25px; gap:20px; }
  .header-actions { margin-left:auto; }
  .intro-grid { gap:36px; }
  .intro-visual-caption { padding:20px; }
  .intro-visual-title { font-size:32px; }
  .intro-visual-copy { font-size:15px; }
  .contact-grid { gap:54px; }
  .ob-service-card { padding:24px; }
}
@media (max-width:900px) {
  .intro-grid { grid-template-columns:1fr; gap:34px; }
  .intro-visual { display:grid; grid-template-columns:1fr 1fr; align-items:center; }
  .intro-photo img { aspect-ratio:4/3; height:100%; min-height:230px; }
  .intro-visual-caption { padding:28px; }
  .intro-visual-title { font-size:38px; }
  .page-intro h1 { font-size:clamp(68px,9vw,100px); }
  .home-services .ob-service-grid,.services-catalog .ob-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-services .ob-service-card:last-child { grid-column:1/-1; }
  .services-catalog .ob-service-card { grid-column:auto; }
  .services-catalog .ob-service-card:nth-child(n+4) { grid-column:auto; }
  .services-catalog .ob-service-card:last-child { grid-column:1/-1; }
  .home-services .service-photo { height:210px; }
  .home-services .ob-service-card h3 { font-size:38px; }
  .ob-booking { grid-template-columns:minmax(0,1.2fr) minmax(280px,1fr); }
  .booking-summary { padding:22px; }
  .summary-lines { font-size:14px; }
  .booking-guide { gap:14px; }
  .guide-step { padding:20px; }
  .studio-facts { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .fact-cell { padding:24px 20px; }
  .fact-cell .eyebrow { font-size:11px; letter-spacing:.07em; }
}
@media (max-width:781px) {
  body { font-size:17px; }
  .band { padding-block:58px; }
  .page-intro { padding-block:50px; }
  .intro-copy { font-size:17px; }
  .intro-visual-title { font-size:34px; }
  .hero { min-height:760px; height:94svh; padding-top:140px; padding-bottom:80px; }
  .hero-copy { font-size:16px; }
  .hero-demo { font-size:11px; }
  .hero .eyebrow { font-size:11px; }
  .hero-index { font-size:12px; }
  .proof-band { padding-block:24px; }
  .proof-row { gap:20px; }
  .proof-item { font-size:13px; }
  .section-top { gap:18px; }
  .section-note p { font-size:16px; }
  .story-copy p { font-size:17px; }
  .cta-grid { grid-template-columns:1fr; gap:28px; }
  .cta-side { max-width:100%; }
  .cta-side p { font-size:17px; }
  .services-catalog .ob-service-grid,.home-services .ob-service-grid { grid-template-columns:1fr; }
  .home-services .ob-service-card:last-child,.services-catalog .ob-service-card:last-child { grid-column:auto; }
  .ob-service-card { padding:24px; }
  .home-services .service-photo,.service-photo,.services-catalog .ob-service-card:nth-child(n+4) .service-photo { height:auto; aspect-ratio:4/3; }
  .service-foot { display:grid; grid-template-columns:1fr; align-items:stretch; }
  .service-foot a { font-size:16px; }
  .work-context { grid-template-columns:1fr; gap:18px; }
  .work-context h2 { font-size:48px; }
  .work-context .muted { font-size:16px; }
  .comparison-stage { aspect-ratio:4/3; }
  .comparison-handle > span { width:50px; height:50px; }
  .comparison-legend { font-size:12px; padding:13px 0; gap:10px; }
  .ob-comparison figcaption { font-size:14px; gap:4px; }
  .ob-booking { grid-template-columns:1fr; gap:24px; }
  .booking-summary { padding:26px; }
  .booking-summary h2 { font-size:40px; }
  .booking-summary .wp-element-button { font-size:14px; gap:16px; }
  .booking-summary > .field-help,.summary-note { font-size:13px; }
  .booking-guide { grid-template-columns:1fr; gap:12px; margin-bottom:36px; }
  .guide-step { padding:20px 22px; }
  .guide-step .eyebrow { margin-bottom:10px; }
  .guide-step .guide-title { margin-bottom:8px; }
  .studio-facts { grid-template-columns:1fr; }
  .fact-cell { display:grid; grid-template-columns:65px 1fr; column-gap:24px; padding:26px; border-right:0; border-bottom:1px solid var(--ob-line); }
  .fact-cell:last-child { border-bottom:0; }
  .fact-number { font-size:64px; grid-row:span 2; margin:0; }
  .fact-cell .eyebrow { margin:0 0 10px; font-size:12px; }
  .fact-cell .muted { margin:0; }
  .facts-band { padding-block:0 50px; }
  .contact-grid { gap:36px; }
  .contact-form-wrap h2 { font-size:44px; }
  .contact-form-wrap .field-help { font-size:16px; }
  .contact-info > p { font-size:16px; }
  .footer-top { grid-template-columns:1fr; gap:32px; }
  .footer-position { grid-column:auto; }
  .footer-info > p,.footer-links > p:last-child { font-size:16px; }
  .footer-wordmark { font-size:14vw; }
  .footer-bottom > * { font-size:12px; }
  .woocommerce .woocommerce-order-overview { gap:24px; }
  .woocommerce ul.order_details li { width:100%; }
  .woocommerce .variation { font-size:13px; }
  .woocommerce table.shop_table td { padding:16px 12px; }
}
@media (max-width:520px) {
  .intro-visual { grid-template-columns:1fr; }
  .intro-photo img { aspect-ratio:16/10; min-height:0; }
  .intro-visual-caption { padding:24px; }
  .intro-visual-title { font-size:36px; }
  .intro-grid { gap:28px; }
  .page-intro h1 { font-size:clamp(53px,13.8vw,72px); }
  .hero-title { font-size:clamp(54px,17.4vw,88px); }
  .hero-index-wrap { display:none; }
  .hero .eyebrow { letter-spacing:.08em; }
  .brand-sub { display:none; }
  .brand { font-size:20px; letter-spacing:.16em; }
  .header-inner { gap:12px; }
  .header-actions { gap:8px; }
  .wp-element-button { font-size:14px; padding:16px 22px; gap:18px; }
  .form-pair { grid-template-columns:1fr; gap:0; }
  .option-content { padding:18px 14px 18px 42px; }
  .option-content strong { font-size:16px; }
  .option-content small { font-size:13px; }
  .option-content > span:last-child { font-size:17px; }
  .booking-fields legend { font-size:29px; gap:12px; }
  .booking-fields legend > span { font-size:12px; }
  .booking-summary { padding:22px; }
  .summary-lines { font-size:14px; }
  .summary-total { gap:16px; }
  .booking-extras label { gap:10px; }
  .booking-extras label > span { font-size:15px; }
  .booking-extras strong { font-size:14px; }
  .footer-wordmark { font-size:14vw; }
}
@media (max-width:360px) {
  .brand { font-size:18px; }
  .booking-summary .wp-element-button { padding-inline:14px; gap:10px; }
  .option-content strong { font-size:15px; }
  .option-content > span:last-child { font-size:16px; }
  .ob-service-card { padding:20px; }
  .fact-cell { grid-template-columns:48px 1fr; gap:16px; padding:20px; }
}
@media (prefers-reduced-motion:reduce) {
  ::view-transition-old(root),::view-transition-new(root) { animation:none!important; }
  .ob-reveal,.ob-leaving main { opacity:1; transform:none; transition:none; }
  .ob-motion .intro-heading > *,.ob-motion .intro-visual,.ob-motion .hero-inner > * { animation:none!important; }
  .ob-scroll-progress { transition:none; }
}

/* Keep the mobile booking prelude compact so visitors reach the configuration quickly. */
@media (max-width:781px) {
  .obsidian-booking-page .booking-guide { gap:0; border:1px solid var(--ob-line); padding:0; }
  .obsidian-booking-page .guide-step { display:grid; grid-template-columns:94px 1fr; gap:5px 16px; padding:17px 20px; border:0; border-bottom:1px solid var(--ob-line); background:transparent; }
  .obsidian-booking-page .guide-step:last-child { border-bottom:0; }
  .obsidian-booking-page .guide-step .eyebrow { grid-row:span 2; margin:0; font-size:11px; letter-spacing:.06em; }
  .obsidian-booking-page .guide-step .guide-title { margin:0; font-size:16px; }
  .obsidian-booking-page .guide-step .muted { margin:0; font-size:14px; line-height:1.6; }
}
@media (max-width:520px) {
  .obsidian-booking-page .intro-visual { grid-template-columns:100px 1fr; }
  .obsidian-booking-page .intro-photo { height:100%; }
  .obsidian-booking-page .intro-photo img { height:100%; min-height:140px; aspect-ratio:auto; }
  .obsidian-booking-page .intro-visual-caption { padding:17px; }
  .obsidian-booking-page .intro-visual-caption .eyebrow { font-size:11px; margin-bottom:10px; }
  .obsidian-booking-page .intro-visual-title { font-size:27px; margin-bottom:0; }
  .obsidian-booking-page .intro-visual-copy { display:none; }
}
@media (max-width:520px) {
  .obsidian-booking-page .guide-step .muted { display:none; }
}

/* === Refined controls and surfaces — November 2026 === */
/* controls: trigger and dropdown */
.ob-picker { position:relative; min-width:0; margin:8px 0 20px; }
.ob-picker .ob-picker-native { position:absolute!important; width:1px!important; height:1px!important; min-height:0!important; padding:0!important; margin:0!important; border:0!important; clip-path:inset(50%); overflow:hidden; opacity:0; pointer-events:none; }
.ob-picker-trigger { display:flex; justify-content:space-between; align-items:center; width:100%; min-height:58px; gap:20px; padding:16px 22px; border:0; border-radius:2px; background:var(--ob-panel); color:var(--ob-fg); font:inherit; font-size:16px; line-height:1.5; text-align:left; cursor:pointer; transition:background .2s,box-shadow .2s; }
.ob-picker-value { min-width:0; }
.ob-picker-trigger svg { width:20px; height:20px; flex:0 0 20px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; transition:transform .2s; }
.ob-picker-trigger[aria-haspopup=listbox][aria-expanded=true] svg { transform:rotate(180deg); }
.ob-picker-trigger.is-placeholder .ob-picker-value { color:var(--ob-muted); }
.ob-picker-trigger:hover, .ob-picker.is-open .ob-picker-trigger { background:color-mix(in srgb,var(--ob-panel),var(--ob-accent) 10%); }
.ob-picker-panel { position:fixed; z-index:10000; padding:8px; overflow:auto; overscroll-behavior:contain; background:color-mix(in srgb,var(--ob-panel),var(--ob-line) 40%); color:var(--ob-fg); box-shadow:0 16px 50px rgba(0,0,0,.45); border-radius:4px; font-family:var(--wp--preset--font-family--manrope); font-size:16px; line-height:1.5; animation:ob-picker-in .16s ease-out; }
.ob-picker-panel[hidden] { display:none!important; }
.ob-picker-option { position:relative; padding:14px 40px 14px 16px; cursor:pointer; border-radius:2px; }
.ob-picker-option.is-active { background:color-mix(in srgb,var(--ob-accent),transparent 88%); }
.ob-picker-option[aria-selected=true] { color:var(--ob-accent); font-weight:600; background:color-mix(in srgb,var(--ob-accent),transparent 91%); }
.ob-picker-option[aria-selected=true]::after { content:'✓'; position:absolute; right:16px; top:50%; transform:translateY(-50%); }
.ob-picker-option[aria-disabled=true] { opacity:.4; cursor:default; }
.ob-picker-error { display:block; font-size:14px; line-height:1.6; margin-top:10px; color:var(--ob-accent); }
.ob-picker-error[hidden] { display:none; }
.ob-picker.is-invalid .ob-picker-trigger { box-shadow:inset 0 -2px var(--ob-accent); }
@keyframes ob-picker-in { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:none; } }

/* controls: calendar */
.ob-calendar { padding:18px; }
.ob-calendar-heading { display:grid; grid-template-columns:38px 1fr 38px; align-items:center; gap:8px; margin-bottom:16px; }
.ob-calendar-title { font-size:16px; font-weight:600; text-align:center; }
.ob-calendar-nav, .ob-calendar-day, .ob-calendar-clear, .ob-calendar-close { font:inherit; color:inherit; border:0; border-radius:2px; cursor:pointer; background:transparent; }
.ob-calendar-nav { width:38px; height:38px; background:color-mix(in srgb,var(--ob-accent),transparent 93%); font-size:26px; line-height:1; }
.ob-calendar-weekdays, .ob-calendar-row { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:2px; }
.ob-calendar-weekdays { text-align:center; color:var(--ob-muted); font-size:12px; margin-bottom:8px; }
.ob-calendar-day { height:40px; padding:0; width:100%; font-size:15px; font-weight:500; }
.ob-calendar-day:hover:not(:disabled), .ob-calendar-nav:hover:not(:disabled) { background:color-mix(in srgb,var(--ob-accent),transparent 83%); }
.ob-calendar-day[aria-selected=true] { background:var(--ob-accent); color:var(--ob-bg); font-weight:700; }
.ob-calendar-day[aria-current=date]:not([aria-selected=true]) { text-decoration:underline; text-underline-offset:5px; }
.ob-calendar :disabled { opacity:.25; cursor:default; }
.ob-calendar-hint { font-size:12px; line-height:1.7; color:var(--ob-muted); margin:14px 3px; }
.ob-calendar-footer { display:flex; justify-content:space-between; gap:16px; padding-top:12px; border-top:1px solid var(--ob-line); }
.ob-calendar-clear, .ob-calendar-close { min-height:32px; padding:4px; font-size:13px; }
.ob-calendar-clear:hover, .ob-calendar-close:hover { color:var(--ob-accent); text-decoration:underline; text-underline-offset:4px; }

/* interaction: selection and keyboard focus */
/* Pointer focus is quiet. Keyboard focus stays visible without a rectangular ring. */
body :is(a,button,input,select,textarea,summary):focus { outline:none; }
body :is(a,button,summary):focus-visible { outline:none; text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:6px; }
body button:focus-visible { filter:brightness(1.14); }
body .wp-element-button:focus-visible { box-shadow:inset 0 -3px color-mix(in srgb,currentColor,transparent 40%); }
body .wp-block-navigation__responsive-container-open:focus-visible, body .wp-block-navigation__responsive-container-close:focus-visible, body .wc-block-mini-cart__button:focus-visible { background:color-mix(in srgb,var(--ob-accent),transparent 75%); border-radius:3px; }
body .comparison-stage:focus-within { outline:none; }
body .comparison-stage input:focus { outline:none; }
.comparison-stage:has(input:focus-visible) .comparison-handle > span { background:var(--ob-accent); transform:scale(1.2); box-shadow:0 4px 28px rgba(0,0,0,.5); }
.comparison-handle > span { border:0; }
.ob-booking .option-content { border:0; border-radius:2px; background:color-mix(in srgb,var(--ob-panel),transparent 45%); transition:background .2s; }
.service-option:hover .option-content { background:var(--ob-panel); }
.service-option input:checked + .option-content { border:0; background:color-mix(in srgb,var(--ob-panel),var(--ob-accent) 14%); }
.service-option input:checked + .option-content strong { color:var(--ob-accent); }
.service-option input:focus-visible + .option-content strong { text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:5px; }
.ob-booking :is(input[type=radio],input[type=checkbox]), .woocommerce input[type=checkbox] { appearance:none; -webkit-appearance:none; background:var(--ob-line); border:0; width:18px; height:18px; min-height:18px; display:inline-grid; place-items:center; cursor:pointer; color:var(--ob-bg); vertical-align:middle; }
.ob-booking input[type=radio] { border-radius:50%; }
.ob-booking :is(input[type=radio],input[type=checkbox]):checked, .woocommerce input[type=checkbox]:checked { background:var(--ob-accent); }
.ob-booking :is(input[type=radio],input[type=checkbox]):checked::after, .woocommerce input[type=checkbox]:checked::after { content:'✓'; font:700 13px/1 sans-serif; }
.ob-booking :is(input[type=radio],input[type=checkbox]):focus-visible, .woocommerce input[type=checkbox]:focus-visible { box-shadow:0 0 0 4px color-mix(in srgb,var(--ob-accent),transparent 75%); }
.booking-extras label { border-bottom:0; padding:18px 14px; margin-top:3px; transition:background .2s; }
.booking-extras label:hover { background:var(--ob-panel); }
.booking-extras label:has(input:checked) { background:color-mix(in srgb,var(--ob-panel),var(--ob-accent) 10%); }
.booking-extras label:has(input:focus-visible) > span, .consent:has(input:focus-visible) > span { text-decoration:underline; text-underline-offset:4px; }
.ob-booking input:not([type=radio]):not([type=checkbox]):not(.ob-picker-native), .ob-booking textarea, .contact-form-wrap input, .contact-form-wrap textarea, .woocommerce form .input-text { border:0!important; border-radius:2px; transition:background .2s,box-shadow .2s; }
.ob-booking input:not([type=radio]):not([type=checkbox]):not(.ob-picker-native):focus, .ob-booking textarea:focus, .contact-form-wrap input:focus, .contact-form-wrap textarea:focus, .woocommerce form .input-text:focus, .ob-picker-trigger:focus-visible { box-shadow:inset 0 -2px var(--ob-accent)!important; background:color-mix(in srgb,var(--ob-panel),var(--ob-accent) 8%)!important; }
.select2-container--default .select2-selection--single { border:0!important; border-radius:2px!important; padding-right:38px!important; }
.select2-container--default .select2-selection--single .select2-selection__arrow { right:18px; height:100%; }
.select2-container--default.select2-container--focus .select2-selection--single { box-shadow:inset 0 -2px var(--ob-accent); }
.select2-dropdown { border:0!important; padding:8px; box-shadow:0 16px 45px rgba(0,0,0,.45); }
.select2-container--default .select2-results__option--highlighted[aria-selected] { background:color-mix(in srgb,var(--ob-panel),var(--ob-accent) 18%); color:var(--ob-fg); }

/* surfaces: quieter framing */
.intro-visual, .is-style-studio-card, .booking-summary, .contact-note, .guide-step, .studio-facts, .ob-service-card { border:0; }
.intro-visual { box-shadow:0 18px 50px rgba(0,0,0,.15); }
.ob-service-card { background:var(--ob-bg); box-shadow:0 12px 30px rgba(0,0,0,.1); transition:transform .3s,box-shadow .3s; }
.ob-service-card:hover { border:0; box-shadow:0 20px 45px rgba(0,0,0,.22); }
.ob-service-card .service-photo { width:calc(100% + 48px); max-width:none; margin-left:-24px; height:250px; margin-bottom:24px; }
.ob-service-card > .eyebrow { padding-bottom:4px; }
.service-foot a { border:0; background:color-mix(in srgb,var(--ob-panel),var(--ob-accent) 6%); padding-inline:22px; }
.service-foot a:hover { border:0; background:color-mix(in srgb,var(--ob-panel),var(--ob-accent) 14%); }
.is-style-studio-card { background:color-mix(in srgb,var(--ob-panel),var(--ob-bg) 28%); }
.values-grid .is-style-studio-card { border-top:2px solid color-mix(in srgb,var(--ob-accent),transparent 68%); }
.studio-facts { background:var(--ob-panel); }
.fact-cell { border-right:0; }
.booking-summary { background:color-mix(in srgb,var(--ob-panel),var(--ob-accent) 5%); box-shadow:0 18px 45px rgba(0,0,0,.14); }
.guide-step { background:color-mix(in srgb,var(--ob-panel),transparent 25%); }
.contact-note { background:color-mix(in srgb,var(--ob-panel),var(--ob-bg) 35%); }
@media(min-width:1200px) { .ob-service-card .service-photo { width:calc(100% + 56px); margin-left:-28px; height:270px; } }
@media(max-width:781px) {
  .ob-service-card .service-photo, .home-services .ob-service-card .service-photo { width:calc(100% + 50px); max-width:none; margin-left:-25px; height:260px; }
  .obsidian-booking-page .booking-guide { border:0; background:var(--ob-panel); }
  .fact-cell { border-bottom:0; }
}
@media(max-width:380px) { .ob-picker-trigger { padding-inline:16px; font-size:15px; } }


/* In-copy links remain identifiable without relying on colour. */
.contact-form-wrap .micro a, main p:not(.brand):not(.brand-sub):not(.eyebrow) > a:not(.wp-element-button) { text-decoration:underline; text-underline-offset:3px; }
.ob-booking :is(input[type=radio],input[type=checkbox]), .woocommerce input[type=checkbox] { background:color-mix(in srgb,var(--ob-line),var(--ob-accent) 40%); }
.ob-booking :is(input[type=radio],input[type=checkbox]):checked, .woocommerce input[type=checkbox]:checked { background:var(--ob-accent); }
/* A closed WooCommerce drawer must not leave off-screen focus stops. */
.wc-block-mini-cart__drawer[aria-hidden="true"] { visibility:hidden; pointer-events:none; }
@media (min-width:782px) and (max-width:900px) {
  .home-services .ob-service-card .service-photo { width:calc(100% + 36px); margin-left:-18px; }
}

/* === Distinct inner-page compositions === */
/* editorial: Services opening */
.services-opening { padding-block:64px 60px; }
.services-heading { display:grid; grid-template-columns:1.4fr 1fr; gap:56px; align-items:end; margin-bottom:40px; }
.services-heading h1 { font-size:clamp(64px,7.5vw,110px); line-height:.94; margin:18px 0 0; }
.services-heading-title > .eyebrow { margin:0; }
.services-lead { max-width:390px; justify-self:end; font-size:18px; line-height:1.8; color:var(--ob-muted); margin:0; }
.services-feature { position:relative; isolation:isolate; min-height:400px; display:flex; align-items:end; padding:36px 40px; overflow:hidden; }
.services-feature-photo { position:absolute; inset:0; margin:0!important; max-width:none!important; width:100%; height:100%; z-index:-2; }
.services-feature-photo img { width:100%; height:100%; object-fit:cover; object-position:center 55%; filter:brightness(.78); }
.services-feature::before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(0deg,rgba(9,12,10,.9),rgba(9,12,10,.12) 65%); }
.services-feature-caption { display:flex; align-items:end; justify-content:space-between; width:100%; gap:40px; }
.services-feature-title h2 { font-size:clamp(36px,4vw,54px); margin:10px 0 0; }
.services-feature-title .eyebrow { margin:0; color:var(--ob-fg); }
.services-feature-caption > * { margin-block:0; }
.services-feature-caption .wp-element-button { padding:16px 22px; font-size:13px; gap:18px; }

/* editorial: About origin */
.about-opening { padding-block:70px 80px; }
.about-opening h1 { font-size:clamp(76px,9.5vw,138px); line-height:.9; max-width:1000px; margin:22px 0 50px; }
.about-origin-grid { display:grid; grid-template-columns:.85fr 1.2fr; gap:72px; align-items:start; }
.origin-copy { padding-top:10px; }
.origin-lead { font-size:21px; line-height:1.8; color:var(--ob-fg); }
.origin-copy .muted { font-size:17px; line-height:1.9; }
.origin-copy .origin-manifesto { font-family:var(--wp--preset--font-family--barlow-condensed); font-size:38px; line-height:1.1; text-transform:uppercase; color:var(--ob-accent); margin-block:38px 28px; }
.origin-photograph { margin:0; }
.origin-image { margin:0!important; }
.origin-image img { width:100%; height:550px; object-fit:cover; object-position:55% center; filter:saturate(.35); }
.origin-photograph .micro { margin-top:14px; font-size:12px; }
.about-opening + .facts-band { padding-top:0; }

/* editorial: direct Contact */
.contact-direct { padding-block:64px 88px; }
.contact-heading { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:end; margin-bottom:58px; }
.contact-heading h1 { font-size:clamp(72px,8vw,116px); line-height:.91; margin:18px 0 0; }
.contact-heading .eyebrow { margin:0; }
.contact-introduction .intro-copy { margin-bottom:16px; font-size:18px; line-height:1.8; }
.contact-introduction .micro { margin:0; }
.contact-direct .contact-grid { gap:64px; grid-template-columns:.85fr 1.15fr; align-items:start; }
.contact-direct .contact-info { padding-top:12px; }
.contact-direct .contact-info h2 { font-size:40px; margin:12px 0 24px; }
.contact-direct .contact-info > .eyebrow { margin-bottom:10px; }
.contact-direct .contact-info > p:not(.eyebrow) { font-size:16px; }
.contact-direct .contact-form-wrap { padding:30px 34px; background:var(--ob-bg); }
.contact-direct .contact-form-wrap h2 { font-size:36px; margin:0 0 14px; }
.contact-direct .contact-form-wrap .field-help { font-size:15px; line-height:1.7; }
.contact-direct .contact-form-wrap input, .contact-direct .contact-form-wrap textarea { background:var(--ob-panel)!important; }

/* editorial: compact service catalog */
.services-catalog .is-style-editorial-catalog { display:grid; grid-template-columns:minmax(0,1fr); gap:24px; }
.services-catalog .ob-catalog-item { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.25fr); grid-column:auto; padding:0; gap:0; align-items:stretch; }
.catalog-photograph { position:relative; min-height:280px; overflow:hidden; }
.catalog-photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:saturate(.55); }
.catalog-copy { min-width:0; padding:28px 32px; }
.catalog-copy > .eyebrow { display:block; font-size:12px; padding:0; line-height:1.5; margin-bottom:12px; }
.ob-catalog-item .catalog-copy > h3 { font-size:42px; line-height:1; min-height:0; margin:0 0 12px; }
.catalog-copy > .catalog-teaser { font-size:16px; line-height:1.7; margin:0 0 12px; min-height:0; color:var(--ob-muted); }
.catalog-details { margin:0 0 18px; }
.catalog-details summary { display:flex; justify-content:space-between; align-items:center; min-height:40px; font-size:14px; font-weight:500; cursor:pointer; list-style:none; color:var(--ob-accent); }
.catalog-details summary::-webkit-details-marker { display:none; }
.catalog-details summary > span { font-size:24px; line-height:1; transition:transform .2s; }
.catalog-details[open] summary > span { transform:rotate(45deg); }
.catalog-detail-body { padding:12px 0 16px; }
.catalog-detail-body p { font-size:16px; line-height:1.8; color:var(--ob-muted); margin:0 0 16px; }
.catalog-detail-body .service-includes { margin:0; font-size:14px; }
.catalog-detail-body .service-includes li { padding-block:6px; }
.catalog-action { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-top:18px; border-top:1px solid var(--ob-line); }
.catalog-price { font-size:13px; white-space:nowrap; }
.catalog-price strong { font-family:var(--wp--preset--font-family--barlow-condensed); font-size:38px; font-weight:500; padding-left:5px; }
.catalog-action .wp-element-button { min-height:48px; padding:13px 20px; font-size:12px; letter-spacing:.08em; gap:18px; }

/* editorial: responsive */
@media(max-width:1100px) {
 .services-heading { gap:40px; }
 .services-feature { min-height:360px; }
 .about-origin-grid { gap:44px; }
 .origin-lead { font-size:19px; }
 .origin-image img { height:570px; }
 .contact-heading, .contact-direct .contact-grid { gap:40px; }
 .contact-direct .contact-form-wrap { padding:28px; }
 .catalog-copy { padding:24px 28px; }
 .ob-catalog-item .catalog-copy > h3 { font-size:38px; }
}
@media(max-width:781px) {
 .services-opening { padding-block:48px 40px; }
 .services-heading, .contact-heading { grid-template-columns:1fr; gap:22px; margin-bottom:30px; }
 .services-heading h1 { font-size:clamp(58px,10vw,76px); }
 .services-lead { font-size:17px; justify-self:start; max-width:550px; }
 .services-feature { min-height:350px; padding:24px; }
 .services-feature-caption { flex-direction:column; align-items:start; gap:22px; }
 .services-feature-caption .wp-element-button { padding:14px 18px; font-size:12px; }
 .services-feature-title h2 { font-size:38px; }
 .about-opening { padding-block:48px 56px; }
 .about-opening h1 { font-size:clamp(68px,12vw,94px); margin-bottom:34px; }
 .about-origin-grid { grid-template-columns:1fr; gap:28px; }
 .origin-copy { padding:0; }
 .origin-lead { font-size:19px; }
 .origin-copy .origin-manifesto { font-size:34px; margin-block:28px; }
 .origin-image img { height:380px; }
 .contact-direct { padding-block:48px 56px; }
 .contact-heading h1 { font-size:76px; }
 .contact-introduction .intro-copy { font-size:17px; }
 .contact-direct .contact-grid { grid-template-columns:1fr; gap:40px; }
 .contact-direct .contact-form-wrap { order:1; padding:26px 24px; }
 .contact-direct .contact-info { order:2; padding-top:0; }
 .services-catalog .ob-catalog-item { grid-template-columns:1fr; }
 .catalog-photograph { min-height:230px; }
 .catalog-copy { padding:24px; }
 .ob-catalog-item .catalog-copy > h3 { font-size:36px; }
 .catalog-action { gap:12px; }
}
@media(max-width:380px) {
 .services-heading h1 { font-size:54px; }
 .services-feature { min-height:320px; padding:20px; }
 .services-feature-title h2 { font-size:33px; }
 .contact-direct .contact-form-wrap { padding:22px 18px; }
 .contact-heading h1 { font-size:68px; }
 .catalog-copy { padding:22px 20px; }
 .catalog-action .wp-element-button { padding-inline:14px; gap:10px; }
}

/* Editorial rows must override the legacy three-column nth-child spans. */
.services-catalog .is-style-editorial-catalog .ob-catalog-item:nth-child(n) { grid-column:1 / -1; }

/* === Interaction and storefront finish === */
/* selection: filled treatment rows */
.ob-booking .service-option input[type=radio] { position:absolute; inset:0; width:100%; height:100%; min-height:0; margin:0; opacity:0; z-index:2; cursor:pointer; border:0; border-radius:0; box-shadow:none; }
.ob-booking .service-option input[type=radio]::before, .ob-booking .service-option input[type=radio]::after { content:none!important; display:none!important; }
.ob-booking .service-option .option-content { position:relative; padding:22px 24px; align-items:center; transition:background .22s,color .22s; }
.service-option .option-content::before { content:''; position:absolute; width:3px; left:0; top:18px; bottom:18px; background:var(--ob-accent); opacity:0; transform:scaleY(.35); transition:opacity .2s,transform .22s; }
.service-option input:checked + .option-content::before { opacity:1; transform:scaleY(1); }
.service-option input:checked + .option-content { background:color-mix(in srgb,var(--ob-panel),var(--ob-accent) 14%); }
.ob-booking input[type=checkbox]::before, .woocommerce input[type=checkbox]::before { content:none!important; display:none!important; }
.ob-booking input[type=checkbox]::after, .woocommerce input[type=checkbox]::after { content:none; }
.ob-booking input[type=checkbox]:checked::after, .woocommerce input[type=checkbox]:checked::after { content:''!important; display:block; width:5px; height:9px; border:solid var(--ob-bg); border-width:0 2px 2px 0; transform:translateY(-1px) rotate(45deg); }

/* navigation: tabs and active section */
.wp-site-blocks > .wp-block-template-part:has(.site-header) { position:sticky; top:0; z-index:60; }
.obsidian-home .wp-site-blocks > .wp-block-template-part:has(.site-header) { position:fixed; left:0; right:0; }
.admin-bar .wp-site-blocks > .wp-block-template-part:has(.site-header) { top:var(--wp-admin--admin-bar--height,32px); }
.main-nav .wp-block-navigation__container { gap:6px; }
.main-nav .wp-block-navigation-item__content { padding:8px 12px; min-height:40px; display:flex; align-items:center; border-radius:3px; background:color-mix(in srgb,var(--ob-panel),transparent 35%); font-size:14px; letter-spacing:0; text-decoration:none; transition:background .2s,color .2s,transform .2s; }
.main-nav .wp-block-navigation-item__content:hover { background:color-mix(in srgb,var(--ob-panel),var(--ob-accent) 15%); color:var(--ob-accent); transform:translateY(-1px); }
.main-nav .wp-block-navigation-item__content[aria-current] { color:var(--ob-bg); background:var(--ob-accent); text-decoration:none; }
.main-nav .wp-block-navigation-item__content:focus-visible { text-decoration:underline; text-underline-offset:4px; }
.main-nav .is-menu-open .wp-block-navigation-item__content { font-size:24px; padding:10px 18px; }
.main-nav .is-menu-open .wp-block-navigation__container { gap:10px; }

/* storefront: consistent WooCommerce cards */
.woocommerce-shop .wc-block-product-template { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; align-items:stretch; }
.woocommerce .wc-block-product { display:flex; flex-direction:column; min-width:0; height:100%; padding:22px; background:var(--ob-panel); }
.woocommerce .wc-block-product > .wp-block-woocommerce-product-image { width:calc(100% + 44px); max-width:none; margin:-22px -22px 22px; overflow:hidden; }
.woocommerce .wc-block-product .wp-block-woocommerce-product-image img { display:block; width:100%; height:auto; aspect-ratio:4/3!important; object-fit:cover; transition:transform .5s; }
.woocommerce .wc-block-product:hover .wp-block-woocommerce-product-image img { transform:scale(1.025); }
.woocommerce .wc-block-product > .wp-block-post-title { text-align:left; font-size:36px!important; line-height:1.05!important; min-height:2.1em; margin:0 0 14px!important; }
.woocommerce .wc-block-product > .wp-block-post-title a { text-decoration:none; }
.woocommerce .wc-block-product > .wp-block-woocommerce-product-price { margin:0!important; }
.woocommerce .wc-block-product .wc-block-components-product-price { font-family:var(--wp--preset--font-family--barlow-condensed); font-size:40px!important; font-weight:500; line-height:1.15; text-align:left; color:var(--ob-accent); }
.woocommerce .wc-block-product > .ob-product-request { margin-top:auto; padding-top:22px; }
.woocommerce .wc-block-product .ob-product-request .wp-block-button { display:block; width:100%; }
.woocommerce .wc-block-product .ob-product-request .wp-element-button { display:flex; width:100%; min-height:52px; padding:15px 12px; font-size:13px; letter-spacing:.07em; text-align:center; }
.woocommerce .wc-block-product .ob-product-request p { font-size:13px; line-height:1.6; }
@media(max-width:1120px) { .woocommerce-shop .wc-block-product-template { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .woocommerce-shop .wc-block-product-template { grid-template-columns:1fr; gap:24px; } .woocommerce .wc-block-product > .wp-block-post-title { min-height:0; font-size:34px!important; } }

/* billing: centred SelectWoo text and solid header */
.woocommerce form .form-row .select2-container--default .select2-selection--single { display:flex; align-items:center; height:58px; min-height:58px; padding:0 48px 0 18px!important; }
.woocommerce form .form-row .select2-container--default .select2-selection__rendered { display:block; width:100%; height:auto; min-height:0; padding:0!important; line-height:1.5; margin:0; font-size:16px; }
.woocommerce form .form-row .select2-container--default .select2-selection__arrow { display:grid; place-items:center; top:0; right:18px; width:20px; height:100%; }
.woocommerce form .form-row .select2-container--default .select2-selection__arrow b { position:static; width:8px; height:8px; margin:0; border:0!important; border-right:1.5px solid var(--ob-fg)!important; border-bottom:1.5px solid var(--ob-fg)!important; transform:translateY(-2px) rotate(45deg); }
.woocommerce form .form-row .select2-container--open .select2-selection__arrow b { transform:translateY(2px) rotate(225deg); }
.woocommerce-checkout header.wp-block-template-part { position:sticky; top:0; z-index:60; background:var(--ob-bg); border-bottom:1px solid var(--ob-line); box-shadow:0 6px 24px rgba(0,0,0,.16); }
.woocommerce-checkout header.wp-block-template-part > header > .wp-block-group { min-height:84px; align-items:center; }
.woocommerce-checkout header.wp-block-template-part .wp-block-site-title { font-family:var(--wp--preset--font-family--manrope); font-size:23px; font-weight:600; letter-spacing:.2em; line-height:1.2; margin:0; }
.woocommerce-checkout header.wp-block-template-part .wp-block-site-title a { text-decoration:none; }
.woocommerce-checkout header .wc-block-cart-link { display:grid; place-items:center; min-width:44px; min-height:44px; }
@media(max-width:781px) { .woocommerce-checkout header.wp-block-template-part > header > .wp-block-group { min-height:76px; } .woocommerce-checkout header.wp-block-template-part .wp-block-site-title { font-size:20px; } }

/* motion: targeted feedback */
.main-nav .is-menu-open .wp-block-navigation-item { animation:ob-intro-in .28s ease-out both; }
.main-nav .is-menu-open .wp-block-navigation-item:nth-child(2) { animation-delay:.03s; }
.main-nav .is-menu-open .wp-block-navigation-item:nth-child(3) { animation-delay:.06s; }
.main-nav .is-menu-open .wp-block-navigation-item:nth-child(4) { animation-delay:.09s; }
.main-nav .is-menu-open .wp-block-navigation-item:nth-child(5) { animation-delay:.12s; }
.main-nav .is-menu-open .wp-block-navigation-item:nth-child(6) { animation-delay:.15s; }
@media(prefers-reduced-motion:reduce) { .main-nav .is-menu-open .wp-block-navigation-item { animation:none; } }

/* Override WooCommerce's inline display, which collapses appearance:none inputs. */
.woocommerce form .form-row input[type=checkbox] { display:inline-grid; width:18px; height:18px; min-height:18px; margin:0 10px 0 0; flex-shrink:0; }
.wc-block-breadcrumbs a, .woocommerce-breadcrumb a { text-decoration:underline; text-underline-offset:3px; }
