
:root{--gold:#c9a66b;--gold-soft:#e4cb98;--white:#f7f1e4;--ink:#0b1f36;--navy:#0b1f36;--muted:#b9c2cd;--line:rgba(255,255,255,.12);--shadow:0 18px 50px rgba(0,0,0,.28)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:#fff;font-family:Arial,Helvetica,sans-serif}body.intro-active{overflow:hidden}a{color:inherit}button,input,textarea{font:inherit}button{cursor:pointer}
.landing{min-height:100svh;position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(rgba(4,8,12,.22),rgba(4,8,12,.54)),url("../assets/images/intro-background.jpg") center/cover no-repeat}.landing:after{content:"";position:absolute;inset:auto 0 0;height:42%;z-index:-1;background:linear-gradient(transparent,rgba(4,8,12,.55))}
.logo{position:absolute;top:16px;left:18px;z-index:20;display:flex;align-items:center;gap:12px;text-decoration:none}.logo img{display:block;width:clamp(46px,9vw,68px);height:auto;filter:drop-shadow(1px 0 0 #05080c) drop-shadow(-1px 0 0 #05080c) drop-shadow(0 1px 0 #05080c) drop-shadow(0 -1px 0 #05080c) drop-shadow(0 2px 8px rgba(0,0,0,.6))}.logo-title{font:italic 700 clamp(16px,2.6vw,22px)/1.15 Georgia,serif;color:var(--white);text-shadow:0 2px 10px rgba(0,0,0,.65)}
.skip,.replay{position:absolute;right:18px;z-index:25;padding:10px 14px;border:1px solid #ffffff80;border-radius:8px;background:#0008;color:#fff;font-weight:800;backdrop-filter:blur(6px)}.skip{top:18px}.replay{bottom:18px;display:none}
.fade-line{position:absolute;inset:0;z-index:8;display:grid;place-items:center;padding:24px;text-align:center;color:var(--white);font:clamp(34px,6vw,76px)/1.05 Georgia,serif;opacity:0;text-shadow:0 4px 30px #000;pointer-events:none}.one{animation:fadeLine 2.8s ease .6s both}.two{animation:fadeLine 2.8s ease 3.6s both}.three{animation:fadeLine 2.8s ease 6.6s both}.four{color:#ffe3a0;font-style:italic;animation:fadeHold 3.4s ease 9.6s both}@keyframes fadeLine{0%{opacity:0;transform:translateY(10px)}18%,72%{opacity:1;transform:none}100%{opacity:0}}@keyframes fadeHold{0%{opacity:0;transform:translateY(10px)}22%,100%{opacity:1;transform:none}}
.landing-home{min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;padding:120px 20px 28px;opacity:0;transform:translateY(20px);transition:opacity 1.1s,transform 1.1s;pointer-events:none}.landing-home.show{opacity:1;transform:none;pointer-events:auto}.question{color:var(--gold);font-size:clamp(14px,2vw,21px);letter-spacing:.25em;margin-bottom:10px;text-align:center}.landing-title{margin:0 0 18px;font-size:clamp(29px,4.3vw,52px);font-weight:900;text-align:center;text-shadow:0 4px 24px #000}.search{width:min(760px,92vw);display:flex;align-items:center;gap:12px;padding:17px 20px;background:#070a0dbb;border:1px solid #ffffff61;border-radius:14px;backdrop-filter:blur(8px);box-shadow:0 8px 36px #0007}.search span{font-size:24px}.search input{width:100%;border:0;outline:0;background:transparent;color:#fff;font-size:clamp(17px,2.3vw,23px)}.search input::placeholder{color:#ffffffbd}.search button,.primary-button{border:0;border-radius:9px;padding:11px 16px;background:var(--gold);color:#111820;font-weight:900}.quick-links{width:min(980px,94vw);display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:18px}.quick-links a{display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 8px;border:1px solid #ffffff40;border-radius:10px;background:#05090d99;text-decoration:none;font-size:13px;font-weight:800;letter-spacing:.06em;backdrop-filter:blur(7px);transition:.2s}.quick-links a:hover,.quick-links a:focus{transform:translateY(-2px);background:#090e14cc;border-color:#e6b64dbf}.motto{margin-top:14px;color:var(--gold);font:italic clamp(22px,3vw,36px) Georgia,serif;text-shadow:0 3px 20px #000}.scroll-cue{margin-top:8px;text-decoration:none;font-size:25px;animation:bob 1.7s ease-in-out infinite}@keyframes bob{50%{transform:translateY(5px)}}
.site-header{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px max(18px,calc((100vw - 1180px)/2));background:#080e13f0;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.site-name{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:900;letter-spacing:.08em}.site-name img{width:145px;height:auto;filter:drop-shadow(1px 0 0 #05080c) drop-shadow(-1px 0 0 #05080c) drop-shadow(0 1px 0 #05080c) drop-shadow(0 -1px 0 #05080c)}.site-nav{display:flex;gap:18px;flex-wrap:wrap;justify-content:flex-end}.site-nav a{text-decoration:none;color:#e6edf2;font-size:13px;font-weight:800}.site-nav a:hover{color:var(--gold)}
.section{padding:88px max(22px,calc((100vw - 1120px)/2));scroll-margin-top:78px}.section:nth-child(even){background:#0c151d}.section:nth-child(odd){background:#101a23}.eyebrow{color:var(--gold);font-size:12px;letter-spacing:.22em;font-weight:900;text-transform:uppercase}.section h2{margin:10px 0 18px;font:clamp(34px,5vw,62px)/1 Georgia,serif}.lead{max-width:800px;color:#d3dce3;font-size:clamp(18px,2.2vw,23px);line-height:1.6}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}.card,.project,.review,.contact-panel{border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,#ffffff0e,#ffffff05);box-shadow:var(--shadow)}.card{padding:26px}.card p,.project p,.review p{margin:0;color:var(--muted);line-height:1.65}.fade-principles{margin-top:34px;display:grid;gap:22px}.fade-principle{margin:0;font:italic clamp(24px,3.4vw,38px) Georgia,serif;color:var(--gold-soft);opacity:0;transform:translateY(14px);transition:opacity 1s ease,transform 1s ease}.fade-principles.in-view .fade-principle:nth-child(1){transition-delay:.1s}.fade-principles.in-view .fade-principle:nth-child(2){transition-delay:.6s}.fade-principles.in-view .fade-principle:nth-child(3){transition-delay:1.1s}.fade-principles.in-view .fade-principle{opacity:1;transform:none}.card{min-height:220px}.card-icon{font-size:28px;margin-bottom:20px}.card h3,.project h3,.review h3{margin:0 0 10px;font-size:22px}.card a,.project a,.review a{display:inline-block;margin-top:18px;color:var(--gold);text-decoration:none;font-weight:900}.project-grid,.review-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:34px}.project,.review{overflow:hidden}.project-visual,.review-visual{min-height:210px;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#e6b64d40,#0c161e40),radial-gradient(circle at 70% 30%,#fff3,transparent 38%),#172733;font:28px Georgia,serif;text-align:center}.project-copy,.review-copy{padding:25px}.rating{color:var(--gold);letter-spacing:.12em;font-size:18px;margin-bottom:12px}.quote{max-width:950px;margin:0 auto;text-align:center;font:clamp(27px,4vw,48px)/1.35 Georgia,serif;color:#fff3cf}.quote small{display:block;margin-top:20px;color:var(--gold);font:13px Arial,sans-serif;letter-spacing:.15em;text-transform:uppercase}.about-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:36px}.about-box{padding:28px;border-left:3px solid var(--gold);background:#ffffff09}.about-box p{color:#d2dbe2;line-height:1.75}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:24px;margin-top:34px}.contact-panel{padding:28px}.contact-list{display:grid;gap:14px}.contact-list a{text-decoration:none}.contact-list span{color:var(--gold);font-weight:900}.contact-form{display:grid;gap:14px}.contact-form input,.contact-form textarea{width:100%;border:1px solid var(--line);border-radius:11px;background:#0a131a;color:#fff;padding:14px 15px;outline:none}.contact-form textarea{min-height:150px;resize:vertical}.notice{min-height:24px;margin-top:12px;color:var(--gold-soft);font-size:14px}footer{padding:35px 22px;text-align:center;background:#070c10;color:#a9b5bd;border-top:1px solid var(--line)}footer strong{color:#fff}.footer-motto{display:block;color:var(--gold);font:italic 22px Georgia,serif;margin-top:10px}.search-results{width:min(760px,92vw);max-height:0;opacity:0;overflow:auto;transition:.35s;border-radius:12px}.search-results.open{max-height:230px;opacity:1;margin-top:10px;background:#05090ddb;border:1px solid #ffffff38;backdrop-filter:blur(9px)}.search-result{display:block;padding:13px 16px;text-decoration:none;border-bottom:1px solid #ffffff17}.search-result strong{display:block;color:var(--gold-soft);margin-bottom:4px}.search-result small{color:#cad3da}
@media(max-width:900px){.grid{grid-template-columns:1fr 1fr}.about-layout,.contact-layout{grid-template-columns:1fr}}@media(max-width:760px){.logo{top:12px;left:12px;gap:8px}.logo img{width:clamp(38px,12vw,50px)}.logo-title{font-size:clamp(13px,4vw,16px)}.landing-home{padding:92px 12px 18px}.question{font-size:12px}.landing-title{font-size:25px;margin-bottom:12px}.search{padding:12px}.search button{padding:10px 12px}.quick-links{grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px}.quick-links a{min-height:42px;font-size:11px;padding:8px 5px}.motto{font-size:23px;margin-top:11px}.site-header{padding:10px 12px}.site-name img{width:115px}.site-name span{display:none}.site-nav{gap:10px}.site-nav a{font-size:11px}.section{padding:68px 20px}.grid,.project-grid,.review-grid{grid-template-columns:1fr}.skip{top:12px;right:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}


/* =========================================================
   Interior-page additions — Projects, Project detail, Search
   Same tokens as above (--gold, --ink, --line, --shadow, etc.)
   ========================================================= */

.page-intro{padding:150px max(22px,calc((100vw - 1120px)/2)) 60px;background:linear-gradient(180deg,#0c151d,#0b1f36 70%);border-bottom:1px solid var(--line)}
.page-intro .eyebrow{margin-bottom:8px}
.page-intro h1{margin:0 0 14px;font:clamp(32px,5vw,54px)/1.05 Georgia,serif}
.page-intro .lead{margin:0}
.breadcrumb{margin-top:18px;font-size:13px;letter-spacing:.05em}
.breadcrumb a{color:var(--gold);text-decoration:none;font-weight:800}
.breadcrumb a:hover{text-decoration:underline}

.listing-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;padding:44px max(22px,calc((100vw - 1120px)/2)) 90px}

.entry-card{border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,#ffffff0e,#ffffff05);box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;text-decoration:none;color:inherit;transition:transform .2s ease,box-shadow .2s ease}
.entry-card:hover{transform:translateY(-4px);box-shadow:0 22px 55px rgba(0,0,0,.35)}
.entry-thumb{aspect-ratio:16/10;width:100%;object-fit:cover;display:block;background:linear-gradient(135deg,#e6b64d40,#0c161e40),radial-gradient(circle at 70% 30%,#fff3,transparent 38%),#172733}
.entry-tag{position:absolute;margin:12px;padding:5px 11px;border-radius:999px;background:#05090dcc;border:1px solid var(--gold);color:var(--gold-soft);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;backdrop-filter:blur(6px)}
.entry-thumb-wrap{position:relative}
.entry-body{padding:22px 24px 26px;display:flex;flex-direction:column;gap:8px;flex:1}
.entry-category{color:var(--gold);font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:800}
.entry-title{margin:0;font:600 21px/1.25 Georgia,serif}
.entry-desc{margin:0;color:var(--muted);line-height:1.6;font-size:14.5px;flex:1}
.entry-link{margin-top:8px;color:var(--gold);font-weight:900;font-size:14px}
.entry-link::after{content:" →"}

/* Project detail page */
.detail-layout{display:grid;grid-template-columns:1.7fr 1fr;gap:40px;padding:50px max(22px,calc((100vw - 1120px)/2)) 100px;align-items:start}
@media(max-width:900px){.detail-layout{grid-template-columns:1fr}}
.detail-section{margin-bottom:36px}
.detail-section h2{font:600 22px Georgia,serif;margin:0 0 12px;color:var(--gold-soft)}
.detail-section p{color:#d3dce3;line-height:1.7;margin:0}
.detail-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.detail-photos figure{margin:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#0c151d;display:flex;flex-direction:column}
.detail-photos img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.detail-photos figcaption{padding:10px 12px;font-size:12.5px;color:var(--muted);flex:1}
.detail-videos{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.detail-videos li{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:#0c151d;font-size:13.5px;color:var(--muted)}

.detail-sidebar{display:grid;gap:20px;position:sticky;top:96px}
.spec-plate{border:1px solid var(--line);border-radius:16px;background:linear-gradient(160deg,#12202c,#0b1620);box-shadow:var(--shadow);padding:22px 24px}
.spec-plate h3{margin:0 0 12px;color:var(--gold);font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:900}
.spec-plate ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.spec-plate li{font-size:13.5px}
.spec-plate a{color:var(--gold-soft);text-decoration:none;font-weight:700}
.spec-plate a:hover{text-decoration:underline}
.spec-plate .muted-item{color:#7f8a94;font-size:13px}

.tag-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}
.tag-chip{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;background:#ffffff12;border:1px solid var(--line);color:var(--muted);padding:4px 10px;border-radius:999px}

/* Search results page */
.results-meta{padding:14px max(22px,calc((100vw - 1120px)/2)) 0;color:var(--gold-soft);font-size:14px;letter-spacing:.03em}
.type-badge{display:inline-block;font-size:10.5px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;background:var(--gold);color:#111820;padding:4px 10px;border-radius:999px;align-self:flex-start}
.empty-state{padding:70px max(22px,calc((100vw - 1120px)/2));text-align:center;color:var(--muted);font-size:15px}
.mini-search{width:min(560px,90vw);display:flex;gap:0;margin-top:22px}
.mini-search input{flex:1;border:1px solid var(--line);border-right:none;border-radius:10px 0 0 10px;background:#0a131a;color:#fff;padding:12px 14px;outline:none;font-size:15px}
.mini-search button{border:0;border-radius:0 10px 10px 0;padding:12px 18px;background:var(--gold);color:#111820;font-weight:900}

.error-note{max-width:640px;margin:30px max(22px,calc((100vw - 1120px)/2));padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:#ffffff09;color:var(--muted);font-size:13.5px;line-height:1.6}

@media(max-width:760px){
.page-intro{padding:110px 18px 40px}
.detail-layout{padding:34px 18px 70px}
.listing-grid{padding:30px 16px 60px}}
