
:root{--navy:#0f2a44;--gold:#d4a962;--green:#2e7d32;--ink:#102942}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'Open Sans',Arial,sans-serif;color:var(--ink);background:#fff}a{text-decoration:none;color:inherit}h1,h2,h3,.brand,.btn{font-family:Montserrat,Arial,sans-serif}.wrap{max-width:1250px;padding:0 28px;margin:auto}.header{position:relative;z-index:30;background:white;display:flex;align-items:center;justify-content:space-between;min-height:94px;padding:10px max(22px,calc((100vw - 1240px)/2));box-shadow:0 1px 12px #0f2a4412}.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand img{width:100px;height:66px;object-fit:contain}.brand-wordmark{display:flex;flex-direction:column;white-space:nowrap}.brand-wordmark strong{font-size:17px;font-weight:900;letter-spacing:-.5px;color:var(--navy)}.brand-wordmark small{font-size:7px;font-weight:800;letter-spacing:1px;color:var(--navy);margin-top:7px}.brand-wordmark i{color:var(--gold);font-style:normal}.header nav{display:flex;align-items:center;gap:22px;font:700 11px Montserrat,Arial,sans-serif}.header nav>a.active{border-bottom:2px solid var(--gold);padding-bottom:7px}.nav-cta{background:var(--gold);color:white;padding:16px 18px;border-radius:3px}.menu{display:none}.hero{min-height:610px;height:min(740px,82vh);position:relative;color:white;display:flex;align-items:center;overflow:hidden;background:#0f2a44}.hero-photo{position:absolute;inset:0;background:url('https://images.unsplash.com/photo-1600596542815-ffad4c1539a9?auto=format&fit=crop&w=2200&q=90') center 56%/cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#061c33fa 0%,#092b4bd9 35%,#092b4b65 62%,#061c3312 100%)}.hero-inner{position:relative;width:100%;max-width:1250px;margin:auto;padding:60px 28px}.eyebrow{font:700 12px/1.4 Montserrat,Arial,sans-serif;letter-spacing:1.2px}.hero h1{font-size:clamp(46px,5.7vw,88px);font-weight:900;line-height:1.03;letter-spacing:-2.5px;margin:22px 0 18px}.gold-text{color:var(--gold)}.green-text{color:#61ae6a}.hero p{max-width:410px;font-size:15px;line-height:1.65}.actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:25px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:47px;padding:14px 24px;font-weight:700;font-size:12px;border-radius:3px;cursor:pointer;border:0}.btn.gold{background:#ce9950;color:white}.btn.outline{border:1px solid #fff;color:#fff;background:#10294220}.capability-ribbon{max-width:1250px;margin:auto;display:grid;grid-template-columns:repeat(6,1fr);padding:26px 16px}.capability-ribbon a{text-align:center;font:800 10px/1.45 Montserrat,Arial,sans-serif;border-right:1px solid #d8dee3;padding:0 6px}.capability-ribbon a:last-child{border:0}.capability-ribbon span{display:block;font-size:29px;color:var(--navy);margin-bottom:6px}.services{background:#f7f8fa;padding:42px 0 48px}.section-top{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px}.section-top h2{font:800 clamp(24px,3vw,35px) Montserrat;margin:5px 0}.section-top p{font-size:13px}.kicker{color:#b88139;font:800 10px Montserrat;letter-spacing:2px}.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.service{position:relative;min-height:385px;overflow:hidden;color:white;clip-path:polygon(8% 0,100% 0,92% 100%,0 100%)}.service:first-child{clip-path:polygon(0 0,100% 0,92% 100%,0 100%)}.service:last-child{clip-path:polygon(8% 0,100% 0,100% 100%,0 100%)}.service-bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .5s}.service:hover .service-bg{transform:scale(1.06)}.build .service-bg{background-image:linear-gradient(0deg,#0b2946d9,transparent 80%),url('https://images.unsplash.com/photo-1600596542815-ffad4c1539a9?auto=format&fit=crop&w=700&q=85')}.renovate .service-bg{background-image:linear-gradient(0deg,#ba8035dd,transparent 80%),url('https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=700&q=85')}.restore .service-bg{background-image:linear-gradient(0deg,#155d2fdf,transparent 80%),url('https://images.unsplash.com/photo-1581578731548-c64695cc6952?auto=format&fit=crop&w=700&q=85')}.protect .service-bg{background-image:linear-gradient(0deg,#151c22e8,transparent 80%),url('https://images.unsplash.com/photo-1504307651254-35680f356dfd?auto=format&fit=crop&w=700&q=85')}.service-content{position:absolute;bottom:0;padding:22px 20px 26px 29px}.service-icon{display:flex;align-items:center;justify-content:center;border:1px solid white;border-radius:50%;width:43px;height:43px;font-size:25px;margin-bottom:13px}.service h3{font:800 26px Montserrat;margin:0 0 8px}.service p{font-size:12px;line-height:1.65;margin:0 0 13px}.service a{border:1px solid #fff;border-radius:50%;width:33px;height:33px;display:grid;place-items:center}.detail{padding-top:60px;padding-bottom:60px}.detail h2,.projects h2,.about h2,.contact h2{font:800 clamp(27px,3.4vw,44px)/1.15 Montserrat;margin:12px 0 20px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px}.detail-grid h3{font-size:17px}.detail-grid p{font-size:14px;line-height:1.85;color:#475569}.projects{padding-top:45px;padding-bottom:65px}.projects>p{font-size:12px;color:#677585}.project-images{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.project-images figure{margin:0}.project-images img{width:100%;height:225px;object-fit:cover}.project-images figcaption{font-size:11px;color:#64748b;margin-top:7px}.about{display:grid;grid-template-columns:1fr 1fr;background:#f5f6f7}.about-image{background:url('https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=1000&q=85') center/cover;min-height:450px}.about-copy{padding:65px clamp(25px,6vw,90px)}.about-copy p{font-size:14px;line-height:1.8}.about h2 em{color:#bd8a48;font-style:normal}.qualities{display:grid;gap:14px;font-size:13px;margin:25px 0}.qualities b{color:#bc8b4c;margin-right:12px}.contact{background:var(--navy);color:white;padding:75px 0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.contact h2 span{color:var(--gold)}.contact p{line-height:1.8;color:#d3dde7}.email{font-size:clamp(13px,1.7vw,20px);font-weight:700;color:var(--gold);overflow-wrap:anywhere}.location{font-size:12px}.contact-panel{background:white;color:var(--navy);padding:32px}.contact-panel h3{margin:0 0 10px}.contact-panel p,.contact-panel small{font-size:12px;color:#596b7b}.contact-panel form{display:grid;gap:13px}.contact-panel label{display:grid;gap:6px;font-size:12px;font-weight:700}.contact-panel input,.contact-panel select,.contact-panel textarea{padding:12px;border:1px solid #d2d8df;font:13px 'Open Sans';width:100%}.contact-panel .btn{width:100%}footer{background:#071e34;color:#e8edf2;padding:32px 0}.foot{display:flex;justify-content:space-between;align-items:center;gap:20px}.foot p,.foot small{font-size:10px;letter-spacing:1px}.foot>div:nth-child(2){display:flex;gap:18px;font-size:12px}@media(max-width:900px){.header nav{gap:10px}.brand img{width:70px}.brand-wordmark strong{font-size:12px}.brand-wordmark small{font-size:5px}.header nav a{font-size:9px}.service{min-height:330px}.service h3{font-size:20px}.service-content{padding:20px}}@media(max-width:680px){.header{min-height:84px;padding:8px 14px}.brand img{width:76px;height:60px}.brand-wordmark strong{font-size:13px}.brand-wordmark small{font-size:5.4px}.menu{display:block;border:1px solid #b7c1c9;background:white;color:var(--navy);font-size:22px;padding:8px 12px}.header nav{display:none;position:absolute;top:84px;left:0;right:0;background:white;padding:20px;box-shadow:0 12px 15px #0002;flex-direction:column;align-items:stretch}.header nav.open{display:flex}.header nav a{font-size:12px;padding:8px}.hero{min-height:630px;height:auto}.hero-inner{padding:70px 23px 75px}.hero-shade{background:linear-gradient(90deg,#061c33f7 0%,#092b4bca 68%,#061c3355)}.hero h1{font-size:clamp(44px,12vw,68px);letter-spacing:-2px}.hero p{font-size:14px}.capability-ribbon{grid-template-columns:repeat(3,1fr);gap:20px 0;padding:24px 10px}.capability-ribbon a:nth-child(3){border:0}.capability-ribbon a{font-size:8px}.capability-ribbon span{font-size:25px}.section-top{display:block}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.service{min-height:315px;clip-path:none!important}.service-content{padding:15px}.service h3{font-size:21px}.service p{font-size:10px}.service-icon{width:33px;height:33px;font-size:19px}.detail-grid,.contact-grid,.about{grid-template-columns:1fr}.about-image{min-height:280px}.about-copy{padding:40px 24px}.project-images{grid-template-columns:1fr 1fr}.project-images figure:last-child{display:none}.project-images img{height:150px}.foot{flex-direction:column;align-items:start}.contact{padding:50px 0}.contact-panel{padding:22px}.wrap{padding-left:20px;padding-right:20px}}
/* Approved Theme 1 design fidelity: desktop and iPhone */
:root{--gold:#d3a258}
.header{min-height:86px;box-shadow:0 2px 14px #0c25400e}
.brand img{width:96px;height:62px}
.hero{height:min(690px,78vh);min-height:570px}
.hero-photo{background-position:center 51%}
.hero-shade{background:linear-gradient(90deg,rgba(3,25,48,.96) 0%,rgba(5,32,57,.88) 29%,rgba(6,33,58,.42) 60%,rgba(6,33,58,.03) 100%)}
.hero h1{font-size:clamp(50px,6vw,88px);line-height:1.035;letter-spacing:-2.8px}
.hero-inner{padding-top:48px;padding-bottom:48px}
.hero .eyebrow{font-size:12px;line-height:1.55;letter-spacing:1.3px}
.hero .btn.gold,.nav-cta{background:#d2a25a}
.capability-ribbon{padding-top:22px;padding-bottom:22px}
.services{background:#fff;padding:0 0 40px}
.services .section-top{padding:30px 0 20px}
.services .service-grid{gap:0;overflow:hidden;isolation:isolate}
.service{min-height:360px;margin-left:-13px;clip-path:polygon(11% 0,100% 0,89% 100%,0 100%)!important}
.service:first-child{margin-left:0;clip-path:polygon(0 0,100% 0,89% 100%,0 100%)!important}
.service:last-child{clip-path:polygon(11% 0,100% 0,100% 100%,0 100%)!important}
.service-content{padding:25px 20px 24px 34px}
.service h3{font-size:23px}
.service p{font-size:12px;line-height:1.5}
.service-bg{background-position:center!important}
.service.build .service-bg{background-position:60% center!important}
.service.protect .service-bg{background-position:54% center!important}
.projects{padding-top:35px;padding-bottom:42px}
.project-images img{height:220px}
.about{background:#092d4d;color:white;display:block}
.about-image{display:none}
.about-copy{max-width:1250px;margin:auto;padding:40px 28px}
.about-copy h2{font-size:31px;margin-bottom:10px}
.about-copy p{max-width:650px;color:#e5ebf0}
.about h2 em{color:#d5aa66}
.qualities{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.qualities>div{border-left:1px solid #ffffff38;padding:10px 12px;font-weight:700}
.qualities b{display:block;font-size:21px;margin-bottom:8px}
@media(max-width:680px){
 .header{min-height:76px;padding:7px 15px}
 .brand{gap:7px}
 .brand img{width:69px;height:52px}
 .brand-wordmark strong{font-size:12px;letter-spacing:-.3px}
 .brand-wordmark small{font-size:5px;letter-spacing:.45px}
 .header nav{top:76px}
 .menu{border:0;background:transparent;font-size:24px}
 .hero{height:auto;min-height:610px}
 .hero-photo{background-position:59% center}
 .hero-shade{background:linear-gradient(90deg,rgba(3,24,47,.96),rgba(5,29,52,.76) 60%,rgba(5,29,52,.33))}
 .hero-inner{padding:56px 23px 54px}
 .hero h1{font-size:clamp(42px,11.6vw,67px);letter-spacing:-1.8px;margin:22px 0 16px}
 .hero .eyebrow{font-size:10px}
 .hero p{font-size:13px;max-width:305px}
 .hero .actions{gap:10px}
 .hero .btn{padding:12px 15px;min-height:44px;font-size:10px}
 .capability-ribbon{grid-template-columns:repeat(3,1fr);padding:18px 8px;gap:15px 0}
 .capability-ribbon span{font-size:25px}
 .services{padding-bottom:25px}
 .services .section-top{padding:27px 0 18px}
 .section-top h2{font-size:25px}
 .section-top p{font-size:11px}
 /* Diagonal division cards rather than rectangular 2x2 tiles */
 .services .wrap{padding:0}
 .services .section-top{padding-left:20px;padding-right:20px}
 .services .service-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:0 8px}
 .service{min-height:330px;margin:0 -3px 0 0;clip-path:polygon(0 0,100% 0,88% 100%,0 100%)!important}
 .service:nth-child(even){clip-path:polygon(12% 0,100% 0,100% 100%,0 100%)!important;margin-left:-6px}
 .service:first-child{clip-path:polygon(0 0,100% 0,88% 100%,0 100%)!important}
 .service:last-child{clip-path:polygon(12% 0,100% 0,100% 100%,0 100%)!important}
 .service-content{padding:13px 10px 20px 17px}
 .service:nth-child(even) .service-content{padding-left:25px}
 .service h3{font-size:21px}
 .service p{font-size:10px;line-height:1.55}
 .service-icon{width:37px;height:37px;margin-bottom:12px}
 .service a{width:31px;height:31px}
 .projects{padding-top:25px}
 .project-images{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
 .project-images figure:last-child{display:block}
 .project-images img{height:105px}
 .project-images figcaption{font-size:8px}
 .about-copy{padding:33px 20px}
 .about-copy h2{font-size:26px}
 .qualities{grid-template-columns:repeat(2,1fr);gap:8px}
 .qualities>div{font-size:11px}
}
@media(max-width:380px){
 .service{min-height:305px}
 .service-content{padding-left:12px}
 .service:nth-child(even) .service-content{padding-left:21px}
 .service h3{font-size:19px}
 .service p{font-size:9px}
}

/* Refined premium calls-to-action: no emoji arrows or circular arrow icons */
.btn, .nav-cta, .contact-panel button{
  border-radius:5px!important;
  box-shadow:none!important;
  font-weight:700!important;
  letter-spacing:.045em!important;
  text-transform:none!important;
  transition:background .2s ease, transform .2s ease, border-color .2s ease!important;
}
.btn:hover,.nav-cta:hover,.contact-panel button:hover{transform:translateY(-2px)}
.btn.gold,.nav-cta,.contact-panel .btn.gold{background:#cba05e!important;color:#102b43!important}
.btn.gold:hover,.nav-cta:hover{background:#ddb879!important}
.btn.outline{background:transparent!important;border:1px solid rgba(255,255,255,.78)!important;color:white!important}
.btn.outline:hover{background:rgba(255,255,255,.1)!important}
.service-content>a{
  width:auto!important;height:auto!important;min-width:0!important;
  border:0!important;border-bottom:1px solid rgba(255,255,255,.85)!important;
  border-radius:0!important;padding:0 0 5px!important;
  display:inline-flex!important;align-items:center!important;justify-content:flex-start!important;
  font-size:10px!important;font-weight:800!important;letter-spacing:.11em!important;
  color:white!important;text-decoration:none!important;background:none!important;
}
.service-content>a:hover{border-bottom-color:#d6aa67!important;color:#f0ca91!important}
.email{overflow-wrap:anywhere}
@media(max-width:680px){
 .btn{padding:13px 18px!important;font-size:11px!important;min-height:45px}
 .contact-panel button.btn{width:100%;justify-content:center}
}

/* Architectural geometry and restrained kinetic effects */
:root{--motion-ease:cubic-bezier(.22,1,.36,1)}
.hero{isolation:isolate}
.hero-photo{transform:scale(1.045);animation:hero-drift 19s ease-in-out infinite alternate;will-change:transform}
@keyframes hero-drift{to{transform:scale(1.105) translate3d(-1%,.7%,0)}}
.hero::before{content:"";position:absolute;z-index:1;pointer-events:none;inset:0;background:repeating-linear-gradient(121deg,transparent 0,transparent 170px,rgba(255,255,255,.095) 171px,transparent 172px,transparent 330px);opacity:.42;mask-image:linear-gradient(90deg,transparent 20%,black 85%)}
.hero::after{content:"";position:absolute;z-index:1;pointer-events:none;right:-6%;top:-20%;height:135%;width:31%;border-left:1px solid rgba(212,169,98,.36);transform:skewX(-18deg);box-shadow:-28px 0 0 -27px rgba(255,255,255,.25),-95px 0 0 -94px rgba(212,169,98,.25)}
.hero-inner{z-index:2}
.hero h1 span{display:inline-block;animation:headline-in .9s var(--motion-ease) both}
.hero h1 span:nth-of-type(2){animation-delay:.12s}
.hero h1 span:nth-of-type(3){animation-delay:.24s}
.hero h1 span:nth-of-type(4){animation-delay:.36s}
@keyframes headline-in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
.btn,.nav-cta,.contact-panel button.btn{clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%);border-radius:0!important;position:relative;overflow:hidden}
.btn::after,.nav-cta::after{content:"";position:absolute;inset:0;transform:translateX(-115%) skewX(-25deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.19),transparent);transition:transform .65s ease;pointer-events:none}
.btn:hover::after,.nav-cta:hover::after{transform:translateX(115%) skewX(-25deg)}
.btn:focus-visible,.nav-cta:focus-visible,.service a:focus-visible{outline:3px solid #e9bc76;outline-offset:4px}
.capability-ribbon{position:relative;isolation:isolate}
.capability-ribbon::after{content:"";position:absolute;bottom:0;left:0;width:100%;height:3px;background:linear-gradient(100deg,var(--navy) 0 33%,var(--gold) 33% 66%,var(--green) 66%)}
.services{position:relative}
.services::before{content:"";position:absolute;right:0;top:0;width:33%;height:90px;background:linear-gradient(135deg,transparent 0 64%,rgba(212,169,98,.10) 64% 65%,transparent 65%);pointer-events:none}
.service{isolation:isolate;transition:filter .4s var(--motion-ease)}
.service-bg{transition:transform .8s var(--motion-ease),filter .8s var(--motion-ease)!important;transform:scale(1.01)}
.service:hover .service-bg,.service:focus-within .service-bg{transform:scale(1.10);filter:saturate(1.14)}
.service-content{transition:transform .5s var(--motion-ease)}
.service:hover .service-content{transform:translateY(-7px)}
.service::after{content:"";position:absolute;top:0;right:16%;width:1px;height:42%;background:linear-gradient(rgba(255,255,255,.48),transparent);transform:skewX(-13deg);pointer-events:none}
.detail{position:relative;overflow:hidden}
.detail::after{content:"";position:absolute;right:-9%;top:0;width:32%;height:100%;border-left:1px solid rgba(15,42,68,.09);transform:skewX(-19deg);pointer-events:none}
.projects{position:relative}
.project-images figure{overflow:hidden;position:relative}
.project-images figure img{transition:transform .7s var(--motion-ease);display:block}
.project-images figure:hover img{transform:scale(1.065)}
.project-images figure::before{content:"";position:absolute;z-index:1;left:0;top:0;width:36px;height:3px;background:var(--gold);pointer-events:none}
.about{position:relative;overflow:hidden}
.about::after{content:"";position:absolute;right:-12%;top:-40%;width:34%;height:180%;border-left:1px solid rgba(255,255,255,.12);border-right:1px solid rgba(212,169,98,.24);transform:skewX(-17deg);pointer-events:none}
.contact{position:relative;overflow:hidden}
.contact::before{content:"";position:absolute;right:-10%;top:-100px;width:32%;height:700px;transform:skewX(-19deg);border-left:1px solid rgba(212,169,98,.24);background:linear-gradient(90deg,rgba(255,255,255,.025),transparent);pointer-events:none}
.contact-panel{position:relative;box-shadow:12px 12px 0 rgba(212,169,98,.10);clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,0 100%)}
.contact-panel input:focus,.contact-panel select:focus,.contact-panel textarea:focus{outline:2px solid var(--gold);outline-offset:1px}
.js-motion .reveal{opacity:0;transform:translateY(28px);transition:opacity .75s var(--motion-ease),transform .75s var(--motion-ease)}
.js-motion .reveal.is-visible{opacity:1;transform:translateY(0)}
.js-motion .service.reveal:nth-child(2),.js-motion .project-images figure.reveal:nth-child(2){transition-delay:.09s}
.js-motion .service.reveal:nth-child(3),.js-motion .project-images figure.reveal:nth-child(3){transition-delay:.16s}
.js-motion .service.reveal:nth-child(4){transition-delay:.23s}
@media(max-width:680px){
 .hero::before{opacity:.30;background:repeating-linear-gradient(121deg,transparent 0,transparent 105px,rgba(255,255,255,.08) 106px,transparent 107px,transparent 210px)}
 .hero::after{right:-19%;width:38%;opacity:.7}
 .service:hover .service-content{transform:none}
 .contact-panel{box-shadow:6px 6px 0 rgba(212,169,98,.08)}
 .js-motion .reveal{transform:translateY(16px)}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .js-motion .reveal{opacity:1!important;transform:none!important}
 .hero-photo{transform:none!important}
}

/* V4: stronger architectural light lines, dual-cut buttons, intact outlined edges */
.hero::before{
 opacity:1!important;
 background:
   linear-gradient(121deg,transparent 0 45%,rgba(255,236,185,.0) 46%,rgba(255,227,156,.26) 46.15%,rgba(255,250,229,.88) 46.38%,rgba(241,190,95,.26) 46.65%,transparent 47.4%),
   repeating-linear-gradient(121deg,transparent 0 143px,rgba(245,201,119,.0) 144px,rgba(245,201,119,.32) 145px,rgba(255,245,222,.46) 146px,transparent 148px,transparent 290px)!important;
 mask-image:linear-gradient(90deg,transparent 4%,#000 54%,#000 100%)!important;
 filter:drop-shadow(0 0 8px rgba(244,200,114,.55));
 animation:architectural-light 9s ease-in-out infinite alternate;
}
.hero::after{
 border-left:2px solid rgba(255,218,142,.76)!important;
 box-shadow:-2px 0 12px 1px rgba(238,179,88,.40),-28px 0 0 -27px rgba(255,255,255,.40),-95px 0 0 -94px rgba(212,169,98,.5)!important;
}
@keyframes architectural-light{0%{opacity:.55}50%{opacity:.98}100%{opacity:.70}}
/* Cut the top-right and bottom-left corners more decisively. */
.btn,.nav-cta,.contact-panel button.btn{
 --cut:19px;
 clip-path:polygon(0 0,calc(100% - var(--cut)) 0,100% var(--cut),100% 100%,var(--cut) 100%,0 calc(100% - var(--cut)))!important;
 border:0!important;
 isolation:isolate;
}
/* The outlined CTA gets its border from a white polygon with a smaller dark inset polygon.
   A CSS border on a clipped element gets sliced off, which caused the broken white outline. */
.btn.outline{
 background:rgba(255,255,255,.90)!important;
 padding:2px!important;
 color:white!important;
 min-height:47px;
}
.btn.outline::before{
 content:"";
 position:absolute;
 z-index:0;
 inset:2px;
 background:rgba(8,31,53,.96);
 clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px));
 pointer-events:none;
}
.btn.outline>span{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;padding:12px 22px;min-height:43px;white-space:nowrap}
.btn.outline:hover{background:#f1c681!important}
.btn.outline:hover::before{background:rgba(12,46,75,.95)}
.btn.outline::after{z-index:1}
.btn.gold,.nav-cta{box-shadow:0 0 18px rgba(209,161,81,.15)!important}
.btn.gold:hover,.nav-cta:hover{filter:drop-shadow(0 0 9px rgba(218,174,98,.38))}
@media(max-width:680px){
 .hero::before{
   background:linear-gradient(121deg,transparent 0 51%,rgba(255,228,162,.25) 51.1%,rgba(255,248,225,.86) 51.4%,rgba(241,190,95,.18) 51.8%,transparent 52.5%),repeating-linear-gradient(121deg,transparent 0 108px,rgba(255,226,162,.24) 109px,rgba(255,250,230,.48) 110px,transparent 112px,transparent 210px)!important;
   mask-image:linear-gradient(90deg,transparent 0%,#000 48%,#000 100%)!important;
 }
 .hero::after{right:-21%;opacity:.88!important}
 .btn,.nav-cta,.contact-panel button.btn{--cut:16px}
 .btn.outline{padding:2px!important}
 .btn.outline>span{padding:10px 13px;min-height:41px;font-size:11px}
}
@media(prefers-reduced-motion:reduce){.hero::before{animation:none!important}}


/* V5 — matched diagonal edges on BOTH sides, including portfolio photography */
.service-grid{gap:0!important;overflow:visible!important;isolation:isolate}
.service{margin-left:-8px!important;clip-path:polygon(9% 0,100% 0,91% 100%,0 100%)!important;position:relative}
.service:first-child{margin-left:0!important;clip-path:polygon(0 0,100% 0,91% 100%,0 100%)!important}
.service:last-child{clip-path:polygon(9% 0,100% 0,100% 100%,0 100%)!important}
/* Light-catching diagonal accents on photo panels. */
.service::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(107deg,transparent 0 10%,rgba(255,231,173,.13) 10.3%,rgba(255,250,235,.46) 10.6%,transparent 11%),linear-gradient(107deg,transparent 0 87%,rgba(245,192,94,.23) 87.3%,rgba(255,255,255,.46) 87.6%,transparent 88%);opacity:.8;animation:architectural-light 9s ease-in-out infinite alternate}
.service-content{z-index:2}
/* Three gallery photographs share the architectural slant, without cropping captions. */
.project-images{gap:0!important;overflow:visible;isolation:isolate}
.project-images figure{position:relative;margin-left:-6px!important;overflow:visible!important}
.project-images figure:first-child{margin-left:0!important}
.project-images figure img{clip-path:polygon(8% 0,100% 0,92% 100%,0 100%);height:225px;width:100%;object-fit:cover;display:block}
.project-images figure:first-child img{clip-path:polygon(0 0,100% 0,92% 100%,0 100%)}
.project-images figure:last-child img{clip-path:polygon(8% 0,100% 0,100% 100%,0 100%)}
.project-images figure::before{z-index:2!important;top:0;left:9%!important;width:45px!important;height:2px!important;box-shadow:0 0 9px rgba(222,175,96,.65)}
.project-images figure::after{content:"";position:absolute;top:0;left:9%;height:calc(100% - 25px);width:2px;transform:skewX(-10deg);background:linear-gradient(180deg,rgba(255,244,218,.55),transparent 70%);box-shadow:0 0 8px rgba(227,181,108,.3);pointer-events:none;z-index:2}
.project-images figcaption{padding:5px 9px 0}
/* A unified illuminated architectural line language across all sections. */
.capability-ribbon,.detail,.projects,.about,.contact,footer{isolation:isolate;position:relative}
.capability-ribbon::before,.detail::before,.projects::after,.about::before,.contact::after,footer::before{
 content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
 background:linear-gradient(108deg,transparent 0 77%,rgba(208,161,83,.12) 77.1%,rgba(250,215,151,.45) 77.3%,rgba(222,170,86,.11) 77.5%,transparent 77.8%),linear-gradient(108deg,transparent 0 91%,rgba(219,172,99,.13) 91.1%,rgba(255,241,209,.37) 91.3%,transparent 91.6%);
 filter:drop-shadow(0 0 5px rgba(216,167,85,.28));animation:architectural-light 11s ease-in-out infinite alternate
}
.capability-ribbon>* , .detail>* , .projects>* , .about>* , .contact>* , footer>*{position:relative;z-index:1}
.about::after,.contact::before,.detail::after{border-left:2px solid rgba(226,180,102,.43)!important;box-shadow:-2px 0 12px rgba(221,167,85,.27)!important}
footer{overflow:hidden}
footer::before{background:linear-gradient(109deg,transparent 0 16%,rgba(245,194,110,.22) 16.15%,rgba(255,242,215,.65) 16.32%,transparent 16.6%),linear-gradient(109deg,transparent 0 85%,rgba(232,178,91,.16) 85.1%,rgba(255,239,202,.4) 85.3%,transparent 85.6%)}
footer .foot{position:relative;z-index:1}
@media(max-width:680px){
 .service-grid{padding:0 8px!important}
 .service{margin-left:-5px!important;margin-right:0!important;clip-path:polygon(10% 0,100% 0,90% 100%,0 100%)!important}
 .service:nth-child(odd){margin-left:0!important;clip-path:polygon(0 0,100% 0,90% 100%,0 100%)!important}
 .service:nth-child(even){margin-left:-5px!important;clip-path:polygon(10% 0,100% 0,100% 100%,0 100%)!important}
 .service::before{opacity:.52}
 .project-images{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:0!important}
 .project-images figure{margin-left:-4px!important}
 .project-images figure:first-child{margin-left:0!important}
 .project-images figure img{height:112px!important}
 .project-images figcaption{font-size:8px;line-height:1.35}
 .project-images figure::after{height:112px}
 .capability-ribbon::before,.detail::before,.projects::after,.about::before,.contact::after,footer::before{opacity:.8}
}
@media(prefers-reduced-motion:reduce){.service::before,.capability-ribbon::before,.detail::before,.projects::after,.about::before,.contact::after,footer::before{animation:none!important}}

/* v6: precise dual-side diagonal cuts on every service card, including mobile. */
.services .service-grid{gap:8px!important;overflow:visible!important;padding:0 8px!important}
.services .service-grid>.service,
.services .service-grid>.service:first-child,
.services .service-grid>.service:last-child,
.services .service-grid>.service:nth-child(odd),
.services .service-grid>.service:nth-child(even){
 margin:0!important;
 clip-path:polygon(9% 0,100% 0,91% 100%,0 100%)!important;
 -webkit-clip-path:polygon(9% 0,100% 0,91% 100%,0 100%)!important;
}
/* Keep the artwork and labels inside both sloping edges. */
.services .service-content,.services .service:nth-child(even) .service-content{padding-left:clamp(19px,3.5vw,38px)!important;padding-right:17px!important}
/* Delicate dividers and enquiry underline, rather than heavy button-like strokes. */
.service-content>a{border-bottom:1px solid rgba(255,255,255,.50)!important;padding-bottom:4px!important;box-shadow:none!important}
.service-icon{border-width:1px!important;border-color:rgba(255,255,255,.64)!important}
.capability-ribbon a{border-right:1px solid rgba(15,42,68,.13)!important}
.capability-ribbon a:last-child{border-right:0!important}
@media(max-width:680px){
 .services .service-grid{gap:7px!important;padding:0 9px!important}
 .services .service-grid>.service,
 .services .service-grid>.service:first-child,
 .services .service-grid>.service:last-child,
 .services .service-grid>.service:nth-child(odd),
 .services .service-grid>.service:nth-child(even){
  clip-path:polygon(10% 0,100% 0,90% 100%,0 100%)!important;
  -webkit-clip-path:polygon(10% 0,100% 0,90% 100%,0 100%)!important;
 }
 .services .service-content,.services .service:nth-child(even) .service-content{padding-left:21px!important;padding-right:10px!important}
 .capability-ribbon a:nth-child(3){border-right:0!important}
}

/* v7 — very quiet service action/icon outlines and consistent two-sided photo geometry. */
.services .service-icon{
 border: .5px solid rgba(255,255,255,.19)!important;
 box-shadow:none!important;
 background:rgba(255,255,255,.025)!important;
 color:rgba(255,255,255,.82)!important;
}
.services .service-content>a{
 border-bottom: .5px solid rgba(255,255,255,.20)!important;
 box-shadow:none!important;
 text-decoration:none!important;
}
.services .service-content>a:hover{border-bottom-color:rgba(255,255,255,.45)!important}
/* The image itself gets both slanted edges. Remove the previous first/last square-edge overrides. */
.projects .project-images figure img,
.projects .project-images figure:first-child img,
.projects .project-images figure:last-child img{
 clip-path:polygon(9% 0,100% 0,91% 100%,0 100%)!important;
 -webkit-clip-path:polygon(9% 0,100% 0,91% 100%,0 100%)!important;
}
.projects .project-images{gap:9px!important}
.projects .project-images figure,
.projects .project-images figure:first-child,
.projects .project-images figure:last-child{margin-left:0!important}
/* Match the existing fine illuminated diagonal treatment without overpowering the photos. */
.projects .project-images figure::after{
 left:8%!important;
 width:1px!important;
 background:linear-gradient(180deg,rgba(255,243,216,.3),rgba(218,173,105,.12) 65%,transparent)!important;
 box-shadow:0 0 6px rgba(223,176,98,.15)!important;
}
.projects .project-images figure::before{height:1px!important;opacity:.35!important}
@media(max-width:680px){
 .projects .project-images{gap:5px!important}
 .projects .project-images figure,
 .projects .project-images figure:first-child,
 .projects .project-images figure:last-child{margin-left:0!important}
 .projects .project-images figure img,
 .projects .project-images figure:first-child img,
 .projects .project-images figure:last-child img{
  clip-path:polygon(11% 0,100% 0,89% 100%,0 100%)!important;
  -webkit-clip-path:polygon(11% 0,100% 0,89% 100%,0 100%)!important;
 }
}

/* v8: hairline CTA border, and diffuse only the excessively sharp light streaks. */
.btn.outline{
  padding:1px!important;
  background:rgba(255,255,255,.38)!important;
  min-height:45px!important;
  border:0!important;
  filter:none!important;
  box-shadow:none!important;
}
.btn.outline::before{
  inset:1px!important;
  background:rgba(8,31,53,.93)!important;
  clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px))!important;
}
.btn.outline>span{min-height:42px!important;padding:11px 21px!important}
.btn.outline:hover{background:rgba(255,237,204,.66)!important}
/* Preserve the glow, lower contrast on the hardest white/gold rays. */
.hero::before{
 background:
   linear-gradient(121deg,transparent 0 45%,rgba(255,227,156,.09) 46.1%,rgba(255,247,225,.32) 46.38%,rgba(241,190,95,.12) 46.65%,transparent 47.4%),
   repeating-linear-gradient(121deg,transparent 0 143px,rgba(245,201,119,.08) 145px,rgba(255,245,222,.23) 146px,transparent 149px,transparent 290px)!important;
 filter:blur(.6px) drop-shadow(0 0 6px rgba(244,200,114,.26))!important;
}
.hero::after{
 border-left:1px solid rgba(255,218,142,.34)!important;
 box-shadow:-2px 0 10px rgba(238,179,88,.19),-28px 0 0 -27px rgba(255,255,255,.19),-95px 0 0 -94px rgba(212,169,98,.21)!important;
 opacity:.72!important;
}
.capability-ribbon::before,.detail::before,.projects::after,.about::before,.contact::after,footer::before{
 opacity:.48!important;
 filter:blur(.75px) drop-shadow(0 0 5px rgba(216,167,85,.13))!important;
}
.about::after,.contact::before,.detail::after{
 border-left:1px solid rgba(226,180,102,.18)!important;
 box-shadow:-2px 0 8px rgba(221,167,85,.12)!important;
}
footer::before{opacity:.38!important}
@media(max-width:680px){
 .btn.outline{padding:1px!important}
 .btn.outline>span{padding:10px 13px!important;min-height:41px!important}
 .hero::before{
  background:linear-gradient(121deg,transparent 0 51%,rgba(255,228,162,.1) 51.1%,rgba(255,248,225,.31) 51.4%,rgba(241,190,95,.08) 51.8%,transparent 52.5%),repeating-linear-gradient(121deg,transparent 0 108px,rgba(255,226,162,.09) 109px,rgba(255,250,230,.22) 110px,transparent 113px,transparent 210px)!important;
 }
}
