
:root{
  --ink:#111315; --steel:#24292d; --muted:#626970; --line:#d9dde0;
  --paper:#f5f5f2; --white:#fff; --accent:#d96b23; --accent2:#f0a038;
  --max:1180px;
}
*{box-sizing:border-box} [hidden]{display:none!important} html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--paper);color:var(--ink);line-height:1.55}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.site-header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 max(22px,calc((100vw - var(--max))/2));background:#111315f2;color:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid #ffffff18}
.brand{display:flex;align-items:center;gap:10px;letter-spacing:.08em}
.brand-mark{width:42px;height:42px;border:2px solid var(--accent2);display:grid;place-items:center;font-weight:900;transform:skew(-8deg)}
.brand strong{font-size:1rem}.brand small,.design-credit .legal-suffix{font-size:.58rem;margin-left:5px;color:#aeb5ba;font-weight:400;letter-spacing:.08em}
.nav{display:flex;gap:24px;align-items:center;font-size:.88rem;font-weight:700}
.nav a{opacity:.9}.nav a:hover{opacity:1;color:var(--accent2)}
.nav-cta{border:1px solid var(--accent2);padding:10px 14px}
.menu-toggle{display:none;background:none;border:0;color:white;font-size:1.5rem}
.hero{min-height:690px;position:relative;display:flex;align-items:center;background:url('assets/work-2.jpg') center 62%/cover no-repeat;color:#fff}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#050607f2 0%,#090b0de6 42%,#0b0d0fc7 70%,#0b0d0fa8 100%)}
.hero-content{position:relative;width:min(var(--max),calc(100% - 44px));margin:auto;padding:80px 0;max-width:1180px}
.hero-content>*{max-width:720px}
.eyebrow{font-size:.77rem;font-weight:900;letter-spacing:.18em;color:var(--accent2);margin-bottom:14px}
.eyebrow.dark{color:#a34c15}
h1,h2,h3{line-height:1.03;margin:0 0 18px}
h1{font-size:clamp(3.2rem,7vw,6.6rem);letter-spacing:-.055em;max-width:780px!important}
h1 span{color:var(--accent2)}
h2{font-size:clamp(2.1rem,4vw,4rem);letter-spacing:-.04em}
h3{font-size:1.35rem}
.hero p{font-size:1.15rem;max-width:620px!important;color:#e1e5e8}
.hero-actions,.form-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.button{display:inline-flex;align-items:center;justify-content:center;padding:14px 20px;border:1px solid transparent;font-weight:900;text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;cursor:pointer}
.button.primary{background:var(--accent);color:#fff}
.button.primary:hover{background:#b9561d}
.button.secondary{border-color:#fff;color:#fff;background:#ffffff0c}
.button.light{background:#fff;color:#111315}
.button.outline{background:transparent;border-color:#8b9297;color:#25292c}
.hero-badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:42px;max-width:850px!important}
.hero-badges span{border:1px solid #ffffff3d;background:#00000030;padding:8px 10px;font-size:.76rem;font-weight:700}
.section{width:min(var(--max),calc(100% - 44px));margin:auto;padding:90px 0}
.intro{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:end}
.intro p{font-size:1.1rem;color:var(--muted);margin:0}
.section-heading{max-width:760px;margin-bottom:38px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{background:#fff;border-top:4px solid var(--accent);padding:30px;min-height:260px;box-shadow:0 8px 30px #0000000b}
.card-number{font-weight:900;color:#bbc0c4;font-size:.8rem;margin-bottom:42px}
.card p{color:var(--muted)}
.feature-split{display:grid;grid-template-columns:1.05fr .95fr;background:var(--steel);color:#fff}
.feature-image{min-height:620px}.feature-image img{width:100%;height:100%;object-fit:cover}
.feature-copy{padding:80px clamp(28px,6vw,90px);align-self:center}
.feature-copy p,.feature-copy li{color:#cbd0d3}
.feature-copy ul{padding-left:18px;margin:24px 0 30px}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:330px;gap:12px}
.gallery figure{margin:0;overflow:hidden;background:#ddd}
.gallery figure.wide{grid-column:span 2}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.gallery figure:hover img{transform:scale(1.035)}
.social-band,.cta{background:#16191b;color:#fff;padding:55px max(22px,calc((100vw - var(--max))/2));display:flex;justify-content:space-between;align-items:center;gap:30px}
.social-band h2,.cta h2{font-size:clamp(2rem,4vw,3.6rem);margin-bottom:0}
.form-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:start}
.form-intro{position:sticky;top:110px}
.form-intro p{color:var(--muted);font-size:1.05rem}
.quote-form{background:#fff;padding:34px;box-shadow:0 10px 35px #0000000b}
fieldset{border:0;border-top:1px solid var(--line);padding:28px 0;margin:0}
fieldset:first-child{border-top:0;padding-top:0}
legend{font-weight:900;font-size:1.08rem;padding:0 12px 0 0}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
label{display:flex;flex-direction:column;gap:7px;font-size:.8rem;font-weight:800}
input,select,textarea{width:100%;border:1px solid #cdd2d5;background:#fbfbfa;padding:12px 13px;font:inherit;color:#111}
input:focus,select:focus,textarea:focus{outline:2px solid #e6a06e;border-color:#b4561e}
.span-2{grid-column:span 2}
.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.choice-grid label{display:flex;flex-direction:row;align-items:center;padding:12px;border:1px solid var(--line);font-weight:700}
.choice-grid input{width:auto}
.upload-note{font-size:.82rem;color:var(--muted);background:#f5f5f2;padding:13px}
.text-button{background:none;border:0;text-decoration:underline;cursor:pointer}
.form-status{font-weight:700;color:#7f3b14}
.cta{background:linear-gradient(110deg,#9f4315,#d96b23)}
.cta p{max-width:750px;color:#fffde8}
footer{background:#0d0f10;color:#adb4b8;padding:52px max(22px,calc((100vw - var(--max))/2));display:grid;gap:16px}
.footer-brand{color:white}.footer-links{display:flex;align-items:center;flex-wrap:wrap;gap:22px}.footer-links a{color:#fff}
.footer-links .social-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid #45494b;border-radius:50%;transition:color .2s,border-color .2s}
.social-icon svg{width:23px;height:23px;display:block}
.design-credit{border-top:1px solid #45494b;margin-top:8px;padding-top:20px;font-size:.9rem}.design-credit p{margin:0 0 12px}.design-credit strong{color:#fff}.design-credit a[href^="mailto:"]{overflow-wrap:anywhere}
.design-credit{display:grid;grid-template-columns:101.25px minmax(0,1fr);column-gap:24px;align-items:center}.design-logo-link{grid-row:span 2}.design-logo{width:101.25px;height:101.25px;object-fit:contain;border-radius:8px}.design-credit p{align-self:end}.design-credit .footer-links{align-self:start}.design-logo-link:focus-visible{outline:2px solid #e0ad62;outline-offset:4px}@media(max-width:520px){.design-credit{grid-template-columns:minmax(0,1fr);gap:16px}.design-logo-link{grid-row:auto;width:90px}.design-logo{width:90px;height:90px}.design-credit p{margin:0}}
.footer-links .social-icon:hover{color:#e0ad62;border-color:#e0ad62}
.footer-links .social-icon:focus-visible{outline:2px solid #e0ad62;outline-offset:4px}
@media(max-width:850px){
  .menu-toggle{display:block}.nav{display:none;position:absolute;top:76px;left:0;right:0;background:#111315;padding:20px 22px;flex-direction:column;align-items:flex-start}
  .nav.open{display:flex}
  .hero{min-height:620px;background-position:62% center}.hero-overlay{background:#0a0d0fd1}
  .intro,.form-section,.feature-split{grid-template-columns:1fr}
  .form-intro{position:static}.cards{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr;grid-auto-rows:250px}
  .feature-image{min-height:420px}.social-band,.cta{align-items:flex-start;flex-direction:column}
}
@media(max-width:560px){
  .site-header{height:68px}.nav{top:68px}.hero-content{width:calc(100% - 32px)}
  .section{width:calc(100% - 32px);padding:66px 0}.hero{min-height:650px}
  h1{font-size:3.3rem}.hero p{font-size:1rem}.hero-actions .button{width:100%}
  .gallery{grid-template-columns:1fr;grid-auto-rows:310px}.gallery figure.wide{grid-column:span 1}
  .form-grid,.choice-grid{grid-template-columns:1fr}.span-2{grid-column:span 1}
  .quote-form{padding:20px}.form-actions .button{width:100%}.feature-copy{padding:60px 22px}
}
@media print{
  .site-header,.hero,.intro,.services,.feature-split,.gallery-section,.social-band,.cta,footer,.form-intro{display:none!important}
  body{background:white}.form-section{display:block;width:100%;padding:0}.quote-form{box-shadow:none;padding:0}
  .form-actions,.upload-note{display:none}.quote-form input,.quote-form select,.quote-form textarea{border:1px solid #777}
}

/* AllynFab supplied business logo */
.brand-logo{
  width:58px;
  height:58px;
  object-fit:contain;
  filter:drop-shadow(0 2px 5px #000);
}
.brand-name{display:flex;align-items:baseline}
.footer-logo{width:82px;height:82px}
@media(max-width:560px){
  .brand-logo{width:50px;height:50px}
  .brand-name strong{font-size:.9rem}
}


/* Branded hero treatment */
.hero-branded{
  display:grid;
  grid-template-columns:minmax(320px,.9fr) minmax(420px,1.1fr);
  gap:54px;
  align-items:center;
  max-width:1180px!important;
}
.hero-logo-wrap{
  display:flex;
  justify-content:center;
  align-items:center;
}
.hero-logo{
  width:min(440px,100%);
  max-height:570px;
  object-fit:contain;
  filter:drop-shadow(0 22px 36px rgba(0,0,0,.72));
}
.hero-copy>*{max-width:700px}
.hero-copy h1{
  font-size:clamp(3rem,5.7vw,5.8rem);
}
.hero-copy p{
  max-width:620px!important;
}
.hero-copy .hero-badges{
  max-width:720px!important;
}

@media(max-width:980px){
  .hero-branded{
    grid-template-columns:1fr;
    gap:12px;
    text-align:center;
    padding-top:36px;
    padding-bottom:48px;
  }
  .hero-logo{
    width:min(330px,72vw);
    max-height:380px;
  }
  .hero-copy>*{
    margin-left:auto;
    margin-right:auto;
  }
  .hero-actions,.hero-badges{
    justify-content:center;
  }
}
@media(max-width:560px){
  .hero{
    min-height:780px;
    background-position:68% center;
  }
  .hero-branded{
    width:calc(100% - 28px);
    gap:4px;
    padding-top:24px;
  }
  .hero-logo{
    width:min(285px,82vw);
    max-height:330px;
  }
  .hero-copy h1{
    font-size:2.7rem;
    margin-bottom:14px;
  }
  .hero-copy p{
    font-size:.96rem;
  }
  .hero-copy .eyebrow{
    font-size:.68rem;
    letter-spacing:.12em;
  }
  .hero-copy .hero-badges{
    margin-top:24px;
  }
}

.measurement-callout{display:flex;flex-wrap:wrap;gap:30px;align-items:center;justify-content:space-between}.measurement-callout h2{font-size:2.8rem}.measurement-callout>div{max-width:650px}.gallery figure{position:relative}.gallery a{display:block;height:100%}.gallery figcaption{position:absolute;bottom:0;left:0;right:0;padding:22px 15px 12px;background:linear-gradient(transparent,#000d);color:white}.nav a:focus-visible,.button:focus-visible{outline:3px solid #f0a038;outline-offset:4px}

/* Attachment-category folders */
.gallery-folders{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 26px}
.gallery-folder{font:inherit;font-weight:700;font-size:.9rem;padding:12px 18px;border:1px solid #aab1b5;background:#fff;color:#24292d;cursor:pointer;border-radius:3px;min-height:46px}
.gallery-folder:hover{border-color:#a34c15;background:#fff6ee}
.gallery-folder[aria-pressed=true]{background:#24292d;color:#fff;border-color:#24292d;box-shadow:inset 0 -3px #f0a038}
.gallery-folder:focus-visible{outline:3px solid #b9561d;outline-offset:3px}
.gallery-status{color:#626970;font-size:.9rem}
@media(max-width:560px){.gallery-folders{display:grid;grid-template-columns:1fr 1fr}.gallery-folder{padding:12px 8px}}

/* Main attachment photo: live gallery slideshow */
.project-slideshow{position:relative;overflow:hidden;min-width:0}
.project-slideshow>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.slideshow-caption{position:absolute;left:0;right:0;bottom:0;padding:55px 24px 82px;background:linear-gradient(transparent,rgba(0,0,0,.88));color:#fff;font-size:.92rem;line-height:1.5;pointer-events:none}
.slideshow-controls{position:absolute;bottom:20px;left:24px;display:flex;gap:8px}
.slideshow-controls button{min-width:46px;min-height:44px;padding:8px 15px;background:#111315d9;color:#fff;border:1px solid #ffffffa0;font:inherit;font-weight:700;cursor:pointer}
.slideshow-controls button:focus-visible{outline:3px solid #f0a038;outline-offset:3px}
.slideshow-controls button:hover{background:#9f4315}
@media(max-width:560px){.slideshow-caption{padding-left:20px;padding-right:20px}.slideshow-controls{left:20px}}

/* Project videos: native playback, no autoplay or full-file preload. */
.gallery-media-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}
.gallery-owner{display:flex;flex-wrap:wrap;gap:10px;font-size:.85rem;margin:18px 0}.gallery-owner a{color:#804313;font-weight:700}.gallery-owner span{color:#626970}
.gallery figure.gallery-video{display:flex;flex-direction:column;background:#161a1d;color:white}
.gallery-video video{display:block;width:100%;min-height:0;flex:1;object-fit:contain;background:#161a1d}
.gallery .gallery-video figcaption{position:static;background:#24292d;padding:12px 15px;flex-shrink:0}
.video-error{font-size:.85rem;padding:8px 14px;margin:0}

.gallery-page{min-height:70vh}.gallery-page h1{font-size:clamp(2.3rem,5vw,4.5rem);line-height:1.05;margin:12px 0 20px}.gallery-page .section-heading p{color:#626970;max-width:650px}.nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:6px}
/* Dedicated gallery shows one uncropped project at a time. */
.gallery.gallery-carousel{display:block;height:auto;max-width:1100px;margin:0 auto}
.gallery-carousel figure,.gallery-carousel figure.gallery-video{height:clamp(280px,58vw,620px);display:flex;flex-direction:column;background:#161a1d}
.gallery-carousel figure>a{flex:1;min-height:0;height:auto}
.gallery-carousel img{object-fit:contain;transform:none!important}
.gallery-carousel figcaption,.gallery-carousel .gallery-video figcaption{position:static;background:#24292d;padding:14px 18px;flex-shrink:0}
.gallery-slide-controls{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin:18px 0 0}
@media(max-width:560px){.gallery-slide-controls{gap:6px}.gallery-slide-controls button{font-size:.8rem;padding:10px}.gallery-page .section{padding-left:18px;padding-right:18px}}
@media(min-width:851px) and (max-width:1100px){.nav{gap:12px;font-size:.78rem}.site-header{padding-left:18px;padding-right:18px}}

/* Service pages and crawlable service links. */
.service-link,.service-content a:not(.button){text-decoration:underline;text-underline-offset:3px;font-weight:700}
.service-link{display:inline-block;margin-top:10px;color:#9b4715}
.service-intro{padding-bottom:45px}.service-intro h1{font-size:clamp(2.6rem,6vw,5rem)}.service-intro h1 span{color:#a34c15}.service-intro>p{font-size:1.15rem;max-width:780px}.service-content{padding-top:35px;padding-bottom:45px}.service-content h2{font-size:clamp(1.7rem,3vw,2.6rem);margin-top:30px}.service-content p{max-width:850px}.service-content .cards{margin:30px 0}.service-content li{margin:10px 0}.footer-services{display:flex;flex-wrap:wrap;gap:14px 24px}.footer-services a:hover{text-decoration:underline}

.attachment-faq details{border-top:1px solid var(--line);padding:18px 0;max-width:850px}.attachment-faq details:last-child{border-bottom:1px solid var(--line)}.attachment-faq summary{cursor:pointer;font-weight:700;line-height:1.5}.attachment-faq summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.attachment-faq details p{margin:14px 0 0}
