/* FREESIA homepage: palette and type rhythm shared with the trimming page. */
body.fr-home{--fh-ink:#263f4c;--fh-blue:#2d6f98;--fh-deep:#1f506f;--fh-pale:#eaf2f7;--fh-paper:#faf7ef;--fh-line:#ccdbe6;color:var(--fh-ink);background:#fffefa}
.fr-home #header{position:sticky!important;top:0;z-index:100;background:#fffefaed!important;backdrop-filter:blur(16px);color:var(--fh-ink)!important;box-shadow:none;border-bottom:1px solid #ccdbe65c}
.fr-home #fix_header{display:none!important}
.fr-home #header .l-header__inner{max-width:1440px;min-height:88px;padding:18px 48px;justify-content:space-between;gap:40px}
.fr-home #header .c-headLogo{width:180px;margin:0}
.fr-home #header .c-gnav{gap:26px;margin:0}
.fr-home #header .c-gnav a{padding:8px 0;font-size:13px;letter-spacing:.06em}
.fr-home #header .c-gnav a::after{display:none}
.fr-home #header .l-header__spNav{display:none}
.fr-home #header a{color:inherit!important}
.fr-home #header .l-header__inner,.fr-home #header .c-gnav,.fr-home #header button,.fr-home .p-spHeadMenu{color:var(--fh-ink)!important}
.fr-home #header .l-header__bar{background:var(--fh-paper)!important;color:var(--fh-ink)!important}
/* Full-bleed, five-photo hero with a gentle crossfade and a wavy lower edge. */
.fr-home #main_visual{display:block!important;position:relative;isolation:isolate;overflow:hidden;padding:0;height:clamp(620px,calc(100svh - 114px),840px)!important;min-height:0!important;background:#d6c7ba}
.fr-home .frh-hero-photos{position:absolute;inset:0;z-index:-2;overflow:hidden}
.fr-home .frh-hero-frame{position:absolute;inset:0;opacity:0;transition:opacity .8s ease;overflow:hidden}
.fr-home .frh-hero-frame.is-current{opacity:1;z-index:1}
.fr-home .frh-hero-frame img{display:block;position:absolute;inset:0 auto 0 0;width:125%;max-width:none;height:100%;object-fit:cover;object-position:50% 45%;transform:scale(1.045);transition:transform 3s linear;transform-origin:60% 45%}
.fr-home .frh-hero-frame.is-current img{transform:scale(1)}
.fr-home #main_visual.frh-paused .frh-hero-frame img{transition:none;transform:scale(1)}
.fr-home #main_visual::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(8,51,62,.65),rgba(8,51,62,.35) 37%,rgba(8,51,62,0) 65%),linear-gradient(0deg,rgba(8,51,62,.15),transparent 30%)}
.fr-home .frh-hero-copy{display:flex;flex-direction:column;justify-content:center;position:relative;width:100%;height:100%;padding:50px max(48px,calc((100vw - 1180px)/2));color:#fffefa;box-sizing:border-box}
.fr-home #main_visual .frh-hero-text{display:block;height:auto;width:max-content;max-width:100%;color:#fffefa}
.fr-home #main_visual .p-mainVisual__slideTitle{font-family:"Zen Maru Gothic","Hiragino Kaku Gothic ProN",sans-serif;font-size:clamp(32px,3.65vw,58px)!important;font-weight:700;line-height:1.75;letter-spacing:.035em;margin:0 0 28px;height:auto!important;min-height:0!important;padding:0!important;color:#fffefa;text-shadow:0 2px 16px #123b4433}
.fr-home #main_visual .p-mainVisual__slideTitle,.fr-home #main_visual .p-mainVisual__slideText{visibility:visible!important;opacity:1!important}
.fr-home #main_visual .p-mainVisual__slideTitle::before,.fr-home #main_visual .p-mainVisual__slideText::before{display:none!important;content:none!important}
.fr-home #main_visual .p-mainVisual__slideText{font-size:15px!important;line-height:2.1;letter-spacing:.07em;color:#fffefa;text-shadow:0 1px 8px #123b4480}
.fr-home #main_visual .p-mainVisual__scroll{position:absolute!important;bottom:88px;left:max(48px,calc((100vw - 1180px)/2));transform:none!important;color:#fffefa!important;display:flex;gap:12px;align-items:center;margin:0;font-size:10px;letter-spacing:.2em}
.fr-home #main_visual .p-mainVisual__scrollArrow{width:18px;height:18px;fill:currentColor}

.fr-home #main_visual::after{content:"";position:absolute;z-index:3;bottom:-1px;left:0;width:100%;height:72px;background:#fffefa;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 100' preserveAspectRatio='none'%3E%3Cpath fill='white' d='M0 38C220 105 390 0 650 40S1110 100 1440 28V100H0Z'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat;pointer-events:none}
.frh-hero-controls{position:absolute;z-index:4;right:max(48px,calc((100vw - 1180px)/2));bottom:78px;display:flex;align-items:center;gap:4px;color:#fffefa}
.frh-photo-dot,.frh-motion-toggle{appearance:none;display:grid;place-items:center;width:36px;height:40px;padding:0;border:0;background:none;color:inherit;cursor:pointer}
/* Use a real, non-animated mark so tapping leaves only the current photo selected. */
.frh-photo-dot::before,.frh-photo-dot::after{content:none!important;display:none!important}
.frh-photo-dot{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.frh-photo-mark{display:block;width:7px;height:7px;border-radius:20px;background:currentColor;opacity:.48;pointer-events:none}
.frh-photo-dot[aria-pressed="true"] .frh-photo-mark{width:25px;opacity:1}
.frh-motion-toggle{width:40px;border:1px solid currentColor;border-radius:50%;margin-left:12px}
.frh-motion-toggle[hidden]{display:none!important}
.frh-motion-toggle svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
.frh-icon-play{display:none}
.frh-motion-toggle[aria-pressed="true"] .frh-icon-pause{display:none}
.frh-motion-toggle[aria-pressed="true"] .frh-icon-play{display:block}
.frh-photo-dot:focus-visible,.frh-motion-toggle:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.fr-home #content,.fr-home #main_content,.fr-home #main_content>.l-mainContent__inner{width:100%;max-width:none;margin:0;padding:0}
.frh-layout{font-size:16px;line-height:2;color:var(--fh-ink);overflow:hidden}
.frh-layout *{box-sizing:border-box}
.frh-layout .frh-section{position:relative;margin:0;padding:100px max(48px,calc((100vw - 1120px)/2))}
.frh-layout .alignfull,.frh-layout .alignwide{width:100%;max-width:100%;margin:0!important;left:auto;right:auto}
.frh-layout .swell-block-fullWide,.frh-layout .swell-block-fullWide__inner,.frh-layout .wp-block-cover,.frh-layout .wp-block-cover__inner-container{padding:0!important;margin:0!important;max-width:none;min-height:0;background:transparent!important;color:inherit}
.frh-layout .wp-block-cover{display:block}
.frh-layout .wp-block-spacer,.frh-layout .swell-block-fullWide__SVG,.frh-layout .wp-block-cover__background,.frh-layout .has-bg-img::before,.frh-layout .has-bg-img::after{display:none!important}
.frh-layout h2{padding:0!important;border:0!important;background:none!important;box-shadow:none!important;color:var(--fh-blue);font-size:30px;line-height:1.6;letter-spacing:.06em;text-align:left;margin:0 0 28px!important}
.frh-layout h2::before,.frh-layout h2::after{display:none!important}
.frh-layout mark,.frh-layout .has-white-color,.frh-layout .has-swl-main-color{color:inherit!important;background:none!important}
.frh-layout a{color:var(--fh-blue);text-underline-offset:.3em}
.frh-layout a:focus-visible,.frh-layout button:focus-visible{outline:3px solid var(--fh-blue);outline-offset:5px}
.frh-layout .frh-news{padding-top:26px;padding-bottom:38px;border-bottom:0}
.frh-news>.swell-block-fullWide>.swell-block-fullWide__inner{display:grid;grid-template-columns:150px 1fr;align-items:center;gap:30px}
.frh-news h2{font-size:20px;margin:0!important}
.frh-news .p-postList{margin:0;border:0!important}
.frh-news .p-postList__item{border:0!important;margin:0}
.frh-news .p-postList__link{padding:0}
.frh-news .p-postList__title{font-size:16px;letter-spacing:.02em}
.frh-news .p-postList__body{padding:0}
.frh-news .p-postList__times{font-size:12px;color:#566976;margin-bottom:4px}
.frh-layout .frh-story{display:grid;grid-template-columns:1.12fr 1fr;gap:8%;align-items:center;background:#fffefa}
.frh-story p{margin:0;font-size:16px;line-height:2.15}
.frh-story>.swell-block-fullWide:nth-child(2)>.swell-block-fullWide__inner{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.frh-story .wp-block-media-text{display:block;margin:0!important;transform:none!important}
.frh-story .wp-block-media-text:first-child{grid-column:1/-1}
.frh-story .wp-block-media-text__content{display:none}
.frh-story figure{width:100%;height:100%;margin:0!important}
.frh-story img{display:block;width:100%;height:100%;aspect-ratio:1/1;object-fit:cover;border-radius:18px}
.frh-story .wp-block-media-text:first-child img{aspect-ratio:4/3;border-radius:44% 44% 18px 18px}
.frh-story .wp-block-media-text:nth-child(2){transform:rotate(-4deg)!important}
.frh-story .wp-block-media-text:nth-child(3){transform:rotate(4deg)!important}
.frh-story .wp-block-media-text:not(:first-child) img{border:6px solid #fffefa;box-shadow:0 9px 24px #263f4c12}
.frh-layout .frh-services{background:var(--fh-paper)}
.frh-services h2 .u-fz-xl{font-size:13px!important;letter-spacing:.18em;font-weight:500}
.frh-services h2 .u-fz-s{font-size:30px!important}
.frh-services .wp-block-columns{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin:0}
.frh-services .wp-block-column{margin:0!important;min-width:0}
.frh-services .c-bannerLink{position:relative;display:block;isolation:isolate;padding:0;aspect-ratio:5/4;background:#263f4c!important;overflow:hidden;border-radius:42% 42% 24px 24px;color:#fffefa;text-decoration:none}
.frh-services .c-bannerLink::before{display:none}
.frh-services .c-bannerLink::after{content:"";display:block;position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,#112d3be6, #112d3b9c 28%,transparent 70%);pointer-events:none}
.frh-services .c-bannerLink__figure{position:absolute!important;inset:0!important;width:100%;height:100%;margin:0;overflow:hidden}
.frh-services .c-bannerLink__img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.65,.3,1)}
.frh-services .c-bannerLink:hover img{transform:scale(1.045)}
.frh-services .c-bannerLink__text{position:absolute;inset:auto 0 0;height:auto!important;min-height:0;z-index:2;transform:none;display:grid;grid-template-columns:1fr auto;gap:12px 18px;padding:36px;text-shadow:0 1px 12px #112d3b44;color:#fffefa;text-align:left}
.frh-services .c-bannerLink__title{display:contents;color:inherit}
.frh-services .c-bannerLink__title>br{display:none}
.frh-services .frh-service-name{grid-column:1/-1;grid-row:1;font-size:31px;font-weight:700;line-height:1.5;letter-spacing:.05em}
.frh-services .c-bannerLink__description{grid-column:1;grid-row:2;font-size:16px;line-height:1.85;margin:0;color:#fffefa}
.frh-services .frh-service-cta{grid-column:2;grid-row:2;align-self:end;white-space:nowrap;font-size:11px!important;font-weight:400;line-height:1.8;letter-spacing:.015em;border-bottom:1px solid #ffffff90;padding-bottom:5px}
.frh-services .frh-service-cta::after{content:"↗";margin-left:7px;font-size:18px}
.frh-layout .frh-instagram{background:#fffefa;padding:100px 0 80px}
.frh-layout .frh-reviews{background:var(--fh-pale);padding-top:80px;padding-bottom:100px}
.frh-layout .frh-calendar{background:#fffefa}
.frh-calendar h2 .swl-fz,.frh-access h2 .swl-fz{font-size:30px!important}
.frh-access>.wp-block-cover h2{font-size:20px;line-height:1.8}
.frh-access h2 .u-fz-xs{font-size:13px!important;letter-spacing:.02em}
.frh-access h2 .u-fz-l{font-size:24px!important;letter-spacing:.02em}
.frh-registration .u-fz-xs{font-size:12px!important}
.frh-calendar iframe{width:100%;height:620px;display:block;border:1px solid var(--fh-line)!important;border-radius:16px;background:#fff}
.frh-layout .frh-access{background:var(--fh-paper);display:grid;grid-template-columns:1fr 1fr;gap:28px 56px;align-items:start}
.frh-access>.swell-block-fullWide:first-child{grid-column:1/-1}
.frh-access h2{margin-bottom:0!important}
.frh-access p{margin:0 0 16px;font-size:14px;line-height:2;text-align:left!important;color:var(--fh-ink)!important}
.frh-access strong{font-weight:400}
.frh-access .u-fz-xl{font-size:22px;font-weight:700;color:var(--fh-blue)}
.frh-access iframe{display:block;width:100%;height:530px;border-radius:18px}
.frh-layout .frh-registration{background:var(--fh-paper);padding-top:0;padding-bottom:32px;font-size:12px;color:#566976}
.frh-registration p{margin:0}
.fr-home #footer{background:var(--fh-deep);color:#fffefa;padding:52px max(24px,calc((100vw - 1120px)/2)) 28px}
.fr-home #footer .l-footer__foot,.fr-home #footer .l-container{padding:0;background:transparent;color:inherit}
.fr-home #footer .l-footer__nav{gap:18px 30px;justify-content:flex-start;margin:0 0 32px}
.fr-home #footer .l-footer__nav a{border:0;font-size:12px;padding:0;color:inherit}
.fr-home #footer .copyright{text-align:left;font-size:11px;letter-spacing:.06em;opacity:.75}
.fr-home #footer .l-header__bar{display:block!important;background:transparent!important;color:#fffefa;padding:22px 0 0;margin-top:24px;border-top:1px solid #ffffff36}
.fr-home #footer .l-header__barInner{justify-content:flex-start;min-height:0}
.fr-home #footer .c-iconList{gap:24px}
.fr-home #footer .c-iconList__link{color:inherit;font-size:18px}
.fr-home .line-floating-button{right:22px!important;bottom:22px!important}
.fr-home .line-floating-button a{flex-direction:row!important;width:auto!important;height:64px!important;padding:7px 22px 7px 10px!important;gap:10px!important;border:2px solid #fff!important;border-radius:99px!important;background:#06c755!important;box-shadow:0 5px 24px #075e3033!important;transition:transform .25s}
.fr-home .line-floating-button a:hover{transform:translateY(-3px)}
.fr-home .line-floating-button .line-icon{width:46px!important;height:46px!important;border-radius:12px}
.fr-home .line-floating-button span{font-size:15px!important;letter-spacing:.04em!important}
.fr-home #sp_menu .p-spMenu__inner{width:min(100%,420px);background:#fffefa;color:var(--fh-ink)}
.fr-home #sp_menu .p-spMenu__body{padding:90px 32px 40px}
.fr-home #sp_menu .c-widget__title{background:none;border:0;box-shadow:none;padding:0;margin:0 0 32px;color:var(--fh-blue);font-size:12px;letter-spacing:.2em;font-weight:500}
.fr-home #sp_menu .c-widget__title::before,.fr-home #sp_menu .c-widget__title::after,.fr-home #sp_menu .c-listMenu a::before{display:none}
.fr-home #sp_menu .c-listMenu a{padding:20px 0;border-bottom:1px solid var(--fh-line);font-size:17px;color:var(--fh-ink);letter-spacing:.05em}
.fr-home #sp_menu .p-spMenu__closeBtn{top:20px;right:20px;color:var(--fh-ink)}
/* Live Instagram photos, arranged as two horizontal rows by home-motion.js. */
.frh-instagram .ti-feed-widget{margin:0!important;font-family:inherit!important}
.frh-instagram .ti-header{max-width:1120px!important;margin:0 auto 32px!important;padding:0 24px!important}
.frh-instagram .ti-widget-header{padding:0!important;width:100%!important;justify-content:center!important;gap:0!important}
.frh-instagram .ti-profile{gap:0!important;justify-content:center!important;width:100%!important}
.frh-instagram .ti-profile-details{text-align:center!important;max-width:none!important;overflow:visible!important}
.frh-instagram .ti-full-name{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;font-size:13px!important;font-weight:400!important;color:#566976!important;line-height:1.8!important;margin-top:8px!important}
.frh-instagram .ti-profile-image,.frh-instagram .ti-header-numbers{display:none!important}
.frh-instagram .ti-profile-details,.frh-instagram .ti-name{width:100%!important}
.frh-instagram .ti-username{flex:0 0 auto!important;width:auto!important;max-width:none!important;overflow:visible!important;text-overflow:clip!important;font-size:31px!important;letter-spacing:.04em!important;color:var(--fh-blue)!important;font-weight:500!important;line-height:1.5!important}
body.fr-home .frh-instagram .frh-feed-follow{display:flex!important;width:calc(100% - 48px)!important;max-width:none!important;float:none!important;align-items:center!important;justify-content:center!important;gap:16px!important;margin:32px 24px 0!important;padding:0!important}
.frh-instagram .ti-header-btn{margin:0!important;width:auto!important}
.frh-instagram .ti-header-btn a.ti-btn{display:inline-flex!important;align-items:center;justify-content:center;background:var(--fh-blue)!important;color:#fff!important;border:1px solid var(--fh-blue)!important;border-radius:99px!important;min-height:48px;padding:10px 32px!important;font-size:14px!important;line-height:1.5!important;text-decoration:none!important;box-sizing:border-box}
.frh-instagram .frh-feed-tools{width:100%!important;max-width:none!important;overflow:visible!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:16px!important;margin-top:8px!important}
.frh-instagram .frh-motion-toggle{flex:none;color:var(--fh-blue);margin:0}
body.fr-home .frh-instagram .ti-feed-widget .ti-layout-container{display:block!important;width:100%!important;margin:0!important;padding:0!important}
.frh-instagram .ti-widget-layout{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:24px!important;margin:0!important;padding:0!important;transform:none!important}
.frh-instagram .ti-widget-layout.frh-feed-rows{display:flex!important;flex-direction:column!important;gap:20px!important}
.frh-feed-row{width:100%;overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain;direction:ltr;outline-offset:-4px}
.frh-feed-row::-webkit-scrollbar{display:none}
.frh-feed-track,.frh-feed-group{display:flex;flex:none;width:max-content;gap:0}
.frh-instagram .frh-feed-group{gap:20px;padding-right:20px!important}
.fr-home .frh-instagram .ti-feed-widget .ti-layout-item{display:block!important;min-width:0!important;padding:0!important;margin:0!important}
.fr-home .frh-instagram .frh-feed-group>.ti-layout-item{flex:0 0 280px!important;width:280px!important;min-width:280px!important}
.frh-instagram .ti-widget-card{border:0!important;border-radius:20px!important;overflow:hidden!important;box-shadow:none!important;background:transparent!important}
.frh-instagram .ti-card-body{position:relative!important}
.frh-instagram .ti-card-media{border-radius:20px!important;overflow:hidden!important;aspect-ratio:1!important;padding:0!important;height:auto!important;background:none!important}
.frh-instagram .ti-card-media img{position:static!important;display:block!important;width:100%!important;height:100%!important;aspect-ratio:1!important;object-fit:cover!important;opacity:1!important;visibility:visible!important;transition:transform .6s}
.frh-instagram .ti-widget-card:hover img{transform:scale(1.04)}
.frh-instagram .ti-post-content{display:block!important;position:absolute!important;inset:0!important;background:transparent!important;opacity:1!important;padding:0!important;margin:0!important}
.frh-instagram .ti-card-header,.frh-instagram .ti-post-likes,.frh-instagram .ti-post-comments{display:none!important}
.frh-instagram .ti-post-meta,.frh-instagram .ti-post-meta-actions,.frh-instagram .ti-post-view-btn{display:block!important;position:absolute!important;inset:0!important;padding:0!important;margin:0!important;background:none!important}
.frh-instagram .ti-post-view-btn a{position:absolute!important;inset:0!important;display:flex!important;align-items:flex-end;justify-content:flex-end;padding:14px!important;color:#fff!important;text-shadow:0 1px 6px #263f4c;background:linear-gradient(transparent 75%,#263f4c55)!important;font-size:12px!important}
.frh-instagram .ti-widget-footer{margin:16px auto 0!important;text-align:center!important}
/* Curved section transitions share the soft palette of the trimming page. */
.frh-services::before,.frh-instagram::before,.frh-reviews::before,.frh-calendar::before,.frh-access::before{content:"";position:absolute;top:-55px;left:0;width:100%;height:56px;background:inherit;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 100' preserveAspectRatio='none'%3E%3Cpath fill='white' d='M0 38C220 105 390 0 650 40S1110 100 1440 28V100H0Z'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat;pointer-events:none}
.frh-instagram::before,.frh-calendar::before{transform:scaleX(-1)}
.frh-reveal{transition:opacity .8s ease,translate .8s cubic-bezier(.2,.65,.3,1)}
.frh-reveal:not(.is-revealed){opacity:0;translate:0 22px}
/* Preserve actual scores, authors, text, Google attribution and native read-more behavior. */
body.fr-home .migration-trustindex[data-feed-kind="reviews"] .ti-widget{font-family:inherit!important;margin:0!important}
body.fr-home .migration-trustindex[data-feed-kind="reviews"] .ti-widget-header{background:transparent!important;box-shadow:none!important;border:0!important;padding:0 0 28px!important;margin:0!important}
body.fr-home .migration-trustindex[data-feed-kind="reviews"] .ti-widget-header-tick,body.fr-home .migration-trustindex[data-feed-kind="reviews"] .ti-rating-text{display:none!important}
body.fr-home .migration-trustindex[data-feed-kind="reviews"] .ti-header-content{display:flex!important;flex-direction:row!important;align-items:center!important;flex-wrap:wrap!important;gap:16px 24px!important;justify-content:flex-start!important}
body.fr-home .migration-trustindex[data-feed-kind="reviews"] .ti-header-logo{margin:0!important}
body.fr-home .migration-trustindex[data-feed-kind="reviews"] .ti-header-logo img{width:90px!important;height:auto!important}
body.fr-home .migration-trustindex[data-feed-kind="reviews"] .ti-header-rating-text{display:flex!important;align-items:center!important;gap:10px!important;margin:0!important}
body.fr-home .migration-trustindex[data-feed-kind="reviews"] .ti-header-rating-text.ti-mobile{display:none!important}
body.fr-home .migration-trustindex[data-feed-kind="reviews"] .ti-header-rating{font-size:30px!important;color:#1f506f!important;font-weight:500!important;order:-1!important}
body.fr-home .migration-trustindex[data-feed-kind="reviews"] .ti-header-rating-reviews{font-size:13px!important;color:#566976!important;margin:0!important}
body.fr-home .migration-trustindex[data-feed-kind="reviews"] .ti-header-write-btn-container{margin:0 0 0 auto!important}
body.fr-home .migration-trustindex[data-feed-kind="reviews"] .ti-header-write-btn{background:transparent!important;color:#2d6f98!important;border:1px solid #2d6f98!important;border-radius:99px!important;font-size:13px!important;padding:11px 22px!important;box-shadow:none!important}
body.fr-home .migration-trustindex[data-feed-kind="reviews"] .ti-reviews-container-wrapper{gap:20px!important}
body.fr-home .migration-trustindex[data-feed-kind="reviews"] .ti-review-item{padding:10px!important}
body.fr-home .migration-trustindex[data-feed-kind="reviews"] .ti-review-item>.ti-inner{border:1px solid #dce5e8!important;background:#fffefa!important;border-radius:16px!important;padding:26px!important;box-shadow:none!important}
body.fr-home .migration-trustindex[data-feed-kind="reviews"] .ti-review-text-container{color:#263f4c!important;font-size:14px!important;line-height:1.95!important;background:none!important;border:0!important;padding:0!important}
body.fr-home .migration-trustindex[data-feed-kind="reviews"] .ti-name{color:#263f4c!important;font-size:14px!important}
body.fr-home .migration-trustindex[data-feed-kind="reviews"] .ti-date{color:#566976!important;font-size:11px!important}
body.fr-home .migration-trustindex[data-feed-kind="reviews"] .ti-read-more{color:#2d6f98!important;font-size:12px!important;text-underline-offset:3px}
@media(max-width:799px){
 .fr-home #header .l-header__inner{min-height:72px;padding:14px 22px;gap:16px}
 .fr-home #header .c-headLogo{width:150px}
 .fr-home #header .l-header__customBtn,.fr-home #header .l-header__menuBtn{height:72px}
 .fr-home #footer{padding-bottom:90px}
 .fr-home #main_visual{height:clamp(610px,calc(100svh - 101px),850px)!important}
 .fr-home .frh-hero-frame img{width:100%;height:100%;object-position:50% 50%;transform-origin:50% 45%}
 .fr-home #main_visual::before{background:linear-gradient(0deg,rgba(8,40,51,.83),rgba(8,40,51,.56) 22%,rgba(8,40,51,0) 57%)}
 .fr-home .frh-hero-copy{justify-content:flex-end;padding:40px 24px 122px}
 .fr-home #main_visual .p-mainVisual__slideTitle{font-size:clamp(23px,6.5vw,40px)!important;line-height:1.8;margin-bottom:18px;letter-spacing:.015em}
 .fr-home #main_visual .p-mainVisual__slideText{font-size:12px!important;letter-spacing:.035em}
 .fr-home #main_visual .p-mainVisual__scroll{left:24px;bottom:76px}
 .fr-home #main_visual::after{height:45px}
 .frh-hero-controls{right:16px;bottom:62px;gap:0}
 .frh-photo-dot{width:27px}
 .frh-motion-toggle{width:36px;height:36px;margin-left:8px}
 .frh-layout .frh-section{padding:76px 24px}
 .frh-layout h2{font-size:26px}
 .frh-layout .frh-news{padding-top:28px;padding-bottom:28px}
 .frh-news>.swell-block-fullWide>.swell-block-fullWide__inner{grid-template-columns:1fr;gap:12px}
 .frh-news h2{font-size:18px}
 .frh-news .p-postList__title{font-size:14px}
 .frh-layout .frh-story{grid-template-columns:1fr;gap:36px}
 .frh-story p{font-size:15px;line-height:2.05}
 .frh-services .wp-block-columns{grid-template-columns:1fr;gap:36px}
 .frh-services .c-bannerLink{aspect-ratio:4/5;border-radius:42% 42% 22px 22px}
 .frh-services .c-bannerLink__text{padding:28px 22px;grid-template-columns:1fr;gap:10px}
 .frh-services .frh-service-name{font-size:27px}
 .frh-services .c-bannerLink__description{font-size:15px}
 .frh-services .frh-service-cta{grid-row:3;grid-column:1;justify-self:start;margin-top:4px}
 .frh-layout .frh-instagram{padding:76px 0 72px}
 .frh-instagram .ti-header{margin-bottom:24px!important}
 .frh-instagram .ti-widget-header{flex-direction:column!important;align-items:center!important}
 .frh-instagram .ti-username{font-size:26px!important}
 .frh-instagram .ti-full-name{font-size:12px!important}
 .frh-instagram .ti-widget-layout{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
 .frh-instagram .ti-widget-layout.frh-feed-rows{gap:14px!important}
 .frh-instagram .frh-feed-group{gap:14px;padding-right:14px!important}
 .fr-home .frh-instagram .frh-feed-group>.ti-layout-item{flex-basis:230px!important;width:230px!important;min-width:230px!important}
 body.fr-home .frh-instagram .frh-feed-follow{margin-top:24px!important;gap:12px!important}
 .frh-instagram .ti-header-btn a.ti-btn{min-height:46px;padding:10px 28px!important;font-size:13px!important}
 .fr-home .line-floating-button{right:14px!important;bottom:16px!important}
 .fr-home .line-floating-button a{height:60px!important;padding-right:18px!important;gap:7px!important}
 .fr-home .line-floating-button .line-icon{width:42px!important;height:42px!important}
 .fr-home .line-floating-button span{font-size:14px!important}
 .frh-services::before,.frh-instagram::before,.frh-reviews::before,.frh-calendar::before,.frh-access::before{top:-33px;height:34px}
 .frh-layout .frh-reviews{padding:58px 14px 80px}
 body.fr-home .migration-trustindex[data-feed-kind="reviews"] .ti-header-content{gap:14px!important;padding:0 10px!important}
 body.fr-home .migration-trustindex[data-feed-kind="reviews"] .ti-header-rating-text{flex-wrap:wrap!important;gap:7px!important}
 body.fr-home .migration-trustindex[data-feed-kind="reviews"] .ti-header-rating{font-size:27px!important}
 body.fr-home .migration-trustindex[data-feed-kind="reviews"] .ti-header-write-btn-container{flex-basis:100%;margin:0!important;text-align:left!important}
 body.fr-home .migration-trustindex[data-feed-kind="reviews"] .ti-review-item>.ti-inner{padding:22px!important}
 .frh-calendar iframe{height:560px}
 .frh-layout .frh-access{grid-template-columns:1fr;gap:20px}
 .frh-access iframe{height:340px}
 .frh-layout .frh-registration{padding-top:0;padding-bottom:28px}
}
@media(prefers-reduced-motion:reduce){.fr-home #main_visual *,.frh-layout *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.frh-reveal{opacity:1!important;translate:none!important}.fr-home .frh-hero-frame img{transform:none!important}}

/* Keep the current GBP cover dog above the service banner text. */
.frh-services .c-bannerLink__img.frh-cover-photo{transform:scale(1.45) translateY(-14%)}
.frh-services .c-bannerLink:hover .c-bannerLink__img.frh-cover-photo{transform:scale(1.49) translateY(-14%)}

/* Useful details and reading, using FREESIA's existing published copy. */
.frh-layout .frh-quality{background:var(--fh-paper);padding-top:32px}
.frh-content-inner{min-width:0}
.frh-layout .frh-eyebrow{font-family:Arial,sans-serif;font-size:11px;letter-spacing:.2em;color:var(--fh-blue);margin:0 0 14px}
.frh-quality h2 span{display:inline-block}
.frh-quality-grid,.frh-column-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.frh-quality-card{position:relative;padding:32px 0 20px;border-top:1px solid var(--fh-line)}
.frh-card-number{display:block;font-family:Georgia,serif;font-size:30px;line-height:1.2;color:var(--fh-blue);margin-bottom:20px}
.frh-layout .frh-quality-card h3,.frh-layout .frh-column-card h3{border:0;background:none;box-shadow:none;padding:0;margin:0 0 18px;color:var(--fh-ink);font-size:20px;line-height:1.8}
.frh-quality-card h3::before,.frh-quality-card h3::after,.frh-column-card h3::before,.frh-column-card h3::after{content:none!important}
.frh-quality-card p{font-size:15px;line-height:2.05;margin:0 0 12px}
.frh-quality-card p.frh-note{font-size:12px;line-height:1.9}
.frh-layout .frh-text-link{display:inline-flex;align-items:center;gap:18px;padding:9px 0;border-bottom:1px solid var(--fh-line);text-decoration:none;font-size:14px;line-height:1.8;color:var(--fh-blue)}
.frh-quality .frh-text-link{margin-top:16px}
.frh-layout .frh-columns{background:#fffefa}
.frh-column-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:32px}
.frh-column-heading h2{margin-bottom:0!important}
.frh-column-card{min-width:0}
.frh-column-card>a{position:relative;display:block;height:100%;padding-bottom:42px;text-decoration:none;color:inherit}
.frh-column-photo{overflow:hidden;border-radius:18px;aspect-ratio:4/3;margin-bottom:24px;background:var(--fh-paper)}
.frh-column-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.frh-column-card a:hover img{transform:scale(1.035)}
.frh-layout .frh-column-card h3{font-size:17px;font-family:var(--fr-font-body)!important;font-weight:500!important;line-height:1.9;margin-bottom:0;overflow-wrap:anywhere}
.frh-column-arrow{position:absolute;bottom:0;right:0;display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--fh-line);border-radius:50%;color:var(--fh-blue)}
@media(max-width:799px){
 .frh-layout .frh-quality{padding-top:12px}
 .frh-quality-grid,.frh-column-grid{grid-template-columns:1fr;gap:24px}
 .frh-quality-card{padding:24px 0 0}
 .frh-card-number{font-size:26px;margin-bottom:12px}
 .frh-layout .frh-quality-card h3{font-size:21px;margin-bottom:12px}
 .frh-quality-card p{font-size:15px}
 .frh-column-heading{gap:12px;margin-bottom:26px}
 .frh-column-heading .frh-text-link{font-size:13px;gap:10px;white-space:nowrap}
 .frh-column-grid{gap:40px}
 .frh-column-photo{aspect-ratio:3/2;margin-bottom:18px}
}
@media(prefers-reduced-motion:reduce){.frh-column-photo img{transition:none}.frh-column-card a:hover img{transform:none}}

.frh-quality-links{display:flex;flex-wrap:wrap;gap:12px 32px}
