/* GLUBINA: deep blue, cloudy blue, sky blue and light beige. */
:root{
  --deep:#1D2D44;--cloudy:#344966;--sky:#C7D9E5;--beige:#F5EFEB;
  --fg:var(--deep);--muted:var(--cloudy);--accent:var(--cloudy);
  --rule:rgba(29,45,68,.25);--button-hover:var(--deep);--button-hover-text:var(--beige);
  --page-padding:clamp(22px,6vw,112px);--font:Arial,'Helvetica Neue',Helvetica,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:28px}
body{margin:0;background:var(--beige);color:var(--fg);font:400 1.0625rem/1.65 var(--font);-webkit-font-smoothing:antialiased}
::selection{background:var(--sky);color:var(--deep)}
a{color:inherit;text-decoration:none}
button{font:inherit}
a,button{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,.review-track:focus-visible{outline:2px solid currentColor;outline-offset:5px}
p,h1,h2,h3,figure{margin:0}
h1,h2,h3{font-family:var(--font);font-style:normal}
h1,h2{font-weight:750;letter-spacing:-.055em;line-height:1.06;text-wrap:balance}
h1{font-size:clamp(3rem,5.4vw,5.5rem);margin-top:24px}
h2{font-size:clamp(2.25rem,4vw,3.75rem);margin-top:21px}
h3{font-size:1.4rem;font-weight:600;letter-spacing:-.025em;line-height:1.3;margin:16px 0 10px}
em{color:var(--accent);font-style:normal;font-weight:inherit}
.eyebrow{font-size:.75rem;font-weight:600;letter-spacing:.16em;line-height:1.5}
.header,footer{padding:27px var(--page-padding);display:flex;align-items:center;justify-content:space-between;gap:28px;background:var(--beige)}
.header{border-bottom:1px solid var(--rule)}
.brand{display:block;font-size:1.85rem;font-weight:800;letter-spacing:-.04em;line-height:1;flex-shrink:0}
.brand span{display:block;font-size:.75rem;font-weight:400;letter-spacing:.005em;line-height:1.35;margin-top:8px}
.header nav{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 22px;font-size:.875rem;line-height:1.5}
.header nav a{padding:6px 0;border-bottom:1px solid transparent}
.header nav a:hover{border-bottom-color:currentColor}
.dark,.hero{--fg:var(--beige);--muted:var(--sky);--accent:var(--sky);--rule:rgba(199,217,229,.35);--button-hover:var(--beige);--button-hover-text:var(--deep);background:var(--deep);color:var(--fg)}
.light{background:var(--beige)}
.experience,.pricing{background:var(--sky)}
.process,.contact{background:var(--cloudy)}
.hero{padding:52px var(--page-padding) 0}
.hero-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,310px);align-items:end;gap:6vw;margin-bottom:44px}
.hero-intro{color:var(--muted);font-size:1.0625rem;padding-bottom:4px}
.hero-intro .button{color:var(--fg)}
.button,.header-cta,.outline-link{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:54px;max-width:100%;padding:14px 25px;border:1px solid currentColor;border-radius:999px;background:transparent;color:var(--fg);font-family:var(--font);font-size:1rem;font-weight:400;line-height:1.35;letter-spacing:-.015em;text-align:center;vertical-align:middle;cursor:pointer;transition:color .18s ease,background-color .18s ease,border-color .18s ease}
.button:hover,.header-cta:hover,.outline-link:hover{background:var(--button-hover);border-color:var(--button-hover);color:var(--button-hover-text)}
.button:active,.header-cta:active,.outline-link:active{opacity:.8}
.button{margin-top:26px}
.header-cta{flex-shrink:0;font-size:.9375rem;min-height:46px;padding:11px 22px;white-space:nowrap}
.button>span:not(.link-label){font-size:1.125rem;line-height:1}
.link-mark{display:inline-flex;align-items:center;justify-content:center;flex:0 0 20px;width:20px;height:20px}
.link-mark svg{display:block;width:20px;height:20px}
.link-label{min-width:0;font-size:.9375rem;line-height:1.4}
.link-label>span{display:inline-block;font-size:1.0625rem;margin-left:5px}
.text-link{margin-top:24px}
.gallery{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) minmax(0,1fr);gap:20px}
.gallery figure{min-width:0}
.image-box{height:clamp(230px,25vw,410px);background:#000;overflow:hidden;border-radius:3px}
.image-box img{display:block;width:100%;height:100%;object-fit:contain}
.gallery figcaption{display:flex;flex-direction:column;gap:4px;padding-top:15px;font-size:.875rem;color:var(--muted);line-height:1.5}
.gallery figcaption>span:first-child{font-size:.75rem;letter-spacing:.085em;color:var(--fg)}
.hero-details{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px 24px;padding:24px 0;margin-top:30px;border-top:1px solid var(--rule);font-size:.875rem}
.section{padding:clamp(64px,7vw,116px) var(--page-padding)}
.experience,.formats,.pricing,.contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7vw}
.copy{max-width:600px;font-size:1.0625rem;color:var(--muted)}
.copy p+p{margin-top:20px}
.experience .copy{padding-top:35px}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px}
.small-note{font-size:1rem;color:var(--muted);max-width:340px}
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:58px}
.steps article{border-top:1px solid var(--rule);padding-top:21px}
.step-number{font-size:.875rem;color:var(--muted);font-variant-numeric:tabular-nums}
.steps p{font-size:1rem;color:var(--muted)}
.format-list article{display:flex;gap:23px;padding:22px 0;border-bottom:1px solid var(--rule)}
.format-list article:first-child{padding-top:0}
.format-list article>span{font-size:.875rem;color:var(--muted);padding-top:19px;flex-shrink:0}
.format-list p{font-size:1rem;color:var(--muted)}
.keepsake-gallery{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:0}
.keepsake-gallery figure{min-width:0}
.keepsake-gallery img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:contain;background:#000;border-radius:3px}
.keepsake-gallery figcaption{padding-top:15px;font-size:1rem;font-weight:600;line-height:1.4;letter-spacing:-.025em}
.story-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7vw;margin-top:12px}
.story .copy{margin-top:24px}
.price-title>p:last-child{margin-top:26px;color:var(--muted)}
.price-content{min-width:0}
.table-wrap{width:100%;overflow-x:auto}
table{border-collapse:collapse;text-align:right;width:100%;font-variant-numeric:tabular-nums}
th,td{padding:22px 10px;border-bottom:1px solid var(--rule);white-space:nowrap}
th:first-child{text-align:left;padding-left:0}
th:last-child,td:last-child{padding-right:0}
thead th{font-size:.875rem;font-weight:400;color:var(--muted)}
tbody th{font-size:1.875rem;font-weight:600;letter-spacing:-.04em}
td{font-size:1.4rem;font-weight:500;letter-spacing:-.025em}
.extras{margin-top:24px}
.extras p{display:flex;justify-content:space-between;gap:14px;padding:7px 0;font-size:.875rem}
.extras strong{font-weight:500;white-space:nowrap}
.gifts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:7vw}
.gift-photo,.event-photo{min-width:0}
.gift-photo img,.event-photo img{display:block;width:100%;height:auto;border-radius:3px}
.gift-copy{min-width:0}
.gift-copy>p:not(.eyebrow){color:var(--muted);margin-top:22px;max-width:530px;font-size:1rem}
.gift-copy>p.gift-lead{font-size:1.4rem;font-weight:500;line-height:1.4;color:var(--fg);margin-top:28px;letter-spacing:-.025em}
.gift-steps,.event-steps{list-style:none;margin:30px 0 0;padding:0;display:grid;gap:19px}
.gift-steps li,.event-steps li{display:flex;align-items:flex-start;gap:18px;border-top:1px solid var(--rule);padding-top:18px}
.gift-steps li>span,.event-steps li>span{font-size:.875rem;line-height:1.6;color:var(--muted);font-variant-numeric:tabular-nums}
.gift-steps h3,.event-steps h3{font-size:1.125rem;margin:0 0 7px}
.gift-steps p,.event-steps p{font-size:1rem;line-height:1.6;color:var(--muted)}
.gift-copy>.button{margin-top:30px}
.event-feature{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:7vw;border-top:1px solid var(--rule);padding-top:70px;scroll-margin-top:25px}
.event-copy{min-width:0}
.event-copy>p:not(.eyebrow){margin-top:22px;color:var(--muted);font-size:1rem}
.event-copy>p.event-lead{font-size:1.25rem;line-height:1.5;color:var(--fg);letter-spacing:-.02em}
.event-copy>p.event-note{max-width:440px;font-size:.875rem;margin-top:18px}
.event-photo figcaption{font-size:.875rem;color:var(--muted);margin-top:14px;line-height:1.5}
.reviews{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,520px);gap:7vw;align-items:center}
.reviews-intro{min-width:0}
.reviews-description{max-width:430px;font-size:1.0625rem;color:var(--muted);margin-top:26px}
.reviews-hint{font-size:.875rem;color:var(--muted);margin-top:24px}
.review-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;min-width:0;width:100%;background:#000;border-radius:3px;scrollbar-width:thin;scrollbar-color:var(--sky) var(--deep)}
.review-slide{flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always}
.review-slide img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:contain;background:#000}
.review-controls{display:flex;align-items:center;gap:20px;margin-top:26px}
.review-controls[hidden]{display:none}
.review-controls button{display:inline-flex;align-items:center;justify-content:center;width:49px;height:49px;border:1px solid currentColor;background:transparent;color:var(--fg);font-size:1.375rem;cursor:pointer;border-radius:50%;transition:background-color .18s,color .18s}
.review-controls button:hover:not(:disabled){background:var(--button-hover);color:var(--button-hover-text)}
.review-controls button:disabled{opacity:.35;cursor:default}
.review-controls span{font-size:.9375rem;font-variant-numeric:tabular-nums;min-width:44px;text-align:center}
.reviews-sources{display:flex;flex-wrap:wrap;gap:14px;margin-top:27px}
.reviews-sources .outline-link{margin-top:0;font-size:.875rem;padding:12px 19px;min-height:48px}
.reviews-sources .link-label{font-size:.875rem}
.address{margin-top:28px;font-size:1.1875rem;line-height:1.65}
.contact-actions{padding-top:18px;min-width:0}
.contact-actions h3{font-size:1.65rem;margin-top:0}
.contact-actions>p{font-size:1rem;color:var(--muted)}
.contact-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}
.contact-buttons .button{margin-top:0}
.phones{display:flex;flex-wrap:wrap;gap:12px 26px;font-size:1rem;margin-top:30px}
.phones a:hover{text-decoration:underline;text-underline-offset:5px}
.location-map{grid-column:1/-1;min-width:0;border-top:1px solid var(--rule);padding-top:35px}
.map-heading{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:25px}
.map-heading h3{margin:0 0 9px}
.map-heading p{color:var(--muted);font-size:1rem}
.map-heading .button{margin-top:0;flex-shrink:0}
.location-map iframe{display:block;border:0;width:100%;height:380px;background:var(--sky);border-radius:3px}
.map-links{display:flex;flex-wrap:wrap;gap:14px;margin-top:22px}
.map-links .outline-link{margin-top:0}
footer{flex-wrap:wrap;padding-block:40px;gap:30px}
footer>p{font-size:1.3rem;font-weight:600;letter-spacing:-.035em}
.social-links{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.social-links .outline-link{min-height:46px;padding:10px 18px}
.social-links .link-label{font-size:.875rem}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.skip{position:fixed;left:12px;top:-100px;background:var(--beige);color:var(--deep);z-index:10;padding:12px}
.skip:focus{top:12px}
@media(min-width:1800px){:root{--page-padding:max(6vw,calc((100vw - 1580px)/2))}}
@media(max-width:1120px){
 .header{flex-wrap:wrap;gap:20px}.header nav{order:3;flex:0 0 100%;justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;gap:25px;padding-bottom:3px;scrollbar-width:thin}.header nav a{flex-shrink:0}
 .hero-top{gap:35px;grid-template-columns:minmax(0,1fr) minmax(230px,280px)}
 .keepsake-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 20px}
 .gifts,.event-feature{gap:5vw}.gift-copy h2,.event-copy h2{font-size:clamp(2.125rem,4vw,3rem)}
 footer>p{display:none}
}
@media(max-width:850px){
 .section{padding-block:65px}.hero-top{grid-template-columns:minmax(0,1fr);gap:24px}.hero-intro{display:flex;align-items:center;justify-content:space-between;gap:24px}.hero-intro .button{margin-top:0}.hero-intro>p br{display:none}.hero-intro>p{max-width:330px}
 .experience,.formats,.pricing,.contact,.story-grid{gap:5vw}.section-heading{display:block}.small-note{margin-top:25px;max-width:none}.small-note br{display:none}.steps{gap:26px}.reviews{gap:5vw;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}
 .event-feature,.gifts{grid-template-columns:minmax(0,1fr);gap:36px}.gift-copy{order:-1}.gift-photo,.event-photo{width:100%;max-width:590px;margin-inline:auto}.gift-copy>p:not(.eyebrow){max-width:none}.gift-copy h2,.event-copy h2{font-size:clamp(2.25rem,5vw,3.5rem)}.event-feature{padding-top:50px}.event-copy>p.event-note{max-width:none}
 .map-heading{flex-direction:column;align-items:flex-start;gap:22px}
}
@media(max-width:650px){
 :root{--page-padding:6vw}
 .header{padding-block:22px;gap:21px 14px}.brand{font-size:1.7rem}.brand span{font-size:.75rem}.header-cta{font-size:.875rem;padding:10px 18px;min-height:44px}.header nav{gap:22px;font-size:.875rem;margin-top:1px}
 .hero{padding-top:34px}.hero-top{margin-bottom:30px;gap:22px}h1{font-size:clamp(2.25rem,8.5vw,3.3rem);margin-top:18px;letter-spacing:-.05em}.hero-intro{display:block;font-size:1rem}.hero-intro>p{max-width:none}.hero-intro .button{margin-top:21px}
 .gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.image-box{height:clamp(106px,32vw,205px)}.gallery figcaption{padding-top:11px;font-size:.75rem}.gallery figcaption>span:first-child{font-size:.75rem;letter-spacing:0}.gallery figcaption>span:last-child{display:none}
 .hero-details{font-size:.8125rem;gap:9px 17px;margin-top:24px;padding:20px 0}.section{padding-block:51px}
 h2,.gift-copy h2,.event-copy h2{font-size:clamp(2rem,7.9vw,2.85rem);margin-top:18px;letter-spacing:-.045em}
 .experience,.formats,.pricing,.contact,.story-grid{grid-template-columns:minmax(0,1fr);gap:29px}.copy{font-size:1rem}.experience .copy{padding-top:0}.story .copy{margin-top:0}.story-grid{margin-top:0}
 .steps{grid-template-columns:minmax(0,1fr);gap:30px;margin-top:34px}.steps article{padding-top:18px}.steps h3{margin-top:12px}.small-note{margin-top:24px}.format-list article{gap:18px}.format-list h3{font-size:1.3rem}
 .keepsake-gallery{gap:24px 14px;margin-top:10px}.keepsake-gallery figcaption{font-size:.9375rem;padding-top:12px}.event-feature{padding-top:37px;margin-top:9px}.gift-copy>p.gift-lead{font-size:1.25rem}.event-copy>p.event-lead{font-size:1.125rem}
 th,td{padding:18px 6px}td{font-size:1.25rem}tbody th{font-size:1.6rem}thead th{font-size:.875rem}.extras p{flex-wrap:wrap;gap:2px 12px}
 .reviews{grid-template-columns:minmax(0,1fr);gap:30px}.reviews-description{font-size:1rem}.review-track{max-width:520px;margin-inline:auto}.reviews h2 br{display:none}.reviews h2 em:before{content:' '}.review-controls{margin-top:22px}.reviews-sources{margin-top:24px}
 .contact-actions{padding-top:0}.address{font-size:1.125rem}.location-map{padding-top:28px;margin-top:12px}.location-map iframe{height:340px}.map-links{gap:12px}.map-links .outline-link{text-align:left;justify-content:flex-start}.social-links{width:100%;gap:12px}footer{align-items:start;padding-block:32px}
}
@media(max-width:360px){
 .header{gap:18px 10px}.brand{font-size:1.5rem}.brand span{font-size:.75rem;max-width:155px}.header-cta{padding:10px 15px;font-size:.875rem}
 .button,.outline-link{padding-inline:19px}.link-label{font-size:.875rem}.link-mark{flex-basis:18px;width:18px}.link-mark svg{width:18px;height:18px}.social-links .outline-link{padding-inline:15px}.keepsake-gallery figcaption{font-size:.875rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* Supplied iris photographs and effect sheets, shown without cropping. */
.iris-portfolio{grid-column:1/-1;min-width:0}.iris-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 22px}.iris-grid figure,.effects-gallery figure{min-width:0}.artwork-link{display:block;overflow:hidden;border-radius:3px}.artwork-link:focus-visible{outline:2px solid currentColor;outline-offset:5px}.iris-grid img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:#000}.iris-grid figcaption,.effects-gallery figcaption{font-size:1rem;font-weight:500;letter-spacing:-.02em;line-height:1.4;margin-top:13px}.gallery-note{font-size:.875rem;color:var(--muted);line-height:1.5;margin-top:24px}.art-effects{grid-column:1/-1;min-width:0;border-top:1px solid var(--rule);padding-top:58px;scroll-margin-top:28px}.effects-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.effects-heading>p{font-size:1rem;color:var(--muted);line-height:1.6}.effects-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:35px}.effects-gallery:focus-visible{outline:2px solid currentColor;outline-offset:6px}.effects-gallery img{display:block;width:100%;height:auto;object-fit:contain;background:var(--deep)}
@media(max-width:850px){.iris-grid{gap:24px 16px}.art-effects{padding-top:45px}.effects-gallery{gap:17px}.effects-heading{display:block}.effects-heading>p{margin-top:23px}}
@media(max-width:650px){.iris-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 14px}.iris-grid figcaption{font-size:.875rem;margin-top:11px}.art-effects{padding-top:37px}.effects-gallery{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:88%;gap:15px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--cloudy) transparent;padding-bottom:14px;margin-top:28px}.effects-gallery figure{scroll-snap-align:start;scroll-snap-stop:always}.gallery-note{margin-top:20px}}

/* Product catalogue and first-visit questions. */
.booking-note{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:32px;font-size:1rem;align-items:center}.booking-note span{flex-basis:100%;color:var(--sky)}.booking-note a{border-bottom:1px solid var(--rule)}
.pricing{display:block;background:var(--beige)}.catalog-heading{text-align:center;max-width:700px;margin:0 auto 42px}.catalog-heading>p:last-child{margin-top:24px;color:var(--muted)}
.catalog-filters{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-bottom:40px}.catalog-filters[hidden]{display:none}.catalog-filters button{border:1px solid var(--rule);background:transparent;color:var(--deep);border-radius:999px;min-height:46px;padding:10px 22px;cursor:pointer;font-size:1rem}.catalog-filters button[aria-pressed="true"]{background:var(--deep);border-color:var(--deep);color:var(--beige)}
.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px 32px;max-width:1120px;margin:auto}.product-card{display:flex;flex-direction:column;min-width:0}.product-card[hidden]{display:none}.product-image{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#000;border-radius:3px}.product-body{display:flex;flex-direction:column;flex:1;padding-top:24px}.product-category{font-size:.875rem;letter-spacing:.08em;color:var(--muted)}.product-body h3{font-size:1.5rem;line-height:1.3;margin:12px 0 20px}.product-body ul{margin:0 0 24px;padding-left:22px;font-size:1rem;color:var(--muted)}.product-body li{padding-bottom:5px}.product-body label{font-size:.875rem;margin-top:auto;margin-bottom:8px}.product-format{font:inherit;font-size:1rem;color:var(--deep);background:transparent;border:1px solid var(--rule);border-radius:3px;min-height:48px;padding:10px 12px;width:100%}.product-format:focus-visible,summary:focus-visible{outline:2px solid var(--cloudy);outline-offset:4px}.product-price{font-size:1.75rem;font-weight:600;letter-spacing:-.025em;margin-top:auto;padding-top:22px;font-variant-numeric:tabular-nums}.product-cta{width:100%;border-radius:5px;background:var(--deep);color:var(--beige);border-color:var(--deep);font-weight:600;margin-top:20px}.product-cta:hover{background:var(--cloudy);color:var(--beige);border-color:var(--cloudy)}.catalog-extras{max-width:1120px;margin:54px auto 0;padding-top:26px;border-top:1px solid var(--rule);display:grid;grid-template-columns:1fr 1fr;gap:40px}.catalog-extras h3{margin-top:0}.catalog-extras div>p{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 20px;font-size:1rem;margin-top:10px}.catalog-extras strong{white-space:nowrap}.catalog-note{font-size:1rem;color:var(--muted)}.pricing .art-effects{margin-top:52px}
.faq{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:7vw;background:var(--sky)}.faq-list{border-top:1px solid var(--rule);min-width:0}.faq details{border-bottom:1px solid var(--rule)}.faq summary{position:relative;padding:23px 36px 23px 0;cursor:pointer;list-style:none;font-size:1.125rem;font-weight:600;line-height:1.45}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:'+';position:absolute;right:3px;top:21px;font-size:1.5rem;font-weight:400}.faq details[open]>summary::after{content:'−'}.faq-answer{padding:0 22px 24px 0;font-size:1rem;color:var(--muted)}.faq-answer a{text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
@media(max-width:650px){.catalog-heading{margin-bottom:28px;text-align:left}.catalog-filters{justify-content:flex-start;gap:8px;margin-bottom:28px}.catalog-filters button{padding:10px 16px;font-size:.875rem}.product-grid{grid-template-columns:minmax(0,1fr);gap:42px}.product-body{padding-top:20px}.product-body h3{font-size:1.4rem}.catalog-extras{grid-template-columns:minmax(0,1fr);gap:24px;margin-top:38px}.faq{grid-template-columns:minmax(0,1fr);gap:30px}.faq summary{font-size:1rem}.booking-note{gap:12px 20px}.pricing .art-effects{margin-top:36px}}

/* Compact spacing and photographs at their original proportions. */
:root{--page-padding:clamp(18px,4vw,64px)}
.section{padding-block:clamp(28px,3.5vw,52px)}
.header,footer{padding-block:20px;gap:20px}
.hero{padding-top:30px}.hero-top{margin-bottom:24px;gap:28px}
.hero-details{margin-top:20px;padding-block:16px}.booking-note{margin-top:20px}
.experience,.formats,.contact,.story-grid,.gifts,.event-feature,.reviews,.faq{gap:28px}
.experience{row-gap:20px}.experience .copy{padding-top:0}
.copy p+p{margin-top:14px}.section-heading{gap:24px}
.steps{gap:24px;margin-top:28px}.steps article{padding-top:16px}
.format-list article{padding-block:16px}.event-feature{padding-top:28px}
.gift-copy>p:not(.eyebrow),.event-copy>p:not(.eyebrow){margin-top:16px}
.gift-steps,.event-steps{margin-top:22px;gap:16px}
.gallery{align-items:start;gap:12px}.image-box{height:auto;background:transparent}
.image-box img,.iris-grid img,.keepsake-gallery img,.product-image,.review-slide img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:initial;background:transparent}
.iris-grid{display:block;columns:3;column-gap:18px}
.iris-grid figure{display:inline-block;width:100%;break-inside:avoid;margin:0 0 18px;vertical-align:top}
.iris-grid figcaption,.effects-gallery figcaption{margin-top:8px}
.keepsake-gallery{display:block;columns:4;column-gap:18px;margin-top:0}
.keepsake-gallery figure{display:inline-block;width:100%;break-inside:avoid;margin:0 0 18px;vertical-align:top}
.keepsake-gallery figcaption{padding-top:8px}
.catalog-heading{margin-bottom:24px}.catalog-heading>p:last-child{margin-top:16px}
.catalog-filters{margin-bottom:24px}.product-grid{display:block;columns:2;column-gap:28px}
.product-card{display:inline-flex;width:100%;break-inside:avoid;vertical-align:top;margin-bottom:30px}
.product-card[hidden]{display:none}.product-body{padding-top:14px}
.product-body h3{margin:8px 0 12px}.product-body ul{margin-bottom:16px}
.product-body label,.product-price{margin-top:0}.product-price{padding-top:16px}
.product-cta{margin-top:14px}.catalog-extras{margin-top:8px;padding-top:20px;gap:24px}
.art-effects{padding-top:28px}.pricing .art-effects{margin-top:28px}
.effects-gallery{margin-top:22px;gap:16px}.gallery-note{margin-top:14px}
.gift-photo,.event-photo{margin-block:0}
.reviews-description,.reviews-hint,.reviews-sources,.review-controls{margin-top:18px}
.review-track{align-items:flex-start;background:transparent}
.address{margin-top:20px}.contact-actions{padding-top:0}.contact-buttons,.phones{margin-top:20px}
.location-map{padding-top:24px}.map-heading{gap:18px;margin-bottom:18px}
.faq summary{padding-top:18px;padding-bottom:18px}.faq summary::after{top:16px}
.faq-answer{padding-bottom:18px}
@media(max-width:1120px){.keepsake-gallery{columns:2}}
@media(max-width:650px){
 :root{--page-padding:18px}.section{padding-block:28px}
 .hero{padding-top:24px}.hero-top{gap:18px;margin-bottom:20px}
 .experience,.formats,.contact,.story-grid,.gifts,.event-feature,.reviews,.faq{gap:20px}
 .hero .gallery{gap:8px}.image-box{height:auto}
 .iris-grid{columns:2;column-gap:12px}.iris-grid figure{margin-bottom:14px}
 .keepsake-gallery{column-gap:12px}.keepsake-gallery figure{margin-bottom:14px}
 .product-grid{columns:1}.product-card{margin-bottom:24px}
 .catalog-heading,.catalog-filters{margin-bottom:20px}.catalog-extras{margin-top:0;gap:18px}
 .event-feature{margin-top:0;padding-top:24px}.pricing .art-effects{margin-top:24px}
 .effects-gallery{gap:12px;margin-top:20px;padding-bottom:8px}
 .gallery-note{margin-top:12px}.steps{gap:20px;margin-top:24px}
 .location-map{margin-top:0;padding-top:24px}.header,footer{padding-block:18px}
}

/* Interactive photographs, subtle motion and a transparent price calculation. */
.more-works{grid-column:1/-1;min-width:0;border-top:1px solid var(--rule);padding-top:12px}.more-works>summary{cursor:pointer;padding:12px 0;font-weight:600}.more-works .iris-grid{margin-top:16px}
.photo-trigger{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;cursor:zoom-in;text-align:inherit}.artwork-link{cursor:zoom-in}
.viewer-open{overflow:hidden}#photo-viewer{border:0;padding:55px 18px 18px;background:#080d15;color:#fff;max-width:95vw;width:max-content;max-height:94dvh;border-radius:6px}#photo-viewer::backdrop{background:rgba(0,0,0,.88)}#viewer-image{display:block;max-width:87vw;max-height:73dvh;width:auto;height:auto;object-fit:contain;margin:auto}#photo-caption{max-width:800px;font-size:14px;margin:12px auto 0}.viewer-close{position:absolute;right:12px;top:8px;min-height:40px;padding:6px 14px;color:#fff;background:transparent;border:1px solid #8093a9;border-radius:3px;cursor:pointer}
.comparison{position:relative;max-width:900px;margin:22px auto 0;background:#000;overflow:hidden;border-radius:3px}.comparison img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}.comparison .comparison-art{position:absolute;inset:0;width:100%;height:100%;clip-path:inset(0 calc(100% - var(--split)) 0 0)}.compare-label{position:absolute;top:12px;background:rgba(0,0,0,.75);padding:4px 12px;border-radius:20px;font-size:14px;color:white}.art-label{left:12px}.classic-label{right:12px}.compare-divider{position:absolute;left:var(--split);top:0;height:100%;border-left:2px solid #fff;display:flex;align-items:center;font-size:24px;color:white;text-shadow:0 1px 4px #000;pointer-events:none;transform:translateX(-1px)}.compare-control{display:block;max-width:900px;margin:14px auto 0;font-size:14px}.compare-control input{display:block;width:100%;height:44px;accent-color:#c7d9e5;cursor:ew-resize}.choose-look>.gallery-note{max-width:900px;margin:4px auto 0}
.configurator[hidden]{display:none}.configurator>div>p:last-child{margin-top:16px;max-width:650px}.config-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:start;margin-top:24px}.config-preview{padding:20px;background:var(--sky);border-radius:3px}#preview-frame{border:0 solid #101319;transition:border-width .25s;max-width:540px;margin:auto}#preview-frame.framed{border-width:12px;box-shadow:0 8px 18px #1d2d442e}#config-image{display:block;width:100%;height:auto}#preview-caption{font-size:14px;line-height:1.5;margin-top:14px}.config-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.config-fields label{font-size:14px}.config-fields select{display:block;width:100%;font:inherit;font-size:16px;padding:12px;margin-top:6px;background:transparent;color:var(--deep);border:1px solid var(--rule);border-radius:3px}.check-option{display:flex;align-items:center;gap:12px;min-height:48px;font-size:16px;cursor:pointer}.check-option input{width:20px;height:20px;accent-color:var(--deep)}.config-total{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;border-top:1px solid var(--rule);padding-top:16px;margin-top:12px;gap:10px}.config-total strong{font-size:2rem;white-space:nowrap}#config-breakdown{font-size:14px;line-height:1.6;margin-top:12px}#chosen-order{padding:14px;border:1px solid var(--rule);margin-top:16px;font-size:16px}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:650px){.config-grid{grid-template-columns:1fr;gap:20px}.config-preview{padding:14px}.compare-label{top:8px;font-size:14px}.choose-look .small-note{margin-top:16px}.config-fields{gap:12px}.eyebrow{font-size:14px;letter-spacing:.07em}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Choose an actual effect and carry its name into the booking summary. */
.effect-picker{max-width:1120px;margin:24px auto 0;padding-top:20px;border-top:1px solid var(--rule)}.effect-picker[hidden]{display:none}.effect-picker>p{font-size:16px;line-height:1.6}.effect-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px;align-items:start}.effect-option{display:block;min-width:0;padding:8px 8px 14px;text-align:left;color:var(--beige);border:2px solid transparent;background:rgba(255,255,255,.035);border-radius:5px;cursor:pointer;transition:border-color .2s,background .2s}.effect-option[aria-pressed="true"]{border-color:var(--sky);background:rgba(199,217,229,.12)}.effect-option:hover{border-color:var(--sky)}.effect-option img{display:block;width:100%;height:auto;border-radius:2px}.effect-option span{display:block;padding-inline:4px}.effect-name{font-size:18px;font-weight:600;margin-top:10px}.effect-description{font-size:14px;line-height:1.4;color:var(--sky);margin-top:4px}.effect-cost{font-size:14px;margin-top:8px}#effect-selection{margin-top:16px}.effect-picker>.button{margin-top:12px}.effect-select-label{display:block;font-size:14px;margin-top:12px}.effect-select-label select{display:block;width:100%;min-height:48px;font:inherit;font-size:16px;color:var(--deep);padding:10px;background:transparent;border:1px solid var(--rule);border-radius:3px;margin-top:6px}.effect-select-label select:focus-visible{outline:2px solid var(--cloudy);outline-offset:4px}
@media(max-width:650px){.effect-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.effect-option{padding:5px 5px 12px}.effect-name{font-size:16px}.choose-look .small-note{max-width:none}}
