/* =========================================================
   GHONIM MOHAMED — PREMIUM EDITORIAL SYSTEM
   Layer finale: uniforma tipografia, ritmo, colori, immagini
   e micro-interazioni senza alterare la struttura HTML.
========================================================= */

:root{
    --ink:#17130f;
    --ink-soft:#28211b;
    --paper:#f7f3eb;
    --paper-2:#eee7dc;
    --white:#fffdf9;
    --gold:#b08b57;
    --gold-light:#d0ad77;
    --gold-pale:#ead7b7;
    --text:#403a34;
    --muted:#746d64;
    --line:rgba(176,139,87,.28);
    --shadow-soft:0 18px 50px rgba(23,19,15,.08);
    --shadow-image:0 28px 65px rgba(23,19,15,.16);
    --radius:22px;
    --radius-sm:14px;
    --content-width:1180px;
    --ease:cubic-bezier(.22,.61,.36,1);
}

html{scroll-behavior:smooth;}

body{
    background:var(--paper);
    color:var(--text);
    font-family:'Cormorant Garamond',serif;
    font-size:16px;
    line-height:1.75;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}

body, button, input, textarea, select, p, li, a{
    font-family:'Cormorant Garamond',serif;
}

h1,h2,h3,h4,h5,h6,
.logo span,.logo small,
.hero-text h1,.hero-subtitle,
.page-intro-text h1,
.book-hero h1,.book-info h2,
.section-heading h2,.works-heading h2,
.gallery-hero h1,.gallery-heading h2,
.bio-chapter h2,.chapter-subtitle,
.stat-number,.award-year,.review-card h4,
.detail-item h3,.footer-logo{
    font-family:'Cormorant Garamond',serif;
}

h1,h2,h3,h4,h5,h6{
    color:var(--ink);
    font-weight:500;
    letter-spacing:-.015em;
}

p{color:var(--text);}

.container,
.works-container{
    width:min(var(--content-width), calc(100% - 64px));
    max-width:var(--content-width);
}

/* ---------- HEADER ---------- */
#header{
    padding:20px 0;
    transition:background .45s var(--ease),padding .45s var(--ease),box-shadow .45s var(--ease),backdrop-filter .45s ease;
}

#header.scrolled,
.inner-page #header,
body:has(.page-intro) #header,
body:has(.book-hero) #header,
body:has(.gallery-hero) #header,
body:has(.contact-hero) #header{
    background:rgba(17,14,11,.92);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
    box-shadow:0 10px 35px rgba(0,0,0,.16);
}

.logo span{
    font-size:31px;
    font-weight:600;
    letter-spacing:.22em;
}

.logo small{
    font-family:'Cormorant Garamond',serif;
    font-size:9px;
    font-weight:500;
    letter-spacing:.48em;
    opacity:.72;
}

.nav-menu{gap:28px;}
.nav-menu a{
    position:relative;
    font-family:'Cormorant Garamond',serif;
    font-size:12px;
    font-weight:500;
    letter-spacing:.12em;
    text-transform:uppercase;
    opacity:.86;
}

.nav-menu a::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-9px;
    width:100%;
    height:1px;
    background:var(--gold-light);
    transform:scaleX(0);
    transform-origin:center;
    transition:transform .35s var(--ease);
}

.nav-menu a:hover,
.nav-menu a.active{color:var(--gold-light);opacity:1;}
.nav-menu a:hover::after,
.nav-menu a.active::after{transform:scaleX(1);}

.contact-btn{
    border-color:rgba(234,215,183,.5);
    border-radius:999px;
    padding:10px 20px;
    font-family:'Cormorant Garamond',serif;
    font-size:11px;
    font-weight:500;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.contact-btn:hover{background:var(--gold-pale);color:var(--ink);border-color:var(--gold-pale);}

.language{font-family:'Cormorant Garamond',serif;font-size:11px;letter-spacing:.08em;}
.language.active{color:var(--gold-light);}

/* ---------- GLOBAL BUTTONS ---------- */
.btn{
    border-radius:999px;
    padding:13px 25px;
    font-family:'Cormorant Garamond',serif;
    font-size:11px;
    font-weight:600;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.btn-primary{background:var(--gold);box-shadow:0 12px 30px rgba(176,139,87,.2);}
.btn-primary:hover{background:#98733f;transform:translateY(-2px);}
.btn-secondary{border-color:rgba(255,255,255,.45);color:#fff;}
.btn-secondary:hover{background:#fff;color:var(--ink);}

/* ---------- HERO ---------- */
#hero{min-height:100svh;}
.hero-content{gap:72px;}
.hero-text{max-width:620px;}
.hero-subtitle{
    font-size:15px;
    letter-spacing:.16em;
    color:var(--gold-light);
    text-transform:uppercase;
}
.hero-text h1{
    font-size:clamp(70px,8vw,116px);
    line-height:.84;
    font-weight:500;
    letter-spacing:-.045em;
}
.hero-text h1 span{color:var(--gold-pale);}
.hero-text p{
    max-width:560px;
    font-family:'Cormorant Garamond',serif;
    font-size:16px;
    line-height:1.85;
    color:rgba(255,255,255,.78);
}
.hero-image img{
    filter:drop-shadow(0 35px 55px rgba(0,0,0,.32));
}

/* ---------- STATS ---------- */
#stats{padding:0 0 80px;margin-top:-1px;background:var(--ink);}
.stats-grid{gap:18px;}
.stat-card{
    padding:28px 24px;
    min-height:170px;
    border:1px solid rgba(234,215,183,.12);
    border-radius:var(--radius-sm);
    background:rgba(255,255,255,.035);
    box-shadow:none;
}
.stat-card:hover{transform:translateY(-5px);border-color:rgba(208,173,119,.35);}
.stat-number{font-size:52px;color:var(--gold-light);line-height:1;}
.stat-title{font-family:'Cormorant Garamond',serif;color:rgba(255,255,255,.66);font-size:13px;}

/* ---------- SHARED PAGE INTRO ---------- */
.page-intro,
.biography-page-title,
.awards-page-title{
    padding:128px 0 72px !important;
    background:linear-gradient(135deg,#17130f 0%,#211914 100%) !important;
}

.page-intro-content,
.biography-page-title .page-intro-content,
.awards-page-title .page-intro-content{
    width:min(1100px, calc(100% - 64px));
    max-width:1100px;
    min-height:390px;
    margin:0 auto;
    display:grid;
    grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
    align-items:center;
    gap:68px;
}

.page-intro-image{align-self:stretch;display:flex;align-items:center;}
.page-intro-image img{
    width:100% !important;
    max-width:none !important;
    height:390px !important;
    aspect-ratio:4/3;
    object-fit:cover !important;
    object-position:center;
    border-radius:24px !important;
    box-shadow:var(--shadow-image);
}

.page-intro-text{max-width:570px;text-align:left;}
.page-intro-label{
    margin-bottom:14px !important;
    color:var(--gold-light) !important;
    font-family:'Cormorant Garamond',serif !important;
    font-size:11px !important;
    font-weight:600 !important;
    letter-spacing:.22em !important;
}

.page-intro-text h1{
    margin:0 0 20px !important;
    color:var(--gold-pale) !important;
    font-size:clamp(44px,5vw,64px) !important;
    line-height:.98 !important;
    font-weight:500 !important;
}

.page-intro-text p{
    max-width:560px !important;
    margin:0 !important;
    color:rgba(255,255,255,.72) !important;
    font-family:'Cormorant Garamond',serif !important;
    font-size:15px !important;
    line-height:1.9 !important;
}

/* ---------- BIOGRAPHY ---------- */
#biography{padding:88px 0;background:var(--paper);}
.biography-wrapper{
    gap:65px;
    padding:0;
    background:transparent;
    box-shadow:none;
}
.bio-image img{height:600px;border-radius:24px;box-shadow:var(--shadow-image);}
.bio-content span{font-family:'Cormorant Garamond',serif;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);}
.bio-content h2{font-size:clamp(42px,5vw,58px);}

.biography-section{padding:86px 0 100px !important;background:var(--paper) !important;}
.biography-section > .container{width:min(1050px,calc(100% - 64px));max-width:1050px;}
.bio-chapter{max-width:1050px;margin-bottom:88px;}
.chapter-number{font-family:'Cormorant Garamond',serif;font-size:11px;letter-spacing:.24em;color:var(--gold);}
.bio-chapter h2{font-size:clamp(40px,4.5vw,56px);line-height:1.02;margin-bottom:12px;}
.bio-chapter .chapter-subtitle{font-size:20px;color:#8d6d43;}
.chapter-divider{width:64px;height:1px;margin:24px 0 30px;background:var(--gold);}
.bio-chapter .chapter-photo{
    width:285px;
    height:350px;
    margin:0 38px 22px 0;
    border-radius:20px;
    object-fit:cover;
    box-shadow:var(--shadow-image);
}
.bio-chapter .chapter-photo.right{margin:0 0 22px 38px;}
.bio-chapter p{font-size:16px;line-height:1.9;color:#514a42;}

/* ---------- WORKS ---------- */
#books,#opere{padding:96px 0;background:linear-gradient(135deg,#17130f,#211914);}
#books h2,#opere h2{font-size:clamp(44px,5vw,60px);color:var(--gold-pale);}
.books-grid,.opere-grid{gap:24px;max-width:1080px;}
.book-card,.opera-card{
    max-width:280px;
    padding:22px;
    border:1px solid rgba(234,215,183,.13);
    border-radius:20px;
    background:rgba(255,255,255,.035);
    box-shadow:0 18px 45px rgba(0,0,0,.18);
}
.book-card img,.opera-card img{width:175px;border-radius:5px;box-shadow:0 20px 30px rgba(0,0,0,.2);}
.book-card h3,.opera-card h3{font-size:27px;color:#fff;}
.book-card p,.opera-card p{font-family:'Cormorant Garamond',serif;font-size:13px;color:rgba(255,255,255,.62);}

.works-section{padding:88px 0 110px;background:var(--paper);}
.works-heading{margin-bottom:52px;}
.works-heading span,.work-category{font-family:'Cormorant Garamond',serif;letter-spacing:.2em;font-size:10px;text-transform:uppercase;color:var(--gold);}
.works-heading h2{font-size:clamp(44px,5vw,60px);margin:12px 0;color:var(--ink);}
.works-heading p{max-width:650px;margin:0 auto;font-family:'Cormorant Garamond',serif;font-size:15px;}
.work-item{
    display:grid;
    grid-template-columns:280px 1fr;
    align-items:center;
    gap:64px;
    padding:58px 0;
    border-top:1px solid rgba(176,139,87,.2);
}
.work-item:last-child{border-bottom:1px solid rgba(176,139,87,.2);}
.work-cover img{max-height:360px;width:auto;margin:auto;box-shadow:0 25px 45px rgba(23,19,15,.15);border-radius:4px;transition:transform .5s var(--ease);}
.work-item:hover .work-cover img{transform:translateY(-6px) rotate(-1deg);}
.work-content h3{font-size:clamp(34px,4vw,48px);margin:10px 0 16px;}
.work-content p{max-width:650px;font-size:15px;line-height:1.9;}
.work-button{display:inline-block;margin-top:20px;color:var(--gold);font-family:'Cormorant Garamond',serif;font-size:11px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;}
.work-button:hover{color:var(--ink);}

/* ---------- AWARDS ---------- */
.awards-section{padding:60px 0 100px;background:var(--paper);}
.awards-heading{max-width:760px;margin:0 auto 55px;text-align:center;}
.awards-heading h2{font-size:clamp(44px,5vw,60px);}
.award-item{gap:70px;margin-bottom:92px;}
.award-image{height:430px;border-radius:24px;background:var(--paper-2);box-shadow:var(--shadow-image);}
.award-image img{transition:transform .7s var(--ease);}
.award-item:hover .award-image img{transform:scale(1.025);}
.award-year{font-size:14px;letter-spacing:.12em;color:var(--gold);}
.award-content h3{font-size:clamp(34px,4vw,48px);margin:8px 0 18px;}
.award-content p{font-size:15px;line-height:1.9;}
.awards-closing{padding:100px 0;background:var(--ink);color:#fff;text-align:center;}
.awards-closing h2{color:var(--gold-pale);font-size:clamp(42px,5vw,58px);}
.awards-closing p{color:rgba(255,255,255,.7);max-width:680px;margin:18px auto 0;}

/* ---------- GALLERY ---------- */
.gallery-hero{padding:150px 0 88px;background:var(--paper);}
.gallery-label{font-family:'Cormorant Garamond',serif;font-size:11px;letter-spacing:.25em;color:var(--gold);}
.gallery-hero h1{font-size:clamp(56px,7vw,84px);color:var(--ink);}
.gallery-line{width:60px;background:var(--gold);margin:26px auto;}
.gallery-hero p{font-family:'Cormorant Garamond',serif;font-size:15px;line-height:1.9;}
.gallery-feature{padding:0 0 88px;background:var(--paper);}
.gallery-feature-image{border-radius:28px;box-shadow:var(--shadow-image);}
.gallery-feature-image img{height:600px;}
.gallery-caption{border-bottom:1px solid var(--line);}
.gallery-caption span,.gallery-heading span{font-family:'Cormorant Garamond',serif;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);}
.gallery-caption p{font-size:22px;color:#514a42;}
.gallery-section{padding:82px 0;background:var(--white);}
.gallery-light{background:var(--paper);}
.gallery-heading h2{font-size:clamp(44px,5vw,60px);}
.gallery-heading p{font-family:'Cormorant Garamond',serif;font-size:15px;line-height:1.9;}
.gallery-page-item,.gallery-item{border-radius:24px;box-shadow:var(--shadow-image);}
.gallery-page-item img,.gallery-item img{transition:transform .8s var(--ease);}
.gallery-page-item:hover img,.gallery-item:hover img{transform:scale(1.04);}

/* ---------- BOOK PAGES ---------- */
.book-hero{padding:150px 0 92px;background:linear-gradient(135deg,#17130f,#251c16);}
.book-label,.book-category,.section-heading span{font-family:'Cormorant Garamond',serif;letter-spacing:.2em;font-size:10px;text-transform:uppercase;color:var(--gold-light);}
.book-hero h1{font-size:clamp(54px,7vw,84px);color:var(--gold-pale);}
.book-subtitle{font-family:'Cormorant Garamond',serif;font-size:15px;line-height:1.9;color:rgba(255,255,255,.72);}
.book-showcase{padding:92px 0;background:var(--white);}
.book-showcase .container{gap:80px;}
.book-cover img{border-radius:5px;box-shadow:var(--shadow-image);}
.book-info h2{font-size:clamp(42px,5vw,58px);}
.book-info p,.review-card p{font-family:'Cormorant Garamond',serif;font-size:15px;line-height:1.95;}
.book-details{padding:65px 0;background:var(--paper);}
.detail-item h3{font-size:26px;}
.book-reviews{padding:92px 0;background:var(--white);}
.section-heading h2{font-size:clamp(44px,5vw,60px);}
.review-card{border-left:2px solid var(--gold);border-radius:0 18px 18px 0;box-shadow:var(--shadow-soft);}
.review-card h4{font-size:26px;}
.review-source{font-family:'Cormorant Garamond',serif;letter-spacing:.15em;}

/* ---------- CONTACT ---------- */
.contact-hero{padding:150px 0 90px;background:linear-gradient(135deg,#17130f,#241b15);}
.contact-hero h1{font-size:clamp(54px,7vw,82px);color:var(--gold-pale);}
.contact-main,.contact-editorial{background:var(--paper);}
.contact-form-box,.contact-info{border-radius:22px;box-shadow:var(--shadow-soft);}
.contact-submit{border-radius:999px;background:var(--gold);}

/* ---------- FOOTER ---------- */
#footer{background:#110e0b;border-top:1px solid rgba(234,215,183,.12);}
.footer-logo{font-size:32px;color:var(--gold-pale);}
.footer-column h3{color:#fff;font-size:23px;}
.footer-column p,.footer-column a{font-family:'Cormorant Garamond',serif;color:rgba(255,255,255,.62);font-size:13px;}
.footer-column a:hover{color:var(--gold-light);}
.footer-bottom{font-family:'Cormorant Garamond',serif;color:rgba(255,255,255,.38);font-size:11px;letter-spacing:.04em;}

/* ---------- REVEAL ---------- */
.reveal{
    opacity:0;
    transform:translateY(24px);
    transition:opacity .65s var(--ease),transform .65s var(--ease);
    will-change:opacity,transform;
}
.reveal.is-visible{opacity:1;transform:none;}
.reveal.delay-1{transition-delay:.08s;}
.reveal.delay-2{transition-delay:.16s;}
.reveal.delay-3{transition-delay:.24s;}

@media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto;}
    *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;}
    .reveal{opacity:1;transform:none;}
}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1000px){
    .container,.works-container{width:min(100% - 48px,900px);}
    .page-intro-content,.biography-page-title .page-intro-content,.awards-page-title .page-intro-content{width:min(100% - 48px,900px);grid-template-columns:1fr 1fr;gap:38px;}
    .page-intro-image img{height:330px !important;}
    .nav-menu{display:none;}
    .hamburger{display:block;}
    .nav-menu.active{display:flex;}
    .hero-content{gap:40px;}
    .hero-text h1{font-size:clamp(62px,11vw,88px);}
    .stats-grid{grid-template-columns:repeat(2,1fr);}
    .books-grid,.opere-grid{grid-template-columns:repeat(2,1fr);}
    .work-item{grid-template-columns:230px 1fr;gap:42px;}
    .award-item{gap:42px;}
}

@media (max-width:768px){
    .container,.works-container{width:calc(100% - 36px);}
    #header{padding:16px 0;}
    .nav-right > .language{display:none;}
    .language-switcher .language{display:inline-flex;}
    .contact-btn{margin-left:0;padding:9px 15px;}
    .page-intro,.biography-page-title,.awards-page-title{padding:105px 0 55px !important;}
    .page-intro-content,.biography-page-title .page-intro-content,.awards-page-title .page-intro-content{width:calc(100% - 36px);grid-template-columns:1fr;gap:30px;min-height:0;}
    .page-intro-image img{height:280px !important;}
    .page-intro-text h1{font-size:46px !important;}
    .hero-content{flex-direction:column;text-align:center;}
    .hero-text{width:100%;}
    .hero-text p{margin-inline:auto;}
    .hero-image{width:min(78%,420px);}
    .stats-grid{grid-template-columns:1fr 1fr;gap:12px;}
    .stat-card{min-height:145px;padding:22px 16px;}
    .books-grid,.opere-grid{grid-template-columns:1fr 1fr;gap:14px;}
    .book-card,.opera-card{max-width:none;padding:16px;}
    .book-card img,.opera-card img{width:145px;}
    .work-item{grid-template-columns:1fr;gap:28px;padding:42px 0;}
    .work-cover img{max-height:330px;}
    .award-item{grid-template-columns:1fr;gap:30px;margin-bottom:70px;}
    .award-item.reverse .award-image,.award-item.reverse .award-content{order:initial;}
    .award-image{height:340px;}
    .gallery-feature-image img{height:430px;}
    .gallery-caption{align-items:flex-start;flex-direction:column;gap:8px;}
    .gallery-grid,.gallery-grid-portrait,.gallery-grid-travel,.gallery-grid-events{grid-template-columns:1fr !important;}
    .gallery-grid-portrait .gallery-item:nth-child(1),.gallery-grid-portrait .gallery-item:nth-child(2),.gallery-grid-portrait .gallery-item:nth-child(3){margin-top:0;}
    .bio-chapter .chapter-photo,.bio-chapter .chapter-photo.right{float:none;width:min(100%,430px);height:360px;margin:0 0 28px;}
    .bio-chapter h2{font-size:42px;}
    .book-showcase .container{flex-direction:column;gap:45px;}
    .book-cover{flex-basis:auto;}
    .book-details .container{grid-template-columns:repeat(2,1fr);}
    .detail-item:not(:last-child)::after{display:none;}
}

@media (max-width:520px){
    .logo span{font-size:25px;letter-spacing:.16em;}
    .logo small{font-size:8px;letter-spacing:.35em;}
    .contact-btn{font-size:9px;padding:8px 12px;}
    .hero-text h1{font-size:54px;}
    .hero-subtitle{font-size:11px;}
    .hero-text p{font-size:14px;}
    .hero-buttons{flex-direction:column;align-items:center;}
    .btn{width:min(100%,260px);}
    .stats-grid,.books-grid,.opere-grid,.book-details .container{grid-template-columns:1fr;}
    .stat-card{min-height:auto;}
    .book-card img,.opera-card img{width:165px;}
    .page-intro-text h1{font-size:40px !important;}
    .page-intro-image img{height:250px !important;}
    .gallery-feature-image img{height:320px;}
    .award-image{height:300px;}
}

/* Global typography: Cormorant Garamond throughout */
html, body, body *, button, input, textarea, select { font-family: "Cormorant Garamond", serif !important; }
