@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;600&family=Gabarito:wght@400;500;600&display=swap');
:root{--ink:#263e4b;--blue:#dcebf1;--butter:#f6e6a4;--cream:#fffdf7;--line:#ccd3cf;--rust:#984f38}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,select,input,textarea{font:inherit}a,summary,button{touch-action:manipulation}a:focus-visible,summary:focus-visible,button:focus-visible{outline:3px solid var(--rust);outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Gabarito',sans-serif;font-weight:400;line-height:1.08;letter-spacing:-.035em}h1{font-size:clamp(3.25rem,5.8vw,6.4rem)}h2{font-size:clamp(2.4rem,4vw,4rem)}h3{font-size:1.65rem}p{max-width:55ch}img{display:block;width:100%;height:100%;object-fit:cover}.announcement{text-align:center;background:var(--blue);font-size:.8rem;letter-spacing:.04em;padding:9px 16px}.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1440px;padding:25px 5%;margin:auto}.brand{font-family:Georgia,serif;font-size:1.65rem;letter-spacing:-.055em;line-height:1.1}.brand small{display:block;text-align:center;font-family:'DM Sans',sans-serif;font-size:.65rem;letter-spacing:.29em;margin-top:8px}.navlinks{display:flex;gap:32px;align-items:center;font-size:.9rem}.navlinks a:hover,.textlink:hover{text-decoration:underline;text-underline-offset:5px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 26px;border:1px solid var(--ink);border-radius:32px;background:var(--ink);color:white;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .2s,transform .2s}.button:hover{background:#3d5b69;transform:translateY(-2px)}.button.light{background:transparent;color:var(--ink)}.button.light:hover{background:#ffffff70}.eyebrow{text-transform:uppercase;font-size:.75rem;letter-spacing:.16em;font-weight:600;margin-bottom:24px}.hero{display:grid;grid-template-columns:1fr 1.08fr;margin:0 3%;min-height:620px;background:var(--blue);border-radius:10px 10px 120px 10px;overflow:hidden}.herocopy{padding:clamp(35px,6vw,90px);align-self:center}.herocopy h1 em{font-family:Georgia,serif;font-weight:400;font-size:.92em}.herocopy p{margin:26px 0 30px;max-width:34ch}.heroimage{position:relative;min-height:550px}.heroimage img{object-position:50% 56%}.pill{position:absolute;right:28px;bottom:28px;background:var(--butter);border-radius:50%;width:120px;height:120px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:.85rem;line-height:1.35;transform:rotate(8deg)}.strap{max-width:1000px;display:flex;justify-content:space-around;gap:25px;padding:30px 5%;margin:auto;font-size:.8rem}.strap span:before{content:'';display:inline-block;width:18px;height:1px;vertical-align:middle;background:var(--rust);margin-right:12px}.section{max-width:1320px;margin:auto;padding:85px 5%}.sectionhead{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:42px}.sectionhead p{max-width:32ch;font-size:.95rem}.sectionhead .eyebrow{margin-bottom:12px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:42px 25px}.productfigure{height:365px;border-radius:90px 90px 8px 8px;overflow:hidden;background:#e9e7e0}.product:nth-child(2) .productfigure{border-radius:8px 90px 8px 8px}.product:nth-child(3) .productfigure{border-radius:8px 8px 90px 8px}.product:nth-child(4) .productfigure{border-radius:8px 80px 8px 8px}.product:nth-child(5) .productfigure{border-radius:80px 8px 8px 8px}.product img{transition:transform .5s}.product:hover img{transform:scale(1.025)}.product h3{margin:20px 0 8px}.category{font-size:.7rem;text-transform:uppercase;letter-spacing:.13em;margin-top:18px}.product h3{margin-top:7px}.price{font-size:.9rem}.product details{border-top:1px solid var(--line);margin-top:18px}.product summary{cursor:pointer;display:flex;justify-content:space-between;padding:13px 0;list-style:none;font-size:.9rem}.product summary:after{content:'+';font-size:1.1rem}.product details[open] summary:after{content:'−'}.product summary::-webkit-details-marker{display:none}.product details p{font-size:.9rem;margin:4px 0 14px}.product table{font-size:.85rem;border-collapse:collapse;width:100%;margin:12px 0 18px}.product td{padding:6px 0;border-bottom:1px solid var(--line)}.product td:last-child{text-align:right}.product .button{margin:10px 0;font-size:.85rem;padding:10px 18px}.customcard{background:var(--butter);padding:36px;display:flex;flex-direction:column;justify-content:center;border-radius:80px 8px 8px 8px;min-height:365px}.customcard .symbol{font-size:3.5rem;line-height:1;margin-bottom:24px}.customcard h3{font-size:2.4rem}.customcard p{margin:20px 0}.customcard a{align-self:start}.storywrap{background:#e5eadc;margin-top:40px}.story{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.storyimage{height:530px;border-radius:160px 160px 8px 8px;overflow:hidden}.storycopy p{margin-top:22px}.storycopy .textlink{display:inline-block;margin-top:26px;border-bottom:1px solid}.process{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:45px}.step{border-top:1px solid var(--line);padding-top:24px}.number{display:block;font-family:Georgia,serif;color:var(--rust);font-size:1.7rem;margin-bottom:28px}.step p{margin-top:15px;font-size:.95rem}.faq{display:grid;grid-template-columns:1fr 1.4fr;gap:60px;border-top:1px solid var(--line)}.questions details{border-bottom:1px solid var(--line);padding:20px 0}.questions summary{font-size:1rem;cursor:pointer;padding-right:10px}.questions p{margin-top:14px;font-size:.95rem}.contact{background:var(--blue);text-align:center;padding:75px 24px;border-radius:100px 100px 0 0;margin:0 3%}.contact p{margin:24px auto;max-width:46ch}.contact .eyebrow{margin:0 auto 20px}.contact .actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.footer{padding:45px 6% 24px}.footertop{display:flex;justify-content:space-between;align-items:center;gap:25px}.footlinks{display:flex;gap:26px;font-size:.9rem}.bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:35px;padding-top:22px;font-size:.75rem}.note{font-size:.8rem;color:#53656f}.mobilecontact{display:none}@media(min-width:1450px){.hero{max-width:1400px;margin:auto}}@media(max-width:950px){.navlinks{gap:18px}.hero{min-height:540px;grid-template-columns:1fr 1fr}.herocopy{padding:35px}.heroimage{min-height:540px}.grid{grid-template-columns:repeat(2,1fr)}.story{gap:35px}.storyimage{height:440px}.productfigure{height:400px}}@media(max-width:650px){.nav{padding:22px 6%}.brand{font-size:1.5rem}.navlinks a:not(.button){display:none}.navlinks .button{min-height:42px;padding:8px 17px;font-size:.8rem}.announcement{font-size:.7rem}.hero{grid-template-columns:1fr;border-radius:8px 8px 75px 8px;margin:0 4%}.herocopy{padding:38px 27px 35px}.hero h1{font-size:3.45rem}.herocopy p{margin:20px 0 25px;font-size:.95rem}.heroimage{height:370px;min-height:0}.heroimage img{object-position:center 63%}.pill{width:92px;height:92px;font-size:.75rem;right:20px;bottom:20px}.strap{padding:24px 5%;gap:12px;flex-wrap:wrap;font-size:.7rem}.strap span:before{margin-right:6px}.section{padding:55px 6%}.sectionhead{display:block;margin-bottom:30px}.sectionhead p{margin-top:20px}.grid{gap:34px 16px}.productfigure{height:220px;border-radius:55px 55px 5px 5px}.product h3{font-size:1.35rem}.category{font-size:.63rem;letter-spacing:.08em}.price{font-size:.8rem}.product summary{font-size:.78rem}.product details p,.product table{font-size:.8rem}.customcard{padding:23px 18px;border-radius:50px 5px 5px 5px;min-height:0}.customcard h3{font-size:1.9rem}.customcard p{font-size:.85rem}.customcard .symbol{font-size:2.5rem;margin-bottom:18px}.customcard .button{padding:10px 15px;font-size:.75rem}.story{grid-template-columns:1fr;gap:35px}.storyimage{height:390px}.storycopy h2{font-size:2.6rem}.process{grid-template-columns:1fr;gap:25px}.step{display:grid;grid-template-columns:40px 1fr;gap:0 20px}.number{grid-row:1/3;margin:0}.step p{margin-top:10px}.faq{grid-template-columns:1fr;gap:20px}.contact{padding:60px 25px;border-radius:60px 60px 0 0}.contact h2{font-size:2.65rem}.footertop{align-items:start;flex-direction:column}.footlinks{flex-wrap:wrap;gap:15px}.bottom{flex-direction:column;gap:8px}.eyebrow{font-size:.7rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Supplied Willow House brand artwork. */
.brand{display:block;flex-shrink:0}.brand .brand-logo{display:block;width:220px;height:auto;object-fit:contain}.nav{padding-top:12px;padding-bottom:12px}.footer .brand-logo{width:235px}@media(max-width:650px){.brand .brand-logo{width:160px}.nav{padding-top:12px;padding-bottom:12px}.footer .brand-logo{width:200px}}

.accent-line{display:block;width:48px;height:2px;background:var(--rust);margin-bottom:28px}.reviews{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;border-top:1px solid var(--line)}.reviews h2{margin-bottom:22px}.review-window{padding:36px;border:1px solid var(--line);border-radius:24px;background:white}.review-window h3{margin-bottom:20px}.review-window p{margin-bottom:18px}.review-window .button{margin-top:8px}.contact .payment-notice{font-size:.9rem;font-weight:600;margin:16px auto 24px}.navlinks{gap:24px}@media(max-width:650px){.reviews{grid-template-columns:1fr;gap:28px}.review-window{padding:26px}.product summary,.price,.product details p,.product table{font-size:.875rem}}

/* Keep whole product photographs inside the shaped frames. */
.productfigure{display:block;position:relative;width:100%;border:0;padding:26px 22px 42px;background:#eeeae0;cursor:zoom-in}.productfigure img{object-fit:contain}.product:hover img{transform:none}.photo-label{position:absolute;bottom:12px;left:0;right:0;text-align:center;font-size:.875rem;color:var(--ink)}.heroimage{background:#eeeae0;padding:20px 12px 90px}.heroimage img{object-fit:contain}.pill{width:85px;height:85px;font-size:.75rem;bottom:10px;right:18px}.storyimage{padding:26px;background:#e5eadc}.storyimage img{object-fit:contain}.gallery{border:0;border-radius:22px;width:min(960px,94vw);max-height:94dvh;padding:20px;background:var(--cream);color:var(--ink);overflow:auto}.gallery::backdrop{background:#172b36c9}.gallery-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.gallery-top h2{font-size:1.6rem}.gallery-close,.gallery-controls button{border:1px solid var(--line);border-radius:50%;background:white;color:var(--ink);height:44px;width:44px;font-size:1.8rem;cursor:pointer;flex-shrink:0}.gallery-stage{height:min(60dvh,650px);margin:16px 0;overflow:auto;display:flex;align-items:center;justify-content:center;background:#f2eee5;border-radius:8px;touch-action:pan-y pinch-zoom}.gallery-stage img{width:100%;height:100%;object-fit:contain;cursor:zoom-in}.gallery-stage.zoomed{display:block}.gallery-stage.zoomed img{max-width:none;width:180%;height:auto;cursor:zoom-out;object-fit:initial}.gallery-controls{display:flex;justify-content:center;gap:20px;align-items:center}.gallery-controls p{text-align:center;font-size:.875rem}.gallery-controls button:disabled{opacity:.3;cursor:default}.gallery-thumbs{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:15px}.gallery-thumbs button{padding:3px;border:2px solid transparent;background:none;border-radius:8px;cursor:pointer}.gallery-thumbs button[aria-current="true"]{border-color:var(--ink)}.gallery-thumbs img{width:54px;height:64px;object-fit:contain}.gallery-hint{text-align:center;max-width:none;font-size:.8rem;margin-top:10px}@media(max-width:650px){.productfigure{padding:24px 12px 35px}.photo-label{font-size:.75rem;bottom:8px}.heroimage{height:420px;padding:12px 8px 75px}.pill{width:70px;height:70px;font-size:.65rem}.gallery{padding:14px;width:96vw;max-height:96dvh}.gallery-stage{height:55dvh}.gallery-top h2{font-size:1.4rem}.gallery-thumbs img{width:44px;height:52px}}

#review-form{display:grid;gap:10px}#review-form label{font-weight:500;font-size:.9rem}#review-form input,#review-form select,#review-form textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--cream);color:var(--ink);font:inherit;font-size:1rem}#review-form .button{justify-self:start}#review-status{margin:0;font-size:.9rem}.customer-reviews{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.customer-review{padding:24px;border-top:1px solid var(--line)}.customer-review p{white-space:pre-wrap;overflow-wrap:anywhere;margin:12px 0}.customer-review small{font-size:.875rem}.reviews{align-items:start}.customer-reviews>p{grid-column:1/-1}@media(max-width:650px){.customer-reviews{grid-template-columns:1fr}}

.payment-highlight{text-decoration-line:underline;text-decoration-color:#f6ce45;text-decoration-thickness:5px;text-underline-offset:5px;text-decoration-skip-ink:none;font-weight:700}.contact .payment-notice{font-size:1rem;line-height:1.9}

.storycopy h3{font-size:1.4rem;margin:28px 0 12px}.storycopy h2{margin-bottom:24px}

.storyimage.family-portrait{height:auto;padding:0;border-radius:28px;align-self:start;background:transparent}.storyimage.family-portrait img{display:block;width:100%;height:auto;object-fit:contain}
