:root{--night:#11120f;--ink:#211d15;--milk:#f5f2e7;--dim:#c6c3b9;--yellow:#f0d477;--line:#3c3b33;--pad:clamp(22px,5.4vw,98px);--sans:Arial,"Helvetica Neue",Helvetica,sans-serif;--roman:Georgia,"Times New Roman",serif;font-family:var(--sans);color:var(--milk);background:var(--night);-webkit-font-smoothing:antialiased;color-scheme:dark}
*{box-sizing:border-box}html{scroll-padding-top:78px}body{margin:0}h1,h2,p,figure{margin:0}a{color:inherit;text-underline-offset:4px;text-decoration-thickness:1px}button{font:inherit;color:inherit;cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:5px}.frame{width:min(100%,1680px);margin-inline:auto;padding-inline:var(--pad)}.skip{position:fixed;z-index:20;top:-100px;left:15px;background:var(--milk);color:var(--ink);padding:12px 18px}.skip:focus{top:10px}.mast{background:var(--night);color:var(--milk);z-index:6;position:sticky;top:0;transition:transform .2s,background-color .2s,color .2s}.mast.away:not(:focus-within){transform:translateY(-100%)}.mast-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:76px;position:relative}.mast-inner:after{content:"";position:absolute;bottom:0;left:var(--pad);right:var(--pad);height:1px;background:currentColor;opacity:.16}.brand{display:inline-flex;align-items:center;gap:9px;text-decoration:none;width:fit-content;font-weight:650;letter-spacing:-1.3px;font-size:25px;line-height:1}.brand svg{width:29px;height:28px;fill:currentColor}.wide-nav{display:flex;gap:clamp(24px,3.4vw,63px)}.wide-nav a,.mast-contact{font-size:14px;font-weight:550;text-decoration:none}.mast-contact{justify-self:end;display:inline-flex;gap:16px;align-items:center}.wide-nav a:hover,.mast-contact:hover,.work-link:hover,.footline a:hover,.next a:hover{text-decoration:underline}.mast-contact>span{color:var(--yellow);font-size:19px}.small-nav{display:none}.mast[data-tone="day"]{background:var(--yellow);color:var(--ink)}.mast[data-tone="day"] .mast-contact>span{color:var(--ink)}
.night{position:relative;isolation:isolate;overflow:clip;background:var(--night)}.sky{position:absolute;inset:0;z-index:-1;width:100%;height:100%;color:#b6b5a8;pointer-events:none}.constellations{opacity:.15;stroke-width:.8}.sky-stars{opacity:.56}.hero{display:grid;position:relative;grid-template-columns:.9fr 1.1fr;align-items:center;min-height:clamp(523px,70svh,810px);padding-top:28px;padding-bottom:30px}.intro{position:relative;z-index:2;align-self:center;padding-bottom:4px}.intro h1{font-family:var(--sans);font-size:clamp(92px,10.4vw,171px);line-height:.86;font-weight:600;letter-spacing:-.071em}.intro h1>span{display:block}.intro h1 .roman{font-family:var(--roman);font-weight:400;font-size:1.02em;letter-spacing:-.062em;line-height:.97}.period{color:var(--yellow)}.intro>p{font-size:clamp(16px,1.25vw,21px);line-height:1.47;color:#d0cec0;max-width:340px;letter-spacing:-.016em;margin:24px 0 21px}.hero-links{display:flex;align-items:center;gap:26px}.action,.dark-action{min-height:47px;display:inline-flex;align-items:center;justify-content:space-between;gap:22px;padding:10px 16px;background:var(--yellow);color:var(--ink);text-decoration:none;font-weight:650;font-size:14px;border-radius:1px}.action span,.dark-action span,.work-link span{display:inline-block;transition:transform .2s}.action:hover span,.dark-action:hover span{transform:translate(3px,-3px)}.work-link{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-size:14px}.work-link span{color:var(--yellow)}.work-link:hover span{transform:translateY(3px)}
.object{position:relative;margin:0;min-width:0;display:grid;align-items:center;justify-items:center;align-self:stretch}.turn-surface{width:110%;max-width:850px;aspect-ratio:660/575;position:relative;display:grid;place-items:center;touch-action:pan-y;user-select:none;-webkit-user-select:none}.turn-surface img{width:100%;height:100%;object-fit:contain;display:block;pointer-events:none}.turn-surface.ready{cursor:grab}.turn-surface.dragging{cursor:grabbing}.turn-surface:focus-within{outline:1px dashed #c4b685;outline-offset:-7px}.turn-slider{position:absolute;top:0;left:0;width:1px;height:1px;opacity:0}.turn-controls{position:absolute;bottom:0;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:16px;color:#d9d6c6;font-size:12px;white-space:nowrap}.turn-controls[hidden]{display:none}.turn-controls button{width:44px;height:44px;border:1px solid #66665a;background:transparent;border-radius:50%;font-size:17px;line-height:1}.turn-controls button:hover{color:var(--night);background:var(--yellow);border-color:var(--yellow)}.turn-controls button:disabled{color:#78796c;border-color:#383930;cursor:default;background:transparent}
.footline{display:flex;align-items:center;justify-content:space-between;position:relative;min-height:62px;font-size:12px;color:var(--dim)}.footline:before{content:"";position:absolute;top:0;left:var(--pad);right:var(--pad);height:1px;background:var(--line)}.footline a{display:inline-flex;align-items:center;gap:12px;text-decoration:none}.footline a b{font-weight:550;color:var(--milk)}.footline a>span{color:var(--yellow);font-size:17px}
section.selected{background:var(--yellow);color:var(--ink);padding:clamp(36px,4.5vw,74px) 0 clamp(56px,6vw,102px);scroll-margin-top:0}.project-head{border-bottom:1px solid #a79350;padding-bottom:15px;display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:550}.project-head span{font-size:12px;font-weight:400}.case-grid{display:grid;grid-template-columns:.76fr 1.24fr;gap:6vw;align-items:center;padding-top:clamp(23px,3.3vw,56px)}.case-copy h2{font-size:clamp(66px,7vw,120px);letter-spacing:-.062em;font-weight:600;line-height:.91}.case-copy h2 span{font-family:var(--roman);font-weight:400;letter-spacing:-.062em}.case-copy p{font-size:clamp(15px,1.2vw,19px);line-height:1.48;max-width:345px;margin:22px 0}.dark-action{background:var(--ink);color:var(--yellow)}.case-screen{min-width:0}.case-screen>a{display:block;text-decoration:none;border:1px solid #534a31;box-shadow:7px 9px 0 #b89e50;overflow:hidden;border-radius:5px}.case-screen img{width:100%;height:auto;aspect-ratio:1.58;object-fit:cover;object-position:top;display:block}.browser-cap{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:#23251e;color:#e8e6d8;padding:7px 12px;font-size:10px}.mini-dots{letter-spacing:1px;color:#b3af9c;font-size:7px}.browser-cap b{text-align:right}.case-screen figcaption{display:flex;align-items:center;justify-content:space-between;margin-top:17px;font-size:12px;gap:12px}.case-screen figcaption a{font-weight:600}
.next{background:#f5f1e5;color:var(--ink);padding:clamp(43px,5vw,84px) 0}.next-inner{display:flex;justify-content:space-between;align-items:center;gap:35px}.next h2{font-family:var(--roman);font-size:clamp(36px,4.4vw,68px);font-weight:400;letter-spacing:-.065em;line-height:1.03;margin-bottom:15px}.next-inner>div>a{font-weight:600;font-size:17px}.next nav{display:grid;gap:8px;font-size:14px}.next nav a{text-decoration:none}.end{display:flex;gap:20px;align-items:center;min-height:67px;font-size:12px;color:var(--dim)}.end>.foot-brand{margin-right:auto;font-size:17px;font-weight:650;color:var(--milk);letter-spacing:-.06em}.end a{text-decoration:none}
@media(min-width:1550px){.hero{min-height:760px}.turn-surface{width:105%}}
@media(max-width:1024px){.mast-inner{min-height:62px;grid-template-columns:1fr auto 1fr}.mast-inner>.brand{grid-column:2}.wide-nav,.mast-contact{display:none}.small-nav{display:block;justify-self:end}.small-nav summary{list-style:none;width:44px;height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer}.small-nav summary::-webkit-details-marker{display:none}.small-nav summary span{width:22px;height:1.5px;background:currentColor}.small-nav[open] summary span:first-child{transform:translateY(3.75px) rotate(45deg)}.small-nav[open] summary span:last-child{transform:translateY(-3.75px) rotate(-45deg)}.small-nav nav{position:absolute;z-index:8;left:0;right:0;top:100%;padding:8px var(--pad) 19px;background:var(--night);color:var(--milk);border-bottom:1px solid var(--line);display:grid}.small-nav nav a{text-decoration:none;padding:10px 0;border-bottom:1px solid #45463e}.hero{min-height:clamp(455px,62svh,660px)}.intro h1{font-size:clamp(81px,11vw,116px)}.turn-surface{width:112%}.turn-controls{bottom:5%}.intro>p{max-width:310px}.brand{font-size:22px}}
@media(max-width:640px){:root{--pad:22px}.mast-inner{min-height:57px}.hero{grid-template-columns:1fr;align-items:start;padding-top:clamp(32px,6.6vw,44px);padding-bottom:13px;min-height:auto}.intro{max-width:100%;padding:0}.intro h1{font-size:clamp(76px,17.5vw,106px);line-height:.85}.intro h1 .roman{line-height:.94}.intro>p{font-size:15px;line-height:1.42;max-width:290px;margin:17px 0 16px}.hero-links{gap:21px}.action,.dark-action{min-height:43px;padding:10px 14px}.object{margin-top:8px;align-self:auto;justify-self:center;width:100%;height:auto;grid-template-rows:auto auto}.turn-surface{display:block;width:min(100%,420px);height:auto;aspect-ratio:660/510;transform:none}.turn-surface img{height:100%;width:100%;object-fit:contain}.turn-controls{position:static;justify-self:end;transform:none;gap:8px;margin-top:-6px}.turn-controls[hidden]{display:none}.turn-controls span{font-size:11px}.turn-controls button{width:44px;height:44px}.footline{min-height:49px;font-size:10px}.footline a{gap:6px}.footline a>span{font-size:14px}.project-head{padding-bottom:12px}.case-grid{grid-template-columns:1fr;gap:21px}.case-copy h2 br{display:none}.case-copy h2 span:before{content:" "}.case-copy h2{font-size:clamp(43px,10.5vw,68px)}.case-copy p{margin:12px 0 16px;max-width:420px}.case-screen{margin-top:4px}.case-screen figcaption{font-size:11px}.next-inner{display:grid;gap:25px}.next nav{display:flex;flex-wrap:wrap;gap:11px 17px}.end{gap:13px}.sky{width:150%;left:-20%}}
@media(max-width:350px){:root{--pad:16px}.intro h1{font-size:70px}.object{height:auto}.hero-links{gap:15px}.turn-controls span{display:none}.footline{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* The quote, pricing and project routes share the same navigation. */
.preview-footer { background: var(--night); }
.quick-prices { background: #f5f1e5; color: var(--ink); padding: clamp(38px,5vw,82px) 0; }
.price-layout { display: grid; grid-template-columns: .74fr 1.26fr; gap: clamp(32px,7vw,110px); }
.quick-prices h2 { margin: 0; font-size: clamp(40px,4.2vw,70px); line-height: .98; letter-spacing: -.061em; font-weight: 600; }
.quick-prices p, .next p { max-width: 32ch; line-height: 1.5; margin: 15px 0; }
.detail-link { display: inline-block; padding: 8px 0; font-size: 14px; font-weight: 600; }
.quick-prices ul { list-style: none; margin: 0; padding: 0; border-top: 1px solid #c7c2b1; }
.quick-prices li { border-bottom: 1px solid #c7c2b1; }
.quick-prices li a { color: inherit; display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 16px 0; text-decoration: none; }
.quick-prices li a:hover strong, .quick-prices li a:focus-visible strong { text-decoration: underline; }
.quick-prices strong { display: block; font-size: clamp(18px,1.65vw,26px); letter-spacing: -.04em; }
.quick-prices small { display: block; color: #514a3a; font-size: 13px; line-height: 1.4; margin-top: 4px; }
.offer-price { white-space: nowrap; font-size: 12px; }
.offer-price b { font-size: clamp(17px,1.6vw,24px); font-weight: 600; letter-spacing: -.04em; }
.offer-price i { font: 18px Arial,sans-serif; margin-left: 7px; }
.preview-inner { color-scheme: light; }
.preview-inner .contact { background: #f5f1e5; }
.preview-inner .optional-finder { border-block: 1px solid #c7c2b1; }
.preview-inner .optional-finder>summary { cursor: pointer; font-size: 16px; padding: 16px 4px; font-weight: 600; }
.preview-inner .optional-finder .planner { margin: 0 0 15px; }
@media(max-width:1024px) {
  .small-nav summary { flex-direction: row; width: auto; min-width:44px; gap: 7px; }
  .small-nav summary b { font-size: 12px; font-weight: 550; }
  .small-nav summary i { display: flex; flex-direction: column; gap: 6px; }
  .small-nav summary span { width: 18px; }
  .more-links { display: flex; gap: 17px; margin-top: 10px; }
  .small-nav .more-links a { font-size: 12px; color: #d4d1bf; border: 0; }
}
@media(max-width:720px) {
  .price-layout { grid-template-columns: 1fr; gap: 14px; }
  .quick-prices p { max-width: 42ch; margin: 10px 0 4px; }
  .quick-prices li a { padding: 13px 0; }
  .next .dark-action { justify-self: start; }
}
