@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Montserrat:wght@400;500;600;700&display=swap');
:root{--blue:#003f82;--blue-dark:#002b5d;--cream:#eeebe4;--paper:#f8f6f1;--orange:#cf5d37;--text:#1f2930;--muted:#5d646a;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--text);font-family:Montserrat,Arial,sans-serif}a{color:inherit;text-decoration:none}
.main-header{min-height:108px;background:var(--paper);position:sticky;top:0;z-index:50;display:grid;grid-template-columns:1fr 90px 1fr;align-items:center;padding:0 12vw;box-shadow:0 8px 24px rgba(0,0,0,.08)}
.left-nav,.right-nav{display:flex;gap:34px;align-items:center}.left-nav{justify-content:flex-end}.right-nav{justify-content:flex-start}
.main-header nav a{color:var(--blue);text-transform:uppercase;letter-spacing:1.2px;font-size:.92rem;font-weight:500;padding-bottom:6px;border-bottom:2px solid transparent;transition:color .25s ease,border-color .25s ease}.main-header nav a:hover{color:var(--blue-dark);border-color:var(--blue)}
.center-logo{margin:auto;width:72px;height:72px;border:4px double var(--blue);color:var(--blue);display:grid;place-items:center;border-radius:50%;font-family:"Cormorant Garamond",serif;font-size:2.2rem;font-weight:700}
.hero{min-height:620px;background:url("images/TUSCANYHD.png") center/cover no-repeat;position:relative;display:grid;place-items:center;text-align:center;color:white}.hero-shade{position:absolute;inset:0;background:rgba(35,40,45,.5)}.hero-content{position:relative;z-index:2;padding:80px 6vw}
.hero h1{font-family:Montserrat,Arial,sans-serif;text-transform:uppercase;letter-spacing:18px;font-weight:400;font-size:clamp(2.6rem,6vw,5rem);margin:0 0 28px}.hero p{text-transform:uppercase;letter-spacing:7px;font-size:.95rem;margin:0}.dots{font-size:2rem;line-height:.55;margin:56px 0 22px}.discover{text-transform:uppercase;letter-spacing:7px;font-weight:600;transition:color .25s ease,letter-spacing .25s ease}.discover:hover{color:#ddd;letter-spacing:9px}
.section{padding:110px 13vw}.intro-section,.split-section,.contact-section{display:grid;grid-template-columns:1fr 1fr;gap:86px;align-items:center}
.intro-text h2,.philosophy h2,.service-intro h2,.menu-section h2,.contact-section h2{font-family:Montserrat,Arial,sans-serif;color:var(--blue);text-transform:uppercase;letter-spacing:10px;font-size:clamp(2rem,4vw,3.8rem);font-weight:500;margin:0 0 20px}.underline{width:420px;max-width:100%;height:2px;background:#66a8ed;margin-bottom:28px}.lead{color:var(--blue);font-weight:700;font-size:1.05rem}p{line-height:1.85}
.image-hover{overflow:hidden}.image-hover img{width:100%;display:block;object-fit:cover;transition:transform .35s ease,filter .35s ease}.image-hover:hover img{transform:scale(1.035);filter:brightness(1.04)}.intro-image img{height:420px}.photo img{height:406px}
.text-panel h3{color:var(--orange);text-transform:uppercase;letter-spacing:6px;font-size:1.35rem;font-weight:500;line-height:1.55}
.outline-button{display:inline-block;margin-top:30px;border:2px solid var(--blue);color:var(--blue);padding:18px 44px;text-transform:uppercase;letter-spacing:5px;transition:background-color .25s ease,color .25s ease,transform .25s ease}.outline-button:hover{background:var(--blue);color:white;transform:translateY(-3px)}
.philosophy{padding:120px 6vw 40px;text-align:center;background:#ddd9cf}.split-section{background:#ddd9cf}.reverse{background:var(--cream)}
.wide-image{min-height:520px;background:linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.45)),url("images/flour.jpg") center/cover no-repeat;color:white;display:grid;place-items:center;text-align:center;padding:90px 8vw}.wide-image h2{max-width:940px;font-family:"Cormorant Garamond",serif;font-size:clamp(2.6rem,5vw,5.4rem);line-height:1;margin:0 auto 30px}.wide-image p{text-transform:uppercase;letter-spacing:8px}.light-button{display:inline-block;background:white;color:var(--blue);padding:17px 34px;text-transform:uppercase;letter-spacing:4px;font-weight:600;transition:background-color .25s ease,color .25s ease,transform .25s ease}.light-button:hover{background:var(--blue);color:white;transform:translateY(-3px)}
.service-intro{text-align:center;background:var(--paper)}.service-intro>p{max-width:820px;margin:0 auto 50px}.service-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.service-cards article{background:var(--cream);padding:36px;border:1px solid rgba(0,63,130,.15);transition:transform .25s ease,box-shadow .25s ease}.service-cards article:hover{transform:translateY(-8px);box-shadow:0 22px 55px rgba(0,0,0,.12)}.service-cards h3{color:var(--blue);text-transform:uppercase;letter-spacing:4px;font-size:1.2rem}
.menu-section{background:var(--cream);padding:110px 10vw;text-align:center}.section-label{color:var(--orange);text-transform:uppercase;letter-spacing:7px;font-weight:600}.menu-intro{max-width:760px;margin:0 auto 54px}.menu-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;text-align:left}.menu-card{background:var(--paper);padding:34px;border:1px solid rgba(0,63,130,.13);transition:transform .25s ease,box-shadow .25s ease}.menu-card:hover{transform:translateY(-8px);box-shadow:0 22px 55px rgba(0,0,0,.12)}.menu-card h3{color:var(--orange);text-transform:uppercase;letter-spacing:5px;font-weight:500}.menu-card ul{line-height:2}
.contact-section{padding:110px 13vw;background:var(--paper)}.contact-links{display:grid;gap:14px;margin-top:24px}.contact-links a{color:var(--blue);font-weight:700}form{display:grid;gap:14px}input,textarea{width:100%;border:1px solid #c9c4bb;padding:16px;background:white;font:inherit}textarea{min-height:140px}button{border:2px solid var(--blue);background:transparent;color:var(--blue);padding:16px;text-transform:uppercase;letter-spacing:4px;font-weight:700;cursor:pointer;transition:background-color .25s ease,color .25s ease,transform .25s ease}button:hover{background:var(--blue);color:white;transform:translateY(-3px)}
footer{background:var(--blue);color:white;text-align:center;padding:54px 6vw}.footer-logo{font-family:"Cormorant Garamond",serif;font-size:3rem;margin-bottom:10px}
@media(max-width:1100px){.main-header{grid-template-columns:1fr;gap:14px;padding:18px 4vw}.left-nav,.right-nav{justify-content:center;flex-wrap:wrap;gap:16px}.center-logo{order:-1}.intro-section,.split-section,.contact-section{grid-template-columns:1fr}.service-cards,.menu-grid{grid-template-columns:1fr}.section,.contact-section{padding:76px 7vw}}
-width:650px){.main-header nav a{font-size:.75rem}.hero h1{letter-spacing:10px}.hero p{letter-spacing:4px}.photo img,.intro-image img{height:330px}}
@media(max