/* =====================================================
   AD PERSONAM
   Carta dell'Appuntamento
   Versione 1.0
===================================================== */

:root{

    --gold:#B89B5E;
    --dark:#222222;
    --text:#555555;
    --light:#FAF9F7;
    --white:#FFFFFF;

}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    font-family:'Montserrat',sans-serif;
    color:var(--text);
    background:#ffffff;
    line-height:1.8;

}

.container{

    width:90%;
    max-width:1100px;
    margin:auto;

}

h1,h2,h3,h4{

    font-family:'Cormorant Garamond',serif;
    color:var(--dark);
    font-weight:600;

}

p{

    font-size:17px;

}

/* ================= HERO ================= */

.hero{

    background:#ffffff;
    text-align:center;
    padding:90px 20px 70px;

}

.logo{

    width:180px;
    margin-bottom:35px;

}

.hero h1{

    font-size:56px;
    margin-bottom:20px;

}

.subtitle{

    max-width:760px;
    margin:auto;
    font-size:22px;
    color:#666;

}

/* ================= SECTIONS ================= */

section{

    padding:80px 0;

}

.intro{

    background:var(--light);
    text-align:center;

}

.intro h2{

    font-size:42px;
    margin-bottom:30px;

}

.intro p{

    max-width:820px;
    margin:auto;

}

/* ================= GRID ================= */

.grid{

    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:35px;

}

.card{

    background:#fff;
    border-radius:18px;
    padding:40px;
    transition:.35s;
    box-shadow:0 10px 40px rgba(0,0,0,.05);
    border-top:4px solid var(--gold);

}

.card:hover{

    transform:translateY(-8px);

}

.card h3{

    font-size:30px;
    margin-bottom:18px;

}

/* ================= QUOTE ================= */

.quote{

    background:var(--light);
    text-align:center;

}

blockquote{

    font-family:'Cormorant Garamond',serif;
    font-size:46px;
    font-style:italic;
    color:var(--dark);
    max-width:850px;
    margin:auto;

}

.quote span{

    display:block;
    margin-top:35px;
    letter-spacing:3px;
    color:var(--gold);

}

/* ================= FAQ ================= */

.faq{

    background:#fff;

}

.faq h2{

    text-align:center;
    font-size:42px;
    margin-bottom:55px;

}

.faq-item{

    margin-bottom:40px;
    padding-bottom:30px;
    border-bottom:1px solid #ECECEC;

}

.faq-item h4{

    font-size:30px;
    margin-bottom:10px;

}

/* ================= CTA ================= */

.cta{

    background:linear-gradient(135deg,#ffffff,#f8f7f5);
    text-align:center;

}

.cta h2{

    font-size:48px;
    margin-bottom:35px;

}

.btn{

    display:inline-block;
    padding:18px 45px;
    border-radius:40px;

    background:var(--gold);

    color:#fff;
    text-decoration:none;

    font-weight:600;

    transition:.30s;

}

.btn:hover{

    background:#9f8245;
    transform:translateY(-3px);

}

/* ================= ANIMAZIONI ================= */

.reveal{

    opacity:0;
    transform:translateY(40px);
    transition:all .8s ease;

}

.reveal.active{

    opacity:1;
    transform:none;

}

/* ================= RESPONSIVE ================= */

@media(max-width:992px){

.hero h1{

    font-size:44px;

}

blockquote{

    font-size:34px;

}

.cta h2{

    font-size:36px;

}

}

@media(max-width:768px){

.hero{

    padding:60px 15px;

}

.logo{

    width:140px;

}

.hero h1{

    font-size:38px;

}

.subtitle{

    font-size:18px;

}

.intro h2,
.faq h2{

    font-size:34px;

}

.card{

    padding:30px;

}

.card h3{

    font-size:26px;

}

blockquote{

    font-size:28px;

}

.btn{

    width:100%;
    text-align:center;

}

}

@media(max-width:480px){

.hero h1{

    font-size:32px;

}

.intro h2{

    font-size:28px;

}

.faq h2{

    font-size:28px;

}

.card h3{

    font-size:24px;

}

blockquote{

    font-size:24px;

}

}