/* First guide only. Shared top Header/Footer CSS is copied unchanged in shell.css. */
.fg-main { --fg-line:#e4ded2; }
.fg-hero { position:relative; isolation:isolate; background:#eeeae0; min-height:410px; display:flex; align-items:center; }
.fg-hero>.kt-container { position:relative; z-index:2; }
.fg-hero-copy { width:48%; padding:54px 0; }
.kt-page .fg-hero h1 { font-size:60px; line-height:1.3; letter-spacing:.1em; }
.fg-hero-copy p { font-family:var(--serif); font-size:18px; line-height:1.95; letter-spacing:.045em; margin-top:24px; }
.fg-hero-photo { position:absolute; inset:0 0 0 32%; z-index:-2; }
.fg-hero-photo img { width:100%; height:100%; object-position:56% 50%; }
.fg-hero:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#eeeae0 0%,#eeeae0 28%,#eeeae0f5 38%,#eeeae074 48%,transparent 62%); z-index:-1; pointer-events:none; }
.fg-section { padding-top:80px; }
.fg-heading { text-align:center; margin-bottom:30px; }
.kt-page .fg-heading h2 { font-size:34px; line-height:1.5; letter-spacing:.12em; }
.fg-heading p { margin-top:10px; font-size:14px; line-height:1.8; color:var(--muted); }
.fg-heading p br { display:none; }
.fg-steps-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.fg-step { display:flex; flex-direction:column; border:1px solid var(--fg-line); background:#fbfaf6; }
.fg-step-photo { position:relative; }
.fg-step-photo img { width:100%; height:auto; aspect-ratio:1.8; }
.fg-step-number { position:absolute; top:-13px; left:-10px; border:1px solid #ae986e; width:60px; height:60px; border-radius:50%; background:#fcfaf4; color:#806b45; display:grid; place-items:center; font:30px Georgia,serif; }
.fg-step-copy { padding:17px 32px 22px; flex:1; display:flex; flex-direction:column; }
.kt-page .fg-step h3 { font-size:25px; letter-spacing:.09em; }
.fg-step-copy p { font-size:16px; line-height:1.8; margin:7px 0 14px; color:var(--muted); }
.fg-step-cta { min-height:44px; padding:7px 15px; display:flex; justify-content:center; align-items:center; gap:20px; color:var(--paper); background:var(--green); font-family:var(--serif); font-size:14px; margin-top:auto; }
.fg-step-cta b { font:20px Georgia,serif; }
.fg-step:hover .fg-step-cta { background:#244e42; }
.fg-parts-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.fg-part { border:1px solid var(--fg-line); background:#fbfaf6; }
.fg-part img { width:100%; height:auto; aspect-ratio:1.6; }
.fg-part>div { padding:12px 17px 18px; }
.kt-page .fg-part h3 { font-size:25px; }
.fg-part p { font-size:14px; line-height:1.8; margin-top:6px; color:var(--muted); letter-spacing:.03em; }
.fg-center { margin-top:24px; text-align:center; }
.fg-center .kt-button { min-width:320px; }
.fg-sets-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.fg-set { display:grid; grid-template-columns:48% minmax(0,1fr); background:#efede3; }
.fg-set-photo { min-width:0; }
.fg-set-photo img { width:100%; height:100%; min-height:280px; object-position:50% 50%; }
.fg-set-copy { padding:25px 24px; display:flex; flex-direction:column; align-items:flex-start; }
.kt-page .fg-set h3 { font-size:26px; letter-spacing:.055em; }
.fg-set-copy p { font-size:15px; color:var(--muted); line-height:1.85; margin:12px 0 20px; letter-spacing:.03em; }
.fg-set-copy p br { display:none; }
.fg-set .kt-button { min-height:44px; padding:8px 18px; margin-top:auto; }
.fg-faq { padding-bottom:80px; }
.fg-faq-list { max-width:950px; margin-inline:auto; display:grid; gap:6px; }
.fg-question { border:1px solid var(--fg-line); background:#fbfaf6; }
.fg-question summary { cursor:pointer; display:flex; align-items:center; gap:20px; justify-content:space-between; min-height:46px; padding:10px 26px; list-style:none; font-family:var(--serif); font-size:16px; line-height:1.6; }
.fg-question summary::-webkit-details-marker { display:none; }
.fg-question summary>span { flex:0 0 14px; width:14px; height:14px; position:relative; color:#8a734a; }
.fg-question summary>span:before,.fg-question summary>span:after { content:""; position:absolute; inset:6px 0 auto; height:1px; background:currentColor; }
.fg-question summary>span:after { transform:rotate(90deg); }
.fg-question[open] summary>span:after { display:none; }
.fg-answer { padding:2px 26px 20px; font-size:15px; line-height:1.9; color:var(--muted); }
.fg-final { position:relative; isolation:isolate; background:#eeeae0; min-height:270px; display:flex; align-items:center; }
.fg-final-photo { position:absolute; inset:0 43% 0 0; z-index:-2; }
.fg-final-photo img { width:100%; height:100%; object-position:52% 57%; }
.fg-final:after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,transparent 16%,#eeeae035 31%,#eeeae0 56%); pointer-events:none; }
.fg-final-copy { margin-left:51%; text-align:center; padding:40px 0; }
.kt-page .fg-final h2 { font-size:33px; letter-spacing:.07em; }
.fg-final-copy p { font-family:var(--serif); color:var(--muted); font-size:14px; margin-top:7px; }
.fg-final-actions { display:flex; justify-content:center; gap:14px; margin-top:24px; }
.fg-final-actions .kt-button { padding-inline:21px; gap:18px; }
@media (min-width:1600px) { .fg-hero { min-height:470px; } }
@media (min-width:600px) and (max-width:1000px) {
 .fg-hero { min-height:350px; }
 .kt-page .fg-hero h1 { font-size:48px; }
 .fg-hero-copy { width:56%; }
 .fg-hero-copy p { font-size:15px; }
 .fg-section { padding-top:64px; }
 .fg-heading { margin-bottom:26px; }
 .kt-page .fg-heading h2 { font-size:29px; }
 .fg-steps-grid,.fg-parts-grid { gap:16px; }
 .fg-step-number { width:45px; height:45px; font-size:24px; top:-9px; left:-5px; }
 .fg-step-copy { padding:15px 16px 18px; }
 .kt-page .fg-step h3 { font-size:21px; letter-spacing:.025em; }
 .fg-step-copy p { font-size:14px; }
 .fg-step-copy p br { display:none; }
 .fg-part>div { padding:10px 12px 14px; }
 .kt-page .fg-part h3 { font-size:21px; }
 .fg-part p { font-size:13px; }
 .fg-part p br { display:none; }
 .fg-sets-grid { gap:18px; }
 .fg-set { grid-template-columns:43% minmax(0,1fr); }
 .fg-set-copy { padding:20px 15px; }
 .kt-page .fg-set h3 { font-size:22px; }
 .fg-set-copy p { font-size:14px; }
 .fg-set .kt-button { font-size:13px; padding-inline:12px; gap:10px; }
 .fg-faq { padding-bottom:64px; }
 .fg-final-copy { margin-left:42%; }
 .kt-page .fg-final h2 { font-size:27px; }
 .fg-final-actions { gap:10px; }
 .fg-final-actions .kt-button { padding-inline:14px; gap:10px; font-size:13px; }
}
@media (max-width:599px) {
 .fg-hero { display:flex; flex-direction:column; min-height:0; }
 .fg-hero-copy { width:100%; padding:24px 0 20px; }
 .kt-page .fg-hero h1 { font-size:30px; line-height:1.45; letter-spacing:.07em; white-space:nowrap; }
 .fg-hero h1 br { display:none; }
 .fg-hero-copy p { font-size:14px; line-height:1.85; letter-spacing:.015em; margin-top:10px; }
 .fg-hero-photo { position:relative; inset:auto; width:100%; z-index:0; }
 .fg-hero-photo img { width:100%; height:auto; aspect-ratio:1.8; object-position:54% 55%; }
 .fg-hero:after { display:none; }
 .fg-section { padding-top:52px; }
 .fg-heading { margin-bottom:24px; }
 .kt-page .fg-heading h2 { font-size:24px; line-height:1.55; letter-spacing:.06em; }
 .fg-steps .fg-heading h2 { font-size:22px; letter-spacing:.025em; }
 .fg-heading p { font-size:12px; line-height:1.85; letter-spacing:.035em; margin-top:8px; }
 .fg-parts .fg-heading p br { display:block; }
 .fg-steps-grid { grid-template-columns:minmax(0,1fr); gap:12px; }
 .fg-step { flex-direction:row; position:relative; padding:6px; min-height:102px; }
 .fg-step-photo { flex:0 0 36%; }
 .fg-step-photo img { width:100%; height:100%; aspect-ratio:auto; object-fit:cover; }
 .fg-step-number { width:30px; height:30px; font-size:17px; left:-7px; top:-7px; }
 .fg-step-copy { padding:3px 21px 3px 14px; justify-content:center; }
 .kt-page .fg-step h3 { font-size:19px; line-height:1.5; letter-spacing:.015em; }
 .fg-step-copy p { font-size:13px; line-height:1.65; letter-spacing:0; margin:5px 0 0; }
 .fg-step-copy p br { display:none; }
 .fg-step-cta { position:absolute; right:9px; top:50%; transform:translateY(-50%); min-height:0; padding:0; color:var(--green); background:none; }
 .fg-step-cta>span { display:none; }
 .fg-step:hover .fg-step-cta { background:none; }
 .fg-parts-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
 .fg-part img { aspect-ratio:1.6; }
 .fg-part>div { padding:10px 12px 13px; }
 .kt-page .fg-part h3 { font-size:21px; line-height:1.5; }
 .fg-part p { font-size:12px; line-height:1.8; margin-top:5px; letter-spacing:0; }
 .fg-part p br { display:none; }
 .fg-center { margin-top:20px; }
 .fg-center .kt-button { min-width:240px; min-height:46px; }
 .fg-sets-grid { grid-template-columns:minmax(0,1fr); gap:18px; }
 .fg-set { grid-template-columns:46% minmax(0,1fr); }
 .fg-set-photo img { min-height:0; height:100%; }
 .fg-set-copy { padding:15px 14px; }
 .kt-page .fg-set h3 { font-size:21px; line-height:1.45; letter-spacing:.015em; }
 .fg-set-copy p { font-size:12px; line-height:1.75; margin:8px 0 12px; letter-spacing:0; }
 .fg-set .kt-button { font-size:13px; padding:8px 12px; gap:15px; min-height:44px; width:100%; }
 .fg-faq { padding-bottom:52px; }
 .fg-faq .fg-heading p { max-width:310px; margin-inline:auto; }
 .fg-faq-list { gap:6px; }
 .fg-question summary { font-size:13px; letter-spacing:.02em; padding:12px 13px; gap:12px; min-height:46px; }
 .fg-question summary>span { flex-basis:12px; width:12px; height:12px; }
 .fg-answer { font-size:14px; padding:0 14px 18px; line-height:1.8; letter-spacing:.02em; }
 .fg-final { min-height:355px; align-items:flex-start; }
 .fg-final-photo { inset:0; }
 .fg-final-photo img { object-position:55% 50%; }
 .fg-final:after { background:linear-gradient(180deg,#12241fd9 0%,#12241f7a 54%,#12241f0d 100%); }
 .fg-final-copy { margin-left:0; padding:28px 10px 65px; }
 .kt-page .fg-final h2 { font-size:26px; letter-spacing:.035em; color:#fffdf5; }
 .fg-final-copy p { color:#f5f2e8; font-size:13px; }
 .fg-final-actions { flex-direction:column; gap:10px; margin-top:24px; padding-inline:4px; }
 .fg-final-actions .kt-button { width:100%; min-height:48px; }
 .fg-final-actions .kt-button-outline { background:#faf8f3; }
}
@media (max-width:359px) {
 .kt-page .fg-hero h1 { font-size:26px; }
 .fg-hero-copy p { font-size:13px; }
 .fg-hero-copy p br { display:none; }
 .fg-steps .fg-heading h2 { font-size:20px; }
 .fg-step-copy { padding-left:10px; }
 .kt-page .fg-step h3 { font-size:17px; }
}
/* The adopted raster mark needs a light silhouette on the guide's dark Footer. */
.fg-main + .kt-footer .kt-brand-mark svg { filter:brightness(0) invert(1); }
@media (min-width:600px) and (max-width:1000px) {
 .fg-hero:after { background:linear-gradient(90deg,#eeeae0 0%,#eeeae0 31%,#eeeae0f5 43%,#eeeae077 56%,transparent 72%); }
 .fg-set-photo img { min-height:240px; }
}
