body{font-weight:400}
button{font:inherit}
a,button{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
a:hover{color:var(--color-text)}
.btn:hover{background:var(--brand-primary-hover)}
[hidden]{display:none!important}
.container{width:min(calc(100% - var(--gutter)*2),var(--container-max));padding-inline:0;margin-inline:auto}
h1,h2{font-weight:500;letter-spacing:-.055em}
h3{font-size:clamp(1.2rem,1.8vw,1.8rem);font-weight:500;letter-spacing:-.025em}
.bp-section{padding-block:clamp(4rem,8vw,9rem)}
.bp-section h2{max-width:950px}
.bp-eyebrow{text-transform:uppercase;letter-spacing:.19em;font-size:.7rem;font-weight:600;margin-bottom:1.75rem;line-height:1.7;color:var(--bp-champagne)}
.bp-link{display:inline-flex;align-items:center;gap:1rem;font-size:.9rem;text-decoration:none;border-bottom:1px solid currentColor;padding-block:.5rem;min-height:44px;width:fit-content}
.bp-link:hover{color:var(--bp-champagne)}
.bp-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem 2rem;margin-top:2rem}
.btn{font-size:.85rem;font-weight:500;min-height:52px;gap:2rem;padding:1.15rem 1.5rem}
.bp-section-heading{display:flex;align-items:end;justify-content:space-between;gap:3rem;margin-bottom:3.5rem}
.bp-section-heading h2{max-width:850px}
.bp-section-heading>.bp-link{flex-shrink:0}
.site-header__inner{justify-content:space-between;gap:1rem}
.site-logo img{height:78px;width:117px;object-fit:contain}
.site-logo{min-width:117px}
.main-nav{margin-left:auto}
.bp-header-cta .bp-actions{margin:0}
.bp-header-cta .btn{min-height:44px;font-size:.76rem;padding:.85rem 1.15rem;gap:1rem}
.bp-header-cta .bp-link{display:none}
.menu>li>a{font-weight:400}
.transparent-header .site-header:not(.is-scrolled){background:linear-gradient(rgba(7,12,18,.6),transparent)}
.site-header.is-scrolled{box-shadow:none;border-bottom:var(--bp-border)}
.bp-image{overflow:hidden}
.bp-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.bp-surface{background:var(--color-surface)}
.bp-final{position:relative;isolation:isolate;padding:clamp(5rem,10vw,10rem) 0;overflow:hidden}
.bp-final>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.bp-final:after{content:"";position:absolute;inset:0;background:var(--bp-overlay);z-index:-1}
.bp-final h2{max-width:850px}
.bp-final .container>p:not(.bp-eyebrow){margin-top:1.8rem}
.site-footer{padding:4rem 0 1.5rem;background:var(--color-bg);border:0}
.bp-footer-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:3rem;padding-bottom:4rem}
.bp-footer-top nav,.bp-footer-top>div:last-child{display:flex;flex-direction:column;gap:.8rem;align-items:start}
.bp-footer-top a{text-decoration:none;font-size:.9rem}
.bp-footer-top p{font-size:.8rem;color:var(--color-text-muted);margin-top:1rem}
.bp-wordmark{font-size:2.5rem!important;font-weight:700;letter-spacing:-.05em;line-height:1}
.bp-wordmark span{display:block;font-size:.6rem;letter-spacing:.4em;margin-top:.5rem}
.bp-footer-bottom{display:flex;justify-content:space-between;gap:1rem;padding-top:1.5rem;border-top:var(--bp-border);font-size:.65rem;color:var(--color-text-muted)}
.bp-mobile-cta{display:none}
.bp-whatsapp{position:fixed;bottom:1.5rem;right:1.5rem;z-index:100;background:var(--color-bg);padding:.7rem 1rem;border:var(--bp-border);font-size:.75rem;text-decoration:none}
.bp-reveal-active [data-reveal]{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}
.bp-reveal-active [data-reveal].is-visible{opacity:1;transform:none}
@media(min-width:1920px){.bp-hero--home h1{max-width:1050px}.bp-hero-image{object-position:center 55%}}
@media(max-width:1200px){.bp-header-cta{display:none}.bp-section-heading{display:block}.bp-section-heading>.bp-link{margin-top:2rem}.bp-mosaic{gap:2rem}.bp-mosaic-item:not(:first-child) .bp-image{height:260px}.bp-mosaic-item:first-child .bp-image{min-height:500px}.bp-slider-controls{margin-top:1.5rem}}
@media(max-width:1024px){:root{--header-height:80px}.site-logo img{height:62px;width:93px}.menu-toggle{display:flex}.main-nav{background:var(--color-bg)}.bp-process ol{grid-template-columns:repeat(2,1fr)}.bp-cards{grid-template-columns:repeat(2,1fr)}.bp-territory{grid-template-columns:1fr}.bp-faq{grid-template-columns:1fr;gap:3rem}.bp-footer-top{grid-template-columns:1.5fr 1fr 1fr}.bp-header-cta{display:block;margin-left:auto}.bp-breadcrumb{margin-bottom:2rem}}
@media(max-width:767px){.bp-hero--home{min-height:88svh;padding-top:8rem}.bp-hero--photo:not(.bp-hero--home){min-height:75svh;padding-top:7rem}.bp-hero--text{padding-top:8rem}.bp-hero-content h1{font-size:clamp(3.2rem,10vw,5.5rem);max-width:650px}.bp-hero-subtitle{font-size:1rem;max-width:340px}.bp-hero-foot>span:last-child{display:none}.bp-hero-foot{font-size:.55rem;bottom:1.5rem}.bp-hero-foot a{font-size:.7rem}.bp-hero-image{object-position:60% center}.bp-service-strip{display:grid;grid-template-columns:1fr 1fr;font-size:.58rem;gap:.8rem}.bp-actions{gap:.7rem 1.5rem}.bp-actions .btn{font-size:.8rem}.bp-mosaic{grid-template-columns:1fr 1fr;gap:2rem 1rem}.bp-mosaic-item:first-child{grid-column:1/-1;grid-row:auto}.bp-mosaic-item:first-child .bp-image{height:400px;min-height:0}.bp-mosaic-item:not(:first-child) .bp-image{height:260px}.bp-mosaic-item:nth-child(2){margin-top:0}.bp-mosaic-item>span{font-size:.65rem}.bp-cards{gap:2.5rem 1rem;margin-top:2.5rem}.bp-card-copy h3{font-size:.95rem}.bp-card-copy{gap:.5rem}.bp-card-copy>.bp-index{display:none}.bp-card .bp-image{aspect-ratio:3/4}.bp-process ol{gap:2rem 1.2rem}.bp-process li:before{margin-bottom:1.5rem}.bp-process h3{font-size:1.1rem}.bp-process p:not(.bp-eyebrow){font-size:.85rem}.bp-slider{gap:1rem}.bp-slider figure{flex-basis:88vw}.bp-slider img{aspect-ratio:4/3}.bp-footer-top{grid-template-columns:1fr 1fr;gap:2rem}.bp-footer-top>div:first-child{grid-column:1/-1}.bp-footer-bottom{flex-wrap:wrap;line-height:1.7}.bp-footer-bottom>span{display:none}.bp-mobile-cta{position:fixed;display:flex;bottom:0;left:0;right:0;z-index:1000;background:var(--color-bg);border-top:var(--bp-border);padding:0 var(--gutter) env(safe-area-inset-bottom)}.bp-mobile-cta a{flex:1;display:flex;justify-content:space-between;gap:1rem;padding:1rem .75rem;font-size:.8rem;text-decoration:none;min-height:54px}.bp-mobile-cta a:first-child{color:white;background:var(--brand-primary)}body:has(.bp-mobile-cta){padding-bottom:calc(64px + env(safe-area-inset-bottom))}.bp-whatsapp{display:none}.bp-editorial .bp-card{grid-template-columns:1fr;gap:1rem;margin-bottom:4rem}.bp-editorial .bp-card:nth-child(even) .bp-image{order:0}.bp-editorial .bp-image{aspect-ratio:4/3}.bp-editorial .bp-card-copy>.bp-index{display:block}.bp-benefits,.bp-split,.bp-contact{grid-template-columns:1fr;gap:2.5rem}.bp-service-gallery{gap:1rem}.bp-service-gallery figure:nth-child(even){padding-top:2rem}.bp-contact-details{border-left:0;border-top:var(--bp-border);padding:2rem 0 0}.bp-header-cta .btn{font-size:.68rem;padding:.6rem .8rem;gap:.5rem}.bp-header-cta .bp-actions{gap:0}.bp-eyebrow{font-size:.62rem;margin-bottom:1.25rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.bp-reveal-active [data-reveal]{opacity:1;transform:none}.bp-image img{transform:none!important}.bp-slider{scroll-behavior:auto}}

/* Shared finish: softened edges, warm light and deliberate transitions. */
.bp-image,.bp-gallery-item a,.bp-lightbox img{border-radius:var(--radius-card)}
.bp-slider-controls button,.bp-filters button,.bp-more button,.bp-whatsapp,.bp-lightbox button{border-radius:var(--radius-ui)}
.bp-surface{background:radial-gradient(ellipse at 80% 20%,#c5a36b0d,transparent 55%),linear-gradient(180deg,var(--color-bg),var(--color-surface) 30%,var(--color-bg))}
.site-header.is-scrolled{background:rgba(12,14,17,.88);backdrop-filter:blur(18px)}
.bp-section-heading{align-items:end}
.bp-section-heading h2{max-width:850px;text-wrap:balance}
.bp-image img{transition:transform 1.3s var(--ease-out)}
.bp-link{transition:color .3s,border-color .3s}
.btn{transition:background .3s,transform .3s,box-shadow .3s}
.btn:hover{transform:translateY(-2px);box-shadow:0 8px 30px #0003}
.bp-final{margin:0 var(--gutter) 3rem;border-radius:var(--radius-card)}
.bp-final:after{background:linear-gradient(90deg,#080a0de6,#080a0d40),linear-gradient(0deg,#080a0d80,transparent)}
.bp-reveal-active [data-reveal]{transform:translateY(32px);transition:opacity 1s var(--ease-out),transform 1.2s var(--ease-out);transition-delay:var(--reveal-delay,0ms)}
.bp-hero--home:after{background:linear-gradient(90deg,#06080bbd,transparent 85%),linear-gradient(0deg,var(--color-bg),transparent 30%,#06080b50)}
@media(prefers-reduced-motion:no-preference){
 .bp-motion .bp-hero-content>*{animation:bp-arrive 1.1s var(--ease-out) both}
 .bp-motion .bp-hero-content h1{animation-delay:.12s}
 .bp-motion .bp-hero-subtitle{animation-delay:.24s}
 .bp-motion .bp-hero-content .bp-actions{animation-delay:.36s}
 @keyframes bp-arrive{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
}
@media(prefers-reduced-motion:reduce){.bp-reveal-active [data-reveal],.btn,.bp-image img,.bp-slider img,.bp-gallery-item img{transition:none;transform:none!important;animation:none}}
@media(max-width:1024px){.site-header.is-scrolled{backdrop-filter:none;background:var(--color-bg)}}
/* A title switches on from left to right, without moving its baseline. */
.bp-title-word{display:inline-block;white-space:nowrap}
.bp-title-letter{display:inline}
.bp-motion .bp-light-title .bp-title-letter{opacity:.18}
.bp-motion .bp-light-title.is-lit .bp-title-letter{animation:bp-letter-light .7s ease-out both;animation-delay:var(--letter-delay)}
.bp-motion .bp-hero-content h1{animation:none}
@keyframes bp-letter-light{0%{opacity:.18;text-shadow:none}45%{opacity:1;text-shadow:0 0 14px #f7d99b99,0 0 32px #c5a36b55}100%{opacity:1;text-shadow:0 0 0 transparent}}
@media(prefers-reduced-motion:reduce){.bp-light-title .bp-title-letter{opacity:1!important;animation:none!important;text-shadow:none!important}}
@media print{.bp-light-title .bp-title-letter{opacity:1!important;animation:none!important}}
/* One direct conversation, with solid and outlined WhatsApp actions. */
.btn.bp-wa{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;border:1px solid var(--bp-whatsapp);background:var(--bp-whatsapp);color:var(--bp-whatsapp-ink);font-weight:600;text-decoration:none;line-height:1.3}
.btn.bp-wa:hover{background:var(--bp-whatsapp-hover);border-color:var(--bp-whatsapp-hover);color:var(--bp-whatsapp-ink)}
.btn.bp-wa--outline{background:transparent;color:var(--bp-whatsapp)}
.btn.bp-wa--outline:hover{background:var(--bp-whatsapp);color:var(--bp-whatsapp-ink)}
.bp-wa-icon{flex:0 0 22px;width:22px;height:22px}
.btn.bp-wa:disabled{cursor:not-allowed;transform:none;box-shadow:none}
.bp-header-cta .bp-wa{min-height:44px;padding:.7rem 1rem;font-size:.8rem}
.bp-rental-actions{display:flex;flex-direction:column;align-items:center;gap:1.25rem}
.bp-mobile-cta .bp-wa{margin:.5rem 0;border-radius:var(--radius-ui);padding:.8rem;min-height:48px;font-size:.85rem;width:100%}
.bp-mobile-cta a:first-child{background:var(--bp-whatsapp);color:var(--bp-whatsapp-ink)}
@media(max-width:767px){.bp-header-cta .bp-wa{padding:.6rem .8rem;font-size:.75rem}.bp-hero .bp-actions .bp-wa{padding:1rem 1.2rem}.bp-final .bp-wa{gap:.6rem;font-size:.8rem}}
.btn.bp-email{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;border:1px solid var(--color-text-muted);background:transparent;color:var(--color-text);font-weight:500}
.btn.bp-email:hover{background:var(--color-text);color:var(--color-bg);border-color:var(--color-text)}
.bp-email svg{flex:0 0 22px}
.btn.bp-email:disabled{cursor:not-allowed;transform:none;box-shadow:none}

/* Redesign: storytelling in the DJI manner. Dark chapters alternate with white
   sections; narrow measure, split headings, wide rounded imagery. */
:root{--bp-wrap:1200px;--bp-ink:#0c0e11;--bp-gold-ink:#8a6a35}
.bp-wrap{width:min(calc(100% - var(--gutter)*2),var(--bp-wrap));margin-inline:auto}
.bp-light{--color-bg:#fff;--color-surface:#f5f3ef;--color-text:var(--bp-ink);--color-text-muted:#596069;--color-border:#e3e0da;--color-focus:var(--bp-gold-ink);background:var(--color-bg);color:var(--color-text)}
.bp-light--warm{--color-bg:#f5f3ef;--color-surface:#fff}
.bp-light .bp-eyebrow{color:var(--bp-gold-ink)}
.bp-light .bp-link:hover{color:var(--bp-gold-ink)}
.bp-light a:hover{color:var(--color-text)}
.bp-light .btn.bp-wa--outline{color:#0b7a3b;border-color:#0b7a3b}
.bp-light .bp-light-title.is-lit .bp-title-letter{animation-name:bp-letter-light-ink}
@keyframes bp-letter-light-ink{0%{opacity:.18;text-shadow:none}45%{opacity:1;text-shadow:0 0 18px #c5a36b88}100%{opacity:1;text-shadow:0 0 0 transparent}}
.bp-section .bp-wrap h2,.bp-centered h2{text-wrap:balance}

/* Title left, text right — the recurring DJI heading. */
.bp-split-head{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(2rem,6vw,6rem);align-items:end;margin-bottom:clamp(2.5rem,4vw,3.75rem)}
.bp-split-head h2{font-size:clamp(2.2rem,3.8vw,3.9rem);line-height:1.08;letter-spacing:-.04em;max-width:none}
.bp-split-head p:not(.bp-eyebrow){font-size:clamp(1rem,1.1vw,1.1rem);line-height:1.75;color:var(--color-text-muted);max-width:520px}
.bp-split-head .bp-link,.bp-split-head .bp-actions{margin-top:1.25rem}
.bp-split-head .bp-eyebrow{margin-bottom:1.25rem}
.bp-centered.bp-wrap{max-width:860px}

/* Icon checklist, shared by home and contact page. */
.bp-icon{display:block;flex:none}
.bp-checks{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--color-border);border:1px solid var(--color-border);border-radius:var(--radius-card);overflow:hidden}
.bp-checks--three{grid-template-columns:repeat(3,1fr);margin-top:clamp(2.5rem,4vw,3.5rem)}
.bp-checks li{background:var(--color-bg);padding:clamp(1.5rem,2.5vw,2.25rem)}
.bp-checks .bp-icon{color:var(--brand-primary);margin-bottom:1.5rem}
.bp-checks h3{font-size:1.15rem;letter-spacing:-.02em;margin-bottom:.6rem}
.bp-checks p{font-size:.92rem;line-height:1.65;color:var(--color-text-muted)}

/* Final call to action as a card, on whatever background precedes it. */

.bp-light .bp-final{margin:0 var(--gutter) clamp(2rem,4vw,4rem);color:#f5f1e9;--color-text:#f5f1e9;--color-text-muted:#cfd3d7}
.bp-light .bp-final .bp-eyebrow{color:var(--bp-champagne)}
.bp-final .container{width:min(calc(100% - var(--gutter)*2),var(--bp-wrap))}
.bp-final h2{font-size:clamp(2.2rem,4vw,4.2rem);line-height:1.08}

@media(max-width:900px){.bp-split-head{grid-template-columns:1fr;gap:1.25rem;align-items:start}.bp-checks{grid-template-columns:1fr 1fr}.bp-checks--three{grid-template-columns:1fr}}
@media(max-width:560px){.bp-checks{grid-template-columns:1fr}.bp-checks li{display:grid;grid-template-columns:44px 1fr;column-gap:.75rem}.bp-checks .bp-icon{grid-row:span 2;margin:0}.bp-checks p{grid-column:2}}
.bp-light .bp-final .btn.bp-wa--outline{color:var(--bp-whatsapp);border-color:var(--bp-whatsapp)}
.bp-light .bp-final .btn.bp-wa--outline:hover{color:var(--bp-whatsapp-ink)}

/* Boxed layout: every block shares the same 1200px measure as the header and footer. */
.bp-final,.bp-light .bp-final{width:min(calc(100% - var(--gutter)*2),var(--bp-wrap));margin:0 auto clamp(2rem,4vw,4rem)}
.bp-final .container{width:auto;padding-inline:clamp(1.5rem,5vw,4.5rem)}
/* Light wrappers contain their children's margins, so the final card never sits on the footer. */
.bp-light{display:flow-root}
/* Footer: brand, navigation, contacts and the legal details required for an Italian business. */
.bp-footer-top{grid-template-columns:1.5fr .8fr 1.1fr 1.3fr;gap:clamp(2rem,4vw,3.5rem)}
.bp-footer-top .bp-eyebrow{margin:0 0 .4rem;font-size:.66rem}
.bp-footer-brand p{max-width:320px;line-height:1.6;margin:1.25rem 0 1.5rem}
.bp-footer-brand .btn{min-height:46px;padding:.8rem 1.1rem;font-size:.8rem}
.bp-footer-top address{font-style:normal;display:flex;flex-direction:column;gap:.8rem;align-items:start;font-size:.9rem;line-height:1.5}
.bp-footer-top address strong{font-weight:500;color:var(--color-text)}
.bp-footer-top address span{color:var(--color-text-muted)}
.bp-footer-top a:hover{color:var(--bp-champagne)}
.bp-footer-bottom{align-items:center}
.bp-footer-bottom p{margin:0}
.bp-footer-bottom a{color:inherit}
@media(max-width:1024px){.bp-footer-top{grid-template-columns:1fr 1fr}.bp-footer-brand{grid-column:1/-1}}
@media(max-width:560px){.bp-footer-top{grid-template-columns:1fr}}
.bp-footer-top .bp-footer-contacts,.bp-footer-top nav{display:flex;flex-direction:column;gap:.8rem;align-items:start}
.bp-footer-contacts a{font-size:.9rem;overflow-wrap:anywhere}
