/* Bespoke ocean keepsakes: her handmade shell, pink-white lilies, polished horseshoe. */
.ocean-art{position:absolute;inset:0;overflow:hidden;pointer-events:none}.ocean-art svg{display:block}.sea-shell{position:absolute;right:clamp(1rem,4vw,5rem);top:clamp(5.5rem,10vw,8rem);width:clamp(13rem,24vw,22rem);filter:drop-shadow(0 1.4rem 1.2rem rgba(21,70,84,.2));transform:rotate(5deg);z-index:2}.keepsake-shell{fill:#f8f5eb;stroke:#b9b7ad;stroke-width:1.6}.shell-highlight{fill:none;stroke:#fff;stroke-width:4;opacity:.7;stroke-linecap:round}.hand-letter{fill:none;stroke:#2c2930;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.painted-heart{fill:#b53c68;stroke:#913252;stroke-width:1.2}

.real-lily-feature{position:absolute;right:clamp(-3.5rem,-5vw,-1.5rem);top:clamp(-4.2rem,-6vw,-2.2rem);z-index:4;width:clamp(12rem,20vw,19rem);margin:0;pointer-events:none;transform:rotate(8deg)}.real-lily-photo{position:relative;overflow:hidden;filter:drop-shadow(0 1.2rem 1.6rem rgba(11,52,55,.16));-webkit-mask-image:linear-gradient(to left,#000 68%,transparent 100%),linear-gradient(to bottom,#000 76%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to left,#000 68%,transparent 100%),linear-gradient(to bottom,#000 76%,transparent 100%);mask-composite:intersect}.real-lily-photo img{display:block;width:100%;mix-blend-mode:multiply;filter:saturate(.92) contrast(1.04)}
.lily-art{position:absolute;left:-1rem;bottom:-1rem;width:clamp(20rem,36vw,36rem);opacity:.16;filter:drop-shadow(0 1.2rem 1.6rem rgba(11,52,55,.13));transform:rotate(-3deg);z-index:1}.lily-line{fill:none;stroke:#2f6656;stroke-width:4;stroke-linecap:round}.lily-leaf{fill:url(#leafGreen);stroke:#123e3b;stroke-width:1.5}.lily-petal{fill:url(#petalPink);stroke:#b94f73;stroke-width:1.7;stroke-linejoin:round}.petal-vein{fill:none;stroke:#c95e7e;stroke-width:1.4;opacity:.9}.lily-stamens path{fill:none;stroke:#71843d;stroke-width:2.2;stroke-linecap:round}.lily-stamens circle{fill:#a96632}.lily-speckles{fill:#a93e61}.lily-bud path:first-child{fill:url(#petalPink);stroke:#b94f73;stroke-width:1.5}.lily-bud path:last-child{fill:none;stroke:#c95e7e;stroke-width:1.3}

.horseshoe-feature{position:absolute;right:clamp(1.4rem,6vw,7rem);bottom:clamp(2.5rem,6vw,5rem);z-index:4;display:flex;align-items:center;gap:.8rem;padding:.85rem 1.1rem .85rem .75rem;border:1px solid rgba(152,99,43,.3);border-radius:999px;background:rgba(255,251,234,.76);box-shadow:0 .8rem 2rem rgba(18,63,75,.12);backdrop-filter:blur(5px);transform:rotate(4deg)}.horseshoe-feature svg{width:4.6rem;height:4.9rem}.horseshoe-feature span{font-family:var(--serif);font-style:italic;font-size:1.05rem;line-height:1.05;color:#6f461f}.horseshoe-metal{fill:url(#shoeMetal);stroke:#70451e;stroke-width:2;filter:drop-shadow(0 4px 3px rgba(60,35,14,.18))}.shoe-nails circle{fill:#fff0c1;stroke:#70451e;stroke-width:1.5}

.orange-cat{position:absolute;right:clamp(1rem,5vw,5rem);bottom:clamp(1rem,4vw,3rem);z-index:2;width:clamp(12rem,22vw,20rem);margin:0;transform:rotate(2deg);filter:drop-shadow(0 1.2rem 1.1rem rgba(61,50,32,.17))}.orange-cat svg{display:block;width:100%;overflow:visible}.cat-body,.cat-head{fill:url(#catFur);stroke:#8e4b25;stroke-width:2}.cat-chest,.cat-paw{fill:#f8d09b;stroke:#a75c2c;stroke-width:1.5}.cat-ear{fill:#e7893b;stroke:#8e4b25;stroke-width:2;stroke-linejoin:round}.cat-ear-inner{fill:#e9a09c;stroke:none}.cat-tail{fill:none;stroke:#d9752e;stroke-width:22;stroke-linecap:round}.cat-stripe{fill:none;stroke:#9e4b25;stroke-width:5;stroke-linecap:round;opacity:.82}.cat-eye,.cat-mouth,.cat-whisker{fill:none;stroke:#553729;stroke-width:2.3;stroke-linecap:round}.cat-nose{fill:#8a4c51}.cat-whisker{stroke-width:1.4;opacity:.8}

.lily-closeup{position:absolute;left:clamp(1rem,4vw,4rem);top:clamp(2rem,5vw,4rem);width:clamp(9rem,16vw,15rem);margin:0;transform:rotate(-5deg);z-index:0}.lily-closeup-image{aspect-ratio:1;overflow:hidden;border:8px solid #fffaf0;border-radius:49% 51% 46% 54%/54% 46% 55% 45%;box-shadow:0 1rem 2.5rem rgba(18,63,75,.13)}.lily-closeup img{display:block;width:100%;height:100%;object-fit:cover}.lily-closeup figcaption{margin:.6rem auto 0;max-width:14rem;color:#805060;font-family:var(--serif);font-size:1rem;font-style:italic;line-height:1.2;text-align:center}.promises{position:relative}.promises>.section-heading,.promises>.promise-list,.promises>.symbol-row{position:relative;z-index:1}

.wave-divider{display:block;width:100%;height:clamp(4rem,9vw,8rem);margin-top:-1px;color:var(--paper)}.wave-divider path{fill:currentColor}.shell-keepsake{width:min(25rem,84vw);margin:0 auto 1rem;filter:drop-shadow(0 1.5rem 1.6rem rgba(0,0,0,.28));transform:rotate(-2deg)}.shell-caption{font-family:var(--serif);font-style:italic;color:var(--deep);font-size:1.2rem}.symbol-row{display:flex;justify-content:center;gap:clamp(2rem,7vw,6rem);align-items:center;margin:4rem auto 0;max-width:52rem}.symbol{display:grid;place-items:center;text-align:center}.symbol svg{width:8rem;height:8rem;overflow:visible}.symbol p{margin:.7rem 0 0;color:var(--muted);font-family:var(--serif);font-style:italic;font-size:1.12rem}.horseshoe-symbol{padding:1.4rem 2rem;border:1px solid rgba(169,110,47,.3);background:linear-gradient(145deg,rgba(255,250,235,.9),rgba(235,218,180,.5));box-shadow:0 1rem 2.5rem rgba(18,63,75,.08);border-radius:50% 50% 44% 56%/57% 48% 52% 43%}

.bubble{position:fixed;bottom:-2rem;z-index:80;width:.6rem;aspect-ratio:1;border:1px solid rgba(255,255,255,.7);border-radius:50%;pointer-events:none;animation:floatBubble 2.2s ease-out forwards}@keyframes floatBubble{to{transform:translate(var(--drift),-45vh) scale(1.8);opacity:0}}

@media(max-width:800px){.sea-shell{right:-2.8rem;top:7rem;opacity:.58;width:15rem}.real-lily-feature{right:-2rem;top:-3rem;width:13rem;opacity:.88}.lily-art{left:-5rem;opacity:.1;width:25rem}.horseshoe-feature{right:1rem;bottom:1.2rem;transform:scale(.84) rotate(3deg);transform-origin:right bottom}.orange-cat{position:relative;right:auto;bottom:auto;width:min(16rem,72vw);margin:0 auto -2rem}.lily-closeup{position:relative;left:auto;top:auto;width:min(13rem,62vw);margin:0 auto 2rem}.symbol-row{gap:2rem;flex-wrap:wrap}.symbol{width:min(100%,18rem)}}
@media(max-width:480px){.horseshoe-feature span{display:none}.horseshoe-feature{padding:.55rem}.horseshoe-feature svg{width:3.8rem;height:4rem}.shell-keepsake{width:min(21rem,92vw)}}
@media(prefers-reduced-motion:reduce){.bubble{display:none}}
