*{
  box-sizing:border-box}html{
  scroll-behavior:smooth;
  scroll-padding-top:28px}body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font-ui);
  font-size:15px;
  line-height:1.6}a{
  color:inherit;
  text-decoration:none}button,input{
  font:inherit}button{
  cursor:pointer}img{display:block;max-width:100%;height:auto}a:focus-visible,button:focus-visible,input:focus-visible{
  outline:2px solid #a87439;
  outline-offset:6px}.skip{
  position:absolute;
  top:-100px}.skip:focus{
  top:0;
  z-index:30;
  background:var(--paper);
  padding:12px}.eyebrow{
  font-size:10px;
  letter-spacing:2.1px;
  font-weight:400;
  margin:0 0 24px}h1,h2,h3{
  font-family:var(--font-editorial);
  font-weight:400;
  line-height:1.05;
  margin:0}h1{
  font-size:clamp(50px,5.5vw,84px);
  letter-spacing:-3px}h2{
  font-size:clamp(40px,4.1vw,62px);
  letter-spacing:-1.9px}h3{
  font-size:25px;
  letter-spacing:-.5px}.text-link{
  display:inline-flex;
  align-items:center;
  gap:28px;
  font-size:13px;
  padding:9px 0;
  border-bottom:1px solid currentColor;
  line-height:1.5}.text-link:hover{
  opacity:.7}.wrap{
  width:86%;
  max-width:1320px;
  margin-inline:auto}.intro{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:75px 0 105px}.intro .eyebrow{
  margin:0}.intro>p:last-child{
  width:40%;
  margin:0;
  color:#6b625a;
  font-size:17px}.section-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:30px;
  margin-bottom:60px}.section-heading>p{
  font-size:14px;
  color:#6b625a;
  margin:0}.section-heading small{
  font-size:11px}.selected{
  padding-bottom:130px}.spaces{
  background:#eee9df;
  padding:110px 0 115px}.space-layout{
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:10%;
  align-items:center}.space-photo{
  height:620px;
  position:relative;
  background:var(--wine);
  color:var(--cream)}.space-photo img{
  object-position:50% 55%}.space-photo>span{
  position:absolute;
  inset:0;
  align-items:center;
  justify-content:center;
  font:44px Georgia;
  text-align:center;
  padding:30px}.space-photo>span:not([hidden]){
  display:flex}.space-link{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
  padding:23px 0;
  border-bottom:1px solid #cdc4b6;
  font-family:Georgia,serif;
  font-size:27px;
  line-height:1.2}.space-link:first-child{
  border-top:1px solid #cdc4b6}.space-link>span:last-child{
  font-family:Arial;
  font-size:18px}.space-link:hover,.space-link:focus-visible{
  color:var(--wine)}.story{
  display:grid;
  grid-template-columns:1fr 1.1fr;
  gap:14%;
  align-items:center;
  padding:140px 0}.story-copy>p:not(.eyebrow){
  max-width:420px;
  color:#736b62;
  font-size:16px;
  line-height:1.9;
  margin:32px 0 25px}.story figure{
  margin:0}.story figure img{
  height:660px;
  object-position:50% 68%}.story figcaption{
  font-size:10px;
  color:#736b62;
  letter-spacing:.6px;
  margin-top:16px}.transformation{
  padding-bottom:140px}.contact{
  border-top:1px solid #d8d0c4;
  padding:90px 0 110px;
  text-align:center}.contact h2{
  font-size:clamp(43px,5vw,76px)}.contact>p:not(.eyebrow){
  color:#736b62;
  margin:30px auto;
  max-width:510px}.contact-links{
  display:flex;
  gap:42px;
  justify-content:center;
  flex-wrap:wrap}

@media(max-width:1050px){.wrap{
  width:88%}.space-photo{
  height:500px}.space-link{
  font-size:23px}.story{
  gap:8%}.story figure img{
  height:560px}
}

@media(max-width:780px){h1{
  font-size:58px;
  letter-spacing:-2.4px}.intro{
  padding:55px 0 70px;
  gap:30px}.intro>p:last-child{
  font-size:14px;
  width:52%}.section-heading{
  margin-bottom:35px}.section-heading .text-link{
  font-size:11px;
  white-space:nowrap}h2{
  font-size:43px}.eyebrow{
  font-size:9px;
  margin-bottom:20px}.selected{
  padding-bottom:80px}.spaces{
  padding:75px 0}.space-layout{
  gap:6%;
  grid-template-columns:1.1fr 1fr}.space-photo{
  height:450px}.space-link{
  font-size:21px;
  padding:21px 0}.story{
  padding:85px 0}.story figure img{
  height:480px}.story-copy>p:not(.eyebrow){
  font-size:14px}.transformation{
  padding-bottom:85px}.contact{
  padding:70px 0 85px}.contact-links{
  gap:22px}
}

@media(max-width:550px){h1{
  font-size:49px;
  letter-spacing:-2px}.desktop{
  display:none}.intro{
  display:block;
  padding:48px 0 65px}.intro .eyebrow{
  margin-bottom:20px}.intro>p:last-child{
  width:100%;
  font-size:15px}.section-heading{
  display:block}.section-heading>.text-link{
  margin-top:22px}.section-heading>p{
  margin-top:22px;
  font-size:13px}h2{
  font-size:40px}.selected{
  padding-bottom:25px}.space-layout{
  display:block}.space-photo{
  height:440px}.space-list{
  margin-top:28px}.space-link{
  font-size:25px;
  padding:20px 0}.spaces{
  padding:65px 0}.story{
  display:flex;
  flex-direction:column;
  gap:40px;
  padding:75px 0}.story-copy>p:not(.eyebrow){
  font-size:15px;
  line-height:1.9;
  margin-top:25px}.story figure{
  width:100%}.story figure img{
  height:460px}.transformation{
  padding-bottom:75px}.contact{
  text-align:left;
  padding:60px 0 70px}.contact h2{
  font-size:45px}.contact>p:not(.eyebrow){
  font-size:15px;
  margin:25px 0}.contact-links{
  align-items:flex-start;
  flex-direction:column;
  gap:13px}
}

@media(prefers-reduced-motion:reduce){html{
  scroll-behavior:auto}*,*:before,*:after{
  transition:none!important;
  animation:none!important}
}[hidden]{
  display:none!important}

@media(max-width:550px){.story figure img{
  object-position:50% 100%}
}
/* MVC content and forms. */
.section{
  width:86%;
  max-width:1320px;
  margin:0 auto;
  padding:clamp(40px,5vw,64px) 0}.page-title>h1{
  max-width:950px;
  margin-bottom:36px}.inner-page h1{
  font-size:var(--text-h1);letter-spacing:-.035em;line-height:1.12;text-wrap:pretty}.inner-page .intro{
  display:block;
  padding:0;
  margin:30px 0;
  font-size:18px;
  line-height:1.8;
  color:#736b62;
  max-width:800px}.multiline{
  white-space:pre-line}.project-video{
  width:100%;
  max-height:80svh;
  background:#25211f}.page-title>img.detail-cover{
  height:auto;
  max-height:75svh;
  object-fit:contain;
  background:#eee9df}.about-content{
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:8%;
  align-items:center;
  margin:50px 0}.about-content:has(>p:only-child){
  display:block}.about-content .detail-cover{
  height:650px;
  object-fit:contain;
  background:#eee9df}.service-list{
  margin-top:40px}.service-row{
  display:grid;
  grid-template-columns:130px 1fr 30px;
  gap:35px;
  align-items:center;
  padding:45px 0;
  border-top:1px solid #d8d0c4}.service-row:last-child{
  border-bottom:1px solid #d8d0c4}.service-row:has(img){
  grid-template-columns:90px minmax(180px,30%) 1fr 30px}.service-row img{
  width:100%;height:320px;object-fit:contain;background:#eee8de}.service-row h2{
  font-size:36px}.service-row p{
  max-width:650px;
  font-size:14px;
  color:#736b62;
  margin-bottom:0}.service-row>.eyebrow{
  margin:0}.service-row:hover h2{
  color:var(--wine)}.ui-icon{
  width:16px;
  height:16px;
  vertical-align:middle;
  display:inline-block}.contact-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:8%;
  margin-top:44px}.contact-details p{
  margin:0 0 32px;
  font-size:17px}.contact-details p>span{
  display:block;
  font-size:9px;
  letter-spacing:2px;
  color:#736b62;
  margin-bottom:10px}.contact-form label{
  display:block;
  font-size:12px;
  margin:24px 0 10px}.contact-form h2{
  font-size:42px;
  margin-bottom:30px}.contact-form input,.contact-form textarea{
  width:100%;
  background:transparent;
  border:0;
  border-bottom:1px solid #aea393;
  color:var(--ink);
  padding:12px 4px;
  font:16px Arial;
  border-radius:0}.contact-form textarea{
  resize:vertical}.honeypot{
  position:absolute;
  left:-10000px;
  width:1px;
  height:1px;
  overflow:hidden}.form-note{
  font-size:11px;
  color:#736b62}.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  background:var(--wine);
  border:1px solid var(--wine);
  color:var(--cream);
  padding:15px 25px;
  font:12px Arial;
  cursor:pointer}.button.outline{
  background:transparent;
  color:var(--wine)}.notice,.validation{
  font-size:13px;
  color:var(--wine)}.validation ul{
  padding-left:20px}.input-validation-error{
  border-color:var(--wine)!important}#lightbox{
  border:0;
  padding:40px 25px 15px;
  background:var(--paper);
  max-width:95vw;
  max-height:95svh;
  color:var(--ink)}#lightbox::backdrop{
  background:#000b}#lightbox img{
  max-width:88vw;
  max-height:78svh;
  width:auto;
  height:auto;
  object-fit:contain}#lightbox p{
  font-size:12px}#lightbox button{
  position:absolute;
  right:10px;
  top:8px;
  border:0;
  background:none;
  color:var(--wine);
  font-size:20px;
  padding:6px 10px;
  cursor:pointer}.home-page .story-copy>p{
  font-size:15px}

@media(max-width:1050px){.service-row:has(img){
  grid-template-columns:60px minmax(160px,30%) 1fr 20px}.service-row h2{
  font-size:30px}.contact-grid{
  gap:8%}
}

@media(max-width:780px){.section{
  width:88%;
  padding:44px 0}.service-row{
  grid-template-columns:75px 1fr 20px;
  gap:20px}.service-row:has(img){
  grid-template-columns:1fr 1fr}.service-row:has(img)>img{
  height:260px}.service-row:has(img)>div{
  grid-column:1/3}.about-content{
  display:block}.about-content .detail-cover{
  height:auto;
  max-height:65svh;
  margin-bottom:35px}.contact-grid{
  gap:6%}
}

@media(max-width:550px){.inner-page h1{
  font-size:40px;
  letter-spacing:-.035em}.inner-page .intro{
  font-size:15px;
  line-height:1.9}.section{
  padding:36px 0}.page-title>h1{
  margin-bottom:35px}.service-row{
  grid-template-columns:1fr 20px;
  padding:30px 0}.service-row>.eyebrow{
  grid-column:1/-1}.service-row h2{
  font-size:30px;
  letter-spacing:-.8px}.service-row:has(img){
  display:block}.service-row img{
  margin:20px 0;
  height:340px}.service-row>span:last-child{
  display:none}.contact-grid{
  display:block;
  margin-top:40px}.contact-form{
  margin-top:60px}.contact-details p{
  font-size:16px}.home-page .story figure img{
  object-position:center 100%}
}.story:not(:has(figure)){
  display:block;
  max-width:900px}.story:not(:has(figure)) .story-copy>p{
  max-width:750px}

/* Brand primitives: one scale for headings,UI,clear space and interaction. */

body{
  font-family:var(--font-ui);
  -webkit-font-smoothing:antialiased}h1,h2,h3{
  font-family:var(--font-editorial);
  text-wrap:balance}.wrap{
  width:88%;
  max-width:1320px}html{scroll-padding-top:24px}

/* Long managed content must stay within its column. */
.contact-details,.contact-form,.service-row>div{min-width:0;overflow-wrap:anywhere}
.page-title>.eyebrow{margin-bottom:20px}
