:root{--ref:url("/assets/approved-reference.jpeg")}*{box-sizing:border-box}body{margin:0;color:#202020;background:#fff;font-family:Arial,Helvetica,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #805237;outline-offset:4px}.wrap{max-width:1280px;margin:auto;padding:0 5%}header{border-bottom:1px solid #e9e3dd;background:#fff}.bar{display:flex;align-items:center;justify-content:space-between;gap:26px;min-height:100px}.brand{display:flex;align-items:center;gap:10px}.mark{height:52px;width:78px;background-image:var(--ref);background-size:1186px 1327px;background-position:-49px -3px;background-repeat:no-repeat}.brand strong{display:block;font-size:21px;letter-spacing:-.7px;line-height:1.1}.brand small{color:#94684d;letter-spacing:2px;font-size:11px}nav{display:flex;gap:25px;align-items:center;font-size:13px}nav a{padding:12px 0}nav a[aria-current=page]{border-bottom:2px solid #b37b57}.button{display:inline-flex;justify-content:center;align-items:center;gap:18px;background:#a76d47;color:white;border:0;padding:15px 24px;font-size:13px;min-height:48px}.button:hover{background:#855234}.outline{background:transparent;color:#835637;border:1px solid #b18060}.menu{display:none;border:1px solid #cfc5ba;background:white;padding:10px 14px}.eyebrow{text-transform:uppercase;font-size:10px;letter-spacing:3px;font-weight:700;color:#98613e}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:560px;background:#faf9f7}.hero-copy{padding:64px 7% 30px max(6%,calc((100vw - 1152px)/2))}h1,h2,h3{line-height:1.08;font-weight:500;letter-spacing:-1.6px}h1{font-size:clamp(40px,4.9vw,69px);margin:22px 0}h2{font-size:clamp(30px,3vw,43px);margin:12px 0 25px}h3{font-size:23px;letter-spacing:-.6px}.dot{color:#b77d54}.intro{font-size:19px;max-width:490px;line-height:1.5}.hero-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin:28px 0 35px}.text-link{font-size:13px;border-bottom:1px solid #ba8d6c;padding:10px 0}.photo{background-image:var(--ref);background-repeat:no-repeat;background-color:#e9e1d7}.hero-photo{background-size:auto 300%;background-position:72% 9%;position:relative}.photo-note{position:absolute;bottom:12px;left:14px;font-size:10px;background:#fffdf3e8;padding:5px 9px;color:#63523e}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;font-size:12px}.values span{display:block;color:#aa704b;font-size:23px;margin-bottom:6px}.section{padding:64px 0}.section-head{display:flex;justify-content:space-between;gap:45px;align-items:center}.section-head p{max-width:380px;color:#62605c;font-size:15px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.service-card{border-bottom:1px solid #ddd4ca;padding-bottom:20px}.service-card h3{font-size:19px;letter-spacing:-.4px;margin-bottom:14px}.service-card .photo{height:172px;background-size:760px auto;background-position:48% 4%}.service-card:nth-child(2n) .photo{background-position:38% 57%;background-size:850px auto}.service-card:nth-child(3n) .photo{background-position:64% 58%;background-size:850px auto}.service-card .more{color:#9a633f;font-size:12px}.featured{background:#232c2f;color:white}.featured .eyebrow{color:#d3a17e}.featured p{color:#ddd;max-width:540px}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.project{border-top:1px solid #826c5c;padding-top:20px}.project .photo{height:230px;background-size:1000px auto;background-position:47% 9%}.project p{font-size:13px}.warm{background:#f7f4ef}.details{display:grid;grid-template-columns:repeat(3,1fr);gap:44px}.details p{color:#666;font-size:15px}.area{display:grid;grid-template-columns:1fr 1fr;gap:50px}.area p{color:#62605c}.cta{padding:50px 0;border-top:1px solid #ded5cd}.cta .wrap{display:flex;justify-content:space-between;align-items:center;gap:25px}.cta h2{margin:0}footer{background:#f8f6f2;padding:36px 0;font-size:12px;color:#68625c}footer .wrap{display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap}.page-head{padding:64px 0 30px;max-width:820px}.page-head h1{font-size:clamp(37px,4.5vw,60px)}.reading{max-width:740px;color:#555;font-size:17px}.reading h2{color:#222;font-size:30px;margin-top:40px}.back{display:inline-block;margin-bottom:12px;color:#936341;font-size:12px}.service-list{display:grid;grid-template-columns:1fr 1fr;gap:0 35px}.service-list a{display:flex;justify-content:space-between;padding:20px 0;border-bottom:1px solid #ddd3c8}.contact-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:65px;margin-bottom:60px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px}label{display:block;font-size:13px}input,select,textarea{display:block;width:100%;padding:14px;border:1px solid #d4cbc2;background:#fff;border-radius:0;margin-top:7px;color:#252525;min-height:48px}textarea{min-height:130px;resize:vertical}.full{grid-column:1/-1}.note{font-size:12px;color:#6c6259;line-height:1.6}.notice{background:#f5f0e9;padding:16px 20px;border-left:2px solid #b27950;font-size:13px}.status{padding:12px 0;color:#45663e}.skip{position:absolute;top:-80px}.skip:focus{top:8px;background:white;padding:12px;z-index:9}ul{padding-left:20px}.prototype-label{font-size:10px;letter-spacing:1px;color:#777;text-transform:uppercase;padding:8px 0;border-bottom:1px solid #eee} @media(max-width:1000px){nav{gap:13px;font-size:12px}.bar>.button{display:none}.hero-copy{padding:45px 8%}.service-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.bar{min-height:80px;flex-wrap:wrap;gap:0;padding-top:10px;padding-bottom:10px}.brand strong{font-size:18px}.mark{transform:scale(.8);transform-origin:left center;width:65px;margin-right:-8px}.menu{display:block}nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0;padding-top:15px}nav.open{display:flex}nav a{padding:13px 2px;border-bottom:1px solid #eee}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:35px 6% 28px}.hero h1{font-size:49px;margin:17px 0}.intro{font-size:17px}.hero-photo{height:330px;background-size:auto 300%;background-position:70% 8%}.hero-actions{gap:20px}.values{font-size:11px}.section{padding:42px 0}.section-head{display:block}.section-head p{margin:0 0 30px}.service-grid{gap:20px}.service-card .photo{height:140px}.service-card h3{font-size:17px}.project-grid,.details,.area,.contact-layout{grid-template-columns:1fr;gap:25px}.project .photo{height:250px}.cta .wrap{display:block}.cta .button{margin-top:25px}.service-list{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.page-head{padding-top:38px}.contact-layout{margin-top:20px}.project h3{margin:16px 0}.wrap{padding:0 6%}}.service-card .photo{background-size:1565px auto;background-position:-82px -852px}.service-card:nth-child(2n) .photo{background-size:1565px auto;background-position:-325px -852px}.service-card:nth-child(3n) .photo{background-size:1565px auto;background-position:-551px -852px}.project .photo{background-size:1900px auto;background-position:-770px -104px}@media(max-width:700px){.service-card .photo{background-size:1280px auto;background-position:-67px -697px}.service-card:nth-child(2n) .photo{background-size:1280px auto;background-position:-266px -697px}.service-card:nth-child(3n) .photo{background-size:1280px auto;background-position:-451px -697px}}.mark{width:68px;height:56px;flex-shrink:0;background-image:url('/assets/west-forge-original.jpeg');background-size:112px 168px;background-position:-22px -50px;background-color:#242322;border-radius:2px}.brand-art{display:block;width:min(100%,360px);height:auto;margin:0 0 32px}.brand-story{display:grid;grid-template-columns:1fr 360px;gap:60px;align-items:start}.brand-caption{font-size:12px;color:#71675e}@media(max-width:850px){.brand-story{grid-template-columns:1fr}.brand-art{max-width:280px}.mark{transform:none;width:68px;margin-right:0}} .wf-logo{display:block;width:96px;height:64px;object-fit:contain}.brand{min-width:110px}.hero-image{position:relative;min-width:0}.hero-image .site-photo{width:100%;height:100%;object-fit:cover;display:block}.site-photo{width:100%;height:auto;display:block;object-fit:cover;background:#eee7dd}.service-card .site-photo{height:172px}.project .site-photo{height:230px}.service-figure{margin:0 0 40px;max-width:960px}.service-figure .site-photo{max-height:510px;object-fit:cover}.service-figure figcaption{font-size:12px;color:#6b6158;margin-top:8px}.small-heading{font-size:25px;letter-spacing:-.5px}.reading li{padding:7px 0}.reading details{border-bottom:1px solid #d8cdc3;padding:18px 0}.reading summary{font-weight:600;cursor:pointer;line-height:1.5}.reading details p{font-size:16px}.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.consent-line{display:block}.consent-line input{display:inline-block;width:20px;min-height:20px;height:20px;vertical-align:middle;margin:0 7px 0 0}.consent-line a{text-decoration:underline}.footer-button{border:0;background:transparent;color:inherit;font:inherit;text-decoration:underline;min-height:44px;cursor:pointer}.status{color:#694e37}.status.error{color:#9b2923}dialog{border:1px solid #c6b7aa;max-width:520px;width:calc(100% - 32px);padding:28px;color:#272321}dialog::backdrop{background:#0006}dialog h2{font-size:30px}input,select,textarea{font-size:16px;max-width:100%}img{max-width:100%}.form-grid>*{min-width:0}.bar{gap:20px}.page-head h1{overflow-wrap:break-word}.reading{overflow-wrap:anywhere}.photo-note{color:#3d332b}.button{background:#935b39}.eyebrow{color:#855433}.full{min-width:0}nav a,.text-link{min-height:44px}button:disabled{cursor:wait;opacity:.65}@media(max-width:1000px){.bar{flex-wrap:wrap}.bar>.button{display:none}nav{gap:16px}}@media(max-width:700px){.bar{min-height:80px}.brand{min-width:0}.wf-logo{width:84px;height:56px}.hero-image{height:330px}.service-card .site-photo{height:140px}.hero h1{font-size:clamp(36px,11vw,49px)}.brand-story{display:block}.service-figure .site-photo{height:auto}.project .site-photo{height:230px}.form-grid{display:block}.form-grid>label{margin-bottom:22px}.service-list a{gap:16px}.hero-copy{min-width:0}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Approved branding and outdoor concepts */
.wf-logo{width:240px;height:auto;aspect-ratio:1536/614;object-fit:contain}.brand{min-width:240px}.deck-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:24px 0 40px}.deck-gallery figure{margin:0;min-width:0}.deck-gallery img{display:block;width:100%;height:auto}.deck-gallery a{display:block}.deck-gallery figcaption{font-size:13px;line-height:1.5;margin-top:10px;color:#63584f}.gallery-viewer{max-width:1000px;padding:16px;max-height:95dvh;overflow:auto}.gallery-viewer img{display:block;max-height:75dvh;width:auto;margin:auto;object-fit:contain}.gallery-viewer button{min-height:44px;min-width:44px}.gallery-viewer p{font-size:14px}.gallery-close{display:block;margin-left:auto;margin-bottom:12px}@media(max-width:1100px){.bar>.button{display:none}.bar{gap:16px}.wf-logo{width:200px}.brand{min-width:200px}}@media(max-width:700px){.wf-logo{width:180px}.brand{min-width:0}.deck-gallery{grid-template-columns:1fr}.bar{min-height:100px}.deck-gallery-section h2{font-size:32px}}

@media(min-width:701px){nav{flex-wrap:wrap;justify-content:flex-end}nav a{display:flex;align-items:center}.bar nav{flex:1;min-width:0}}

/* Mobile containment: let tracks shrink instead of hiding overflow. */
@media (max-width:1000px) {
  .hero,.service-grid,.project-grid,.details,.values,.area,.service-list,.contact-layout,.form-grid,.brand-story,.deck-gallery {min-width:0;max-width:100%;}
  .hero>*,.service-grid>*,.project-grid>*,.details>*,.values>*,.area>*,.service-list>*,.contact-layout>*,.form-grid>*,.brand-story>*,.deck-gallery>* {min-width:0;max-width:100%;}
  .reading,.page-head,.hero-copy,.section-head>*,.cta .wrap>*,footer .wrap>* {min-width:0;max-width:100%;}
  .hero {grid-template-columns:repeat(2,minmax(0,1fr));}
  .service-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
  .project-grid,.details,.values {grid-template-columns:repeat(3,minmax(0,1fr));}
  .area,.service-list,.form-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
  .contact-layout {grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);}
  .brand-story {grid-template-columns:minmax(0,1fr);}
  h1,h2,h3,p,summary,.eyebrow,.button,.text-link,.service-list a,nav a,.note,.status {overflow-wrap:anywhere;}
  .button {max-width:100%;min-width:0;white-space:normal;text-align:center;gap:12px;}
  .button span[aria-hidden] {flex-shrink:0;}
  input,select,textarea {min-width:0;width:100%;max-width:100%;}
  input[type=file] {padding-inline:10px;}
  .photo-note {max-width:calc(100% - 28px);}
  .gallery-viewer {max-width:calc(100vw - 24px);}
}
@media (max-width:700px) {
  .bar {column-gap:12px;row-gap:0;}
  .bar .brand {flex:0 1 180px;min-width:0;max-width:calc(100% - 80px);}
  .bar .menu {flex:0 0 auto;margin-left:auto;}
  .bar nav {flex:0 0 100%;min-width:0;max-width:100%;gap:0;}
  .bar nav a {white-space:normal;overflow-wrap:anywhere;}
  .project-grid,.details,.area,.contact-layout,.service-list,.form-grid,.deck-gallery {grid-template-columns:minmax(0,1fr);}
  .service-figure,.deck-gallery figure {max-width:100%;min-width:0;}
  .service-card .site-photo,.project .site-photo,.service-figure .site-photo {height:auto;max-height:none;object-fit:contain;}
  .hero-image {height:auto;min-height:0;}
  .hero-image .site-photo {height:auto;object-fit:contain;}
  dialog {max-width:calc(100vw - 24px);padding:20px;}
  .gallery-viewer {padding:12px;}
}
@media (max-width:480px) {
  .service-grid {grid-template-columns:minmax(0,1fr);}
  .values {gap:12px;}
  .page-head h1 {font-size:clamp(30px,9vw,37px);}
}

/* Photo viewer only; page typography, photographs and card spacing stay intact. */
.wf-photo-open{display:block;min-width:0;max-width:100%;cursor:zoom-in;line-height:0}
.wf-card-link{display:block}
.hero-image>.wf-photo-open{height:100%}
dialog.wf-lightbox{position:fixed;inset:0;margin:0;width:100%;max-width:none;height:100vh;height:100dvh;max-height:none;border:0;padding:12px;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:#171b1d;color:#fff;overflow:hidden;overscroll-behavior:contain;box-sizing:border-box}
dialog.wf-lightbox[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:12px}
.wf-lightbox::backdrop{background:#171b1d}
.wf-gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}
.wf-gallery-counter{font-size:15px;font-variant-numeric:tabular-nums;padding-inline:8px}
.wf-lightbox button{display:grid;place-items:center;min-width:48px;min-height:48px;border:1px solid #ad866b;border-radius:2px;padding:4px 12px;color:#fff;background:#252c30;font:inherit;line-height:1.1;cursor:pointer;touch-action:manipulation}
.wf-lightbox button:focus-visible{outline:3px solid #efc3a4;outline-offset:3px}
.wf-lightbox button[hidden]{display:none}
.wf-lightbox .wf-gallery-close{display:flex;gap:14px;font-size:15px}
.wf-gallery-close span{font-size:28px}
.wf-gallery-stage{position:relative;min-width:0;min-height:0;overflow:hidden;touch-action:pan-y pinch-zoom;overscroll-behavior:contain;isolation:isolate}
.wf-gallery-image{position:absolute;inset:0;display:block;margin:auto;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;opacity:0;transition:opacity 180ms ease;user-select:none;-webkit-user-select:none;-webkit-user-drag:none}
.wf-gallery-image.is-visible{opacity:1}
.wf-gallery-stage .wf-gallery-prev,.wf-gallery-stage .wf-gallery-next{position:absolute;z-index:2;top:50%;transform:translateY(-50%);font-size:32px;background:#252c30e8}
.wf-gallery-prev{left:8px}.wf-gallery-next{right:8px}
.wf-gallery-loading{position:absolute;z-index:1;left:50%;top:50%;transform:translate(-50%,-50%);max-width:calc(100% - 128px);margin:0;padding:8px 12px;background:#171b1de8;color:#fff;font-size:14px;text-align:center;overflow-wrap:anywhere;pointer-events:none}
.wf-gallery-loading:empty{display:none}
.wf-gallery-footer{min-width:0;max-height:24vh;max-height:24dvh;overflow:auto;overscroll-behavior:contain;padding:0 8px}
.wf-gallery-footer p{margin:0;color:#ded5ce;font-size:13px;overflow-wrap:anywhere}
.wf-gallery-footer #wf-gallery-help{margin-top:4px;font-size:12px;color:#bcb7b2}
@media(max-width:700px){.hero-image>.wf-photo-open{height:auto}.wf-gallery-prev{left:0}.wf-gallery-next{right:0}}
@media(max-height:450px){dialog.wf-lightbox[open]{gap:6px}.wf-gallery-footer{max-height:22dvh}}
@media(prefers-reduced-motion:reduce){.wf-gallery-image{transition:none}}

/* Approved October 18 full logo: compact header, original vertical composition. */
.bar .brand{flex:0 0 144px;min-width:0;max-width:100%}
.bar .wf-logo{display:block;width:144px;max-width:100%;height:auto;aspect-ratio:1374/1145;object-fit:contain}
@media(max-width:700px){.bar .brand{flex:0 1 120px;max-width:calc(100% - 80px)}.bar .wf-logo{width:120px;height:auto}}
