/* 2026 architectural portfolio enhancement */
:root{--gold:#b99b70}
html{scroll-behavior:smooth}body{overflow-x:hidden}button,a{transition:color .25s ease,border-color .25s ease,background .25s ease}button{cursor:pointer}
#preloader{position:fixed;inset:0;z-index:9999;background:#101113;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;transition:opacity .65s ease,visibility .65s ease}#preloader.loaded{opacity:0;visibility:hidden;pointer-events:none}.preloader-mark{font:italic 50px Georgia,serif;color:#c5ae8a;letter-spacing:-.1em}.preloader-mark img{width:90px;height:90px;object-fit:contain}.preloader-name{font:500 12px Manrope,sans-serif;letter-spacing:.36em;color:#e6dccd}.preloader-line{height:1px;width:125px;background:linear-gradient(90deg,transparent,#c5ae8a,transparent);animation:preload 1.8s ease-in-out infinite}@keyframes preload{0%,100%{opacity:.3;transform:scaleX(.45)}50%{opacity:1;transform:scaleX(1)}}#scrollProgress{position:fixed;top:0;left:0;width:0;height:2px;background:#b99b70;z-index:1000;pointer-events:none}
.mobile-menu-btn{display:none}.hero-fullscreen .cta,.inquiry .cta{background:transparent!important;border:1px solid #a58d6d!important;color:#b99b70!important;box-shadow:none!important;letter-spacing:.12em}.hero-fullscreen .cta:hover,.inquiry .cta:hover{background:#b99b701a!important;border-color:#dbc49c!important;color:#e4d1ae!important}.hero-controls #heroDots{display:block;font:500 12px Manrope,sans-serif;letter-spacing:.22em;white-space:nowrap;color:#eee}.hero-slide{will-change:opacity,transform}.hero-content{animation:hero-intro 1.1s ease both}@keyframes hero-intro{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
.filter-sub{display:flex;gap:12px;margin:-14px 0 30px;flex-wrap:wrap}.filter-sub select{background:#171819;border:1px solid #45403a;color:#d5c7b2;padding:11px 15px;min-width:195px;font-size:12px;letter-spacing:.05em}
.about-editorial{display:grid;grid-template-columns:1fr 1fr;gap:22px 8%;align-items:start;padding-top:110px!important;padding-bottom:110px!important}.about-editorial .eyebrow{grid-column:1/-1}.about-editorial .abouttitle{margin:0;line-height:1.15}.about-copy{font-size:16px;line-height:1.95;color:#bbb7b1}.about-copy p:first-child{margin-top:0}.optional-section{padding-top:80px!important;padding-bottom:80px!important}.optional-section .eyebrow{margin-bottom:24px}.spotlight-card{position:relative;display:block;width:100%;padding:0;border:0;background:#161616;text-align:left;overflow:hidden}.spotlight-card img{width:100%;height:min(60vw,650px);object-fit:cover;display:block;filter:brightness(.75);transition:transform .7s ease}.spotlight-card:hover img{transform:scale(1.025)}.spotlight-card span{position:absolute;bottom:35px;left:35px;color:#fff;font-size:clamp(24px,4vw,52px);text-shadow:0 2px 14px #000}.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 40px}.services-grid div{padding:20px 0;border-bottom:1px solid #4b4439;font-size:clamp(16px,2vw,25px)}.testimonial{padding:25px;border-left:1px solid var(--gold);font-size:18px;color:#e3dbcf}.project-extra{margin:55px 0;padding-top:28px;border-top:1px solid #51473a}.project-extra p{white-space:pre-line;line-height:1.85}.material-pills{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.material-pills span{padding:12px 16px;border:1px solid #645746;color:#d7c2a0}.floorplan{position:relative;max-width:950px;margin:20px auto}.floorplan>img{display:block;width:100%;height:auto}.floorpoint{position:absolute;transform:translate(-50%,-50%);border-radius:50%;background:#161616e6;border:1px solid #c5ae8a;color:#e7d3ae;width:36px;height:36px;box-shadow:0 0 0 7px #c5ae8a26}.signature-line{font-style:italic;color:#c5ae8a!important}.next-project{background:transparent;border:1px solid #6d5b43;color:#c5ae8a;padding:18px 24px;text-align:left}.fullscreen-btn{background:transparent;border:1px solid #5d5347;color:#c5ae8a;padding:10px 15px;font-size:11px;letter-spacing:.1em;margin:12px 0}.gallery.full-bleed{max-width:none;width:calc(100vw - 10vw);margin-left:50%;transform:translateX(-50%)}.gallery-stage:fullscreen{background:#101113;display:flex;align-items:center;justify-content:center}.gallery-stage:fullscreen img{object-fit:contain;max-width:100%;max-height:100vh}
.inquiry{max-width:850px;margin:35px auto;text-align:left}.inquiry label{font-size:12px;letter-spacing:.08em;color:#c5ae8a;display:block}.inquiry input,.inquiry textarea,.inquiry select{display:block;width:100%;background:#171819;border:1px solid #554c40;color:white;padding:13px;margin:10px 0 18px;font:inherit}.inquiry textarea{min-height:95px}.inquiry .cta{margin-top:10px}.footer-signature{width:100%;font:600 clamp(55px,12vw,190px) Manrope,sans-serif;letter-spacing:-.085em;line-height:.9;color:transparent;-webkit-text-stroke:1px #5d554b;opacity:.65;pointer-events:none}footer{flex-wrap:wrap}footer .footer-signature+span{flex:1}
.glass-enabled header{background:#151617d9!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.blueprint-enabled #about{background-image:linear-gradient(#c5ae8a08 1px,transparent 1px),linear-gradient(90deg,#c5ae8a08 1px,transparent 1px);background-size:55px 55px}.hairlines-enabled .sectionhead{border-bottom:1px solid #8d765344;padding-bottom:20px}.hover-enabled .project{overflow:hidden}.hover-enabled .project>img{transition:transform .65s ease,filter .65s ease}.hover-enabled .project:hover>img{transform:scale(1.025);filter:brightness(.85)}.transitions-enabled .optional-section{border-top:1px solid #c5ae8a18}.typography-enabled h1,.typography-enabled h2{letter-spacing:-.045em}.editorial-enabled #servicesSection{margin-left:auto;margin-right:auto}
.feature-switches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px}.feature-toggle{display:flex;align-items:center;gap:10px;font-size:13px;padding:10px 0;color:#ddd}.extra-panel{margin:25px 0;padding:20px;border:1px solid #534a3d}.extra-panel h3{font-size:16px;letter-spacing:.1em;color:#c5ae8a}
@media(max-width:700px){header{z-index:50}.mobile-menu-btn{display:block;margin-left:auto;background:transparent;border:1px solid #6d5b43;color:#e0cba8;font-size:22px;padding:3px 12px}header nav#mainNav{display:none;position:absolute;top:100%;left:0;right:0;padding:25px 6%;background:#151617f7;border-bottom:1px solid #6d5b43;flex-direction:column;align-items:flex-start;gap:25px;z-index:40}header nav#mainNav.open{display:flex}.nav-contact .contact-menu{left:0;right:auto}.hero-fullscreen{aspect-ratio:auto;min-height:70svh;padding:90px 7% 85px;display:flex;align-items:center}.hero-fullscreen .hero-content{max-width:100%}.hero-fullscreen h1{font-size:clamp(36px,9vw,58px);line-height:1.08}.hero-fullscreen .hero-content p{font-size:13px;max-width:300px}.hero-fullscreen .eyebrow{font-size:9px;letter-spacing:.12em}.hero-fullscreen .cta{font-size:11px;padding:13px 18px;display:inline-flex}.hero-slide{background-image:var(--mobile-hero,var(--fallback-image))!important;background-position:center!important}.hero-controls{bottom:23px;gap:22px}.hero-controls>button{font-size:30px}.about-editorial{grid-template-columns:1fr;gap:22px;padding-top:65px!important;padding-bottom:65px!important}.about-editorial .eyebrow{grid-column:auto}.about-copy{font-size:14px}.services-grid{grid-template-columns:1fr}.spotlight-card img{height:330px}.spotlight-card span{left:18px;bottom:20px}.feature-switches{grid-template-columns:1fr}.filter-sub select{flex:1;min-width:130px}.footer-signature{font-size:18vw}.gallery.full-bleed{width:94vw}.preloader-name{letter-spacing:.2em}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Round 3: gallery controls, transitions and architectural presentation */
.gallery-stage{isolation:isolate}.gallery-stage .gallery-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .55s ease!important;animation:none!important;pointer-events:none}.gallery-stage .gallery-photo.visible{opacity:1}.fullscreen-controls,.fullscreen-close{display:none}.gallery-stage:fullscreen{background:#101113;width:100vw;height:100vh;aspect-ratio:auto;display:flex;align-items:center;justify-content:center}.gallery-stage:fullscreen .gallery-photo{object-fit:contain}.gallery-stage:fullscreen .fullscreen-controls{display:flex;position:absolute;inset:0;align-items:center;justify-content:space-between;pointer-events:none;z-index:3}.gallery-stage:fullscreen .fullscreen-arrow{pointer-events:auto;background:#141414b5;color:#e2c596;border:1px solid #7b694d;border-radius:50%;width:52px;height:52px;font-size:34px;margin:0 18px;cursor:pointer}.gallery-stage:fullscreen .fullscreen-count{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);color:#e8e1d5;font-size:13px;letter-spacing:.22em}.gallery-stage:fullscreen .fullscreen-close{display:block;position:absolute;top:18px;right:18px;z-index:5;background:#141414b5;color:#e2c596;border:1px solid #7b694d;width:42px;height:42px;font-size:28px;cursor:pointer}.gallery-framed .gallery-stage{padding:2%;background:#151515}.project-number{font-size:11px;letter-spacing:.3em;color:#c7a87b;margin:22px 0 0}.section-index-enabled #projects .sectionhead .eyebrow,.section-index-enabled #about .eyebrow{letter-spacing:.22em}.coordinate-enabled .gallery-stage:after{content:'+';position:absolute;top:10px;left:14px;color:#bca47b;opacity:.6;pointer-events:none}.back-to-top{display:none;position:fixed;right:24px;bottom:24px;z-index:25;border:1px solid #bca47b;background:#181818df;color:#d2b58c;text-decoration:none;padding:12px 17px}.back-to-top-enabled .back-to-top{display:block}@media(prefers-reduced-motion:reduce){.gallery-stage .gallery-photo{transition:none!important}}@media(max-width:700px){header nav#mainNav.open{z-index:1000;min-height:190px;box-shadow:0 25px 45px #0009}header{isolation:isolate}.gallery-stage:fullscreen .fullscreen-arrow{margin:0 5px;width:40px;height:40px}}

/* Round 4 — per-slide mobile hero manager and reliable navigation */
.mobile-slide-row{display:grid;grid-template-columns:minmax(120px,220px) 1fr;gap:18px;align-items:center;padding:16px 0;border-bottom:1px solid #5b5144}.mobile-slide-previews{display:flex;gap:8px}.mobile-slide-previews img{width:48%;max-width:100px;aspect-ratio:3/4;object-fit:cover;border:1px solid #6b5a44}.mobile-slide-controls{display:flex;flex-direction:column;align-items:flex-start;gap:9px;min-width:0}.mobile-slide-controls input[type=file]{max-width:100%;font-size:12px}.mobile-slide-controls .btn{font-size:10px;padding:9px 12px}.mobile-slide-controls small{line-height:1.5}
@media(max-width:700px){.mobile-slide-row{grid-template-columns:1fr}.mobile-slide-previews img{max-width:95px}header{z-index:999!important;overflow:visible!important}header nav#mainNav.open{display:flex!important;visibility:visible!important;opacity:1!important;position:absolute!important;top:100%!important;left:0!important;right:0!important;z-index:1001!important;background:#151617!important;padding:28px 7%!important;box-shadow:0 25px 45px #000b}header nav#mainNav.open>a,header nav#mainNav.open .nav-contact{display:block!important;visibility:visible!important;opacity:1!important}header nav#mainNav.open .contact-menu:not([hidden]){position:static;display:flex;flex-direction:column;max-width:90vw}}
.gallery-stage:fullscreen .fullscreen-controls{z-index:100;}.gallery-stage:fullscreen .fullscreen-arrow{touch-action:manipulation}

/* Coohom external viewer: cosmetic mask only. Cannot access cross-origin iframe DOM. */
.coohom-embed-shell{position:relative;width:100%;max-width:1100px;margin:20px auto 50px;isolation:isolate}
.coohom-embed-shell>.embed{margin:0;width:100%;max-width:none}
.coohom-share-mask{position:absolute;z-index:2;bottom:clamp(18px,3.2%,36px);left:calc(50% + 145px);width:110px;height:66px;background:#f6f6f6;border-radius:0 6px 6px 0;pointer-events:auto}
@media(max-width:700px){.coohom-share-mask{left:auto;right:5%;bottom:18px;width:20%;max-width:90px;height:52px}}
/* Round 7 — layout and interaction refinements */
@media(min-width:701px){
 header{position:relative;z-index:2000;overflow:visible;isolation:isolate}
 .nav-contact{z-index:2001}.nav-contact .contact-menu{z-index:2002;min-width:215px}
 .hero-fullscreen{height:calc(100dvh - 83px);min-height:480px;aspect-ratio:auto;overflow:hidden}
 .hero-fullscreen .hero-slide{background-size:contain!important;background-repeat:no-repeat!important;background-position:center center!important}
 .hero-fullscreen .hero-slides{background:#101113}
 .spotlight-card{aspect-ratio:16/9}
 .spotlight-card img{width:100%;height:100%!important;position:absolute;inset:0;object-fit:cover}
}
.spotlight-card img{transition:opacity .32s ease,transform .7s ease}.spotlight-card img.r7-switch{opacity:.12}
.r7-reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s cubic-bezier(.22,1,.36,1)}
.r7-reveal.r7-visible{opacity:1;transform:translateY(0)}
.project{position:relative}.project>.r7-card-current,.project>.r7-card-next{transition:opacity .7s ease;opacity:0;display:block;object-fit:cover}
.project>.r7-card-next{position:absolute;top:0;left:0;width:100%;height:auto;aspect-ratio:4/3}
.project>.r7-on{opacity:1}
.r7-compact-plan{max-width:620px!important;margin:24px auto!important;background:#1a1b1d;padding:14px;border:1px solid #37332e}
.r7-compact-plan>img{max-height:480px;object-fit:contain}
.r7-pdf-viewer{max-width:650px;max-height:560px;overflow:auto;margin:22px auto 0;padding:16px;background:#202124;border:1px solid #51483d;text-align:center}
.r7-pdf-viewer canvas{max-width:100%;height:auto;display:inline-block;user-select:none}
.r7-pdf-nav{display:flex;align-items:center;justify-content:center;gap:25px;margin:12px auto 30px}
.r7-pdf-nav button{border:1px solid #6d5b43;background:transparent;color:#c5ae8a;padding:7px 18px;font-size:24px}
.r7-pdf-nav button:disabled{opacity:.3}
.r7-thumbs-open{display:flex!important;flex-wrap:wrap!important;max-height:400px;overflow:auto}
@media(max-width:700px){.r7-compact-plan{max-width:100%!important}.r7-pdf-viewer{max-height:420px}.spotlight-card{aspect-ratio:16/9}.spotlight-card img{height:100%!important;position:absolute;inset:0}}
@media(prefers-reduced-motion:reduce){.r7-reveal{opacity:1;transform:none;transition:none}.spotlight-card img{transition:none}}

/* Round 8: full-bleed desktop hero, keep mobile presentation untouched */
@media(min-width:701px){.hero-fullscreen .hero-slide{background-size:cover!important;background-repeat:no-repeat!important;background-position:center center!important}.hero-fullscreen .hero-slides{background:transparent}}
/* Reliable card crossfade: two image layers occupy exactly the same picture area */
#projectGrid .project{isolation:isolate}
#projectGrid .project>img.r7-card-current,#projectGrid .project>img.r7-card-next{position:absolute!important;inset:0 auto auto 0!important;width:100%!important;height:100%!important;object-fit:cover!important;pointer-events:none;opacity:0;transition:opacity .75s ease!important}
#projectGrid .project>img.r7-on{opacity:1!important}
#projectGrid .project>.project-info{position:relative;z-index:2;pointer-events:none}
#projectGrid .project:has(>img.r7-card-current)::before{content:"";display:block;width:100%;aspect-ratio:4/3}
#projectGrid .project>img.r7-card-current,#projectGrid .project>img.r7-card-next{height:auto!important;aspect-ratio:4/3!important}
/* Round 9: reorder handles and smooth project arrival */
.r9-tip{font-size:11px;letter-spacing:.12em;margin:14px 0}
.r9-sort-row{cursor:grab;transition:background .18s ease,opacity .18s ease;user-select:none}
.r9-sort-row:active{cursor:grabbing}
.r9-dragging{opacity:.42!important;border:1px dashed #c5ae8a}
.r9-handle{font-size:22px;color:#c5ae8a;padding:0 12px 0 3px;cursor:grab;flex-shrink:0}
.r9-image-row{padding:7px;border:1px solid rgba(197,174,138,.17);margin:6px 0;cursor:grab}
#projectGrid .project.r7-reveal{will-change:transform,opacity}
#projectGrid .project.r7-visible{will-change:auto}
.r9-top{position:fixed;right:22px;bottom:24px;z-index:900;background:#171819;color:#c5ae8a;border:1px solid #c5ae8a77;border-radius:50%;width:46px;height:46px;cursor:pointer;opacity:0;pointer-events:none;transform:translateY(12px);transition:opacity .25s,transform .25s}
.r9-top.r9-top-visible{opacity:1;pointer-events:auto;transform:translateY(0)}
@media(prefers-reduced-motion:reduce){#projectGrid .project.r7-reveal{will-change:auto}}
