:root{--cream: #f7f2ec;--cream-2: #efe7dd;--cream-3: #e6dbcd;--ink: #1f1a17;--ink-2: #4b423c;--muted: #877b71;--accent: #b4705a;--accent-dark: #955742;--line: rgba(31, 26, 23, .12);--serif: "EB Garamond", "Times New Roman", Georgia, serif;--sans: "Jost", "Helvetica Neue", Arial, sans-serif;--radius: 4px;--container: 1200px;--nav-h: 80px;--ease: cubic-bezier(.22, 1, .36, 1)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--sans);font-weight:300;font-size:17px;line-height:1.65;color:var(--ink);background:var(--cream);-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}h1,h2,h3,h4{font-family:var(--serif);font-weight:500;line-height:1.08;margin:0;letter-spacing:-.01em}p{margin:0 0 1em}em,.italic{font-style:italic}::selection{background:var(--accent);color:#fff}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.container{width:min(100% - 2.5rem,var(--container));margin-inline:auto}.container--narrow{width:min(100% - 2.5rem,800px)}.eyebrow{font-family:var(--sans);font-size:.72rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--accent);margin:0 0 1rem}.section__title{font-size:clamp(2.2rem,4.2vw,3.4rem);max-width:18ch}.section__lead{font-size:1.1rem;color:var(--ink-2);max-width:58ch;margin-top:1.2rem}.section__head{margin-bottom:clamp(2.5rem,5vw,4rem)}.section__head--center{text-align:center}.section__head--center .section__title,.section__head--center .section__lead{margin-inline:auto}.section{padding-block:clamp(4rem,9vw,7.5rem)}.section--tint{background:var(--cream-2)}.section--dark{background:var(--ink);color:var(--cream)}.section--dark .eyebrow{color:#d9a48f}.section--dark .section__lead{color:#f7f2ecbf}.btn{display:inline-flex;align-items:center;gap:.6rem;padding:.95rem 1.8rem;font-family:var(--sans);font-size:.8rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;border:1px solid var(--ink);border-radius:999px;transition:background .3s var(--ease),color .3s var(--ease),transform .3s var(--ease)}.btn--primary{background:var(--ink);color:var(--cream)}.btn--primary:hover{background:var(--accent);border-color:var(--accent);transform:translateY(-1px)}.btn--ghost:hover{background:var(--ink);color:var(--cream)}.btn--light{border-color:var(--cream);color:var(--cream)}.btn--light:hover{background:var(--cream);color:var(--ink)}.link-arrow{display:inline-flex;align-items:center;gap:.5rem;font-size:.8rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:.2rem;transition:gap .3s var(--ease),color .3s}.link-arrow:hover{gap:.9rem;color:var(--accent)}.reveal{opacity:0;transform:translateY(22px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.strip__track{animation:none!important}}.nav{position:fixed;inset:0 0 auto 0;z-index:50;height:var(--nav-h);display:flex;align-items:center;transition:background .4s var(--ease),box-shadow .4s,height .3s}.nav--solid{background:#f7f2ece6;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line);height:68px}.nav__inner{display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{display:flex;flex-direction:column;line-height:1}.brand__name{font-family:var(--serif);font-size:1.55rem;font-weight:500;letter-spacing:.01em}.brand__sub{font-size:.58rem;letter-spacing:.42em;text-transform:uppercase;color:var(--muted);margin-top:.35rem;padding-left:.1em}.nav__links{display:flex;gap:1.8rem;list-style:none;margin:0;padding:0}.nav__links a{font-size:.78rem;font-weight:400;letter-spacing:.14em;text-transform:uppercase;padding:.4rem 0;position:relative}.nav__links a:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}.nav__links a:hover:after,.nav__links a[aria-current=page]:after{transform:scaleX(1)}.nav__cta{padding:.7rem 1.3rem;font-size:.72rem}.nav__burger{display:none;width:44px;height:44px;align-items:center;justify-content:center;flex-direction:column;gap:6px}.nav__burger span{display:block;width:24px;height:1.5px;background:var(--ink);transition:transform .3s var(--ease),opacity .3s}.nav__burger[aria-expanded=true] span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}.nav__burger[aria-expanded=true] span:nth-child(2){opacity:0}.nav__burger[aria-expanded=true] span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}.drawer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:var(--cream);display:flex;flex-direction:column;justify-content:center;padding:6rem 2rem 3rem;transform:translateY(-4%);opacity:0;pointer-events:none;transition:opacity .35s var(--ease),transform .45s var(--ease)}.drawer--open{opacity:1;transform:none;pointer-events:auto}.drawer ul{list-style:none;margin:0;padding:0}.drawer li+li{margin-top:.4rem}.drawer a{font-family:var(--serif);font-size:clamp(2rem,7vw,2.8rem);line-height:1.25}.drawer a[aria-current=page]{color:var(--accent);font-style:italic}.drawer__meta{margin-top:2.5rem;color:var(--muted);font-size:.9rem}@media (max-width: 1080px){.nav__links,.nav__cta{display:none}.nav__burger{display:flex}}.hero{padding-top:calc(var(--nav-h) + clamp(2rem,6vw,5rem));padding-bottom:clamp(3rem,6vw,5rem);overflow:hidden}.hero__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(2rem,6vw,5rem);align-items:center}.hero__title{font-size:clamp(2.8rem,6.4vw,5.4rem);font-weight:400;line-height:1;letter-spacing:-.02em;max-width:11ch}.hero__title em{color:var(--accent)}.hero__text{font-size:1.12rem;color:var(--ink-2);max-width:44ch;margin:1.8rem 0 2.4rem}.hero__actions{display:flex;flex-wrap:wrap;gap:.9rem}.hero__meta{display:flex;flex-wrap:wrap;gap:.8rem 2.2rem;margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--line);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.collage{position:relative;display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:repeat(12,1fr);aspect-ratio:1 / 1.08}.collage__item{overflow:hidden;border-radius:var(--radius);box-shadow:0 30px 60px -30px #1f1a1773}.collage__item img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}.collage__item:hover img{transform:scale(1.04)}.collage__item--a{grid-column:1 / 8;grid-row:1 / 12;z-index:2}.collage__item--b{grid-column:6 / 13;grid-row:2 / 7;z-index:1}.collage__item--c{grid-column:7 / 13;grid-row:8 / 13;z-index:3}.collage__badge{position:absolute;left:-1.2rem;bottom:1.5rem;z-index:4;width:120px;height:120px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;text-align:center;font-family:var(--serif);font-size:1.05rem;line-height:1.15;font-style:italic;padding:.6rem;animation:spin-in 1.2s var(--ease) both}@keyframes spin-in{0%{transform:scale(.6) rotate(-20deg);opacity:0}to{transform:none;opacity:1}}@media (max-width: 900px){.hero__grid{grid-template-columns:1fr}.collage{max-width:560px}.collage__badge{left:auto;right:-.5rem;top:-1rem;bottom:auto;width:100px;height:100px;font-size:.9rem}}.strip{overflow:hidden;padding-block:1rem 0;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.strip__track{display:flex;gap:1rem;width:max-content;animation:strip-scroll 70s linear infinite}.strip:hover .strip__track{animation-play-state:paused}.strip__item{height:210px;flex:none;overflow:hidden;border-radius:var(--radius)}.strip__item img{height:100%;width:auto}@keyframes strip-scroll{to{transform:translate(-50%)}}.intro{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,6vw,6rem);align-items:center}.intro__photo{position:relative}.intro__photo img{border-radius:var(--radius);width:100%;aspect-ratio:4 / 5;object-fit:cover}.intro__photo:after{content:"";position:absolute;top:1.2rem;right:-1.2rem;bottom:-1.2rem;left:1.2rem;border:1px solid var(--accent);border-radius:var(--radius);z-index:-1}.intro__quote{font-family:var(--serif);font-size:clamp(1.6rem,2.6vw,2.2rem);line-height:1.3;font-weight:400;margin:0 0 1.5rem}.intro__text{color:var(--ink-2);max-width:56ch}.intro__sign{font-family:var(--serif);font-style:italic;font-size:1.6rem;margin:1.5rem 0 2rem}@media (max-width: 820px){.intro{grid-template-columns:1fr}.intro__photo{max-width:420px}}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem 1.6rem}.service{display:flex;flex-direction:column;gap:1rem}.service__media{overflow:hidden;border-radius:var(--radius);aspect-ratio:4 / 5;background:var(--cream-3)}.service__media img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease),filter .6s}.service:hover .service__media img{transform:scale(1.05)}.service__num{font-family:var(--serif);font-style:italic;color:var(--accent);font-size:1.1rem}.service h3{font-size:1.7rem;margin-top:.2rem}.service p{color:var(--ink-2);font-size:.98rem;margin:0}@media (max-width: 900px){.services{grid-template-columns:repeat(2,1fr)}}@media (max-width: 560px){.services{grid-template-columns:1fr}.service__media{aspect-ratio:4 / 3}}.service-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,6vw,6rem);align-items:center;padding-block:clamp(2rem,5vw,4rem)}.service-row+.service-row{border-top:1px solid var(--line)}.service-row:nth-child(2n) .service-row__media{order:2}.service-row__media img{width:100%;aspect-ratio:4 / 5;object-fit:cover;border-radius:var(--radius)}.service-row h2{font-size:clamp(2rem,3.4vw,2.8rem);margin:.4rem 0 1.2rem}.service-row p{color:var(--ink-2);max-width:52ch}@media (max-width: 760px){.service-row{grid-template-columns:1fr}.service-row:nth-child(2n) .service-row__media{order:0}.service-row__media img{aspect-ratio:4 / 3}}.cats{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}.cat{position:relative;display:block;overflow:hidden;border-radius:var(--radius);aspect-ratio:3 / 4;color:#fff}.cat img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}.cat:hover img{transform:scale(1.06)}.cat__label{position:absolute;inset:auto 0 0 0;padding:3rem 1.3rem 1.3rem;background:linear-gradient(180deg,transparent,rgba(31,26,23,.75))}.cat__label span{display:block;font-size:.68rem;letter-spacing:.25em;text-transform:uppercase;opacity:.8;margin-bottom:.3rem}.cat__label strong{font-family:var(--serif);font-weight:500;font-size:1.5rem;line-height:1.1}@media (max-width: 900px){.cats{grid-template-columns:repeat(2,1fr)}}.masonry{columns:var(--cols, 3);column-gap:1rem}.masonry__item{display:block;width:100%;margin-bottom:1rem;break-inside:avoid;overflow:hidden;border-radius:var(--radius);background:var(--cream-3)}.masonry__item img{width:100%;height:auto;transition:transform 1s var(--ease),opacity .5s}.masonry__item:hover img{transform:scale(1.03)}@media (max-width: 900px){.masonry{columns:2}}@media (max-width: 520px){.masonry{columns:2;column-gap:.6rem}.masonry__item{margin-bottom:.6rem}}.tabs{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:2.5rem}.tab{padding:.65rem 1.3rem;border:1px solid var(--line);border-radius:999px;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;transition:all .3s var(--ease)}.tab:hover{border-color:var(--ink)}.tab[aria-selected=true]{background:var(--ink);border-color:var(--ink);color:var(--cream)}.gallery-count{text-align:center;color:var(--muted);font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;margin:-1.5rem 0 2rem}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#14100ef0;display:grid;place-items:center;padding:1rem;animation:fade .25s ease both}@keyframes fade{0%{opacity:0}}.lightbox__figure{margin:0;max-width:min(1100px,92vw);max-height:90vh;display:flex;flex-direction:column;align-items:center;gap:.8rem}.lightbox__figure img{max-height:84vh;max-width:100%;width:auto;object-fit:contain;border-radius:var(--radius);animation:fade .35s ease both}.lightbox__figure figcaption{color:#f7f2ec99;font-size:.8rem;letter-spacing:.15em}.lightbox__close,.lightbox__nav{position:absolute;color:var(--cream);width:52px;height:52px;display:grid;place-items:center;font-size:2rem;line-height:1;border-radius:50%;transition:background .3s}.lightbox__close:hover,.lightbox__nav:hover{background:#ffffff1f}.lightbox__close{top:1rem;right:1rem}.lightbox__nav--prev{left:1rem;top:50%;transform:translateY(-50%)}.lightbox__nav--next{right:1rem;top:50%;transform:translateY(-50%)}@media (max-width: 640px){.lightbox__nav{top:auto;bottom:1rem;transform:none}}.pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;align-items:stretch}.price-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:6px;padding:2.2rem 2rem 2rem;display:flex;flex-direction:column;transition:transform .4s var(--ease),box-shadow .4s var(--ease)}.price-card:hover{transform:translateY(-4px);box-shadow:0 30px 50px -30px #1f1a1759}.price-card--featured{background:var(--ink);color:var(--cream);border-color:var(--ink)}.price-card__tag{position:absolute;top:-.8rem;left:2rem;background:var(--accent);color:#fff;font-size:.62rem;letter-spacing:.25em;text-transform:uppercase;padding:.35rem .8rem;border-radius:999px}.price-card h3{font-size:1.6rem;margin-bottom:.8rem}.price-card__price{font-family:var(--serif);font-size:2.6rem;line-height:1;margin-bottom:.4rem}.price-card__price small{font-family:var(--sans);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;opacity:.7;display:block;margin-top:.5rem}.price-card__meta{display:flex;gap:1.2rem;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;opacity:.75;padding:1rem 0;margin:.6rem 0 1rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.price-card--featured .price-card__meta{border-color:#f7f2ec33}.price-card ul{list-style:none;margin:0 0 1.5rem;padding:0;font-size:.95rem;flex:1}.price-card li{display:flex;gap:.7rem;padding:.4rem 0}.price-card li:before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-top:.6rem}.price-card__pay{font-size:.82rem;opacity:.75;margin:0 0 1.4rem}.price-card .btn{align-self:flex-start}.price-card--featured .btn{border-color:var(--cream);color:var(--cream)}.price-card--featured .btn:hover{background:var(--cream);color:var(--ink)}@media (max-width: 960px){.pricing{grid-template-columns:1fr;max-width:560px;margin-inline:auto}}.terms{margin-top:clamp(3rem,6vw,5rem);display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:2rem 4rem}.terms h3{font-size:1.9rem}.terms ul{list-style:none;margin:0;padding:0}.terms li{padding:.9rem 0;border-bottom:1px solid var(--line);color:var(--ink-2)}@media (max-width: 760px){.terms{grid-template-columns:1fr}}.reviews{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem}.review{padding:2.2rem 2rem;background:var(--cream-2);border-radius:6px;display:flex;flex-direction:column;gap:1.2rem}.section--tint .review{background:#fff}.review__mark{font-family:var(--serif);font-size:4rem;line-height:.5;color:var(--accent);height:1.4rem}.review__text{font-family:var(--serif);font-size:1.35rem;line-height:1.4;flex:1;margin:0}.review__name{font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.review__name:before{content:"— "}.review--big{padding:3rem}.review--big .review__text{font-size:clamp(1.4rem,2.2vw,1.8rem)}@media (max-width: 760px){.reviews{grid-template-columns:1fr}}.faq{border-top:1px solid var(--line)}.faq__item{border-bottom:1px solid var(--line)}.faq__q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;text-align:left;padding:1.4rem 0;font-family:var(--serif);font-size:1.4rem;line-height:1.25}.faq__q:hover{color:var(--accent)}.faq__icon{flex:none;width:32px;height:32px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-family:var(--sans);font-size:1.2rem;transition:transform .35s var(--ease),background .3s,color .3s}.faq__q[aria-expanded=true] .faq__icon{transform:rotate(45deg);background:var(--ink);color:var(--cream);border-color:var(--ink)}.faq__a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ease)}.faq__a>div{overflow:hidden}.faq__a p{color:var(--ink-2);padding-bottom:1.6rem;max-width:68ch}.faq__item--open .faq__a{grid-template-rows:1fr}.contact{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,6vw,6rem);align-items:start}.contact__list{list-style:none;margin:2rem 0;padding:0}.contact__list li{padding:1.1rem 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:.2rem}.contact__list li:last-child{border-bottom:1px solid var(--line)}.contact__list span{font-size:.68rem;letter-spacing:.25em;text-transform:uppercase;color:var(--muted)}.contact__list a{font-family:var(--serif);font-size:1.5rem;transition:color .3s}.contact__list a:hover{color:var(--accent)}.form{background:#fff;border:1px solid var(--line);border-radius:6px;padding:clamp(1.5rem,4vw,2.6rem);display:grid;gap:1.2rem}.form__row{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.field{display:flex;flex-direction:column;gap:.45rem}.field label{font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}.field input,.field select,.field textarea{font:inherit;font-weight:300;color:var(--ink);background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);padding:.85rem 1rem;transition:border-color .3s}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent)}.field textarea{min-height:140px;resize:vertical}.form__note{font-size:.82rem;color:var(--muted);margin:0}.form__success{padding:1rem 1.2rem;background:var(--cream-2);border-left:3px solid var(--accent);font-size:.95rem}@media (max-width: 860px){.contact{grid-template-columns:1fr}}@media (max-width: 560px){.form__row{grid-template-columns:1fr}}.page-head{padding:calc(var(--nav-h) + clamp(1.5rem,3vw,2.5rem)) 0 clamp(1.5rem,3vw,2.5rem);background:var(--cream-2);text-align:center}.page-head h1{font-size:clamp(2.6rem,6vw,4.6rem);font-weight:400;letter-spacing:-.02em}.page-head p{color:var(--ink-2);font-size:1.1rem;max-width:58ch;margin:.8rem auto 0}.about{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2rem,6vw,6rem);align-items:start}.about__sticky{position:sticky;top:calc(var(--nav-h) + 1rem)}.about__sticky img{width:100%;border-radius:var(--radius);aspect-ratio:4 / 5;object-fit:cover}.about__facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.5rem}.fact{border-top:1px solid var(--ink);padding-top:.8rem}.fact strong{display:block;font-family:var(--serif);font-size:2rem;font-weight:500;line-height:1}.fact span{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.about__body h2{font-size:clamp(2rem,3.6vw,3rem);margin-bottom:1.4rem}.about__body h3{font-size:1.8rem;margin:2.6rem 0 1rem}.about__body p{color:var(--ink-2);max-width:60ch}.about__body .drop:first-letter{font-family:var(--serif);font-size:3.6em;float:left;line-height:.8;padding:.12em .15em 0 0;color:var(--accent)}@media (max-width: 820px){.about{grid-template-columns:1fr}.about__sticky{position:static;max-width:460px}}.cta{text-align:center}.cta h2{font-size:clamp(2.4rem,5vw,4rem);font-weight:400;max-width:16ch;margin-inline:auto}.cta p{max-width:50ch;margin:1.4rem auto 2.4rem;color:#f7f2ecbf}.cta__actions{display:flex;justify-content:center;flex-wrap:wrap;gap:.9rem}.footer{background:var(--ink);color:#f7f2ecb3;padding:4rem 0 2rem;border-top:1px solid rgba(247,242,236,.08)}.footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2rem;padding-bottom:3rem;border-bottom:1px solid rgba(247,242,236,.1)}.footer .brand__name{color:var(--cream)}.footer .brand__sub{color:#f7f2ec80}.footer p{max-width:34ch;font-size:.95rem;margin-top:1.2rem}.footer h4{font-family:var(--sans);font-size:.68rem;letter-spacing:.25em;text-transform:uppercase;color:var(--cream);margin-bottom:1rem}.footer ul{list-style:none;margin:0;padding:0}.footer li{padding:.25rem 0}.footer a{transition:color .3s}.footer a:hover{color:var(--cream)}.footer__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding-top:1.5rem;font-size:.78rem;letter-spacing:.06em}@media (max-width: 760px){.footer__grid{grid-template-columns:1fr}}.not-found{min-height:60vh;display:grid;place-items:center;text-align:center;padding-top:var(--nav-h)}
