*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#faf8f3;color:#635b4a;font:16px/1.7 Georgia,serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}a:focus-visible,button:focus-visible{outline:2px solid #79643e;outline-offset:5px}header{background:#e8e3d7;border-bottom:1px solid #d6cbb7}.wrap{width:min(1000px,86%);margin:auto}.nav{display:flex;align-items:center;justify-content:space-between;min-height:100px;gap:25px}.brand{font-size:23px;letter-spacing:2px;color:#786644}nav{display:flex;gap:35px;font-size:13px;letter-spacing:2px}nav a[aria-current=page]{border-bottom:1px solid #8c7956}.hero{text-align:center;background:#eee9df;padding:85px 20px 65px}.hero .inner{max-width:850px;margin:auto;border-bottom:1px solid #c5b79c;padding-bottom:40px}h1,h2,h3{font-weight:normal;line-height:1.15}h1{font-size:clamp(40px,5vw,60px);margin:18px 0}h2{font-size:38px;margin:12px 0 25px}h3{font-size:28px;margin:0 0 18px}.hero p{max-width:530px;margin:20px auto}.eyebrow{font:10px Arial,sans-serif;letter-spacing:3px;text-transform:uppercase;color:#806c48}.section{padding:70px 0}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.feature{border:1px solid #c8b99e;padding:32px 28px;min-height:245px}.feature p{font-size:15px;margin:0;color:#776e5e}.actions{text-align:center;display:flex;justify-content:center;gap:20px;flex-wrap:wrap;margin-top:30px}.button{display:inline-block;border:1px solid #a38c65;border-radius:3px;padding:12px 28px;background:transparent;color:#675538;font:11px/1.5 Arial,sans-serif;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer}.button:hover{background:#e8dfce}.primary{background:#766242;color:#fff}.primary:hover{background:#5d4d34}.about{background:#f0ece4}.about-grid{display:grid;grid-template-columns:.7fr 1fr;gap:70px;align-items:center}.monogram{border:1px solid #c6b89d;padding:40px;text-align:center}.monogram span{display:block;font:italic 100px Georgia;color:#a38b61}.monogram small{font:9px Arial;letter-spacing:2px}.signature{font-style:italic;font-size:28px;color:#88704b}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.step{border-top:1px solid #c8baa0;padding-top:20px}.step h3{font-size:25px}.number{display:block;font-style:italic;font-size:28px;color:#a08a64;margin-bottom:15px}.hero img{display:block;width:250px;max-width:100%;margin:25px auto 0;border-radius:24px}.albums{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;text-align:center}.album{display:flex;flex-direction:column;align-items:center}.album h2{font-size:25px;min-height:58px}.album p{font-size:14px;flex:1}.album svg{height:115px;width:120px;margin:10px auto 20px;stroke:#9a8157;fill:none;stroke-width:1.3}.album .button{padding:12px 15px;letter-spacing:.8px}.note{text-align:center;font-size:12px;color:#807563;margin-top:40px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.details a{display:block;padding:0 0 20px;margin-bottom:20px;overflow-wrap:anywhere}.details small{display:block;font:10px Arial;letter-spacing:2px;margin-bottom:8px}.contact-image{width:85%;margin-inline:auto;display:block;border-radius:24px}label{display:block;font-size:14px;margin-bottom:15px}input,textarea{display:block;width:100%;margin-top:6px;background:#fffdf9;border:1px solid #bdad91;padding:10px;color:#514a3e;border-radius:0}textarea{min-height:140px;resize:vertical}.names{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-note{font:12px/1.6 Arial;color:#776e5e}.form-status{font-size:14px}footer{background:#e8e3d7;padding:30px 0;text-align:center}footer nav{justify-content:center;margin-bottom:20px}footer small{font-size:11px}.skip{position:absolute;top:-100px}.skip:focus{top:0;background:white;padding:15px}@media(max-width:700px){.nav{flex-direction:column;justify-content:center;padding:22px 0;gap:17px}nav{gap:26px;font-size:12px}.brand{font-size:21px}.hero{padding:55px 20px 40px}.features,.about-grid,.steps,.contact-grid{grid-template-columns:1fr;gap:25px}.albums{grid-template-columns:1fr 1fr;gap:40px 22px}.album h2{font-size:23px}.section{padding:45px 0}.feature{min-height:0}.contact-image{max-width:306px;margin:auto;display:block}.names{gap:12px}h2{font-size:32px}}@media(max-width:400px){.albums{grid-template-columns:1fr}.album h2{min-height:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.hero img,.contact-image{height:auto}

.feature{position:relative;padding-bottom:82px}.feature-icon{position:absolute;right:20px;bottom:16px;width:48px;height:52px;color:#a18a60;stroke:currentColor;stroke-width:1;fill:none;stroke-linecap:round;stroke-linejoin:round}

@media(min-width:701px){.albums{align-items:start}.album:nth-child(odd){margin-top:0}.album:nth-child(even){margin-top:176px}}

.hero .albums-heading{font-size:clamp(28.8px,3.6vw,43.2px);text-wrap:balance;line-height:1.25;margin-bottom:38px}

.details a[href^="mailto:"]{font-size:14px}select{display:block;width:100%;margin-top:6px;background:#fffdf9;border:1px solid #bdad91;padding:12px 10px;color:#514a3e;font:inherit;border-radius:0}.form-honey{display:none}

/* Quiet, one-time entrances and gentle pointer feedback. */
@media(prefers-reduced-motion:no-preference){
 .button{transition:background-color .22s ease,color .22s ease,border-color .22s ease}
 .hero img,.contact-image,.album svg{transition:transform .28s ease,box-shadow .28s ease}
 .album-pending{opacity:0;transform:translateY(24px)}
 .album-revealed{animation:album-reveal 1.35s cubic-bezier(.22,.61,.36,1) backwards}
 @keyframes album-reveal{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
}
@media(hover:hover) and (pointer:fine){
 .button:hover{background:#e7dcc8;border-color:#8c7550;color:#514329}
 .primary:hover{background:#88704d;border-color:#88704d;color:#fff}
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .contact-image:hover{transform:translateY(-4px);box-shadow:0 8px 18px #67553812}

}

.contact-captcha{margin:20px 0;max-width:100%}.button:disabled{opacity:.55;cursor:default}

.confirmation{min-height:65vh;display:grid;place-items:center}.confirmation .inner{width:100%;max-width:760px;border:1px solid #d6cbb7;border-radius:24px;background:#faf8f3;padding:48px 24px}.confirmation h1{font-size:clamp(30px,4.5vw,44px);text-wrap:balance}.confirmation-mark{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 24px;border:1px solid #bdad91;border-radius:50%;color:#806c48;background:#eee9df}.confirmation p{max-width:540px}.confirmation .actions{gap:12px}

@media(min-width:701px){.contact-form-grid{grid-template-rows:auto auto;row-gap:0}.contact-form-grid .contact-image{grid-column:1;grid-row:1;align-self:center;position:relative;top:10px}.contact-form-grid form{grid-column:2;grid-row:1 / span 2;display:grid;grid-template-rows:subgrid}.contact-fields{grid-row:1}.contact-send-controls{grid-row:2}}

.album{position:relative;isolation:isolate;cursor:pointer}.album>.button::after{content:"";position:absolute;inset:0;z-index:1}.album:focus-within{outline:1px solid #a38c65;outline-offset:10px;border-radius:8px}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.album{transition:transform .4s ease;transform-origin:center}.album:hover,.album:focus-within{transform:scale(1.06)}}

.hero .album-logo-link{display:block;width:250px;max-width:100%;margin:25px auto 0;border-radius:24px}.hero .album-logo-link img{width:100%;margin:0;transform-origin:center;transition:transform .4s ease}.hero .album-logo-link:focus-visible{outline-offset:12px}@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.hero .album-logo-link:hover img,.hero .album-logo-link:focus-visible img{transform:scale(1.08)}}@media(prefers-reduced-motion:reduce){.hero .album-logo-link img{transition:none}}

.albums-hero{padding:80px 20px 74px}.albums-hero .inner{padding-bottom:84px}.albums-hero .albums-heading{margin-bottom:0}.album-gallery{width:min(1440px,94%);padding-top:104px;padding-bottom:110px}.album-gallery .albums{grid-template-columns:repeat(5,minmax(0,1fr));gap:76px}@media(min-width:701px) and (max-width:1200px){.album-gallery .albums{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:700px){.albums-hero{padding:58px 20px 48px}.album-gallery{width:86%;padding-top:72px;padding-bottom:80px}.album-gallery .albums{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 26px}}@media(max-width:400px){.album-gallery .albums{grid-template-columns:1fr}}

/* Give the Home-page features their own wider rhythm. */
.feature-section{width:min(1180px,92%)}
.feature-section .features{gap:32px}
.feature-section .feature{min-height:320px;padding:38px 32px 108px}
.feature-section .feature h2{font-size:clamp(34px,3.4vw,42px);line-height:1.16;margin:12px 0 26px}
.feature-section .feature p{font-size:17px;line-height:1.75}
.feature-section .feature-icon{width:64px;height:70px;right:24px;bottom:20px}
@media(min-width:701px) and (max-width:1000px){.feature-section .features{gap:24px}.feature-section .feature{padding:30px 24px 108px}.feature-section .feature h2{font-size:clamp(27px,3.2vw,32px)}}
@media(max-width:700px){.feature-section{width:86%}.feature-section .features{gap:28px}.feature-section .feature{min-height:285px;padding:30px 28px 108px}.feature-section .feature h2{font-size:36px}}

.about-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:70px}
.about-copy{text-align:left}
.about-floral{display:flex;align-items:center;justify-content:center;min-width:0;pointer-events:none}
.about-floral img{display:block;width:100%;max-width:340px;height:380px;object-fit:contain;transform:rotate(8deg)}
@media(max-width:700px){.about-grid{grid-template-columns:1fr;gap:22px}.about-floral{justify-content:flex-end}.about-floral img{max-width:240px;height:260px;margin-right:12px}}

.feature-section,.about.section{padding-top:110px;padding-bottom:110px}.about-floral img{opacity:.72}@media(max-width:700px){.feature-section,.about.section{padding-top:76px;padding-bottom:76px}}

.hero .home-logo-link{display:block;width:160px;max-width:45vw;margin:24px auto 28px;border-radius:16px}
.hero .home-logo-link img{width:100%;height:auto;margin:0;border-radius:16px}
.feature-section{width:min(1280px,94%)}
.feature-section .features{gap:48px}
.feature-section .feature{min-height:390px;padding:44px 34px 116px}
.feature-section>.actions{margin-top:54px}
.about-floral{display:grid;place-items:end start;width:100%;max-width:340px;height:430px;justify-self:center}
.about-floral img{grid-area:1 / 1;width:260px;max-width:none;height:390px;margin:0;transform-origin:10% 98%}
.about-floral .floral-sprig-primary{transform:rotate(8deg);opacity:.72}
.about-floral .floral-sprig-secondary{transform:rotate(32deg) scale(.78);opacity:.65}
#process{padding-top:120px;padding-bottom:130px}
#process .steps{margin-top:38px;gap:42px}
#process .step{padding-top:28px}
@media(min-width:701px) and (max-width:1000px){.feature-section .features{gap:30px}.feature-section .feature{padding:34px 24px 112px}}
@media(max-width:700px){.hero .home-logo-link{width:140px;margin:22px auto 26px}.feature-section{width:86%}.feature-section .features{gap:32px}.feature-section .feature{min-height:330px;padding:34px 28px 108px}.feature-section>.actions{margin-top:42px}.about-floral{max-width:250px;height:310px;justify-self:end}.about-floral img{width:180px;height:270px;margin:0}#process{padding-top:86px;padding-bottom:92px}#process .steps{margin-top:30px;gap:38px}}

.about-divider{width:min(850px,86%);height:0;border:0;border-top:1px solid #c5b79c;margin:48px auto 0}

.album-gallery .note{margin-top:124px}@media(max-width:700px){.album-gallery .note{margin-top:70px}}

@media(min-width:701px){.contact-grid>.details{padding-top:10px}}
