
:root{
  --ink:#181514;--text:#352c29;--muted:#746861;--gold:#ad7a31;--gold-dark:#835a20;--rose:#aa285d;--rose-dark:#7d1742;
  --cream:#fbf8f3;--warm:#f3ece2;--blush:#fbf1f3;--line:#eadfce;--white:#fff;--shadow:0 18px 55px rgba(44,31,25,.12);
  --serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif;--max:1180px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;color:var(--text);background:#fff;font-family:var(--sans);line-height:1.72}img{display:block;width:100%;max-width:100%}a{color:inherit}.container{width:min(var(--max),calc(100% - 42px));margin:auto}.narrow{max-width:790px}.center{text-align:center}.top-space{margin-top:36px}
.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.96);border-bottom:1px solid rgba(173,122,49,.18);backdrop-filter:blur(12px)}.header-inner{min-height:122px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{flex:0 0 auto}.brand img{width:230px;height:110px;object-fit:contain}.nav{display:flex;align-items:center;gap:21px}.nav>a:not(.nav-button){font-size:.71rem;font-weight:700;text-decoration:none;text-transform:uppercase;letter-spacing:.11em;padding:37px 0 32px;border-bottom:3px solid transparent}.nav>a:hover,.nav>a.active{color:var(--rose-dark);border-color:var(--rose)}.nav-button{padding:12px 16px;background:var(--rose-dark);color:#fff;text-decoration:none;text-transform:uppercase;letter-spacing:.09em;font-size:.7rem;font-weight:700}.menu-toggle{display:none;width:42px;height:42px;border:0;background:transparent;padding:8px}.menu-toggle span{display:block;height:2px;background:var(--ink);margin:6px 0}
.eyebrow{display:inline-block;margin-bottom:13px;color:var(--gold-dark);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.19em}.eyebrow.light{color:#ddb574}h1,h2,h3,blockquote{font-family:var(--serif)}h1,h2,h3{color:var(--ink);margin-top:0}h1{font-size:clamp(3rem,6vw,6.3rem);line-height:.95;letter-spacing:-.035em}h2{font-size:clamp(2.35rem,4.5vw,4.3rem);line-height:1.05;letter-spacing:-.025em}h3{font-size:1.7rem;line-height:1.15}.lead{font-family:var(--serif);font-size:1.45rem;line-height:1.55}.script-line{font-family:var(--serif);font-size:1.4rem;font-style:italic;color:var(--rose-dark)}
.button-row{display:flex;gap:13px;flex-wrap:wrap;margin-top:30px}.button{min-height:49px;display:inline-flex;align-items:center;justify-content:center;padding:0 24px;border:1px solid transparent;text-decoration:none;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.11em;cursor:pointer;font-family:var(--sans)}.button.primary{background:var(--rose-dark);color:#fff}.button.primary:hover{background:var(--rose)}.button.secondary{border-color:var(--gold);color:var(--gold-dark);background:#fff}.button.secondary:hover{background:var(--gold);color:#fff}.button.white{background:#fff;color:var(--rose-dark)}.button.full{width:100%}.text-link{display:inline-block;margin-top:10px;color:var(--rose-dark);font-size:.74rem;font-weight:700;text-decoration:none;text-transform:uppercase;letter-spacing:.11em}.text-link span{font-size:1.2rem;margin-left:4px}.light-link{color:#f7d9e5}
.hero{background:linear-gradient(135deg,#fff 0%,#fdf9f3 58%,#f6eadf 100%);overflow:hidden}.hero-grid{min-height:720px;display:grid;grid-template-columns:1.03fr .97fr;gap:66px;align-items:center;padding:72px 0}.hero-copy h1 em{color:var(--rose-dark);font-weight:normal}.hero-lead{max-width:680px;font-size:1.06rem;line-height:1.85}.hero-image{margin:0;background:#fff;box-shadow:var(--shadow);border:1px solid rgba(173,122,49,.24);padding:12px}.hero-image img{height:585px;object-fit:cover}.hero-image figcaption{padding:15px 12px 4px;text-align:center;font-family:var(--serif);font-size:1.08rem;font-style:italic;color:var(--rose-dark)}.trust-list{display:flex;flex-wrap:wrap;gap:11px 22px;margin-top:30px;color:#6c5c52;font-family:var(--serif);font-size:.98rem}.trust-list span:before{content:'•';color:var(--rose);padding-right:8px}
.section{padding:96px 0}.cream{background:var(--cream)}.rose-wash{background:linear-gradient(135deg,#fff 0%,var(--blush) 100%)}.dark{background:#1d1816;color:#e9dfd9}.dark h2,.dark h3,.dark blockquote{color:#fff}.intro-section .lead{margin:26px 0 15px}.split-heading{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end;margin-bottom:45px}.split-heading>p{margin:0;max-width:560px}.section-title{margin:0 auto 45px}
.service-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.service-card{background:#fff;border:1px solid var(--line);text-decoration:none;overflow:hidden;transition:.25s;box-shadow:0 8px 24px rgba(40,28,23,.04)}.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.service-card img{height:220px;object-fit:cover}.service-card>div{padding:24px}.service-card span{color:var(--rose);font-family:var(--serif)}.service-card h3{margin:18px 0 10px}.service-card p{margin:0;color:#5d514b}
.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}.feature-grid.reverse>.large-photo{order:1}.feature-grid.reverse>.feature-copy{order:2}.feature-copy p{max-width:590px}.photo-collage{position:relative;min-height:620px}.photo-collage img{position:absolute;object-fit:cover;box-shadow:var(--shadow)}.collage-main{width:72%;height:570px;left:0;top:0}.collage-small{width:43%;height:265px;right:0;border:8px solid #fff}.collage-small.top{top:40px}.collage-small.bottom{bottom:20px}.large-photo{margin:0;box-shadow:var(--shadow)}.large-photo img{height:610px;object-fit:cover}.check-list{list-style:none;padding:0;margin:24px 0}.check-list li{position:relative;padding:8px 0 8px 27px}.check-list li:before{content:'✦';position:absolute;left:0;color:var(--gold)}
.kitchen-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-auto-rows:260px;gap:16px}.tile{margin:0;position:relative;overflow:hidden;background:var(--warm)}.tile img{height:100%;object-fit:cover}.tile.tall{grid-row:span 2}.tile.wide{grid-column:span 2}.tile figcaption{position:absolute;left:0;right:0;bottom:0;padding:46px 18px 16px;color:#fff;background:linear-gradient(to top,rgba(25,16,13,.78),transparent);font-size:.72rem;text-transform:uppercase;letter-spacing:.11em;font-weight:700}
.about-grid,.story-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px}.about-home blockquote,.quote-panel blockquote{border-left:2px solid var(--rose);padding-left:26px;margin:30px 0;font-size:1.5rem;line-height:1.5}.about-home p{color:#e4d9d1}.preview-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:12px}.preview-grid img{height:100%;object-fit:cover}.preview-grid img:nth-child(1),.preview-grid img:nth-child(6){grid-row:span 2}.cta-band{background:var(--rose-dark);color:#fff;padding:58px 0}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:35px}.cta-inner h2{color:#fff;margin:0 0 10px;font-size:clamp(2.3rem,4vw,3.8rem)}.cta-inner p{margin:0;color:#f3dde6;max-width:750px}
.page-hero{background:linear-gradient(135deg,#fff,#fbf5ed);padding:72px 0}.page-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center;min-height:520px}.page-hero h1{font-size:clamp(3rem,5.4vw,5.4rem)}.page-hero p{font-size:1.05rem;max-width:620px}.page-hero img{height:500px;object-fit:cover;box-shadow:var(--shadow)}.page-hero.simple{padding:105px 0}.page-hero.simple h1{margin-bottom:20px}
.event-grid{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid var(--line);border-top:1px solid var(--line)}.event-grid article{padding:30px 25px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.event-grid p{margin:0}.stacked-photos{display:grid;grid-template-columns:1fr 1fr;gap:14px}.stacked-photos img{height:500px;object-fit:cover}.menu-columns{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.menu-columns>div{padding:30px;background:var(--cream);border-top:3px solid var(--gold)}.menu-columns p{margin-bottom:0}.image-band{padding-top:20px}.image-band-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.image-band figure{margin:0;position:relative;overflow:hidden}.image-band img{height:390px;object-fit:cover}.image-band figcaption{position:absolute;bottom:0;left:0;right:0;padding:45px 18px 16px;background:linear-gradient(to top,rgba(20,15,13,.75),transparent);color:#fff;font-size:.73rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700}
.cake-types,.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.cake-types article,.values-grid article{padding:30px;border:1px solid var(--line);background:#fff}.values-grid{grid-template-columns:repeat(4,1fr)}.values-grid span{color:var(--rose);font-family:var(--serif);font-size:1.2rem}.gallery-mini{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:260px 260px;gap:12px}.gallery-mini img{height:100%;object-fit:cover}.cake-showcase{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.cake-showcase img{height:390px;object-fit:cover}.quote-panel{max-width:900px;text-align:center}.quote-panel p{color:#e7ddd6;font-size:1.08rem}.quote-panel blockquote{border:0;padding:0;font-size:2rem}
.gallery-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin-bottom:36px}.filter{border:1px solid var(--line);background:#fff;padding:10px 15px;cursor:pointer;text-transform:uppercase;letter-spacing:.08em;font-size:.68rem;font-weight:700}.filter:hover,.filter.active{background:var(--rose-dark);color:#fff;border-color:var(--rose-dark)}.full-gallery{columns:4 245px;column-gap:14px}.gallery-item{break-inside:avoid;margin:0 0 14px}.gallery-open{display:block;width:100%;padding:0;border:0;background:#fff;cursor:pointer;text-align:left;position:relative;overflow:hidden}.gallery-open img{width:100%;height:auto;transition:transform .3s}.gallery-open:hover img{transform:scale(1.018)}.gallery-open span{position:absolute;left:0;right:0;bottom:0;padding:40px 13px 12px;background:linear-gradient(to top,rgba(22,16,14,.72),transparent);color:#fff;font-size:.66rem;text-transform:uppercase;letter-spacing:.09em;font-weight:700}.gallery-item.hidden{display:none}.lightbox{position:fixed;inset:0;background:rgba(15,12,11,.94);z-index:2000;display:none;align-items:center;justify-content:center;padding:58px}.lightbox.open{display:flex}.lightbox img{max-width:min(1200px,92vw);max-height:82vh;width:auto;height:auto;box-shadow:0 12px 60px rgba(0,0,0,.4)}.lightbox-close{position:absolute;right:24px;top:14px;border:0;background:transparent;color:#fff;font-size:2.5rem;cursor:pointer}.lightbox-caption{position:absolute;bottom:16px;left:20px;right:20px;color:#fff;text-align:center;font-family:var(--serif);font-size:1.1rem}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}.contact-card{margin-top:28px;padding:24px;background:var(--cream);border-left:3px solid var(--gold)}.small-note{color:var(--muted);font-size:.88rem;margin-top:26px}.inquiry-form{background:#fff;padding:35px;box-shadow:var(--shadow);border-top:3px solid var(--gold)}.inquiry-form label{display:block;margin-bottom:17px;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.inquiry-form input,.inquiry-form textarea,.inquiry-form select{width:100%;margin-top:8px;padding:13px 14px;border:1px solid #ded3c7;font:inherit;font-size:.95rem;color:var(--text);background:#fff;text-transform:none;letter-spacing:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.checkbox-row{display:flex;flex-wrap:wrap;gap:12px 18px;margin-top:10px}.checkbox-row span{display:flex;align-items:center;gap:7px;text-transform:none;letter-spacing:0;font-weight:normal}.checkbox-row input{width:auto;margin:0}.form-status{margin:14px 0 0;text-align:center;color:var(--rose-dark);font-weight:700}.faq-list{max-width:860px;margin:auto}.faq-list details{border-bottom:1px solid var(--line);padding:18px 0}.faq-list summary{cursor:pointer;font-family:var(--serif);font-size:1.25rem;font-weight:700;color:var(--ink)}.faq-list p{padding-right:40px}.domain-large{font-family:var(--serif);font-size:1.3rem;color:var(--rose-dark)}
.site-footer{background:#171311;color:#d8cec8;padding:55px 0 20px}.footer-grid{display:grid;grid-template-columns:1.3fr .7fr .8fr 1fr;gap:45px}.footer-brand img{width:225px;background:#fff;padding:10px}.footer-brand p{max-width:270px;font-family:var(--serif);font-style:italic}.site-footer h3{color:#fff;font-size:1.2rem;margin-bottom:16px}.site-footer a{display:block;color:#d8cec8;text-decoration:none;margin:7px 0;font-size:.88rem}.site-footer a:hover{color:#fff}.site-footer p{font-size:.88rem}.domain{color:#ddb574}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:35px;padding-top:18px;display:flex;justify-content:space-between;gap:20px;font-size:.78rem;color:#a99c94}
@media(max-width:1000px){.menu-toggle{display:block}.nav{display:none;position:absolute;top:99px;left:0;right:0;background:#fff;padding:20px;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}.nav.open{display:flex}.nav>a:not(.nav-button){padding:10px 0;border-bottom:0}.hero-grid,.page-hero-grid,.feature-grid,.about-grid,.story-grid,.contact-grid,.split-heading{grid-template-columns:1fr}.hero-grid{min-height:auto}.hero-image img{height:520px}.service-cards{grid-template-columns:repeat(2,1fr)}.event-grid{grid-template-columns:repeat(2,1fr)}.values-grid{grid-template-columns:repeat(2,1fr)}.photo-collage{max-width:720px}.footer-grid{grid-template-columns:1fr 1fr}.preview-grid{grid-template-columns:repeat(3,1fr)}.page-hero-grid{min-height:auto}.page-hero img{height:480px}.feature-grid.reverse>.large-photo,.feature-grid.reverse>.feature-copy{order:initial}.split-heading{gap:20px}}
@media(max-width:720px){.container{width:min(100% - 28px,var(--max))}.header-inner{min-height:98px}.brand img{width:180px;height:86px}.nav{top:85px}.section{padding:70px 0}.hero-grid{padding:50px 0;gap:36px}.hero-image img{height:430px}.trust-list{display:grid}.service-cards,.event-grid,.menu-columns,.cake-types,.values-grid,.stacked-photos,.image-band-grid,.cake-showcase,.contact-grid{grid-template-columns:1fr}.service-card img{height:260px}.feature-grid{gap:40px}.photo-collage{min-height:470px}.collage-main{height:440px;width:76%}.collage-small{height:190px}.large-photo img{height:460px}.kitchen-grid{grid-template-columns:1fr;grid-auto-rows:300px}.tile.tall,.tile.wide{grid-row:auto;grid-column:auto}.preview-grid{grid-template-columns:1fr 1fr;grid-auto-rows:190px}.preview-grid img:nth-child(1),.preview-grid img:nth-child(6){grid-row:auto}.cta-inner{display:block}.cta-inner .button{margin-top:25px}.page-hero{padding:55px 0}.page-hero img{height:410px}.gallery-mini{grid-template-rows:210px 210px}.cake-showcase img{height:420px}.form-row{grid-template-columns:1fr}.inquiry-form{padding:24px 18px}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:grid}.lightbox{padding:36px 15px}.full-gallery{columns:2 150px}}
@media(max-width:480px){h1{font-size:2.8rem}.preview-grid{grid-template-columns:1fr}.hero-image img{height:370px}.service-card img{height:235px}.photo-collage{min-height:440px}.collage-main{width:100%;height:400px}.collage-small{display:none}.gallery-mini{grid-template-columns:1fr;grid-template-rows:repeat(4,270px)}.full-gallery{columns:1}.page-hero img{height:330px}}


/* August 2026 website revisions */
.service-card>div{padding-top:26px}
.service-card>div>h3{margin-top:0}
.footer-contact-links{margin-top:10px}
.footer-contact-links a{margin:5px 0}
.inquiry-email{margin-top:18px;font-size:.92rem}
.inquiry-email a{color:var(--rose-dark);font-weight:700;text-decoration:none}
.contact-social{display:flex;gap:16px;flex-wrap:wrap;margin-top:12px}
.contact-social a{color:var(--rose-dark);font-weight:700;text-decoration:none}
.contact-social a:hover,.inquiry-email a:hover{text-decoration:underline}
@media(max-width:980px){.brand img{width:205px;height:98px}.header-inner{min-height:110px}}
@media(max-width:720px){.brand img{width:180px!important;height:86px!important}.header-inner{min-height:98px!important}}

@media(max-width:720px){.nav{top:97px}}


/* Live inquiry form */
.hp-field{
  position:absolute !important;
  left:-10000px !important;
  top:auto !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}
.inquiry-form button[disabled]{
  opacity:.7;
  cursor:wait;
}
.form-status{
  min-height:1.4em;
}
