/*
Theme Name: Greek Fantasy World
Theme URI: https://gfw.gr
Author: Greek Fantasy World
Description: Landing-page theme for Greek Fantasy World.
Version: 0.1.0
Text Domain: gfw
*/

:root { --ink:#0b1118; --navy:#111f31; --navy-2:#17344d; --gold:#d6a952; --gold-pale:#f2d998; --papyrus:#ead5a0; --paper:#f4ead0; --red:#a54131; --line:rgba(214,169,82,.35); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--navy); background:var(--paper); font-family:Georgia, 'Times New Roman', serif; font-size:17px; line-height:1.65; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; height:auto; display:block; }
.gfw-shell { overflow:hidden; }
.gfw-header { position:absolute; z-index:5; top:0; width:100%; border-bottom:1px solid rgba(242,217,152,.24); background:linear-gradient(180deg,rgba(4,8,13,.82),rgba(4,8,13,0)); }
.gfw-nav { max-width:1280px; min-height:92px; padding:14px 30px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.gfw-brand { width:235px; }
.gfw-menu { display:flex; align-items:center; gap:25px; color:#f8edcf; font-family:Arial,sans-serif; font-size:12px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.gfw-menu a { opacity:.88; transition:color .2s, opacity .2s; }
.gfw-menu a:hover { color:var(--gold-pale); opacity:1; }
.gfw-menu .nav-cta { padding:10px 16px; border:1px solid var(--gold); color:var(--gold-pale); }
.hero { min-height:800px; position:relative; isolation:isolate; color:#fff7df; background:#07101c url('assets/images/gfw-hero.png') center/cover no-repeat; display:grid; place-items:center; text-align:center; }
.hero:before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(4,10,17,.58),rgba(4,10,17,.15) 45%,rgba(4,10,17,.52)),linear-gradient(0deg,rgba(4,10,17,.86),transparent 55%); }
.hero:after { content:''; position:absolute; z-index:-1; inset:0; opacity:.35; background-image:radial-gradient(circle at center, transparent 0 30%, rgba(0,0,0,.42) 100%); }
.hero-inner { max-width:760px; padding:160px 28px 90px; }
.hero-kicker { font-family:Arial,sans-serif; font-size:11px; font-weight:700; letter-spacing:.28em; color:var(--gold-pale); text-transform:uppercase; }
.hero-emblem { width:108px; margin:20px auto 12px; filter:drop-shadow(0 9px 12px rgba(0,0,0,.42)); }
.hero h1 { margin:0; font-size:clamp(46px,7vw,86px); line-height:.94; letter-spacing:.035em; text-shadow:0 4px 18px #000; }
.hero .subtitle { max-width:610px; margin:20px auto 30px; font-size:clamp(18px,2vw,22px); line-height:1.5; text-shadow:0 2px 10px #000; }
.gold-rule { width:min(330px,80%); height:10px; margin:0 auto 31px; border-top:1px solid var(--gold); border-bottom:1px solid var(--gold); position:relative; }
.gold-rule:after { content:'◆'; position:absolute; top:-13px; left:50%; transform:translateX(-50%); background:#1a2533; padding:0 10px; color:var(--gold); font-size:13px; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:13px 24px; border:1px solid var(--gold); background:rgba(13,27,43,.62); color:var(--gold-pale); font-family:Arial,sans-serif; font-size:12px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; transition:transform .2s, background .2s; }
.button:hover { transform:translateY(-2px); background:var(--gold); color:var(--ink); }
.scroll-note { position:absolute; bottom:27px; left:50%; transform:translateX(-50%); font-family:Arial,sans-serif; font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:#f8edcf; }
.scroll-note:after { content:''; display:block; width:1px; height:35px; background:var(--gold); margin:10px auto 0; }
.ornament { height:32px; background:var(--navy); color:var(--gold); text-align:center; font-size:23px; line-height:27px; letter-spacing:.22em; overflow:hidden; }
.section { position:relative; padding:105px 30px; }
.container { width:min(1180px,100%); margin:auto; }
.eyebrow { margin:0 0 12px; color:#8e6724; font-family:Arial,sans-serif; font-size:11px; font-weight:800; letter-spacing:.22em; text-transform:uppercase; }
.section-title { margin:0; color:var(--navy); font-size:clamp(34px,4.3vw,58px); line-height:1.05; }
.section-lead { max-width:690px; margin:21px 0 0; font-size:20px; color:#46515a; }
.manifesto { background:linear-gradient(115deg,rgba(244,234,208,.96),rgba(232,210,158,.93)),url('assets/images/gfw-master-map.png') center/cover; }
.manifesto-grid { display:grid; grid-template-columns:1.08fr .92fr; gap:75px; align-items:center; }
.manifesto-copy { max-width:650px; }
.manifesto-copy p { color:#39434c; }
.quote-card { position:relative; padding:50px 44px; color:#f8edcf; background:var(--navy); border:1px solid var(--gold); box-shadow:18px 18px 0 rgba(116,78,20,.18); }
.quote-card:before { content:'“'; position:absolute; top:-27px; left:24px; color:var(--gold); font-size:110px; line-height:1; }
.quote-card p { margin:20px 0 0; font-size:clamp(28px,3vw,40px); line-height:1.13; }
.quote-card small { display:block; margin-top:24px; color:var(--gold-pale); font-family:Arial,sans-serif; font-size:11px; letter-spacing:.18em; text-transform:uppercase; }
.world { color:#e9dfbf; background:var(--ink); overflow:hidden; }
.world:before { content:''; position:absolute; inset:0; opacity:.2; background-image:linear-gradient(rgba(214,169,82,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(214,169,82,.13) 1px,transparent 1px); background-size:58px 58px; }
.world .container { position:relative; }
.world .section-title { color:#fff0c5; }
.world .section-lead { color:#c4c3b5; }
.map-frame { position:relative; margin-top:50px; padding:15px; background:linear-gradient(135deg,#bd8b34,#f4d98d,#8b5d1d); box-shadow:0 28px 70px rgba(0,0,0,.5); }
.map-frame img { width:100%; border:5px solid #1d2d3c; }
.map-link { margin:28px 0 0; text-align:center; }
.map-badge { position:absolute; top:29px; left:29px; padding:14px 18px; background:rgba(8,15,23,.9); border:1px solid var(--gold); color:var(--gold-pale); font-family:Arial,sans-serif; font-size:11px; font-weight:bold; letter-spacing:.15em; text-transform:uppercase; }
.pillars { background:#f4ead0; }
.pillar-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:47px; }
.pillar { min-height:310px; padding:42px 32px; border:1px solid #cba75d; background:linear-gradient(150deg,#fff6d9,#e8d1a0); position:relative; overflow:hidden; }
.pillar:after { content:attr(data-number); position:absolute; right:-8px; bottom:-37px; color:rgba(150,100,31,.12); font-size:180px; line-height:1; font-weight:bold; }
.pillar-icon { color:#9a6a22; font-size:46px; line-height:1; }
.pillar h3 { position:relative; margin:21px 0 10px; color:var(--navy); font-size:28px; }
.pillar p { position:relative; margin:0; color:#4f5553; }
.journey { background:#162a3d; color:#f7edcf; }
.journey-grid { display:grid; grid-template-columns:.92fr 1.08fr; gap:70px; align-items:center; }
.journey .section-title { color:#fff1c6; }
.journey p { color:#d6d4c9; }
.hero-list { list-style:none; padding:0; margin:28px 0; }
.hero-list li { padding:14px 0; border-top:1px solid rgba(242,217,152,.22); color:var(--gold-pale); }
.hero-list li:before { content:'✦'; margin-right:11px; color:var(--gold); }
.journey-seal { display:grid; place-items:center; min-height:340px; border:1px solid rgba(214,169,82,.5); background:radial-gradient(circle,#253e56,#0c1723); }
.journey-seal img { width:min(260px,65%); filter:drop-shadow(0 14px 20px rgba(0,0,0,.5)); }
.final-call { text-align:center; background:linear-gradient(rgba(9,17,25,.75),rgba(9,17,25,.82)),url('assets/images/gfw-hero.png') center 70%/cover; color:#fff0c6; }
.final-call .section-title { color:#fff0c6; }
.final-call .section-lead { margin-left:auto; margin-right:auto; color:#e6dcc6; }
.gfw-footer { padding:35px 30px; color:#bfb395; background:#080e14; }
.footer-grid { display:flex; justify-content:space-between; gap:20px; align-items:center; max-width:1180px; margin:auto; font-family:Arial,sans-serif; font-size:11px; letter-spacing:.1em; text-transform:uppercase; }
.footer-logo { width:175px; opacity:.9; }
.page-hero { min-height:470px; position:relative; display:flex; align-items:end; padding:150px 30px 70px; color:#fff0c6; background:#0a1726 center/cover no-repeat; isolation:isolate; }
.page-hero:before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(4,10,18,.88),rgba(4,10,18,.35)),linear-gradient(0deg,rgba(4,10,18,.86),transparent 75%); }
.page-hero .container { width:min(1180px,100%); }
.page-hero h1 { margin:0; font-size:clamp(46px,7vw,84px); line-height:.95; }
.page-hero p { max-width:650px; font-size:21px; }
.lore-grid { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
.lore-card { padding:37px; background:#14283b; color:#efe4c9; border:1px solid var(--line); }
.lore-card h3 { margin-top:0; color:var(--gold-pale); font-size:31px; }
.lore-card p { color:#d2d1c7; }
.metal-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:45px; }
.metal-card { background:#101f2e; color:#f6ead0; border:1px solid rgba(214,169,82,.42); overflow:hidden; }
.metal-card img { width:100%; aspect-ratio:1/1; object-fit:cover; }
.metal-card div { padding:25px; }.metal-card h3 { margin:0 0 8px; color:var(--gold-pale); font-size:25px; }.metal-card p { margin:0; color:#d4d3ca; }
.legal-copy { max-width:850px; }.legal-copy h2 { margin-top:45px; font-size:30px; color:var(--navy); }.legal-copy p,.legal-copy li { color:#45515b; }
.contact-card { max-width:760px; margin:auto; padding:55px; text-align:center; background:#13273a; border:1px solid var(--gold); color:#eee3c8; }.contact-card h2 { margin-top:0; color:#fff0c6; font-size:42px; }.contact-card p { color:#d2d2ca; }
.chronicle { background:linear-gradient(110deg,#f4e7c5,#ead29d); }.chronicle-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:50px; align-items:start; }.chronicle-label { position:sticky; top:30px; padding:32px; background:#112438; color:#f7e5bb; border-left:4px solid var(--gold); }.chronicle-label h2 { margin:0; font-size:34px; line-height:1.05; }.chronicle-entry { padding:0 0 30px 32px; border-left:1px solid #bd9145; position:relative; }.chronicle-entry:before { content:''; position:absolute; width:11px; height:11px; border-radius:50%; background:var(--gold); border:3px solid #f4e7c5; left:-9px; top:7px; }.chronicle-entry h3 { margin:0 0 8px; color:#1b3145; font-size:27px; }.chronicle-entry p { margin:0; color:#4a535a; }
.impact-map { position:relative; margin-top:42px; padding:15px; background:linear-gradient(135deg,#bd8b34,#f4d98d,#8b5d1d); box-shadow:0 28px 70px rgba(0,0,0,.5); }.impact-map img { width:100%; border:5px solid #1d2d3c; }.impact-marker { position:absolute; width:34px; height:34px; border-radius:50%; border:2px solid #fff2b7; background:#b64b2e; color:#fff6d8; box-shadow:0 0 0 7px rgba(217,169,82,.2),0 0 24px rgba(255,190,80,.8); cursor:pointer; transform:translate(-50%,-50%); font-family:Arial,sans-serif; font-size:12px; font-weight:800; }.impact-marker:hover,.impact-marker.is-active { background:#efb554; color:#111d28; transform:translate(-50%,-50%) scale(1.15); }.impact-panel { margin-top:18px; padding:26px 30px; background:#112438; border:1px solid var(--gold); color:#e7ddc4; }.impact-panel h3 { margin:0 0 8px; color:#f5d98e; font-size:27px; }.impact-panel p { margin:0; color:#d5d1c7; }.social-row { display:flex; justify-content:center; flex-wrap:wrap; gap:12px; margin-top:28px; }.social-chip { padding:11px 16px; border:1px solid var(--line); color:var(--gold-pale); font-family:Arial,sans-serif; font-size:11px; font-weight:bold; letter-spacing:.12em; text-transform:uppercase; }
@media (max-width:800px) { .lore-grid,.metal-grid,.chronicle-grid { grid-template-columns:1fr; } .page-hero { min-height:410px; padding:135px 22px 55px; }.contact-card { padding:38px 24px; }.chronicle-label { position:static; }.impact-marker { width:29px; height:29px; font-size:10px; } }
@media (max-width:800px) { .gfw-nav { min-height:72px; padding:12px 18px; } .gfw-brand { width:176px; } .gfw-menu { display:none; } .hero { min-height:720px; background-position:52% center; } .section { padding:75px 22px; } .manifesto-grid,.journey-grid { grid-template-columns:1fr; gap:40px; } .pillar-grid { grid-template-columns:1fr; } .quote-card { padding:42px 30px; box-shadow:10px 10px 0 rgba(116,78,20,.18); } .map-badge { position:static; display:inline-block; margin:0 0 10px; } .footer-grid { flex-direction:column; text-align:center; } }
