*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--cream:#faf6ee;--cream-warm:#f5efe3;--cream-deep:#ede4d4;--parchment:#e5dac8;--ink:#1c1a18;--ink-light:#3d3830;--mid:#7a6e62;--light:#a89e92;--faint:#c8bdb0;--green:#2d5a3d;--green-mid:#3d7552;--green-light:#5a9970;--green-pale:#e8f2ec;--green-tint:#2d5a3d0f;--red:#c23b2e;--red-mid:#d4584c;--red-pale:#faecea;--red-tint:#c23b2e0f;--gold:#b8831a;--gold-bright:#c9922a;--gold-pale:#fdf3e0;--gold-tint:#b8831a12;--ice:#4e7a8e;--ice-mid:#6a95aa;--ice-pale:#eaf2f6;--ice-tint:#4e7a8e0f;--border:#d8cec0;--border-light:#ede6d8;--shadow:#1c1a1814;--shadow-warm:#b4783c1f}html{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--parchment) var(--cream)}html:has(body.family-site){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#faf6ee}body.family-site{color:var(--ink);-webkit-font-smoothing:antialiased;font-family:Lato,sans-serif;font-weight:300;line-height:1.65;overflow-x:hidden;background:var(--cream)!important}body.family-site img{max-width:100%;display:block}body.family-site a{color:var(--green);text-decoration:none;transition:color .2s}body.family-site a:hover{color:var(--red)}.f-nav{z-index:9000;-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border-light);background:#faf6eef0;position:fixed;top:0;left:0;right:0}.f-nav-inner{justify-content:space-between;align-items:center;gap:24px;max-width:1200px;height:60px;margin:0 auto;padding:0 32px;display:flex}.f-nav-logo{color:var(--green);letter-spacing:.01em;flex-shrink:0;font-family:Dancing Script,cursive;font-size:26px;font-weight:700;text-decoration:none;transition:color .2s}.f-nav-logo:hover{color:var(--red)}.f-nav-links{align-items:center;gap:4px;display:flex}.f-nav-links a{letter-spacing:.14em;text-transform:uppercase;color:var(--mid);border-radius:3px;padding:6px 12px;font-family:Courier Prime,monospace;font-size:11px;text-decoration:none;transition:color .2s,background .2s}.f-nav-links a:hover{color:var(--ink);background:var(--cream-warm)}.f-nav-sep{color:var(--border);pointer-events:none;font-size:8px}.f-nav-location{letter-spacing:.1em;color:var(--faint);flex-shrink:0;font-family:Courier Prime,monospace;font-size:10px;display:none}@media (min-width:860px){.f-nav-location{display:block}}.f-hero{grid-template-columns:1fr 1fr;align-items:stretch;min-height:100vh;padding-top:60px;display:grid}@media (max-width:860px){.f-hero{grid-template-columns:1fr;min-height:auto}}.f-hero-left{background:var(--cream);flex-direction:column;justify-content:center;padding:80px 56px 80px 48px;display:flex;position:relative}.f-hero-eyebrow{letter-spacing:.3em;text-transform:uppercase;color:var(--red);align-items:center;gap:10px;margin-bottom:24px;font-family:Courier Prime,monospace;font-size:10px;display:flex}.f-hero-eyebrow:before{content:"✦";font-size:9px}.f-hero-title{color:var(--green);letter-spacing:-.01em;margin-bottom:28px;font-family:Dancing Script,cursive;font-size:clamp(52px,8vw,96px);font-weight:700;line-height:1}.f-hero-divider{background:var(--gold);border-radius:2px;width:48px;height:2px;margin-bottom:24px}.f-hero-tagline{color:var(--ink-light);max-width:420px;margin-bottom:40px;font-family:Playfair Display,serif;font-size:clamp(16px,2vw,20px);font-style:italic;line-height:1.7}.f-hero-sub{letter-spacing:.2em;text-transform:uppercase;color:var(--light);margin-bottom:48px;font-family:Courier Prime,monospace;font-size:10px}.f-hero-links{flex-wrap:wrap;gap:8px;display:flex}.f-hero-link{letter-spacing:.16em;text-transform:uppercase;border:1.5px solid #0000;border-radius:3px;padding:9px 20px;font-family:Courier Prime,monospace;font-size:10px;text-decoration:none;transition:background .2s,color .2s,transform .15s;display:inline-block}.f-hero-link:hover{transform:translateY(-1px)}.f-hero-link-jammy{background:var(--green);color:var(--cream);border-color:var(--green)}.f-hero-link-jammy:hover{background:var(--green-mid);color:var(--cream)}.f-hero-link-jenny{background:var(--red);color:var(--cream);border-color:var(--red)}.f-hero-link-jenny:hover{background:var(--red-mid);color:var(--cream)}.f-hero-link-jimmy{background:var(--gold);color:var(--cream);border-color:var(--gold)}.f-hero-link-jimmy:hover{background:var(--gold-bright);color:var(--cream)}.f-hero-link-jonny{color:var(--ice);border-color:var(--ice-mid);background:0 0}.f-hero-link-jonny:hover{background:var(--ice-pale);color:var(--ice)}.f-hero-right{background:var(--cream-warm);min-height:60vh;position:relative;overflow:hidden}@media (max-width:860px){.f-hero-right{min-height:50vw}}.f-hero-photo{object-fit:cover;object-position:center top;filter:saturate(.9)contrast(1.05)brightness(1.02);width:100%;height:100%;position:absolute;inset:0}.f-hero-right-overlay{pointer-events:none;background:linear-gradient(90deg,#faf6ee2e 0%,#0000 30%);position:absolute;inset:0}.f-section{max-width:1200px;margin:0 auto;padding:0 32px}.f-section-eyebrow{letter-spacing:.3em;text-transform:uppercase;color:var(--light);text-align:center;justify-content:center;align-items:center;gap:14px;margin-bottom:16px;font-family:Courier Prime,monospace;font-size:10px;display:flex}.f-section-eyebrow:before,.f-section-eyebrow:after{content:"";background:var(--border);width:40px;height:1px}.f-section-title{color:var(--ink);text-align:center;margin-bottom:56px;font-family:Playfair Display,serif;font-size:clamp(28px,4vw,40px);font-style:italic;font-weight:400;line-height:1.2}.f-characters{background:var(--cream);padding:100px 32px}.f-cards{grid-template-columns:repeat(4,1fr);gap:20px;max-width:1200px;margin:0 auto;display:grid}@media (max-width:900px){.f-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width:520px){.f-cards{grid-template-columns:1fr}}.f-card{box-shadow:0 2px 16px var(--shadow), 0 1px 4px var(--shadow-warm);background:#fff;border-radius:6px;text-decoration:none;transition:transform .28s,box-shadow .28s;display:block;position:relative;overflow:hidden}.f-card:hover{box-shadow:0 12px 40px var(--shadow), 0 4px 12px var(--shadow-warm);transform:translateY(-6px)}.f-card-photo-wrap{aspect-ratio:3/4;position:relative;overflow:hidden}.f-card-photo{object-fit:cover;object-position:center top;filter:saturate(.85)contrast(1.04);width:100%;height:100%;transition:transform .5s,filter .5s}.f-card:hover .f-card-photo{filter:saturate()contrast(1.06);transform:scale(1.04)}.f-card-accent-bar{height:4px;position:absolute;top:0;left:0;right:0}.f-card-body{padding:20px 20px 24px}.f-card-name{margin-bottom:4px;font-family:Dancing Script,cursive;font-size:28px;font-weight:700;line-height:1}.f-card-role{letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px;font-family:Courier Prime,monospace;font-size:9.5px}.f-card-quote{color:var(--mid);margin-bottom:16px;font-family:Playfair Display,serif;font-size:12.5px;font-style:italic;line-height:1.6}.f-card-cta{letter-spacing:.12em;text-transform:uppercase;border:1.5px solid;border-radius:3px;align-items:center;gap:6px;padding:6px 14px;font-family:Courier Prime,monospace;font-size:9.5px;text-decoration:none;transition:background .2s,color .2s;display:inline-flex}.f-card-jammy .f-card-accent-bar{background:var(--green)}.f-card-jammy .f-card-name{color:var(--green)}.f-card-jammy .f-card-role{color:var(--green-light)}.f-card-jammy .f-card-cta{color:var(--green);border-color:var(--green)}.f-card-jammy:hover .f-card-cta{background:var(--green);color:#fff}.f-card-jenny .f-card-accent-bar{background:var(--red)}.f-card-jenny .f-card-name{color:var(--red)}.f-card-jenny .f-card-role{color:var(--red-mid)}.f-card-jenny .f-card-cta{color:var(--red);border-color:var(--red)}.f-card-jenny:hover .f-card-cta{background:var(--red);color:#fff}.f-card-jimmy .f-card-accent-bar{background:var(--gold)}.f-card-jimmy .f-card-name{color:var(--gold)}.f-card-jimmy .f-card-role{color:var(--gold-bright)}.f-card-jimmy .f-card-cta{color:var(--gold);border-color:var(--gold)}.f-card-jimmy:hover .f-card-cta{background:var(--gold);color:#fff}.f-card-jonny .f-card-accent-bar{background:var(--ice)}.f-card-jonny .f-card-name{color:var(--ice)}.f-card-jonny .f-card-role{color:var(--ice-mid)}.f-card-jonny .f-card-cta{color:var(--ice);border-color:var(--ice-mid)}.f-card-jonny:hover .f-card-cta{background:var(--ice);color:#fff}.f-photos{background:var(--cream-warm);padding:100px 0}.f-photos-grid{grid-template-rows:auto;grid-template-columns:repeat(12,1fr);gap:12px;max-width:1200px;margin:0 auto;padding:0 32px;display:grid}.f-photo{cursor:pointer;border-radius:4px;position:relative;overflow:hidden}.f-photo img{object-fit:cover;filter:saturate(.88)contrast(1.03);width:100%;height:100%;transition:transform .5s,filter .4s;display:block}.f-photo:hover img{filter:saturate()contrast(1.06);transform:scale(1.04)}.f-photo-caption{letter-spacing:.06em;color:#faf6eed9;opacity:0;background:linear-gradient(#0000,#1c1a18b8);border-radius:0 0 4px 4px;padding:28px 14px 10px;font-family:Courier Prime,monospace;font-size:10px;transition:opacity .3s;position:absolute;bottom:0;left:0;right:0}.f-photo:hover .f-photo-caption{opacity:1}.f-photo-a{grid-area:1/1/3/6;min-height:420px}.f-photo-b{grid-area:1/6/2/9;min-height:200px}.f-photo-c{grid-area:1/9/2/13;min-height:200px}.f-photo-d{grid-area:2/6/3/9;min-height:210px}.f-photo-e{grid-area:2/9/3/13;min-height:210px}.f-photo-f{grid-area:3/1/4/7;min-height:260px;margin-top:0}.f-photo-g{grid-area:3/7/4/13;min-height:260px}@media (max-width:860px){.f-photos-grid{grid-template-columns:repeat(2,1fr)}.f-photo-a,.f-photo-b,.f-photo-c,.f-photo-d,.f-photo-e,.f-photo-f,.f-photo-g{grid-area:auto;min-height:200px}}.f-story{background:var(--cream);padding:100px 32px}.f-story-inner{text-align:center;max-width:760px;margin:0 auto}.f-ornament{letter-spacing:.5em;color:var(--gold);margin-bottom:40px;font-family:Courier Prime,monospace;font-size:13px;display:block}.f-story-text{color:var(--ink-light);margin-bottom:32px;font-family:Playfair Display,serif;font-size:clamp(17px,2vw,21px);font-style:italic;line-height:1.85}.f-story-address{letter-spacing:.26em;text-transform:uppercase;color:var(--faint);font-family:Courier Prime,monospace;font-size:10px}.f-banner{background:var(--green);white-space:nowrap;padding:22px 32px;overflow:hidden}.f-banner-track{will-change:transform;gap:0;animation:28s linear infinite banner-scroll;display:inline-flex;-webkit-transform:translateZ(0)}.f-banner-item{letter-spacing:.18em;text-transform:uppercase;color:#faf6eeb3;flex-shrink:0;padding:0 28px;font-family:Courier Prime,monospace;font-size:11px}.f-banner-item .star{color:var(--gold);margin:0 8px}@keyframes banner-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.f-footer{background:var(--cream-warm);border-top:1px solid var(--border-light);text-align:center;padding:60px 32px 44px}.f-footer-logo{color:var(--green);margin-bottom:8px;font-family:Dancing Script,cursive;font-size:36px;font-weight:700;display:block}.f-footer-sub{letter-spacing:.2em;color:var(--faint);text-transform:uppercase;margin-bottom:28px;font-family:Courier Prime,monospace;font-size:10px}.f-footer-links{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:28px;display:flex}.f-footer-link{letter-spacing:.1em;border:1px solid var(--border);color:var(--mid);border-radius:20px;padding:5px 14px;font-family:Courier Prime,monospace;font-size:10px;text-decoration:none;transition:color .2s,border-color .2s}.f-footer-link:hover{color:var(--ink);border-color:var(--parchment)}.f-footer-copy{letter-spacing:.1em;color:var(--faint);font-family:Courier Prime,monospace;font-size:9.5px}.f-reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(18px)}.f-reveal.visible{opacity:1;transform:translateY(0)}.f-reveal-d1{transition-delay:.1s}.f-reveal-d2{transition-delay:.2s}.f-reveal-d3{transition-delay:.3s}.f-lightbox{z-index:10000;opacity:0;pointer-events:none;cursor:pointer;background:#1c1a18f5;justify-content:center;align-items:center;padding:40px;transition:opacity .3s;display:flex;position:fixed;inset:0}.f-lightbox.open{opacity:1;pointer-events:all}.f-lightbox img{object-fit:contain;border-radius:3px;max-width:100%;max-height:90vh}.f-lightbox-close{color:#faf6ee80;cursor:pointer;letter-spacing:.1em;background:0 0;border:none;font-family:Courier Prime,monospace;font-size:11px;transition:color .2s;position:absolute;top:20px;right:24px}.f-lightbox-close:hover{color:#faf6ee}
