.ff-fullhero {
	position:relative;
	min-height:min(700px,calc(100svh - 132px));
	min-height:max(560px,min(760px,calc(100svh - 132px)));
	overflow:hidden;
	background:#d8d2c8;
	color:var(--ff-ink)
}

.ff-fullhero__images,.ff-fullhero__slide {
	position:absolute;
	inset:0
}
.ff-fullhero__slide[hidden],[data-hero-copy][hidden] {
	display:none
}
.ff-fullhero__slide img {
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center 44%
}
.ff-fullhero__slide:after {
	content:"";
	position:absolute;
	inset:0;
	background:linear-gradient(90deg,rgba(250,247,240,.92) 0%,rgba(250,247,240,.78) 35%,rgba(250,247,240,.1) 66%,transparent 100%)
}
.ff-fullhero__inner {
	position:relative;
	z-index:1;
	display:flex;
	align-items:center;
	min-height:inherit;
	width:min(1400px,calc(100% - 9%));
	margin:auto;
	padding:64px 0 88px
}
.ff-fullhero__copy {
	max-width:620px
}
.ff-fullhero__copy .ff-eyebrow {
	color:#49351b
}
.ff-fullhero__copy h1,.ff-fullhero__copy h2 {
	margin:16px 0 18px;
	color:var(--ff-navy);
	font-size:clamp(3rem,6.2vw,5.8rem);
	line-height:1.02
}
.ff-fullhero__copy>p:not(.ff-eyebrow) {
	max-width:34rem;
	color:var(--ff-ink);
	font-size:1.1rem
}
.ff-hero__actions {
	display:flex;
	align-items:center;
	gap:26px;
	margin-top:30px
}
.ff-fullhero__bottom {
	position:absolute;
	z-index:2;
	left:4.5%;
	right:4.5%;
	bottom:22px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	color:var(--ff-navy);
	font-size:.75rem;
	letter-spacing:.1em;
	text-transform:uppercase
}
.ff-fullhero__controls {
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-end;
	max-width:302px;
	gap:8px
}
.ff-fullhero__controls button {
	width:54px;
	height:44px;
	position:relative;
	padding:0;
	border:0;
	background:transparent;
	color:inherit;
	cursor:pointer;
	touch-action:manipulation
}
.ff-fullhero__controls button:before {
	content:"";
	position:absolute;
	left:0;
	right:0;
	top:50%;
	border-top:1px solid currentColor;
	transform:translateY(-50%);
	transition:border-color .16s ease,border-width .16s ease
}
.ff-fullhero__controls button[aria-pressed="true"]:before {
	border-top-width:2px
}
.ff-fullhero__controls button:hover {
	color:inherit
}
.ff-fullhero__controls button:focus-visible {
	color:inherit;
	outline:2px solid currentColor;
	outline-offset:3px
}
.ff-fullhero__controls button:hover:before {
	border-top-width:2px
}
.ff-home [hidden] {
	display:none !important
}
.ff-home>.ff-rule {
	width:100%;
	padding-inline:max(24px,calc((100% - 1240px)/2))
}
@media(max-width:640px) {
	.ff-home>.ff-rule {
		padding-inline:20px
	}
}
.ff-diamond-switch {
	display:flex;
	gap:30px;
	border-bottom:1px solid var(--ff-line);
	margin:0 0 24px
}
.ff-diamond-switch button {
	min-height:44px;
	padding:0 0 8px;
	border:0;
	border-bottom:2px solid transparent;
	background:none;
	color:var(--ff-muted);
	font:inherit;
	cursor:pointer
}
.ff-diamond-switch button[aria-pressed="true"] {
	border-bottom-color:var(--ff-navy);
	color:var(--ff-navy)
}
.ff-shape-grid {
	display:grid;
	grid-template-columns:repeat(6,minmax(0,1fr));
	gap:10px 12px
}
.ff-shape-grid[hidden],.ff-fancy-grid [hidden] {
	display:none
}
.ff-shape-choice {
	display:flex;
	height:160px;
	min-height:160px;
	flex-direction:column;
	align-items:center;
	justify-content:flex-start;
	gap:8px;
	padding:12px 3px 8px;
	border:0;
	border-bottom:2px solid transparent;
	color:var(--ff-navy);
	text-align:center
}
.ff-shape-choice__label {
	min-height:2.5em;
	line-height:1.25
}
.ff-shape-choice:hover {
	background:#f1eee6
}
.ff-shape-choice small {
	color:var(--ff-muted);
	font-size:.7rem
}
.ff-shape-choice__gem {
	width:96px;
	height:96px;
	display:block;
	color:var(--ff-navy)
}
.ff-shape-choice__gem svg {
	width:100%;
	height:100%;
	fill:none;
	stroke:currentColor;
	stroke-width:1.15;
	stroke-linecap:round;
	stroke-linejoin:round
}
.ff-shape-choice__gem--sprite {
	width:96px;
	height:96px;
	background-image:var(--ff-shape-guide-image);
	background-position:var(--ff-shape-guide-x,0%) var(--ff-shape-guide-y,0%);
	background-repeat:no-repeat;
	background-size:var(--ff-shape-guide-size,contain)
}
.ff-shape-choice__gem--photo {
	width:96px;
	height:96px;
	display:flex;
	align-items:center;
	justify-content:center
}
.ff-shape-choice__gem--photo img {
	display:block;
	width:100%;
	height:100%;
	object-fit:contain
}
.ff-color-panel[hidden] {
	display:none
}
.ff-fancy-filters {
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	margin:2px 0 18px
}
.ff-fancy-filters button {
	min-height:44px;
	padding:6px 12px;
	border:1px solid var(--ff-line);
	border-radius:99px;
	background:transparent;
	color:var(--ff-ink);
	font:inherit;
	font-size:.8rem;
	cursor:pointer
}
.ff-fancy-filters button[aria-pressed="true"] {
	border-color:var(--ff-navy);
	background:var(--ff-navy);
	color:#fff
}
.ff-fancy-grid {
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:0 24px
}
.ff-fancy-choice {
	display:grid;
	grid-template-columns:80px minmax(0,1fr);
	align-items:center;
	gap:2px 14px;
	padding:15px 0;
	border-bottom:1px solid var(--ff-line)
}
.ff-fancy-stone {
	display:block;
	width:80px;
	max-width:100%;
	aspect-ratio:1/1;
	background-position:var(--fancy-stone-x,0%) var(--fancy-stone-y,0%);
	background-repeat:no-repeat;
	background-size:var(--fancy-stone-size,400% 300%)
}
.ff-fancy-stone--sprite {
	background-image:var(--fancy-stone-image)
}
.ff-fancy-stone--fallback svg {
	width:100%;
	height:100%;
	fill:var(--swatch);
	fill-opacity:.2;
	stroke:var(--swatch);
	stroke-width:1.25;
	stroke-linejoin:round
}
.ff-fancy-choice .ff-fancy-stone {
	grid-row:span 2
}
.ff-fancy-choice__name {
	color:var(--ff-navy);
	font-family:var(--ff-serif);
	font-size:1.08rem
}
.ff-fancy-choice__hint {
	color:var(--ff-muted);
	font-size:.75rem
}
.ff-fancy-filters { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px 12px; margin:2px 0 22px; }
.ff-fancy-filters button.ff-fancy-family-tab { display:flex; min-width:0; height:160px; min-height:160px; flex-direction:column; align-items:center; justify-content:flex-start; gap:8px; padding:12px 3px 8px; border:0; border-bottom:2px solid transparent; border-radius:0; background:transparent; color:var(--ff-muted); font-size:.8rem; }
.ff-fancy-filters button.ff-fancy-family-tab[aria-pressed="true"] { border-color:var(--ff-navy); background:transparent; color:var(--ff-navy); }
.ff-fancy-family-tab__image { display:block; width:96px; height:96px; }
.ff-discovery-entry-label { display:block; min-height:2.5em; font-size:.8rem; line-height:1.25; }
.ff-fancy-family-tab__image .ff-fancy-stone { width:100%; height:100%; }
.ff-fancy-family-tab__image .ff-fancy-stone--fallback span { display:flex; height:100%; align-items:center; justify-content:center; color:var(--ff-muted); font-size:.58rem; text-align:center; }
.ff-fancy-family-tab[data-ff-fancy-family="pink"] .ff-fancy-stone--sprite { background-size:101.538% 101.538%; background-position:234.21% 223.68%; }
.ff-fancy-family-tab[data-ff-fancy-family="yellow"] .ff-fancy-stone--sprite { background-size:101.744% 101.744%; background-position:-98.84% 203.49%; }
.ff-fancy-family-tab[data-ff-fancy-family="blue"] .ff-fancy-stone--sprite { background-size:101.333% 101.333%; background-position:268.18% -162.12%; }
.ff-fancy-family-tab[data-ff-fancy-family="green"] .ff-fancy-stone--sprite { background-size:101.538% 101.538%; background-position:-123.68% -134.21%; }
.ff-fancy-family-tab[data-ff-fancy-family="orange"] .ff-fancy-stone--sprite { background-size:106.497% 106.497%; background-position:50% 43.46%; }
.ff-fancy-family-tab[data-ff-fancy-family="red"] .ff-fancy-stone--sprite { background-size:94.642% 94.642%; background-position:50% 55.63%; }
.ff-fancy-family-tab[data-ff-fancy-family="purple"] .ff-fancy-stone--sprite { background-size:100.220% 100.220%; background-position:68.18% 68.18%; }
.ff-fancy-family-tab[data-ff-fancy-family="violet"] .ff-fancy-stone--sprite { background-size:101.951% 101.951%; background-position:50% 47.92%; }
.ff-fancy-family-tab[data-ff-fancy-family="brown"] .ff-fancy-stone--sprite { background-size:108.454% 108.454%; background-position:49.49% 51.02%; }
.ff-fancy-family-tab[data-ff-fancy-family="gray"] .ff-fancy-stone--sprite { background-size:106.384% 106.384%; background-position:50.66% 43.36%; }
.ff-fancy-family-tab[data-ff-fancy-family="black"] .ff-fancy-stone--sprite { background-size:106.159% 106.159%; background-position:50.69% 41.07%; }
.ff-fancy-family-tab[data-ff-fancy-family="white"] .ff-fancy-stone--sprite { background-size:106.271% 106.271%; background-position:50% 41.89%; }
.ff-fancy-family-panels { margin-top:4px; }
.ff-fancy-family-panel[hidden] { display:none!important; }
.ff-fancy-family-groups { display:grid; gap:22px; }
.ff-fancy-family-group h4 { margin:0 0 4px; color:var(--ff-muted); font-size:.75rem; font-weight:500; letter-spacing:.1em; text-transform:uppercase; }
.ff-fancy-family-group--deep { padding-top:12px; border-top:1px solid var(--ff-line); }
.ff-fancy-intensity-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px 20px; }
.ff-fancy-intensity { display:flex; min-width:0; flex-direction:column; gap:4px; padding:12px 0; border-top:1px solid var(--ff-line); color:var(--ff-ink); }
.ff-fancy-intensity:hover strong,.ff-fancy-intensity:focus-visible strong { text-decoration:underline; text-underline-offset:3px; }
.ff-fancy-intensity:focus-visible { outline:2px solid var(--ff-focus); outline-offset:3px; }
.ff-fancy-intensity strong { color:var(--ff-navy); font-family:var(--ff-serif); font-size:1.05rem; font-weight:400; }
.ff-fancy-intensity strong::after { content:"→"; margin-left:.35em; font-family:var(--ff-sans); font-size:.78em; }
.ff-fancy-family-empty { max-width:42rem; padding:18px 0 0; border-top:1px solid var(--ff-line); }
.ff-fancy-family-empty p { margin:0 0 10px; color:var(--ff-muted); }
.ff-fancy-family-empty .ff-text-link { color:var(--ff-navy); }
.ff-guide-disclosure { margin-top:18px; color:var(--ff-muted); font-size:.78rem; }
.ff-guide-disclosure summary { width:max-content; max-width:100%; color:var(--ff-muted); cursor:pointer; }
.ff-guide-disclosure p { max-width:42rem; margin:8px 0 0; }
.ff-jewelry-disclosure { margin-top:16px; }
.ff-home-services,.ff-editorial-band {
	padding:74px max(24px,calc((100% - 1240px)/2))}
.ff-add-jewelry {
	max-width:1160px;
	padding:64px 0;
	background:transparent
}
.ff-jewelry-grid {
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:28px 20px
}
@media(max-width:1000px) {
	.ff-jewelry-grid {
		grid-template-columns:repeat(3,minmax(0,1fr))
	}
}
.ff-add-category {
	display:block;
	width:100%;
	padding:0;
	border:0;
	background:transparent;
	color:var(--ff-navy);
	text-align:left;
	font:inherit
}
.ff-add-category__image {
	display:block;
	width:100%;
	aspect-ratio:4/3;
	margin-bottom:12px;
	background-color:#ece9e1;
	background-image:url("../images/collections-concept.jpg");
	background-repeat:no-repeat;
	background-size:300% 200%;
	transition:filter 160ms ease
}
.ff-add-category:hover .ff-add-category__image,.ff-add-category:focus-visible .ff-add-category__image {
	filter:brightness(.96)
}
.ff-add-category:focus-visible {
	outline:2px solid var(--ff-focus);
	outline-offset:5px
}
.ff-add-category__image--rings {
	background-position:0 0
}
.ff-add-category__image--necklaces {
	background-position:50% 0
}
.ff-add-category__image--bracelets {
	background-position:100% 0
}
.ff-add-category__image--earrings {
	background-position:0 100%
}
.ff-add-category__image--mens-rings {
	background-position:50% 100%
}
.ff-add-category__image--baby-rings {
	background-position:100% 100%
}
.ff-add-category__name {
	display:inline-flex;
	align-items:center;
	min-height:34px;
	font-family:var(--ff-serif);
	font-size:1.25rem;
	line-height:1.3
}
.ff-add-category__name span {
	margin-left:auto;
	color:var(--ff-gold-text)
}
.ff-concept-note,.ff-detail-note,.ff-policy-status {
	color:var(--ff-muted);
	font-size:.78rem
}
.ff-concept-note {
	margin-top:18px
}
.ff-home-services {
	width:100%}
.ff-home-services>.ff-section__intro {
	max-width:1240px;
	margin:0 auto 36px
}
.ff-home-services>.ff-services {
	max-width:1240px;
	margin:0 auto
}
.ff-service h3 {
	margin:8px 0
}
.ff-service>p:last-child {
	color:var(--ff-muted)
}
.ff-service__photo span {
	top:12px;
	bottom:auto;
	padding:4px 8px;
	background:rgba(250,247,240,.8);
	font-size:.7rem
}
.ff-editorial-band {
	background:var(--ff-navy);
	color:#fff
}
.ff-editorial-band>.ff-eyebrow,.ff-editorial-band h2,.ff-editorial-band h3 {
	color:#fff
}
.ff-editorial-band h2 {
	max-width:650px
}
.ff-editorial-band ol {
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:26px;
	margin:40px 0;
	padding:0;
	list-style:none
}
.ff-editorial-band li {
	display:flex;
	gap:13px;
	border-top:1px solid rgba(255,255,255,.35);
	padding-top:14px
}
.ff-editorial-band li>span {
	color:#d9c28e;
	font-size:.75rem
}
.ff-editorial-band h3 {
	font-size:1.2rem
}
.ff-editorial-band li p {
	margin-top:8px;
	color:rgba(255,255,255,.75);
	font-size:.85rem
}
.ff-home-editorial-links {
	padding-top:54px;
	padding-bottom:54px
}
.ff-editorial-link-grid {
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:24px
}
.ff-editorial-link-grid>a,.ff-editorial-link-grid>article {
	display:block;
	padding-top:16px;
	border-top:1px solid var(--ff-line)
}
.ff-editorial-link-grid span {
	color:var(--ff-gold-text);
	font-size:.75rem
}
.ff-editorial-link-grid h3 {
	margin:10px 0;
	font-size:1.35rem
}
.ff-editorial-link-grid p {
	color:var(--ff-muted);
	font-size:.88rem
}
.ff-home-stories {
	padding-top:38px;
	padding-bottom:40px
}
.ff-home-video {
	display:flex;
	align-items:center;
	min-height:250px;
	padding:45px max(24px,calc((100% - 1240px)/2));
	background:#ece8de
}
.ff-home-video h2 {
	margin:8px 0
}
.ff-home-video p {
	color:var(--ff-muted)
}
.ff-media-pending {
	display:inline-block;
	margin-top:12px;
	color:var(--ff-muted);
	font-size:.86rem
}
.ff-detail-page {
	width:min(1120px,calc(100% - 48px));
	margin:0 auto;
	padding:52px 0 88px
}
.ff-detail-page>.ff-eyebrow {
	margin:18px 0 12px
}
.ff-detail-page>h1 {
	margin-bottom:26px
}
.ff-detail-split {
	display:grid;
	grid-template-columns:1.08fr .92fr;
	gap:clamp(32px,6vw,82px);
	align-items:center;
	margin:34px 0 72px
}
.ff-detail-split h2 {
	margin:10px 0 16px
}
.ff-detail-split p {
	margin:0 0 18px;
	color:var(--ff-muted)
}
.ff-detail-art,.ff-fancy-feature {
	position:relative;
	display:flex;
	align-items:end;
	justify-content:flex-start;
	min-height:400px;
	padding:18px;
	background:linear-gradient(140deg,#e6e1d7,#cbc4b8);
	overflow:hidden
}
.ff-detail-art:before {
	display:none
}
.ff-detail-art--custom {
	padding:0;
	min-height:0;
	aspect-ratio:3/4;
	background:none
}
.ff-detail-art--custom img {
	display:block;
	width:100%;
	height:100%;
	object-fit:cover
}
.ff-detail-art--rings,.ff-detail-art--necklaces,.ff-detail-art--bracelets,.ff-detail-art--earrings,.ff-detail-art--mens-rings,.ff-detail-art--baby-rings {
	aspect-ratio:1.2;
	background-image:url("../images/collections-concept.jpg");
	background-size:300% 200%;
	background-repeat:no-repeat
}
.ff-detail-art--rings {
	background-position:0 0
}
.ff-detail-art--necklaces {
	background-position:50% 0
}
.ff-detail-art--bracelets {
	background-position:100% 0
}
.ff-detail-art--earrings {
	background-position:0 100%
}
.ff-detail-art--mens-rings {
	background-position:50% 100%
}
.ff-detail-art--baby-rings {
	background-position:100% 100%
}
.ff-detail-art--bespoke {
	background-image:url("../images/service-bespoke.jpg");
	background-size:cover;
	background-position:center
}
.ff-detail-art>span,.ff-fancy-feature>p {
	position:relative;
	padding:3px 7px;
	background:rgba(250,247,240,.82);
	color:var(--ff-navy);
	font-size:.72rem
}
.ff-fancy-feature {
	align-items:center;
	justify-content:center;
	flex-direction:column;
	gap:18px
}
.ff-detail-note {
	margin:18px 0 22px!important
}
.ff-detail-bottom {
	padding-top:34px;
	border-top:1px solid var(--ff-line)
}
.ff-detail-bottom h2 {
	margin:8px 0 28px
}
.ff-preference {
	padding:13px 16px;
	border-left:2px solid var(--ff-gold);
	background:#f2eee6;
	color:var(--ff-navy)!important;
	font-size:.9rem
}
.ff-bespoke-page .ff-bespoke-layout {
	align-items:start;
	margin-top:28px
}
.ff-bespoke__intro,.ff-bespoke__form {
	min-width:0
}
.ff-bespoke__intro h1 {
	margin:10px 0 18px;
	color:var(--ff-navy);
	font-size:clamp(2.4rem,5vw,4.3rem);
	line-height:1.06
}
.ff-bespoke__intro>p:not(.ff-eyebrow) {
	max-width:34rem;
	color:var(--ff-muted);
	line-height:1.7
}
.ff-bespoke__intro .ff-detail-art {
	min-height:0;
	aspect-ratio:1.4;
	margin:28px 0 0
}
.ff-bespoke__form .ff-enquire__panel {
	margin-top:0
}
.ff-bespoke__form .ff-preference {
	margin:0 0 18px
}
.ff-policy-status {
	margin:24px 0 38px;
	padding:14px 18px;
	background:#f0ede6
}
.ff-care-intro {
	display:grid;
	grid-template-columns:1fr 1fr;
	align-items:end;
	gap:32px
}
.ff-care-intro p {
	max-width:30rem;
	color:var(--ff-muted);
	font-size:1.1rem
}
.ff-care-row {
	display:grid;
	grid-template-columns:70px 1fr;
	gap:24px;
	padding:26px 0;
	border-top:1px solid var(--ff-line)
}
.ff-care-row h2 {
	margin-bottom:8px
}
.ff-inside-lead {
	max-width:650px;
	margin:18px 0 48px;
	color:var(--ff-muted);
	font-size:1.1rem
}
.ff-inside-row {
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:clamp(28px,6vw,76px);
	align-items:center;
	padding:38px 0;
	border-top:1px solid var(--ff-line)
}
.ff-inside-row:nth-of-type(even) .ff-inside-photo {
	order:2
}
.ff-inside-row h2 {
	margin:12px 0
}
.ff-inside-row p:not(.ff-eyebrow) {
	color:var(--ff-muted)
}
.ff-inside-photo {
	margin:0
}
.ff-photo-pending {
	display:flex;
	min-height:320px;
	align-items:center;
	justify-content:center;
	flex-direction:column;
	gap:12px;
	border:1px solid var(--ff-line);
	background:#f1eee7;
	color:var(--ff-navy)
}
.ff-photo-pending span {
	font-family:var(--ff-serif);
	font-size:1.8rem;
	letter-spacing:.1em
}
.ff-photo-pending p {
	color:var(--ff-muted);
	font-size:.8rem
}
.ff-faq-list {
	margin:38px 0 50px;
	border-top:1px solid var(--ff-line)
}
.ff-faq-list details {
	border-bottom:1px solid var(--ff-line)
}
.ff-faq-list summary {
	padding:18px 4px;
	color:var(--ff-navy);
	font-family:var(--ff-serif);
	font-size:1.25rem;
	cursor:pointer
}
.ff-faq-list details p {
	max-width:700px;
	padding:0 4px 20px;
	color:var(--ff-muted)
}
.ff-video-slot {
	padding:28px 0;
	margin:30px 0;
	border-block:1px solid var(--ff-line)
}
.ff-video-slot h2 {
	margin:8px 0
}
.ff-video-slot .ff-detail-note {
	display:block
}
.ff-social-links {
	display:flex;
	gap:24px;
	margin:30px 0 46px
}
.ff-social-links a {
	color:var(--ff-navy);
	text-decoration:underline;
	text-underline-offset:4px
}
.ff-stories-empty {
	display:flex;
	min-height:270px;
	align-items:center;
	justify-content:center;
	flex-direction:column;
	gap:18px;
	margin:28px 0;
	background:#f0ede6;
	text-align:center
}
.ff-stories-empty>span {
	font-family:var(--ff-serif);
	color:var(--ff-gold-text);
	letter-spacing:.1em
}
.ff-stories-empty p {
	max-width:35rem;
	color:var(--ff-muted)
}
.ff-newsletter-reopen {
	position:static;
	display:block;
	width:fit-content;
	min-height:44px;
	margin:20px auto 28px;
	padding:10px 15px;
	border:1px solid var(--ff-navy);
	background:var(--ff-ivory);
	color:var(--ff-navy);
	font:inherit;
	font-size:.8rem;
	cursor:pointer
}
.ff-newsletter {
	width:min(520px,calc(100% - 32px));
	max-width:none;
	padding:42px;
	border:0;
	background:var(--ff-ivory);
	color:var(--ff-ink)
}
.ff-newsletter::backdrop {
	background:rgba(17,28,42,.55)
}
.ff-newsletter h2 {
	margin:10px 32px 12px 0
}
.ff-newsletter>p:not(.ff-eyebrow) {
	margin-bottom:18px;
	color:var(--ff-muted)
}
.ff-newsletter__close {
	position:absolute;
	right:14px;
	top:10px;
	border:0;
	background:none;
	color:var(--ff-navy);
	font-size:1.8rem;
	cursor:pointer
}
.ff-newsletter form label {
	display:block
}
.ff-newsletter form input[type=email] {
	width:100%;
	min-height:48px;
	margin:6px 0 14px;
	padding:10px;
	border:1px solid var(--ff-line);
	background:#fff
}
.ff-footer__social {
	display:flex;
	gap:14px
}

/* Keep the discovery-to-listings transition as compact as the approved layout. */
.ff-find {
	padding-bottom:24px
}
.ff-find .ff-section__intro {
	margin-bottom:24px
}
.ff-find .ff-section__intro--single {
	grid-template-columns:1fr;
	margin-bottom:20px
}
.ff-section__intro--single { grid-template-columns:1fr; }
.ff-find .ff-diamond-switch {
	margin-bottom:16px
}
.ff-shape-choice {
	height:160px;
	min-height:160px
}
.ff-home-stones {
	padding-top:40px
}
.ff-newsletter__account {
	margin:20px 0 0;
	font-size:.84rem
}
.ff-newsletter__account a {
	display:inline-flex;
	align-items:center;
	min-height:44px;
	color:var(--ff-navy);
	text-decoration:underline;
	text-underline-offset:3px
}
.ff-fancy-listings {
	margin-top:52px
}
.ff-fancy-listings>.ff-catalog {
	margin-top:22px
}

@media(max-width:900px) {
	.ff-fullhero {
		min-height:590px
	}
.ff-fullhero__slide:after {
		background:linear-gradient(90deg,rgba(250,247,240,.9),rgba(250,247,240,.64) 52%,rgba(250,247,240,.02))
	}
	.ff-shape-grid {
		grid-template-columns:repeat(6,minmax(0,1fr))
	}
.ff-fancy-grid {
		grid-template-columns:repeat(2,minmax(0,1fr))
	}
.ff-editorial-band ol {
		grid-template-columns:repeat(2,minmax(0,1fr))
	}
.ff-detail-split {
		grid-template-columns:1fr 1fr
	}
.ff-detail-art,.ff-fancy-feature {
		min-height:320px
	}
}

@media(max-width:640px) {
	.ff-fancy-intensity-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px 14px; }
	.ff-fancy-intensity { padding:10px 0; }
	.ff-fancy-intensity strong { font-size:.96rem; }
	.ff-header__inner {
		gap:8px
	}
	.ff-brand img {
		width:min(220px,47vw)
	}
	.ff-header__actions {
		gap:2px
	}
	.ff-header__account {
		min-width:44px;
	max-width:25vw;
	overflow:hidden;
		padding:8px 4px;
		font-size:.8rem;
	text-overflow:ellipsis;
		white-space:nowrap
	}
	.ff-nav-toggle {
		min-width:44px;
		min-height:44px;
		padding:8px
	}
	.ff-fullhero {
		min-height:690px;
		min-height:calc(100svh - 96px)
	}
.ff-fullhero__slide img {
		object-position:62% center
	}
.ff-fullhero__slide[data-hero-slot="2"] img {
		object-position:67% center
	}
.ff-fullhero__slide:after {
		background:linear-gradient(180deg,rgba(250,247,240,.85),rgba(250,247,240,.65) 46%,rgba(250,247,240,.02) 78%)
	}
.ff-fullhero__inner {
		width:calc(100% - 40px);
		align-items:flex-start;
		padding:54px 0 90px
	}
.ff-fullhero__copy {
		max-width:100%
	}
.ff-fullhero__copy h1,.ff-fullhero__copy h2 {
		font-size:clamp(2.8rem,13vw,4rem)
	}
.ff-fullhero__copy>p:not(.ff-eyebrow) {
		max-width:26rem;
		font-size:1rem
	}
.ff-hero__actions {
		align-items:flex-start;
		flex-direction:column;
		gap:10px;
		margin-top:22px
	}
.ff-fullhero__bottom {
		left:20px;
		right:20px;
		bottom:18px
	}
	.ff-fullhero--expanded .ff-fullhero__bottom {
		align-items:flex-start;
		flex-direction:column;
		gap:8px
	}
.ff-fullhero__bottom>span {
		font-size:.6rem
	}
	.ff-fullhero--expanded .ff-fullhero__controls {
		align-self:flex-end;
		max-width:252px
	}
	.ff-fullhero__controls button {
		width:44px
	}
.ff-shape-grid {
		grid-template-columns:repeat(3,minmax(0,1fr));
		gap:5px 10px
	}
	.ff-shape-choice {
		height:140px;
		min-height:140px
	}
	.ff-shape-choice__gem {
		width:80px;
		height:80px
	}
	.ff-shape-choice__gem--photo {
		width:80px;
		height:80px
	}
	.ff-shape-choice__gem--sprite {
		width:80px;
		height:80px
	}
.ff-fancy-grid {
		grid-template-columns:1fr
	}
.ff-home-services,.ff-editorial-band {
		padding:50px 20px
	}
.ff-add-jewelry {
		padding:50px 0
	}
.ff-jewelry-grid {
		grid-template-columns:repeat(2,minmax(0,1fr));
		gap:20px 14px
	}
.ff-add-category__name {
		font-size:1.1rem
	}
.ff-editorial-band ol {
		grid-template-columns:1fr;
		gap:18px;
		margin:28px 0
	}
.ff-editorial-link-grid {
		grid-template-columns:1fr;
		gap:18px
	}
.ff-home-video {
		padding:40px 20px
	}
.ff-detail-page {
		width:calc(100% - 40px);
		padding:36px 0 60px
	}
.ff-detail-split,.ff-inside-row,.ff-care-intro {
		grid-template-columns:1fr;
		gap:24px
	}
.ff-detail-split {
		margin:24px 0 48px
	}
.ff-detail-art,.ff-fancy-feature {
		min-height:270px
	}
.ff-inside-row {
		padding:28px 0
	}
.ff-inside-row:nth-of-type(even) .ff-inside-photo {
		order:0
	}
.ff-photo-pending {
		min-height:230px
	}
.ff-care-intro p {
		font-size:1rem
	}
.ff-care-row {
		grid-template-columns:38px 1fr;
		gap:14px;
		padding:20px 0
	}
.ff-social-links {
		flex-direction:column;
		gap:12px
	}
.ff-newsletter {
		padding:34px 24px
	}
	.ff-find {
		padding-bottom:20px
	}
	.ff-find .ff-section__intro {
		margin-bottom:20px
	}
	.ff-home-stones {
		padding-top:28px
	}
	.ff-fancy-listings {
		margin-top:38px
	}
}

@media(prefers-reduced-motion:reduce) {
	.ff-fullhero * {
		scroll-behavior:auto
	}
}

.ff-reviews {
	width:min(1240px,calc(100% - 48px));
	margin:0 auto;
	padding:54px 0
}
.ff-reviews--empty-home {
	display:grid;
	grid-template-columns:minmax(0,1fr) minmax(0,1fr);
	align-items:center;
	gap:clamp(28px,6vw,84px);
	padding:42px 0 48px;
	border-top:1px solid var(--ff-line);
	border-bottom:1px solid var(--ff-line)
}
.ff-reviews--empty-home h2 {
	margin:10px 0 0;
	color:var(--ff-navy);
	font-family:var(--ff-serif);
	font-size:clamp(2rem,3.2vw,2.75rem);
	font-weight:400;
	line-height:1.12
}
.ff-reviews__empty-home-action p {
	max-width:38rem;
	margin:0 0 12px;
	color:var(--ff-muted);
	font-size:1rem;
	line-height:1.65
}
.ff-reviews__empty-home-action .ff-text-link {
	color:var(--ff-navy);
	text-decoration:underline;
	text-underline-offset:4px
}
.ff-reviews--page {
	width:100%;
	margin:24px 0 0;
	padding:0
}
.ff-reviews--page .ff-reviews__grid {
	margin:0
}
.ff-reviews--page .ff-reviews__empty {
	margin:0 0 16px
}
.ff-reviews__grid {
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:24px;
	margin:26px 0
}
.ff-reviews .ff-review {
	padding:24px 0;
	border:0;
	border-top:1px solid var(--ff-line)
}
.ff-review__quote {
	margin:0;
	color:var(--ff-navy);
	font-family:var(--ff-serif);
	font-size:1.2rem;
	line-height:1.5
}

/* Illustrative loose-stone artwork for the configured fancy-color categories. */
.ff-fancy-choice {
	grid-template-columns:80px minmax(0,1fr);
	column-gap:14px
}
.ff-fancy-choice__name {
	overflow-wrap:anywhere
}
.ff-fancy-stone--home {
	width:80px
}
.ff-fancy-feature {
	min-height:220px!important;
	padding:12px 12px 16px;
	gap:6px;
	background:transparent;
	border-bottom:1px solid var(--ff-line)
}
.ff-fancy-stone--detail {
	width:min(176px,100%);
	margin:0 auto 4px
}
.ff-family-page .ff-family-guide {
	width:100%;
	min-height:300px;
	display:flex;
	align-items:center;
	justify-content:center;
	margin:28px 0 42px;
	background:#f7f4ee
}
.ff-family-page .ff-family-guide .ff-fancy-stone--detail {
	width:min(260px,70vw)
}
.ff-family-lead {
	max-width:48rem;
	color:var(--ff-muted)
}
.ff-family-categories {
	margin:48px 0
}
.ff-family-categories__grid {
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:24px
}
.ff-family-category {
	min-height:156px;
	padding:20px 0;
	border-top:1px solid var(--ff-line)
}
.ff-family-category h3 {
	margin:8px 0 16px
}
.ff-family-empty {
	margin:48px 0;
	padding:28px 0;
	border-top:1px solid var(--ff-line)
}
.ff-family-empty p,.ff-color-terms p {
	max-width:48rem;
	color:var(--ff-muted)
}
.ff-color-terms {
	margin-top:52px;
	padding-top:20px;
	border-top:1px solid var(--ff-line)
}
.ff-color-terms summary {
	min-height:44px;
	color:var(--ff-navy);
	cursor:pointer
}
.ff-fancy-feature>p {
	margin:0;
	background:transparent
}
@media(max-width:640px) {
	.ff-family-categories__grid {
		grid-template-columns:1fr;
		gap:0
	}
	.ff-family-page .ff-family-guide {
		min-height:220px
	}
	.ff-fancy-grid {
		grid-template-columns:repeat(2,minmax(0,1fr));
		gap:0 14px
	}
	.ff-fancy-choice {
		grid-template-columns:72px minmax(0,1fr);
		column-gap:8px;
		padding:12px 0
	}
	.ff-fancy-stone--home {
		width:72px
	}
	.ff-fancy-choice__name {
		font-size:.98rem;
		line-height:1.25
	}
	.ff-fancy-choice__hint {
		font-size:.68rem
	}
	.ff-fancy-feature {
		min-height:200px!important
	}
	.ff-fancy-stone--detail {
		width:min(168px,100%)
	}
}
.ff-review__author {
	margin-top:14px;
	color:var(--ff-muted);
	font-size:.8rem
}
.ff-review__label {
	display:inline-block;
	margin-top:8px;
	color:var(--ff-gold-text);
	font-size:.65rem;
	letter-spacing:.1em
}
.ff-reviews__more a {
	color:var(--ff-navy);
	text-decoration:underline;
	text-underline-offset:4px
}
.ff-reviews__empty,.ff-reviews__signin {
	color:var(--ff-muted)
}
.ff-reviews--page .ff-reviews__signin {
	display:grid;
	justify-items:start;
	gap:12px;
	margin:0
}
.ff-reviews--page .ff-reviews__signin p {
	margin:0
}
.ff-reviews--page .ff-reviews__signin-link {
	min-width:132px
}
.ff-reviews--page .ff-reviews__form {
	display:grid;
	width:100%;
	max-width:none;
	gap:10px;
	margin-top:28px
}
.ff-reviews__form input:not([type=radio]),.ff-reviews__form textarea {
	width:100%;
	padding:10px;
	border:1px solid var(--ff-line);
	background:#fff;
	color:var(--ff-ink);
	font:inherit
}
.ff-reviews__form input:not([type=radio]) {
	min-height:48px
}
.ff-reviews__form button {
	justify-self:start
}
.ff-reviews__trap {
	position:absolute;
	left:-10000px;
	width:1px;
	height:1px;
	overflow:hidden
}
@media(max-width:640px) {
	.ff-reviews--empty-home {
		grid-template-columns:1fr;
		gap:14px;
		padding:30px 0 32px
	}
	.ff-reviews__grid {
		grid-template-columns:1fr
	}
	.ff-reviews {
		width:calc(100% - 40px);
		padding:36px 0
	}
	.ff-reviews--page {
		width:100%;
		margin-top:20px;
		padding:0
	}
	.ff-reviews--page .ff-reviews__form {
		margin-top:24px
	}
}

@media(max-width:640px) {
	.ff-fullhero[data-active-slide="1"] .ff-fullhero__slide[data-hero-slot="2"]:after {
		background:linear-gradient(180deg,rgba(18,29,42,0) 26%,rgba(18,29,42,.52) 54%,rgba(18,29,42,.88) 100%)
	}
	.ff-fullhero[data-active-slide="1"] .ff-fullhero__inner {
		align-items:flex-end;
		padding-bottom:88px
	}
.ff-fullhero[data-active-slide="1"] .ff-fullhero__copy .ff-eyebrow,.ff-fullhero[data-active-slide="1"] .ff-fullhero__copy h1,.ff-fullhero[data-active-slide="1"] .ff-fullhero__copy h2,.ff-fullhero[data-active-slide="1"] .ff-fullhero__copy>p:not(.ff-eyebrow) {
		color:#fff
	}
.ff-fullhero[data-active-slide="1"] .ff-fullhero__copy .ff-text-link {
		color:#fff
	}
.ff-fullhero[data-active-slide="1"] .ff-fullhero__copy .ff-button {
		border-color:#fff;
		background:#fff;
		color:var(--ff-navy)
	}
	.ff-fullhero[data-active-slide="1"] .ff-fullhero__bottom {
		color:#fff
	}
	.ff-fullhero--many .ff-fullhero__inner,
	.ff-fullhero--many[data-active-slide="1"] .ff-fullhero__inner {
		padding-bottom:170px
	}
}

.ff-editorial-link-grid>a {
	padding:18px 0 8px;
	border-top:1px solid var(--ff-line)
}
.ff-editorial-tile__number {
	display:block;
	margin:0 0 6px
}
.ff-editorial-link-grid>a:hover h3 {
	text-decoration:underline;
	text-underline-offset:5px
}
.ff-inside-row {
	align-items:start
}
.ff-inside-photo img {
	display:block;
	width:100%;
	height:auto;
	object-fit:contain
}
.ff-inside-row:not(:has(.ff-inside-photo)) {
	grid-template-columns:1fr
}
.ff-inside-row:not(:has(.ff-inside-photo))>div {
	max-width:680px
}
.ff-inside-row:not(:has(.ff-inside-photo)) .ff-detail-note {
	margin-top:10px
}

@media(max-width:640px) {
	.ff-jewelry-grid {
		grid-template-columns:repeat(2,minmax(0,1fr));
		gap:18px 12px
	}
.ff-add-category__name {
		font-size:1.0625rem
	}
}

/* Form controls share the existing FORTUNA-F button and type system. */
.ff-newsletter__form { display:grid; gap:12px; }
.ff-newsletter form input[type=email] { margin:0; font:inherit; color:var(--ff-ink); }
.ff-newsletter form .ff-newsletter__consent { display:flex; align-items:flex-start; gap:10px; margin:4px 0 8px; font-size:.8125rem; line-height:1.6; }
.ff-newsletter__consent input[type=checkbox] { flex:none; width:18px; height:18px; margin:2px 0 0; accent-color:var(--ff-navy); }
.ff-newsletter__consent a { color:var(--ff-navy); text-decoration:underline; text-underline-offset:3px; }
.ff-newsletter__form button[type=submit] { width:100%; }
.ff-newsletter__company[hidden],.ff-reviews__trap[hidden],.ff-enquire__hp[hidden] { display:none!important; }
.ff-newsletter__close { width:44px; height:44px; display:flex; align-items:center; justify-content:center; }
.ff-newsletter__token-page { width:min(640px,calc(100% - 40px)); margin:0 auto; padding:64px 0; }
.ff-newsletter__token-page h1 { font-size:clamp(2rem,5vw,3rem); line-height:1.15; }
.ff-newsletter__token-page form { margin-top:24px; }
.ff-newsletter__token-page button { max-width:100%; }
.ff-reviews__heading h2 { font-size:clamp(2rem,4vw,2.65rem); line-height:1.2; margin-top:10px; }
.ff-reviews__summary { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin:18px 0 26px; }
.ff-reviews__summary-score { font-family:var(--ff-serif); font-size:3rem; line-height:1; font-weight:400; }
.ff-reviews__summary .ff-reviews__stars { font-size:1.125rem; }
.ff-reviews__summary-count { color:var(--ff-muted); font-size:.875rem; }
.ff-reviews__demo-note { color:var(--ff-muted); font-size:.8125rem; margin:16px 0 0; }
.ff-reviews .ff-review__author { font-weight:400; }
@media(max-width:640px) {
	.ff-newsletter { max-height:calc(100dvh - 32px); overflow-y:auto; }
	.ff-newsletter h2 { font-size:2rem; line-height:1.16; }
}

/* Homepage service information stays specific while confirmed policies live on the care page. */
.ff-home-services {
	background:#f7f4ed
}
.ff-home-services>.ff-section__intro {
	margin-bottom:28px
}
.ff-enquire > .ff-section__intro { margin-bottom:0; }
.ff-home-care__grid {
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:24px;
	margin:0 auto 22px
}
.ff-home-care__item {
	min-width:0;
	padding:16px 0 0;
	border-top:1px solid var(--ff-line)
}
.ff-home-care__item .ff-eyebrow {
	margin-bottom:10px
}
.ff-home-care__item h3 {
	margin:0 0 8px;
	color:var(--ff-navy);
	font-family:var(--ff-serif);
	font-size:1.35rem
}
.ff-home-care__item>p:last-child {
	margin:0;
	color:var(--ff-muted);
	font-size:.9rem
}
.ff-home-inside {
	padding-top:60px;
	padding-bottom:64px
}
.ff-home-inside__grid {
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:32px
}
.ff-home-inside__card {
	display:block;
	min-width:0;
	padding-top:14px;
	border-top:1px solid var(--ff-line);
	color:var(--ff-ink)
}
.ff-home-inside__card:hover h3 {
	text-decoration:underline;
	text-underline-offset:4px
}
.ff-home-inside__card:focus-visible {
	outline:2px solid var(--ff-navy);
	outline-offset:5px
}
.ff-home-inside__image {
	margin:0 0 14px;
	overflow:hidden
}
.ff-home-inside__image img {
	display:block;
	width:100%;
	aspect-ratio:4/3;
	object-fit:cover
}
.ff-home-inside__image--showroom img,.ff-inside-photo--showroom img { object-position:center 50%; }
.ff-home-inside__image--workshop img,.ff-inside-photo--workshop img { object-position:center 58%; }
.ff-home-inside__image--design-team img,.ff-inside-photo--design-team img { object-position:center 70%; }
.ff-home-inside__image--stone-selection img,.ff-inside-photo--stone-selection img { object-position:center 50%; }
.ff-home-inside__card .ff-eyebrow {
	margin:0 0 8px
}
.ff-home-inside__card h3 {
	display:flex;
	align-items:baseline;
	justify-content:space-between;
	gap:8px;
	margin:0 0 8px;
	color:var(--ff-navy);
	font-family:var(--ff-serif);
	font-size:1.18rem
}
.ff-home-inside__card h3 span {
	flex:none;
	font-family:var(--ff-sans);
	font-size:.85rem
}
.ff-home-inside__card>p:last-child {
	margin:0;
	color:var(--ff-muted);
	font-size:.84rem
}
@media(max-width:900px) {
	.ff-home-care__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.ff-home-inside__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:640px) {
	.ff-home-care__grid,.ff-home-inside__grid { grid-template-columns:1fr; gap:18px; }
	.ff-home-inside { padding-top:46px; padding-bottom:48px; }
	.ff-home-inside__card { padding-top:12px; }
	.ff-jewelry-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 16px; }
}

@media(max-width:640px) {
	.ff-bespoke-page .ff-bespoke-layout {
		gap:24px;
		margin:20px 0 44px
	}
	.ff-bespoke__intro h1 {
		font-size:clamp(2.25rem,11vw,3.1rem)
	}
	.ff-bespoke__intro .ff-detail-art {
		aspect-ratio:1.55;
		margin-top:18px
	}
	.ff-bespoke__form .ff-enquire__panel {
		padding:22px
	}
}

/* Media Library replacements retain the existing jewelry card crop. */
.ff-add-category__image--custom { background-image:none; overflow:hidden }
.ff-add-category__image--custom img { display:block; width:100%; height:100%; object-fit:cover }
.ff-add-category__image--rings img { object-position:center 50%; }
.ff-add-category__image--necklaces img { object-position:center 100%; }
.ff-add-category__image--bracelets img { object-position:center 52%; }
.ff-add-category__image--earrings img { object-position:center 58%; }
.ff-add-category__image--mens-rings img { object-position:center 55%; }
.ff-add-category__image--baby-rings img { object-position:center 58%; }

.ff-fancy-stone--custom img { display:block; width:100%; height:100%; object-fit:contain }
.ff-detail-art--custom { min-height:0; }


@media (min-width:901px) and (max-width:1100px) {
	.ff-shape-grid { grid-template-columns:repeat(6,minmax(0,1fr)); }
}
@media (max-width:700px) {
	.ff-shape-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px 8px; }
	.ff-shape-choice { height:140px; min-height:140px; gap:8px; padding:8px 3px 6px; }
	.ff-shape-choice__gem,.ff-shape-choice__gem--sprite,.ff-shape-choice__gem--photo { width:80px; height:80px; }
	.ff-fancy-filters { grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px 8px; }
	.ff-fancy-filters button.ff-fancy-family-tab { height:140px; min-height:140px; gap:8px; padding:8px 3px 6px; font-size:.8rem; }
	.ff-fancy-family-tab__image { width:80px; height:80px; }
	.ff-discovery-entry-label,.ff-shape-choice__label { min-height:2.5em; font-size:.8rem; line-height:1.25; }
}
.ff-buyer-home__grid,.ff-inside-gallery__grid {
	display:grid;
	grid-template-columns:repeat(6,minmax(0,1fr));
	gap:16px;
	margin:24px 0;
}
.ff-buyer-home__photo { display:block; color:var(--ff-navy); font-size:.8rem; text-decoration:none; }
.ff-buyer-home__photo img,.ff-inside-gallery__grid img { display:block; width:100%; aspect-ratio:3/4; object-fit:cover; }
.ff-buyer-home__photo span { display:block; margin-top:8px; text-transform:capitalize; }
.ff-inside-gallery { margin-top:64px; }
.ff-inside-gallery__grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.ff-inside-gallery__grid figure { margin:0; }
.ff-inside-gallery__grid figcaption { padding-top:8px; font-size:.82rem; }
.ff-inside-gallery__grid figure a { display:block; }
.ff-inside-gallery__grid img { background:#f4f0e8; }
.ff-inside-gallery__grid figcaption { color:var(--ff-muted); }
.ff-customer-stories-page .ff-page { width:min(1080px,calc(100% - 48px)); }
.ff-customer-stories-page .ff-article>h1 { margin:16px 0 14px; font-size:clamp(2rem,4.3vw,3.4rem); line-height:1.06; letter-spacing:-.025em; }
.ff-customer-stories-page .ff-prose>p { max-width:48rem; color:var(--ff-muted); }
.ff-stories-content { margin-top:42px; }
.ff-stories-gallery { display:block; }
.ff-stories-feature { display:grid; grid-template-columns:minmax(280px,.92fr) minmax(300px,1fr); gap:clamp(32px,7vw,92px); align-items:center; margin:0 0 72px; }
.ff-stories-feature__media { min-width:0; margin:0; }
.ff-stories-feature__image { display:block; }
.ff-stories-feature__image img { display:block; width:100%; aspect-ratio:3/4; object-fit:cover; background:#f4f0e8; }
.ff-stories-feature__copy h2 { max-width:12ch; margin:12px 0 18px; font-size:clamp(1.8rem,3.2vw,2.65rem); line-height:1.1; letter-spacing:-.02em; }
.ff-stories-feature__copy>p:not(.ff-eyebrow) { max-width:28rem; margin-bottom:26px; color:var(--ff-muted); }
.ff-stories-category { margin:0 0 64px; }
.ff-stories-category>h2 { margin:0 0 24px; font-size:clamp(1.5rem,2.4vw,2rem); }
.ff-stories-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px 28px; }
.ff-stories-card { min-width:0; margin:0; }
.ff-stories-card__image { display:block; }
.ff-stories-card__image img { display:block; width:100%; aspect-ratio:3/4; object-fit:cover; background:#f4f0e8; }
.ff-stories-card figcaption { padding-top:12px; }
.ff-stories-card figcaption .ff-eyebrow { display:block; margin:0 0 6px; font-size:.67rem; }
.ff-stories-card figcaption p { margin:0; color:var(--ff-muted); font-size:.9rem; line-height:1.55; }
.ff-stories-card__enquire { display:inline-flex; align-items:center; min-height:44px; margin-top:2px; color:var(--ff-navy); font-size:.78rem; text-decoration:underline; text-decoration-color:rgba(23,38,57,.38); text-underline-offset:4px; }
.ff-stories-card__enquire:hover,.ff-stories-card__enquire:focus-visible { text-decoration-color:currentColor; }
@media(max-width:900px) {
	.ff-buyer-home__grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
	.ff-inside-gallery__grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
	.ff-stories-feature { grid-template-columns:minmax(240px,.9fr) minmax(240px,1fr); gap:32px; }
	.ff-stories-grid { gap:28px 22px; }
}
@media(max-width:600px) {
	.ff-buyer-home__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
	.ff-inside-gallery__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
	.ff-customer-stories-page .ff-page { width:calc(100% - 40px); }
	.ff-customer-stories-page .ff-article>h1 { font-size:2rem; }
	.ff-stories-content { margin-top:28px; }
	.ff-stories-feature { grid-template-columns:1fr; gap:22px; margin-bottom:52px; }
	.ff-stories-feature__image { max-width:480px; }
	.ff-stories-feature__copy h2 { max-width:none; font-size:1.8rem; }
	.ff-stories-category { margin-bottom:48px; }
	.ff-stories-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 16px; }
}

.ff-fancy-stone--fallback { display:flex; align-items:center; justify-content:center; border:1px solid var(--ff-line); background:var(--ff-paper); color:var(--ff-muted); font-size:.72rem; text-align:center; }
