@font-face{font-family:Bodoni Moda;src:url(/demos/remodeling/fonts/bodoni-moda-normal.woff2) format("woff2");font-weight:400 700;font-display:swap}@font-face{font-family:Bodoni Moda;src:url(/demos/remodeling/fonts/bodoni-moda-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Hanken Grotesk;src:url(/demos/remodeling/fonts/hanken-grotesk-normal.woff2) format("woff2");font-weight:400 600;font-display:swap}:root{--plaster: #F3F3F0;--stone: #E6E5E0;--white: #FBFBFA;--ink: #17171A;--ink-2: #4B4B50;--ink-3: #5E5E64;--rule: #CDCCC6;--ox: #6B1E24;--ox-deep: #4F151A;--rose: #E2B4AC;--on-ink: #F3F3F0;--on-ink-2: #B9B8B3;--danger: #A01E1E;--serif: "Bodoni Moda", "Didot", "Bodoni 72", Georgia, serif;--sans: "Hanken Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;--s1: .25rem;--s2: .5rem;--s3: .75rem;--s4: 1rem;--s5: 1.5rem;--s6: 2rem;--s7: 3rem;--s8: 5rem;--s9: 8rem;--gutter: clamp(1.25rem, .5rem + 4vw, 4rem);--max: 1360px;--ease: cubic-bezier(.22, .7, .1, 1)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}body{margin:0;background:var(--plaster);color:var(--ink);font:400 1.0625rem/1.68 var(--sans);padding-bottom:60px}img,picture{display:block;max-width:100%;height:auto}.fill picture{height:100%}.fill img{width:100%;height:100%;object-fit:cover}h1,h2,h3{margin:0;font-family:var(--serif);font-weight:400;font-optical-sizing:auto;text-wrap:balance}h1{font-size:clamp(2.875rem,1.6rem + 4.6vw,5.5rem);line-height:.98;letter-spacing:-.02em}h2{font-size:clamp(2.125rem,1.3rem + 3.2vw,4rem);line-height:1.02;letter-spacing:-.015em}h3{font-size:clamp(1.375rem,1.1rem + .9vw,1.75rem);line-height:1.15;letter-spacing:-.005em}p{margin:0;text-wrap:pretty}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.22em}ul,ol{margin:0;padding:0;list-style:none}::selection{background:var(--ox);color:var(--white)}:focus-visible{outline:2px solid var(--ox);outline-offset:4px}.ink :focus-visible{outline-color:var(--rose)}.skip{position:absolute;left:1rem;top:-100px;z-index:60;padding:.75rem 1rem;background:var(--ink);color:var(--on-ink)}.skip:focus{top:1rem}.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}.measure{max-width:60ch}.muted{color:var(--ink-2)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;min-height:52px;padding:0 1.6rem;font:600 .9375rem/1 var(--sans);letter-spacing:.02em;text-decoration:none;cursor:pointer;border:1px solid var(--ink);background:var(--ink);color:var(--on-ink);transition:background-color .25s var(--ease),color .25s var(--ease)}.btn:hover{background:var(--ox);border-color:var(--ox)}.btn--ghost{background:transparent;color:var(--ink)}.btn--ghost:hover{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}.ink .btn{background:var(--on-ink);color:var(--ink);border-color:var(--on-ink)}.ink .btn:hover{background:var(--rose);border-color:var(--rose)}.ink .btn--ghost{background:transparent;color:var(--on-ink)}.ink .btn--ghost:hover{background:var(--on-ink);color:var(--ink)}.arrow{display:inline-block;width:22px;height:10px;flex:none}.arrow path{fill:none;stroke:currentColor;stroke-width:1.2}.textlink{display:inline-flex;align-items:center;gap:.6rem;min-height:44px;font-weight:600;color:var(--ox);text-decoration:none;border-bottom:1px solid currentColor}.ink .textlink{color:var(--rose)}.textlink:hover .arrow{transform:translate(4px)}.textlink .arrow{transition:transform .3s var(--ease)}.mast{position:relative;z-index:40}.mast__in{display:flex;align-items:center;gap:var(--s5);min-height:84px;border-bottom:1px solid var(--rule)}.word{text-decoration:none;margin-right:auto;display:inline-flex;flex-direction:column}.word__name{font:400 1.75rem/1 var(--serif);letter-spacing:-.01em}.word__name span{color:var(--ox)}.word__sub{margin-top:.3rem;font:500 .6875rem/1 var(--sans);letter-spacing:.26em;text-transform:uppercase;color:var(--ink-2)}.mast nav{display:none}.mast nav ul{display:flex;gap:var(--s5)}.mast nav a{font-size:.9375rem;text-decoration:none;padding:.4rem 0;border-bottom:1px solid transparent}.mast nav a:hover,.mast nav a[aria-current=page]{border-bottom-color:var(--ink)}.mast__cta{display:none}.menu{display:inline-flex;align-items:center;gap:.55rem;min-height:44px;padding:0 .25rem;background:none;border:0;font:600 .9375rem var(--sans);color:var(--ink);cursor:pointer}.menu i{width:20px;height:1px;background:currentColor;box-shadow:0 -5px 0 currentColor,0 5px 0 currentColor}.menu[aria-expanded=true] i{box-shadow:none}.sheet{display:none;padding:var(--s5) var(--gutter) var(--s7);background:var(--plaster);border-bottom:1px solid var(--rule)}.sheet.is-open{display:block}.sheet a{display:block;padding:.55rem 0;font:400 2rem/1.15 var(--serif);text-decoration:none}.sheet a[aria-current=page]{color:var(--ox)}.sheet .btn{margin-top:var(--s5);font:600 .9375rem/1 var(--sans);padding:0 1.6rem;display:flex}@media(min-width:1100px){.mast nav{display:block}.mast__cta{display:inline-flex}.menu,.sheet{display:none!important}}.hero{padding:var(--s7) 0 var(--s8)}.hero__grid{display:grid;gap:var(--s7)}.hero h1{max-width:12ch;font-size:clamp(2.75rem,1.6rem + 4vw,4.75rem)}.input::placeholder{color:var(--ink-3);opacity:1}.hero .lede{margin-top:var(--s5);max-width:38ch;font-size:1.1875rem;color:var(--ink-2)}.hero__actions{display:flex;flex-wrap:wrap;gap:var(--s4) var(--s6);align-items:center;margin-top:var(--s6)}.hero__fig{margin:0}.hero__img{aspect-ratio:4 / 5;overflow:hidden}@media(min-width:1000px){.hero{padding:var(--s8) 0 var(--s9)}.hero__grid{grid-template-columns:6fr 1fr 5fr;align-items:end}.hero__copy{grid-column:1;padding-bottom:var(--s7)}.hero__fig{grid-column:3}.hero__img{aspect-ratio:4 / 5}}@media(prefers-reduced-motion:no-preference){.reveal img{animation:reveal 1.4s var(--ease) both}@keyframes reveal{0%{clip-path:inset(0 0 100% 0);transform:scale(1.06)}to{clip-path:inset(0 0 0 0);transform:scale(1)}}}.cap{display:grid;grid-template-columns:auto 1fr;gap:.2rem var(--s4);padding-top:var(--s3);margin-top:var(--s3);border-top:1px solid var(--rule);font-size:.875rem;color:var(--ink-2)}.cap__n{font:400 .9375rem/1.4 var(--serif);color:var(--ox);font-variant-numeric:lining-nums tabular-nums;white-space:nowrap}.cap em{font-family:var(--serif);font-style:italic;font-size:1rem;color:var(--ink)}.tag{display:inline-block;margin-left:.35rem;font:600 .6875rem/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);border:1px solid var(--rule);padding:.25rem .4rem;vertical-align:1px}.ink .cap{border-color:#3a3a3f;color:var(--on-ink-2)}.ink .cap em{color:var(--on-ink)}.ink .cap__n{color:var(--rose)}.sec{padding:var(--s8) 0}.sec--stone{background:var(--stone)}.sec--white{background:var(--white)}.ink{background:var(--ink);color:var(--on-ink)}.ink .muted,.ink p{color:var(--on-ink-2)}@media(min-width:1000px){.sec{padding:var(--s9) 0}}.intro{display:grid;gap:var(--s5)}.intro__lead{font:400 clamp(1.625rem,1.15rem + 1.9vw,2.75rem)/1.22 var(--serif);letter-spacing:-.01em;max-width:30ch;color:var(--ink)}@media(min-width:1000px){.intro{grid-template-columns:3fr 9fr}.intro>:first-child{padding-top:.9rem}}.rule-title{font:500 .8125rem/1.4 var(--sans);color:var(--ink-2);border-top:1px solid var(--ink);padding-top:var(--s3)}.ink .rule-title{color:var(--on-ink-2);border-color:var(--on-ink-2)}.head{display:grid;gap:var(--s4);align-content:start;margin-bottom:var(--s7);max-width:44rem}.head p{color:var(--ink-2);font-size:1.125rem}.ink .head p{color:var(--on-ink-2)}.rows{display:grid;gap:var(--s8)}.row{display:grid;gap:var(--s5);text-decoration:none}.row__img{aspect-ratio:3 / 2;overflow:hidden}.row__img img{transition:transform 1.2s var(--ease)}.row:hover .row__img img{transform:scale(1.025)}.row h3{font-size:clamp(2rem,1.4rem + 2.4vw,3.25rem);line-height:1}.row p{color:var(--ink-2);max-width:38ch}.row__text{display:grid;gap:var(--s4);align-content:start}@media(min-width:900px){.row{grid-template-columns:7fr 1fr 4fr;align-items:end}.row__img{grid-column:1}.row__text{grid-column:3;padding-bottom:var(--s5)}.row:nth-child(2n){grid-template-columns:4fr 1fr 7fr}.row:nth-child(2n) .row__img{grid-column:3;grid-row:1}.row:nth-child(2n) .row__text{grid-column:1;grid-row:1}}.spread{display:grid;gap:var(--s7)}.plate{margin:0}.plate__img{overflow:hidden;aspect-ratio:4 / 3}.plate--tall .plate__img{aspect-ratio:4 / 5}.plate--wide .plate__img{aspect-ratio:16 / 10}@media(min-width:900px){.spread{grid-template-columns:repeat(12,1fr);gap:var(--s7) var(--s5);align-items:start}.spread>:nth-child(1){grid-column:1 / span 7}.spread>:nth-child(2){grid-column:9 / span 4;margin-top:var(--s8)}.spread>:nth-child(3){grid-column:3 / span 6}}.folio{display:grid;gap:var(--s8)}.folio__item{display:grid;gap:var(--s5);scroll-margin-top:var(--s5)}.folio__text{display:grid;gap:var(--s3);align-content:start}.folio__n{font:400 clamp(3rem,2rem + 3vw,5.5rem)/.9 var(--serif);color:var(--ox);font-variant-numeric:lining-nums}.folio__text h2{font-size:clamp(1.875rem,1.3rem + 1.8vw,2.75rem)}.folio__scope{font-size:.9375rem;color:var(--ink-2);border-top:1px solid var(--rule);padding-top:var(--s3)}.folio__text p.desc{font:italic 400 1.1875rem/1.5 var(--serif);color:var(--ink);max-width:36ch}@media(min-width:900px){.folio__item{grid-template-columns:repeat(12,1fr);gap:var(--s5);align-items:end}.folio__item .plate__img{grid-column:1 / span 8}.folio__item .folio__text{grid-column:9 / span 4;padding-bottom:var(--s4)}.folio__item:nth-child(2n) .plate__img{grid-column:5 / span 8;grid-row:1}.folio__item:nth-child(2n) .folio__text{grid-column:1 / span 4;grid-row:1}.folio__item:nth-child(3n) .plate__img{aspect-ratio:16 / 9}}.folio-index{display:flex;flex-wrap:wrap;gap:.25rem 1.25rem;margin-bottom:var(--s7);font-size:.9375rem}.folio-index a{display:inline-flex;min-height:44px;align-items:center;text-decoration:none;border-bottom:1px solid var(--rule)}.folio-index a:hover{border-color:var(--ink)}.folio-index b{font:400 1rem var(--serif);color:var(--ox);margin-right:.4rem}.stages{counter-reset:st;display:grid;border-top:1px solid var(--ink)}.ink .stages{border-color:var(--on-ink-2)}.stage:before{display:block;height:3.4rem}.stage{counter-increment:st;display:grid;gap:var(--s3);padding:var(--s6) 0;border-bottom:1px solid var(--rule)}.ink .stage{border-color:#34343a}.stage:before{content:counter(st);font:400 3.5rem/.85 var(--serif);color:var(--ox);font-variant-numeric:lining-nums}.ink .stage:before{color:var(--rose)}.stage__time{font-size:.875rem;color:var(--ink-3)}.ink .stage__time{color:var(--on-ink-2)}.stage p{color:var(--ink-2)}.ink .stage p{color:var(--on-ink-2)}.stage dl{display:grid;gap:.35rem;margin:var(--s3) 0 0;font-size:.9375rem}.stage dt{font-weight:600;color:var(--ink)}.ink .stage dt{color:var(--on-ink)}.stage dd{margin:0 0 .4rem;color:var(--ink-2)}.ink .stage dd{color:var(--on-ink-2)}@media(min-width:1100px){.stages--row{grid-template-columns:repeat(5,1fr);border-top:0}.stages--row .stage{border-bottom:0;border-top:1px solid var(--ink);padding:var(--s5) var(--s5) 0 0}.ink .stages--row .stage{border-top-color:var(--on-ink-2)}.stages--row .stage:not(:first-child){padding-left:var(--s5);border-left:1px solid var(--rule)}.ink .stages--row .stage:not(:first-child){border-left-color:#34343a}}@media(min-width:900px){.stages--detail .stage{grid-template-columns:6rem 3fr 2fr;column-gap:var(--s6);align-items:start}.stages--detail .stage:before{grid-row:span 3}.stages--detail .stage>div{grid-column:2}.stages--detail .stage dl{grid-column:3;grid-row:1 / span 3;margin:0}}.list{display:grid;border-top:1px solid var(--ink)}.list li{display:grid;gap:.3rem;padding:var(--s5) 0;border-bottom:1px solid var(--rule)}.list h3{font-size:1.375rem}.list p{color:var(--ink-2)}@media(min-width:900px){.list--2{grid-template-columns:1fr 1fr;column-gap:var(--s7)}}.split{display:grid;gap:var(--s6)}@media(min-width:1000px){.split{grid-template-columns:4fr 1fr 7fr}.split>:first-child{grid-column:1}.split>:last-child{grid-column:3}.split .head{margin-bottom:0;position:sticky;top:var(--s6);align-self:start}}.faq{border-top:1px solid var(--ink)}.faq details{border-bottom:1px solid var(--rule)}.faq summary{display:flex;justify-content:space-between;gap:var(--s4);align-items:center;min-height:68px;padding:var(--s4) 0;cursor:pointer;list-style:none;font:400 1.3125rem/1.3 var(--serif)}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"";width:14px;height:14px;flex:none;background:linear-gradient(currentColor,currentColor) center / 14px 1px no-repeat,linear-gradient(currentColor,currentColor) center / 1px 14px no-repeat;transition:transform .3s var(--ease)}.faq details[open] summary:after{transform:rotate(45deg)}.faq details p{padding:0 0 var(--s5);color:var(--ink-2);max-width:60ch}.ph{padding:var(--s7) 0 var(--s7)}.crumbs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:var(--s6);font-size:.875rem;color:var(--ink-2)}.crumbs li+li:before{content:"/";margin-right:.5rem;color:var(--rule)}.ph__grid{display:grid;gap:var(--s6)}.ph h1{font-size:clamp(2.75rem,1.4rem + 5vw,5.75rem);max-width:13ch}.ph .lede{font-size:1.1875rem;color:var(--ink-2);max-width:44ch}.ph__img{margin-top:var(--s6);aspect-ratio:16 / 9;overflow:hidden}@media(min-width:1000px){.ph__grid{grid-template-columns:7fr 5fr;align-items:end}.ph__img{aspect-ratio:21 / 9;margin-top:var(--s7)}}.consult{display:grid;gap:var(--s7)}@media(min-width:1000px){.consult{grid-template-columns:5fr 1fr 6fr}.consult>:first-child{grid-column:1}.consult>:last-child{grid-column:3}}.formpanel{background:var(--white);color:var(--ink);padding:var(--s6) var(--s5);border-top:3px solid var(--ox)}@media(min-width:760px){.formpanel{padding:var(--s7) var(--s7)}}.formpanel h2{font-size:clamp(1.75rem,1.3rem + 1.4vw,2.5rem)}.formpanel .intro-note{margin:.6rem 0 var(--s6);color:var(--ink-2);font-size:.9375rem}.fgrid{display:grid;gap:var(--s5)}@media(min-width:640px){.fgrid--2{grid-template-columns:1fr 1fr}.fspan{grid-column:1 / -1}}.field{display:grid;gap:.4rem}.field label,.legend{font-weight:600;font-size:.9375rem;color:var(--ink);padding:0}.field .opt,.legend .opt{font-weight:400;color:var(--ink-3)}.input{width:100%;min-height:50px;padding:.65rem 0;font:400 1.0625rem/1.4 var(--sans);color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--ink-3);border-radius:0;appearance:none}textarea.input{min-height:120px;resize:vertical;border:1px solid var(--ink-3);padding:.7rem .8rem}select.input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 8'%3E%3Cpath d='M1 1l6 5 6-5' fill='none' stroke='%2317171A' stroke-width='1.2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:13px;background-position:right .2rem center;padding-right:1.8rem}.input:focus{outline:none;border-bottom:2px solid var(--ox)}textarea.input:focus{border:2px solid var(--ox)}.input:focus-visible{outline:2px solid var(--ox);outline-offset:4px}.input[aria-invalid=true]{border-color:var(--danger)}.err{font-size:.875rem;font-weight:600;color:var(--danger)}.err:empty{display:none}.summary{padding:.8rem 1rem;border-left:2px solid var(--danger);background:#f7eceb;color:var(--danger);font-weight:600;margin-bottom:var(--s5)}.chips{display:flex;flex-wrap:wrap;gap:var(--s2);border:0;padding:0;margin:0;min-width:0}.chips .legend{width:100%;margin-bottom:.4rem}.chip{position:relative}.chip input{position:absolute;inset:0;opacity:0;cursor:pointer;margin:0}.chip span{display:inline-flex;align-items:center;min-height:44px;padding:0 1.1rem;border:1px solid var(--ink-3);font-size:.9375rem;background:var(--white)}.chip input:checked+span{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}.chip input:focus-visible+span{outline:2px solid var(--ox);outline-offset:3px}.fine{font-size:.8125rem;color:var(--ink-3)}.done{display:grid}.done[hidden],form[hidden]{display:none}.done:focus{outline:2px solid var(--ox);outline-offset:4px}.done h2{font-size:clamp(1.875rem,1.3rem + 1.6vw,2.75rem)}.done p{margin-top:var(--s4);color:var(--ink-2)}.done ol{counter-reset:d;display:grid;gap:var(--s4);margin-top:var(--s5)}.done li{counter-increment:d;display:grid;grid-template-columns:2.25rem 1fr;color:var(--ink-2)}.done li:before{content:counter(d);font:400 1.75rem/1 var(--serif);color:var(--ox)}.done li b{color:var(--ink);font-weight:600}.done .demo-note{margin-top:var(--s5);padding-top:var(--s4);border-top:1px solid var(--rule);font-size:.875rem}.done .btn{margin-top:var(--s5)}.kv{display:grid;gap:0;margin:0;border-top:1px solid currentColor}.kv div{display:grid;gap:.2rem;padding:var(--s4) 0;border-bottom:1px solid var(--rule)}.ink .kv div{border-color:#34343a}.kv dt{font-size:.8125rem;color:var(--ink-3)}.ink .kv dt{color:var(--on-ink-2)}.kv dd{margin:0;font:400 1.25rem/1.3 var(--serif)}.kv a{text-decoration:none}.foot{background:var(--ink);color:var(--on-ink-2);padding:var(--s8) 0 var(--s6);font-size:.9375rem}.foot__top{display:grid;gap:var(--s7);padding-bottom:var(--s7);border-bottom:1px solid #34343A}.foot__word{font:400 clamp(2.5rem,1.6rem + 3.6vw,4.5rem)/1 var(--serif);color:var(--on-ink);letter-spacing:-.02em}.foot__word span{color:var(--rose)}.foot__cols{display:grid;gap:var(--s6);grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.foot h2{font:500 .8125rem/1 var(--sans);color:var(--on-ink-2);margin-bottom:var(--s4)}.foot ul{display:grid;gap:.45rem}.foot a{color:var(--on-ink);text-decoration:none}.foot a:hover{text-decoration:underline}.foot__legal{display:flex;flex-wrap:wrap;gap:var(--s3) var(--s6);padding-top:var(--s5);font-size:.8125rem}@media(min-width:1000px){.foot__top{grid-template-columns:5fr 7fr}}.stick{position:fixed;left:0;right:0;bottom:0;z-index:50;display:grid;grid-template-columns:1fr auto;background:var(--plaster);border-top:1px solid var(--ink);padding-bottom:env(safe-area-inset-bottom)}.stick a{display:flex;align-items:center;gap:.6rem;min-height:60px;padding:0 var(--gutter);text-decoration:none;font-weight:600}.stick__book{justify-content:space-between}.stick__call{border-left:1px solid var(--rule);color:var(--ox)}.stick a:focus-visible{outline-offset:-4px}@media(min-width:1100px){.stick{display:none}body{padding-bottom:0}}.credits{display:grid;border-top:1px solid var(--ink)}.credits li{display:grid;gap:.25rem;padding:var(--s4) 0;border-bottom:1px solid var(--rule)}.credits li span:last-child{font-size:.875rem;color:var(--ink-2)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.foot p a,.foot span a,.foot__legal a{text-decoration:underline;text-underline-offset:.2em}
