.finish-chapter{--finish-ink:#192c30;--wheel-height:clamp(115px, calc(var(--stable-vh,1svh) * 18.5), 195px);isolation:isolate;height:calc(calc(var(--stable-vh,1svh) * 100) - var(--chapter-header,102px));padding:clamp(18px, calc(var(--stable-vh,1svh) * 2.5), 30px) var(--gutter) 12px;color:var(--finish-ink);background:#e2e7e4;flex-direction:column;display:flex;position:relative;overflow:clip}.finish-chapter:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(115deg,#ebeee7 0 44%,#0000 44.1%),linear-gradient(145deg,#e2e7e4 30%,#ccdbdc 100%);position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 110px);mask-image:linear-gradient(#0000,#000 110px)}.finish-chapter__masthead{color:#425b5a;text-transform:uppercase;letter-spacing:.11em;flex-shrink:0;justify-content:space-between;gap:24px;font-size:10px;display:flex}.finish-chapter__masthead span:first-child:before{content:"";background:#175b94;width:5px;height:5px;margin:0 10px 2px 0;display:inline-block}.finish-experience,.finish-composition,.finish-panel{flex-direction:column;flex:1;min-height:0;display:flex}.finish-composition{padding-top:clamp(14px, calc(var(--stable-vh,1svh) * 2), 22px)}.finish-intro{z-index:2;flex-shrink:0;position:relative}.finish-specs{justify-content:center;gap:0;margin:0;padding:0;display:flex}.finish-specs>div{text-align:center;padding-inline:32px}.finish-specs>div+div{border-left:1px solid #46616138}.finish-specs dt{text-transform:uppercase;letter-spacing:.11em;color:#536c6b;font-size:9px}.finish-specs dd{letter-spacing:-.04em;margin:4px 0 0;font-size:21px;font-weight:500;line-height:1.25}.finish-panel{width:100%;margin:6px auto 0}.finish-panel__surface{flex:1;width:100%;max-width:1380px;min-height:0;margin-inline:auto;position:relative}.finish-panel__surface:before{content:"";pointer-events:none;background:radial-gradient(#374b492b,#0000 68%);width:60%;height:11%;position:absolute;bottom:2%;left:20%}.finish-panel__mount,.finish-panel__poster{width:100%;height:100%;position:absolute;inset:0}.finish-panel__mount,.finish-wheel__mount{opacity:0;transition:opacity .55s}.finish-panel__poster{object-fit:contain;pointer-events:none;padding:0 10px 14px;transition:opacity .3s}.finish-panel__poster.is-sample{padding:12px 35px 22px}.finish-experience[data-ready=true] .finish-panel__mount,.finish-experience[data-ready=true] .finish-wheel__mount{opacity:1}.finish-experience[data-ready=true] .finish-panel__poster,.finish-experience[data-ready=true] .finish-wheel__posters{opacity:0;visibility:hidden}.finish-panel__mount canvas,.finish-wheel__mount canvas{width:100%;height:100%;display:block}.finish-panel__mount{touch-action:pan-y pinch-zoom}.finish-experience[data-inspecting=true] .finish-panel__mount canvas{cursor:grab}.finish-experience[data-inspecting=true] .finish-panel__mount canvas:active{cursor:grabbing}.finish-panel__controls{color:#395554;flex-shrink:0;justify-content:flex-end;align-items:center;gap:24px;min-height:44px;font-size:10px;display:flex}.finish-panel__controls>span{margin-right:auto}.finish-panel__controls button{min-height:44px;padding:4px 0;font-size:10px}.finish-panel__controls button:disabled{opacity:.35}.finish-panel__inspect{display:none}.finish-wheel-wrap{flex-shrink:0;position:relative}.finish-wheel{height:var(--wheel-height);margin-inline:calc(-1 * var(--gutter));touch-action:pan-y pinch-zoom;cursor:grab;-webkit-user-select:none;user-select:none;outline-offset:-8px;position:relative;overflow:hidden}.finish-wheel:active{cursor:grabbing}.finish-wheel__arc{pointer-events:none;border:1px solid #42656828;border-top-color:#0000;border-radius:50%;height:72%;position:absolute;top:6%;left:8%;right:8%}.finish-wheel__mount,.finish-wheel__posters{pointer-events:none;position:absolute;inset:0}.finish-wheel__posters{perspective:900px;transition:opacity .35s}.finish-wheel__sample{transform-origin:50%;width:23%;max-width:280px;height:92%;position:absolute;top:0;left:50%}.finish-wheel__sample img{object-fit:contain;pointer-events:none}.finish-wheel__sample:not(:first-child){opacity:0}.finish-wheel__sample:first-child{transform:translate(-50%)}.finish-wheel__cursor{left:50%;top:calc(var(--wheel-height) - 12px);pointer-events:none;position:absolute;transform:translate(-50%)}.finish-wheel__cursor span{background:#346977;width:1px;height:18px;display:block}.finish-wheel__cursor i{display:none}.finish-wheel__navigation{justify-content:center;align-items:center;gap:25px;padding:5px 0 7px;display:flex}.finish-wheel__navigation button{width:44px;height:44px;font-size:24px;font-weight:300;transition:background .2s,color .2s}.finish-wheel__navigation button:hover{color:#f3f4ed;background:#234b51}.finish-wheel__navigation p{text-align:center;min-width:230px}.finish-wheel__current{letter-spacing:-.04em;font-size:21px;font-weight:550;display:block}.finish-wheel__instruction{color:#476160;margin-top:3px;font-size:10px;display:block}.finish-wheel__instruction i{opacity:.6;padding:0 8px;font-style:normal}.finish-footnote{color:#48615e;flex-shrink:0;justify-content:space-between;align-items:center;gap:20px;font-size:10px;display:flex}.finish-footnote>a{color:#193e47;align-items:center;gap:18px;min-height:44px;font-size:12px;display:inline-flex}.finish-footnote>a span,.finish-browse>span{font-size:19px}.finish-browse{color:#193e47;align-items:center;gap:16px;min-height:44px;font-size:12px;display:inline-flex;position:relative}.finish-browse select{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.finish-browse:focus-within{outline:2px solid var(--blue);outline-offset:5px}.finish-browse>span{transform:rotate(90deg)}.finish-fallback-note{color:#546d68;text-align:center;flex-shrink:0;font-size:9px}@media (pointer:coarse){.finish-panel__inspect{display:block}.finish-panel__controls>span{display:none}.finish-panel__controls{justify-content:space-between}}@media (max-width:760px){.finish-chapter{--wheel-height:clamp(96px, calc(var(--stable-vh,1svh) * 14.4), 132px);height:calc(calc(var(--stable-vh,1svh) * 100) - var(--chapter-header,88px));padding:16px 24px 10px}.finish-chapter__masthead{font-size:9px}.finish-chapter__masthead span:last-child{display:none}.finish-composition{padding-top:18px}.finish-specs>div{padding-inline:23px}.finish-specs dt{font-size:8px}.finish-specs dd{font-size:18px}.finish-panel{width:calc(100% + 48px);margin:5px -24px 0}.finish-panel__poster{padding:0 17px 12px}.finish-panel__poster.is-sample{padding:20px 50px 24px}.finish-panel__controls{justify-content:space-between;gap:16px;margin-inline:24px}.finish-panel__controls>span,.finish-panel__controls button{font-size:9px}.finish-panel__inspect{display:block}.finish-experience[data-ready=true] .finish-panel__controls>span{display:none}.finish-wheel{margin-inline:-24px}.finish-wheel__arc{left:-20%;right:-20%}.finish-wheel__sample{width:45%;height:94%}.finish-wheel__navigation{gap:5px;padding:5px 0}.finish-wheel__navigation p{min-width:220px}.finish-wheel__current{font-size:20px}.finish-wheel__instruction{font-size:9px}.finish-footnote{flex-wrap:wrap;gap:0 18px}.finish-footnote>p{text-align:center;order:3;width:100%;font-size:9px;line-height:1.5}.finish-footnote>a{gap:8px;margin-left:auto;font-size:11px}.finish-browse{gap:10px;font-size:11px}.finish-fallback-note{margin-top:5px;font-size:8px;line-height:1.5}html[data-compact-viewport]:not([data-short-viewport]) .finish-chapter{--wheel-height:85px}html[data-compact-viewport]:not([data-short-viewport]) .finish-composition{padding-top:14px}html[data-compact-viewport]:not([data-short-viewport]) .finish-wheel__navigation{padding-block:0}}@media (max-height:600px){html:not([data-viewport-ready]) .finish-chapter{height:auto}html:not([data-viewport-ready]) .finish-panel__surface{flex:auto;height:320px}}html[data-short-viewport] .finish-chapter{height:auto}html[data-short-viewport] .finish-panel__surface{flex:auto;height:320px}@media (prefers-reduced-motion:reduce){.finish-panel__mount,.finish-wheel__mount,.finish-panel__poster,.finish-wheel__posters,.finish-wheel__navigation button{transition:none}}@media (min-width:761px){.finish-composition{padding-top:8px;position:relative}.finish-intro{top:clamp(26px, calc(var(--stable-vh,1svh) * 5), 58px);position:absolute;left:0}.finish-specs{flex-direction:column;gap:22px}.finish-specs>div{text-align:left;padding:0}.finish-specs>div+div{border-left:0}.finish-specs dd{font-size:23px}.finish-panel__surface{max-width:calc(100% - 220px)}}
.craft-chapters{--chapter-header:102px;--chapter-entry-edge:280px;--chapter-settle:clamp(160px, calc(var(--stable-vh,1svh) * 22), 240px);isolation:isolate;background:var(--family-paper);position:relative}.craft-chapters__viewport{width:0;height:calc(var(--stable-vh,1svh) * 100);visibility:hidden;pointer-events:none;position:absolute}.craft-chapters>.finish-chapter{z-index:2;position:relative}.craft-chapters__settle{display:none}@media (prefers-reduced-motion:no-preference){.craft-chapters--motion>.house-chapter{top:var(--chapter-header);z-index:1;position:sticky}.craft-chapters--motion>.finish-chapter{top:var(--chapter-header);position:sticky}.craft-chapters--motion>.craft-chapters__settle{height:var(--chapter-settle);pointer-events:none;display:block}}@media (max-width:760px){.craft-chapters{--chapter-header:88px;--chapter-entry-edge:120px;--chapter-settle:clamp(120px, calc(var(--stable-vh,1svh) * 20), 190px)}}.craft-chapters>section{scroll-margin-top:-6px}@media (max-width:760px){.craft-chapters>section{scroll-margin-top:-2px}}
.project-section{isolation:isolate;padding:clamp(76px, 10vw, 150px) var(--gutter) clamp(76px, 8vw, 120px);color:#1c2926;background:linear-gradient(#e2e7e4,#e7e7df 38%);grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(50px,7vw,130px);scroll-margin-top:-6px;display:grid;position:relative}.project-section:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(116deg,#0000 58%,#a8bec315 58.1%);position:absolute;inset:0}.project-intro{align-self:start;position:sticky;top:144px}.project-intro>.eyebrow{color:#415b60;align-items:center;gap:12px;font-size:11px;display:flex}.project-intro>.eyebrow:before{content:"";background:var(--blue);width:5px;height:5px}.project-intro h2{letter-spacing:-.065em;margin:42px 0 30px -.035em;font-size:clamp(52px,6.8vw,116px);font-weight:780;line-height:.99}.project-intro__line{white-space:nowrap;display:block}.project-intro__line--accent{color:#245d7c}.project-intro>p{letter-spacing:-.025em;color:#44534b;max-width:335px;margin-bottom:40px;font-size:clamp(17px,1.5vw,20px);line-height:1.55}.project-intro>a{letter-spacing:-.045em;width:fit-content;max-width:100%;padding:6px 0;font-size:clamp(20px,2.1vw,28px);font-weight:650;display:block}.project-intro>.contact-email{letter-spacing:-.015em;text-underline-offset:5px;overflow-wrap:anywhere;min-height:44px;font-size:14px;font-weight:500;-webkit-text-decoration:underline #8b9d91;text-decoration:underline #8b9d91}.project-intro>a:hover{color:var(--blue)}.project-form{min-width:0;padding-top:0}.project-form fieldset{border:0;min-width:0;margin:0 0 32px;padding:0}.project-form .project-form__fields{margin:0}.project-form legend{letter-spacing:-.045em;margin-bottom:22px;font-size:clamp(22px,2vw,28px);font-weight:650;line-height:1.2}.project-choices{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;display:grid}.project-choices label{cursor:pointer;border:1px solid #aab5aa;place-items:center;min-height:46px;padding:12px 5px;font-size:12px;font-weight:550;transition:background-color .2s,color .2s,border-color .2s;display:grid;position:relative}.project-choices label:hover{border-color:#1c2926}.project-choices label.is-selected{color:#fff;background:#1c2926;border-color:#1c2926}.project-choices input{opacity:0;width:1px;height:1px;position:absolute}.project-choices label:has(input:focus-visible){outline:2px solid var(--blue);outline-offset:3px}.field{min-width:0;margin-bottom:28px}.field label,.plans-field__label{margin-bottom:10px;font-size:13px;font-weight:600;display:block}.field label span,.plans-field__label span{color:#647169;font-size:12px;font-weight:400}.field input,.field select,.field textarea{color:#1c2926;outline-offset:5px;background:0 0;border:0;border-bottom:1px solid #95a498;border-radius:0;width:100%;min-height:46px;padding:9px 0 12px;font-size:16px;line-height:1.5}.field input::placeholder,.field textarea::placeholder{color:#6f7b72}.field textarea{resize:vertical}.field:has(textarea){margin-bottom:0}.form-row{grid-template-columns:1fr 1fr;gap:24px;display:grid}.plans-field{margin:4px 0 28px}.plans-picker{cursor:pointer;background:#f3f5ee55;border:1px solid #9aada2;padding:20px 22px;transition:border-color .2s,background-color .2s;position:relative}.plans-picker:hover{background:#f3f5ee99;border-color:#245d7c}.plans-picker:focus-within{outline:2px solid var(--blue);outline-offset:4px}.plans-picker__input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.plans-picker__input:disabled{cursor:default}.plans-picker:has(input:disabled){opacity:.6}.plans-picker__action{letter-spacing:-.035em;justify-content:space-between;align-items:center;gap:18px;font-size:18px;font-weight:650;display:flex}.plans-picker__action>span:last-child{font-size:26px;font-weight:400;line-height:1}.plans-picker__hint,.plans-note{color:#586b62;margin-top:8px;font-size:11px;line-height:1.65}.plans-note{margin-top:10px}.plans-files{margin:12px 0 0;padding:0;list-style:none}.plans-file{border-bottom:1px solid #b8c5ba;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;display:flex}.plans-file__details{min-width:0}.plans-file__name{overflow-wrap:anywhere;font-size:13px;font-weight:550;display:block}.plans-file__size{color:#586b62;margin-top:3px;font-size:11px;display:block}.plans-file__remove{text-underline-offset:4px;min-width:44px;min-height:44px;padding:8px 0 8px 8px;font-size:12px;text-decoration:underline}.plans-file__remove:hover{color:var(--blue)}.plans-errors{color:#8b3028;margin-top:12px;font-size:12px;line-height:1.55}.plans-errors ul{padding-left:18px}.plans-errors:empty{display:none}.plans-errors button{text-underline-offset:3px;min-height:44px;padding:10px 0;font-size:12px;text-decoration:underline}.submit-project{color:#fff;letter-spacing:-.025em;background:#1c2926;justify-content:space-between;align-items:center;width:100%;min-height:66px;margin-top:32px;padding:18px 24px;font-size:18px;font-weight:650;transition:background-color .25s;display:flex}.submit-project:hover:not(:disabled){background:#245d7c}.submit-project>span{font-size:26px;font-weight:400}.submit-project:disabled{opacity:.65}.form-note{color:#586b62;margin-top:13px;font-size:11px;line-height:1.65}.form-note a,.form-status a{text-underline-offset:3px;text-decoration:underline}.form-status{color:#244e61;border-left:2px solid #245d7c;margin-top:22px;padding:4px 0 4px 15px;font-size:14px;line-height:1.6}.form-status:empty{display:none}.honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}@media (min-width:1700px){.project-section{padding-inline:max(5vw,50vw - 775px)}}@media (max-width:1000px) and (min-width:761px){.project-section{gap:45px}.project-intro h2{font-size:6.4vw}.project-choices{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.project-section{padding:64px 24px;scroll-margin-top:-2px;display:block}.project-intro{position:static}.project-intro h2{margin:28px 0 22px -.035em;font-size:clamp(46px,13.3vw,88px)}.project-intro>p{max-width:370px;margin-bottom:22px;font-size:17px}.project-intro>a{min-height:44px;font-size:22px}.project-intro>.contact-email{font-size:14px}.project-form{margin-top:43px}.project-form legend{font-size:24px}.project-choices{gap:5px}.project-choices label{padding-inline:3px;font-size:11px}.form-row{gap:18px}.plans-picker{padding:18px}}@media (prefers-reduced-motion:reduce){.project-choices label,.plans-picker,.submit-project{transition:none}}.upload-progress{color:#245d7c;margin-top:28px}.upload-progress__heading{justify-content:space-between;gap:16px;margin-bottom:12px;font-size:12px;line-height:1.5;display:flex}.upload-progress progress{appearance:none;color:#245d7c;background:#b8c5ba;border:0;width:100%;height:3px;display:block}.upload-progress progress::-webkit-progress-bar{background:#b8c5ba}.upload-progress progress::-webkit-progress-value{background:#245d7c}.upload-progress progress::-moz-progress-bar{background:#245d7c}.upload-progress button{text-underline-offset:3px;min-height:44px;font-size:12px;text-decoration:underline}
.project-preview{background:linear-gradient(180deg, #e2e7e4, var(--family-paper) 65%);color:#1b2a27;padding-top:clamp(36px,6svh,76px);scroll-margin-top:-6px;position:relative}.project-preview__photographs{grid-template-columns:1.167fr 1fr 1fr 1fr;gap:5px;display:grid}.project-preview__photograph{background:#c5cfc9;height:clamp(320px,34vw,650px);scroll-margin-top:20px;display:block;position:relative;overflow:hidden}.project-preview__photograph img{object-fit:cover;transition:filter .25s}.project-preview__photograph:hover img{filter:brightness(1.07)}.project-preview__photograph:focus-visible{outline-offset:-6px}.project-preview__number{color:#fff;letter-spacing:.08em;text-shadow:0 1px 5px #000;font-size:10px;font-weight:650;position:absolute;bottom:18px;left:18px}.project-preview__caption{padding:35px var(--gutter) clamp(60px, 7vw, 105px);justify-content:space-between;align-items:center;gap:32px;display:flex}.project-preview__caption>p{text-transform:uppercase;letter-spacing:.1em;color:#52635d;font-size:11px}.project-preview__cta{letter-spacing:-.045em;border-bottom:1px solid #69817a;justify-content:space-between;align-items:center;gap:clamp(35px,6vw,100px);padding-bottom:15px;font-size:clamp(29px,3.4vw,52px);font-weight:600;line-height:1.1;display:flex}.project-preview__cta svg{stroke:currentColor;stroke-width:1.5px;flex-shrink:0;width:clamp(28px,3vw,43px);transition:transform .25s}.project-preview__cta:hover svg{transform:translate(3px,-3px)}@media (max-width:760px){.project-preview__photographs{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.project-preview__photograph{aspect-ratio:.85;height:auto}.project-preview__number{bottom:12px;left:12px}.project-preview__caption{flex-direction:column;align-items:stretch;gap:23px;padding-top:25px}.project-preview__cta{font-size:clamp(30px,8.5vw,46px)}}@media (prefers-reduced-motion:reduce){.project-preview__photograph img,.project-preview__cta svg{transition:none}}
