:root{--cream:#faf6f1;--cream-deep:#f3ece2;--ink:#2b2522;--ink-soft:#6b5e57;--ink-mute:#9e8f85;--hair:#d9cec3;--rose:#c9958c;--rose-deep:#a87368;--blush:#f0dfd9;--sage:#9da89a;--display:"EB Garamond", serif;--display-weight:500;--accent:"Italiana", "Cormorant Garamond", serif;--body:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--mono:"JetBrains Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body{background:var(--cream);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;padding:0;font-size:16px;line-height:1.6}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.display{font-family:var(--display);font-weight:var(--display-weight);letter-spacing:-.01em;line-height:1.02}.display-italic{font-family:var(--display);font-style:italic;font-weight:300}.accent-face{font-family:var(--accent);letter-spacing:.02em}.kicker{font-family:var(--body);letter-spacing:.32em;text-transform:uppercase;color:var(--ink-soft);font-size:11px;font-weight:500}.kicker-italic{font-family:var(--display);color:var(--rose-deep);letter-spacing:0;font-size:18px;font-style:italic}.wrap{max-width:1240px;margin:0 auto;padding:0 48px}.wrap-narrow{max-width:880px;margin:0 auto;padding:0 48px}.hair-rule{background:var(--hair);width:100%;height:1px}.hair-rule--short{background:var(--rose);width:56px;height:1px}.nav{z-index:50;-webkit-backdrop-filter:blur(12px);background:#faf6f1e0;border-bottom:1px solid #0000;transition:border-color .3s,background .3s;position:fixed;top:0;left:0;right:0}.nav--scrolled{border-bottom-color:var(--hair)}.nav__inner{justify-content:space-between;align-items:center;gap:32px;max-width:1240px;margin:0 auto;padding:22px 48px;display:flex}.nav__mark{font-family:var(--display);letter-spacing:.01em;flex-direction:column;font-size:22px;line-height:1;display:flex}.nav__mark span{letter-spacing:.38em;text-transform:uppercase;font-size:10px;font-family:var(--body);color:var(--ink-soft);margin-top:4px;font-weight:500}.nav__links{align-items:center;gap:36px;display:flex}.nav__link{letter-spacing:.08em;text-transform:uppercase;color:var(--ink);padding:4px 0;font-size:13px;font-weight:400;transition:color .2s;position:relative}.nav__link:after{content:"";background:var(--rose);transform-origin:0;height:1px;transition:transform .26s;position:absolute;bottom:-2px;left:0;right:0;transform:scaleX(0)}.nav__link:hover{color:var(--rose-deep)}.nav__link:hover:after{transform:scaleX(1)}.nav__cta{font-family:var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--cream);background:var(--ink);border-radius:999px;padding:12px 22px;font-size:12px;font-weight:500;transition:background .22s,transform .22s}.nav__cta:hover{background:var(--rose-deep)}.nav__burger{cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;padding:6px 4px;display:none}.nav__burger span{background:var(--ink);transform-origin:50%;height:1px;transition:transform .3s,opacity .3s;display:block}.nav__burger--open span:first-child{transform:translateY(6px)rotate(45deg)}.nav__burger--open span:nth-child(2){opacity:0}.nav__burger--open span:nth-child(3){transform:translateY(-6px)rotate(-45deg)}.nav__drawer{background:var(--cream);z-index:49;border-left:1px solid var(--hair);flex-direction:column;width:min(320px,85vw);height:100dvh;padding:100px 40px 48px;transition:transform .38s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;right:0;transform:translate(100%)}.nav__drawer--open{transform:translate(0)}.nav__drawer-inner{flex-direction:column;gap:8px;display:flex}.nav__drawer-link{font-family:var(--display);color:var(--ink);border-bottom:1px solid var(--hair);padding:10px 0;font-size:36px;font-style:italic;transition:color .2s}.nav__drawer-link:hover{color:var(--rose-deep)}.nav__drawer-cta{align-self:flex-start;margin-top:32px}.nav__overlay{z-index:48;-webkit-backdrop-filter:blur(2px);background:#2b252266;position:fixed;inset:0}.btn{letter-spacing:.22em;text-transform:uppercase;cursor:pointer;font-size:12px;font-weight:500;font-family:var(--body);border:none;border-radius:999px;align-items:center;gap:10px;padding:15px 32px;transition:all .24s;display:inline-flex}.btn--solid{background:var(--rose);color:var(--cream)}.btn--solid:hover{background:var(--rose-deep);transform:translateY(-1px)}.btn--outline{color:var(--ink);border:1px solid var(--ink);background:0 0}.btn--outline:hover,.btn--ink{background:var(--ink);color:var(--cream)}.btn--ink:hover{background:var(--rose-deep)}.hero{padding:180px 0 140px;position:relative;overflow:hidden}.hero__grid{grid-template-columns:1.1fr 1fr;align-items:center;gap:80px;display:grid}.hero__label{align-items:center;gap:14px;margin-bottom:38px;display:flex}.hero__label .dot{background:var(--rose);border-radius:50%;width:7px;height:7px}.hero__title{font-size:clamp(56px,7vw,104px);line-height:.98;font-weight:var(--display-weight);letter-spacing:-.015em}.hero__title em{color:var(--rose-deep);font-style:italic;font-weight:300}.hero__sub{max-width:460px;color:var(--ink-soft);margin-top:34px;font-size:17px;line-height:1.7}.hero__ctas{flex-wrap:wrap;gap:14px;margin-top:44px;display:flex}.hero__image{aspect-ratio:4/5;background:var(--blush);border-radius:4px;position:relative;overflow:hidden}.hero__image img{object-fit:cover;object-position:center top;width:100%;height:100%;display:block}.hero__image-caption{font-family:var(--mono);color:var(--cream);letter-spacing:.08em;text-transform:uppercase;background:linear-gradient(#2b252200 0%,#2b25228c 100%);padding:48px 22px 20px;font-size:11px;position:absolute;bottom:0;left:0;right:0}.hero__meta{writing-mode:vertical-rl;font-family:var(--mono);letter-spacing:.3em;color:var(--ink-mute);text-transform:uppercase;font-size:10px;position:absolute;top:220px;right:48px;transform:rotate(180deg)}.ph{background:repeating-linear-gradient(135deg, transparent 0 14px, #a873682e 14px 15px), var(--blush);width:100%;height:100%;color:var(--rose-deep);font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;justify-content:center;align-items:center;font-size:11px;display:flex;position:relative}.ph--sage{color:#556152;background:repeating-linear-gradient(135deg,#0000 0 14px,#7a887933 14px 15px),#e4eae2}.ph--cream{background:repeating-linear-gradient(135deg, transparent 0 14px, #6b5e5724 14px 15px), var(--cream-deep);color:var(--ink-soft)}.marquee{border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);background:var(--cream);padding:26px 0;overflow:hidden}.marquee__track{white-space:nowrap;font-family:var(--display);color:var(--ink-soft);gap:64px;font-size:24px;font-style:italic;animation:44s linear infinite marquee;display:flex}.marquee__track span:before{content:"❋";color:var(--rose);margin-right:64px;font-style:normal}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.section{padding:140px 0;position:relative}.section--rose{background:var(--blush)}.section--ink{background:var(--ink);color:var(--cream)}.section-header{text-align:center;margin-bottom:80px}.section-title{font-family:var(--display);font-size:clamp(44px,5.5vw,72px);font-weight:var(--display-weight);letter-spacing:-.01em;margin:14px 0 0;line-height:1.05}.section-title em{color:var(--rose-deep);font-style:italic}.section--ink .section-title em{color:var(--rose)}.section-lede{max-width:560px;color:var(--ink-soft);margin:24px auto 0;font-size:17px;line-height:1.7}.section--ink .section-lede{color:#faf6f1bf}.about__grid{grid-template-columns:5fr 7fr;align-items:start;gap:80px;display:grid}.about__portrait{aspect-ratio:4/5;background:var(--blush);border-radius:300px 300px 6px 6px;overflow:hidden}.about__portrait img{object-fit:cover;object-position:center top;width:100%;height:100%;display:block}.about__copy p{color:var(--ink);margin:0 0 22px;font-size:17px;line-height:1.75}.about__copy p.lead{font-family:var(--display);color:var(--ink);font-size:28px;line-height:1.35;font-weight:var(--display-weight);margin-bottom:32px}.about__copy p.lead em{color:var(--rose-deep);font-style:italic}.about__signature{font-family:var(--display);color:var(--rose-deep);margin-top:32px;font-size:30px;font-style:italic}.about__stats{border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);grid-template-columns:repeat(3,1fr);gap:0;margin-top:48px;display:grid}.about__stat{border-right:1px solid var(--hair);padding:26px 18px}.about__stat:last-child{border-right:none}.about__stat .n{font-family:var(--display);color:var(--rose-deep);font-size:44px;font-weight:400;line-height:1}.about__stat .l{letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft);margin-top:8px;font-size:11px}.services__intro{grid-template-columns:1fr 1.4fr;align-items:end;gap:80px;margin-bottom:96px;display:grid}.services__intro h2{font-family:var(--display);font-size:clamp(48px,6vw,84px);line-height:1;font-weight:var(--display-weight);margin:14px 0 0}.services__intro h2 em{color:var(--rose-deep);font-style:italic}.services__intro p{color:var(--ink-soft);max-width:480px;font-size:17px;line-height:1.7}.services__list{border-top:1px solid var(--hair)}.service-row{border-bottom:1px solid var(--hair);grid-template-columns:80px 1fr 1.2fr 180px;align-items:start;gap:40px;padding:44px 0;display:grid}.service-row__num{font-family:var(--mono);letter-spacing:.2em;color:var(--rose-deep);padding-top:10px;font-size:12px}.service-row__title{font-family:var(--display);font-size:36px;line-height:1.1;font-weight:var(--display-weight)}.service-row__title em{color:var(--rose-deep);font-style:italic}.service-row__desc{color:var(--ink-soft);font-size:15px;line-height:1.7}.service-row__desc ul{columns:2;column-gap:28px;margin:12px 0 0;padding:0;list-style:none}.service-row__desc li{break-inside:avoid;color:var(--ink);padding:3px 0;font-size:13px}.service-row__desc li:before{content:"— ";color:var(--rose)}.service-row__price{font-family:var(--display);color:var(--ink-soft);text-align:right;padding-top:10px;font-size:15px}.service-row__price .from{letter-spacing:.22em;text-transform:uppercase;color:var(--ink-mute);font-size:10px;font-family:var(--body);margin-bottom:4px;display:block}.service-row__price .amt{color:var(--ink);font-size:28px;font-style:italic}.portfolio__grid{grid-template-columns:repeat(12,1fr);gap:24px;display:grid}.case{background:var(--cream-deep);transition:transform .4s;position:relative;overflow:hidden}.case:hover{transform:translateY(-4px)}.case:hover .case__overlay{opacity:1}.case--a{aspect-ratio:4/3;grid-column:span 7}.case--b{aspect-ratio:1;grid-column:span 5}.case--c,.case--d,.case--e{aspect-ratio:3/4;grid-column:span 4}.case__body{color:var(--cream);pointer-events:none;background:linear-gradient(#2b252200 0%,#2b2522d1 100%);padding:24px;position:absolute;bottom:0;left:0;right:0}.case__tag{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--blush);margin-bottom:6px;font-size:10px}.case__title{font-family:var(--display);font-size:22px;font-style:italic;line-height:1.2}.case__overlay{opacity:0;pointer-events:none;background:#2b252299;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:absolute;inset:0}.case__overlay span{font-family:var(--display);color:var(--cream);border-bottom:1px solid var(--rose);padding-bottom:4px;font-size:20px;font-style:italic}.process__grid{grid-template-columns:repeat(4,1fr);gap:32px;margin-top:48px;display:grid}.process-step{border-top:1px solid #faf6f140;padding-top:32px;position:relative}.process-step .num{font-family:var(--display);color:var(--rose);margin-bottom:18px;font-size:48px;font-style:italic;line-height:1}.process-step h4{font-family:var(--display);font-size:24px;font-weight:var(--display-weight);margin:0 0 12px}.process-step p{color:#faf6f1b3;margin:0;font-size:14px;line-height:1.7}.faq{border-top:1px solid var(--hair)}.faq-item{border-bottom:1px solid var(--hair)}.faq-item__q{cursor:pointer;font-family:var(--display);color:var(--ink);justify-content:space-between;align-items:center;gap:24px;padding:32px 0;font-size:26px;line-height:1.3;transition:color .2s;display:flex}.faq-item__q:hover{color:var(--rose-deep)}.faq-item__plus{flex-shrink:0;width:24px;height:24px;transition:transform .32s;position:relative}.faq-item__plus:before,.faq-item__plus:after{content:"";background:var(--rose-deep);position:absolute}.faq-item__plus:before{height:1px;top:50%;left:0;right:0;transform:translateY(-50%)}.faq-item__plus:after{width:1px;transition:transform .32s;top:0;bottom:0;left:50%;transform:translate(-50%)}.faq-item--open .faq-item__plus:after{transform:translate(-50%)scaleY(0)}.faq-item__a{max-height:0;color:var(--ink-soft);padding-right:80px;font-size:15px;line-height:1.75;transition:max-height .42s,padding .42s;overflow:hidden}.faq-item--open .faq-item__a{max-height:400px;padding-bottom:32px}.contact{background:var(--ink);color:var(--cream);padding:140px 0}.contact__grid{grid-template-columns:1fr 1fr;align-items:start;gap:80px;display:grid}.contact__title{font-family:var(--display);font-size:clamp(52px,6vw,88px);line-height:1;font-weight:var(--display-weight);margin:18px 0 32px}.contact__title em{color:var(--rose);font-style:italic}.contact__meta p{color:#faf6f1b3;max-width:420px;font-size:15px;line-height:1.8}.contact__info{gap:22px;margin-top:48px;display:grid}.contact__info-item .lbl{letter-spacing:.28em;text-transform:uppercase;color:#faf6f180;font-size:10px;font-family:var(--body);margin-bottom:6px}.contact__info-item .val{font-family:var(--display);color:var(--cream);font-size:22px;font-style:italic}.form{gap:22px;display:grid}.form__row{grid-template-columns:1fr 1fr;gap:22px;display:grid}.form__field label{letter-spacing:.24em;text-transform:uppercase;color:#faf6f180;font-size:10px;font-family:var(--body);margin-bottom:10px;display:block}.form__field input,.form__field select,.form__field textarea{width:100%;color:var(--cream);font-family:var(--display);background:0 0;border:none;border-bottom:1px solid #faf6f138;border-radius:0;outline:none;padding:10px 0;font-size:18px;transition:border-color .26s}.form__field input:focus,.form__field select:focus,.form__field textarea:focus{border-bottom-color:var(--rose)}.form__field select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' stroke='%23C9958C' stroke-width='1' fill='none'/></svg>");background-position:right 4px center;background-repeat:no-repeat;background-size:12px}.form__field select option{background:var(--ink);color:var(--cream)}.form__field textarea{resize:vertical;min-height:110px;font-family:var(--body);font-size:15px;line-height:1.6}.form__submit{justify-content:space-between;align-items:center;margin-top:12px;display:flex}.form__submit .note{color:#faf6f180;font-size:12px;font-family:var(--display);font-style:italic}.form__error{color:var(--rose);font-size:13px;font-family:var(--body);margin-top:8px}.footer{background:var(--cream);border-top:1px solid var(--hair);padding:80px 0 40px}.footer__grid{grid-template-columns:1.4fr 1fr 1fr;gap:56px;margin-bottom:64px;display:grid}.footer__brand{font-family:var(--display);font-size:28px;line-height:1.1}.footer__brand em{color:var(--rose-deep);font-style:italic}.footer__brand p{color:var(--ink-soft);max-width:280px;font-size:13px;font-family:var(--body);margin-top:18px;line-height:1.6}.footer h5{letter-spacing:.28em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 20px;font-size:10px;font-weight:500}.footer__links{gap:10px;margin:0;padding:0;list-style:none;display:grid}.footer__links a{font-family:var(--display);color:var(--ink);font-size:18px;font-style:italic;transition:color .2s}.footer__links a:hover{color:var(--rose-deep)}.footer__bottom{border-top:1px solid var(--hair);color:var(--ink-mute);font-size:12px;font-family:var(--mono);letter-spacing:.06em;justify-content:space-between;align-items:center;padding-top:28px;display:flex}.footer__bottom a{color:var(--ink-soft)}.footer__bottom a:hover{color:var(--rose-deep)}.reveal{opacity:0;transition:opacity .9s,transform .9s;transform:translateY(20px)}.reveal--in{opacity:1;transform:none}@media (width<=960px){.wrap,.wrap-narrow{padding:0 24px}.nav__inner{padding:18px 24px}.nav__links{display:none}.nav__burger{display:flex}.hero__grid,.about__grid,.services__intro,.contact__grid{grid-template-columns:1fr;gap:48px}.service-row{grid-template-columns:40px 1fr;grid-template-areas:"n t"".d"".p";gap:16px}.service-row__num{grid-area:n;padding-top:6px}.service-row__title{grid-area:t;font-size:28px}.service-row__desc{grid-area:d}.service-row__desc ul{columns:1}.service-row__price{text-align:left;grid-area:p}.portfolio__grid{grid-template-columns:1fr}.case--a,.case--b,.case--c,.case--d,.case--e{grid-column:auto}.process__grid{grid-template-columns:1fr 1fr}.footer__grid{grid-template-columns:1fr 1fr;gap:32px}.form__row{grid-template-columns:1fr}.hero__meta{display:none}}
