.packages{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.package{--muted:#586052;--line:#d3d6c9;--accent:#a82b1b;border:1px solid var(--line);color:#202320;background:#fafaf7;flex-direction:column;min-width:0;padding:36px;display:flex}.package-featured{--muted:#c3cbbf;--line:#4b5a4e;--accent:#e4b6a8;color:#f4f4ed;background:#202b24;border-color:#202b24}.package-label{color:var(--accent,#a82b1b);margin-bottom:18px;font-size:.875rem;font-weight:500}.package h3{letter-spacing:-.04em;font-size:clamp(1.5rem,2.2vw,2rem);line-height:1.2}.package-description{color:var(--muted);max-width:420px;min-height:3.3em;margin-top:14px}.package-cost{margin-block:30px 24px}.cost-label{color:var(--muted);margin-bottom:8px;font-size:.875rem}.package-amount{letter-spacing:-.06em;font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:12px;font-size:clamp(2.5rem,3.7vw,3.5rem);line-height:1.15;display:flex}.package-amount>span{color:var(--muted);letter-spacing:0;white-space:nowrap;font-size:.875rem}.package-cta{color:#fff;background:#a82b1b;border-color:#a82b1b;justify-content:space-between;width:100%}.package-cta:hover{background:#8e2316;border-color:#8e2316}.package-featured .package-cta{color:#202b24;background:#f4f4ed;border-color:#f4f4ed}.package-featured .package-cta:hover{background:#e2e6d9;border-color:#e2e6d9}.package-featured :is(a,summary):focus-visible{outline-color:#f4f4ed}.package-facts{border-block:1px solid var(--line);grid-template-columns:1fr 1fr;gap:20px;margin:28px 0 0;padding:20px 0;display:grid}.package-facts dt{color:var(--muted);font-size:.875rem}.package-facts dd{margin:4px 0 0;font-weight:500;line-height:1.45}.package-inclusions{flex:1;padding-block:24px}.package-inclusions h4{margin:0 0 16px;font-size:.875rem;font-weight:500}.package-inclusions ul{gap:12px;display:grid}.package-inclusions li{align-items:baseline;gap:12px;line-height:1.5;display:flex}.package-inclusions li>span{color:var(--accent);flex-shrink:0}.package-extra{color:var(--muted);margin-top:20px;font-size:.875rem;line-height:1.6}.package-care{border-top:1px solid var(--line)}.package-care summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding-top:22px;list-style:none;display:flex}.pricing summary::-webkit-details-marker{display:none}.care-label{color:var(--muted);margin-bottom:6px;font-size:.875rem;display:block}.package-care strong{letter-spacing:-.025em;font-size:1.25rem;font-weight:500}.package-care strong span{letter-spacing:0;color:var(--muted);font-size:.875rem;font-weight:400}.care-toggle{border:1px solid var(--line);border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:1.25rem;display:grid}.package-care[open] .care-toggle{transform:rotate(45deg)}.package-care>p{color:var(--muted);margin-top:16px;font-size:.875rem;line-height:1.6}.bespoke{border:1px solid #b9c0b2;grid-template-columns:1.15fr 1fr .9fr;align-items:center;gap:32px;margin-top:24px;padding:32px 36px;display:grid}.bespoke .package-label{margin-bottom:10px}.bespoke h3{font-size:1.5rem;line-height:1.25}.bespoke-intro>p:last-child{color:#555d55;margin-top:12px}.bespoke-services{flex-wrap:wrap;gap:8px;display:flex}.bespoke-services li{background:#f1f2eb;border:1px solid #c6ccbf;padding:5px 10px;font-size:.875rem}.bespoke-action{border-left:1px solid #b9c0b2;padding-left:28px}.bespoke-action>p{letter-spacing:-.04em;font-size:1.6rem;font-weight:500}.bespoke-action>span{color:#555d55;margin:6px 0 18px;font-size:.875rem;display:block}.bespoke-action .button{justify-content:space-between;gap:12px;width:100%}.pricing-terms{color:#555d55;border-top:1px solid #c5cbbb;padding-top:22px;font-size:.875rem;line-height:1.6}.pricing-terms>p{max-width:940px}.pricing-terms summary{cursor:pointer;color:#202320;align-items:center;gap:16px;width:fit-content;max-width:100%;min-height:44px;margin-top:8px;font-weight:500;list-style:none;display:flex}.pricing-terms summary>span{font-size:1.3rem}.pricing-terms details[open] summary>span{transform:rotate(45deg)}.pricing-terms details>div{max-width:940px;padding-top:6px}.pricing-terms .text-link{margin-top:14px;font-size:.875rem}@media (width<=1050px){.package{padding:28px}.bespoke{grid-template-columns:1fr 1fr;gap:24px;padding:28px}.bespoke-action{border-top:1px solid #b9c0b2;border-left:0;flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:24px;padding:22px 0 0;display:flex}.bespoke-action>span{flex:1;margin:0}.bespoke-action .button{width:auto}}@media (width<=760px){.packages{grid-template-columns:1fr;gap:20px}.package{padding:26px 24px}.package h3{font-size:1.75rem}.package-description{min-height:0}.package-cost{margin-top:24px}.package-amount{font-size:2.75rem}.bespoke{grid-template-columns:1fr;gap:24px;margin-top:20px;padding:26px 24px}.bespoke-action{display:block}.bespoke-action>span{margin:6px 0 18px}.bespoke-action .button{width:100%}}@media (width<=380px){.package,.bespoke{padding:24px 18px}.package h3{font-size:1.5rem}.package-facts{gap:12px}.package-cta{gap:12px;padding-inline:16px}}.home-page{--paper:#f1f0ec;--ink:#15171a;--wax:#a82b1b;--wax-d:#8e2316;--forest:#202b24;--brass:#9a7b3f;--header-h:76px;--ease-soft:cubic-bezier(.16, 1, .3, 1)}@media (width<=900px){.home-page{--header-h:calc(64px + env(safe-area-inset-top))}}body:has(.home-page){background:#f1f0ec url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .3 0 0 0 0 .27 0 0 0 0 .22 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.home-page .hero{isolation:isolate;min-height:clamp(560px, calc(100svh - var(--header-h)), 900px);align-items:center;padding:0;display:grid;position:relative;overflow:clip}.hero-photo{z-index:-1;margin:0;position:absolute;inset:0;overflow:hidden}.hero-photo img{object-fit:cover;object-position:72% 55%;width:100%;height:100%;transform:translate3d(var(--hx,0px), var(--py,0px), 0) scale(var(--ps,1.04));animation:hero-photo-in 1.6s var(--ease-soft) both}.hero-photo:after{content:"";background:linear-gradient(90deg, var(--paper) 0%, #f1f0ecf2 30%, #f1f0ec99 46%, #f1f0ec00 64%), linear-gradient(0deg, var(--paper) 0%, #f1f0ec00 18%);position:absolute;inset:0}@keyframes hero-photo-in{0%{opacity:0;scale:1.06}}.hero-inner{padding-block:72px 120px}.hero-copy{max-width:660px}.home-page .hero h1{letter-spacing:-.055em;max-width:none;font-size:clamp(3rem,6.4vw,6.2rem);line-height:1}.hero h1 .line{display:block}.hero h1 .line>span{animation:line-in .95s var(--ease-soft) 80ms both;display:inline-block}.hero h1 .line:nth-child(2)>span{animation-delay:.18s}.hero-em{letter-spacing:-.05em;padding-right:.06em;display:inline-block;position:relative}.hero-underline{width:calc(100% - .2em);height:.16em;position:absolute;bottom:-.08em;left:.02em;overflow:visible}.hero-underline path{fill:none;stroke:var(--brass);stroke-width:2.5px;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:0;opacity:.85;animation:draw 1.1s var(--ease-soft) .8s both}@keyframes draw{0%{stroke-dashoffset:1px}}@keyframes line-in{0%{opacity:0;filter:blur(6px);transform:translateY(32%)}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}}.home-page .hero-lead{color:#474c48;max-width:520px;animation:rise .8s var(--ease-soft) .32s both;margin:30px 0 34px;font-size:1.2rem}.hero-actions{animation:rise .8s var(--ease-soft) .42s both}.home-page .trust-strip{animation:rise .8s var(--ease-soft) .52s both;margin-top:34px}.home-page .trust-strip li{align-items:center;display:inline-flex}.home-page .trust-strip li:before{content:"";background:var(--wax) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.2l2.2 2.2 4.8-4.8' fill='none' stroke='white' stroke-width='1.8'/%3E%3C/svg%3E") center/100% no-repeat;border-radius:50%;width:16px;height:16px;margin-right:8px}.scroll-cue{width:24px;height:40px;animation:rise .8s var(--ease-soft) 1s both;border:1.5px solid #15171a44;border-radius:99px;position:absolute;bottom:26px;left:50%;translate:-50%}.scroll-cue span{background:var(--wax);width:3px;height:7px;animation:cue 2s var(--ease-soft) 1.4s infinite;border-radius:3px;margin-left:-1.5px;position:absolute;top:8px;left:50%}@keyframes cue{0%{opacity:0;transform:translateY(0)}30%{opacity:1}80%,to{opacity:0;transform:translateY(14px)}}.magnetic{transition:background var(--motion-fast), transform var(--motion-medium) var(--ease-out), translate .7s var(--ease-soft), box-shadow var(--motion-medium)}.magnetic.is-near{transition:background var(--motion-fast), transform var(--motion-medium) var(--ease-out), translate .18s linear, box-shadow var(--motion-medium)}.ticker{background:#f6f5f1;border-block:1px solid #d6d5cf;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.ticker-track{width:max-content;animation:60s linear infinite ticker;display:flex}.ticker:hover .ticker-track{animation-play-state:paused}.ticker ul{flex:none;display:flex}.ticker li{letter-spacing:-.03em;color:#2d312e;white-space:nowrap;align-items:center;gap:40px;padding:20px 0 20px 40px;font-size:clamp(1.15rem,1.7vw,1.5rem);display:flex}.ticker li:nth-child(2n){letter-spacing:-.02em;color:var(--wax);font-family:Spectral,Georgia,serif;font-style:italic}.ticker-mark{background:var(--brass);opacity:.75;flex:none;width:14px;height:16px;-webkit-mask:url(/brand/symbol.svg) 50%/contain no-repeat;mask:url(/brand/symbol.svg) 50%/contain no-repeat}@keyframes ticker{to{transform:translate(-50%)}}.home-page .works{padding-bottom:72px}.works .section-heading{align-items:end}.works-side{gap:20px;max-width:380px;display:grid}.works-side>p:first-child{color:#555d55}.rail-count{color:#626762;font-variant-numeric:tabular-nums;letter-spacing:.06em;font-size:.875rem}.rail-count span{color:var(--wax);font-weight:500}.rail{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;cursor:grab;padding-block:18px 30px;overflow-x:auto}.rail::-webkit-scrollbar{display:none}.rail.is-dragging{cursor:grabbing;scroll-snap-type:none}.rail.is-dragging a{pointer-events:none}.rail-inner{gap:24px;width:max-content;padding-inline:max(48px,50vw - 620px);display:flex}.rail-item{scroll-snap-align:center;perspective:1200px;flex:0 0 min(400px,78vw);display:flex}.rail-item .work-card{width:100%;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .9s var(--ease-soft), border-color .3s, box-shadow .6s var(--ease-soft);position:relative}.rail-item.is-tilting .work-card{transition:transform .25s var(--ease-out), border-color .3s, box-shadow .6s var(--ease-soft);border-color:#c9c6bc;box-shadow:0 30px 60px -20px #20231f33}.rail-item .work-card:after{content:"";pointer-events:none;opacity:0;background:radial-gradient(500px circle at var(--gx,50%) var(--gy,30%), #ffffff26, transparent 45%);transition:opacity .5s;position:absolute;inset:0}.rail-item.is-tilting .work-card:after{opacity:1}.rail-end{scroll-snap-align:center;background:var(--forest);color:#f4f4ed;flex-direction:column;flex:0 0 min(320px,70vw);justify-content:space-between;gap:30px;padding:32px;transition:background .4s;display:flex}.rail-end>span{letter-spacing:.08em;text-transform:uppercase;color:#c3cbbf;font-size:.875rem}.rail-end strong{letter-spacing:-.05em;font-size:2.2rem;font-weight:500;line-height:1.08}.rail-end em{color:#e4b6a8}.rail-end .arrow-icon{stroke-width:1.2px;width:40px;height:40px;transition:transform .6s var(--ease-soft);margin:0}.rail-end:hover{background:#18211b}.rail-end:hover .arrow-icon{transform:translate(6px,-6px)}.rail-end:focus-visible{outline-offset:-6px;outline-color:#fff}.rail-progress{background:#d6d5cf;height:1px;position:relative;overflow:hidden}.rail-progress span{background:var(--wax);transform-origin:0;transform:scaleX(var(--rail,.2));position:absolute;inset:0}.works.is-pinned{padding-block:0}.works.is-pinned .works-pin{flex-direction:column;justify-content:center;height:100svh;padding-top:30px;display:flex;position:sticky;top:0;overflow:hidden}.works.is-pinned .rail{scroll-snap-type:none;cursor:default;overflow:visible}.works.is-pinned .rail-inner{transform:translate3d(var(--rail-x,0px), 0, 0);will-change:transform}.works.is-pinned .section-heading{margin-bottom:18px}@media (height<=860px){.works.is-pinned h2{font-size:clamp(2.2rem,3.6vw,3.2rem)}.works.is-pinned .work-scene{aspect-ratio:auto;height:230px}.works.is-pinned .work-body p{display:none}}.home-page .package{transition:transform .8s var(--ease-soft), box-shadow .8s var(--ease-soft), border-color .4s;position:relative;overflow:hidden}.home-page .package:before{content:"";pointer-events:none;opacity:0;background:radial-gradient(380px circle at var(--mx,50%) var(--my,0%), #a82b1b0f, transparent 60%);transition:opacity .5s;position:absolute;inset:0}.home-page .package-featured:before{background:radial-gradient(380px circle at var(--mx,50%) var(--my,0%), #e4b6a81f, transparent 60%)}.home-page .package:hover:before{opacity:1}@media (hover:hover) and (pointer:fine){.home-page .package:hover{transform:translateY(-4px);box-shadow:0 30px 60px -24px #202b2433}}.needs-layout{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;gap:28px;display:grid}.needs-photo{top:calc(var(--header-h) + 24px);margin:0;position:sticky}.needs-photo-frame{height:min(72vh,680px);overflow:hidden}.needs-photo-frame img{object-fit:cover;object-position:40% 60%;width:100%;height:115%;transform:translate3d(0, var(--py,0px), 0) scale(1.04)}.needs-photo figcaption{color:#f1ded2;max-width:380px;margin-top:16px;font-family:Spectral,Georgia,serif;font-size:1.25rem;line-height:1.4}.home-page .needs-grid{grid-template-columns:minmax(0,1fr);gap:16px}.home-page .need-card{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:0 32px;transition:border-color .5s;display:grid;position:relative;overflow:hidden}.home-page .need-card>*{grid-column:1}.home-page .need-card>:is(ul,.text-link){grid-column:2}.home-page .need-card>ul{border-top:0;border-left:1px solid #526054;grid-row:1/span 4;margin-top:0;padding-top:0;padding-left:28px}.home-page .need-card>.text-link{grid-row:5}.home-page .need-number{letter-spacing:-.05em;color:#e4b6a8;margin-bottom:18px;font-family:Spectral,Georgia,serif;font-size:2.6rem;line-height:1}.home-page .need-summary{min-height:0}.need-card[data-spot]:before{content:"";pointer-events:none;opacity:0;background:radial-gradient(460px circle at var(--mx,50%) var(--my,50%), #e4b6a814, transparent 55%);transition:opacity .5s;position:absolute;inset:0}.need-card[data-spot]:hover:before{opacity:1}.home-page .need-card:hover{border-color:#6e7c70}.home-page .service-row{isolation:isolate;position:relative}.home-page .service-row:before{content:"";z-index:-1;opacity:0;transition:opacity .5s var(--ease-soft);background:#f1f0ea;position:absolute;inset:0}.home-page .service-row:after{content:"";background:var(--wax);transform-origin:top;width:2px;transition:transform .7s var(--ease-soft);position:absolute;top:0;bottom:0;left:0;transform:scaleY(0)}.home-page .service-row h3{transition:transform .7s var(--ease-soft)}.home-page .service-number{font-family:Spectral,Georgia,serif;font-size:1.1rem}@media (hover:hover) and (pointer:fine){.home-page .service-row:not(.service-featured):hover:before{opacity:1}.home-page .service-row:not(.service-featured):hover:after{transform:scaleY(1)}.home-page .service-row:hover h3{transform:translate(8px)}}.home-page .process{overflow-x:clip}.process-track{grid-template-columns:minmax(0,1fr) 160px;align-items:start;gap:40px;display:grid;position:relative}.process-rail{background:#dcdbd4;height:2px;margin-top:-.5px;position:absolute;top:22px;left:0;right:200px}.process-rail span{background:var(--wax);transform-origin:0;transform:scaleX(var(--p,1));position:absolute;inset:0}.home-page .process-step{border-top:0;padding-top:0}.home-page .process-number{z-index:1;background:var(--paper);color:#626762;font-variant-numeric:tabular-nums;width:46px;height:46px;transition:background .6s var(--ease-soft), border-color .6s var(--ease-soft), color .6s var(--ease-soft);border:1px solid #b9b9b1;border-radius:50%;place-items:center;margin-bottom:26px;font-size:.875rem;display:grid;position:relative}.home-page .process-step h3,.home-page .process-step p{transition:opacity .8s var(--ease-soft)}.process.is-live .process-step:not(.is-on) :is(h3,p){opacity:.4}.process-step.is-on .process-number{background:var(--wax);border-color:var(--wax);color:#fff}.process-seal{text-align:center;justify-items:center;gap:6px;margin-top:-34px;display:grid}.process-seal img{object-fit:contain;filter:drop-shadow(0 10px 14px #5c150c2e);width:150px;height:150px;rotate:-8deg}.process-seal span{color:var(--wax);font-family:Spectral,Georgia,serif;font-size:1.25rem}.process.is-live .process-seal img{transition:opacity .3s,transform .8s cubic-bezier(.34,1.3,.5,1)}.process.is-live .process-seal span{transition:opacity .6s var(--ease-soft) .25s}.process.is-live:not(.is-done) .process-seal img{opacity:0;transform:scale(1.6)rotate(-12deg)}.process.is-live:not(.is-done) .process-seal span{opacity:0}.faq-head{top:calc(var(--header-h) + 30px);position:sticky}.faq-head>p:last-child{color:#555d55;max-width:320px;margin-top:24px}.home-page .faq summary{font-size:1.05rem}.home-page .faq summary>span{width:34px;height:34px;transition:transform .45s var(--ease-soft), background .3s, color .3s, border-color .3s;border:1px solid #d6d5cf;border-radius:50%;place-items:center;font-size:1.2rem;display:grid}.home-page .faq details[open] summary>span{background:var(--wax);border-color:var(--wax);color:#fff}.home-page .contact{overflow-x:clip}.contact-seal{object-fit:contain;filter:drop-shadow(0 22px 26px #3a0c0659);width:210px;height:210px;rotate:-10deg;transform:translate3d(0, var(--py,0px), 0);margin-top:48px;display:block}.form-wrap{min-width:0;position:relative}.home-page .inquiry-form{box-shadow:0 40px 80px -30px #3a0c0666}.form-stamp{object-fit:contain;pointer-events:none;opacity:0;filter:drop-shadow(0 12px 14px #3a0c0666);width:130px;height:130px;position:absolute;top:-44px;right:-34px;rotate:-14deg}.form-wrap:has(.form-status[data-state=ok]) .form-stamp{opacity:1;animation:.8s cubic-bezier(.34,1.3,.5,1) both stamp}@keyframes stamp{0%{opacity:0;transform:scale(1.8)}60%{opacity:1;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@media (width<=1050px){.home-page .hero{flex-direction:column;align-items:stretch;min-height:0;display:flex}.hero-inner{order:1;padding-block:56px 8px}.home-page .form-row{grid-template-columns:minmax(0,1fr);gap:0}.hero-photo{order:2;height:440px;position:relative;inset:auto}.hero-photo:after{background:linear-gradient(180deg, var(--paper) 0%, #f1f0ec00 30%), linear-gradient(0deg, var(--paper) 0%, #f1f0ec00 20%)}.hero-photo img{object-position:70% 60%;transform:none}.scroll-cue{display:none}.needs-layout{grid-template-columns:minmax(0,1fr)}.needs-photo{position:relative;top:0}.needs-photo-frame{height:420px}.process-track{grid-template-columns:minmax(0,1fr)}.process-rail{display:none}.process-seal{justify-items:start;margin-top:0}.contact-seal{width:150px;height:150px;margin-top:32px}}@media (width<=760px){.hero-inner{padding-block:34px 0}.hero-photo{height:300px}.home-page .hero h1{font-size:clamp(2.7rem,12vw,4rem)}.home-page .hero-lead{font-size:1.1rem}.ticker li{padding-block:15px;gap:28px;padding-left:28px}.rail-inner{gap:16px;padding-inline:20px}.works-side{max-width:none}.needs-photo-frame{height:300px}.home-page .need-card{grid-template-columns:minmax(0,1fr)}.home-page .need-card>:is(ul,.text-link){grid-area:auto/1}.home-page .need-card>ul{border-top:1px solid #526054;border-left:0;margin-top:22px;padding-top:20px;padding-left:0}.home-page .need-number{font-size:2.1rem}.faq-head{position:static}.contact-seal{display:none}.form-stamp{width:100px;height:100px;top:-56px;right:-8px}.home-page .process-step{grid-template-columns:46px minmax(0,1fr);column-gap:18px;display:grid;position:relative}.home-page .process-step>:not(.process-number){grid-column:2}.home-page .process-number{grid-row:1/span 2;margin-bottom:0}.home-page .process-step:not(:last-child):before{content:"";background:#dcdbd4;width:2px;transition:background .6s;position:absolute;top:46px;bottom:-28px;left:22px}.home-page .process-step.is-on:not(:last-child):before{background:var(--wax)}.process-step h3{padding-top:10px}.process-seal img{width:120px;height:120px}}@media (prefers-reduced-motion:reduce){.hero-photo img,.contact-seal{transform:none}.ticker-track{animation:none}.rail-item .work-card{transform:none!important}.process-seal img,.process-seal span{opacity:1!important;transform:none!important}}.contact-wa{flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:30px;display:flex}.contact-wa .button{color:#fff;background:0 0;border-color:#f1ded288;border-radius:99px;gap:14px;padding-inline:22px}.contact-wa .button:hover{color:#8e2316;background:#fff;border-color:#fff}
