/* Homepage layout. The shared foundation lives in style.css. */
.hero{display:grid;grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);align-items:center;gap:48px;padding-block:76px 84px}
.hero h1{font-size:clamp(3.5rem,5.9vw,5.25rem);margin:24px 0}
.hero h1 em{color:var(--em)}
.hero-intro{color:var(--muted);font-size:1.0625rem;line-height:1.8;margin-bottom:30px}
.hero-note{margin-top:22px;display:flex;gap:10px;flex-wrap:wrap;font-size:0.8125rem;color:var(--muted)}
.hero-table{background:#193e2c;color:#e8ecda;border-radius:20px;overflow:hidden;box-shadow:0 28px 48px -30px #173b3155;transform:rotate(-2deg)}
.table-heading{padding:25px 28px 0;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:0.75rem;letter-spacing:.14em;color:#d9dcbc}
.suits{font-size:1.125rem;white-space:nowrap;letter-spacing:5px}
.hero-board{width:100%;aspect-ratio:1200/732;object-fit:cover}
.hero-table figcaption{display:flex;justify-content:space-between;gap:12px;padding:0 28px 23px;font-size:0.8125rem}
.hero-table figcaption>span:first-child{color:#fff;font-weight:600}
.hero-table figcaption>span:last-child{color:#c6d4bc}
.chapter-line{display:flex;align-items:center;justify-content:space-between;border-block:1px solid var(--line);padding-block:20px;color:var(--secondary);font-size:0.75rem;letter-spacing:.13em}
.games-section{padding-block:86px 0;scroll-margin-top:26px}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:36px;margin-bottom:40px}
.section-heading h2{overflow-wrap:break-word}
.section-heading>p{max-width:390px;color:var(--muted);font-size:1rem;margin-bottom:5px}
.game-tabs{display:flex;gap:8px;margin-bottom:18px}
.game-tabs button{flex:1;min-height:54px;display:flex;justify-content:center;align-items:center;gap:14px;color:var(--ink);background:transparent;border:1px solid var(--tab-border);border-radius:7px;font-weight:600;font-size:0.9375rem;padding:12px}
.game-tabs button>span{font-size:0.75rem;font-weight:400;opacity:.7}
.game-tabs button:hover{background:var(--hover-surface)}
.game-tabs button[aria-selected=true]{background:var(--action);border-color:var(--action);color:var(--action-text)}
.game-panel{display:grid;grid-template-columns:1.25fr 1fr;min-width:0;background:var(--panel);border-radius:14px;overflow:hidden}
.game-preview{position:relative;background:#193e2c;padding:18px 0 38px;align-self:stretch;display:flex;align-items:center}
.game-preview img{width:100%;aspect-ratio:1200/732;object-fit:contain}
.game-preview figcaption{position:absolute;bottom:20px;left:26px;color:#c6d4bc;font-size:0.75rem;letter-spacing:.14em}
.game-description{padding:clamp(28px,4vw,58px);align-self:center}
.game-description .eyebrow{font-size:0.75rem;letter-spacing:.1em}
.game-description h3{font-family:var(--serif);font-size:2.75rem;line-height:1.15;letter-spacing:-.03em;margin:15px 0}
.game-description>p:not(.eyebrow){color:var(--panel-text);font-size:1rem}
.game-description .game-rule{border-top:1px solid var(--panel-line);padding-top:16px;margin-top:24px;font-size:0.875rem!important}
.text-link{display:inline-flex;align-items:center;gap:20px;min-height:44px;font-size:0.875rem;font-weight:650;margin-top:12px}
.comfort-section{padding-block:92px 100px}
.comfort-heading{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:38px}
.comfort-heading h2{font-size:2.5rem}
.comfort-heading .eyebrow{max-width:160px;font-size:0.75rem;line-height:1.8}
.comfort-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px}
.comfort-list article{border-top:1px solid var(--feature-line);padding-top:23px}
.feature-number{font-size:0.75rem;color:var(--feature-number)}
.comfort-list h3{font-family:var(--serif);font-size:1.5625rem;line-height:1.3;margin:17px 0 12px;letter-spacing:-.02em}
.comfort-list p{color:var(--muted);font-size:0.9375rem;line-height:1.8;max-width:340px}
.sharing-section{background:var(--green);color:#f4f3e5;scroll-margin-top:0}
.sharing-inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:100px;padding-block:82px}
.sharing-copy .eyebrow{color:var(--gold);font-size:0.75rem}
.sharing-copy h2{font-size:clamp(3rem,5vw,4.25rem);margin:24px 0}
.sharing-copy h2 em{color:#c2d2b6}
.sharing-copy>p:last-child{color:#d4dece;font-size:1rem;line-height:1.8}
.deal-invitation{background:var(--invitation);color:var(--ink);border-radius:12px;padding:36px;box-shadow:9px 9px 0 #39604a}
.invitation-title{font-family:var(--serif);font-size:1.6875rem;line-height:1.2;letter-spacing:-.025em}
.invitation-description{color:var(--muted);font-size:0.875rem;line-height:1.7;margin:14px 0 23px}
.deal-invitation label{display:block;font-size:0.8125rem;font-weight:600;margin-bottom:7px}
.deal-input-row{display:flex;gap:8px}
.deal-input-row input{min-width:0;width:100%;border:1px solid var(--input-border);background:var(--input);border-radius:6px;padding:12px;font-size:1.125rem;letter-spacing:.04em;color:var(--ink);min-height:50px}
.deal-input-row input::placeholder{color:var(--placeholder);font-size:1rem;letter-spacing:0}
.deal-input-row button{border:0;background:var(--action);border-radius:6px;color:var(--action-text);min-height:50px;padding:12px 15px;white-space:nowrap;font-size:0.875rem;font-weight:600}
.deal-input-row button:hover{background:var(--action-hover)}
.deal-input-row button>span{margin-left:9px}
.invitation-hint{font-size:0.75rem;line-height:1.7;color:var(--muted);border-top:1px solid var(--line);margin-top:24px;padding-top:19px}
.invitation-hint strong{font-weight:600;display:block}
.download-section{text-align:center;padding-block:92px 88px}
.app-icon{width:76px;height:76px;border-radius:18px;margin:0 auto 24px}
.download-section .eyebrow{font-size:0.75rem}
.download-section h2{font-size:clamp(2.625rem,4.5vw,3.875rem);margin:22px 0 19px}
.download-intro{color:var(--muted);font-size:1rem}
@media(min-width:1600px){
.hero{gap:80px;padding-block:96px 104px}
.hero h1{font-size:5.625rem}
}
@media(max-width:1050px){
.hero{gap:30px;padding-block:58px 64px}
.hero h1{font-size:4rem}
.hero-intro{font-size:1rem}
.hero-note{font-size:0.75rem;gap:6px}
.wide-break{display:none}
.table-heading{padding:20px 22px 0;font-size:0.75rem}
.suits{font-size:0.9375rem;letter-spacing:2px}
.hero-table figcaption{padding:0 22px 20px;font-size:0.75rem}
.sharing-inner{gap:50px}
.deal-invitation{padding:28px}
.section-heading>p{max-width:310px}
.game-tabs button{gap:8px}
.game-description{padding:30px}
.game-description h3{font-size:2.375rem}
}
@media(max-width:760px){
.hero{grid-template-columns:1fr;gap:37px;padding-block:46px 42px}
.hero-copy{padding-inline:4px}
.hero .eyebrow{font-size:0.75rem}
.hero h1{font-size:clamp(2.25rem,14vw,4.5rem);margin:20px 0}
.hero-intro{font-size:1rem;line-height:1.7;max-width:440px;margin-bottom:25px}
.hero-note{font-size:0.75rem;gap:8px;margin-top:17px}
.hero-table{transform:none;border-radius:13px}
.table-heading{padding:20px 20px 0;font-size:0.75rem}
.suits{font-size:1rem;letter-spacing:3px}
.hero-table figcaption{padding:0 20px 18px;font-size:0.75rem}
.chapter-line{padding-block:16px;font-size:0.75rem;letter-spacing:.1em}
.chapter-line>span:last-child{display:none}
.games-section{padding-top:48px}
.section-heading{display:block;margin-bottom:26px}
.section-heading>p{max-width:460px;margin-top:20px;font-size:0.9375rem}
.game-tabs{flex-wrap:wrap;gap:7px;margin-bottom:14px}
.game-tabs button{flex:1 0 29%;min-height:48px;font-size:0.875rem;padding:9px 10px;gap:6px}
.game-tabs button>span{font-size:0.75rem}
.game-panel{grid-template-columns:1fr;border-radius:10px}
.game-preview{padding-block:12px 35px}
.game-preview figcaption{bottom:17px;left:20px;font-size:0.75rem}
.game-description{padding:28px}
.game-description h3{font-size:2.4375rem;margin-block:12px}
.game-description>p:not(.eyebrow){font-size:0.9375rem}
.game-description .game-rule{margin-top:19px;padding-top:14px}
.comfort-section{padding-block:52px 58px}
.comfort-heading{display:block;margin-bottom:25px}
.comfort-heading .eyebrow{max-width:none;margin-bottom:14px;font-size:0.75rem}
.comfort-heading h2{font-size:2.25rem}
.comfort-list{grid-template-columns:1fr;gap:24px}
.comfort-list article{padding-top:20px;display:grid;grid-template-columns:34px 1fr;column-gap:15px}
.feature-number{padding-top:4px;font-size:0.75rem;grid-row:1/3}
.comfort-list h3{font-size:1.5rem;margin:0 0 10px}
.comfort-list p{max-width:100%;font-size:0.9375rem}
.sharing-inner{grid-template-columns:1fr;padding-block:48px 54px;gap:30px}
.sharing-copy .eyebrow{font-size:0.75rem}
.sharing-copy h2{font-size:3.25rem;margin-block:20px}
.sharing-copy>p:last-child{font-size:0.9375rem}
.deal-invitation{padding:26px 22px;box-shadow:6px 6px 0 #39604a}
.invitation-title{font-size:1.625rem}
.deal-input-row button{padding-inline:13px}
.invitation-hint{font-size:0.75rem}
.download-section{padding-block:60px 54px}
.download-section h2{font-size:2.6875rem}
.app-icon{width:64px;height:64px;border-radius:15px}
}
@media(max-width:359px){
.hero-note{font-size:0.75rem;gap:6px}
.game-tabs button{font-size:0.8125rem}
.deal-input-row{flex-wrap:wrap}
.deal-input-row button{width:100%}
}
@media(prefers-reduced-motion:no-preference){
.game-tabs button,.deal-input-row button{transition:background-color .16s ease,color .16s ease}
}
.game-tabs button:disabled{cursor:default}
.comfort-list p,.game-description>p:not(.eyebrow),.sharing-copy>p:last-child{font-size:1rem}
.deal-invitation label,.invitation-hint{font-size:.875rem}
@media(max-width:760px){
.table-heading{flex-wrap:wrap}
.table-heading>span:first-child{font-size:.75rem;letter-spacing:.07em}
.hero-note{font-size:.75rem;gap:7px}
.hero-table figcaption{font-size:.75rem}
.chapter-line{font-size:.75rem}
.game-tabs button{font-size:.875rem}
.sharing-inner{gap:32px}
}
.hero>*{min-width:0}
.hero h1{overflow-wrap:break-word}
.game-tabs button{overflow-wrap:anywhere}
@media(max-width:760px){
.hero{grid-template-columns:minmax(0,1fr)}
.game-panel{grid-template-columns:minmax(0,1fr)}
.sharing-inner{grid-template-columns:minmax(0,1fr)}
.deal-input-row{flex-wrap:wrap}
.deal-input-row input{flex:1 1 100px;width:auto}
.deal-input-row button{flex:1 0 auto}
}
@media(max-width:760px){
.game-tabs button{flex-basis:max-content;white-space:nowrap;overflow-wrap:normal}
}
