:root{
  --paper:#f4f1e9;
  --paper-2:#ebe6da;
  --ink:#1d2623;
  --muted:#65706b;
  --green:#24453b;
  --green-2:#315c4e;
  --red:#d85d40;
  --blue:#315a73;
  --sand:#d8b15f;
  --line:#cfc8ba;
  --white:#fffdf8;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{width:min(var(--max),calc(100% - 44px));margin:auto}
::selection{background:var(--sand);color:var(--ink)}

/* Header */
.site-header{position:sticky;top:0;z-index:20;background:rgba(244,241,233,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}
.nav{height:74px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{display:flex;align-items:center;gap:11px;font-size:20px;font-weight:800;letter-spacing:-.025em}
.logo-mark{width:32px;height:32px;border-radius:50%;background:var(--green);position:relative;display:inline-block}
.logo-mark:before{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:var(--sand);left:6px;top:6px}
.logo-mark:after{content:"";position:absolute;width:13px;height:3px;background:var(--white);right:5px;bottom:8px;transform:rotate(-28deg);border-radius:2px}
.nav-links{display:flex;align-items:center;gap:27px;font-size:14px;font-weight:650}
.nav-links a{color:#35413d}.nav-links a:hover{color:var(--red)}
.nav-links .nav-cta{padding:10px 15px;border:1px solid var(--ink);border-radius:999px}
.nav-links .nav-cta:hover{background:var(--ink);color:var(--white)}
.menu{display:none;background:none;border:1px solid var(--line);border-radius:8px;width:42px;height:42px;font-size:20px}

/* Hero */
.hero{padding:28px 0 74px}
.hero-card{background:var(--green);color:var(--white);border-radius:26px;overflow:hidden;display:grid;grid-template-columns:1.04fr .96fr;min-height:610px;box-shadow:0 18px 45px rgba(31,42,38,.12)}
.hero-copy{padding:68px 62px 62px;display:flex;flex-direction:column;justify-content:space-between}
.eyebrow{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#cfd9d4}
.hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(62px,7.5vw,108px);line-height:.88;letter-spacing:-.055em;font-weight:600;margin:28px 0 30px;max-width:700px}
.hero h1 em{font-style:normal;color:#efd18d}
.hero-lead{font-size:19px;color:#dce4e0;max-width:585px;margin:0 0 34px}
.actions{display:flex;gap:12px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border-radius:999px;font-size:14px;font-weight:750;border:1px solid transparent;transition:.18s}
.button.primary{background:var(--white);color:var(--ink)}.button.primary:hover{transform:translateY(-2px)}
.button.secondary{border-color:#8ea399;color:var(--white)}.button.secondary:hover{background:rgba(255,255,255,.07)}
.hero-note{font-size:13px;color:#aebdb6;margin-top:34px}

.hero-map{position:relative;background:#e6ddca;margin:22px;border-radius:18px;overflow:hidden;min-height:566px;color:var(--ink)}
.map-street{position:absolute;background:#c6baa3;border-radius:999px;transform-origin:left center}
.map-street.a{width:120%;height:14px;left:-8%;top:18%;transform:rotate(13deg)}
.map-street.b{width:125%;height:11px;left:-10%;top:55%;transform:rotate(-9deg)}
.map-street.c{width:110%;height:9px;left:-5%;top:78%;transform:rotate(5deg)}
.map-street.d{width:12px;height:120%;left:29%;top:-8%;transform:rotate(-11deg)}
.map-street.e{width:10px;height:110%;left:67%;top:-3%;transform:rotate(9deg)}
.map-block{position:absolute;background:#efe9dc;border:1px solid #d3c8b5;border-radius:9px}
.b1{left:10%;top:28%;width:22%;height:18%}.b2{right:9%;top:23%;width:28%;height:21%}.b3{left:18%;bottom:12%;width:27%;height:19%}.b4{right:11%;bottom:15%;width:27%;height:23%}
.route{position:absolute;left:18%;top:29%;width:59%;height:44%;border-left:6px solid var(--red);border-bottom:6px solid var(--red);border-radius:0 0 0 80px;transform:rotate(-5deg)}
.route:before,.route:after{content:"";position:absolute;width:18px;height:18px;background:var(--red);border:5px solid #f6eee0;border-radius:50%}
.route:before{left:-12px;top:-8px}.route:after{right:-8px;bottom:-12px}
.map-badge{position:absolute;left:22px;top:22px;background:var(--white);padding:12px 14px;border-radius:12px;box-shadow:0 8px 20px rgba(50,45,36,.12)}
.map-badge span{display:block;font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.map-badge strong{font-size:16px}
.map-note{position:absolute;right:20px;bottom:20px;background:#fff8e9;width:min(270px,72%);padding:17px 18px;border-radius:12px;transform:rotate(-2deg);box-shadow:0 12px 22px rgba(50,45,36,.13)}
.map-note strong{display:block;font-family:Georgia,serif;font-size:25px;line-height:1.05;margin-bottom:7px}.map-note p{margin:0;font-size:13px;color:#5d665f}

/* Intro strip */
.quickline{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.quickline .wrap{display:grid;grid-template-columns:1.1fr repeat(3,.7fr);align-items:stretch}
.quick-item{padding:26px 24px;border-right:1px solid var(--line)}.quick-item:first-child{padding-left:0}.quick-item:last-child{border-right:0}
.quick-item small{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-weight:750;margin-bottom:4px}.quick-item strong{font-size:16px}

/* Shared */
.section{padding:105px 0}
.section-head{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:end;margin-bottom:54px}
.section-tag{font-size:12px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--red)}
.section h2,.page-hero h1{font-family:Georgia,"Times New Roman",serif;font-weight:600;letter-spacing:-.04em}
.section h2{font-size:clamp(48px,5.5vw,78px);line-height:.95;margin:10px 0 0}
.section-head p{font-size:18px;color:var(--muted);margin:0;max-width:580px}

/* Games */
.games-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.game-card{min-height:500px;border-radius:22px;overflow:hidden;position:relative;padding:36px;display:flex;flex-direction:column;justify-content:space-between;transition:.2s}
.game-card:hover{transform:translateY(-4px)}
.game-card.escape{background:#d8e7ee;color:#173546}.game-card.treasure{background:#ead7a9;color:#382f20}
.game-top{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.game-kicker{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;opacity:.7}.game-state{font-size:11px;font-weight:800;background:rgba(255,255,255,.56);border-radius:999px;padding:7px 10px}
.game-visual{height:190px;position:relative;margin:14px 0}
.escape .game-visual:before{content:"";position:absolute;width:230px;height:150px;border:3px solid #173546;border-radius:14px;left:8%;top:16%;transform:rotate(-4deg)}
.escape .game-visual:after{content:"";position:absolute;width:130px;height:86px;border:3px solid #173546;border-radius:12px;right:10%;bottom:4%;background:#eff7fa;transform:rotate(6deg);box-shadow:-22px -18px 0 #b5d5e2}
.treasure .game-visual:before{content:"✕";position:absolute;font:700 115px/1 Georgia,serif;color:#8d3c2c;left:18%;top:16%;transform:rotate(-9deg)}
.treasure .game-visual:after{content:"";position:absolute;width:180px;height:125px;border:3px dashed #6f5d35;border-radius:50%;right:7%;top:28%;transform:rotate(12deg)}
.game-card h3{font-family:Georgia,serif;font-size:52px;line-height:.95;letter-spacing:-.04em;margin:0 0 16px}.game-card p{font-size:16px;max-width:470px;margin:0 0 26px;opacity:.82}.game-link{font-size:14px;font-weight:800;display:flex;align-items:center;justify-content:space-between;border-top:1px solid currentColor;padding-top:16px}

/* Engine */
.engine-section{background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.engine-layout{display:grid;grid-template-columns:370px 1fr;gap:90px}
.engine-intro{position:sticky;top:115px;align-self:start}.engine-intro h2{font-size:58px}.engine-intro p{color:var(--muted);font-size:17px}
.engine-list{border-top:1px solid var(--line)}
.engine-row{display:grid;grid-template-columns:72px 220px 1fr;gap:30px;padding:34px 0;border-bottom:1px solid var(--line);align-items:start}
.engine-num{font-family:Georgia,serif;font-size:30px;color:var(--red)}
.engine-row h3{font-size:23px;line-height:1.15;margin:2px 0 0;letter-spacing:-.02em}.engine-row p{margin:1px 0 0;color:var(--muted);font-size:16px}

/* Use cases */
.use-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.use-card{background:var(--paper-2);border-radius:16px;padding:26px;min-height:230px;display:flex;flex-direction:column;justify-content:space-between}
.use-icon{font-size:29px}.use-card h3{font-size:22px;margin:25px 0 8px}.use-card p{font-size:14px;color:var(--muted);margin:0}

/* Partner */
.partner{padding:0 0 105px}.partner-card{background:var(--red);color:#fff7ef;border-radius:24px;padding:55px;display:grid;grid-template-columns:1fr 330px;gap:60px;align-items:end}
.partner-card h2{font-size:clamp(46px,5.5vw,74px);margin:0 0 18px}.partner-card p{font-size:18px;max-width:650px;color:#ffe3d8}.partner-card .button{background:#fff7ef;color:#702515;justify-self:start}

/* Inner pages */
.page-hero{padding:78px 0 68px;border-bottom:1px solid var(--line)}
.page-hero .wrap{max-width:980px;margin-left:max(22px,calc((100vw - var(--max))/2))}
.page-hero h1{font-size:clamp(58px,7vw,94px);line-height:.94;margin:15px 0 25px}.page-hero p{font-size:20px;color:var(--muted);max-width:760px;margin:0}
.page-content{padding:80px 0 110px}.content-grid{display:grid;grid-template-columns:240px 1fr;gap:70px}.side-label{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--red)}
.prose{max-width:800px}.prose h2{font-family:Georgia,serif;font-size:43px;line-height:1;letter-spacing:-.035em;margin:0 0 24px}.prose h3{font-size:25px;margin:45px 0 11px}.prose p,.prose li{font-size:17px;color:#4f5c56}.prose ul{padding-left:20px}.facts{margin-top:45px;border-top:1px solid var(--line)}.fact{display:grid;grid-template-columns:190px 1fr;gap:25px;padding:18px 0;border-bottom:1px solid var(--line)}.fact span{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:750}.fact strong{font-size:17px}
.contact-list{border-top:1px solid var(--line);margin-top:38px}.contact-row{display:grid;grid-template-columns:160px 1fr auto;gap:24px;padding:22px 0;border-bottom:1px solid var(--line);align-items:center}.contact-row span{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:750}.contact-row strong{font-size:19px}.contact-row a:last-child{color:var(--red);font-weight:800}
.game-page-banner{border-radius:24px;padding:54px;margin-top:40px}.game-page-banner.escape{background:#d8e7ee;color:#173546}.game-page-banner.treasure{background:#ead7a9;color:#382f20}.game-page-banner h2{font-size:54px}.game-page-banner p{color:inherit;opacity:.8}

footer{border-top:1px solid var(--line);padding:42px 0 50px}.footer{display:flex;justify-content:space-between;align-items:center;gap:25px;flex-wrap:wrap}.footer-links{display:flex;gap:24px;flex-wrap:wrap;font-size:13px;color:var(--muted)}.footer-links a:hover{color:var(--red)}

@media(max-width:960px){
  .nav-links{display:none;position:absolute;left:0;right:0;top:74px;background:var(--paper);border-bottom:1px solid var(--line);padding:20px 22px;flex-direction:column;align-items:flex-start}.nav-links.open{display:flex}.menu{display:block}
  .hero-card{grid-template-columns:1fr}.hero-copy{padding:52px 40px}.hero-map{min-height:420px;margin-top:0}.quickline .wrap{grid-template-columns:1fr 1fr}.quick-item{border-bottom:1px solid var(--line)}.quick-item:nth-child(2){border-right:0}.section-head{grid-template-columns:1fr;gap:24px}.engine-layout{grid-template-columns:1fr;gap:45px}.engine-intro{position:static}.use-grid{grid-template-columns:1fr 1fr}.partner-card{grid-template-columns:1fr}.content-grid{grid-template-columns:1fr;gap:28px}
}
@media(max-width:640px){
  .wrap{width:min(var(--max),calc(100% - 24px))}.hero{padding-top:16px}.hero-card{border-radius:18px}.hero-copy{padding:38px 26px}.hero h1{font-size:58px}.hero-lead{font-size:17px}.hero-map{margin:12px;min-height:350px}.quickline .wrap{grid-template-columns:1fr}.quick-item{padding:19px 0;border-right:0}.section{padding:74px 0}.games-grid{grid-template-columns:1fr}.game-card{min-height:430px;padding:28px}.game-card h3{font-size:44px}.engine-row{grid-template-columns:48px 1fr;gap:18px}.engine-row p{grid-column:2}.use-grid{grid-template-columns:1fr}.partner{padding-bottom:74px}.partner-card{padding:34px 27px;border-radius:18px}.page-hero{padding:55px 0}.page-content{padding:62px 0 80px}.fact,.contact-row{grid-template-columns:1fr;gap:7px}.game-page-banner{padding:32px 26px}.game-page-banner h2{font-size:42px}
}
