:root{--gold:#e0b33f;--navy:#061527;--white:#f6f7f9}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#03070c;color:var(--white);font-family:Arial,Helvetica,sans-serif}.nav{height:92px;background:#02070d;border-bottom:1px solid #a97d20;display:grid;grid-template-columns:1fr 310px 1fr;align-items:center;padding:0 5vw;position:relative;z-index:3}.nav-left,.nav-right{display:flex;gap:34px;align-items:center}.nav-right{justify-content:flex-end}.nav a{color:#eee;font-size:11px;letter-spacing:.06em}.nav .active{color:var(--gold);border-bottom:2px solid var(--gold);padding-bottom:8px}.brand{align-self:start;justify-self:center;width:290px;height:126px;background:#020202;display:grid;place-items:center;padding:4px 12px;box-shadow:0 4px 10px #000;z-index:4}.brand img{width:100%;height:100%;object-fit:contain}
.hero{height:500px;display:grid;grid-template-columns:43% 57%;background:#05101c;overflow:hidden}.hero-copy{padding:88px 3vw 50px 6vw;background:linear-gradient(90deg,#02070d 0,#06101c 85%,#07111b 100%);z-index:1}.eyebrow{color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.07em}.hero h1{font:700 58px/.95 Georgia,serif;margin:22px 0 18px}.hero h1 em{font-weight:400;color:var(--gold)}.hero p{font-size:14px;line-height:1.6;max-width:430px;color:#e1e6ec}.button{display:inline-block;border:2px solid var(--gold);border-radius:5px;padding:13px 19px;margin-top:16px;color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.04em}.hero-image{background-image:linear-gradient(90deg,#06101c 0,transparent 14%),url("images/original-building-sign.webp");background-size:cover;background-repeat:no-repeat;background-position:center}
.services{padding:45px 5vw 48px;background:radial-gradient(circle at 50% 0,#0d243c,#061321 55%,#030a11)}.title-row{display:flex;align-items:center;justify-content:center;gap:24px}.title-row span{height:2px;background:var(--gold);width:140px}.title-row h2{font:600 30px Georgia,serif;margin:0}.sub{text-align:center;margin:8px 0 34px;color:#e3e6ea;font-size:13px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);max-width:1200px;margin:auto}.service-grid article{text-align:center;border-right:1px solid #607083;padding:0 20px}.service-grid article:last-child{border:0}.icon{width:65px;height:65px;border:2px solid var(--gold);border-radius:50%;display:grid;place-items:center;margin:0 auto 16px}.icon svg{width:40px;height:40px;fill:none;stroke:var(--gold);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.service-grid h3{font-size:12px;min-height:29px}.service-grid p{font-size:12px;line-height:1.4;color:#e0e4e8}.portfolio{height:190px;display:grid;grid-template-columns:repeat(5,1fr);background:#05090e}.photo-slot{border:1px solid #334150;background:#080d13}.photo-slot:after{content:"";display:block;margin:14px;height:calc(100% - 28px);border:1px dashed rgba(224,179,63,.22)}
.about{min-height:390px;display:grid;grid-template-columns:39% 61%;background:#071426}.about-image{background:url("images/original-excalibur-difference.webp") center/cover no-repeat}.about-copy{padding:58px 7vw 42px 4vw}.about-copy h2{font:500 40px Georgia,serif;margin:10px 0 15px}.about-copy>p{line-height:1.6;color:#e0e5eb;max-width:690px}.features{display:grid;grid-template-columns:repeat(4,1fr);margin-top:35px}.features div{text-align:center;color:var(--gold);font-size:27px;border-right:1px solid #8d742d}.features div:last-child{border:0}.features b{display:block;color:#eee;font-size:9px;line-height:1.45;margin-top:7px}.cta{text-align:center;padding:62px 20px 68px;background:#071423}.cta h2{font:italic 42px Georgia,serif;margin:0 0 8px}.cta p{font-size:11px;letter-spacing:.08em;margin:0 0 15px}.cta .button{margin-top:8px}footer{padding:22px 6vw;display:flex;justify-content:space-between;border-top:1px solid #9b7420;color:#aaa;font-size:11px}footer span:last-child{color:var(--gold);font:italic 15px Georgia,serif}
@media(max-width:850px){.nav{grid-template-columns:1fr 220px 1fr;padding:0 2vw}.brand{width:210px}.nav-left,.nav-right{gap:12px}.hero{grid-template-columns:1fr;height:auto}.hero-copy{padding:70px 7vw 35px}.hero-image{height:390px;background-position:center}.service-grid{grid-template-columns:repeat(2,1fr);gap:30px 0}.service-grid article:nth-child(2){border-right:0}.portfolio{height:auto;grid-template-columns:repeat(2,1fr)}.photo-slot{height:170px}.photo-slot:last-child{grid-column:1/-1}.about{grid-template-columns:1fr}.about-image{height:300px}}
/* Portfolio placeholders */
.work-preview{padding:64px 6vw;background:#071421}
.work-preview h2,.page-main h1,.contact-section h2{font-family:Georgia,serif;color:#fff;text-transform:uppercase;letter-spacing:.04em}
.work-preview .section-rule,.page-main .section-rule,.contact-section .section-rule{width:78px;height:3px;background:#d7aa43;margin:12px 0 28px}
.photo-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.photo-slot{aspect-ratio:4/3;border:1px solid #6d7780;background:#0b1722;display:flex;align-items:center;justify-content:center;color:#aab0b5;font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.contact-section{padding:64px 6vw;background:#03070b;text-align:center;color:#d7dce0}
.contact-section .section-rule{margin:12px auto 26px}
.contact-section a{color:#d7aa43;text-decoration:none}
.contact-section p{margin:8px 0}
.page-main{min-height:70vh;padding:72px 7vw;background:#050b11;color:#d7dce0}
.page-main .lead{max-width:760px;line-height:1.7}
.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:38px}
.portfolio-slot{aspect-ratio:4/3;border:1px solid #6d7780;background:#0b1722;display:flex;align-items:center;justify-content:center;color:#aab0b5;text-transform:uppercase;letter-spacing:.12em;font-size:12px}
.about-layout{display:grid;grid-template-columns:340px 1fr;gap:48px;margin-top:36px;align-items:start}
.about-photo{aspect-ratio:4/5;border:1px solid #6d7780;background:#0b1722;display:flex;align-items:center;justify-content:center;text-align:center;color:#aab0b5;text-transform:uppercase;letter-spacing:.12em;font-size:12px;padding:20px}
.about-copy h2{color:#d7aa43;font-family:Georgia,serif}
.about-copy p{line-height:1.75}
@media(max-width:850px){.photo-grid{grid-template-columns:1fr 1fr}.portfolio-grid{grid-template-columns:1fr 1fr}.about-layout{grid-template-columns:1fr}.about-photo{max-width:340px}}
@media(max-width:520px){.photo-grid,.portfolio-grid{grid-template-columns:1fr}}

/* Home page project slideshow */
.work-preview h2{text-align:center}
.work-preview .section-rule{margin:12px auto 28px}
.work-slideshow{max-width:1100px;margin:0 auto;border:1px solid #8d742d;border-radius:6px;overflow:hidden;background:#030a11;box-shadow:0 16px 40px #0005}
.work-slides{position:relative;aspect-ratio:16/10;isolation:isolate}
.work-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .65s ease}
.work-slide.is-active{opacity:1;z-index:1}
.slideshow-controls{display:flex;align-items:center;justify-content:center;gap:16px;padding:14px;background:#061321;border-top:1px solid #334150}
.slideshow-controls[hidden]{display:none}
.slideshow-controls button{border:1px solid #8d742d;border-radius:4px;background:transparent;color:var(--gold);font:600 13px Arial,sans-serif;min-height:44px;min-width:44px;padding:8px 14px;cursor:pointer}
.slideshow-controls button:hover{background:#e0b33f20}
.slideshow-controls button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.slide-count{color:#e0e5eb;font-size:13px;font-variant-numeric:tabular-nums}
@media(max-width:520px){.work-preview{padding:44px 5vw}.work-slides{aspect-ratio:4/3}.slideshow-controls{gap:8px}.slideshow-controls button{padding:8px 10px}}
@media(prefers-reduced-motion:reduce){.work-slide{transition:none}}

/* Center the phone header while keeping the established desktop layout. */
@media(max-width:600px){
 .nav{height:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 0;padding:12px 5vw 16px}
 .nav .brand{grid-column:1/-1;grid-row:1;width:min(270px,85vw);height:112px;align-self:center;padding:0 8px;box-shadow:none}
 .nav-left,.nav-right{justify-content:space-evenly;gap:8px;min-width:0}
 .nav a{font-size:11px;letter-spacing:.025em;white-space:nowrap}
 .nav-left>a,.nav-right>a{display:flex;align-items:center;justify-content:center;min-height:44px}
 .nav .active{padding-bottom:0}
}
.service-trigger{display:block;width:100%;border:0;background:none;color:inherit;font:inherit;padding:0;cursor:pointer}
.service-name{display:block;font-size:12px;font-weight:700;min-height:29px;margin:12px 0}
.service-trigger:hover .icon{background:#e0b33f18;box-shadow:0 0 18px #e0b33f25}
.service-trigger:hover .service-name{color:var(--gold)}
a:focus-visible,.service-trigger:focus-visible,.panel-close:focus-visible{outline:2px solid var(--gold);outline-offset:5px}
.service-panel{position:fixed;inset:auto;margin:0;width:min(390px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid var(--gold);border-radius:8px;padding:34px 28px 28px;background:linear-gradient(145deg,#102a43,#061321 75%);color:var(--white);box-shadow:0 18px 65px #0009;text-align:left}
.service-panel::backdrop{background:#01060d80}
.panel-eyebrow{color:var(--gold);font-size:10px;letter-spacing:.12em;margin:9px 0 12px}
.service-panel h2{font:400 27px/1.2 Georgia,serif;color:var(--gold);margin:0 0 18px;padding-right:5px}
.service-panel p,.service-panel li{font-size:14px;line-height:1.65;color:#e0e5eb}
.service-panel p{margin:12px 0}.service-panel ul{padding-left:20px}.service-panel li{margin:9px 0}
.service-panel strong{color:#fff}.service-panel .button{margin-top:8px}
.panel-close{position:absolute;right:5px;top:5px;width:40px;height:40px;border:0;background:transparent;color:var(--gold);font:28px Arial,sans-serif;cursor:pointer}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(max-width:600px){.nav .brand{display:block;height:150px}.nav .brand img{display:block;height:150px;max-width:100%;object-fit:contain}}

/* Complete project portfolio: original slideshow photos, uncropped. */
.project-gallery{align-items:start}
.project-gallery img{display:block;width:100%;height:auto;border:1px solid #6d7780;background:#030a11}

/* Large, equal-size portfolio frames; preserve the entire sign photograph. */
.project-gallery{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:24px}
.project-gallery img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#030a11}
@media(max-width:600px){.project-gallery{grid-template-columns:minmax(0,1fr);gap:20px}}
