/* Castmere: a static editorial guide. Spacing follows a 4px base. */
:root{--white:#fff;--pale:#f2f6f7;--navy:#243640;--muted:#65747a;--teal:#346e73;--line:#dce5e7;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--white);color:var(--navy);font:16px/1.75 var(--sans)}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.22}h1{font-size:clamp(34px,3.2vw,46px);letter-spacing:-.03em}h2{font-size:32px;letter-spacing:-.025em}h3{font-size:25px;letter-spacing:-.015em}p{max-width:70ch}p+p{margin-top:16px}a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}a:hover{color:var(--teal)}img{display:block;width:100%;max-width:100%;height:auto}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}:focus-visible{outline:3px solid var(--teal);outline-offset:5px}.container{width:calc(100% - 112px);max-width:1240px;margin-inline:auto}.eyebrow{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:18px}.muted{color:var(--muted)}.text-link{display:inline-block;font-size:14px;font-weight:600}.button{display:inline-flex;align-items:center;justify-content:center;padding:12px 22px;min-height:48px;border:1px solid var(--teal);background:var(--teal);color:white;text-decoration:none;font-size:14px;border-radius:0;transition:background .2s}.button:hover{background:var(--navy);border-color:var(--navy);color:white}.skip{position:absolute;left:20px;top:-100px;padding:12px;background:var(--pale);z-index:10}.skip:focus{top:10px}.source-note{font-size:11px;color:var(--muted);line-height:1.8;max-width:none;margin-top:24px}
.site-header{max-width:1500px;margin:auto;padding:24px 56px;min-height:104px;display:flex;align-items:center;justify-content:space-between;gap:32px;border-bottom:1px solid var(--line)}.wordmark{display:flex;align-items:center;gap:12px;text-decoration:none}.wordmark span{font:35px/1 var(--serif);letter-spacing:-.035em}.wordmark small{display:block;margin-top:9px;font:8px/1.2 var(--sans);letter-spacing:.16em}.ripple-mark{width:36px;height:44px;color:var(--teal)}.site-header nav{display:flex;align-items:center;gap:30px}.site-header nav a{font-size:14px;text-decoration:none;padding:7px 0;border-bottom:1px solid transparent;white-space:nowrap}.site-header nav a[aria-current]{color:var(--teal);border-color:var(--teal)}.menu-toggle{display:none;background:transparent;border:1px solid var(--line);padding:9px 14px;color:var(--navy);font-size:14px}
.introduction{padding-block:44px 32px}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:start}.intro-grid h1{max-width:20ch}.intro-copy{font-size:15px;line-height:1.8}.intro-actions{display:flex;flex-wrap:wrap;gap:16px 24px;align-items:center;margin-top:22px}.intro-actions .text-link{font-size:13px}.opening-photo img{aspect-ratio:4/1;object-fit:cover;object-position:center 61%}.opening-photo figcaption,figcaption{font-size:11px;line-height:1.6;color:var(--muted);margin-top:10px}.section-title{margin-bottom:28px}.section-title .eyebrow{margin-bottom:12px}.approaches{padding-block:42px 44px}.approach-row{display:grid;grid-template-columns:.85fr .85fr 1.7fr;gap:32px;border-top:1px solid var(--line);padding:26px 0;align-items:start}.row-image{display:block;background:var(--pale)}.row-image img{aspect-ratio:auto;object-fit:contain;transition:opacity .2s}.row-image:hover img{opacity:.9}.row-name .eyebrow{font-size:9px;margin-bottom:10px}.row-name h3{font-size:26px}.row-name>p:last-child{font-size:11px;color:var(--muted);margin-top:12px}.row-story>p{font-size:14px;line-height:1.8}.row-story .text-link{font-size:12px;margin-top:16px}.approaches>.source-note{border-top:1px solid var(--line);padding-top:16px;margin-top:0}.install-notes{background:var(--pale);padding-block:36px}.three-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.three-notes h3{font-size:23px;margin-bottom:16px}.three-notes p{font-size:14px;color:var(--muted)}.beginner-preview{padding-block:44px;display:grid;grid-template-columns:.8fr 1.7fr;gap:12%;align-items:start}.beginner-preview h2{margin-bottom:24px}.beginner-preview ol{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin:0;padding-left:20px;font-size:13px}.beginner-preview h3{font-size:23px;margin-bottom:16px}.beginner-preview li{padding-left:8px}.beginner-preview li p{font-size:14px;color:var(--muted)}.closing-links{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding-bottom:50px}.closing-links>a{border-top:1px solid var(--navy);padding-top:20px;text-decoration:none;font:25px var(--serif)}.closing-links span{display:block;font:10px/1.5 var(--sans);letter-spacing:.06em;color:var(--muted);margin-bottom:12px}
.page-heading{padding-block:42px 30px}.page-heading h1{margin-bottom:20px}.page-heading>p:not(.eyebrow){font-size:15px;color:var(--muted);max-width:72ch}.comparison{padding-bottom:32px}.table-shell{width:100%}table{border-collapse:collapse;width:100%;font-size:12px;line-height:1.6;table-layout:fixed}caption{text-align:left;font:24px var(--serif);padding-bottom:18px}thead{background:var(--pale)}th,td{padding:16px 13px;vertical-align:top;text-align:left;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow-wrap:anywhere}th:first-child{width:16%}th:last-child{width:13%}thead th{font-size:11px;font-weight:600}tbody th{font:19px/1.35 var(--serif)}.cost-note{font-size:13px;border-left:2px solid var(--teal);padding:14px 18px;background:var(--pale);max-width:none;margin-top:20px}.game-detail{border-top:1px solid var(--navy);padding-block:30px 42px;scroll-margin-top:24px}.game-detail>header{margin-bottom:24px}.game-detail>header .eyebrow{margin-bottom:12px}.game-detail h2{font-size:36px}.game-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:7%;align-items:start}.game-layout figure img{aspect-ratio:auto;object-fit:contain}.game-description{font-size:15px;line-height:1.8}.game-layout h3{font-size:23px;margin:24px 0 14px}.game-facts{padding-left:19px;font-size:13px;margin:0}.game-facts li+li{margin-top:10px}.game-practical{display:grid;grid-template-columns:1fr 1.1fr auto;gap:32px;align-items:start;margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}.game-practical h3{font-size:23px;margin-bottom:14px}.game-practical p{font-size:13px;color:var(--muted)}.game-practical .button{align-self:center;white-space:nowrap;font-size:12px}.game-detail>.source-note{font-size:10px}.guide-callout{padding:28px 0 48px;border-top:1px solid var(--line)}.guide-callout h2{font-size:28px;margin-bottom:14px}.guide-callout p{font-size:14px;color:var(--muted);margin-bottom:18px}.guide-layout{display:grid;grid-template-columns:.6fr 1.6fr;gap:14%;align-items:start;padding-bottom:48px}.guide-layout aside{border-top:1px solid var(--line);padding-top:22px}.guide-layout aside ul{padding-left:18px;margin:0 0 24px;font-size:14px}.guide-layout aside li+li{margin-top:10px}.prose h2{font-size:27px;margin:30px 0 18px}.prose h2:first-child{margin-top:0}.prose p{font-size:16px}.prose .source-note{font-size:11px}.faq-list{max-width:900px;padding-bottom:48px}.faq-list details{border-top:1px solid var(--line);padding:22px 0}.faq-list summary{font:24px/1.35 var(--serif);cursor:pointer;padding-right:12px}.faq-list details p{font-size:15px;margin-top:16px}.faq-contact{font-size:14px;margin-top:24px}.contact-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:12%;padding-bottom:48px}.contact-layout aside h2{font-size:28px;margin-bottom:20px}.contact-layout aside p{font-size:14px}.contact-layout aside .muted{font-size:12px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}input,textarea{width:100%;min-width:0;border:1px solid #adbec4;color:var(--navy);padding:11px 12px;background:white;margin-bottom:22px;border-radius:0}textarea{resize:vertical;min-height:180px}.privacy-note{font-size:12px}.form-status{font-size:13px;border-left:2px solid var(--teal);padding:14px 16px;margin:22px 0;background:var(--pale)}.form-status.error{color:#803e36}dialog{padding:32px;background:var(--pale);color:var(--navy);border:1px solid var(--line);max-width:530px;width:calc(100% - 40px)}dialog::backdrop{background:rgb(36 54 64 / .45)}.dialog-close{display:block;margin-left:auto;border:0;background:transparent;color:var(--navy);font-size:13px;text-decoration:underline}dialog h2{margin:20px 0}dialog p{font-size:15px;margin-bottom:24px}.policy-page{max-width:800px;padding-bottom:48px}.policy-page ul{padding-left:20px;font-size:14px}.policy-page li+li{margin-top:12px}.policy-page li{overflow-wrap:anywhere}
.site-footer{background:var(--pale);padding:36px 56px 24px;border-top:1px solid var(--line)}.footer-wrap{max-width:1240px;margin:auto}.footer-top{display:flex;align-items:start;justify-content:space-between;gap:48px}.footer-brand{font:32px/1 var(--serif);letter-spacing:-.03em;text-decoration:none}.footer-top nav{display:flex;flex-wrap:wrap;gap:10px 24px;justify-content:flex-end;font-size:12px}.independent{font-size:11px;color:var(--muted);margin-top:24px;max-width:90ch}.legal{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;border-top:1px solid var(--line);padding-top:20px;margin-top:24px;color:var(--muted);font-size:12px;line-height:1.9}.legal p+p{margin:0}.copyright{font-size:11px;color:var(--muted);margin-top:20px}
@media(max-width:1100px){.container{width:calc(100% - 64px)}.site-header,.site-footer{padding-inline:32px}.intro-grid{gap:7%}.intro-grid h1{font-size:38px}.intro-actions{gap:16px}.approach-row{grid-template-columns:.8fr .8fr 1.5fr;gap:24px}.row-name h3{font-size:24px}.game-practical{gap:24px}.game-practical .button{padding-inline:15px}.three-notes{gap:30px}}
@media(max-width:900px){.site-header{flex-wrap:wrap;padding-block:20px;gap:18px}.wordmark{margin-right:auto}.menu-toggle{display:block}.site-header nav{flex-basis:100%;border-top:1px solid var(--line);padding-top:12px;gap:16px 24px;flex-wrap:wrap}.js .site-header nav{display:none}.js .site-header nav.open{display:flex}.intro-grid{grid-template-columns:1fr;gap:24px}.intro-grid h1 br{display:none}.intro-grid h1{max-width:24ch;font-size:38px}.intro-copy{max-width:70ch}.introduction{padding-block:32px}.opening-photo img{aspect-ratio:3/1}.approach-row{grid-template-columns:1fr 2fr;gap:18px 30px}.row-image{grid-column:1;grid-row:1/3}.row-name{grid-column:2}.row-story{grid-column:2}.row-name h3{font-size:28px}.row-name>p:last-child{margin-top:8px}.row-name .eyebrow{margin-bottom:8px}.approaches{padding-block:32px}.three-notes{gap:24px}.three-notes h3{font-size:22px}.beginner-preview{grid-template-columns:1fr;gap:28px;padding-block:34px}.beginner-preview h2 br{display:none}.beginner-preview ol{gap:36px}.game-layout{gap:5%;grid-template-columns:.8fr 1.2fr}.game-description{font-size:14px}.game-practical{grid-template-columns:1fr 1fr;gap:24px}.game-practical .button{justify-self:start;grid-column:1/-1}.guide-layout{grid-template-columns:.65fr 1.4fr;gap:9%}.contact-layout{gap:8%}.form-row{grid-template-columns:1fr;gap:0}table{font-size:11px}th,td{padding:13px 9px}tbody th{font-size:17px}.footer-top{flex-direction:column;gap:24px}.footer-top nav{justify-content:flex-start}.legal{gap:32px}}
@media(max-width:600px){body{font-size:15px}.container{width:calc(100% - 40px)}.site-header{padding:18px 20px;min-height:88px}.wordmark span{font-size:31px}.ripple-mark{width:32px}.wordmark small{font-size:7px}.site-header nav a{font-size:13px}.introduction{padding-block:28px}.eyebrow{font-size:9px;margin-bottom:16px}.intro-grid{gap:20px}.intro-grid h1{font-size:35px}.intro-copy{font-size:15px}.intro-actions{gap:18px;margin-top:22px}.opening-photo img{aspect-ratio:2/1}.opening-photo figcaption{font-size:10px}.approaches{padding-block:30px}.section-title h2{font-size:29px}.approach-row{grid-template-columns:1fr;gap:18px;padding-block:24px}.row-image,.row-name,.row-story{grid-column:auto;grid-row:auto}.row-image img{aspect-ratio:auto}.row-name .eyebrow{font-size:9px}.row-name h3{font-size:30px}.row-story>p{font-size:15px}.row-story .text-link{font-size:13px}.source-note{font-size:11px}.install-notes{padding-block:30px}.three-notes{grid-template-columns:1fr;gap:24px}.three-notes article+article{border-top:1px solid var(--line);padding-top:22px}.three-notes h3{font-size:26px;margin-bottom:12px}.three-notes p{font-size:14px}.beginner-preview{padding-block:30px}.beginner-preview h2{font-size:30px}.beginner-preview ol{grid-template-columns:1fr;gap:24px}.beginner-preview h3{font-size:25px;margin-bottom:12px}.closing-links{grid-template-columns:1fr;gap:26px;padding-bottom:36px}.closing-links>a{font-size:26px;padding-top:18px}.page-heading{padding-block:30px 26px}.page-heading h1{font-size:35px}.page-heading>p:not(.eyebrow){font-size:14px}.comparison{padding-bottom:26px}table,tbody,tr,td,tbody th{display:block;width:100%}table{table-layout:auto}caption{display:block;font-size:23px;line-height:1.3;padding-bottom:18px}thead{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}tbody tr{margin-bottom:22px;border:1px solid var(--line)}tbody th{background:var(--pale);font-size:24px;padding:16px;border:0;width:auto!important}td{border-bottom:0;padding:12px 16px;font-size:13px}td::before{content:attr(data-label);display:block;font-size:10px;font-weight:600;color:var(--muted);margin-bottom:6px;letter-spacing:.03em}tbody td:first-of-type{border-top:0}.cost-note{font-size:12px}.game-detail{padding-block:26px 32px}.game-detail h2{font-size:33px}.game-layout{grid-template-columns:1fr;gap:24px}.game-description{font-size:15px}.game-layout h3{font-size:25px}.game-facts{font-size:14px}.game-practical{grid-template-columns:1fr;gap:24px}.game-practical .button{grid-column:auto;font-size:14px}.game-practical h3{font-size:25px;margin-bottom:12px}.game-practical p{font-size:14px}.game-detail>.source-note{font-size:11px}.guide-callout{padding-block:26px 36px}.guide-layout{grid-template-columns:1fr;gap:30px;padding-bottom:36px}.guide-layout aside ul{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;font-size:13px}.guide-layout aside li+li{margin:0}.prose h2{font-size:26px}.prose p{font-size:15px}.faq-list{padding-bottom:36px}.faq-list summary{font-size:23px}.faq-list details p{font-size:14px}.contact-layout{grid-template-columns:1fr;gap:30px;padding-bottom:36px}.contact-layout aside{border-bottom:1px solid var(--line);padding-bottom:24px}.contact-layout aside h2{font-size:27px}.form-status{font-size:12px}.policy-page{padding-bottom:36px}.site-footer{padding:30px 20px 22px}.footer-top nav{gap:12px 24px}.legal{grid-template-columns:1fr;gap:16px;font-size:11px}.independent,.copyright{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
