:root{--blue:#183155;--ink:#24384f;--muted:#56687b;--light:#f0f5fa;--line:#d4deea}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:white;font-family:Arial,sans-serif;font-size:16px;line-height:1.7}h1,h2,h3,.brand{font-family:Georgia,serif;font-weight:400;color:var(--blue)}a{color:var(--blue);text-underline-offset:5px}a:hover{color:#42719b}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #5d92c5;outline-offset:5px}.skip{position:fixed;left:1rem;top:-100px;background:white;z-index:20;padding:10px}.skip:focus{top:1rem}header{max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:25px 5%;gap:24px;border-bottom:1px solid var(--line)}.brand{text-decoration:none;font-size:27px;line-height:1.25;white-space:nowrap}.brand i{font-style:italic}.brand span{display:block;font:10px Arial,sans-serif;letter-spacing:3px;margin-top:9px}nav{display:flex;gap:30px;align-items:center}nav a{font-size:14px;text-decoration:none}.button{display:inline-block;background:var(--blue);color:white;text-decoration:none;padding:15px 25px;border:1px solid var(--blue);font:14px Arial,sans-serif;line-height:1.4;cursor:pointer}.button:hover{background:#2a527d;color:white}.small{padding:12px 20px}.hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;min-height:650px;padding:45px 5% 55px;gap:45px}.eyebrow{font-size:12px;letter-spacing:2.6px;color:#47688b;margin:0 0 22px}h1{font-size:clamp(50px,5.7vw,82px);line-height:1.05;margin:0 0 25px;letter-spacing:-2px}h1 em{color:#507da5}.intro{max-width:410px;font-size:18px;color:var(--muted)}.actions{display:flex;gap:26px;align-items:center;margin-top:30px;flex-wrap:wrap}.text-link{font-size:14px;background:none;border:0;padding:0;text-decoration:underline;cursor:pointer}.hero-note{font-family:Georgia,serif;font-style:italic;margin-top:35px;color:var(--muted)}figure{margin:0}.hero-photo img{display:block;width:100%;height:540px;object-fit:cover;border-radius:160px 160px 0 0}.hero-photo figcaption{font-size:12px;color:var(--muted);text-align:right;margin-top:8px}.occasion-strip{background:var(--blue);color:white;text-align:center;padding:23px 20px;font-size:12px;letter-spacing:2px;display:flex;justify-content:center;gap:35px;flex-wrap:wrap}.section{padding:95px 7%;max-width:1440px;margin:auto}h2{font-size:clamp(34px,3.6vw,48px);line-height:1.15;margin:0 0 25px;letter-spacing:-1px}.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end;margin-bottom:48px}.section-heading>p{max-width:470px;color:var(--muted)}.offering-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.offering-grid article{border-top:1px solid var(--line);padding-top:22px;display:flex;flex-direction:column}.number{font-family:Georgia,serif;font-style:italic;font-size:25px;color:#527a9f}h3{font-size:26px;line-height:1.2;margin:20px 0 12px}.offering-grid p{color:var(--muted);font-size:15px;margin-top:0}.offering-grid .best{font-size:10px;letter-spacing:1.4px;margin-top:auto;padding-top:16px}.offering-grid a{font-size:14px}.pricing-note{font-size:14px;border-top:1px solid var(--line);margin:40px 0 0;padding-top:20px;color:var(--muted)}.about{background:var(--light);display:grid;grid-template-columns:.7fr 1fr;gap:100px;align-items:center}.about p{max-width:560px}.story-mark{display:flex;flex-direction:column;align-items:center;justify-content:center;font:italic 180px Georgia,serif;color:var(--blue);border:1px solid #b7c9dc;outline:1px solid #b7c9dc;outline-offset:10px;aspect-ratio:1;max-width:320px;width:100%;margin:auto}.story-mark span{font:14px Georgia,serif;letter-spacing:1px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:65px;margin-top:45px}.steps span{font:italic 24px Georgia,serif;color:#527a9f}.steps p{color:var(--muted);font-size:15px}.inquiry{display:grid;grid-template-columns:1fr 1.1fr;gap:95px;border-top:1px solid var(--line)}.inquiry>div>p{max-width:400px}.email{overflow-wrap:anywhere;font-size:15px}.faq{margin-top:40px}details{border-top:1px solid var(--line);padding:16px 0;font-size:14px}summary{cursor:pointer;color:var(--blue)}details p{color:var(--muted)}form{background:var(--light);padding:35px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{font-size:14px;color:var(--blue)}input,select,textarea{display:block;width:100%;background:white;border:1px solid #bdcddd;padding:12px;color:var(--ink);font:16px Arial,sans-serif;border-radius:0;margin-top:7px;min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid #527a9f;outline-offset:1px}.full{grid-column:1/-1}form .button{margin-top:24px}.form-note,#form-status,#email-fallback p{font-size:12px;color:var(--muted);line-height:1.6}#copy-inquiry{margin-top:15px}footer{background:var(--blue);color:white;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:25px;padding:40px 5%;font-size:12px}footer a,footer .brand{color:white}footer p{font:italic 16px Georgia,serif}@media(max-width:1000px){nav{gap:18px}.hero{gap:28px}.hero-photo img{height:470px}.offering-grid{grid-template-columns:1fr 1fr;gap:35px}.about,.inquiry{gap:50px}.section{padding:70px 6%}.steps{gap:30px}.section-heading{gap:40px}}@media(max-width:650px){header{padding:22px 6%;flex-wrap:wrap}.brand{font-size:24px}nav{width:100%;justify-content:space-between;gap:10px}nav a{font-size:12px}.small{padding:10px 12px}.hero{grid-template-columns:1fr;padding:40px 6%;min-height:auto}.hero h1 br:nth-child(2){display:none}h1{font-size:60px}.hero-photo img{height:380px;border-radius:130px 130px 0 0}.hero-photo figcaption{text-align:center}.occasion-strip{gap:12px;font-size:10px}.occasion-strip span{display:none}.section-heading,.about,.inquiry{grid-template-columns:1fr;gap:30px}.section{padding:55px 6%}.section-heading{margin-bottom:28px}.offering-grid{gap:30px 20px}h3{font-size:23px}.story-mark{max-width:220px;font-size:130px}.steps{grid-template-columns:1fr;gap:20px}.steps h3{margin-top:8px}form{padding:24px 18px}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}footer{flex-direction:column;align-items:flex-start}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.gallery{padding-top:60px;border-top:1px solid var(--line)}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.gallery-grid img{width:100%;height:410px;object-fit:cover;display:block}.gallery-grid figure:nth-child(3) img{object-position:center 55%}.gallery-grid a{display:block;overflow:hidden}.gallery-grid figcaption{font:italic 21px Georgia,serif;color:var(--blue);padding-top:18px}.floral-brand{max-width:1180px;margin:30px auto 0;padding:0 5%}.floral-brand img{display:block;width:100%;height:auto;max-height:235px;object-fit:contain}.hero{padding-top:30px}.hero-photo img{border-radius:150px 150px 0 0}.brand-logo img{width:290px;height:auto;display:block}.about .story-mark{font-size:155px}nav{gap:22px}@media(max-width:650px){.gallery-grid{grid-template-columns:1fr;gap:32px}.gallery-grid img{height:auto;max-height:540px;object-fit:contain;background:var(--light)}.gallery-grid figcaption{font-size:20px}.floral-brand{margin-top:20px;padding:0 3%}.floral-brand img{max-height:none}.hero{padding-top:28px}nav{flex-wrap:wrap;justify-content:flex-start;gap:12px 18px}.brand-logo img{width:260px}}
.coming-soon{align-self:flex-start;display:inline-block;padding:4px 12px;margin-top:12px;background:var(--light);border:1px solid var(--line);color:var(--blue);font-size:12px;letter-spacing:1px;text-transform:uppercase}.hero-photo img{height:auto;aspect-ratio:1.4;object-fit:contain;border-radius:0;background:#f8f6f2}.gallery-grid img{height:410px;object-fit:contain;background:#f8f6f2}.gallery-grid{row-gap:42px}@media(max-width:650px){.hero-photo img{height:auto;aspect-ratio:auto}.gallery-grid img{height:auto;max-height:540px;object-fit:contain}}
/* Flexible layouts and touch controls for phones and tablets. */
header>*,.hero>*,.section>*,.section-heading>*,.offering-grid>*,.gallery-grid>*,.form-grid>*{min-width:0}
img{max-width:100%}textarea{resize:vertical}button,input,select,textarea{max-width:100%}a,button,input,select,textarea,summary{touch-action:manipulation}
@media(max-width:1050px){header{flex-wrap:wrap}header nav{width:100%;justify-content:flex-start;flex-wrap:wrap}header nav a{display:flex;align-items:center;min-height:44px;padding:9px 12px}header nav .button{padding:12px 20px}.inquiry{grid-template-columns:1fr;gap:32px}.inquiry>div>p{max-width:650px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){html{scroll-padding-top:24px}.hero{grid-template-columns:minmax(0,1fr);min-height:0;gap:28px}.hero-copy{max-width:620px}.hero h1{font-size:clamp(44px,8vw,64px)}.hero h1 br:nth-child(2){display:none}.hero-photo{width:100%;max-width:680px;margin:auto}.section-heading,.about{grid-template-columns:minmax(0,1fr);gap:24px}.about .story-mark{max-width:200px;font-size:120px}.section{padding:52px 6%}.section-heading{margin-bottom:28px}.steps{gap:26px}.hero-photo img{height:auto;aspect-ratio:auto}.floral-brand{margin-top:20px}}
@media(max-width:540px){body{font-size:16px;line-height:1.65}header{padding:20px 6%;gap:18px}.brand{font-size:clamp(21px,6.4vw,28px);white-space:normal}.brand span{font-size:11px;letter-spacing:1.8px}header nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}header nav a{justify-content:center;text-align:center;font-size:14px;min-height:46px;border:1px solid var(--line);padding:10px 8px}header nav .button{padding:10px 8px}.hero{padding:28px 6% 36px}.hero h1{font-size:clamp(42px,12.5vw,62px);letter-spacing:-1px}.eyebrow{font-size:12px;letter-spacing:1.8px;overflow-wrap:anywhere}.intro{font-size:17px}.actions{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin-top:24px}.actions>a{min-height:48px;display:flex;align-items:center;justify-content:center;font-size:16px}.hero-note{margin-top:18px;font-size:15px}.hero-photo figcaption{font-size:13px}.occasion-strip{display:block;font-size:12px;line-height:2;letter-spacing:1px;word-spacing:4px}.occasion-strip span{display:inline;padding:0 3px}h2{font-size:clamp(30px,8.5vw,38px);letter-spacing:-.6px;overflow-wrap:break-word}h3{font-size:26px}.offering-grid,.gallery-grid,.steps,.form-grid{grid-template-columns:minmax(0,1fr)}.offering-grid{gap:28px}.offering-grid p,.steps p{font-size:16px}.offering-grid .best{font-size:12px}.offering-grid a,.text-link,.email,footer>a:not(.brand){display:inline-flex;align-items:center;min-height:44px;font-size:15px}.offering-grid .best{margin-top:0;padding-top:8px}.gallery-grid{gap:28px}.gallery-grid img{height:auto;max-height:none;object-fit:contain}.gallery-grid figcaption{font-size:21px;padding-top:12px}.about .story-mark{max-width:180px;font-size:110px;margin-bottom:16px}.pricing-note{font-size:14px}form{padding:24px 16px}.form-grid{gap:18px}.full{grid-column:auto}label{font-size:15px}input,select,textarea{font-size:16px;min-height:48px;width:100%}input[type=date]{appearance:none;-webkit-appearance:none;display:block;min-width:0}form .button{width:100%;font-size:16px;min-height:50px;white-space:normal}.form-note,#form-status,#email-fallback p{font-size:14px}.faq summary{min-height:44px;display:list-item;padding:9px 0;font-size:16px}.faq details{padding:8px 0;font-size:16px}footer{padding:32px 6%;gap:16px}footer p{margin:0}footer .brand{max-width:100%}}
@media(max-width:800px){.hero h1 em{display:block}}
