
/* SoravelliQuessa – shared header, site details, legal content and responsive refinement */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
html,body{margin:0;max-width:100%;min-width:0}
body{font-family:var(--font-family-body);background:var(--color-surface);color:var(--color-on-surface)}
img{max-width:100%;height:auto}
.hero-title{font-size:var(--font-size-4xl)}
.section-title{font-size:var(--font-size-3xl)}
:where(a,button,input,select,textarea):focus-visible{outline:2px solid var(--color-secondary);outline-offset:3px}
:where(a):active{opacity:.83}
.sq-site-header{width:100%;position:sticky;top:0;z-index:1200;color:var(--color-on-surface);background:rgba(247,243,234,.98);border-bottom:1px solid rgba(48,45,40,.16);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px)}
.sq-header-inner{width:100%;max-width:var(--content-max-width);margin:0 auto;padding:17px clamp(18px,3.4vw,46px);min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.sq-header-brand{color:inherit;display:inline-flex;flex-shrink:0;align-items:center;gap:11px;min-width:0;text-decoration:none}
.sq-header-mark{display:flex;align-items:center;flex-shrink:0;width:39px;height:39px}
.sq-header-identity{display:flex;flex-direction:column;gap:5px;white-space:nowrap;line-height:1}
.sq-header-identity strong{font:500 clamp(14px,1.4vw,18px)/1 var(--font-family-heading);letter-spacing:.105em}
.sq-header-identity small{font:500 9px/1 var(--font-family-body);letter-spacing:.23em}
.sq-header-links{display:flex;justify-content:center;align-items:center;gap:clamp(10px,1.25vw,23px);flex-wrap:wrap}
.sq-header-links a{font-size:12px;font-weight:500;color:var(--color-on-surface);text-decoration:none;letter-spacing:.025em;white-space:nowrap;transition:color .2s ease}
.sq-header-links a:hover,.sq-header-links a[aria-current="page"]{color:var(--color-secondary)}
.sq-header-links a[aria-current="page"]{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px}
.sq-header-contact{border:1px solid var(--color-on-surface);border-radius:30px;color:var(--color-on-surface);padding:12px 16px;font-size:12px;font-weight:600;white-space:nowrap;flex-shrink:0;text-decoration:none;transition:background .2s ease,color .2s ease}
.sq-header-contact:hover{background:var(--color-on-surface);color:var(--color-surface)}
.sq-header-contact span{margin-left:6px}
.sq-header-toggle{display:none;align-items:center;gap:10px;border:0;background:transparent;font-size:13px;color:inherit;font-family:var(--font-family-body);cursor:pointer;padding:8px}
.sq-mobile-menu[hidden]{display:none!important}
.sq-mobile-menu{display:none}
.sq-footer-brandmark{font-family:var(--font-family-heading);font-size:32px;letter-spacing:-.06em;display:block;line-height:1}
.sq-footer-brandmark span{font-size:26px;padding:0 3px;opacity:.65}
.sq-footer-brandname{font:500 13px/1.3 var(--font-family-heading);letter-spacing:.14em;display:block;margin-top:8px;color:#fff}
.sq-footer-nav-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.sq-footer-nav-list a{color:rgba(255,255,255,.76);font-size:var(--font-size-sm);text-decoration:none}
.sq-footer-nav-list a:hover,.sq-footer-nav-list a[aria-current="page"]{color:#fff}
.sq-footer-root .sq-footer-contact-link,.sq-footer-root .sq-footer-legal a,.sq-footer-root .sq-footer-logo-link{color:#fff;text-decoration:none}
.sq-footer-contact-zone .sq-footer-group + .sq-footer-group{margin-top:22px}
.sq-footer-address{font-style:normal;color:rgba(255,255,255,.78);line-height:1.55;max-width:330px}
.sq-footer-root .sq-footer-directory{grid-template-columns:1.2fr 1.05fr .65fr}
.sq-business-details{border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.12);padding:24px 0;margin:0 0 26px;color:#fff;display:grid;grid-template-columns:minmax(180px,1fr) 2.5fr;gap:24px}
.sq-business-details__intro{display:flex;flex-direction:column;gap:5px}
.sq-business-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.15em;opacity:.65}
.sq-business-details__intro strong{font-family:var(--font-family-heading);font-size:24px;font-weight:500}
.sq-business-details__intro small{font-size:11px;opacity:.67}
.sq-business-details dl{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px}
.sq-business-details dl div{min-width:0}
.sq-business-details dt{font-size:10px;text-transform:uppercase;letter-spacing:.12em;opacity:.65}
.sq-business-details dd{margin:3px 0 0;overflow-wrap:anywhere;font-size:12px;line-height:1.6}
.sq-business-details dd a{color:inherit!important;text-decoration:none}
.sq-business-details a:hover{text-decoration:underline}
.sq-footer-legal{display:flex;flex-wrap:wrap;gap:12px 22px}
.sq-footer-legal a{font-size:12px;opacity:.8}
.sq-footer-legal a:hover{opacity:1;text-decoration:underline}
.sq-generated-page{display:flex;flex-direction:column;min-height:100vh}
.sq-generated-page>.sq-site-header{flex-shrink:0}
.sq-generated-page>main{flex:1}
.sq-generated-page>.sq-footer-root{flex-shrink:0}
.sq-legal-main{width:100%;background:var(--color-surface);padding:clamp(38px,5vw,80px) clamp(18px,5vw,56px) 100px}
.sq-legal-content{max-width:1080px;margin:0 auto;width:100%;min-width:0}
.sq-legal-heading{margin-bottom:32px}
.sq-section-eyebrow{display:block;font:600 11px/1.5 var(--font-family-body);text-transform:uppercase;letter-spacing:.16em;color:var(--color-secondary);margin-bottom:14px}
.sq-legal-heading .hero-title{max-width:800px;margin:0 0 14px}
.sq-legal-date{font-size:13px;color:var(--color-on-surface-secondary)}
.sq-business-details--top{color:var(--color-on-surface);border:1px solid var(--color-border);background:var(--color-surface-tint);padding:22px 26px;border-radius:var(--border-radius-md);margin-bottom:44px}
.sq-business-details--top .sq-business-kicker,.sq-business-details--top .sq-business-details__intro small{opacity:.85}
.sq-business-details--top a:link,.sq-business-details--top a:visited{color:var(--color-on-surface)!important}
.sq-legal-reading{max-width:860px;display:grid;gap:24px}
.sq-legal-section{padding-bottom:23px;border-bottom:1px solid rgba(48,45,40,.12);min-width:0}
.sq-legal-section h2{font-family:var(--font-family-heading);font-size:var(--font-size-2xl);line-height:1.22;margin:0 0 10px}
.sq-legal-section p,.sq-legal-outro{font-size:var(--font-size-base);line-height:1.8;color:var(--color-on-surface-secondary);margin:0;overflow-wrap:anywhere}
.sq-legal-outro{margin-top:38px}
.sq-legal-main a:link,.sq-legal-main a:visited{color:var(--color-secondary);text-decoration:underline;text-underline-offset:3px}
.sq-legal-main a:hover{color:var(--color-on-surface)}
.sq-error-page{padding:70px 0 100px;min-height:44vh}
.sq-error-page p{max-width:560px;line-height:1.8}
.sq-contact-main{width:100%}
.sq-content-hero{display:grid;grid-template-columns:1fr 1fr;min-height:clamp(470px,51vw,640px);background:var(--color-surface)}
.sq-content-hero__copy{align-self:center;padding:clamp(48px,7vw,108px) clamp(25px,6vw,96px);max-width:740px}
.sq-content-hero__copy .hero-title{font-family:var(--font-family-heading);line-height:1.07;margin:0 0 24px}
.sq-content-hero__copy p{max-width:460px;line-height:1.85;color:var(--color-on-surface-secondary);margin:0 0 24px}
.sq-hero-textlink{color:var(--color-on-surface);font-size:13px;font-weight:600;text-decoration:none;border-bottom:1px solid var(--color-on-surface);padding-bottom:8px}
.sq-content-hero__image{min-height:420px;overflow:hidden}
.sq-content-hero__image img{width:100%;height:100%;object-fit:cover;display:block}
.sq-contact-section{max-width:1280px;margin:0 auto;padding:clamp(55px,8vw,118px) clamp(20px,5vw,60px);display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(35px,6vw,90px)}
.sq-contact-panel p{line-height:1.8;color:var(--color-on-surface-secondary);max-width:440px}
.sq-contact-panel .section-title{margin:0 0 18px;line-height:1.14}
.sq-contact-direct{display:flex;flex-direction:column;gap:14px;margin-top:36px}
.sq-contact-direct a{color:var(--color-on-surface);font-weight:600;text-decoration:none;overflow-wrap:anywhere}
.sq-contact-direct address{font-style:normal;color:var(--color-on-surface-secondary);line-height:1.6}
.sq-enquiry-form{display:flex;flex-direction:column;gap:20px;padding:clamp(24px,4vw,42px);background:var(--color-surface-tint);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);min-width:0}
.sq-enquiry-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.sq-enquiry-form label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600;min-width:0}
.sq-enquiry-form input:not([type="checkbox"]),.sq-enquiry-form select,.sq-enquiry-form textarea{width:100%;font:400 14px/1.5 var(--font-family-body);color:var(--color-on-surface);border:1px solid rgba(48,45,40,.22);padding:13px 14px;background:#fff;border-radius:5px;min-width:0;resize:vertical}
.sq-enquiry-form input:focus,.sq-enquiry-form textarea:focus,.sq-enquiry-form select:focus{border-color:var(--color-secondary)}
.sq-enquiry-form .sq-enquiry-consent{display:flex;flex-direction:row;align-items:flex-start;gap:10px;font-weight:400;font-size:12px;line-height:1.65}
.sq-enquiry-consent input{flex-shrink:0;margin-top:3px}
.sq-enquiry-consent a{color:inherit;text-decoration:underline}
.sq-enquiry-submit{width:fit-content;border:0;border-radius:30px;background:var(--color-on-surface);color:#fff;display:inline-flex;gap:20px;align-items:center;justify-content:center;padding:15px 22px;cursor:pointer;font:600 13px/1.3 var(--font-family-body);text-decoration:none}
.sq-enquiry-submit:hover{background:var(--color-secondary);color:#fff}
.sq-form-notice{margin:0;font-size:12px;min-height:0;color:var(--color-on-surface-secondary)}
.sq-form-notice:empty{display:none}
.sq-inline-button{margin-top:20px}
.sq-editorial-depth{background:var(--color-surface-tint);padding:clamp(56px,6vw,104px) 25px}
.sq-editorial-depth__inner{max-width:1150px;margin:0 auto}
.sq-editorial-depth__eyebrow{font-size:11px;font-weight:600;letter-spacing:.18em;color:var(--color-secondary)}
.sq-editorial-depth__intro{max-width:760px}
.sq-editorial-depth__intro .section-title{margin:12px 0 18px}
.sq-editorial-depth p{line-height:1.8;color:var(--color-on-surface-secondary)}
.sq-editorial-depth__grid{margin-top:42px;display:grid;grid-template-columns:repeat(4,1fr);gap:25px}
.sq-editorial-depth__grid article{border-top:1px solid var(--color-border);padding-top:22px}
.sq-editorial-depth__grid article span{font-size:11px;text-transform:uppercase;color:var(--color-secondary);letter-spacing:.1em}
.sq-editorial-depth__grid article h3{font-family:var(--font-family-heading);font-size:26px;margin:14px 0}
.sq-editorial-depth__grid article p{font-size:14px}
.sq-editorial-depth__closing{margin-top:26px;max-width:770px}
.sq-editorial-depth__closing a{color:var(--color-on-surface);text-underline-offset:4px}
/* Only fixed-layout image families override the baseline height:auto rule */
.sq-content-hero__image img,.sq-hero img,.sq-portfolio img,.portfolio-gallery img,.portfolio-hero-collage img,.sq-services img,.sq-contact-main .sq-content-hero img{width:100%;height:100%;object-fit:cover}
@media(max-width:1180px){.sq-header-links{gap:9px}.sq-header-links a{font-size:11px}.sq-header-contact{font-size:11px;padding:10px 12px}.sq-header-inner{gap:14px}}
@media(max-width:1030px){.sq-header-links,.sq-header-contact{display:none}.sq-header-toggle{display:flex}.sq-mobile-menu{position:absolute;top:100%;left:0;right:0;z-index:1210;display:flex;flex-direction:column;padding:15px clamp(20px,4vw,50px) 25px;background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:0 25px 35px rgba(0,0,0,.12);max-height:calc(100dvh - 72px);overflow:auto}.sq-mobile-menu>a{display:flex;justify-content:space-between;text-decoration:none;color:var(--color-on-surface);font:500 27px/1.2 var(--font-family-heading);padding:13px 0;border-bottom:1px solid var(--color-border)}.sq-mobile-menu>a[aria-current="page"]{color:var(--color-secondary)}.sq-mobile-menu>a span{font-size:16px;align-self:center}.sq-mobile-menu p{font-size:13px;margin:22px 0 0;color:var(--color-on-surface-secondary);overflow-wrap:anywhere}.sq-mobile-menu p a{color:inherit}}
@media(max-width:767px){.hero-section,.hero-title,.section-title{overflow-wrap:anywhere;word-break:break-word;white-space:normal}.sq-header-inner{padding:12px 19px;min-height:68px}.sq-header-identity strong{font-size:15px}.sq-header-mark{width:32px;height:32px}.sq-header-mark svg{width:32px;height:32px}.sq-header-toggle{padding:10px 2px}.sq-footer-root .sq-footer-directory{grid-template-columns:1fr;gap:26px;margin-bottom:28px}.sq-footer-root .sq-footer-inner{padding:0 22px}.sq-footer-root{padding:44px 0 22px}.sq-business-details{grid-template-columns:1fr;gap:16px}.sq-business-details dl{grid-template-columns:1fr;gap:12px}.sq-business-details--top{padding:18px}.sq-legal-main{padding:42px 20px 66px}.sq-legal-reading{gap:20px}.sq-content-hero{grid-template-columns:1fr}.sq-content-hero__copy{padding:65px 23px}.sq-content-hero__image{height:280px;min-height:280px}.sq-contact-section{grid-template-columns:1fr;padding:50px 20px 80px}.sq-enquiry-row{grid-template-columns:1fr}.sq-enquiry-form{padding:24px 18px}.sq-editorial-depth{padding:60px 22px}.sq-editorial-depth__grid{grid-template-columns:1fr 1fr;gap:22px}.sq-editorial-depth__grid article h3{font-size:23px}}
@media(max-width:480px){.sq-header-identity strong{font-size:13px;letter-spacing:.07em}.sq-header-identity small{font-size:8px}.sq-header-inner{gap:8px}.sq-editorial-depth__grid{grid-template-columns:1fr}.sq-mobile-menu>a{font-size:25px}.sq-content-hero__image{height:235px;min-height:235px}.sq-enquiry-submit{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition-duration:.01ms!important;animation-duration:.01ms!important}}

.sq-service-row:focus-visible,.sq-enquiry-submit:focus-visible,.sq-header-toggle:focus-visible{outline:2px solid var(--color-secondary);outline-offset:3px}
.services-teaser-play,.services-row-link{cursor:pointer;text-decoration:none}
.services-teaser-play:hover,.services-row-link:hover{opacity:.8}
.sq-site-header a:visited{color:var(--color-on-surface)}
.sq-site-header .sq-header-contact:hover{color:var(--color-surface)}
.sq-site-header .sq-mobile-menu a:hover{color:var(--color-secondary)}
