.gfl{padding:var(--gfl-space,48px) var(--page-margin,24px);background:var(--gfl-page,#fff);color:var(--gfl-ink,#171717);font-family:var(--font-body--family,Arial,sans-serif)}
.gfl *{box-sizing:border-box}.gfl-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4.5vw,72px);align-items:center;max-width:var(--gfl-max,1280px);margin:auto;padding:22px;background:var(--gfl-bg,#f4f4f0);border-radius:var(--gfl-radius,24px)}
.gfl-photo{position:relative;overflow:hidden;border-radius:max(0px,calc(var(--gfl-radius,24px) - 8px));height:var(--gfl-height,420px);background:#eeefea;min-width:0}.gfl-photo>img,.gfl-placeholder{display:block;width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.3,1)}
.gfl-image-label{position:absolute;bottom:14px;left:14px;right:14px;width:fit-content;max-width:calc(100% - 28px);border:1px solid #ffffffb3;background:#ffffffe0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:18px;padding:7px 11px;font-size:9px;line-height:1.4;letter-spacing:.08em;color:#171717}
.gfl-copy{min-width:0;padding:20px 16px 20px 0}.gfl-eyebrow{display:flex;align-items:center;gap:8px;font-size:9px;letter-spacing:.14em;margin:0 0 18px;line-height:1.5}.gfl-eyebrow>span{width:5px;height:5px;flex:none;border-radius:50%;background:var(--gfl-accent,#ffe500)}
.gfl-copy h2{font-size:var(--gfl-title,48px);font-weight:600;line-height:1.04;letter-spacing:-.05em;margin:0 0 20px;overflow-wrap:anywhere}.gfl-copy h2 em{display:block;font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.045em}.gfl-description{max-width:360px;font-size:13px;line-height:1.75;color:color-mix(in srgb,var(--gfl-ink,#171717) 72%,transparent)}.gfl-description p{margin:0}.gfl-description a{text-decoration:underline;color:inherit;text-underline-offset:3px}
.gfl-pieces{display:flex;gap:10px;margin:24px 0;max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#17171724 transparent;padding:2px 2px 10px}.gfl-piece{display:block;flex:0 0 var(--gfl-piece,100px);min-width:0;scroll-snap-align:start;text-decoration:none;color:inherit}.gfl-piece img,.gfl-piece-empty{display:block;width:100%;aspect-ratio:1/1.15;object-fit:cover;border-radius:12px;background:#ffffffb8;transition:transform .3s}.gfl-piece-empty{display:grid;place-items:center;font-size:28px;font-weight:600;color:#888}.gfl-piece-title{display:block;margin-top:7px;font-size:10px;line-height:1.45;overflow-wrap:anywhere}.gfl-benefit{font-size:11px;line-height:1.6;margin:0 0 18px;max-width:420px}
.gfl-button{display:inline-flex;gap:32px;align-items:center;justify-content:space-between;padding:13px 20px;min-height:46px;border:1px solid transparent;border-radius:26px;background:var(--gfl-button-bg,#171717);color:var(--gfl-button-ink,#fff);font-size:12px;font-weight:600;line-height:1.4;text-decoration:none;transition:transform .2s,box-shadow .2s}.gfl-button>span{font-size:20px;font-weight:400}.gfl a:focus-visible,.gfl-pieces:focus-visible{outline:2px solid var(--gfl-ink,#171717);outline-offset:2px}.gfl-editor{margin:18px 0 0;padding:12px;border:1px dashed #bbb;border-radius:12px;font:12px/1.6 Arial;color:#666}
@media(hover:hover){.gfl-photo:hover>img{transform:scale(1.035)}.gfl-piece:hover img{transform:translateY(-2px)}.gfl-button:hover{transform:translateY(-2px);box-shadow:0 7px 18px #17171718}}
@media(min-width:750px) and (max-width:1000px){.gfl-inner{gap:28px;padding:18px}.gfl-copy{padding-right:0}.gfl-copy h2{font-size:min(var(--gfl-title,48px),38px)}}
@media(max-width:749px){.gfl{padding:var(--gfl-space-m,32px) max(16px,var(--page-margin,18px))}.gfl-inner{grid-template-columns:minmax(0,1fr);gap:22px;padding:14px}.gfl-photo{height:var(--gfl-height-m,300px)}.gfl-copy{padding:0 6px 10px}.gfl-copy h2{font-size:var(--gfl-title-m,34px);margin-bottom:16px}.gfl-description{font-size:12px}.gfl-pieces{margin:20px 0;gap:8px}.gfl-piece{flex-basis:var(--gfl-piece-m,76px)}.gfl-button{width:100%}.gfl-eyebrow{font-size:8px;margin-bottom:14px}}
@media(prefers-reduced-motion:reduce){.gfl *{transition:none!important;scroll-behavior:auto!important}.gfl-photo:hover>img,.gfl-piece:hover img,.gfl-button:hover{transform:none}}
