:root{--ff-charcoal:#162024;--ff-charcoal-soft:#233038;--ff-gold:#d9c72e;--ff-gold-dark:#a89510;--ff-flame:#b95a34;--ff-teal:#1c8a94;--ff-cream:#fffaf0;--ff-muted:#6e7274}.ff-home .dnd-section,.ff-template-container{padding-left:24px;padding-right:24px}.ff-template-container{margin-left:auto;margin-right:auto;max-width:1180px;position:relative;width:100%;z-index:1}.ff-home img{max-width:100%}.ff-template-grid{align-items:center;display:grid;gap:64px}.ff-template-grid--split{grid-template-columns:minmax(0,1fr) minmax(0,.86fr)}.ff-template-grid--cards{align-items:stretch;grid-template-columns:repeat(3,minmax(0,1fr))}.ff-header{background:var(--ff-charcoal);border-bottom:1px solid rgba(255,250,240,.1);color:var(--ff-cream);position:sticky;top:0;z-index:var(--z-index-fixed)}.ff-header__nav{align-items:center;display:grid;gap:24px;grid-template-columns:minmax(150px,1fr) auto minmax(150px,1fr);margin:0 auto;max-width:1280px;min-height:72px;padding:0 28px}.ff-skip-link{background:var(--ff-gold);color:var(--ff-charcoal);left:12px;padding:10px 14px;position:absolute;top:-80px;z-index:calc(var(--z-index-fixed) + 1)}.ff-skip-link:focus{top:12px}.ff-footer a,.ff-header a{color:inherit;text-decoration:none}.ff-footer__logo,.ff-header__brand{color:var(--ff-gold);display:inline-flex;flex-direction:column;font-size:var(--text-xs);font-weight:var(--font-weight-bold);line-height:1.05}.ff-header__links,.ff-header__social{align-items:center;display:flex;flex-wrap:wrap;gap:24px}.ff-header__links{justify-content:center}.ff-header__social{justify-content:flex-end}.ff-header__links a,.ff-header__social a{font-size:var(--text-xxs);font-weight:var(--font-weight-semibold);line-height:1;transition:color var(--anim-duration-fast) var(--ease-standard)}.ff-header__links a{color:var(--ff-gold)}.ff-header__links a:hover,.ff-header__social a:hover{color:var(--ff-teal)}.ff-header__social a{color:var(--ff-cream)}.ff-section{color:var(--rich-grey)}.ff-section .row-fluid{margin-left:auto;margin-right:auto;max-width:1180px}.ff-hero{background-position:50%;background-size:cover;min-height:700px;position:relative}.ff-feature:before,.ff-final-cta:before,.ff-hero:before{background:linear-gradient(90deg,rgba(22,32,36,.82),rgba(22,32,36,.36) 54%,rgba(22,32,36,.08));content:"";inset:0;pointer-events:none;position:absolute}.ff-feature>.row-fluid,.ff-final-cta>.row-fluid,.ff-hero>.row-fluid{position:relative;z-index:1}.ff-hero .dnd-column,.ff-hero .dnd-row,.ff-hero .ff-template-container,.ff-hero .hs_cos_wrapper,.ff-hero .hs_cos_wrapper_type_rich_text,.ff-hero .row-fluid{min-height:inherit}.ff-hero .ff-template-container,.ff-hero .hs_cos_wrapper_type_rich_text{align-items:center;display:flex}.ff-hero__content{color:var(--pure-white);max-width:680px;padding:80px 0}.ff-eyebrow{color:var(--ff-gold);font-size:var(--text-xs);font-weight:var(--font-weight-bold);letter-spacing:0;margin-bottom:var(--spacing-sm);text-transform:uppercase}.ff-copy-block h2,.ff-feature__panel h2,.ff-final-cta__panel h2,.ff-hero h1,.ff-section-heading h2{color:inherit;letter-spacing:0;margin-bottom:var(--spacing-sm)}.ff-hero h1{font-size:var(--text-jumbo);font-weight:var(--font-weight-extra-light);max-width:720px;text-shadow:0 2px 22px rgba(0,0,0,.24)}.ff-feature__panel h2,.ff-final-cta__panel h2,.ff-hero h1,.ff-photography h2{color:var(--pure-white)!important}.ff-hero p{font-size:var(--text-md);max-width:620px;text-shadow:0 1px 12px rgba(0,0,0,.28)}.ff-button,.ff-text-link{align-items:center;display:inline-flex;font-weight:var(--font-weight-bold);justify-content:center;line-height:1.1;text-decoration:none;text-transform:uppercase}.ff-button{border:var(--border-width-medium) solid transparent;border-radius:var(--radius-none);margin-top:var(--spacing-sm);min-height:46px;padding:14px 22px;transition:background-color var(--anim-duration-fast) var(--ease-standard),color var(--anim-duration-fast) var(--ease-standard),border-color var(--anim-duration-fast) var(--ease-standard),transform var(--anim-duration-fast) var(--ease-out)}.ff-button:hover{transform:translateY(-2px)}.ff-button:focus,.ff-button:hover{text-decoration:none}.ff-button--gold{background:var(--ff-gold);color:var(--ff-charcoal)}.ff-button--gold:hover{background:var(--ff-gold-dark);color:var(--pure-white)}.ff-button--dark{background:var(--ff-charcoal);color:var(--pure-white)}.ff-button--dark:hover{border-color:var(--ff-charcoal)}.ff-button--dark:hover,.ff-text-link{background:transparent;color:var(--ff-charcoal)}.ff-text-link{border:var(--border-width-medium) solid var(--ff-charcoal);border-radius:999px;margin-top:var(--spacing-sm);min-height:46px;padding:13px 30px;transition:background-color var(--anim-duration-fast) var(--ease-standard),color var(--anim-duration-fast) var(--ease-standard),transform var(--anim-duration-fast) var(--ease-out)}.ff-text-link:hover{background:var(--ff-charcoal);color:var(--pure-white);transform:translateY(-2px)}.ff-text-link:focus,.ff-text-link:hover{text-decoration:none}.ff-text-link:after{content:"\2192";font-size:1.35em;font-weight:var(--font-weight-regular);line-height:1;margin-left:14px}.ff-copy-block{max-width:640px}.ff-copy-block p{color:var(--medium-grey)}.ff-image-pair img,.ff-intro img,.ff-photo-grid img{box-shadow:0 22px 50px rgba(22,32,36,.14)}.ff-intro img{aspect-ratio:1/1;border-radius:0;object-fit:cover;width:100%}.ff-services{background:var(--ff-cream)}.ff-classes,.ff-intro,.ff-photography,.ff-services,.ff-testimonials{padding-bottom:96px;padding-top:96px}.ff-section-heading{margin:0 auto 44px;max-width:760px;text-align:center}.ff-home .ff-services .cards{align-items:stretch;display:grid;gap:32px;grid-template-columns:repeat(3,minmax(0,1fr));justify-content:normal}.ff-home .ff-services .cards__card,.ff-service-card{background:var(--pure-white);box-shadow:var(--shadow-md);display:flex;flex-direction:column;height:100%;margin:0;max-width:none;overflow:hidden;transition:box-shadow var(--anim-duration-fast) var(--ease-standard),transform var(--anim-duration-fast) var(--ease-standard);width:100%}.ff-home .ff-services .cards__card:hover,.ff-service-card:hover{box-shadow:0 24px 54px rgba(22,32,36,.18);transform:translateY(-4px)}.ff-home .ff-services .card__image,.ff-service-card img{aspect-ratio:1/.82;display:block;height:clamp(240px,24vw,320px);margin:0;object-fit:cover;padding:0;transition:transform var(--anim-duration-fast) var(--ease-standard);width:100%}.ff-home .ff-services .cards__card:hover .card__image,.ff-service-card:hover img{transform:scale(1.035)}.ff-home .ff-services .card__text{padding:24px;width:100%}.ff-home .ff-services .card__text h3,.ff-service-card h3{color:var(--ff-charcoal);font-size:var(--text-md);font-weight:var(--font-weight-semibold);margin:0;min-height:104px}.ff-feature{background-position:50%;background-size:cover;color:var(--pure-white);padding-bottom:116px;padding-top:116px;position:relative}.ff-feature__panel,.ff-final-cta__panel{background:rgba(22,32,36,.82);color:var(--pure-white);max-width:620px;padding:40px}.ff-feature__panel p,.ff-final-cta__panel p{color:var(--ff-cream)}.ff-classes{background:var(--pure-white)}.ff-image-pair{display:grid;gap:18px;grid-template-columns:.72fr 1fr}.ff-image-pair img,.ff-photo-grid img{display:block;height:100%;object-fit:cover;width:100%}.ff-image-pair__tall{aspect-ratio:3/4}.ff-image-pair__wide{align-self:end;aspect-ratio:3/2}.ff-photography{background:var(--ff-charcoal);color:var(--pure-white)}.ff-photography .ff-copy-block p{color:var(--ff-cream)}.ff-photo-grid{display:grid;gap:18px;grid-template-columns:.75fr 1fr}.ff-photo-grid img:first-child{aspect-ratio:1/1}.ff-photo-grid img:nth-child(2){aspect-ratio:3/2;grid-row:span 2}.ff-photo-grid img:nth-child(3){aspect-ratio:3/4}.ff-photo-grid--pair{align-items:center;grid-template-columns:repeat(2,minmax(0,1fr))}.ff-photo-grid--pair img:nth-child(n){aspect-ratio:auto;grid-row:auto;height:auto}.ff-testimonials{background:var(--ff-cream)}.ff-testimonial{background:var(--pure-white);border-top:4px solid var(--ff-gold);box-shadow:var(--shadow-sm);min-height:210px;padding:28px;transition:box-shadow var(--anim-duration-fast) var(--ease-standard),transform var(--anim-duration-fast) var(--ease-standard)}.ff-testimonial:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.ff-testimonial__name{color:var(--ff-charcoal);font-weight:var(--font-weight-bold)}.ff-testimonial__rating{color:var(--ff-flame);font-weight:var(--font-weight-bold);margin-top:var(--spacing-sm);text-transform:uppercase}.ff-final-cta{background-position:50%;background-size:cover;color:var(--pure-white);padding-bottom:132px;padding-top:132px;position:relative;text-align:center}.ff-final-cta:before{background:rgba(22,32,36,.58)}.ff-final-cta__panel{margin:0 auto}.ff-footer{background:var(--ff-charcoal);color:var(--ff-cream)}.ff-footer__inner{display:grid;gap:28px;grid-template-columns:1.25fr 1.4fr 1.5fr .7fr;margin:0 auto;max-width:1180px;padding:52px 28px 34px}.ff-footer p{font-size:var(--text-xs);margin-bottom:8px}.ff-footer__links,.ff-footer__social{display:flex;flex-direction:column;gap:10px}.ff-footer__contact a,.ff-footer__links a,.ff-footer__social a{color:var(--ff-cream);font-size:var(--text-xs)}.ff-footer__copyright{color:var(--ff-gold);grid-column:1/-1;margin:0}@media (max-width:1000px){.ff-header__nav{align-items:flex-start;grid-template-columns:1fr;min-height:auto;padding:18px 24px}.ff-header__links,.ff-header__social{justify-content:flex-start}.ff-footer__inner{grid-template-columns:1fr 1fr}}@media (max-width:767px){.ff-home .dnd-section,.ff-template-container{padding-left:18px;padding-right:18px}.ff-home .ff-services .cards,.ff-template-grid,.ff-template-grid--cards,.ff-template-grid--split{gap:28px;grid-template-columns:1fr}.ff-hero{min-height:580px}.ff-feature:before,.ff-hero:before{background:rgba(22,32,36,.68)}.ff-feature__panel,.ff-final-cta__panel,.ff-hero__content{padding:32px 0}.ff-feature__panel,.ff-final-cta__panel{background:transparent}.ff-hero h1{font-size:var(--text-xxl)}.ff-hero p{font-size:var(--text-base)}.ff-home .ff-services .cards__card,.ff-service-card{margin-bottom:var(--spacing-sm)}.ff-home .ff-services .card__image,.ff-service-card img{height:280px}.ff-home .ff-services .card__text h3,.ff-service-card h3{min-height:auto}.ff-footer__inner,.ff-image-pair,.ff-photo-grid{grid-template-columns:1fr}}