:root{--bg:#fff;--paper:#fff;--beige:#f3eadf;--powder:#efd3d8;--ink:#3b2a2e;--deep:#7a3f4e;--gold:#b88f57;--muted:#6b5358;--font-display:"EB Garamond", Garamond, "Times New Roman", serif;--font-text:"Karla", "Helvetica Neue", Arial, sans-serif;--gutter:clamp(20px, 5vw, 72px);--ease-out:cubic-bezier(.23, 1, .32, 1)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{overflow-wrap:anywhere;background:var(--bg);color:var(--ink);font:400 17px/1.6 var(--font-text);-webkit-font-smoothing:antialiased;margin:0}img{max-width:100%;height:auto;display:block}a{color:var(--deep)}a[href^=mailto]{align-items:center;min-height:44px;display:inline-flex}.site-footer>div{min-width:0}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--deep);outline-offset:3px}.skip{background:var(--ink);color:#fff;z-index:10;padding:10px 16px;position:absolute;top:8px;left:-999px}.skip:focus{left:8px}h1,h2,h3{font-family:var(--font-display);text-wrap:balance;margin:0;font-weight:400;line-height:1.1}h1{letter-spacing:-.01em;font-size:clamp(2.5rem,6vw,5.4rem)}h2{font-size:clamp(2rem,4vw,3.2rem)}h3{font-size:clamp(1.4rem,2.4vw,1.9rem)}p{max-width:62ch;margin:0 0 1.1rem}.eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--deep);margin:0 0 1rem;font-size:.78rem;font-weight:700}.rule{background:var(--gold);width:4.5rem;height:1px;margin:1.4rem 0 1.6rem;display:block}.spark{color:var(--gold);font-family:var(--font-display);letter-spacing:.4em;font-size:1.2rem}.site-header{padding:22px var(--gutter);border-bottom:1px solid color-mix(in oklab, var(--gold) 35%, transparent);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;display:flex}.brand{font-family:var(--font-display);color:var(--ink);letter-spacing:.02em;font-size:1.5rem;text-decoration:none}.site-header nav{flex-wrap:wrap;gap:6px 22px;display:flex}.site-header nav a{color:var(--ink);align-items:center;min-height:44px;padding:10px 0;font-size:.95rem;text-decoration:none;display:inline-flex}.site-header nav a[aria-current=page],.site-header nav a:hover{color:var(--deep);text-underline-offset:.4em;text-decoration:underline}.hero{padding:clamp(40px, 7vw, 96px) var(--gutter) 0;max-width:1280px;margin:0 auto}.hero-text{gap:1.2rem;padding-bottom:clamp(28px,5vw,56px);display:grid}.hero-text .slogan{font-family:var(--font-display);color:var(--deep);max-width:34ch;margin:0;font-size:clamp(1.3rem,2.4vw,1.8rem);font-style:italic}.hero-frame{aspect-ratio:16/10;background:var(--powder);margin:0;overflow:hidden}.hero-frame img{object-fit:cover;width:100%;height:100%}.btn{background:var(--ink);color:#fff;letter-spacing:.04em;min-height:48px;transition:background-color .2s var(--ease-out);justify-content:center;align-items:center;padding:0 26px;font-weight:700;text-decoration:none;display:inline-flex}.btn:hover{background:var(--deep)}.btn-ghost{color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);background:0 0}.btn-ghost:hover{background:var(--ink);color:#fff}.links{flex-wrap:wrap;gap:12px;display:flex}@media (width>=600px){.hero-frame{aspect-ratio:21/9}}@media (width>=900px){.hero-text{grid-template-columns:minmax(0,1.5fr) minmax(16rem,1fr);align-items:end}.hero-text .eyebrow{grid-column:1/-1}}.band{padding:clamp(56px, 9vw, 110px) var(--gutter)}.wrap{max-width:1180px;margin:0 auto}.band.powder{background:var(--powder)}.band.paper{background:var(--paper)}.band.beige{background:var(--beige)}.split{align-items:center;gap:clamp(28px,5vw,72px);display:grid}@media (width>=900px){.split{grid-template-columns:1fr 1fr}.split.rev>:first-child{order:2}}.lead{color:var(--ink);font-size:clamp(1.15rem,2vw,1.35rem);line-height:1.55}.centre{text-align:center}.centre p{margin-left:auto;margin-right:auto}.services{counter-reset:s;gap:0;margin:0;padding:0;list-style:none;display:grid}.services li{border-top:1px solid color-mix(in oklab, var(--gold) 45%, transparent);grid-template-columns:3.2rem 1fr;align-items:baseline;gap:6px 18px;padding:22px 0;display:grid}.services li:last-child{border-bottom:1px solid color-mix(in oklab, var(--gold) 45%, transparent)}.services .num{font-family:var(--font-display);color:var(--deep);font-size:1.3rem}.services .name{font-family:var(--font-display);font-size:clamp(1.35rem,2.4vw,1.8rem)}@media (width>=900px){.services{grid-template-columns:1fr 1fr;column-gap:72px}.services li:nth-last-child(-n+2){border-bottom:1px solid color-mix(in oklab, var(--gold) 45%, transparent)}}.gallery{gap:clamp(20px,3vw,36px);display:grid}@media (width>=800px){.gallery{grid-template-columns:1fr 1fr}}.gallery figure{margin:0}.gallery .frame{aspect-ratio:4/5;background:var(--powder);overflow:hidden}.gallery img{object-fit:cover;width:100%;height:100%}.gallery figcaption{color:var(--muted);margin-top:12px;font-size:.95rem}.gallery figcaption strong{color:var(--ink);font-weight:700}.form{gap:18px;max-width:640px;display:grid}.form label{gap:6px;font-size:.95rem;font-weight:700;display:grid}.form input,.form textarea{font:400 17px/1.5 var(--font-text);color:var(--ink);background:var(--paper);border:1px solid color-mix(in oklab, var(--ink) 30%, transparent);width:100%;min-height:48px;padding:12px 14px}.form textarea{resize:vertical;min-height:160px}.form .err{color:#8a1f2e;font-size:.9rem;font-weight:400}.form .alert{color:#8a1f2e}.form button{justify-self:start}.site-footer{padding:48px var(--gutter) 40px;border-top:1px solid color-mix(in oklab, var(--gold) 35%, transparent);flex-wrap:wrap;justify-content:space-between;gap:16px 40px;font-size:.95rem;display:flex}.site-footer nav{flex-wrap:wrap;gap:6px 20px;display:flex}.site-footer a{color:var(--ink)}.site-footer .foot-name{font-family:var(--font-display);font-size:1.25rem}.js .rv{opacity:0;transition:opacity .9s var(--ease-out), transform .9s var(--ease-out);transform:translateY(18px)}.js .rv.is-in{opacity:1;transform:none}.intro .hero-line{animation:hi-rise 1.1s var(--ease-out) both}.intro .hero-line+.hero-line{animation-delay:.12s}.intro .hero-meta{animation:hi-arrive .8s var(--ease-out) .5s both}.intro .hero-frame img{animation:1.2s cubic-bezier(.2,.65,.25,1) both hi-settle}@keyframes hi-rise{0%{opacity:.35;translate:0 .42em}to{opacity:1;translate:0}}@keyframes hi-arrive{0%{opacity:.35;translate:0 .6rem}to{opacity:1;translate:0}}@keyframes hi-settle{0%{filter:blur(6px);scale:1.06}to{filter:blur();scale:1}}@supports (animation-timeline:view()){.hero{view-timeline:--hero block}.js-motion .hero-frame{animation:linear both bars;animation-timeline:--hero;animation-range:exit-crossing 15%}.js-motion .hero-frame img{animation:linear both push;animation-timeline:--hero;animation-range:exit-crossing}.js-motion .hero-line{animation:linear both part;animation-timeline:--hero;animation-range:exit-crossing exit-crossing 60%}.js-motion .hero-line+.hero-line{animation-name:part-b}}@keyframes push{to{transform:translateY(8%)scale(1.2)}}@keyframes bars{0%{clip-path:inset(0)}to{clip-path:inset(14% 0)}}@keyframes part{to{transform:translate(-3vw,-3vh)}}@keyframes part-b{to{transform:translate(5vw)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .rv{opacity:1;transition:none;transform:none}.intro *,.js-motion *{animation:none!important}}.promo-bar{min-height:44px;padding:8px var(--gutter);background:var(--deep);color:#fff;text-align:center;letter-spacing:.04em;justify-content:center;align-items:center;font-weight:700;text-decoration:none;display:flex}.promo-bar:hover{background:var(--ink)}.promo-bar:focus-visible{outline-color:#fff}.promo-pill{background:var(--powder);color:var(--ink);border-left:3px solid var(--gold);margin:0 0 1.4rem;padding:10px 18px;font-weight:700;display:inline-block}.price-grid{grid-template-columns:1fr;gap:clamp(24px,4vw,48px);display:grid}@media (width>=900px){.price-grid{grid-template-columns:2fr 1fr;align-items:start}}.price-group{border-bottom:1px solid var(--gold);padding:14px 0}.price-group h3{color:var(--deep);margin:0 0 6px;font-size:1.15rem}.price-row{justify-content:space-between;align-items:baseline;gap:16px;margin:4px 0;display:flex}.price-row .amt{white-space:nowrap;font-variant-numeric:tabular-nums;flex:none;grid-template-columns:3.6em 2.8em 5ch;align-items:baseline;font-weight:700;display:grid}.price-row .amt .pre{text-align:right;padding-right:.25em;font-weight:400}.price-row .amt .cur{text-align:left}.price-row .amt .num{text-align:right}.price-extra{background:var(--powder);padding:clamp(20px,3vw,32px)}.price-extra h3{color:var(--ink);margin:0 0 10px}.price-note{color:var(--deep);margin:16px 0 0;font-weight:700}.shapes{grid-template-columns:1fr;gap:clamp(20px,3vw,32px);margin-top:24px;display:grid}@media (width>=720px){.shapes{grid-template-columns:1fr 1fr}}.shape{background:var(--powder);border-left:3px solid var(--gold);padding:clamp(20px,3vw,28px)}.shape h3{color:var(--deep);margin:0 0 8px}.shape p{margin:0}.brand-logo{width:auto;height:72px;display:block}.hero-split .hero-text{grid-template-columns:1fr;align-items:start}@media (width>=900px){.hero-split{grid-template-columns:minmax(0,1fr) minmax(0,.8fr);align-items:center;gap:clamp(32px,5vw,72px);display:grid}.hero-split .hero-text{padding-bottom:0}.hero-split .hero-portrait{order:-1}.hero-split{grid-template-columns:minmax(0,.8fr) minmax(0,1fr)}}.hero-portrait{aspect-ratio:2/3}.hero-portrait img{object-fit:cover;object-position:30% 50%;width:100%;height:100%}.photo-frame{aspect-ratio:3/4;background:var(--powder);margin:0;overflow:hidden}.photo-frame img{object-fit:cover;object-position:center;width:100%;height:100%}.photo-frame figcaption{color:var(--muted);margin-top:12px;font-size:.95rem}.occasions{flex-wrap:wrap;gap:14px;margin:0;padding:0;list-style:none;display:flex}.occasions li{background:var(--paper);border-left:3px solid var(--gold);font-family:var(--font-display);padding:14px 26px;font-size:clamp(1.25rem,2.2vw,1.6rem)}.photo-frame.chart{aspect-ratio:1199/1312}.photo-frame.photo-cloud{background:0 0;-webkit-mask-image:radial-gradient(50% 50%,#000 76%,#0000 100%);mask-image:radial-gradient(50% 50%,#000 76%,#0000 100%)}.site-footer p a,.contact-links a{align-items:center;min-height:44px;display:inline-flex}.contact-logo{max-width:440px;margin:clamp(28px,4vw,48px) 0 0}.contact-logo img{width:100%;height:auto;display:block}.hero.hero-wide{background:var(--beige);max-width:none;margin:0;padding:0;display:block;position:relative;overflow:hidden}.hero-wide-img{aspect-ratio:16/10;margin:0;position:relative}.hero-wide-img img{object-fit:cover;object-position:65% 50%;width:100%;height:100%}.hero-wide-text{z-index:2;padding:36px var(--gutter) clamp(56px, 9vw, 96px);gap:1.2rem;display:grid;position:relative}.hero-wide .slogan{font-family:var(--font-display);color:var(--deep);max-width:34ch;margin:0;font-size:clamp(1.3rem,2.4vw,1.8rem);font-style:italic}.hero-wide:after{content:"";background:linear-gradient(to bottom, #efd3d800, var(--powder));z-index:1;pointer-events:none;height:26%;position:absolute;bottom:0;left:0;right:0}@media (width>=900px){.hero.hero-wide{align-items:center;min-height:max(520px,100vh - 120px);display:flex}.hero-wide-img{aspect-ratio:auto;position:absolute;inset:0}.hero-wide-text{max-width:44%;padding:clamp(40px, 6vw, 96px) var(--gutter)}}.contact-block{flex-wrap:wrap;align-items:center;gap:20px clamp(24px,4vw,48px);display:flex}.contact-block .cb-logo{flex:none;width:clamp(160px,24vw,260px);height:auto;display:block}.contact-block .cb-lines{flex:260px;min-width:0}.contact-block .cb-lines p{margin:0}.contact-block p.ic{align-items:center;gap:12px;min-height:44px;display:flex}.contact-block p.ic svg{width:22px;height:22px;color:var(--deep);flex:none}.contact-block p.ic a{overflow-wrap:anywhere}.site-footer .contact-block{flex:520px}.palette-fig{max-width:760px;margin-left:auto;margin-right:auto}.effects{grid-template-columns:1fr;gap:clamp(20px,3vw,36px);display:grid}@media (width>=640px){.effects{grid-template-columns:repeat(3,1fr)}}.effects figure{margin:0}.fetes-grid{grid-template-columns:repeat(2,1fr);gap:clamp(14px,2.4vw,28px);display:grid}@media (width>=700px){.fetes-grid{grid-template-columns:repeat(3,1fr)}}@media (width>=1000px){.fetes-grid{grid-template-columns:repeat(4,1fr)}}.fetes-grid figure{background:var(--paper);border-bottom:3px solid var(--gold);margin:0}.fetes-grid .frame{aspect-ratio:3/4;background:var(--powder);overflow:hidden}.fetes-grid img{object-fit:cover;width:100%;height:100%;display:block}.fetes-grid figcaption{font-family:var(--font-display);text-align:center;padding:12px 14px 14px;font-size:clamp(1.1rem,2vw,1.4rem)}.voucher{max-width:760px}.voucher p{margin:0 0 1.1rem}.voucher .sign{font-family:var(--font-display);margin-top:1.6rem}.voucher .sign em{color:var(--deep);font-size:1.15rem;display:block}.voucher.bridal{max-width:none}.photo-frame.chart{aspect-ratio:auto;background:0 0;overflow:visible}.photo-frame.chart img{aspect-ratio:1199/1312;object-fit:cover;background:var(--powder);width:100%;height:auto;display:block}.photo-frame.chart figcaption{margin-top:12px}.voucher-photo{max-width:760px;margin:clamp(24px,4vw,40px) 0 0}.voucher-photo img{width:100%;height:auto;display:block;box-shadow:0 6px 24px #6b53581f}
