html,body{margin:0;padding:0;background:#F8F3EB;}
*{box-sizing:border-box;}
body{font-family:'Inter',sans-serif;color:#2A2218;min-height:100vh;background:#F8F3EB;}
h1,h2,h3,h4{text-wrap:balance;}
p{text-wrap:pretty;}
::selection{background:#390517;color:#F8F3EB;}
a{color:#390517;text-decoration:none;}
a:hover{color:#6E1B31;}
#hdrInner{height:72px;transition:height .5s cubic-bezier(.2,.8,.2,1);}
#siteHdr.small #hdrInner{height:56px;}
#wordmark{transition:letter-spacing .5s cubic-bezier(.2,.8,.2,1),font-size .5s cubic-bezier(.2,.8,.2,1);}
#siteHdr.small #wordmark{letter-spacing:.26em;font-size:14.5px;}
.navbtn{position:relative;transition:color .3s ease;}
.navbtn::after{content:'';position:absolute;left:0;right:0;bottom:-7px;height:1px;background:#390517;transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.2,.8,.2,1);}
.navbtn:hover::after,.navbtn.on::after{transform:scaleX(1);}
.navbtn.on{color:#390517 !important;}
.allprj{transition:color .3s ease;}
.allprj:hover{color:#390517;}
.footlink{transition:border-color .3s ease;}
.footlink:hover{border-bottom-color:#F8F3EB !important;color:#F8F3EB;}
[data-portrait]{filter:none;}
[data-rv=fade]{transform:none !important;}
[data-rv=img]{transform:scale(1.045);transition-duration:1.5s;}
[data-rv=rule]{opacity:1;transform:scaleX(0);transform-origin:left;}
.vcap{position:absolute;left:20px;top:64px;writing-mode:vertical-rl;font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:#9A907A;}
[data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .95s cubic-bezier(.2,.7,.2,1),transform .95s cubic-bezier(.2,.7,.2,1);}
[data-reveal].rv-in{opacity:1 !important;transform:none !important;}
[data-reveal-d1]{transition-delay:.08s;}
[data-reveal-d2]{transition-delay:.18s;}
[data-reveal-d3]{transition-delay:.28s;}
[data-reveal-d4]{transition-delay:.38s;}
[data-proj-hover] [data-proj-overlay]{opacity:0;transition:opacity .45s cubic-bezier(.2,.7,.2,1);}
[data-proj-hover]:hover [data-proj-overlay]{opacity:1;}
[data-proj-hover].prj-open [data-proj-overlay]{opacity:1;}
@media (hover:none){
  [data-proj-hover]{cursor:pointer !important;-webkit-tap-highlight-color:transparent;}
  [data-proj-hover] [data-proj-overlay]{overflow:auto;}
}
[data-ov-tile]{position:relative;}
[data-ov-tile] [data-ov-logo]{filter:grayscale(1);opacity:.45;transition:opacity .4s ease;}
[data-ov-tile]:hover [data-ov-logo]{opacity:0;}
[data-ov-panel]{position:absolute;inset:0;opacity:0;transition:opacity .4s cubic-bezier(.2,.7,.2,1);pointer-events:none;}
[data-ov-tile]:hover [data-ov-panel]{opacity:1;pointer-events:auto;}
[data-ov-name]{color:#F8F3EB;text-decoration:none;border-bottom:1px solid rgba(248,243,235,.4);transition:border-color .2s;}
[data-ov-name]:hover{border-color:#F8F3EB;}
/* PROJECT TIMELINE */
.tl-line{position:absolute;left:0;right:0;top:50%;height:1px;background:linear-gradient(90deg,#C9BCA6,#7C7750);transform:scaleX(0);transform-origin:left;transition:transform 1.15s cubic-bezier(.2,.8,.2,1);}
.tl-strip.tl-in .tl-line{transform:scaleX(1);}
.tl-strip .tl-col{position:relative;flex:1;min-width:0;height:100%;}
.tl-node{position:absolute;left:50%;top:50%;width:11px;height:11px;border-radius:50%;background:#F8F3EB;border:1.5px solid #7C7750;transform:translate(-50%,-50%) scale(.2);opacity:0;z-index:3;transition:opacity .5s ease var(--nd),transform .5s cubic-bezier(.2,.9,.2,1) var(--nd);}
.tl-strip.tl-in .tl-node{opacity:1;transform:translate(-50%,-50%) scale(1);}
.tl-node::after{content:'';position:absolute;inset:2.5px;border-radius:50%;background:#390517;opacity:0;transition:opacity .3s ease;}
.tl-col:hover .tl-node{border-color:#390517;}
.tl-col:hover .tl-node::after{opacity:1;}
.tl-stem{position:absolute;left:50%;width:1px;height:46px;background:#B6A591;transform:translateX(-50%) scaleY(0);z-index:1;transition:transform .6s cubic-bezier(.2,.8,.2,1) var(--d);}
.tl-strip.tl-in .tl-stem{transform:translateX(-50%) scaleY(1);}
.tl-col:nth-child(odd) .tl-stem{bottom:50%;transform-origin:bottom;}
.tl-col:nth-child(even) .tl-stem{top:50%;transform-origin:top;}
.tl-content{position:absolute;left:50%;transform:translateX(-50%);width:100%;max-width:158px;display:flex;flex-direction:column;align-items:center;text-align:center;}
.tl-col:nth-child(odd) .tl-content{bottom:calc(50% + 46px);}
.tl-col:nth-child(even) .tl-content{top:calc(50% + 46px);flex-direction:column-reverse;}
.tl-icon,.tl-head{opacity:0;transform:translateY(10px);transition:opacity .6s ease var(--nd),transform .6s ease var(--nd);}
.tl-strip.tl-in .tl-icon,.tl-strip.tl-in .tl-head{opacity:1;transform:none;}
.tl-icon{color:#7C7750;margin-bottom:12px;transition:color .35s ease;}
.tl-col:nth-child(even) .tl-icon{margin-bottom:0;margin-top:12px;}
.tl-col:hover .tl-icon{color:#390517;}
.tl-head .n{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.16em;color:#B6A591;margin-bottom:7px;}
.tl-head .t{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:400;line-height:1.08;color:#2A2218;transition:color .3s ease;}
.tl-col:hover .tl-head .t{color:#390517;}
.tl-bullets{position:absolute;left:50%;transform:translateX(-50%);width:172px;display:flex;flex-direction:column;gap:9px;opacity:0;pointer-events:none;transition:opacity .3s ease;}
.tl-col:nth-child(odd) .tl-bullets{bottom:100%;margin-bottom:18px;}
.tl-col:nth-child(even) .tl-bullets{top:100%;margin-top:18px;}
.tl-col:hover .tl-bullets{opacity:1;}
.tl-b{opacity:0;transform:translateY(7px);font-family:'Cormorant Garamond',serif;font-style:italic;font-size:14px;color:#5A5248;line-height:1.3;transition:opacity .5s ease,transform .5s ease;}
.tl-col:hover .tl-b{opacity:1;transform:none;}
.tl-col:hover .tl-b:nth-child(1){transition-delay:.10s;}
.tl-col:hover .tl-b:nth-child(2){transition-delay:.26s;}
.tl-col:hover .tl-b:nth-child(3){transition-delay:.42s;}
.tl-col:nth-child(1){--d:.05s;--nd:.20s;} .tl-col:nth-child(2){--d:.17s;--nd:.32s;}
.tl-col:nth-child(3){--d:.29s;--nd:.44s;} .tl-col:nth-child(4){--d:.41s;--nd:.56s;}
.tl-col:nth-child(5){--d:.53s;--nd:.68s;} .tl-col:nth-child(6){--d:.65s;--nd:.80s;}
.tl-col:nth-child(7){--d:.77s;--nd:.92s;} .tl-col:nth-child(8){--d:.89s;--nd:1.04s;}
.tl-col:nth-child(9){--d:1.01s;--nd:1.16s;}
/* SIDE-BY-SIDE SERVICES */
.svc-duo{position:relative;display:flex;gap:0;}
.svc-panel{flex:1;min-width:0;text-align:center;padding:0 40px;}
.svc-title{font-family:'Cormorant Garamond',serif;font-size:44px;font-weight:400;line-height:1.04;color:#2A2218;margin:0;}
.svc-rule{width:34px;height:1px;background:#C9BCA6;margin:20px auto 0;}
.svc-list{list-style:none;margin:38px 0 0;padding:0;display:flex;flex-direction:column;align-items:center;gap:15px;}
.svc-li{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:400;color:#5A5248;line-height:1.25;transition:color .35s ease;}
.svc-li:hover{color:#390517;}
.svc-li .sn{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.14em;color:#B6A591;margin-right:12px;vertical-align:middle;}
.svc-divider{position:absolute;left:50%;top:0;bottom:0;width:1px;background:#E2D8CA;transform:translateX(-50%);pointer-events:none;}
#mBurger .bbar{top:50%;transition:transform .42s cubic-bezier(.2,.8,.2,1);}
#mBurger .bbar:nth-child(1){transform:translateY(-5px) rotate(0deg);}
#mBurger .bbar:nth-child(2){transform:translateY(4px) rotate(0deg);}
#mBurger[data-open="true"] .bbar:nth-child(1){transform:translateY(0) rotate(45deg);}
#mBurger[data-open="true"] .bbar:nth-child(2){transform:translateY(0) rotate(-45deg);}
@media (max-width:820px){
  #siteHdr{padding:0 20px !important;}
  #hdrInner{gap:14px !important;}
  #siteHdr nav{display:none !important;}
  #mBurger{display:flex !important;}
  #wordmark img{height:15px !important;width:auto !important;}
  #siteHdr{padding:6px 22px !important;}
  [data-m~="pad"]{padding-left:22px !important;padding-right:22px !important;}
  [data-m~="cols"]{grid-template-columns:1fr !important;min-height:0 !important;}
  [data-m~="cols"] [data-proj-hover]{margin-bottom:16px !important;}
  [data-m~="cols"] [data-proj-hover]:last-child{margin-bottom:0 !important;}
  [data-m~="pad"]{padding-bottom:52px !important;}
  [data-m~="inpad"]{padding:44px 22px !important;}
  [data-m~="foot"]{flex-direction:column !important;align-items:flex-start !important;gap:26px !important;padding:36px 22px 32px !important;}
  [data-m~="foot"] > div:first-child{margin-right:0 !important;}
  a[href^="mailto"],a[href^="tel"]{min-height:44px !important;display:inline-flex !important;align-items:center !important;}
  [data-portrait]{min-height:400px !important;}
  [data-m~="mrev"] > [data-portrait]{order:2 !important;}
  [data-m~="mimg"]{order:2 !important;min-height:420px !important;margin-top:44px !important;}
  [data-m~="mimg"] ~ [data-m~="inpad"]{padding-left:34px !important;}
  [data-m~="mimg"] ~ [data-m~="inpad"] a,[data-m~="mimg"] ~ [data-m~="inpad"] div[style*="28px"]{font-size:22px !important;}
  [data-m~="tl"]{overflow:visible !important;}
  #tlStrip{height:auto !important;width:auto !important;max-width:250px !important;margin:0 auto !important;padding-left:34px !important;}
  #tlStrip .tl-line{left:39px !important;right:auto !important;top:0 !important;bottom:0 !important;width:1px !important;height:auto !important;background:linear-gradient(180deg,#C9BCA6,#7C7750) !important;transform:none !important;}
  #tlStrip > div:last-child{display:block !important;height:auto !important;}
  #tlStrip .tl-col{width:100% !important;height:auto !important;display:grid !important;grid-template-columns:44px 1fr !important;align-items:start !important;padding:0 0 34px !important;}
  #tlStrip .tl-node{left:5px !important;top:7px !important;transform:translate(-50%,0) scale(1) !important;opacity:1 !important;}
  #tlStrip .tl-stem{display:none !important;}
  #tlStrip .tl-content{position:static !important;grid-column:2 !important;transform:none !important;width:auto !important;max-width:none !important;display:grid !important;grid-template-columns:38px 1fr !important;column-gap:14px !important;align-items:start !important;text-align:left !important;}
  #tlStrip .tl-icon{grid-column:1 !important;grid-row:1 !important;margin:0 !important;opacity:1 !important;transform:none !important;}
  #tlStrip .tl-head{grid-column:2 !important;grid-row:1 !important;opacity:1 !important;transform:none !important;text-align:left !important;}
  #tlStrip .tl-bullets{position:static !important;grid-column:2 !important;grid-row:2 !important;transform:none !important;width:auto !important;opacity:1 !important;margin:10px 0 0 !important;}
  #tlStrip .tl-b{opacity:1 !important;transform:none !important;}
  .svc-divider{display:none !important;}
  .svc-duo{flex-direction:column !important;gap:44px !important;}
  .svc-panel{width:100% !important;padding-left:0 !important;padding-right:0 !important;}
  .svc-title{white-space:normal !important;overflow-wrap:anywhere;}
}
