/* seoforestaurants.com: additions on top of the shared seoperristoranti.it design system (style.css) */

/* ---------- wordmark (temporary until the English logo file is migrated) ---------- */
.wordmark{display:inline-flex;flex-direction:column;line-height:.92;font-family:var(--font-h);color:#fff;letter-spacing:.06em}
.wordmark__top{font-weight:300;font-size:1.32rem;letter-spacing:.32em}
.wordmark__top i{font-style:normal;font-weight:600;color:var(--gold-2);letter-spacing:.08em;margin-left:.15em;font-size:.82em}
.wordmark__bottom{font-weight:700;font-size:1.02rem;letter-spacing:.14em}
.brand .wordmark{font-size:1rem}
.wordmark--footer{margin-bottom:18px}
.brand img.logo-img{height:42px;width:auto}

/* ---------- header on light pages ---------- */
.header--solid{background:rgba(6,11,24,.9);backdrop-filter:blur(16px)}
.nav a[aria-current="page"]{color:#fff;background:rgba(255,255,255,.08)}
@media(min-width:1000px) and (max-width:1180px){.nav a{padding:8px 10px;font-size:.9rem}}

/* ---------- hero video ---------- */
.hero-video{position:relative;max-width:560px;margin-inline:auto;width:100%}
.yt--hero{position:relative;inset:auto;aspect-ratio:16/9;border-radius:var(--r-lg);overflow:hidden;background:#000;box-shadow:0 40px 100px -30px rgba(0,0,0,.75);border:1px solid rgba(255,255,255,.12)}
.yt--hero img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.yt--hero:hover img{transform:scale(1.03)}
.yt--hero::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,transparent 55%,rgba(6,11,24,.8));pointer-events:none}
.yt__label{position:absolute;left:20px;top:16px;z-index:3;font-family:var(--font-h);font-weight:600;font-size:.95rem;color:#fff;text-align:left}
.yt--hero iframe,.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:5}
.hero-video .float-chip--a{top:-26px;right:-12px}
.hero-video .float-chip--b{bottom:-28px;left:-14px}

/* ---------- press marquee ---------- */
.press{padding:30px 0 34px;background:var(--bg);border-top:1px solid var(--line-d);border-bottom:1px solid var(--line-d)}
.press .marquee__track{gap:56px}
.press__item{font-family:var(--font-h);font-weight:700;font-size:1.25rem;letter-spacing:-.01em;color:rgba(232,237,247,.55);white-space:nowrap}
.press .marquee__track img{height:34px}

/* ---------- visibility split + AI card ---------- */
.split-visual{display:grid;gap:56px;align-items:center}
@media(min-width:1000px){.split-visual{grid-template-columns:1fr 1fr;gap:72px}}
.split-visual>*{min-width:0}
.split-visual .lead{margin-top:20px}
.split-visual p:not(.lead){color:var(--text-l);margin-top:16px;max-width:62ch}
.split-visual .btn-row{margin-top:28px}
.mock-wrap--light .mock{background:linear-gradient(180deg,#101a33,#0b1326)}
.ai-card{position:relative;margin:-28px 0 0 auto;width:min(86%,400px);padding:18px 20px;border-radius:20px;background:#fff;color:var(--ink);box-shadow:0 30px 60px -28px rgba(12,21,39,.55);border:1px solid rgba(111,140,255,.35);z-index:2}
.ai-card__head{display:flex;align-items:center;gap:10px;font-family:var(--font-h);font-weight:600;font-size:.85rem;color:#3a4a8f;margin-bottom:8px}
.ai-card__dot{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,#8ea4ff,var(--ai));color:#fff;font-size:14px}
.ai-card p{font-size:.95rem;color:var(--text-l)}
.ai-card p b{color:var(--ink)}
.ai-card__src{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.ai-card__src span{font-size:.72rem;font-weight:600;padding:5px 10px;border-radius:999px;background:#eef1ff;color:#3a4a8f}

/* ---------- menu-style services ---------- */
.services--menu{grid-template-columns:1fr}
@media(min-width:760px){.services--menu{grid-template-columns:repeat(2,1fr)}}
.service--course .course{font-family:var(--font-h);font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-3);padding:8px 12px;border-radius:999px;border:1px solid rgba(166,137,67,.35)}
.service:hover .course{color:var(--gold-2);border-color:rgba(232,210,156,.5)}
.service a{color:inherit}
.service p a{text-decoration:underline;text-underline-offset:3px;position:relative;z-index:2}
.stretched::after{content:"";position:absolute;inset:0;z-index:1}
.service .more{display:inline-flex;align-items:center;gap:6px}
.center-link{text-align:center;margin-top:36px}
.more-link{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-h);font-weight:600;color:var(--gold-3)}
.more-link:hover{color:var(--ink)}
.more-link--d,.section--dark .more-link,.case-panel .more-link{color:var(--gold-2)}
.more-link--d:hover,.case-panel .more-link:hover{color:#fff}
.case-panel .more-link{margin-top:18px}
.kpis--1{grid-template-columns:1fr!important;max-width:280px}
.kpis--2{grid-template-columns:repeat(2,1fr)}

/* ---------- blog cards ---------- */
.post-grid{display:grid;gap:20px}
@media(min-width:760px){.post-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1040px){.post-grid{grid-template-columns:repeat(3,1fr)}}
.post-card{display:flex;flex-direction:column;border-radius:var(--r-lg);background:#fff;border:1px solid var(--line-l);overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s}
.post-card:hover{transform:translateY(-4px);box-shadow:0 30px 60px -32px rgba(12,21,39,.45)}
.post-card__img{display:block;aspect-ratio:16/9;background:var(--cream);overflow:hidden}
.post-card__img img{width:100%;height:100%;object-fit:cover}
.post-card__body{padding:22px 24px 26px;display:grid;gap:10px}
.post-card__cat{font-family:var(--font-h);font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-3)}
.post-card :is(h2,h3){font-size:1.15rem;line-height:1.3;color:var(--ink)}
.post-card :is(h2,h3) a:hover{color:var(--gold-3)}
.post-card p{color:var(--muted-l);font-size:.95rem}

/* ---------- newsletter ---------- */
.newsletter{display:grid;gap:28px;align-items:center}
@media(min-width:900px){.newsletter{grid-template-columns:1fr 1fr;gap:56px}}
.newsletter p{color:var(--text-d);margin-top:10px}
.newsletter__form{display:flex;flex-wrap:wrap;gap:10px}
.newsletter__form input{flex:1 1 240px;min-height:54px;padding:0 22px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:#fff;font:inherit}
.newsletter__form input::placeholder{color:var(--muted-d)}
.newsletter__msg{flex-basis:100%;font-size:.9rem;color:var(--gold-2);min-height:1.2em}

/* ---------- inner pages ---------- */
.hero--page{padding:clamp(120px,14vw,160px) 0 clamp(48px,6vw,72px)}
.hero__page-inner{position:relative;z-index:1;max-width:900px}
.hero__title--page{font-size:clamp(2.2rem,5vw,3.6rem)!important;margin-top:6px}
.eyebrow--d{color:var(--gold)}
.crumbs{font-size:.85rem;color:var(--muted-d);margin-bottom:18px;display:flex;flex-wrap:wrap;gap:6px}
.crumbs a{color:var(--text-d)}
.crumbs a:hover{color:#fff}
.page-body{background:var(--cream-2);color:var(--text-l)}
.prose{max-width:760px;margin-inline:auto;font-size:1.08rem;line-height:1.75}
.prose>*+*{margin-top:1.1em}
.prose h2{font-size:clamp(1.6rem,3vw,2.1rem);color:var(--ink);margin-top:1.8em;letter-spacing:-.02em}
.prose h3{font-size:1.3rem;color:var(--ink);margin-top:1.5em}
.prose h4{font-size:1.1rem;color:var(--ink);margin-top:1.3em}
.prose a{color:#8a6d2b;text-decoration:underline;text-underline-offset:3px}
.prose a:hover{color:var(--ink)}
.prose ul,.prose ol{padding-left:1.3em}
.prose li+li{margin-top:.4em}
.prose img{border-radius:18px;margin-inline:auto;height:auto}
.prose figure{margin:1.6em 0}
.prose figcaption{font-size:.88rem;color:var(--muted-l);text-align:center;margin-top:8px}
.prose blockquote{border-left:3px solid var(--gold);padding:.4em 0 .4em 1.2em;color:var(--ink);font-style:italic}
.prose table{width:100%;border-collapse:collapse;font-size:.95rem;display:block;overflow-x:auto}
.prose th,.prose td{border:1px solid var(--line-l);padding:10px 12px;text-align:left;vertical-align:top}
.prose th{background:var(--cream);color:var(--ink)}
.prose iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:18px}
.article-meta{display:flex;flex-wrap:wrap;gap:14px;color:var(--text-d);font-size:.92rem;margin-top:14px}
.article-hero-img{max-width:960px;margin:-40px auto clamp(28px,4vw,48px);position:relative;z-index:2;padding-inline:var(--gutter)}
.article-hero-img img{border-radius:var(--r-lg);box-shadow:var(--shadow);width:100%;height:auto}
.toc{background:#fff;border:1px solid var(--line-l);border-radius:20px;padding:20px 24px;font-size:.95rem}
.toc b{font-family:var(--font-h);color:var(--ink)}
.toc ol{margin-top:8px}
.author-box{display:flex;gap:16px;align-items:center;margin-top:3em;padding:20px;border-radius:20px;background:var(--cream);font-size:.95rem}
.author-box img{width:64px;height:64px;border-radius:50%}
.author-box b{color:var(--ink);font-family:var(--font-h)}
.cards-grid{display:grid;gap:18px}
@media(min-width:760px){.cards-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1040px){.cards-grid--3{grid-template-columns:repeat(3,1fr)}}
.tool-frame{max-width:860px;margin-inline:auto;background:#fff;border:1px solid var(--line-l);border-radius:var(--r-lg);padding:clamp(20px,4vw,40px);box-shadow:0 30px 60px -40px rgba(12,21,39,.4)}
.tool-frame label{display:block;font-weight:600;color:var(--ink);margin:14px 0 6px}
.tool-frame input,.tool-frame select{width:100%;min-height:48px;padding:0 14px;border-radius:12px;border:1px solid var(--line-l);font:inherit;background:var(--cream-2)}
.tool-result{margin-top:22px;padding:20px;border-radius:16px;background:var(--bg);color:#fff}
.tool-result b{font-family:var(--font-h);font-size:2rem;color:var(--gold-2)}
.footer__grid--en{gap:36px}
@media(min-width:900px){.footer__grid--en{grid-template-columns:1.4fr 1fr 1fr 1.3fr}}
.footer__links{list-style:none;display:grid;gap:10px;margin-top:6px}
.footer__links a{color:var(--text-d)}
.footer__links a:hover{color:#fff}
.footer__mail{color:var(--gold-2)}
.footer__bottom a{color:var(--text-d)}
.page-404{min-height:80vh}

/* ---------- migrated page blocks ---------- */
.prose--section{max-width:820px;margin:0}
.section-head + .prose--section{margin-top:-12px}
.prose--d,.prose--d p,.prose--d li{color:var(--text-d)}
.prose--d h2,.prose--d h3{color:#fff}
.section--dark .section-head .lead,.section--dark .lead p{color:var(--muted-d)}
.lead p+p{margin-top:.8em}
.info-card{position:relative;padding:28px;border-radius:var(--r-lg);background:#fff;border:1px solid var(--line-l);display:grid;gap:10px;align-content:start}
.section--cream .info-card{background:var(--cream-2)}
.info-card h3{font-size:1.2rem;color:var(--ink);line-height:1.25}
.info-card p,.info-card li{color:var(--text-l)}
.info-card ul{padding-left:1.1em}
.info-card__icon{width:52px;height:52px;object-fit:contain;padding:10px;border-radius:14px;background:var(--cream)}
.section--dark .info-card{background:rgba(255,255,255,.04);border-color:var(--line-d)}
.section--dark .info-card h3{color:#fff}
.section--dark .info-card p{color:var(--text-d)}
.logo-strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:28px 44px;margin-top:8px}
.logo-strip img{height:40px;width:auto;max-width:150px;object-fit:contain;filter:grayscale(1);opacity:.75;transition:filter .3s,opacity .3s}
.logo-strip img:hover{filter:none;opacity:1}
.section-img{margin:28px 0 0}
.section-img img{border-radius:var(--r-lg);max-height:520px;width:auto;margin-inline:auto;box-shadow:var(--shadow)}
.quote-card{max-width:820px;margin-inline:auto;padding:clamp(28px,5vw,48px);border-radius:var(--r-lg);background:#fff;border:1px solid var(--line-l);text-align:center}
.quote-card blockquote{font-family:var(--font-h);font-size:clamp(1.2rem,2.4vw,1.6rem);line-height:1.4;color:var(--ink);letter-spacing:-.01em}
.quote-card figcaption{margin-top:18px;color:var(--muted-l)}
.quote-card figcaption b{color:var(--ink)}
.video-card{position:relative;max-width:860px;margin:28px auto 0;aspect-ratio:16/9;border-radius:var(--r-lg);overflow:hidden;background:#000;display:block;width:100%}
.video-card .yt{position:absolute;inset:0}
.video-card .yt img{width:100%;height:100%;object-fit:cover}
.faq--page{max-width:860px}
.section--dark .kpi b{color:#fff}
.section .kpis{margin-top:28px}
.team__grid--en{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.member__photo--empty{display:grid;place-items:center;background:linear-gradient(140deg,var(--ink),var(--navy))}
.member__photo--empty span{font-family:var(--font-h);font-size:3rem;font-weight:700;color:var(--gold-2)}
.brand .logo-img{height:44px;width:auto}
.mobile-nav__top .logo-img{height:38px;width:auto}
.footer .logo-img{height:48px;width:auto;margin-bottom:16px}
.press{background:var(--cream-2);border-color:var(--line-l)}
.press .logos__label{color:var(--muted-l)}
.press .marquee__track{gap:64px}
.press .marquee__track img{height:34px;width:auto;opacity:.6;filter:grayscale(1);transition:opacity .3s,filter .3s}
.press .marquee__track img:hover{opacity:1;filter:none}
/* migrated pages: long intro text beside the heading — keep the heading at the top */
.section-head.split:has(> div.lead > p){align-items:start}
/* menu courses: original hand-drawn illustrations, drawn as a mask so they turn gold on hover */
.course-art{display:block;width:150px;height:104px;background:var(--ink);-webkit-mask:var(--art) left bottom/contain no-repeat;mask:var(--art) left bottom/contain no-repeat;transition:background .35s}
.service:hover .course-art{background:var(--gold)}
@media(max-width:600px){.course-art{width:118px;height:84px}}
/* case tabs: monogram when a client has no logo, and an Italy marker */
.case-tab__mono{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid rgba(232,210,156,.5);font-family:var(--font-h);font-weight:700;font-size:.85rem;color:var(--gold-2)}
/* generated case studies */
.case-did{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:14px 0 0}
.case-did li{margin:0;padding:7px 14px;border-radius:999px;background:#fff;border:1px solid var(--line-l);font-size:.9rem}
.case-did li::before{display:none}
.case-did a{color:var(--ink);text-decoration:none}
.case-did a:hover{color:var(--gold-3)}
.case-note{margin-top:22px;padding:14px 18px;border-left:3px solid var(--gold);background:var(--cream-2);border-radius:0 12px 12px 0;font-size:.95rem}
.section--dark .kpis + .case-period{margin-top:22px}
/* hero video on phones: keep the label in the left half so the top-right chip never covers it */
@media(max-width:600px){.yt__label{max-width:46%;font-size:.84rem;line-height:1.25;left:14px;top:12px}}
