/* Homepage only: account pages keep their existing layout and styles. */
.landing{background:#08060c;color:#f2e9e1;--home-muted:#b9afbe;overflow-wrap:break-word}
.landing *{box-sizing:border-box}
.landing a:focus-visible,.landing summary:focus-visible{outline:2px solid #f1cf8b;outline-offset:6px}
.landing a{transition:color .2s,background-color .2s,border-color .2s}
.landing .skip-link{position:absolute;z-index:10;left:20px;top:-90px;background:#f1cf8b;color:#08060c;padding:14px 20px}
.landing .skip-link:focus{top:16px}
.landing-header{position:absolute;z-index:3;inset:0 0 auto;min-height:92px;padding:22px clamp(24px,5vw,92px);display:flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:1px solid #d9a95d24;background:linear-gradient(#08060cb0,transparent)}
.landing-header .brand,.landing-footer .brand{font-size:25px;letter-spacing:.02em;text-transform:none}
.landing-header nav{display:flex;gap:32px}
.landing-header nav a{font-size:14px;color:#d4c8d7}
.landing-header nav a:hover,.landing .text-link:hover,.follow-updates a:hover{color:#f1cf8b}
.landing .button{display:inline-flex;justify-content:center;align-items:center;gap:20px;min-height:52px;font-size:14px;letter-spacing:.01em;text-transform:none;white-space:normal;text-align:center}
.landing .button-small{min-height:44px;padding:12px 20px}
.landing .button-ghost{background:#100b1699;border-color:#d9a95d66}
.landing .button-ghost:hover{background:#35203b;border-color:#d9a95d}
.landing .eyebrow{color:#d9a95d;font-size:11px;font-weight:600;letter-spacing:.2em;line-height:1.7;margin:0 0 22px}
.landing h1,.landing h2,.landing h3{font-family:Georgia,'Times New Roman',serif;font-weight:400}
.landing h1,.landing h2{letter-spacing:-.035em}
.landing h2{font-size:clamp(38px,4vw,62px);line-height:1.1;margin:0}
.landing h2 span{color:#a99eaa}
.landing p{line-height:1.8}
.landing-hero{position:relative;isolation:isolate;min-height:min(960px,100svh);padding:180px 7.8vw 135px;display:flex;align-items:center;border-bottom:1px solid #d9a95d24}
.landing-hero-art{position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#08060cfa 0%,#08060ce6 24%,#08060c85 49%,#08060c10 76%),linear-gradient(0deg,#08060c 0%,transparent 30%),url('iwsmmo-hero.png') 58% center/cover no-repeat}
.landing-hero-content{width:min(690px,100%)}
.landing h1{font-size:clamp(58px,6.2vw,96px);line-height:1.04;margin:0 0 30px;text-shadow:0 3px 25px #08060c88}
.landing h1 span{color:#f1cf8b}
.landing-lead{font-size:clamp(19px,1.6vw,24px);max-width:545px;margin:0 0 18px;color:#f2e9e1}
.landing-copy{font-size:16px;max-width:530px;color:#c4b9c7;margin:0 0 32px}
.landing-actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px}
.landing .text-link{font-size:14px;color:#e7dae9;display:inline-flex;align-items:center;gap:18px;padding:12px 0}
.development-note{font-size:12px;color:#b9afbe;margin:25px 0 0;display:flex;gap:9px;align-items:center}
.development-note>span{width:6px;height:6px;flex:none;border-radius:50%;background:#c060ae;box-shadow:0 0 12px #c060ae66}
.hero-scroll{position:absolute;bottom:36px;left:7.8vw;display:flex;align-items:center;gap:28px;color:#b9afbe;font-size:10px;letter-spacing:.18em}
.hero-scroll span{color:#d9a95d;font-size:22px}
.landing-section{padding:104px 7.8vw;max-width:1720px;margin:auto}
.landing-section-heading{display:grid;grid-template-columns:1.45fr 1fr;gap:60px;align-items:end;margin-bottom:48px}
.landing-section-heading>p{margin:0;color:var(--home-muted);font-size:16px;max-width:420px}
.world-figure,.encounter-figure{position:relative;margin:0;overflow:hidden}
.world-figure{border:1px solid #d9a95d38}
.world-figure img{display:block;width:100%;height:auto;aspect-ratio:1672/941;object-fit:cover}
.world-figure::after,.encounter-figure::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 45%,#08060cdf 100%);pointer-events:none}
.world-figure figcaption,.encounter-figure figcaption{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;justify-content:space-between;padding:32px 40px}
.concept-label{align-self:flex-end;padding:6px 10px;border:1px solid #d9a95d66;background:#08060ccb;color:#eee3ed;font-size:10px;letter-spacing:.07em;line-height:1.4}
.world-figure .eyebrow{margin-bottom:12px}
.world-figure h3{font-size:clamp(24px,3vw,44px);margin:0;line-height:1.2}
.art-note{font-size:11px;color:#a99eaa;margin:14px 0 0}
.panels-section{padding-top:22px}
.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#d9a95d2b;border:1px solid #d9a95d2b}
.module-card{padding:32px;background:#100c15;display:flex;flex-direction:column;align-items:start}
.module-featured{background:radial-gradient(ellipse at top right,#6a32503d,transparent 80%),#18101f}
.module-number{font-size:10px;letter-spacing:.17em;color:#d9a95d}
.module-card h3{font-size:29px;line-height:1.15;margin:26px 0 18px}
.module-card p{font-size:14px;color:var(--home-muted);margin:0 0 30px}
.module-name{font-size:11px;color:#cb9dbc;border-top:1px solid #c060ae33;padding-top:16px;margin-top:auto;letter-spacing:.02em}
.module-wide{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr .7fr;align-items:center;gap:35px}
.module-wide h3{margin:14px 0 0}
.module-wide p{margin:0}
.module-wide .module-name{justify-self:end;margin:0}
.scope-note{font-size:12px;color:#a99eaa;margin:20px 0 0;max-width:860px}
.encounter-section{padding:0 3vw}
.encounter-figure{max-width:1720px;margin:auto;background:#15101b}
.encounter-figure img{display:block;width:100%;height:680px;max-height:70vw;object-fit:cover}
.encounter-figure::after{background:linear-gradient(0deg,#08060cf7,transparent 80%),linear-gradient(90deg,#08060c55,transparent)}
.encounter-figure figcaption{padding:32px 5vw 48px}
.encounter-figure h2{font-size:clamp(36px,4.5vw,66px);color:#f2e9e1;text-shadow:0 2px 24px #08060c}
.encounter-figure figcaption p:not(.eyebrow){font-size:15px;color:#d7cbd9;margin:22px 0 0}
.encounter-figure .eyebrow{margin-bottom:16px}
.workflow-section{display:grid;grid-template-columns:1fr 1fr;gap:90px}
.workflow-intro{color:var(--home-muted);font-size:16px;max-width:410px;margin-top:28px}
.workflow-steps{list-style:none;padding:0;margin:0}
.workflow-steps li{display:flex;gap:30px;border-bottom:1px solid #d9a95d2b;padding:28px 0}
.workflow-steps li:first-child{padding-top:0}
.workflow-steps li>span{font-family:Georgia,serif;font-size:25px;color:#d9a95d}
.workflow-steps h3{font-size:27px;margin:0 0 10px}
.workflow-steps p{color:var(--home-muted);font-size:14px;margin:0}
.foundation-section{background:linear-gradient(120deg,#1d1323,#100d16);border-block:1px solid #d9a95d24}
.foundation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:50px;margin-top:56px}
.foundation-grid article>span{font-size:28px;color:#c060ae}
.foundation-grid h3{font-size:27px;margin:21px 0 14px}
.foundation-grid p{font-size:14px;color:var(--home-muted);margin:0}
.faq-section{display:grid;grid-template-columns:.8fr 1.4fr;gap:90px}
.faq-list details{border-bottom:1px solid #d9a95d30}
.faq-list details:first-child{border-top:1px solid #d9a95d30}
.faq-list summary{padding:23px 32px 23px 0;position:relative;font-size:16px;cursor:pointer;list-style:none;color:#e7dce9;line-height:1.6}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";position:absolute;right:0;top:23px;color:#d9a95d;font-size:20px}
.faq-list details[open] summary::after{content:"−"}
.faq-list details p{font-size:14px;color:var(--home-muted);margin:0;padding:0 25px 24px 0}
.follow-section{padding:92px 24px 100px;text-align:center;position:relative;border-block:1px solid #d9a95d2b;background:radial-gradient(ellipse at 50% 60%,#54224666,transparent 65%),#110c18}
.follow-section h2{font-size:clamp(45px,5vw,74px)}
.follow-section h2 span{color:#f1cf8b}
.follow-section>p:not(.eyebrow){color:#c7b9cb;font-size:16px;margin:28px auto 32px;max-width:580px}
.follow-section .landing-actions{justify-content:center}
.follow-updates{display:flex;justify-content:center;gap:30px;margin-top:27px;flex-wrap:wrap}
.follow-updates a{color:#c5adcc;font-size:12px}
.follow-updates span{padding-left:8px}
.landing-footer{max-width:1720px;margin:auto;padding:36px 5vw;display:flex;align-items:center;gap:32px;justify-content:space-between;border:0}
.landing-footer p{font-size:11px;color:#a99eaa}
.landing-footer>div{display:flex;gap:22px;flex-wrap:wrap}
.landing-footer>div a{font-size:11px;color:#b9afbe}
@media(min-width:1720px){.landing-hero{padding-left:calc((100vw - 1452px)/2)}}
@media(max-width:1100px){.landing-header nav{gap:20px}.landing-section{padding-inline:6vw}.landing-section-heading{gap:35px}.module-card{padding:26px}.module-card h3{font-size:26px}.workflow-section,.faq-section{gap:50px}.landing-footer{flex-wrap:wrap}.foundation-grid{gap:30px}}
@media(max-width:850px){.landing-header nav{display:none}.landing-hero{padding:155px 6vw 115px;min-height:850px}.landing-hero-art{background-position:64% center}.landing-hero-content{max-width:620px}.landing h1{font-size:clamp(54px,8.6vw,74px)}.hero-scroll{left:6vw}.landing-section{padding-block:72px}.landing-section-heading{grid-template-columns:1fr;gap:28px}.landing-section-heading>p{max-width:580px}.panels-section{padding-top:0}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.module-wide{grid-template-columns:1fr 1fr;gap:25px}.module-wide .module-name{justify-self:start}.world-figure figcaption{padding:22px}.workflow-section,.faq-section{grid-template-columns:1fr;gap:40px}.foundation-grid{grid-template-columns:1fr;gap:32px}.foundation-grid article{border-top:1px solid #d9a95d22;padding-top:25px}.foundation-grid h3{margin:12px 0}.encounter-figure img{max-height:none;height:590px;object-position:55% center}.encounter-figure figcaption{padding:24px 6vw 36px}.encounter-figure h2{font-size:44px}}
@media(max-width:560px){.landing-header{min-height:82px;padding:18px 22px;gap:15px}.landing-header .brand{font-size:21px;gap:10px}.landing-header .button{font-size:11px;gap:10px;padding:10px 12px;min-height:40px}.landing-header .brand-gem{width:14px;height:14px}.landing-hero{padding:136px 24px 104px;min-height:830px}.landing-hero-art{background-image:linear-gradient(90deg,#08060cf0,#08060c75),linear-gradient(0deg,#08060c,transparent 60%),url('iwsmmo-hero.png');background-position:61% center}.landing h1{font-size:clamp(43px,10.5vw,60px);margin-bottom:25px}.landing .eyebrow{font-size:9px;letter-spacing:.15em}.landing-lead{font-size:19px}.landing-copy{font-size:14px}.landing-hero .landing-actions{align-items:stretch;flex-direction:column;gap:8px}.landing-hero .text-link{justify-content:center}.development-note{font-size:10px;line-height:1.7}.hero-scroll{left:24px;font-size:9px}.landing-section{padding:60px 24px}.landing h2{font-size:37px}.landing-section-heading{gap:24px;margin-bottom:30px}.landing-section-heading>p{font-size:14px}.world-figure img{min-height:370px;object-position:55% center}.world-figure figcaption{padding:17px}.world-figure h3{font-size:27px;max-width:240px}.art-note{font-size:10px}.panels-section{padding-top:0}.module-grid{grid-template-columns:minmax(0,1fr)}.module-card{padding:28px}.module-wide{display:flex;gap:0}.module-wide h3{margin:26px 0 18px}.module-wide p{margin-bottom:30px}.scope-note{font-size:11px}.encounter-section{padding:0}.encounter-figure img{height:620px;object-position:54% center}.encounter-figure figcaption{padding:22px 24px 34px}.encounter-figure h2{font-size:37px}.encounter-figure figcaption p:not(.eyebrow){font-size:13px}.encounter-figure figcaption p br{display:none}.workflow-intro{font-size:14px}.workflow-steps li{gap:20px}.workflow-steps h3{font-size:25px}.faq-list summary{font-size:15px}.follow-section{padding:70px 24px}.follow-section h2{font-size:44px}.follow-section>p:not(.eyebrow){font-size:14px}.follow-section .landing-actions{flex-direction:column;align-items:stretch;max-width:330px;margin:auto;gap:14px}.follow-updates{gap:18px}.landing-footer{padding:32px 24px;align-items:flex-start;flex-direction:column;gap:18px}.landing-footer p{margin:0}.landing-footer>div{gap:18px}.foundation-grid{margin-top:35px}}
/* Keep body copy and navigation legible across viewport sizes. */
.landing .module-card p,.landing .workflow-steps p,.landing .foundation-grid p,.landing .faq-list details p,.landing .landing-copy,.landing .landing-section-heading>p,.landing .workflow-intro,.landing .follow-section>p:not(.eyebrow){font-size:1rem}
.landing .module-number,.landing .module-name,.landing .concept-label,.landing .eyebrow,.landing .art-note,.landing .development-note,.landing .hero-scroll,.landing .landing-footer p,.landing .scope-note{font-size:.75rem}
.landing .landing-footer>div a,.landing .follow-updates a,.landing .landing-header .button{font-size:.875rem}
.landing .landing-footer{text-align:left}
@media(max-width:560px){.landing-header .button{max-width:155px}.landing-header .button span{display:none}.landing .landing-hero .eyebrow{font-size:.75rem;letter-spacing:.1em}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.landing a{transition:none}}
