:root{--ink:#242726;--muted:#626460;--gold:#b39652;--pale:#f4f2ec;--line:#deded6;--dark:#202625}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:115px}body{margin:0;color:var(--ink);background:#fff;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button{font:inherit}a,button,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #94701e;outline-offset:5px}a:hover{color:#75591d}.wrap{width:min(1280px,calc(100% - 100px));margin:auto}.review{background:#efece2;text-align:center;font-size:11px;letter-spacing:1.3px;padding:7px 15px}.review a{margin-left:25px;text-decoration:underline;letter-spacing:0}.utility{background:var(--dark);color:#fff;font-size:12px}.utility .wrap{display:flex;gap:35px;align-items:center;min-height:38px}.utility span{margin-right:auto;color:#e0e2df}.utility a:hover{color:#e6c777}header{background:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid #eee}.navigation{display:flex;align-items:center;justify-content:space-between;min-height:100px;gap:30px}.logo{width:172px;height:auto}nav{display:flex;gap:27px;align-items:center;font-size:13px;font-weight:600}nav a{padding:13px 0}nav a.active{border-bottom:2px solid var(--gold)}.button{background:#cbb170;color:#202321;padding:16px 23px;display:inline-flex;align-items:center;justify-content:space-between;gap:25px;font-size:13px;font-weight:700;transition:background .2s}.button:hover{background:#e1ca92;color:#202321}.button.small{padding:13px 18px;font-size:12px}.menu-toggle{display:none}.skip{position:fixed;z-index:100;top:0;left:20px;background:#fff;padding:15px;transform:translateY(-120%)}.skip:focus{transform:translateY(0)}.hero{display:grid;grid-template-columns:48% 52%;background:var(--pale);min-height:625px}.hero-copy{padding:62px 52px 25px max(50px,calc((100vw - 1280px)/2));display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;line-height:1.6;margin:0 0 22px}.hero h1{font-weight:500;font-size:clamp(40px,4.25vw,67px);letter-spacing:-2.8px;line-height:1.08;margin:0 0 25px}em{font-style:normal;color:#806725}p{margin:0 0 22px}h2{font-size:clamp(34px,3.3vw,48px);line-height:1.12;letter-spacing:-1.6px;font-weight:500;margin:0 0 25px}h3{font-size:21px;font-weight:500;line-height:1.3;margin:0 0 14px}.hero-copy>p:not(.eyebrow){font-size:15px;color:#525750;max-width:440px}.actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.text-link{font-size:13px;font-weight:700;border-bottom:1px solid #a49a80;display:inline-block;padding:6px 0}.text-link span{margin-left:15px}.hero-foot{display:flex;justify-content:space-between;gap:30px;width:100%;font-size:9px;letter-spacing:1.5px;border-top:1px solid #d7d7cb;padding-top:17px;margin-top:auto}.hero-image{position:relative;overflow:hidden;min-height:625px}.hero-image picture,.hero-image img{height:100%;width:100%;position:absolute;inset:0;object-fit:cover}.hero-image:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#0008)}.photo-label{position:absolute;bottom:35px;left:35px;color:white;z-index:1;font-size:12px;line-height:1.6}.photo-label span{float:left;font-size:34px;margin-right:15px}.banner{display:grid;grid-template-columns:52% 48%;margin-top:65px;background:#eee9dc;overflow:hidden}.banner picture{min-height:295px;position:relative}.banner img{width:100%;height:100%;position:absolute;object-fit:cover}.banner>div{padding:36px 45px}.banner .eyebrow{margin-bottom:10px;color:#675621}.banner h2{font-size:33px;margin-bottom:13px}.banner p:not(.eyebrow){font-size:14px;margin-bottom:10px}.section{padding-top:95px;padding-bottom:95px}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:35px}.section-head h2{margin-bottom:0}.section-head>p{font-size:14px;color:var(--muted);max-width:340px;margin-bottom:5px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:27px}.image-box{overflow:hidden}.service img{aspect-ratio:1.5;object-fit:cover;transition:transform .45s}.service:hover img,.service:focus-within img{transform:scale(1.04)}.service-title{display:flex;align-items:center;gap:10px;justify-content:space-between;margin-top:22px}.service-title h3{margin:0;font-size:20px}.service-title a{display:grid;place-items:center;width:44px;min-width:44px;height:44px;border:1px solid var(--line);border-radius:50%;font-size:22px}.service p{font-size:13px;color:var(--muted);margin-bottom:25px}.other-services{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.other-services a{padding:23px 16px;border-right:1px solid var(--line);font-size:14px;display:flex;justify-content:space-between}.other-services a:last-child{border:0}.all-services{margin-top:20px;font-size:14px}summary{cursor:pointer;min-height:48px;padding:10px 0}summary span{float:right;font-size:22px}.all-services li{padding:5px}.prototype-note{font-size:12px;color:var(--muted);max-width:800px}.about{background:var(--dark);color:#fff;padding:80px 0}.about-grid{display:grid;grid-template-columns:51% 49%;align-items:center;gap:0}.about-photo{position:relative}.about-photo img{aspect-ratio:1.2;object-fit:cover}.about-photo span{font-size:10px;letter-spacing:2px;display:block;margin-top:14px;color:#d2c8b2}.about-copy{padding:10px 0 10px 75px}.about-copy .eyebrow,.about em{color:#d4b775}.about-copy p{font-size:14px;color:#d1d4d1}.about-copy .lead{font-size:19px;color:white;line-height:1.6}.button.outline{background:transparent;color:#e8d09b;border:1px solid #8e805f;margin-top:10px}.button.outline:hover{background:#343d39}.process ol{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:35px;margin:40px 0 0}.process li{border-top:1px solid #d7d3c6;padding-top:22px}.process li>span{font-size:13px;color:#8b712e;display:block;margin-bottom:22px}.process h3{font-size:19px}.process li p{font-size:13px;color:var(--muted);margin:0}.roadside{background:#d1b87c;padding:45px 0}.roadside .wrap{display:flex;justify-content:space-between;align-items:center;gap:35px}.roadside .eyebrow{margin-bottom:14px}.roadside h2{font-size:32px;letter-spacing:-1px;margin:0}.roadside-call{font-size:38px;line-height:1.4;letter-spacing:-1px}.roadside-call small{display:block;font-size:10px;letter-spacing:1.6px}.roadside-call span{margin-left:25px}.journal-grid{display:grid;grid-template-columns:1fr 1fr .85fr;gap:30px}.journal article img{width:100%;aspect-ratio:1.65;object-fit:cover}.journal article .eyebrow{margin-top:23px;font-size:9px;letter-spacing:1.2px;margin-bottom:13px}.journal h3{font-size:23px}.journal aside{background:var(--pale);padding:35px}.journal aside h3{font-size:31px;letter-spacing:-1px;margin:25px 0}.journal aside p:not(.eyebrow){font-size:14px}.contact{background:var(--pale);padding:80px 0}.contact-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:100px}.contact-grid>div>p:not(.eyebrow){max-width:510px;font-size:14px;color:var(--muted)}.big-phone{font-size:43px;letter-spacing:-1.5px;display:block;margin-top:30px}.email{display:block;font-size:16px;margin-bottom:30px;text-decoration:underline;text-underline-offset:4px}.contact .contact-note{font-size:12px!important;margin-top:20px}.contact-note a{text-decoration:underline}.visit{border-left:1px solid #d4d2c9;padding-left:50px}.visit hr{border:0;border-top:1px solid #d4d2c9;margin:30px 0}.visit small{font-size:12px;color:#65665c}.funding{max-width:1000px}.funding img{width:650px;margin-bottom:35px}.funding h2{font-size:31px}.funding .eyebrow{margin-bottom:10px}.funding details{font-size:14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.funding summary{padding:17px 0;font-weight:bold}footer{padding:40px 0;background:var(--dark);color:#e5e5df}footer .wrap{display:flex;gap:35px;justify-content:space-between;align-items:center}footer img{width:130px;background:#fff;padding:7px}footer p,footer a{font-size:11px;margin:0}footer a{text-decoration:underline}.back-top{position:fixed;right:20px;bottom:20px;z-index:25;background:var(--dark);color:white;width:48px;height:48px;border:1px solid #c6b47f;display:grid;place-items:center;font-size:26px}.back-top[hidden]{display:none}.back-top:hover{color:#ead195}.notes{max-width:950px;margin:auto;padding:55px 25px}.notes h1{font-size:42px;line-height:1.15}.notes h2{font-size:28px;margin-top:45px}.notes table{border-collapse:collapse;width:100%;font-size:13px}.notes th,.notes td{border-bottom:1px solid var(--line);text-align:left;padding:12px;vertical-align:top}.notes a{text-decoration:underline}.notes code{overflow-wrap:anywhere}
@media(min-width:1600px){.hero{min-height:700px}.hero-image{min-height:700px}.hero-copy{padding-top:85px}}@media(max-width:1150px){.wrap{width:calc(100% - 56px)}nav{gap:17px}nav .button{display:none}.hero-copy{padding:45px 30px 25px 28px}.hero h1{font-size:49px}.hero{min-height:580px}.hero-image{min-height:580px}.hero-foot{margin-top:35px}.about-copy{padding-left:40px}.contact-grid{gap:45px}.journal aside{padding:25px}.journal h3{font-size:20px}.hero .actions{gap:15px}}
@media(max-width:760px){html{scroll-padding-top:94px}.wrap{width:calc(100% - 40px)}.review{font-size:9px;letter-spacing:.8px}.review a{margin-left:12px}.utility .wrap{justify-content:center;gap:12px;min-height:32px}.utility span,.utility a:first-of-type{display:none}.utility a{font-size:11px}.navigation{min-height:82px}.logo{width:142px}.menu-toggle{display:block;background:transparent;border:1px solid #cecbbf;padding:9px 12px;min-height:44px;font-size:13px}.menu-toggle span{margin-left:12px}nav{display:flex;flex-direction:column;align-items:stretch;gap:2px;position:absolute;top:100%;left:0;right:0;background:white;padding:20px;max-height:calc(100dvh - 110px);overflow:auto;box-shadow:0 20px 30px #0002}.js nav{display:none}.js nav.open{display:flex;flex-direction:column;align-items:stretch;gap:2px}nav a{padding:12px 8px;font-size:17px}nav .button{display:flex;margin-top:10px}.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:36px 20px 28px}.hero .eyebrow{font-size:9px;margin-bottom:20px}.hero h1{font-size:clamp(40px,10.5vw,65px);letter-spacing:-2px}.hero-copy>p:not(.eyebrow){font-size:14px}.hero-foot{margin-top:30px;font-size:8px;gap:10px}.hero-image{min-height:310px;height:75vw;max-height:480px}.photo-label{bottom:20px;left:20px;font-size:11px}.banner{margin-top:30px;grid-template-columns:1fr}.banner picture{min-height:0;height:auto;aspect-ratio:1.7}.banner img{position:static;height:100%;object-fit:cover}.banner>div{padding:25px}.banner h2{font-size:30px}.section{padding-top:60px;padding-bottom:60px}.section-head{display:block;margin-bottom:28px}.section-head>p{margin-top:20px;max-width:100%}.section-head>.text-link{margin-top:15px}.eyebrow{font-size:9px;letter-spacing:1.6px;margin-bottom:17px}h2{font-size:36px;letter-spacing:-1.2px}.service-grid{grid-template-columns:1fr;gap:15px}.service img{aspect-ratio:1.7}.service-title{margin-top:15px}.service p{margin-bottom:20px}.other-services{grid-template-columns:1fr 1fr}.other-services a{padding:17px 10px;min-height:55px}.other-services a:nth-child(2){border-right:0}.other-services a:nth-child(-n+2){border-bottom:1px solid var(--line)}.about{padding:45px 0}.about-grid{grid-template-columns:1fr;gap:35px}.about-photo img{aspect-ratio:1.35}.about-copy{padding:0}.about-copy .lead{font-size:18px}.process ol{grid-template-columns:1fr 1fr;gap:28px 20px}.process h3{font-size:17px}.process li p{font-size:12px}.process li>span{margin-bottom:15px}.roadside{padding:35px 0}.roadside .wrap{display:block}.roadside h2{font-size:30px}.roadside-call{display:block;font-size:31px;margin-top:25px}.roadside-call span{margin-left:10px}.journal-grid{grid-template-columns:1fr;gap:35px}.journal aside{padding:28px}.journal aside h3{font-size:32px}.journal article h3{font-size:24px}.contact{padding:50px 0}.contact-grid{grid-template-columns:1fr;gap:45px}.big-phone{font-size:36px}.email{font-size:14px;overflow-wrap:anywhere}.visit{border-left:0;border-top:1px solid #d4d2c9;padding:30px 0 0}.contact .actions{gap:15px}.funding h2{font-size:29px}.funding summary{padding-right:15px}footer .wrap{display:grid;grid-template-columns:1fr;gap:20px;padding-right:40px}.back-top{right:12px;bottom:12px;width:44px;height:44px}.notes h1{font-size:34px}.notes table{font-size:12px}.notes td,.notes th{padding:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.service:hover img,.service:focus-within img{transform:none}}

@media(max-width:760px){html:not(.js) header{position:static}html:not(.js) nav{position:static;box-shadow:none;max-height:none}html:not(.js) .navigation{flex-wrap:wrap}html:not(.js) .menu-toggle{display:none}html:not(.js) nav{width:100%}}
/* Revision 02: automotive typography and generous navigation */
body{font-family:Manrope,Arial,sans-serif;font-size:18px;line-height:1.8}h1,h2,h3,.button,.eyebrow,.navigation nav a,.service-directory small{font-family:'Barlow Semi Condensed',Arial,sans-serif;text-transform:uppercase}h1,h2,h3{font-weight:600;letter-spacing:.2px}h2{font-size:clamp(40px,4vw,58px)}h3{font-size:27px}.wrap{width:min(1400px,calc(100% - 80px))}.navigation{min-height:118px;gap:25px}.logo{width:195px}.navigation nav{font-size:18px;gap:30px;letter-spacing:.65px}.navigation nav a{padding:18px 0}.navigation nav .button{font-size:16px;padding:15px 18px}.button,.text-link{font-size:17px}.eyebrow{font-size:14px;letter-spacing:2px}.hero h1{font-size:clamp(54px,5vw,80px);font-weight:600;letter-spacing:0;line-height:1.02}.hero-copy{padding-top:55px;padding-left:max(40px,calc((100vw - 1400px)/2));padding-right:35px}.hero-copy>p:not(.eyebrow){font-size:18px}.hero-foot{font-size:11px;margin-top:35px}.section-head>p,.service p,.about-copy p,.contact-grid>div>p:not(.eyebrow),.journal aside p:not(.eyebrow),.banner p:not(.eyebrow){font-size:18px}.service-title h3{font-size:29px}.other-services a{font-size:19px}.all-services{font-size:17px}.about-copy .lead{font-size:22px}.process h3{font-size:25px}.process li p{font-size:17px}.journal h3{font-size:29px}.journal article .eyebrow{font-size:13px}.banner h2{font-size:42px}.roadside h2{font-size:42px}.utility{font-size:14px}.image-box{position:relative}.illustrative{position:absolute;bottom:10px;left:10px;z-index:2;background:#202625e8;color:#fff;padding:4px 9px;font-size:10px;letter-spacing:.8px}.page-hero{position:relative;isolation:isolate;min-height:390px;display:flex;align-items:center;background:#202625;color:white;overflow:hidden}.page-hero img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center 45%}.page-hero:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(15,22,21,.94),rgba(15,22,21,.65) 55%,rgba(15,22,21,.28))}.page-hero h1{font-size:clamp(44px,5.5vw,82px);line-height:1.05;max-width:1000px;margin:12px 0 24px}.page-hero .eyebrow{color:#e4ca8f;margin:0}.page-hero small{font-size:10px;color:#eee}.breadcrumb{display:flex;position:static;flex-direction:row;align-items:center;flex-wrap:wrap;gap:14px;background:transparent;box-shadow:none;padding:0;font-family:Manrope,sans-serif;font-size:15px;font-weight:400}.breadcrumb a{padding:3px 0;text-decoration:underline;text-underline-offset:4px;min-height:36px}.breadcrumb a:hover{color:#efd69d}.content-layout{display:grid;grid-template-columns:1.5fr .8fr;gap:85px;align-items:start}.prose{max-width:900px}.prose p{font-size:18px;line-height:1.9;overflow-wrap:anywhere}.content-layout .prose{width:100%}.service-contact{background:var(--pale);padding:35px}.service-contact h2{font-size:37px}.service-contact p{font-size:17px}.service-directory{display:grid;grid-template-columns:repeat(3,1fr);gap:45px 30px}.service-list-card{display:block;overflow:hidden}.service-list-card img{aspect-ratio:1.55;object-fit:cover;width:100%;transition:transform .35s}.service-list-card:hover img{transform:scale(1.025)}.service-list-card h2{font-size:30px;line-height:1.2;margin:20px 0 8px}.service-list-card small{font-size:12px;color:#626460}.service-list-card h2 span{float:right}.archive-note{padding:18px 23px;border-left:3px solid var(--gold);background:var(--pale);font-size:15px!important}nav [aria-current=page]{border-bottom:2px solid var(--gold)}
@media(max-width:1250px){.navigation nav{gap:22px;font-size:18px}.navigation nav .button{display:none}.logo{width:175px}.hero h1{font-size:62px}.hero-foot{display:none}.hero-copy{padding-bottom:40px}}
@media(max-width:900px){.navigation nav{gap:17px}.logo{width:145px}.wrap{width:calc(100% - 40px)}.content-layout{grid-template-columns:1fr;gap:35px}.service-directory{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.navigation{min-height:94px}.logo{width:170px}.navigation nav{font-size:21px;gap:5px}.navigation nav a{padding:14px 12px}.navigation nav .button{display:flex;font-size:18px}.hero-copy{padding:35px 20px}.hero h1{font-size:clamp(49px,12vw,72px)}.hero-copy>p:not(.eyebrow){font-size:18px}.eyebrow{font-size:12px}.button,.text-link{font-size:16px}.banner h2{font-size:37px}.section-head>p,.service p,.about-copy p,.contact-grid>div>p:not(.eyebrow),.journal aside p:not(.eyebrow),.banner p:not(.eyebrow){font-size:17px}.page-hero{min-height:310px}.page-hero h1{font-size:47px}.page-hero .breadcrumb{display:flex;position:static;flex-direction:row;padding:0;max-height:none;font-size:13px;gap:9px}.breadcrumb a{padding:0;min-height:30px}.service-directory{grid-template-columns:1fr;gap:35px}.prose p{font-size:17px}.service-contact{padding:25px}.process h3{font-size:23px}.process li p{font-size:16px}.journal h3{font-size:29px}.other-services a{font-size:18px}.utility a{font-size:12px}.review{font-size:10px}}
@media(prefers-reduced-motion:reduce){.service-list-card:hover img{transform:none}}

.js nav.breadcrumb{display:flex} .page-hero nav.breadcrumb a{font-family:Manrope,sans-serif;text-transform:none;border:0} .page-hero nav.breadcrumb [aria-current]{border:0}

/* Subtle photographic interaction: fixed crop, no layout movement. */
.photo-frame{overflow:hidden;position:relative;isolation:isolate}
.hero-image,.about-photo,.banner picture,.image-box,.page-hero{isolation:isolate}
.about-photo{overflow:hidden}
.about-photo img{clip-path:inset(0)}
.photo-frame img,.hero-image img,.banner picture img,.image-box img,.about-photo img,.page-hero img{transition:transform .75s cubic-bezier(.2,.65,.3,1),filter .75s ease;transform-origin:center}
.photo-frame:after,.image-box:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(125deg,rgba(226,204,149,.14),transparent 65%);opacity:0;transition:opacity .65s ease}
@media(hover:hover) and (pointer:fine){
.hero-image:hover img,.banner picture:hover img,.about-photo:hover img,.page-hero:hover img{transform:scale(1.045);filter:brightness(1.06) saturate(1.035)}
.service:hover .image-box img,.service-list-card:hover .photo-frame img,.journal article:hover .photo-frame img{transform:scale(1.06);filter:brightness(1.06) saturate(1.04)}
.service:hover .image-box:after,.service-list-card:hover .photo-frame:after,.journal article:hover .photo-frame:after{opacity:1}
}
.service:focus-within .image-box img,.service-list-card:focus-visible .photo-frame img,.journal article:focus-within .photo-frame img{transform:scale(1.045);filter:brightness(1.06)}
@media(prefers-reduced-motion:reduce){
.photo-frame img,.hero-image img,.banner picture img,.image-box img,.about-photo img,.page-hero img,.photo-frame:after,.image-box:after{transition:none!important;transform:none!important;filter:none!important}
}

/* Services dropdown: ordinary navigation links, pointer and keyboard access. */
.services-dropdown{position:relative;display:flex;align-items:center;gap:3px;align-self:stretch}
.submenu-toggle{border:0;background:transparent;color:var(--ink);cursor:pointer;min-width:44px;min-height:44px;padding:8px;font-size:22px;display:grid;place-items:center}
.submenu-toggle span{transition:transform .2s}
.submenu-toggle[aria-expanded=true] span{transform:rotate(180deg)}
.services-submenu{position:absolute;top:calc(100% - 1px);left:-22px;width:640px;list-style:none;margin:0;padding:20px;display:grid;grid-template-columns:1fr 1fr;gap:0 22px;background:#fff;border-top:3px solid var(--gold);box-shadow:0 18px 40px #0002;max-height:calc(100dvh - 140px);overflow:auto;z-index:35}
.services-submenu[hidden]{display:none!important}
.navigation .services-submenu a{display:block;font-size:17px;line-height:1.3;letter-spacing:.35px;padding:13px 12px;border-bottom:1px solid #eeece5;min-height:48px}
.navigation .services-submenu a:hover,.navigation .services-submenu a:focus-visible{background:var(--pale);color:#71571e}
.navigation .services-submenu a[aria-current=page]{border-bottom:2px solid var(--gold)}
@media(min-width:761px) and (max-width:1150px){.navigation nav{gap:13px}.services-submenu{left:-160px;width:590px}}
@media(max-width:760px){
.services-dropdown{display:grid;grid-template-columns:1fr 48px;align-self:auto;gap:0}
.services-submenu{position:static;grid-column:1/-1;width:100%;max-height:none;grid-template-columns:1fr;box-shadow:none;border-top:1px solid var(--gold);padding:4px 0 12px 14px;background:#f6f4ee}
.navigation .services-submenu a{font-size:18px;padding:13px 14px}.submenu-toggle{min-height:50px}
}
@media(prefers-reduced-motion:reduce){.submenu-toggle span{transition:none}}

/* Revision 05: custom icons, image-led opening and animated brand navigation. */
.ui-arrow{display:inline-block;vertical-align:middle;flex:0 0 auto;width:22px;height:22px;color:inherit;transition:transform .25s ease;pointer-events:none}
.text-link>.ui-arrow{margin-left:10px}.button .ui-arrow{width:21px;height:21px}.utility .ui-arrow{width:16px;height:16px;margin-left:5px}.big-phone .ui-arrow{width:30px;height:30px}.back-top .ui-arrow{width:23px;height:23px}.roadside-call .ui-arrow{width:30px;height:30px}.service-title a .ui-arrow{width:21px;height:21px}.photo-label .ui-arrow{width:32px;height:32px}
a:hover>.arrow-diagonal,.button:hover .arrow-diagonal{transform:translate(2px,-2px)}
.hero{grid-template-columns:52% 48%}.hero-copy{padding-left:50px;padding-right:max(40px,calc((100vw - 1400px)/2));justify-content:center}.hero-copy .hero-foot{margin-top:35px}.hero-image{min-height:680px}.hero-copy h1{font-size:clamp(49px,4.5vw,72px)}
.menu-toggle{-webkit-appearance:none;appearance:none;border:1px solid #b3965277;color:var(--ink);background:var(--pale);border-radius:50%;width:54px;height:54px;min-height:54px;min-width:54px;padding:0;align-items:center;justify-content:center;transition:background .25s,border-color .25s,box-shadow .25s;flex-shrink:0;-webkit-tap-highlight-color:transparent}
.menu-toggle .hamburger{display:flex;position:relative;width:25px;height:23px;flex-direction:column;align-items:flex-end;justify-content:space-between;margin:0;padding:3px 0}
.hamburger i{display:block;width:25px;height:2px;background:#806725;border-radius:3px;transition:transform .3s ease,width .3s ease,opacity .2s ease;transform-origin:center}
.hamburger i:nth-child(2){width:18px}.hamburger i:nth-child(3){width:22px}
.menu-toggle:hover,.menu-toggle:focus-visible{background:#eae0c7;border-color:#b39652;box-shadow:0 0 0 5px #b3965212}.menu-toggle:hover .hamburger i{width:25px}
.menu-toggle[aria-expanded=true]{background:var(--dark);border-color:var(--dark)}.menu-toggle[aria-expanded=true] .hamburger i{background:#dfc88f}
.menu-toggle[aria-expanded=true] .hamburger i:nth-child(1){transform:translateY(7.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] .hamburger i:nth-child(2){opacity:0;transform:translateX(5px)}.menu-toggle[aria-expanded=true] .hamburger i:nth-child(3){width:25px;transform:translateY(-7.5px) rotate(-45deg)}
.submenu-toggle{-webkit-appearance:none;color:#806725}.submenu-toggle .ui-arrow{width:19px;height:19px}
@media(max-width:1150px){.hero-copy{padding:35px}.hero-image{min-height:620px}.hero-copy h1{font-size:53px}}
@media(max-width:760px){.menu-toggle{display:flex}.hero{grid-template-columns:1fr}.hero-image{min-height:0;height:62vw;max-height:380px}.hero-copy{padding:32px 20px 38px}.hero-copy h1{font-size:clamp(43px,10.8vw,64px)}.hero-copy .eyebrow{margin-bottom:16px}.hero-copy>p:not(.eyebrow){font-size:17px}.hero .actions{gap:18px}.hero-foot{display:none}.photo-label{font-size:11px}.photo-label .ui-arrow{width:25px;height:25px}.navigation{min-height:90px}.navigation nav.open{border-top:2px solid var(--gold);box-shadow:0 18px 35px #2026251c}.navigation nav>a:hover{background:var(--pale)}.utility .ui-arrow{width:15px;height:15px}}
@media(prefers-reduced-motion:reduce){.ui-arrow,.menu-toggle,.hamburger i{transition:none!important}a:hover>.arrow-diagonal,.button:hover .arrow-diagonal{transform:none}}

/* Revision 06: stable brand controls, soft navigation states. */
.menu-toggle:not([aria-expanded=true]),.menu-toggle:not([aria-expanded=true]):hover,.menu-toggle:not([aria-expanded=true]):focus-visible{background:#f4f2ec;border-color:#b3965280;color:#806725;box-shadow:none}
.menu-toggle .hamburger i:nth-child(1),.menu-toggle:hover .hamburger i:nth-child(1){width:25px}
.menu-toggle .hamburger i:nth-child(2),.menu-toggle:hover .hamburger i:nth-child(2){width:18px}
.menu-toggle .hamburger i:nth-child(3),.menu-toggle:hover .hamburger i:nth-child(3){width:22px}
.menu-toggle[aria-expanded=true] .hamburger i:nth-child(3),.menu-toggle[aria-expanded=true]:hover .hamburger i:nth-child(3){width:25px}
@media(hover:hover) and (pointer:fine){.menu-toggle:not([aria-expanded=true]):hover{background:#ebe2cc;border-color:#b39652;box-shadow:0 0 0 4px #b3965212}.menu-toggle:not([aria-expanded=true]):hover .hamburger{transform:translateX(-1px)}}
.menu-toggle .hamburger{transition:transform .25s ease}
#menu a.active,#menu a[aria-current=page],.navigation #menu .services-submenu a[aria-current=page]{border:0;background:#f4f2ec;color:#71571e}
#menu a{border-radius:4px;transition:background .2s ease,color .2s ease}
#menu>a:not(.button),#menu>.services-dropdown>a{padding-left:10px;padding-right:10px}
#menu a:focus-visible{outline:none;outline-offset:0;background:#e4d5ae!important;color:#242726;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px}
#menu a:not(.button):hover{background:#ebe2cc;color:#71571e}
#menu .services-submenu a{border-bottom:0}
.back-top{width:54px;height:54px;border-radius:50%;background:#f4f2ec;color:#806725;border:1px solid #b3965280;box-shadow:0 3px 14px #20262512;bottom:20px;right:20px;transition:background .25s ease,border-color .25s ease}
.back-top:hover{background:#ebe2cc;color:#71571e;border-color:#b39652}
.back-top .ui-arrow{width:23px;height:23px}
.back-top:focus-visible,.menu-toggle:focus-visible{outline:2px solid #806725;outline-offset:4px}
@media(max-width:760px){#menu>a:not(.button),#menu>.services-dropdown>a{padding:14px 12px}.back-top{width:50px;height:50px;right:16px;bottom:max(16px,env(safe-area-inset-bottom))}.navigation .services-submenu a{border:0}}
@media(prefers-reduced-motion:reduce){.menu-toggle .hamburger,.back-top,#menu a{transition:none!important}.menu-toggle:not([aria-expanded=true]):hover .hamburger{transform:none}}

/* Footer fotografico */
footer.site-footer{position:relative;background:linear-gradient(90deg,rgba(27,33,31,.95),rgba(27,33,31,.91)),url('assets/officina-privacy.jpg') center 58%/cover;color:#f2f1ea;padding:64px 0 0;border-top:3px solid #b39652}
@supports (background-image: image-set(url("test.webp") type("image/webp"))) {

/* Footer fotografico */
footer.site-footer{position:relative;background:linear-gradient(90deg,rgba(27,33,31,.95),rgba(27,33,31,.91)),image-set(url("assets/officina-privacy.webp") type("image/webp"), url("assets/officina-privacy.jpg") type("image/jpeg")) center 58%/cover;color:#f2f1ea;padding:64px 0 0;border-top:3px solid #b39652}}footer.site-footer .footer-main{display:grid;grid-template-columns:1.4fr 1fr 1fr;align-items:start;gap:64px;padding-bottom:44px}footer.site-footer .footer-brand img{width:190px;max-width:100%;margin-bottom:22px}footer.site-footer p{font-size:14px;line-height:1.8;color:#deded5;margin:0 0 12px}footer.site-footer h2{font-size:12px;font-weight:700;letter-spacing:1.7px;text-transform:uppercase;color:#dec78e;margin:4px 0 22px}footer.site-footer .footer-legal a{display:block;margin:0 0 11px}footer.site-footer a{font-size:13px;color:#f2f1ea;transition:color .2s}footer.site-footer a:hover{color:#e5c87e}footer.site-footer .footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ffffff25;padding-top:21px;padding-bottom:24px;font-size:11px;color:#d2d3ca}footer.site-footer .footer-bottom a{font-size:11px}@media(max-width:700px){footer.site-footer{padding-top:42px}footer.site-footer .footer-main{grid-template-columns:1fr;gap:30px;padding-bottom:28px}footer.site-footer .footer-bottom{flex-direction:column;gap:8px}footer.site-footer h2{margin-bottom:14px}}

/* Mobile panel: animated physical unfolding. */
@media(max-width:760px){
.js .navigation #menu,.js .navigation #menu.open{display:flex;flex-direction:column;align-items:stretch;border-top:2px solid var(--gold);box-shadow:0 18px 35px #2026251c;transform:none;transition:none}
.js .navigation #menu:not(.open){visibility:hidden;pointer-events:none}
.js .navigation #menu.open{visibility:visible;pointer-events:auto}
.menu-toggle:active{transform:scale(.94)}.menu-toggle{transition:background .35s ease,transform .25s ease}.hamburger i{transition:transform .55s cubic-bezier(.22,1,.36,1),width .45s ease,opacity .3s ease}
}
@media(prefers-reduced-motion:reduce){.menu-toggle:active{transform:none}}

/* Video reference: full-height curtain and sliding second level. */
.mobile-menu-back{display:none}
@media(max-width:760px){
html.mobile-menu-open{overflow:hidden}
.js .navigation #menu,.js .navigation #menu.open{position:fixed;top:var(--menu-top,122px);bottom:0;left:0;right:0;width:100%;height:auto;max-height:none;margin:0;padding:24px 20px 40px;background:#faf9f5;border-top:1px solid #e6dfcd;box-shadow:none;gap:5px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;isolation:isolate;clip-path:inset(0);}
#menu>a:not(.button),#menu>.services-dropdown>a{border-bottom:1px solid #e9e3d6;border-radius:0;padding:17px 12px}
#menu .services-dropdown{position:static;grid-template-columns:1fr 48px}
#menu .services-dropdown>.submenu-toggle{border-bottom:1px solid #e9e3d6}
#menu .services-dropdown>.submenu-toggle .ui-arrow{transform:rotate(-90deg)}
#menu .services-submenu{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;gap:0;width:100%;height:100%;max-height:none;overflow:auto;margin:0;padding:18px 20px 36px;border:0;background:#faf9f5;transform:none}
#menu.subview>:not(.services-dropdown),#menu.subview>.services-dropdown>a,#menu.subview>.services-dropdown>.submenu-toggle{visibility:hidden;pointer-events:none}
#menu .services-submenu .mobile-menu-back{display:block;flex-shrink:0;margin-bottom:10px;border-bottom:1px solid #daceb2}
.mobile-menu-back button{display:block;width:100%;text-align:left;min-height:52px;padding:10px 12px;border:0;background:transparent;color:#806725;font-size:17px;cursor:pointer}
.navigation #menu .services-submenu a{font-size:18px;line-height:1.4;padding:14px 12px;border-bottom:1px solid #e9e3d6;border-radius:0}
.mobile-menu-open .back-top{visibility:hidden}
}

/* A single shared divider keeps the Services row aligned. */
@media(max-width:760px){
#menu .services-dropdown{align-items:stretch;border-bottom:1px solid #e9e3d6}
#menu>.services-dropdown>a,#menu .services-dropdown>.submenu-toggle{border-bottom:0}
#menu .services-dropdown>.submenu-toggle{align-self:stretch;height:auto;display:grid;place-items:center;padding:0}
}

/* Clear, separated FAQ cards. */
.faq-list{display:grid;gap:28px;margin-top:30px}
.faq-item{border:1px solid #dfd8c7;border-left:4px solid #b39652;border-radius:12px;background:#faf9f5;overflow:hidden}
.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:24px;list-style:none;padding:26px 30px;min-height:88px;transition:background .2s ease}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::marker{content:''}
.faq-item summary:hover{background:#f0ebdf}
.faq-item summary h2{font-size:29px;line-height:1.25;margin:0;letter-spacing:.2px;color:#242726;text-align:left}
.faq-item .faq-indicator{float:none;position:relative;display:block;flex:0 0 32px;width:32px;height:32px;border:1px solid #c6b47f;border-radius:50%;margin:0;background:#fff}
.faq-indicator:before,.faq-indicator:after{content:'';position:absolute;top:14px;left:8px;width:14px;height:2px;background:#806725}
.faq-indicator:after{transform:rotate(90deg)}
.faq-item[open] .faq-indicator:after{transform:rotate(0)}
.faq-item[open] summary{border-bottom:1px solid #e7e0d1}
.faq-answer{padding:24px 30px 28px;background:#fff}
.prose .faq-answer p{font-size:17px;line-height:1.85;margin:0;color:#525750}
.faq-help{margin-top:48px;padding:30px;border-radius:12px;background:#f0ecdf}
.faq-help h2{font-size:30px;margin:0 0 12px}
.prose .faq-help p{font-size:17px;margin-bottom:22px}
@media(max-width:760px){.faq-list{gap:22px;margin-top:24px}.faq-item summary{padding:22px 18px;gap:16px}.faq-item summary h2{font-size:25px}.faq-answer{padding:20px 18px 24px}.prose .faq-answer p{font-size:17px;line-height:1.8}.faq-help{padding:24px 20px;margin-top:36px}.faq-help h2{font-size:27px}}

/* Back navigation: no rectangular focus frame. */
#menu .mobile-menu-back button,#menu .mobile-menu-back button:focus,#menu .mobile-menu-back button:focus-visible{border:0;outline:none;box-shadow:none;-webkit-tap-highlight-color:transparent}
#menu .mobile-menu-back button:focus-visible{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px}
