/* Page-scoped art direction. Shared templates and other service pages stay unchanged. */
.web-page { --web-ink:#153b3c; --web-muted:#52615d; --web-paper:#f5f1e8; background:var(--web-paper); color:var(--web-ink); }
.web-page .nav { background:rgba(14,35,42,.97); }
.web-shell { width:min(1280px,calc(100% - 96px)); margin-inline:auto; }
.web-page main h1,.web-page main h2,.web-page main h3 { font-family:'Cormorant Garamond',Georgia,serif; font-weight:400; letter-spacing:-.035em; }
.web-page main h1,.web-page main h2 { line-height:1.04; }
.web-page main h2 { font-size:clamp(38px,4.2vw,62px); margin:0 0 24px; }
.web-page main h3 { font-size:31px; line-height:1.12; }
.web-page main p { font-size:15px; line-height:1.85; }
.web-page main a { text-underline-offset:.25em; }
.web-page :focus-visible { outline:3px solid #a67533; outline-offset:5px; }
.web-page main section[id],.web-page #consegna-sito { scroll-margin-top:100px; }
.web-page .web-kicker { margin:0 0 22px; font:800 10px/1.7 Manrope,sans-serif; letter-spacing:.17em; text-transform:uppercase; color:#785b2b; }
.web-page .web-button { display:inline-flex; align-items:center; justify-content:space-between; gap:24px; min-height:54px; max-width:100%; padding:15px 23px; border:1px solid var(--web-ink); background:var(--web-ink); color:#fff9ed; font:700 12px/1.6 Manrope,sans-serif; text-decoration:none; transition:background-color .2s,transform .2s; }
.web-page .web-button:hover { background:#245252; transform:translateY(-2px); }
.web-page .web-button span { font-size:21px; font-weight:400; }
.web-page .web-button--gold { border-color:#e5cca2; background:#e5cca2; color:#142f32; }
.web-page .web-button--gold:hover { background:#f1dfbc; }
.web-page .web-text-link { display:inline-flex; align-items:center; gap:20px; min-height:44px; border-bottom:1px solid currentColor; font:700 12px/1.6 Manrope,sans-serif; }
.web-hero { padding:151px 0 62px; }
.web-hero__grid { display:grid; grid-template-columns:1fr 1.07fr; gap:65px; align-items:center; }
.web-hero__copy { min-width:0; }
.web-page .web-hero h1 { margin:0 0 25px; font-size:clamp(56px,5.45vw,80px); color:#163b3a; }
.web-page .web-hero h1 em { color:#96713b; font-weight:400; }
.web-page .web-hero__lead { max-width:465px; margin:0 0 25px; color:var(--web-muted); }
.web-hero__actions { display:flex; flex-wrap:wrap; gap:14px 25px; align-items:center; }
.web-page .web-hero__price { margin:27px 0 0; font-size:12px; color:#485c54; }
.web-hero__price strong { color:#173c3b; font-size:14px; }
.web-hero__price span { display:block; margin-top:2px; }
.web-hero__visual { margin:0; min-width:0; position:relative; }
.web-hero__visual > img { width:100%; height:510px; display:block; object-fit:cover; object-position:55% center; border-radius:0 80px 0 0; }
.web-hero__label { position:absolute; left:-26px; bottom:56px; padding:22px 29px; width:250px; color:#fff8e9; background:#153b3c; box-shadow:0 10px 35px #12332d20; }
.web-hero__label span { display:block; font:800 9px/1.6 Manrope,sans-serif; letter-spacing:.15em; text-transform:uppercase; color:#d6bc91; }
.web-hero__label strong { display:block; margin-top:7px; font:400 28px/1.05 'Cormorant Garamond',Georgia,serif; }
.web-page figcaption { margin-top:9px; color:var(--web-muted); font-size:10px; line-height:1.6; }
.web-hero__visual figcaption { text-align:right; }
.web-principles { padding-block:23px; border-block:1px solid #d6d6c9; }
.web-principles ul { display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px 28px; list-style:none; font-size:11px; font-weight:700; letter-spacing:.025em; }
.web-principles li::before { content:'+'; color:#977239; margin-right:12px; }
.web-offer-section { padding:94px 0 90px; background:#fcfaf5; }
.web-offer-layout { display:grid; grid-template-columns:1.08fr 1fr; grid-template-areas:'intro price' 'photo price'; gap:25px 78px; align-items:start; }
.web-offer-intro { grid-area:intro; }
.web-offer-photo { grid-area:photo; margin:0; }
.web-page .web-offer-intro h2 em { color:#96713b; }
.web-page .web-offer-intro > p:not(.web-kicker) { max-width:520px; margin:0 0 27px; color:var(--web-muted); }
.web-offer-photo img { display:block; width:100%; height:245px; object-fit:cover; object-position:center; }
.web-price-card { grid-area:price; position:relative; padding:42px 44px 36px; background:#153b3c; color:#f9f3e8; }
.web-price-card::before { content:''; position:absolute; top:0; right:0; width:48px; height:48px; background:linear-gradient(225deg,#fcfaf5 49%,#315656 50%); }
.web-page .web-price-card .web-kicker { color:#dfc294; margin-bottom:26px; }
.web-page .web-price-card .web-price-from { font-size:12px; margin:0 0 4px; color:#d9e2db; }
.web-page .web-price { display:flex; gap:12px; align-items:baseline; margin:0; font:500 clamp(66px,6.2vw,88px)/1.1 Manrope,sans-serif; letter-spacing:-.075em; color:#f8f1e4; }
.web-price span { font-size:23px; letter-spacing:-.04em; }
.web-page .web-price-card .web-price-format { font-size:15px; margin:17px 0 4px; font-weight:700; }
.web-page .web-price-card .web-price-extra { font-size:13px; color:#e6ceab; margin:0 0 26px; }
.web-price-list { list-style:none; margin:0 0 28px; border-top:1px solid #ffffff29; }
.web-price-list li { padding:12px 0; border-bottom:1px solid #ffffff29; display:flex; align-items:baseline; gap:12px; font-size:12px; line-height:1.75; color:#e3e9e0; }
.web-price-list li span { color:#d8b886; }
.web-price-card .web-button { width:100%; }
.web-page .web-price-card .web-price-fine { font-size:11px; color:#c5d1c9; margin:18px 0 0; line-height:1.8; }
.web-page .web-price-card :focus-visible { outline-color:#eacb92; }
.web-offer-facts { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; margin-top:42px; padding-top:30px; border-top:1px solid #d8d8cb; }
.web-offer-facts dt { font-size:12px; font-weight:800; margin-bottom:9px; }
.web-offer-facts dd { font-size:12px; color:var(--web-muted); line-height:1.85; }
.web-collection { padding:94px 0; }
.web-section-head { display:grid; grid-template-columns:1.2fr .8fr; gap:60px; align-items:end; margin-bottom:40px; }
.web-page .web-section-head h2 { margin-bottom:0; }
.web-page .web-section-head > p { color:var(--web-muted); margin:0 0 4px; }
.web-concepts { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.web-concept { display:block; background:#fcfaf5; border:1px solid #dad9ce; transition:transform .25s,box-shadow .25s; }
.web-concept:hover { transform:translateY(-5px); box-shadow:0 15px 35px #14372b0d; }
.web-concept__image { height:268px; position:relative; overflow:hidden; background:#234239; }
.web-concept img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s; }
.web-concept:hover img { transform:scale(1.035); }
.web-concept__image::after { content:''; position:absolute; inset:25% 0 0; background:linear-gradient(transparent,#081f19aa); }
.web-concept__name { position:absolute; bottom:24px; left:26px; z-index:1; color:#fff6e6; font:400 48px/1 'Cormorant Garamond',Georgia,serif; }
.web-concept__info { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:24px 26px; }
.web-page .web-concept__info h3 { font:700 13px/1.5 Manrope,sans-serif; letter-spacing:0; margin:0 0 5px; }
.web-concept__info small { color:#5f685f; font-size:11px; }
.web-concept__info > span { display:grid; place-items:center; flex:0 0 35px; width:35px; height:35px; border:1px solid #b7bfaf; border-radius:50%; font-size:20px; }
.web-collection-note { display:flex; justify-content:space-between; align-items:start; gap:45px; margin-top:27px; }
.web-page .web-collection-note p { max-width:765px; font-size:11px; color:var(--web-muted); margin:0; }
.web-collection-note .web-text-link { white-space:nowrap; }
.web-solutions { background:#e9e9df; padding:88px 0 78px; }
.web-solutions__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:40px; }
.web-solution { padding:26px 0; border-top:1px solid #afbbae; }
.web-solution__number { font-size:11px; color:#566458; }
.web-page .web-solution h3 { margin:20px 0 14px; font-size:36px; }
.web-page .web-solution p { font-size:13px; color:#4f6056; margin:0 0 20px; }
.web-solution strong { display:block; font-size:11px; letter-spacing:.035em; font-weight:800; }
.web-basics { display:grid; grid-template-columns:repeat(3,1fr); gap:40px; padding-top:34px; margin-top:18px; border-top:1px solid #afbbae; }
.web-basics h3 { font:700 13px/1.6 Manrope,sans-serif !important; letter-spacing:0 !important; margin:0 0 8px; }
.web-page .web-basics p { font-size:12px; color:#4f6056; margin:0; }
.web-method { padding:95px 0; background:#fcfaf5; }
.web-method__grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:100px; align-items:start; }
.web-page .web-method__intro > p:not(.web-kicker) { color:var(--web-muted); margin:0 0 25px; }
.web-steps { list-style:none; }
.web-steps li { display:grid; grid-template-columns:37px 1fr; gap:22px; padding:24px 0; border-top:1px solid #d6d8cd; }
.web-steps li:first-child { padding-top:0; border-top:0; }
.web-steps li > span { color:#93733e; font:400 29px/1.2 'Cormorant Garamond',Georgia,serif; }
.web-page .web-steps h3 { margin:0 0 10px; font-size:29px; }
.web-page .web-steps p { font-size:13px; color:var(--web-muted); margin:0; }
.web-delivery { margin-top:60px; padding:35px 40px; background:#f0eee5; }
.web-page .web-delivery > h3 { font-size:29px; margin-bottom:15px; }
.web-page .web-delivery > p { font-size:13px; color:var(--web-muted); margin:0 0 16px; }
.web-delivery a { text-decoration:underline; }
.web-delivery-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; margin:25px 0; }
.web-delivery-grid strong { display:block; font-size:12px; margin-bottom:10px; }
.web-page .web-delivery-grid p { font-size:12px; color:var(--web-muted); margin:0; }
.web-faq { padding:90px 0; }
.web-faq__grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:80px; }
.web-page .web-faq details { padding:22px 0; border-bottom:1px solid #cbd1c3; }
.web-page .web-faq details:first-child { border-top:1px solid #cbd1c3; }
.web-page .web-faq summary { cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:20px; list-style:none; font-size:14px; font-weight:700; line-height:1.6; }
.web-faq summary::-webkit-details-marker { display:none; }
.web-faq summary::after { content:'+'; font:400 25px/1 Manrope,sans-serif; flex:0 0 20px; color:#97743d; }
.web-faq details[open] summary::after { content:'−'; }
.web-page .web-faq details p { margin:18px 35px 0 0; font-size:13px; color:var(--web-muted); }
.web-area { padding:60px 0 70px; border-top:1px solid #d6d8cb; }
.web-area__grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; }
.web-page .web-area h2 { font-size:41px; }
.web-page .web-area p { color:var(--web-muted); font-size:13px; margin:0 0 18px; }
.web-area a { text-decoration:underline; }
.web-places { display:flex; flex-wrap:wrap; gap:9px; list-style:none; margin-top:22px; }
.web-places li { border:1px solid #bfc8b8; padding:5px 12px; font-size:10px; }
.web-next { padding:76px 0; background:#153b3c; color:#fff4e5; }
.web-next__grid { display:grid; grid-template-columns:1.25fr 1fr; align-items:center; gap:70px; }
.web-page .web-next .web-kicker { color:#d6b583; }
.web-page .web-next h2 { color:#fff4e5; margin:0 0 20px; }
.web-page .web-next p:not(.web-kicker) { color:#d4dfd4; font-size:13px; margin:0; }
.web-next__actions { display:flex; flex-direction:column; gap:22px; align-items:start; }
.web-next__actions .web-text-link { color:#f2e3ca; }
.web-next :focus-visible { outline-color:#e9c78c; }
.web-related { padding:28px 0; background:#0e2b2e; color:#e0e7db; }
.web-related .web-shell { display:flex; flex-wrap:wrap; justify-content:space-between; gap:14px 25px; }
.web-related a { font-size:11px; min-height:28px; display:flex; align-items:center; text-decoration:underline; }
.web-page .footer { font-size:12px; }
.web-page .web-request-note { font-size:12px; line-height:1.75; max-width:450px; margin:17px 0; color:var(--web-muted); }
.web-hero__price a { text-decoration:underline; text-underline-offset:3px; }
.web-mobile-request { display:none; }
@media(max-width:700px) {
  body.web-page { padding-bottom:calc(108px + env(safe-area-inset-bottom,0px)); }
  .web-mobile-request { position:fixed; z-index:20; left:20px; right:20px; bottom:calc(12px + env(safe-area-inset-bottom,0px)); display:flex; flex-direction:column; align-items:center; gap:3px; padding:13px 12px; background:#153b3c; border:1px solid #d6b583; border-radius:8px; color:#fff4e5; text-align:center; box-shadow:0 8px 25px #0a252d30; }
  .web-mobile-request strong { font-size:13px; line-height:1.5; }
  .web-mobile-request span { font-size:10px; line-height:1.6; color:#e4d6ba; }
  .web-mobile-request:focus-visible { outline:3px solid #996c30; outline-offset:4px; }
  .web-page a,.web-page button,.web-page summary { scroll-margin-bottom:120px; }
}
@media(max-width:700px) and (max-height:440px) { .web-mobile-request { display:none; } body.web-page { padding-bottom:0; } }
@media print { .web-mobile-request { display:none; } body.web-page { padding-bottom:0; } }
.web-page .footer address { margin-top:16px; font-style:normal; color:#c7d1d0; line-height:1.9; font-size:11px; }
@media(max-width:1100px) { .web-hero__grid { gap:35px; }.web-offer-layout { gap:40px; }.web-price-card { padding:35px 30px; }.web-hero__label { left:-12px; }.web-hero__visual > img { height:490px; }.web-method__grid,.web-faq__grid { gap:50px; } }
@media(max-width:800px) { .web-shell { width:calc(100% - 48px); }.web-hero { padding-top:128px; }.web-hero__grid,.web-offer-layout,.web-method__grid,.web-faq__grid,.web-area__grid,.web-next__grid { grid-template-columns:1fr; gap:40px; }.web-page .web-hero h1 { font-size:67px; }.web-page .web-hero__lead { max-width:600px; }.web-hero__visual > img { height:420px; }.web-hero__label { left:20px; bottom:54px; }.web-section-head { grid-template-columns:1fr; gap:23px; }.web-concepts { gap:14px; }.web-concept__image { height:230px; }.web-concept__name { font-size:39px; left:16px; }.web-concept__info { padding:18px 16px; }.web-concept__info > span { display:none; }.web-solutions__grid,.web-basics { gap:25px; }.web-page .web-solution h3 { font-size:32px; }.web-offer-intro img { height:300px; }.web-offer-facts { gap:25px; }.web-price-card { padding:35px; }.web-collection-note { gap:22px; flex-direction:column; }.web-delivery { padding:28px; }.web-delivery-grid { grid-template-columns:1fr; gap:20px; } }
@media(max-width:560px) { .web-shell { width:calc(100% - 40px); }.web-hero { padding:122px 0 42px; }.web-page .web-hero h1 { font-size:51px; }.web-page main h2 { font-size:41px; }.web-hero__grid { gap:32px; }.web-hero__visual > img { height:335px; border-radius:0 55px 0 0; }.web-hero__label { left:0; bottom:50px; padding:18px 22px; width:218px; }.web-hero__label strong { font-size:25px; }.web-hero__actions { gap:15px; }.web-hero__actions .web-button { width:100%; }.web-principles ul { display:grid; gap:10px; }.web-offer-section,.web-collection,.web-solutions,.web-method,.web-faq { padding-block:62px; }.web-offer-intro img { height:225px; }.web-price-card { padding:32px 25px; }.web-page .web-price { font-size:75px; }.web-offer-facts,.web-concepts,.web-solutions__grid,.web-basics { grid-template-columns:1fr; }.web-offer-facts { gap:22px; }.web-concepts { gap:25px; }.web-concept__image { height:270px; }.web-concept__info { padding:21px 24px; }.web-concept__info > span { display:grid; }.web-concept__name { left:24px; font-size:49px; }.web-solutions__grid { gap:0; }.web-solution { padding-bottom:29px; }.web-basics { gap:25px; }.web-delivery { padding:26px 23px; margin-top:32px; }.web-steps li { gap:12px; }.web-faq__grid { gap:25px; }.web-area { padding-block:50px; }.web-area__grid { gap:18px; }.web-next { padding:62px 0; }.web-next__actions .web-button { width:100%; }.web-related .web-shell { flex-direction:column; }.web-page main p { font-size:14px; } }
@media(max-width:800px) { .web-offer-layout { grid-template-areas:'intro' 'price' 'photo'; }.web-offer-photo img { height:300px; }.web-page .web-offer-intro > p:not(.web-kicker) { margin-bottom:0; } }
@media(max-width:560px) { .web-offer-photo img { height:225px; }.web-price-card::before { width:28px; height:28px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.web-page *, .web-page *::before, .web-page *::after { animation:none!important; transition:none!important; }.web-page a:hover,.web-page a:hover img { transform:none!important; } }
