
.portal-page{background:#fbfaf7;color:#233044}
.portal-main{max-width:1200px;margin:auto;padding:0 32px}
.portal-main h1,.portal-main h2,.portal-main h3{color:#202d40;letter-spacing:-.045em}
.portal-main p{color:#5a6777;line-height:1.85}
.portal-main h1{font-size:clamp(38px,4.3vw,61px);line-height:1.18;white-space:pre-line;margin:22px 0}
.portal-main h2{font-size:clamp(27px,3vw,37px);line-height:1.3;margin:12px 0 18px}
.portal-main h3{font-size:25px;line-height:1.3;margin:12px 0}
.portal-eyebrow{font-size:11px!important;font-weight:800;letter-spacing:.11em;line-height:1.6!important;color:#486252!important;text-transform:uppercase}
.portal-hero{display:grid;grid-template-columns:1fr 1.1fr;gap:30px;align-items:center;padding:62px 0 48px}
.portal-lead{font-size:17px;white-space:pre-line;max-width:610px}
.hero-visual{margin:0;border-radius:28px;overflow:hidden;background:#f5f0e7}
.hero-visual img{width:100%;height:auto;display:block}
.portal-actions,.card-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:28px}
.portal-button{display:inline-flex;align-items:center;justify-content:center;padding:13px 19px;border-radius:9px;background:#285ac8;color:#fff!important;text-decoration:none!important;font-size:14px;font-weight:700;line-height:1.45;min-height:46px}
.portal-button:hover{background:#1945a1}
.portal-link{font-weight:700;font-size:14px;color:#2d4d74;text-decoration:none;line-height:1.5}
.portal-link:hover{text-decoration:underline;text-underline-offset:5px}
.portal-section{padding:38px 0 52px;scroll-margin-top:28px}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:25px}
.section-heading h2{margin-bottom:0}.section-heading>p{margin:0 0 4px;font-size:14px}
.service-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.service-card{border:1px solid #e1e5e5;border-radius:21px;background:#fff;overflow:hidden;display:flex;flex-direction:column}
.service-visual{height:230px;overflow:hidden;position:relative;background:#eceafb}
.service-visual>img{width:100%;height:100%;object-fit:cover;display:block}
.fitness-visual{background:#dcefe7}
.phone-frame{position:absolute;width:175px;top:24px;left:50%;transform:translateX(-50%) rotate(-5deg);border:5px solid #283334;border-radius:24px;box-shadow:8px 18px 22px #174b3426;background:#131719;overflow:hidden}
.phone-frame img{display:block;width:100%;height:auto}
.visual-tag{position:absolute;z-index:1;top:16px;left:16px;font-size:10px;font-weight:700;letter-spacing:.06em;padding:6px 9px;border-radius:20px;color:#315b4c;background:#ffffffdd}
.minecraft-visual{background:#eff4fd}.minecraft-visual>img{object-fit:contain;width:100%;height:310px;object-position:center top;mix-blend-mode:multiply}
.service-body{padding:25px 24px 26px;display:flex;flex-direction:column;flex:1}
.service-body>p:not(.portal-eyebrow){font-size:14px;margin:0 0 8px}
.service-body .card-actions{margin-top:auto;padding-top:20px;gap:14px}
.service-body .portal-eyebrow{margin:0}
.service-body h3{min-height:64px;display:flex;align-items:center}
.fitness-card .portal-button{background:#126852}.minecraft-card .portal-button{background:#334fa2}
.guide-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.guide-tile{min-width:0}
.guide-thumb{height:170px;display:block;border-radius:14px;overflow:hidden;background:#e9eeed;border:1px solid #e1e5e5}
.guide-thumb img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
.guide-tile:first-child .guide-thumb img{object-fit:contain;background:#dcefe7}
.guide-tile h3{font-size:20px;line-height:1.45;margin:17px 0 8px}.guide-tile p{font-size:14px;margin:0 0 16px}
.portal-story{border-top:1px solid #dde1e0;border-bottom:1px solid #dde1e0;padding:44px 0;display:grid;grid-template-columns:1fr 1fr;gap:50px}
.portal-story h2{white-space:pre-line;font-size:32px;margin-top:0}
.portal-story p{margin:0 0 18px;font-size:15px;white-space:pre-line}
.portal-contact{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:32px 0 24px;font-size:14px}
.portal-contact a{color:#284865}
.portal-footer{background:transparent;max-width:1200px;margin:24px auto 0;padding:30px 32px 40px}
.portal-footer img{display:block}.portal-footer nav{gap:20px}
.portal-main a:focus-visible{outline:3px solid #3267cc;outline-offset:5px}
.compact-hero{grid-template-columns:1.1fr .8fr}
.utility-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.utility-card{border:1px solid #e1e5e5;border-radius:20px;background:white;overflow:hidden}
.utility-image{height:270px;display:block;background:#edf1f6;padding:22px 22px 0;overflow:hidden}
.utility-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:top;border-radius:10px 10px 0 0;box-shadow:0 0 0 1px #d7dce5}
.utility-body{padding:26px}.utility-body h2{font-size:28px}.utility-body p{font-size:15px;min-height:56px}
.portal-note{padding:30px 34px;background:#eaf0e9;border-radius:18px;margin-bottom:50px}
.portal-note h2{font-size:24px}.portal-note p{max-width:850px}
.guide-hero{text-align:center;padding:55px 0 48px}.guide-hero .portal-lead{margin:0 auto}
.category-pills{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:30px}
.category-pills a{font-size:14px;text-decoration:none;color:#314b64;border:1px solid #dce2e6;border-radius:30px;padding:10px 18px;background:#fff}
.category-pills a:hover{border-color:#31599a}
.guide-category{display:grid;grid-template-columns:.8fr 1.2fr;gap:42px;padding:40px 0;border-top:1px solid #dde1e0;scroll-margin-top:24px;align-items:center}
.category-cover{height:340px;border-radius:18px;overflow:hidden;background:#eceafb}
.category-cover img{height:100%;width:100%;object-fit:cover;display:block}
.fit-cover{background:#dcefe7;padding-top:25px}.fit-cover img{width:205px;height:auto;margin:auto;border:5px solid #233431;border-radius:22px;box-shadow:0 10px 25px #173e352b}
.mc-cover{background:#eff4fd}.mc-cover img{object-fit:contain;mix-blend-mode:multiply}
.guide-list{border-top:1px solid #dce2e6;margin-top:22px}
.guide-list a{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 0;border-bottom:1px solid #dce2e6;color:#2d4662;text-decoration:none;font-size:15px;font-weight:650}
.guide-list a:after{content:'↗';color:#71819b}
.guide-list a:hover{color:#245ec3}
.portal-small{font-size:12px}
@media(min-width:1100px){.home-guides{padding-top:55px}}
@media(max-width:900px){.portal-main{padding:0 22px}.portal-hero{gap:18px}.portal-main h1{font-size:40px}.service-cards{gap:14px}.service-body{padding:20px 17px}.service-body h3{font-size:21px}.card-actions{gap:10px}.service-body .portal-button{padding:12px}.guide-category{gap:24px}}
@media(max-width:680px){.portal-hero,.compact-hero{grid-template-columns:1fr;padding:28px 0 26px;gap:28px}.portal-main h1{font-size:39px}.portal-lead{font-size:16px}.hero-visual{max-width:500px;width:100%;margin:auto}.portal-eyebrow{font-size:10px!important}.service-cards,.guide-cards,.utility-grid{grid-template-columns:1fr}.section-heading{display:block}.section-heading>p,.section-heading>.portal-link{display:block;margin-top:14px}.portal-section{padding:30px 0}.service-visual{height:220px}.phone-frame{width:170px}.minecraft-visual>img{height:300px}.service-body{padding:24px}.service-body h3{min-height:0;font-size:26px}.service-body .card-actions{margin-top:0}.guide-tile{display:grid;grid-template-columns:110px 1fr;gap:18px;align-items:start}.guide-thumb{height:142px}.guide-tile h3{margin-top:0;font-size:18px}.guide-tile p{font-size:13px;line-height:1.6}.guide-tile .portal-link{font-size:13px}.portal-story{grid-template-columns:1fr;gap:10px;padding:30px 0}.portal-story h2{font-size:27px}.portal-contact{display:block}.portal-contact p{margin:0 0 10px}.utility-image{height:220px}.utility-body{padding:24px}.utility-body h2{font-size:26px}.utility-body p{min-height:0}.portal-note{padding:24px}.guide-category{grid-template-columns:1fr;gap:25px;padding:30px 0}.category-cover{height:240px}.fit-cover img{width:175px}.category-content h2{font-size:27px}.guide-hero{padding:35px 0}.guide-hero h1{font-size:37px}.portal-footer{padding:25px 22px}.portal-footer nav{gap:16px}}
@media(prefers-reduced-motion:no-preference){.portal-button,.portal-link,.category-pills a{transition:background .15s,color .15s}}

