/* Gentle static depth: no filter, no animated shadow, no layout displacement. */
:root{--card-shadow:0 5px 18px rgba(32,38,37,.065),0 1px 3px rgba(32,38,37,.035)}
.banner,.service,.service-list-card,.journal-grid>article,.journal-grid>aside,.service-contact,.faq-item,.faq-help,.related-content{box-shadow:var(--card-shadow)}
.service,.service-list-card,.journal-grid>article{background:#fff;padding-bottom:16px}
.service .service-title,.service>p,.service-list-card>h2,.service-list-card>small,.journal-grid>article>h3,.journal-grid>article>p,.journal-grid>article>.text-link{margin-left:18px;margin-right:18px}
.related-content{background:#f4f2ec;border:1px solid #e5dfd0;margin:30px 0 0;padding:24px 26px}
.related-content h2{font-size:27px;line-height:1.2;margin:0 0 14px;letter-spacing:.2px}
.related-content ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.related-content li{margin:0;padding:0}.related-content a{display:block;padding:10px 0;font-size:16px;line-height:1.65;text-decoration:underline;text-underline-offset:4px}.related-content a span{color:#806725;margin-left:8px}
.prose>p a{color:#71571e;text-decoration:underline;text-underline-offset:3px}
.local-intro{max-width:860px;font-size:18px;line-height:1.8;margin:0 0 35px}.local-intro a{text-decoration:underline;text-underline-offset:4px}
@media(max-width:760px){:root{--card-shadow:0 3px 12px rgba(32,38,37,.055)}.related-content{padding:20px}.related-content h2{font-size:25px}}
@media(forced-colors:active){.banner,.service,.service-list-card,.journal-grid>article,.journal-grid>aside,.service-contact,.faq-item,.faq-help,.related-content{box-shadow:none;border:1px solid CanvasText}}
@media print{.banner,.service,.service-list-card,.journal-grid>article,.journal-grid>aside,.service-contact,.faq-item,.faq-help,.related-content{box-shadow:none}}

/* Humanist body type, real variable weights; no artificial glyph strokes. */
body,.breadcrumb,.page-hero nav.breadcrumb a{font-family:'Source Sans 3',Arial,sans-serif}body{font-weight:450}input,select,textarea,button{font-family:inherit}

/* Quiet links: keep directional controls, remove repeated decorative arrows. */
.arrow-diagonal,.related-content a>span[aria-hidden=true]{display:none!important}
.button>span[aria-hidden=true],.text-link>span[aria-hidden=true],.photo-label>span[aria-hidden=true]{display:none}
.service-title h3 a{display:inline-block;width:auto;min-width:0;height:auto;border:0;border-radius:0;font-size:inherit;padding:4px 0;min-height:44px;text-decoration:underline;text-decoration-color:#b3965266;text-underline-offset:6px;text-decoration-thickness:1px}
.service-title h3 a:hover{color:#71571e;text-decoration-color:currentColor}
.service-title{gap:0}.button{justify-content:center}.related-content a:hover{color:#71571e}

/* Footer typography follows the reading scale of the page. */
footer.site-footer{padding-top:56px}
footer.site-footer .footer-main{grid-template-columns:1.15fr 1fr 1.1fr;gap:56px;align-items:start;padding-right:0;padding-bottom:42px}
footer.site-footer .footer-brand img{width:190px;margin:0 0 22px}
footer.site-footer .footer-brand p{max-width:310px;font-size:18px;line-height:1.7}
footer.site-footer h2{font:600 23px/1.3 'Barlow Semi Condensed',Arial,sans-serif;letter-spacing:.7px;margin:0 0 20px;color:#dec78e}
footer.site-footer p,footer.site-footer a{font-family:'Source Sans 3',Arial,sans-serif;font-size:17px;line-height:1.7}
footer.site-footer .footer-legal a{margin:0;padding:5px 0;text-decoration-thickness:1px;text-decoration-color:#ffffff60;text-underline-offset:4px}
footer.site-footer .footer-contact>a{display:inline-block;font-size:21px;min-height:44px;padding:4px 0}
footer.site-footer .footer-bottom{font-family:'Source Sans 3',Arial,sans-serif;font-size:14px;line-height:1.65;align-items:baseline;padding:22px 0 25px;gap:20px}
footer.site-footer .footer-bottom a{font-size:14px;line-height:1.65}
@media(max-width:900px){footer.site-footer .footer-main{grid-template-columns:1fr 1fr;gap:35px}footer.site-footer .footer-brand{grid-column:1/-1}footer.site-footer .footer-bottom{flex-wrap:wrap}}
@media(max-width:600px){footer.site-footer{padding-top:38px}footer.site-footer .footer-main{grid-template-columns:1fr;gap:28px;padding-bottom:30px}footer.site-footer .footer-brand{grid-column:auto}footer.site-footer h2{font-size:22px;margin-bottom:12px}footer.site-footer .footer-brand p{font-size:17px}footer.site-footer .footer-bottom{align-items:flex-start;gap:12px;padding-bottom:28px}}

/* Existing private home template compatibility. */
.service-title:has(>a){position:relative;min-height:44px}
.service-title>a{position:absolute;inset:0;display:block;width:100%;height:100%;min-height:44px;border:0;border-radius:0;background:transparent}
.service-title:has(>a) h3{text-decoration:underline;text-decoration-color:#b3965266;text-underline-offset:6px;text-decoration-thickness:1px}
.service-title:has(>a:hover) h3{color:#71571e;text-decoration-color:currentColor}

/* Contact form, Strappato palette and keyboard-operable service picker. */
.contact-form{background:#fff;border:1px solid #e4dfd2;border-radius:16px;padding:clamp(22px,4vw,48px);box-shadow:0 6px 24px #20262508}
.contact-form label{color:#343d37;font-size:17px;font-weight:600;line-height:1.5}.contact-form input:not([type=checkbox]),.contact-form textarea,.contact-form select{background:#faf9f5;border:1px solid #c8bea5;border-radius:9px;color:#242726;padding:14px 16px;min-height:54px;font-family:'Source Sans 3',Arial,sans-serif;font-size:18px;line-height:1.5}.contact-form input:not([type=checkbox]):focus,.contact-form textarea:focus{background:#fff;border-color:#806725;outline:2px solid #806725;outline-offset:3px}.contact-form .privacy-check{background:#f4f1e7;border:1px solid #e2d9c2;border-radius:9px;padding:16px;align-items:flex-start}.contact-form .privacy-check input{accent-color:#806725;margin-top:3px}.contact-form .button{border-radius:9px;background:#cbb170;color:#202625;padding:16px 28px;min-height:54px;font-size:20px}.contact-form .button:hover{background:#ddc58c}
.service-picker{position:relative;width:100%}.contact-form .service-picker-trigger{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;min-height:54px;padding:14px 17px;background:#faf9f5;color:#242726;border:1px solid #b8a77b;border-radius:9px;text-align:left;font:450 18px/1.5 'Source Sans 3',Arial,sans-serif;cursor:pointer}.service-picker-trigger:after{content:'';display:block;width:9px;height:9px;border-right:2px solid #806725;border-bottom:2px solid #806725;transform:rotate(45deg);margin-right:4px;margin-top:-5px;flex-shrink:0}.service-picker-trigger[aria-expanded=true]{background:#f1ead7;border-color:#806725}.service-picker-trigger[aria-expanded=true]:after{transform:rotate(225deg);margin-top:5px}.service-picker-trigger:focus-visible{outline:2px solid #806725;outline-offset:3px}.service-picker-trigger:disabled{cursor:not-allowed}.service-picker-options{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:12;max-height:290px;overflow:auto;overscroll-behavior:contain;margin:0;padding:7px;list-style:none;border:1px solid #c8b57f;border-radius:10px;background:#fff;box-shadow:0 12px 30px #20262520}.service-picker-options[hidden]{display:none}.service-picker-options li{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0;padding:11px 13px;min-height:44px;border-radius:6px;font:450 17px/1.5 'Source Sans 3',Arial,sans-serif;color:#242726;cursor:pointer}.service-picker-options li:hover,.service-picker-options li.is-active{background:#f1ead7;color:#544119}.service-picker-options li[aria-selected=true]{background:#e7d9af;color:#3c321b;font-weight:650}.service-picker-options li[aria-selected=true]:after{content:'';width:6px;height:11px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-right:5px;flex-shrink:0}.service-picker-trigger[aria-invalid=true]{border-color:#932b1f}
@media(max-width:600px){.contact-form{padding:24px 18px}.service-picker-options{max-height:240px}.service-picker-options li{font-size:17px}.contact-form .button{width:100%}}
@media(forced-colors:active){.service-picker-options li[aria-selected=true],.service-picker-options li.is-active{outline:2px solid Highlight;outline-offset:-2px}.service-picker-trigger:after{border-color:ButtonText}}

/* Subtle home depth; reuse the workshop photograph already loaded by the hero. */
.hero-copy{background:radial-gradient(ellipse at 100% 0,rgba(203,177,112,.10),transparent 70%),#f4f2ec}
.roadside{background-color:#cfb979;background-image:linear-gradient(90deg,rgba(207,185,121,.97),rgba(207,185,121,.90)),url('assets/officina-privacy.jpg');background-position:center,center 55%;background-size:cover;color:#202625}
@supports (background-image: image-set(url("test.webp") type("image/webp"))) {
.roadside{background-color:#cfb979;background-image:linear-gradient(90deg,rgba(207,185,121,.97),rgba(207,185,121,.90)),image-set(url("assets/officina-privacy.webp") type("image/webp"), url("assets/officina-privacy.jpg") type("image/jpeg"));background-position:center,center 55%;background-size:cover;color:#202625}}
.roadside a:hover{color:#403312}
/* Keep the disclosure beside its label, with separate non-overlapping touch targets. */
#menu>.services-dropdown{gap:0}
#menu>.services-dropdown>a{padding-right:4px}
#menu .services-dropdown>.submenu-toggle{min-width:48px;min-height:48px;justify-items:start;padding:0 0 0 5px}
@media(max-width:760px){
 #menu .services-dropdown{grid-template-columns:max-content 48px 1fr}
 #menu>.services-dropdown>a{padding-right:4px}
 #menu .services-dropdown>.submenu-toggle{justify-items:start;padding:0 0 0 5px}
 #menu .services-submenu{grid-column:1/-1}
}
@media(forced-colors:active){.hero-copy,.roadside{background:Canvas;color:CanvasText}.roadside a:hover{color:LinkText}}

/* Matched home actions, with a clear primary and secondary hierarchy. */
.hero .actions{display:flex;align-items:stretch;gap:14px;width:100%;flex-wrap:wrap}
.hero .actions>.button{display:inline-flex;align-items:center;justify-content:center;gap:0;min-height:56px;padding:15px 22px;border:1px solid #b39652;border-radius:6px;font-size:17px;line-height:1.35;text-transform:uppercase;text-align:center;font-weight:650;flex:1 1 200px}
.hero .actions>.button>span{display:none}
.hero .actions>.button-secondary{background:#f5f0e3;color:#4d3e1e}
.hero .actions>.button-secondary:hover{background:#e9ddbd;color:#302a1d}
@media(max-width:420px){.hero .actions>.button{flex-basis:100%}}

/* Four lightweight illustrations explain the process; headings carry their accessible meaning. */
.process li>.process-illustration{display:block;width:128px;height:128px;margin:0 0 24px;object-fit:contain}
.process li>span{margin-bottom:14px}
@media(max-width:760px){.process li>.process-illustration{width:104px;height:104px;margin-bottom:20px}}
@media(max-width:420px){.process ol{grid-template-columns:1fr;gap:30px}.process li>.process-illustration{width:112px;height:112px}}

/* Readable breadcrumb typography matching the Strappato heading and navigation family. */
.page-hero nav.breadcrumb{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:8px 14px;width:fit-content;max-width:100%;margin-top:8px;padding:0;font-family:'Barlow Semi Condensed',Arial,sans-serif;font-size:18px;font-weight:600;line-height:1.45;letter-spacing:.65px;text-transform:uppercase;color:#fff}
.page-hero nav.breadcrumb a,.page-hero nav.breadcrumb [aria-current=page]{font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;letter-spacing:inherit;text-transform:inherit;border:0}
.page-hero nav.breadcrumb a{display:inline-flex;align-items:center;min-height:44px;padding:8px 2px;color:#fff;text-decoration:underline;text-decoration-color:#ffffff80;text-decoration-thickness:1px;text-underline-offset:5px}
.page-hero nav.breadcrumb a:hover{color:#f2dfa9;text-decoration-color:currentColor}
.page-hero nav.breadcrumb a:focus-visible{outline:2px solid #f2dfa9;outline-offset:4px;border-radius:2px}
.page-hero nav.breadcrumb [aria-current=page]{color:#f2dfa9;overflow-wrap:anywhere}
.page-hero nav.breadcrumb>span:not([aria-current]){display:inline-flex;align-items:center;justify-content:center;flex:0 0 8px;width:8px;font-size:0;color:#e0c582}
.page-hero nav.breadcrumb>span:not([aria-current]):before{content:'';display:block;width:6px;height:6px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg)}
@media(max-width:760px){.page-hero nav.breadcrumb{font-size:17px;letter-spacing:.5px;gap:6px 11px}.page-hero nav.breadcrumb a{min-height:44px}}
@media(forced-colors:active){.page-hero nav.breadcrumb a{color:LinkText}.page-hero nav.breadcrumb [aria-current=page]{color:CanvasText}.page-hero nav.breadcrumb a:focus-visible{outline-color:Highlight}}

/* Decorative icon hover uses transforms only, with no layout movement or added script. */
.process li>.process-illustration{transform-origin:50% 65%;transition:transform .32s cubic-bezier(.2,.7,.3,1)}
@media(hover:hover) and (pointer:fine){
 .process li:hover>.process-illustration{transform:translateY(-6px) rotate(-3deg) scale(1.035)}
 .process li:nth-child(even):hover>.process-illustration{transform:translateY(-6px) rotate(3deg) scale(1.035)}
}
@media(prefers-reduced-motion:reduce){.process li>.process-illustration{transition:none}.process li:hover>.process-illustration,.process li:nth-child(even):hover>.process-illustration{transform:none}}

/* The custom return animation owns scroll easing only while it is running. */
html.returning-to-top{scroll-behavior:auto!important}

/* Troubleshooting only; the element is never created during ordinary visits. */
.scroll-check{position:fixed;z-index:10000;top:12px;left:12px;width:min(440px,calc(100vw - 24px));max-height:75dvh;overflow:auto;padding:18px;background:#fffdf7;color:#202625;border:2px solid #b39652;border-radius:10px;box-shadow:0 8px 30px #0003;font:450 16px/1.5 'Source Sans 3',Arial,sans-serif}.scroll-check strong{font-weight:700}.scroll-check pre{font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;margin:12px 0}.scroll-check button{min-height:44px;border:1px solid #806725;border-radius:5px;padding:8px 14px;background:#e9ddbd;color:#202625;font:600 16px 'Source Sans 3',Arial,sans-serif}
