
:root {
--fy-black:#221f1b;
--fy-text:#555;
--fy-muted:#777;
--fy-cream:#fbf8f0;
--fy-paper:#fffdf8;
--fy-orange:#ffcb07;
--fy-yellow:#ffcb07;
--fy-border:rgba(34,31,27,.12);
--fy-shadow:0 24px 70px rgba(34,31,27,.12);
--fy-radius:28px;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; font-family:'Roboto',Arial,sans-serif; font-weight:300; color:var(--fy-text); background:var(--fy-cream); line-height:1.7; overflow-x:hidden; }
a { color:var(--fy-black); }
img { max-width:100%; display:block; }
#foyns-landing { min-height:100vh; background:var(--fy-cream); }
.fy-inner { width:min(1180px, calc(100% - 40px)); margin:0 auto; }
.fy-nav { position:fixed; inset:0 0 auto 0; height:100px; z-index:50; display:flex; align-items:center; gap:26px; padding:0 max(22px, calc((100vw - 1180px)/2)); background:rgba(255,253,248,.86); backdrop-filter:blur(18px); border-bottom:1px solid rgba(34,31,27,.08); transition:box-shadow .25s, height .25s; }
.fy-nav.solid { box-shadow:0 10px 30px rgba(34,31,27,.08); height:100px; }
.fy-logo { display:flex; align-items:center; justify-content:center; width:100px; height:100px; flex:0 0 auto; background:#fff; border-radius:0; overflow:hidden; }
.fy-logo img { width:100px; height:100px; object-fit:contain; }
.fy-nav-links { display:flex; align-items:center; gap:28px; margin-left:auto; }
.fy-nav-links a { text-decoration:none; font-size:.88rem; font-weight:400; letter-spacing:.02em; color:rgba(34,31,27,.72); }
.fy-nav-links a:hover { color:var(--fy-orange); }
.fy-nav-phone { text-decoration:none; font-weight:700; letter-spacing:.06em; white-space:nowrap; }
.fy-nav-btn { display:inline-flex; align-items:center; justify-content:center; height:42px; padding:0 20px; border-radius:999px; background:#0048ec; color:#fff; text-decoration:none; font-size:.82rem; font-weight:400; letter-spacing:.04em; }
.fy-menu-btn { display:none; margin-left:auto; width:44px; height:44px; border:0; background:transparent; padding:0; }
.fy-menu-btn span { display:block; width:24px; height:2px; background:var(--fy-black); margin:6px auto; transition:.2s; }
.fy-hero { position:relative; min-height:780px; display:flex; align-items:flex-end; overflow:hidden; background:#111; }
.fy-hero-image { position:absolute; inset:0; background-image:url('../images/hero.jpg'); background-size:cover; background-position:center 46%; transform:scale(1.02); }
.fy-hero-shade { position:absolute; inset:0; background:linear-gradient(90deg, rgba(0,0,0,.76) 0%, rgba(0,0,0,.45) 44%, rgba(0,0,0,.08) 100%), linear-gradient(0deg, rgba(34,31,27,.55), rgba(34,31,27,.1) 42%, transparent 70%); }
.fy-hero-inner { position:relative; width:min(1180px, calc(100% - 40px)); margin:0 auto; padding:170px 0 110px; color:#fff; }
.fy-kicker, .fy-section-tag { display:inline-flex; align-items:center; gap:10px; font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.26em; color:var(--fy-orange); margin-bottom:18px; }
.fy-kicker::before, .fy-section-tag::before { content:''; flex:0 0 9px; width:9px; height:9px; border-radius:50%; background:currentColor; }
.fy-hero h1 { max-width:780px; margin:0; font-family:'Lato',Arial,sans-serif; font-weight:900; font-size:clamp(3.8rem, 9vw, 8.8rem); line-height:.87; letter-spacing:0; text-wrap:balance; }
.fy-hero-text { max-width:610px; margin:28px 0 0; color:rgba(255,255,255,.88); font-size:clamp(1.05rem, 1.5vw, 1.3rem); line-height:1.7; }
.fy-hero-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:36px; }
.fy-btn { display:inline-flex; align-items:center; justify-content:center; min-height:56px; padding:0 30px; border-radius:999px; text-decoration:none; font-family:'Roboto',Arial,sans-serif; font-size:.98rem; font-weight:400; letter-spacing:.04em; transition:transform .2s, box-shadow .2s, background .2s; }
.fy-btn:hover { transform:translateY(-2px); }
.fy-btn-dark { background:#0048ec; color:#fff; box-shadow:0 14px 34px rgba(0,72,236,.28); }
.fy-btn-light { color:#fff; border:1px solid rgba(255,255,255,.5); background:rgba(255,255,255,.08); backdrop-filter:blur(10px); }
.fy-btn-yellow { background:#0048ec; color:#fff; box-shadow:0 14px 34px rgba(0,72,236,.25); }
.fy-welcome { padding:96px 0; background:var(--fy-paper); }
.fy-welcome-grid { display:grid; grid-template-columns:minmax(0, 1.3fr) 370px; gap:70px; align-items:start; }
.fy-copy h2, .fy-section-head h2, .fy-cta-copy h2, .fy-family h2, .fy-modal h2 { margin:0; font-family:'Lato',Arial,sans-serif; font-weight:400; color:var(--fy-black); font-size:clamp(2rem, 4.2vw, 4.3rem); line-height:1.02; letter-spacing:-.055em; }
.fy-copy p, .fy-cta-copy p, .fy-family p { font-size:1.12rem; color:var(--fy-text); margin:26px 0 0; max-width:760px; }
.fy-copy a { font-weight:700; text-decoration-thickness:1px; text-underline-offset:4px; }
.fy-lead-line { font-weight:400; color:var(--fy-black) !important; font-size:1.32rem !important; }
.fy-info-card { position:relative; padding:34px; border-radius:var(--fy-radius); background:var(--fy-yellow); box-shadow:var(--fy-shadow); border:1px solid rgba(34,31,27,.08); overflow:hidden; }
.fy-info-icon { display:none; }
.fy-info-card h3 { margin:0 0 14px; font-family:'Lato',Arial,sans-serif; font-weight:400; color:var(--fy-black); font-size:1.32rem; }
.fy-info-card p { display:flex; justify-content:space-between; gap:16px; margin:0 0 12px; font-size:.95rem; line-height:1.55; }
.fy-info-card strong { color:var(--fy-black); font-weight:700; }
.fy-info-card a { font-weight:700; text-decoration:none; }
.fy-info-divider { height:1px; background:var(--fy-border); margin:22px 0; }
.fy-favorites { padding:96px 0 110px; background:linear-gradient(180deg, var(--fy-cream), #fff); }
.fy-section-head { display:block; margin-bottom:40px; }
.fy-section-head h2 { max-width:760px; }
.fy-fav-grid { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:22px; }
.fy-fav-card { background:#fff; border:1px solid var(--fy-border); border-radius:30px; overflow:hidden; box-shadow:0 14px 46px rgba(34,31,27,.08); transition:transform .25s, box-shadow .25s; }
.fy-fav-card:hover { transform:translateY(-5px); box-shadow:0 24px 70px rgba(34,31,27,.13); }
.fy-fav-card img { height:260px; width:100%; object-fit:cover; }
.fy-fav-body { padding:28px; }
.fy-fav-body h3 { margin:0 0 10px; font-family:'Lato',Arial,sans-serif; font-weight:400; color:var(--fy-black); font-size:1.5rem; letter-spacing:-.025em; }
.fy-fav-body p { margin:0; font-size:.98rem; color:var(--fy-text); }
.fy-fav-body a { display:none !important; }
.fy-cta { padding:110px 0; background:#fff; }
.fy-cta-grid { display:grid; grid-template-columns:minmax(0, 1.02fr) minmax(0, .98fr); gap:70px; align-items:center; }
.fy-cta-image { min-height:560px; border-radius:36px; background-image:url('../images/cta-hamburgermeny.jpg'); background-size:cover; background-position:center; box-shadow:var(--fy-shadow); }
.fy-cta-copy { padding:20px 0; }
.fy-cta-copy .fy-btn { margin-top:32px; }
.fy-family { padding:90px 0; background:var(--fy-black); color:#fff; }
.fy-family-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:64px; align-items:center; }
.fy-family h2 { color:#fff; }
.fy-family p { color:rgba(255,255,255,.78); margin:0; }
.fy-reviews { padding:96px 0 120px; background:linear-gradient(180deg, #fff, var(--fy-cream)); }
.fy-review-grid { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:20px; }
.fy-review-card { padding:34px; border-radius:28px; background:#fff; border:1px solid var(--fy-border); box-shadow:0 16px 48px rgba(34,31,27,.08); min-height:250px; display:flex; flex-direction:column; justify-content:space-between; }
.fy-review-card p { margin:0; font-size:1.05rem; color:var(--fy-text); line-height:1.75; }
.fy-review-card p::before { content:'“'; color:var(--fy-orange); font-size:2.7rem; line-height:0; vertical-align:-.35em; margin-right:2px; }
.fy-review-card strong { display:block; margin-top:26px; font-family:'Lato',Arial,sans-serif; font-weight:400; color:var(--fy-black); letter-spacing:.08em; text-transform:uppercase; }
.fy-review-arrow { display:none; }
.fy-review-prev { left:-24px; }
.fy-review-next { right:-24px; }
.fy-review-dots { display:none; }
.fy-review-dot { width:9px; height:9px; border-radius:50%; border:0; background:rgba(34,31,27,.18); cursor:pointer; transition:transform .2s, background .2s; }
.fy-review-dot.active { background:var(--fy-orange); transform:scale(1.35); }
.fy-cookie { position:fixed; left:24px; right:24px; bottom:22px; z-index:80; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:22px 24px; background:rgba(34,31,27,.96); color:#fff; border-radius:22px; box-shadow:0 22px 70px rgba(0,0,0,.28); transform:translateY(140%); opacity:0; transition:transform .35s, opacity .35s; }
.fy-cookie.show { transform:translateY(0); opacity:1; }
.fy-cookie-text { display:flex; flex-wrap:wrap; gap:6px 10px; font-size:.95rem; line-height:1.55; }
.fy-cookie-text strong { color:#fff; }
.fy-cookie-text span { color:rgba(255,255,255,.76); }
.fy-cookie-text button { color:var(--fy-yellow); background:none; border:0; padding:0; font:inherit; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.fy-cookie-actions { display:flex; gap:12px; flex:0 0 auto; }
.fy-cookie-actions button { height:48px; padding:0 24px; border-radius:999px; cursor:pointer; font-weight:700; letter-spacing:.04em; }
.fy-cookie-primary { background:var(--fy-yellow); color:var(--fy-black); border:1px solid var(--fy-yellow); }
.fy-cookie-secondary { background:transparent; color:#fff; border:1px solid rgba(255,255,255,.35); }
.fy-cookie-revisit { position:fixed; left:20px; bottom:20px; z-index:75; width:46px; height:46px; border-radius:50%; border:1px solid rgba(34,31,27,.18); background:#fff; color:var(--fy-black); box-shadow:0 12px 34px rgba(34,31,27,.16); font-weight:700; cursor:pointer; display:none; }
.fy-cookie-revisit {display:flex;align-items:center;justify-content:center;}
.fy-cookie-revisit.show { display:block; }
.fy-modal { position:fixed; inset:0; z-index:100; display:none; }
.fy-modal.open { display:block; }
.fy-modal-backdrop { position:absolute; inset:0; background:rgba(0,0,0,.55); }
.fy-modal-panel { position:relative; width:min(780px, calc(100% - 36px)); max-height:82vh; overflow:auto; margin:8vh auto; background:#fff; border-radius:26px; padding:40px; box-shadow:0 30px 100px rgba(0,0,0,.26); }
.fy-modal-close { position:absolute; top:16px; right:18px; width:42px; height:42px; border:0; background:transparent; font-size:2rem; cursor:pointer; color:rgba(34,31,27,.55); }
.fy-modal h2 { font-size:2.4rem; margin-bottom:20px; }
.fy-modal h3 { margin:26px 0 8px; font-family:'Lato',Arial,sans-serif; font-weight:400; color:var(--fy-black); font-size:1.25rem; }
.fy-modal p { color:var(--fy-text); margin:0 0 12px; }
.reveal { opacity:0; transform:translateY(26px); transition:opacity .7s ease, transform .7s ease; }
.reveal.on { opacity:1; transform:none; }
.reveal.d1 { transition-delay:.08s; }
.reveal.d2 { transition-delay:.16s; }
.reveal.d3 { transition-delay:.24s; }
@media (max-width:1000px) {
.fy-nav { padding:0 20px; }
.fy-nav-links { position:fixed; top:100px; left:20px; right:20px; display:none; flex-direction:column; align-items:flex-start; gap:0; padding:18px; border-radius:22px; background:#fff; box-shadow:var(--fy-shadow); }
.fy-nav-links.open { display:flex; }
.fy-nav-links a { width:100%; padding:12px; border-bottom:1px solid var(--fy-border); }
.fy-menu-btn { display:block; }
.fy-nav-phone, .fy-nav-btn { display:none; }
.fy-welcome-grid, .fy-cta-grid, .fy-family-grid { grid-template-columns:1fr; gap:42px; }
.fy-fav-grid { grid-template-columns:1fr; }
.fy-review-grid { grid-template-columns:1fr; }
.fy-cta-image { min-height:420px; }
}
@media (max-width:640px) {
.fy-inner, .fy-hero-inner { width:min(100% - 28px, 1180px); }
.fy-nav { height:100px; }
.fy-logo, .fy-logo img { width:100px; height:100px; }
.fy-hero { min-height:720px; align-items:flex-end; }
.fy-hero-image { background-position:center top; }
.fy-hero-shade { background:linear-gradient(0deg, rgba(0,0,0,.82) 0%, rgba(0,0,0,.56) 52%, rgba(0,0,0,.16) 100%); }
.fy-hero-inner { padding:120px 0 64px; }
.fy-hero h1 { font-size:clamp(3.2rem, 18vw, 5.5rem); }
.fy-hero-actions { flex-direction:column; align-items:stretch; }
.fy-btn { width:100%; }
.fy-welcome, .fy-favorites, .fy-cta, .fy-family, .fy-reviews { padding:64px 0; }
.fy-copy h2, .fy-section-head h2, .fy-cta-copy h2, .fy-family h2 { font-size:2.35rem; }
.fy-section-head { display:block; }
.fy-fav-card img { height:220px; }
.fy-cta-image { min-height:340px; border-radius:26px; }
.fy-review-card { padding:28px; }
.fy-review-arrow { display:none; }
.fy-cookie { left:12px; right:12px; bottom:12px; display:block; padding:20px; }
.fy-cookie-actions { margin-top:16px; flex-direction:column-reverse; }
.fy-cookie-actions button { width:100%; }
.fy-modal-panel { padding:30px 22px; margin:6vh auto; }
}


/* Foyn's v2 refinements */
#foyns-landing .fy-nav-btn,
#foyns-landing .fy-btn-dark,
#foyns-landing .fy-btn-yellow {
background:#0048ec !important;
color:#fff !important;
}
#foyns-landing .fy-kicker,
#foyns-landing .fy-section-tag {
color:#ffcb07 !important;
}
#foyns-landing .fy-hero h1 {
font-family:'Lato',Arial,sans-serif;
font-weight:900;
letter-spacing:0 !important;
}
#foyns-landing .fy-copy h2,
#foyns-landing .fy-section-head h2,
#foyns-landing .fy-cta-copy h2,
#foyns-landing .fy-family h2 {
font-family:'Lato',Arial,sans-serif;
font-weight:400;
}
#foyns-landing .fy-info-card {
background:#ffcb07 !important;
}
#foyns-landing .fy-info-icon,
#foyns-landing .fy-fav-body a,
#foyns-landing .fy-review-arrow,
#foyns-landing .fy-review-dots {
display:none !important;
}
#foyns-landing .fy-review-grid {
display:grid;
grid-template-columns:repeat(3, minmax(0,1fr));
gap:20px;
}
#foyns-landing .fy-review-card {
width:auto;
}
@media (max-width:1000px) {
#foyns-landing .fy-review-grid {
grid-template-columns:1fr;
}
}

/* Foyn's v3 targeted adjustments */
#foyns-landing .fy-logo {
background: transparent !important;
overflow: visible;
}
#foyns-landing .fy-logo img {
background: transparent !important;
object-fit: contain;
}
#foyns-landing .fy-kicker {
color:#ffcb07 !important;
}
#foyns-landing .fy-section-tag {
color:#555 !important;
}
#foyns-landing .fy-copy h2,
#foyns-landing .fy-section-head h2,
#foyns-landing .fy-cta-copy h2,
#foyns-landing .fy-family h2,
#foyns-landing .fy-info-card h3,
#foyns-landing .fy-fav-body h3,
#foyns-landing .fy-modal h2,
#foyns-landing .fy-modal h3 {
letter-spacing:0 !important;
}
#foyns-landing .fy-review-card p::before {
color:#555 !important;
}
#foyns-landing .fy-info-card p span,
#foyns-landing .fy-info-card p a {
color:#000 !important;
font-weight:500 !important;
}
@media (max-width:640px) {
#foyns-landing .fy-hero-image {
background-position:64% center !important;
}
}
