/* Doppia Valuta: foglio unico */
:root {
	--inchiostro: #1E2934;
	--coral: #EAA183;
	--sky: #A0D9E6;
	--teal: #0F7F98;
	--cyan: #E7F6F9;
}

*, *:before, *:after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: "Schibsted Grotesk", Arial, sans-serif; font-size: 18px; line-height: 26px; color: #1E2934; background: #FFFFFF; overflow-x: hidden; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
h1, h2, h3, h4 { margin: 0; font-weight: 500; }
p { margin: 0 0 18px 0; }
.vh { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* gli stessi margini per quasi tutte le sezioni, poi le eccezioni una per una */
.intro, .image-video, .places, .contact, .verbatim, .push, .collage, .fuori, .domande, .cta-band { padding: 30px 36px 60px 36px; }
.push { padding-bottom: 160px; }
.collage { padding-bottom: 120px; }
.cta-band { padding-bottom: 200px; }

/* testata sopra la foto */
.sitehead { position: absolute; top: 0; left: 0; right: 0; z-index: 30; height: 84px; }
.sitehead-row { height: 100%; display: flex; align-items: center; gap: 24px; padding: 0 36px 0 36px; }
.sitehead-sign img { width: 190px; height: auto; }
.sitehead--over .sitehead-sign img { filter: brightness(0) invert(1); }
.sitehead-nav { display: flex; gap: 4px; margin-left: 24px; }
.sitehead-nav a, .voce-sub > a { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; line-height: 18px; text-transform: uppercase; letter-spacing: .05em; text-decoration: none; padding: 9px 12px; border-radius: 40px; color: #FFFFFF; transition: all .8s ease; }
.sitehead-nav a:hover { background: rgba(255,255,255,.4); color: #1E2934; }
.sitehead--solid .sitehead-nav a, .sitehead--solid .voce-sub > a { color: #1E2934; }
.sitehead--solid .sitehead-nav a:hover { background: #E7F6F9; }
.voce-sub { position: relative; }
.sottomenu.dropdown { z-index: 5; }
.sottomenu { position: absolute; top: 100%; left: 0; min-width: 250px; padding: 10px 0 0 0; display: none; }
.sottomenu a { display: block; background: #FFFFFF; color: #1E2934 !important; border-radius: 0; padding: 12px 16px; }
.sottomenu a:first-child { border-radius: 14px 14px 0 0; }
.sottomenu a:last-child { border-radius: 0 0 14px 14px; }
.voce-sub:hover .sottomenu, .voce-sub:focus-within .sottomenu { display: block; }
.sitehead-pills { margin-left: auto; display: flex; gap: 8px; }
.apri-menu { display: none; margin-left: auto; width: 44px; height: 44px; border-radius: 50%; border: 1px solid #FFFFFF; background: transparent; cursor: pointer; flex-direction: column; justify-content: center; align-items: center; gap: 5px; }
.apri-menu i { display: block; width: 16px; height: 1.5px; background: #FFFFFF; }
.sitehead--solid .apri-menu { border-color: #1E2934; }
.sitehead--solid .apri-menu i { background: #1E2934; }
.menu-mobile { position: fixed; inset: 68px 0 0 0; z-index: 29; background: #FFFFFF; overflow-y: auto; padding: 24px 16px; display: flex; flex-direction: column; }
.menu-mobile[hidden] { display: none; }
.menu-mobile a { font-size: 28px; line-height: 36px; text-transform: uppercase; text-decoration: none; padding: 12px 0; border-bottom: 1px solid #1E2934; }

/* pillole: tutte alte 36, mai quadrate */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 36px; padding: 8px 20px 10px 20px; border-radius: 40px; font: 500 14px/18px "Schibsted Grotesk", Arial, sans-serif; text-transform: uppercase; letter-spacing: .02em; text-decoration: none; border: 1px solid #1E2934; cursor: pointer; transition: all .25s ease; background: transparent; color: #1E2934; }
.btn--inchiostro { background: #1E2934; color: #FFFFFF; }
.btn--inchiostro:hover { background: #FFFFFF; color: #1E2934; }
.btn--outline:hover { background: #1E2934; color: #FFFFFF; }
.btn--white { background: #FFFFFF; border-color: #FFFFFF; }
.btn--cyan { background: #E7F6F9; border-color: #E7F6F9; padding: 8px 40px 10px 20px; position: relative; vertical-align: middle; }
.btn--cyan svg { position: absolute; right: 16px; }
.btn--outline-light { border-color: #FFFFFF; color: #FFFFFF; }
.btn--outline-light:hover { background: #FFFFFF; color: #1E2934; }
.sitehead--solid .btn--outline-light { border-color: #1E2934; color: #1E2934; }
.btn--xs { min-height: 30px; padding: 5px 14px 6px 14px; font-size: 12px; }
.btn--center { position: absolute; left: 50%; top: 50%; -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible { outline: 2px solid #0F7F98; outline-offset: 2px; }

/* hero e intro */
.hero { height: calc(100dvh - 260px); min-height: 420px; position: relative; overflow: hidden; }
.hero img { width: 100%; height: 100%; object-fit: cover; }
.intro { padding-top: 48px; }
.intro-row { display: grid; grid-template-columns: 9fr 3fr; gap: 48px; align-items: end; }
.intro-text { min-width: 0; }
.intro h1 { font-size: 108px; line-height: 96px; text-transform: uppercase; margin-bottom: 36px; letter-spacing: -.01em; }
.lead { font-family: Newsreader, Georgia, serif; font-size: 36px; line-height: 44px; max-width: 980px; }
.intro-side { text-align: center; padding-bottom: 20px; }
.intro-side h3 { font-size: 16px; line-height: 20px; text-transform: uppercase; letter-spacing: .05em; margin-bottom: 8px; }
.intro-data { font-size: 60px; line-height: 64px; margin: 0; }
.intro-nota { font-family: Newsreader, Georgia, serif; font-style: italic; margin-bottom: 14px; }

/* foto intera con pillola */
.image-video-box { position: relative; }
.image-video-box img { width: 100%; aspect-ratio: 2 / 1; object-fit: cover; }

/* carosello su corallo */
.places { background: #EAA183; padding-top: 60px; }
.places-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 36px; }
.places h3, .contact h3, .push h3, .fuori h3, .domande h3, .cta-band h3 { font-size: 18px; line-height: 22px; text-transform: uppercase; letter-spacing: .05em; margin-bottom: 8px; }
.places h2, .contact h2, .push h2, .fuori h2, .domande h2, .cta-band h2, .verbatim h2 { font-size: 60px; line-height: 64px; text-transform: uppercase; }
.places-frecce { display: flex; gap: 8px; }
.tondo { width: 44px; height: 44px; border-radius: 50%; border: 0; background: rgba(255,251,245,.9); display: grid; place-items: center; cursor: pointer; -webkit-transition: background .25s ease; transition: background .25s ease; }
.tondo:hover { background: #FFFFFF; }
.domanda + .domanda { border-top-color: #1F2A35; }
/* dentro il sito: testate colorate e documenti */
.pagina-testa { padding: 140px 36px 60px 36px; }
.pagina-testa--coral { background: #EAA183; }
.pagina-testa--sky { background: #A0D9E6; }
.pagina-testa h3 { font-size: 18px; line-height: 22px; text-transform: uppercase; letter-spacing: .05em; margin-bottom: 8px; }
.pagina-testa h1 { font-size: 60px; line-height: 64px; text-transform: uppercase; max-width: 1000px; }
.pagina-corpo { padding: 60px 36px 120px 36px; }
.pagina-corpo .colonna { max-width: 820px; }
.pagina-corpo h2 { font-size: 32px; line-height: 38px; text-transform: uppercase; margin: 56px 0 16px 0; }
.pagina-corpo h2:first-child { margin-top: 0; }
.pagina-corpo p { font-family: Newsreader, Georgia, serif; font-size: 22px; line-height: 32px; }
.pagina-corpo figure { margin: 48px 0; }
.pagina-corpo figure img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.pagina-corpo figure.in-arco img { border-radius: 600px 600px 0 0; aspect-ratio: 4 / 5; max-width: 420px; }
.pagina-corpo figcaption { font-size: 14px; line-height: 18px; text-transform: uppercase; letter-spacing: .05em; margin-top: 12px; }
.legale-doc { padding: 60px 36px 120px 36px; }
.legale-doc h1 { font-size: 60px; line-height: 64px; text-transform: uppercase; margin-bottom: 40px; }
.legale-doc h3 { font-size: 18px; line-height: 22px; text-transform: uppercase; letter-spacing: .05em; margin: 32px 0 8px 0; }
.legale-doc p { font-family: Newsreader, Georgia, serif; font-size: 21px; line-height: 31px; max-width: 980px; }
@media (max-width: 767.98px) {
	.pagina-testa { padding: 100px 8px 40px 8px; }
	.pagina-testa h1, .legale-doc h1 { font-size: 32px; line-height: 36px; }
	.pagina-corpo, .legale-doc { padding: 40px 8px 80px 8px; }
	.pagina-corpo p, .legale-doc p { font-size: 18px; line-height: 26px; }
	.pagina-corpo h2 { font-size: 24px; line-height: 30px; }
}
.places-track { display: flex; gap: 24px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 6px; }
.places-track::-webkit-scrollbar { display: none; }
.place { flex: 0 0 326px; height: 432px; scroll-snap-align: start; position: relative; background-color: #1E2934; background-size: cover; background-position: center; display: flex; align-items: center; justify-content: center; }
.place:before { content: ""; position: absolute; inset: 0; background: rgba(30,41,52,.38); }
.place-title { position: relative; font-family: Newsreader, Georgia, serif; font-size: 36px; line-height: 44px; color: #FFFFFF; text-align: center; margin: 0; }
.place-pills { position: absolute; bottom: 24px; left: 0; right: 0; display: flex; justify-content: center; gap: 8px; }
.places-nota { margin: 30px 0 0 0; font-size: 16px; }

/* modulo a frase */
.contact { padding-top: 90px; padding-bottom: 120px; }
.contact-row { display: grid; grid-template-columns: 7fr 4fr; gap: 72px; align-items: start; }
.contact-text { min-width: 0; }
.riepilogo { margin: 24px 0 0 0; padding: 16px 20px; border: 1px solid #C4432E; border-radius: 18px; color: #8A2A1B; font-size: 16px; }
.riepilogo ul { margin: 6px 0 0 0; padding-left: 20px; }
.frase-testo { font-family: Newsreader, Georgia, serif; font-size: 32px; line-height: 56px; margin: 36px 0 24px 0; }
.frase input[type="text"], .frase input[type="email"], .frase select { font: inherit; font-size: 28px; color: #1E2934; border: 0; border-bottom: 1px solid #1E2934; border-radius: 0; background: transparent; padding: 0 4px; margin: 0 4px; min-width: 0; width: 9em; }
.frase input[type="email"] { width: 11em; }
.frase select { width: auto; cursor: pointer; }
.frase input::placeholder { color: rgba(30,41,52,.4); }
.frase input:focus, .frase select:focus { outline: none; border-bottom-width: 2px; }
.frase [aria-invalid="true"] { border-bottom-color: #C4432E; }
.frase-consenso { display: flex; gap: 10px; align-items: flex-start; font-size: 16px; line-height: 22px; }
.frase-consenso input { width: 18px; height: 18px; margin: 2px 0 0 0; flex: none; }
.fuori-schermo { position: absolute; left: -9999px; top: auto; }
.frase-esito { margin-top: 18px; font-size: 16px; }
.arco-vuoto { width: 340px; height: 520px; border: 1px solid #1E2934; border-radius: 600px 600px 0 0; justify-self: end; }

/* archi celesti */
.verbatim-row { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.arco { background: #A0D9E6; border-radius: 600px 600px 0 0; padding: 192px 48px 72px 48px; text-align: center; min-width: 0; }
.arco blockquote { font-family: Newsreader, Georgia, serif; font-style: italic; font-weight: 300; font-size: 32px; line-height: 42px; margin: 28px auto; max-width: 480px; }
.verbatim-chi { font-size: 14px; line-height: 18px; text-transform: uppercase; letter-spacing: .05em; }
.verbatim-chi span { text-transform: none; font-family: Newsreader, Georgia, serif; font-style: italic; font-size: 18px; letter-spacing: 0; }
.arco--foto { display: flex; align-items: flex-end; justify-content: center; padding-top: 120px; }
.arco--foto img { width: 430px; aspect-ratio: 43 / 50; object-fit: cover; }

/* push */
.push-row { display: grid; grid-template-columns: 5fr 1fr 5fr; align-items: center; }
.push-text { grid-column: 1; min-width: 0; }
.push-text p { font-family: Newsreader, Georgia, serif; font-size: 24px; line-height: 32px; margin: 24px 0 28px 0; }
.push-media { grid-column: 3; position: relative; min-width: 0; }
.push-media img { width: 100%; aspect-ratio: 25 / 19; object-fit: cover; }
.push--sky { background: #A0D9E6; }
.push-media--circle img { aspect-ratio: 1 / 1; border-radius: 50%; max-width: 420px; margin: 0 auto; }

/* collage */
.collage { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; align-items: start; }
.collage-col { min-width: 0; }
.collage-col--2 { padding-top: 133px; }
.collage-col--3 { padding-top: 60px; }
.collage-testo { font-family: Newsreader, Georgia, serif; font-size: 24px; line-height: 32px; text-align: center; }
.c-arco { border-radius: 600px 600px 0 0; width: 320px; aspect-ratio: 4 / 5; object-fit: cover; }
.c-rett { width: 320px; aspect-ratio: 1 / 1; object-fit: cover; margin-left: auto; border-radius: 22px; }

/* fuori dal corso, su teal */
.fuori { background: #0F7F98; color: #FFFFFF; padding-top: 72px; padding-bottom: 96px; }
.fuori-row { max-width: 1100px; }
.fuori-lista { list-style: none; padding: 0; margin: 36px 0; }
.fuori-lista li { font-family: Newsreader, Georgia, serif; font-style: italic; font-size: 44px; line-height: 54px; }
.fuori-limite { font-size: 18px; max-width: 720px; }

/* domande in due colonne */
.domande { display: grid; grid-template-columns: 1fr 1fr; gap: 24px 48px; padding-top: 90px; }
.domande-head { grid-column: 1 / -1; margin-bottom: 24px; }
.domanda { padding: 20px 0 20px 0; border-top: 1px solid #1E2934; }
.domanda h4 { font-size: 18px; line-height: 22px; text-transform: uppercase; letter-spacing: .05em; margin-bottom: 8px; }
.domanda p { font-family: Newsreader, Georgia, serif; font-size: 20px; line-height: 28px; margin: 0; }

/* fascia finale */
.cta-band { background: #EAA183; padding-top: 72px; }
.cta-row { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; }

/* piede */
.pied-zone { background: #1E2934; color: #FFFFFF; padding: 24px 36px 15px 36px; }
.pied-cols { display: grid; grid-template-columns: repeat(3, 1fr) auto; gap: 24px; padding: 24px 0 48px 0; }
.pied-cols h3 { font-size: 18px; line-height: 22px; text-transform: uppercase; letter-spacing: .05em; margin-bottom: 14px; opacity: .6; }
.pied-cols a, .pied-cols span { display: block; width: fit-content; font-size: 16px; line-height: 22px; text-transform: uppercase; letter-spacing: .05em; text-decoration: none; padding: 6px 10px; margin-left: -10px; margin-bottom: 4px; border-radius: 40px; transition: all .25s ease; }
.pied-cols span { text-transform: none; letter-spacing: 0; }
.pied-cols a:hover { background: #FFFFFF; color: #1E2934; }
.pied-pills { display: flex; gap: 8px; align-items: flex-start; }
.pied-pills .btn { margin: 0; }
.pied-wordmark { width: 100%; height: auto; display: block; fill: #FFFFFF; font-family: "Schibsted Grotesk", Arial, sans-serif; font-weight: 500; font-size: 120px; }
.pied-copy { font-size: 14px; margin: 12px 0 0 0; opacity: .7; }

/* striscia cookie */
.striscia-cookie { position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; background: #FFFFFF; border-top: 1px solid #1E2934; padding: 16px 36px; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; font-size: 15px; line-height: 21px; }
.striscia-cookie[hidden] { display: none; }
.striscia-cookie p { margin: 0; flex: 1 1 380px; }
.striscia-azioni { display: flex; flex-wrap: wrap; gap: 8px; }
.striscia-impostazioni { flex-basis: 100%; display: flex; flex-wrap: wrap; gap: 8px 24px; align-items: center; }
.striscia-impostazioni[hidden] { display: none; }

@media (max-width: 1199.98px) {
	.intro h1 { font-size: 80px; line-height: 76px; }
	.places h2, .contact h2, .push h2, .fuori h2, .domande h2, .cta-band h2, .verbatim h2 { font-size: 48px; line-height: 52px; }
	.arco-vuoto { width: 280px; height: 440px; }
}
@media (max-width: 991.98px) {
	.sitehead-nav, .sitehead-pills { display: none; }
	.apri-menu { display: flex; }
	.intro-row, .contact-row, .verbatim-row { grid-template-columns: 1fr; }
	.intro-side { text-align: left; }
	.arco-vuoto { justify-self: start; }
	.collage { grid-template-columns: 1fr 1fr; }
	.collage-col--2 { grid-column: 1 / -1; order: 3; padding-top: 0; }
}
@media (max-width: 767.98px) {
	body { font-size: 17px; }
	.intro, .image-video, .places, .contact, .verbatim, .push, .collage, .fuori, .domande, .cta-band { padding: 30px 8px 60px 8px !important; }
	.sitehead { height: 68px; }
	.sitehead-row { padding: 0 12px; }
	.sitehead-sign img { width: 150px; }
	.hero { min-height: 400px; }
	.intro h1 { font-size: 44px; line-height: 48px; margin-bottom: 20px; }
	.lead { font-size: 22px; line-height: 32px; }
	.intro-data { font-size: 44px; line-height: 48px; }
	.places h2, .contact h2, .push h2, .fuori h2, .domande h2, .cta-band h2, .verbatim h2 { font-size: 32px; line-height: 36px; }
	.places h3, .contact h3, .push h3, .fuori h3, .domande h3, .cta-band h3 { font-size: 16px; line-height: 20px; }
	.places-head { flex-direction: column; align-items: flex-start; }
	.place { flex-basis: 78%; height: 380px; }
	.image-video-box img { aspect-ratio: 1 / 1; }
	.frase-testo { font-size: 22px; line-height: 44px; }
	.frase input[type="text"], .frase input[type="email"], .frase select { font-size: 20px; width: 100%; margin: 4px 0; }
	.arco-vuoto { display: none; }
	.arco { padding: 140px 20px 48px 20px; }
	.arco blockquote { font-size: 22px; line-height: 30px; }
	.arco--foto img { width: 100%; }
	.push-row { grid-template-columns: 1fr; gap: 28px; }
	.push-media { grid-column: 1; }
	.push-text p { font-size: 18px; line-height: 26px; }
	.collage { grid-template-columns: 1fr; }
	.c-arco, .c-rett { width: 100%; }
	.collage-col--3 { padding-top: 0; }
	.fuori-lista li { font-size: 26px; line-height: 34px; }
	.domande { grid-template-columns: 1fr; }
	.cta-row { flex-direction: column; align-items: flex-start; }
	.pied-cols { grid-template-columns: 1fr; }
	.pied-zone { padding: 16px 12px 12px 12px; }
	.striscia-cookie { padding: 14px 12px; }
}
@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; scroll-behavior: auto !important; }
}

/* aggiunte dopo la prova su telefono */
.hero { height: calc(100svh - 260px); }
.intro h1 { font-size: clamp(2.75rem, 1.2rem + 6.4vw, 6.75rem); line-height: .9; text-wrap: balance; }
.lead, .push-text p { text-wrap: pretty; }
.place--usd { background-position: 40% center; }
.place--gbp { background-position: center 35%; }
.place--chf { background-position: 60% center; }
.place--eur { background-position: center; }
.place-title { text-shadow: 0 1px 12px rgba(0,0,0,.45); }
.sitehead--over .sitehead-nav a, .sitehead--over .btn--outline-light { text-shadow: 0 1px 6px rgba(0,0,0,.35); background: rgba(30,41,52,.18); }
.arco--testo h2 { font-family: Newsreader, Georgia, serif; font-style: italic; text-transform: none; font-weight: 400; }
.collage-col--1 { padding-top: 0; }
.domanda h4 { font-size: 1.125rem; }
.verbatim-chi, .places-nota, .frase-esito { font-size: 1rem; }
.riepilogo { font-size: 1rem; }
.riepilogo:focus { outline: 2px solid #C4432E; }

/* aggiunte dopo la prova su telefono */
.hero { height: calc(100svh - 260px); }
.intro h1 { font-size: clamp(2.75rem, 1.2rem + 6.4vw, 6.75rem); line-height: .9; text-wrap: balance; }
.lead, .push-text p { text-wrap: pretty; }
.place--usd { background-position: 40% center; }
.place--gbp { background-position: center 35%; }
.place--chf { background-position: 60% center; }
.place--eur { background-position: center; }
.place-title { text-shadow: 0 1px 12px rgba(0,0,0,.45); }
.sitehead--over .sitehead-nav a, .sitehead--over .btn--outline-light { text-shadow: 0 1px 6px rgba(0,0,0,.35); background: rgba(30,41,52,.18); }
.arco--testo h2 { font-family: Newsreader, Georgia, serif; font-style: italic; text-transform: none; font-weight: 400; }
.collage-col--1 { padding-top: 0; }
.domanda h4 { font-size: 1.125rem; }
.verbatim-chi, .places-nota, .frase-esito { font-size: 1rem; }
.riepilogo { font-size: 1rem; }

/* tre valute */
.tre-valute { padding: 40px 36px 90px 36px; background: #FFFFFF; }
.tre-valute-head { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: end; margin-bottom: 36px; }
.tre-valute h2 { font-size: 60px; line-height: 64px; text-transform: uppercase; }
.tre-valute-head p { margin: 0; max-width: 420px; }
.tre-valute-row { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid #1E2934; }
.valuta-carta { padding: 28px 24px 10px 0; border-right: 1px solid #D5DADF; min-width: 0; }
.valuta-carta + .valuta-carta { padding-left: 24px; }
.valuta-carta:last-child { border-right: 0; }
.valuta-carta h3 { font-size: 26px; line-height: 30px; margin: 18px 0 10px 0; }
.valuta-carta p { font-size: 16px; line-height: 24px; }
@media (max-width: 767.98px) { .tre-valute { padding: 30px 20px 60px 20px; } .tre-valute h2 { font-size: 40px; line-height: 44px; } .tre-valute-head, .tre-valute-row { grid-template-columns: 1fr; } .valuta-carta, .valuta-carta + .valuta-carta { padding: 22px 0; border-right: 0; border-bottom: 1px solid #D5DADF; } }
