:root{--ink:#061b22;--teal:#397f8a;--paper:#f5f3ee;--muted:#dfe1dd}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:#101617;font:15px/1.55 "DM Sans",sans-serif}.wrap{width:min(1120px,calc(100% - 80px));margin:auto}.hero{height:665px;position:relative;overflow:hidden;background:radial-gradient(circle at 65% 40%,#12313a 0,#071c24 36%,#031219 72%);color:#fff}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(1,14,20,.95) 0,rgba(1,14,20,.72) 42%,rgba(1,14,20,.08) 72%)}.hero-photo{position:absolute;right:0;top:30px;width:55%;height:635px;background:url(assets/hero-original-v2.jpg) center/cover no-repeat;mix-blend-mode:screen;opacity:.82}.nav{height:92px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:3}.brand{display:flex;align-items:center;gap:16px;color:#fff;text-decoration:none;font-size:11px;line-height:1.35;letter-spacing:5px}.brand b{font-weight:400}.mark{font:49px/1 Italiana;color:#fff;border-right:1px solid #70848a;padding-right:12px;letter-spacing:-10px}.mark span{color:#4c8a94}.links{display:flex;gap:40px;align-items:center}.links a{color:#fff;text-decoration:none;text-transform:uppercase;letter-spacing:1.5px;font-size:10px}.links .outline{border:1px solid #708088;padding:12px 22px}.menu{display:none}.hero-copy{position:relative;z-index:2;padding-top:93px}.hero h1{font-size:46px;line-height:1.2;font-weight:300;letter-spacing:-1.3px;margin:0}.hero h1 em,.intro em{font-style:normal;color:#cfd3d2}.hero h1 em{color:#438c96}.rule{display:block;width:42px;border-top:1px solid #5f8991;margin:32px 0}.hero-copy p{font-size:15px;color:#eceeed;line-height:1.65}.button{display:inline-flex;gap:25px;align-items:center;margin-top:19px;background:linear-gradient(90deg,#0b5665,#277681);padding:16px 28px;color:white;text-decoration:none;text-transform:uppercase;font-size:11px;letter-spacing:2px}.intro{min-height:530px;display:grid;grid-template-columns:1.15fr .9fr;gap:85px;padding-top:76px}.intro h2{font-size:31px;line-height:1.28;font-weight:400;margin:0}.intro h2 strong{font-weight:400;color:#286f79}.rule.dark{border-color:#4b777c;margin-top:29px}.intro-text{font-size:13px;line-height:1.55}.intro-text p{margin:0 0 8px}.intro-text blockquote{border-left:1px solid #2e7d84;margin:15px 0 12px;padding-left:20px}.services{background:#f0efeb;padding:45px 0 58px}.eyebrow{text-align:center;text-transform:uppercase;letter-spacing:4px;font-size:10px;color:#47666b}.services h2,.projects h2{text-align:center;font-size:26px;line-height:1.3;margin:10px 0 38px;font-weight:400}.services h2 em{font-style:normal;color:#317983}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px}.service-grid article{padding:0 10px}.service-title{display:flex;align-items:center;gap:18px}.service-title h3{font-weight:500;font-size:17px}.service-title h3:after{content:"";display:block;width:22px;border-bottom:1px solid #4c7e83;margin-top:11px}.icon{width:61px;height:61px;border:1px solid #7da1a4;border-radius:50%;display:grid;place-items:center;font-size:32px;color:#56898f}.service-grid p{margin-top:26px}.service-grid small{display:block;margin-top:24px;line-height:1.55}.projects{background:#041d25;color:#fff;padding:31px 0 47px}.projects .eyebrow{color:#a8bcc0}.projects h2{margin:8px 0 25px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.cards article{background:#f3f2ef;color:#13191a;border-radius:2px;overflow:hidden}.cards img{width:100%;height:176px;object-fit:contain;display:block;padding:20px;background:#fff}.cards article div{padding:16px 18px}.cards small{color:#7d9698;text-transform:uppercase;font-size:8px;letter-spacing:1px}.cards h3{font-size:15px;line-height:1.22;margin:5px 0 7px}.cards p{font-size:11px;line-height:1.4;min-height:62px}.cards a{font-size:9px;text-transform:uppercase;letter-spacing:1px;color:#172024;text-decoration:none;font-weight:600}.about{display:grid;grid-template-columns:36% 40% 24%;min-height:535px}.about-photo{background:url(assets/about-andrea.png) center/cover}.about-copy{padding:48px 55px 25px}.eyebrow.left{text-align:left}.about-copy h2{font-size:26px;line-height:1.27;font-weight:400;margin:8px 0 23px}.about-copy p{font-size:12px}.about-copy b{font-size:12px}.signature{font:italic 23px cursive;margin-top:14px}.stats{padding:65px 50px 20px 0}.stats div{border-bottom:1px solid #d7d6d1;padding:17px 0;display:grid;grid-template-columns:75px 1fr}.stats b{font-size:27px;color:#367982;font-weight:400}.stats span{font-size:10px;line-height:1.45}footer{background:#06232b;color:white;padding:34px 0 30px;position:relative;overflow:hidden}.contact{display:grid;grid-template-columns:1fr .9fr;gap:120px;position:relative}.eyebrow.light{color:#cad3d3}.contact h2{font-size:30px;line-height:1.2;margin:10px 0 15px;font-weight:400}.contact h2 em{font-style:normal;color:#4d929b}.contact p{font-size:11px}.contact .button{padding:13px 25px}form{z-index:2}label{display:block;font-size:9px;color:#c8d1d1}input,textarea{width:100%;display:block;background:transparent;color:white;border:0;border-bottom:1px solid #638087;outline:0;padding:5px}textarea{border:1px solid #638087;resize:vertical}form button{width:100%;border:0;background:#1f6370;color:white;text-transform:uppercase;letter-spacing:2px;font-size:10px;padding:12px;margin-top:10px}.footer-mark{position:absolute;right:-25px;bottom:-75px;color:#24444b;font:150px Italiana;opacity:.7}.about,.hero,.intro,.services,.projects,footer{scroll-margin-top:70px}@media(max-width:800px){.wrap{width:min(100% - 38px,600px)}.hero{height:720px}.hero-photo{width:100%;opacity:.48}.links{display:none}.menu{display:block;background:none;border:0;color:white;font-size:24px;z-index:4}.links.open{position:absolute;display:flex;top:78px;right:0;flex-direction:column;align-items:flex-end;background:#061b22;padding:25px;gap:20px}.hero-copy{padding-top:85px}.hero h1{font-size:36px}.intro{grid-template-columns:1fr;gap:30px;padding:60px 0;min-height:0}.service-grid,.cards{grid-template-columns:1fr 1fr}.about{grid-template-columns:1fr}.about-photo{height:500px}.stats{padding:20px 45px 40px}.contact{grid-template-columns:1fr;gap:45px}.footer-mark{display:none}}@media(max-width:520px){.hero h1{font-size:31px}.hero-copy p br{display:none}.intro h2{font-size:25px}.service-grid,.cards{grid-template-columns:1fr}.cards img{height:210px}.about-copy{padding:40px 25px}.contact h2{font-size:27px}}
.hero-photo{top:0;height:100%;background-position:right top;background-size:contain;background-repeat:no-repeat;-webkit-mask-image:linear-gradient(to right,transparent 0%,transparent 55%,rgba(0,0,0,.08) 58%,rgba(0,0,0,.45) 68%,rgba(0,0,0,.82) 78%,#000 86%);mask-image:linear-gradient(to right,transparent 0%,transparent 55%,rgba(0,0,0,.08) 58%,rgba(0,0,0,.45) 68%,rgba(0,0,0,.82) 78%,#000 86%)}

/* Logo Sant’Agata: dimensioni allineate agli altri marchi e Michelin ravvicinato. */
.cards .locanda-logo{height:176px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:#fff;overflow:hidden}
.locanda-brand,.locanda-michelin{display:block;flex-shrink:0;background-image:url(assets/logo-locanda-sant-agata.png);background-repeat:no-repeat;background-size:400px auto;width:220px;max-width:100%}
.locanda-brand{height:90px;background-position:center -268px}
.locanda-michelin{height:35px;background-position:center -514px}
@media(max-width:520px){.cards .locanda-logo{height:210px}}

/* Layout mobile e tablet. */
:where(a,button,input,textarea):focus-visible{outline:2px solid #6ab6c0;outline-offset:4px}
.hero:after{pointer-events:none}
@media(max-width:1000px){
  .links{gap:20px}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .about{grid-template-columns:42% 58%}
  .about-copy{padding:36px 28px}
  .stats{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:24px 32px 36px}
  .contact{gap:40px}
}
@media(max-width:800px){
  .wrap{width:calc(100% - 40px);max-width:600px}
  .nav{height:84px}
  .menu{min-width:48px;min-height:48px;cursor:pointer}
  .links.open{top:76px;left:0;right:0;align-items:stretch;gap:0;padding:12px 20px;border:1px solid #36565e;border-radius:8px;box-shadow:0 12px 24px #0005}
  .links a{display:flex;align-items:center;min-height:48px;font-size:12px}
  .links .outline{margin:8px 0}
  .hero{height:auto;min-height:620px}
  .hero-copy{padding-top:64px;padding-bottom:72px}
  .hero h1{font-size:clamp(29px,5.4vw,40px);letter-spacing:-.7px}
  .hero-photo{width:100%;background-size:auto 100%;opacity:.38;-webkit-mask-image:linear-gradient(to right,transparent,#000);mask-image:linear-gradient(to right,transparent,#000)}
  .hero h1 em{color:#73b8c1}
  .hero-copy p{font-size:16px}
  .button{min-height:48px;max-width:100%;padding:16px 20px;gap:14px;letter-spacing:1.3px}
  .intro{padding:48px 0;gap:24px}
  .intro-text{font-size:16px;line-height:1.65}
  .intro h2 em{color:#657477}
  .services,.projects{padding:44px 0}
  .service-grid{gap:30px;grid-template-columns:1fr}
  .service-grid article{padding:0}
  .service-title h3{font-size:20px}
  .icon{flex-shrink:0}
  .service-grid p{margin-top:16px;font-size:16px}
  .service-grid small{margin-top:12px;font-size:14px}
  .cards{gap:20px}
  .cards article div{padding:20px}
  .cards small{font-size:11px;color:#506c70}
  .cards h3{font-size:21px;line-height:1.3;margin:8px 0 12px}
  .cards p{font-size:15px;line-height:1.6;min-height:0}
  .cards a{display:inline-flex;align-items:center;min-height:44px;font-size:12px}
  .about{grid-template-columns:minmax(0,1fr);min-height:0}
  .about-photo{height:auto;aspect-ratio:1/1;width:100%;max-width:600px;justify-self:center;background-position:center}
  .about-copy{width:100%;max-width:640px;margin:auto;padding:36px 20px 16px}
  .about-copy p,.about-copy b{font-size:16px;line-height:1.65}
  .stats{width:100%;max-width:640px;margin:auto;padding:16px 20px 40px;gap:16px}
  .stats div{grid-template-columns:1fr;gap:8px;align-content:start}
  .stats span{font-size:13px}
  .stats span br{display:none}
  footer{padding:44px 0 max(32px,env(safe-area-inset-bottom))}
  .contact{gap:32px;grid-template-columns:minmax(0,1fr)}
  .contact p{font-size:16px;line-height:1.65}
  label{font-size:14px;margin-bottom:18px}
  input,textarea{font:inherit;font-size:16px;min-height:48px;padding:10px 8px;border-radius:0}
  textarea{min-height:120px;margin-top:8px}
  form button{min-height:48px;font-size:12px;cursor:pointer}
}
@media(max-width:560px){
  .cards{grid-template-columns:minmax(0,1fr)}
  .cards img,.cards .locanda-logo{height:190px}
  .hero-copy{padding-top:48px;padding-bottom:56px}
  .hero{min-height:580px}
  .hero-copy p br,.intro h2 br,.projects h2 br,.about-copy h2 br,.contact p br{display:none}
  .hero-copy .button{width:100%;justify-content:center;font-size:10px}
  .intro h2,.services h2,.projects h2,.about-copy h2{font-size:27px;line-height:1.3}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.road{background:#f7f3e9;padding:76px 0;color:#102c33;scroll-margin-top:30px}
.road-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px}
.road-art{text-align:center;min-width:0}
.road-art img{display:block;width:100%;height:auto;max-width:460px;margin:auto}
.road-caption{display:block;font-size:9px;letter-spacing:2px;color:#526568;margin-top:24px}
.road-new{display:inline-block;border:1px solid #d9b17c;border-radius:30px;color:#885019;padding:6px 12px;font-size:10px;letter-spacing:1.5px}
.road-name{font-size:11px!important;letter-spacing:2px;font-weight:600;margin-top:24px!important}
.road h2{font-size:48px;line-height:1.08;font-weight:400;letter-spacing:-1.5px;margin:16px 0 24px}
.road h2 em{font-style:normal;color:#397f8a}
.road-copy>p{font-size:15px;line-height:1.65;max-width:440px}
.road blockquote{font-size:23px;line-height:1.4;border-left:3px solid #e49834;padding-left:20px;margin:24px 0}
.road-button{border:0;cursor:pointer;letter-spacing:1px;font-family:inherit;margin-top:8px;min-height:48px}
#instagram-preview-note{font-size:12px;color:#76512a}
@media(max-width:1000px){.road-grid{gap:32px}.road h2{font-size:40px}}
@media(max-width:650px){.road{padding:44px 0}.road-grid{grid-template-columns:minmax(0,1fr);gap:28px}.road-art img{max-width:280px}.road-caption{font-size:8px;letter-spacing:1.3px;margin-top:14px}.road h2{font-size:39px;letter-spacing:-1px}.road-copy>p{font-size:16px}.road blockquote{font-size:22px}.road-new{font-size:9px}.road-button{width:100%;justify-content:center;padding:15px 12px;font-size:10px}}

.road-button:disabled{cursor:default}

/* Sezione On the Road: proporzioni più compatte su desktop. */
@media(min-width:1001px){
  .road{padding:56px 0}
  .road-grid{max-width:960px;grid-template-columns:340px minmax(0,1fr);gap:64px}
  .road-art img{width:100%;max-width:300px;max-height:300px;object-fit:contain}
  .road-caption{max-width:300px;margin:18px auto 0;line-height:1.6;letter-spacing:1.4px}
  .road h2{font-size:40px;line-height:1.12;margin:14px 0 20px}
  .road-name{margin-top:18px!important}
  .road blockquote{font-size:21px;margin:20px 0}
}


/* Ritratto e canali social. */
.about-photo{background:#000 url(assets/andrea-bw-dry.png) center/contain no-repeat}
.social-section{background:#e9eeeb;padding:56px 0;scroll-margin-top:30px}
.social-section h2{font-size:30px;line-height:1.25;font-weight:400;margin:12px 0 30px}
.social-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.social-card{display:flex;align-items:flex-start;gap:20px;padding:28px;background:#f8f8f4;border:1px solid #d1dcda;border-radius:6px;min-width:0}
.social-symbol{display:grid;place-items:center;flex:0 0 46px;height:46px;border:1px solid #94b1b5;border-radius:12px;color:#286d79;font-size:34px;line-height:1}
.linkedin-symbol{font-family:Arial,sans-serif;font-weight:700;font-size:26px}
.social-card h3{font-size:22px;font-weight:500;margin:0 0 10px}
.social-card p{font-size:15px;line-height:1.65;margin:0 0 16px}
.social-card a{display:inline-flex;align-items:center;gap:14px;min-height:44px;color:#205e69;font-size:15px;font-weight:600;text-underline-offset:4px;overflow-wrap:anywhere}
.social-pending{display:inline-block;font-size:13px;color:#586c70;line-height:1.5}
@media(max-width:800px){.social-grid{grid-template-columns:minmax(0,1fr)}.social-section{padding:40px 0}.social-section h2{font-size:27px}.social-card{padding:24px 20px}.social-card p{font-size:16px}.about-photo{aspect-ratio:4/3}}
@media(max-width:360px){.social-card{gap:12px;padding:20px 14px}.social-symbol{flex-basis:36px;height:36px;font-size:26px}.linkedin-symbol{font-size:22px}.social-card a{font-size:14px}}

/* Ritratto in bianco e nero ripristinato. */
.about-photo{background:#000 url(assets/andrea-bw-dry.png) center/contain no-repeat}
@media(max-width:800px){.about-photo{aspect-ratio:4/3}}



/* Prenotazione appuntamenti. */
.booking-card{position:relative;z-index:2;padding:30px;border:1px solid #54747b;background:#0c3039;border-radius:8px;align-self:center}
.booking-card h3{font-size:24px;font-weight:400;margin:0 0 14px}
.booking-card p{font-size:15px;line-height:1.65;margin:0 0 18px}
.booking-card .button{display:flex;justify-content:center;min-height:48px;text-align:center;line-height:1.5}
.contact .email-link{display:inline-flex;align-items:center;min-height:44px;color:#d0e4e5;text-underline-offset:4px;font-size:14px;overflow-wrap:anywhere}
@media(max-width:800px){.booking-card{padding:24px 20px}.booking-card h3{font-size:22px}.booking-card p{font-size:16px}}



/* Foto originale a piena altezza, integrata nello sfondo. */
@media(min-width:801px){
.hero-photo{top:0;right:0;width:58%;max-width:none;height:100%;background-image:url(assets/hero-original-v2.jpg);background-size:auto 115%;background-position:right 20%;opacity:.82;mix-blend-mode:screen;-webkit-mask-image:linear-gradient(to right,transparent 0%,transparent 35%,rgba(0,0,0,.1) 43%,rgba(0,0,0,.45) 57%,rgba(0,0,0,.85) 73%,#000 90%);mask-image:linear-gradient(to right,transparent 0%,transparent 35%,rgba(0,0,0,.1) 43%,rgba(0,0,0,.45) 57%,rgba(0,0,0,.85) 73%,#000 90%)}
.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(6,27,34,.3),transparent 22%,transparent 70%,#061b22 100%);pointer-events:none}
}


/* Avviso informativo: nessun consenso a tracciamenti. */
.legal-links{margin-top:28px;padding-top:18px;border-top:1px solid #36555e}
.legal-links a{display:inline-flex;align-items:center;min-height:44px;color:#d0e4e5;font-size:14px;text-underline-offset:4px}
.cookie-notice{position:fixed;z-index:20;right:24px;bottom:24px;width:min(440px,calc(100% - 32px));padding:24px;background:#06232b;color:#fff;border:1px solid #66848a;border-radius:10px;box-shadow:0 12px 40px #0005;max-height:calc(100dvh - 32px);overflow:auto}
.cookie-notice[hidden]{display:none}
.cookie-notice h2{font-size:20px;line-height:1.3;margin:0 0 12px;font-weight:500}
.cookie-notice p{font-size:14px;line-height:1.6;margin:0 0 16px}
.cookie-actions{display:flex;align-items:center;justify-content:space-between;gap:20px}
.cookie-actions a{color:#fff;text-underline-offset:4px;display:inline-flex;align-items:center;min-height:44px;font-size:14px}
.cookie-actions button{font:inherit;font-size:14px;border:1px solid #86b8bf;background:#286b78;color:white;padding:10px 20px;min-height:44px;border-radius:4px;cursor:pointer}
.cookie-policy{max-width:780px;padding:48px 0 64px;font-size:16px;line-height:1.7}
.cookie-policy h1{font-size:34px;line-height:1.2;font-weight:400}
.cookie-policy h2{font-size:23px;line-height:1.3;margin-top:32px}
.cookie-policy a{color:#205e69;text-underline-offset:4px;overflow-wrap:anywhere}
.cookie-policy code{overflow-wrap:anywhere}
@media(max-width:600px){.cookie-notice{right:16px;bottom:max(16px,env(safe-area-inset-bottom));padding:20px}.cookie-notice p{font-size:14px}.cookie-policy{padding-top:28px}.cookie-policy h1{font-size:29px}}
