@charset "UTF-8";
:root{--ink:#171b18;--ink2:#222722;--cream:#f4f1e9;--paper:#fcfaf5;--bronze:#b88940;--line:#d9d4c8;--muted:#66695e;--white:#fffdf7;--max:1344px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.7}a{color:inherit;text-underline-offset:5px}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}a,button,summary{touch-action:manipulation}button{cursor:pointer}img{display:block;max-width:100%}p,h1,h2,h3,figure{margin:0}p+p{margin-top:20px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #bc8a3f;outline-offset:5px}::selection{background:#dbc395;color:#171b18}.skip{position:fixed;top:-80px;left:16px;background:white;padding:12px;z-index:99}.skip:focus{top:10px}.launch-note{background:#ede8dc;text-align:center;padding:8px 20px;font-size:11px;letter-spacing:.035em}.launch-note span{margin:0 10px}.launch-note a{text-decoration-thickness:1px}.site-header{background:var(--ink);color:var(--white);display:flex;align-items:center;justify-content:space-between;padding:22px max(5vw,calc((100vw - var(--max))/2));gap:35px}.brand{width:158px;flex-shrink:0}.brand img{height:91px;width:158px;object-fit:contain}.site-header nav{display:flex;align-items:center;gap:36px;font-size:13px}.site-header nav a{text-decoration:none}.site-header nav a:hover{color:#d6b982}.nav-contact{padding:11px 0 11px 28px;border-left:1px solid #555a50}.nav-contact span{padding-left:20px}.menu-toggle{display:none;background:none;color:inherit;border:1px solid #696d63;padding:8px 12px}.hero{background:var(--ink);color:var(--white);display:grid;grid-template-columns:1fr 1fr;padding:24px max(5vw,calc((100vw - var(--max))/2)) 72px;gap:5vw;align-items:center}.hero-copy{padding:35px 0 12px}.eyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:#d9c7a7;display:flex;gap:12px;align-items:center;margin-bottom:28px}.eyebrow.dark{color:#725620}.small-line{display:inline-block;width:30px;height:1px;background:var(--bronze)}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.045em;line-height:1.12}h1{font-size:clamp(48px,5.1vw,78px);margin-bottom:28px}h1 em,h2 em{font-weight:400;color:#d9bd88}h2{font-size:clamp(38px,4vw,59px)}.hero-intro{color:#c5c9bf;font-size:17px;max-width:410px;line-height:1.8}.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin:36px 0 60px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;min-height:52px;padding:13px 22px;text-decoration:none;font-size:13px;font-weight:700;border:1px solid transparent;transition:background .2s}.bronze{background:#c89b54;color:#141a14}.bronze:hover{background:#dfb97c}.text-link{font-size:12px;text-decoration:none;border-bottom:1px solid #717969;padding:10px 0}.text-link span{padding-left:12px}.hero-signature{font-size:10px;letter-spacing:.23em;color:#a6ad9e}.hero-signature span{font-size:8px}.hero-image{position:relative;height:610px;max-height:72vw;overflow:hidden}.hero-image>img{width:100%;height:100%;object-fit:cover;object-position:50% 51%}.hero-image:after{content:"";position:absolute;inset:65% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.73));pointer-events:none}.hero-image figcaption{position:absolute;bottom:24px;left:25px;right:25px;z-index:1;font-size:10px;line-height:1.8;letter-spacing:.12em}.hero-image figcaption span{display:block}.hero-image figcaption span+span{letter-spacing:0;color:#deded7;font-size:11px}.principles-strip{display:flex;justify-content:space-evenly;padding:24px 5vw;border-bottom:1px solid var(--line);font-size:10px;font-weight:bold;letter-spacing:.16em;text-transform:uppercase}.principles-strip span+span:before{content:"✦";color:#8c6b32;margin-right:6vw}.section-pad{padding:100px max(5vw,calc((100vw - var(--max))/2))}.story{display:grid;grid-template-columns:1fr 1fr;gap:9vw}.story-copy{padding-top:38px;max-width:570px;color:#555c50;font-size:15px}.story-copy .lead{font-size:21px;color:var(--ink);line-height:1.6}.founder-line{display:flex;flex-direction:column;margin-top:32px;padding-top:25px;border-top:1px solid var(--line)}.founder-line span:first-child{font-family:Georgia,serif;color:#262e24;font-size:25px}.founder-line span+span{font-size:9px;letter-spacing:.13em;margin-top:6px}.details{padding-top:65px;background:var(--paper)}.details-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:45px}.details-heading>p{font-size:13px;max-width:320px;color:#65695f}.portfolio-grid{display:grid;grid-template-columns:1.2fr 1fr;grid-template-rows:1fr 1fr;gap:28px}.portfolio-grid figure{position:relative;min-height:250px;overflow:hidden;background:#e6e1d5}.portfolio-grid .portfolio-tall{grid-row:span 2}.portfolio-grid img{width:100%;height:100%;object-fit:cover;position:absolute}.portfolio-grid .portfolio-tall img{object-position:center}.portfolio-grid figure:nth-child(2) img{object-position:50% 65%}.portfolio-grid figure:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.76));pointer-events:none}.portfolio-grid figcaption{position:absolute;bottom:25px;left:28px;right:25px;z-index:1;color:white}.portfolio-grid figcaption span{font-family:Georgia,serif;font-size:26px;line-height:1.2;display:block}.portfolio-grid small{font-size:10px;letter-spacing:.06em;display:block;margin-top:8px;color:#e7e4da}.portfolio-note{font-size:11px;line-height:1.6;color:#696c62;max-width:760px;margin-top:23px}.standard{background:var(--ink2);color:var(--white);display:grid;grid-template-columns:1fr 1fr;gap:10vw}.standard>div>p:last-child{font-size:15px;max-width:360px;margin-top:28px;color:#bdc4b7}.standard-list article{display:flex;gap:28px;padding:25px 0;border-bottom:1px solid #4b5347}.standard-list article:first-child{padding-top:3px}.standard-list article>span{font-size:11px;color:#bf9e64;padding-top:5px}.standard-list h3{font-family:Georgia,serif;font-size:28px;font-weight:400;line-height:1.2;margin-bottom:12px}.standard-list p{font-size:14px;color:#c2c7bc;line-height:1.7}.questions{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}.faq-list details{border-bottom:1px solid #c8cebf;padding:22px 0}.faq-list details:first-child{padding-top:0}.faq-list summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;font-size:15px;font-weight:bold}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";font-size:23px;font-weight:400;line-height:1}.faq-list details[open] summary:after{content:"−"}.faq-list details p{font-size:14px;line-height:1.8;color:#5b6255;margin-top:15px;max-width:630px}.contact{background:#151a16;color:var(--white);display:grid;grid-template-columns:1fr 1fr;gap:8vw}.contact-copy>p:not(.eyebrow){font-size:14px;color:#bbc3b5;max-width:350px;margin-top:28px}.contact .phone{font-family:Georgia,serif;display:block;font-size:28px;text-decoration:none;margin-top:30px}.contact .email{font-size:14px;color:#d8d9d0;overflow-wrap:anywhere}.contact-copy .location{font-size:10px!important;letter-spacing:.15em;margin-top:34px!important}form{background:#242c24;padding:32px;align-self:center}form h3{font-family:Georgia,serif;font-size:34px;font-weight:400;line-height:1.2;margin-bottom:12px}.form-intro{font-size:12px;color:#c0c9b9;margin-bottom:25px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:17px}label{display:block;font-size:11px;font-weight:600;color:#ecede5;margin-bottom:18px}input,select,textarea{width:100%;background:#1a211b;border:1px solid #69725f;color:white;border-radius:0;padding:12px;margin-top:6px;font-size:13px;min-width:0;line-height:1.5}select{padding-right:7px}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#adb7a4;opacity:1}.form-note{font-size:10px;line-height:1.7;color:#bac2b2;margin-bottom:22px}form .button{width:100%}#form-status{font-size:12px;color:#efddb6;margin-top:12px}#email-fallback p{font-size:11px;overflow-wrap:anywhere}.text-button{background:none;border:0;color:#f1d6a8;padding:5px 0;text-decoration:underline}.site-footer{background:#101510;color:#d8ddcf;padding:48px max(5vw,calc((100vw - var(--max))/2)) 28px}.footer-top{display:flex;justify-content:space-between;gap:30px;align-items:center;padding-bottom:35px;border-bottom:1px solid #3b4334}.footer-brand img{width:140px;height:auto}.footer-top>p{font-family:Georgia,serif;font-size:24px;line-height:1.4}.footer-top nav{display:flex;gap:25px;font-size:11px}.footer-top nav a{text-decoration:none}.footer-bottom{display:flex;justify-content:space-between;gap:20px;font-size:10px;padding-top:23px;color:#adb5a3}.license-footer{font-size:10px;color:#b5bcad;margin-top:12px;max-width:780px}.legal{max-width:850px;margin:0 auto;min-height:60vh;padding:70px 30px}.legal h1{font-size:48px}.legal h2{font-size:29px;margin:32px 0 16px}.legal p{font-size:16px;margin-top:16px}
@media(min-width:1600px){.hero{gap:75px}.hero-image{height:665px}}
@media(max-width:1050px){.hero{gap:35px}.hero-image{height:560px}h1{font-size:57px}.hero-actions{gap:18px;margin-bottom:35px}.hero-intro{font-size:15px}.site-header nav{gap:22px}.section-pad{padding-top:75px;padding-bottom:75px}.story,.standard,.contact{gap:50px}form{padding:25px}.form-row{grid-template-columns:1fr;gap:0}.footer-top nav{flex-direction:column;gap:8px}.contact h2{font-size:45px}}
@media(max-width:760px){html{scroll-padding-top:20px}.launch-note{font-size:9px;padding:8px 14px}.launch-note span{margin:0 5px}.site-header{padding:18px 6%;flex-wrap:wrap;gap:15px}.brand,.brand img{width:121px;height:70px}.menu-toggle{display:flex;align-items:center;gap:20px;font-size:12px}.site-header nav{width:100%;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;border-top:1px solid #4e5648;padding-top:14px}.js .site-header nav:not(.open){display:none}.nav-contact{border:0;padding:0}.nav-contact span{padding-left:5px}.hero{grid-template-columns:1fr;padding:28px 6% 38px;gap:33px}.hero-copy{padding:0}.eyebrow{margin-bottom:22px;font-size:10px}h1{font-size:clamp(43px,9vw,65px);margin-bottom:20px}.hero-intro{font-size:15px;max-width:480px}.hero-actions{margin:26px 0 0;gap:24px}.hero-signature{display:none}.hero-image{height:470px;max-height:125vw}.hero-image>img{object-position:50% 55%}.principles-strip{padding:20px 6%;gap:10px;justify-content:space-between;font-size:8px;letter-spacing:.06em}.principles-strip span+span:before{display:none}.section-pad{padding:65px 6%}.story,.standard,.questions,.contact{grid-template-columns:1fr;gap:35px}h2{font-size:42px}.story-copy{padding-top:0;max-width:none;font-size:14px}.story-copy .lead{font-size:20px}.details-heading{display:block;margin-bottom:28px}.details-heading>p{margin-top:23px}.portfolio-grid{grid-template-columns:1fr 1fr;grid-template-rows:400px 250px;gap:15px}.portfolio-grid .portfolio-tall{grid-column:span 2;grid-row:span 1}.portfolio-grid figure{min-height:0}.portfolio-grid figcaption{left:15px;bottom:17px;right:12px}.portfolio-grid figcaption span{font-size:21px}.portfolio-grid small{font-size:9px;line-height:1.5}.portfolio-grid figure:last-child img{object-position:58%}.standard>div>p:last-child{max-width:none}.standard-list article{gap:20px}.contact h2{font-size:46px}.contact-copy>p:not(.eyebrow){max-width:440px}form{padding:28px 22px}.form-row{grid-template-columns:1fr 1fr;gap:15px}.footer-top{flex-wrap:wrap;justify-content:start;gap:30px}.footer-top>p{font-size:22px}.footer-top nav{flex-direction:row;width:100%;gap:25px}.footer-bottom{flex-wrap:wrap}.site-footer{padding-left:6%;padding-right:6%}.license-footer{line-height:1.7}}
@media(max-width:400px){h1{font-size:42px}.form-row{grid-template-columns:1fr;gap:0}.hero-actions{gap:18px}.text-link{font-size:11px}.portfolio-grid{grid-template-columns:1fr;grid-template-rows:370px 310px 270px}.portfolio-grid .portfolio-tall{grid-column:auto}.portfolio-grid figcaption span{font-size:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Approved Octagonal Bold maker mark: November 2026 brand update. */
.brand,.footer-brand{display:flex;align-items:center;gap:14px;width:245px;flex-shrink:0;text-decoration:none}
.brand img,.footer-brand img{width:76px;height:76px;object-fit:contain;flex-shrink:0;border-radius:8px}
.brand-wordmark{display:flex;flex-direction:column;line-height:1.05;color:#fff}
.brand-wordmark strong{font-family:Georgia,'Times New Roman',serif;font-size:31px;font-weight:700;letter-spacing:.025em}
.brand-wordmark>span{font-size:8px;letter-spacing:.18em;color:#d3a357;margin-top:8px;white-space:nowrap}
@media(max-width:760px){.brand,.footer-brand{width:224px;gap:10px}.brand img,.footer-brand img{width:64px;height:64px}.brand-wordmark strong{font-size:27px}.brand-wordmark>span{font-size:7px}}

/* BBG architectural edition: black, bronze, ivory. */
:root{--ink:#0b0b0b;--ink2:#171717;--cream:#111111;--paper:#181818;--bronze:#a87524;--line:#393229;--muted:#b5b0a8;--white:#faf7f0}
body{color:var(--white);background:#111}
.launch-note{background:#211c14;color:#e5d4b5;border-bottom:1px solid #4d3920}
.site-header{background:#080808;border-bottom:1px solid #29241c;padding-top:18px;padding-bottom:18px}
.hero{position:relative;isolation:isolate;background:radial-gradient(ellipse at 10% 35%,#292115 0,transparent 52%),#0b0b0b;padding-top:58px;padding-bottom:74px;overflow:hidden}
.hero:before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(#b78a3c09 1px,transparent 1px),linear-gradient(90deg,#b78a3c09 1px,transparent 1px);background-size:76px 76px;pointer-events:none}
h1{font-weight:700;letter-spacing:-.055em;font-size:clamp(50px,5.2vw,80px);line-height:1.08}h1 em,h2 em{color:#d2a456}
.hero-intro{color:#c7c3bc}.hero-signature{color:#c8a66c;letter-spacing:.25em}
.hero-image{height:590px;border:1px solid #8a662f;box-shadow:15px 15px 0 -1px #0b0b0b,15px 15px 0 0 #5a4528}
.hero-image>img{filter:saturate(.8)}.hero-image figcaption{bottom:28px}
.eyebrow,.eyebrow.dark{color:#cfaa6c}.small-line{width:45px;background:#c59a50}
.bronze{background:#c3964b;color:#111;border:1px solid #d7b171}.bronze:hover{background:#dfb971}.button{min-height:54px}
.text-link{border-color:#917343}.hero-actions .text-link:hover{color:#e6bd77}
.principles-strip{background:#15120e;color:#d8bf96;border-top:1px solid #4e3a21;border-bottom:1px solid #4e3a21;padding-top:27px;padding-bottom:27px}
.story{background:#111}.story-copy{color:#bdb8b0}.story-copy .lead{color:#f4eee3}.founder-line span:first-child{color:#dbb77b}.founder-line span+span{color:#aaa49a}
.section-heading h2{max-width:530px}.section-heading:after{content:"";display:block;width:88px;height:3px;background:#a87524;margin-top:35px}
.details{background:#1a1a1a;border-top:1px solid #342d22;border-bottom:1px solid #342d22;padding-top:95px}
.details-heading>p,.portfolio-note{color:#beb8af}.portfolio-grid{gap:22px;grid-template-rows:300px 300px}.portfolio-grid figure{border:1px solid #615038;background:#161616}
.portfolio-grid img{transition:transform .5s ease}.portfolio-grid figure:hover img{transform:scale(1.025)}.portfolio-grid small{color:#e4cfaa}.portfolio-grid figcaption span{font-size:30px}
.standard{background:linear-gradient(125deg,#201b13,#101010 60%);position:relative;border-bottom:1px solid #4d3922}.standard-list article{border-color:#4d3b25}.standard-list article>span{color:#d7aa61}.standard-list p,.standard>div>p:last-child{color:#bfb9af}
.questions{background:#111}.faq-list details{border-color:#443827}.faq-list details p{color:#c2bcb2}.faq-list summary:after{color:#d1a458}.faq-list summary:hover{color:#e3bd80}
.contact{background:radial-gradient(ellipse at bottom left,#302415,transparent 60%),#0b0b0b;border-top:1px solid #4f3b20}.contact-copy>p:not(.eyebrow){color:#c3bbb0}
form{background:#191817;border:1px solid #5a4324;box-shadow:0 18px 60px #0005;padding:36px}.form-intro,.form-note{color:#beb7ab}
input,select,textarea{background:#101010;border-color:#5e5546}input::placeholder,textarea::placeholder{color:#aaa39a}input:focus,textarea:focus,select:focus{border-color:#dab06d;outline-color:#dab06d}
.site-footer{background:#070707;color:#ded6c8}.footer-top{border-color:#433321}.footer-bottom,.license-footer{color:#aaa297}.footer-top>p{color:#d8b574}
.brand img,.footer-brand img{border:1px solid #4a3720;border-radius:0}.menu-toggle{border-color:#8b6936}
.legal{color:#eee7dc}
@media(max-width:1050px){.hero{gap:40px}.hero-image{height:530px}.site-header nav{gap:18px}.nav-contact{padding-left:15px}}
@media(max-width:760px){.hero{padding:38px 6% 54px;gap:35px}.hero-image{height:450px;max-height:120vw;box-shadow:8px 8px 0 -1px #0b0b0b,8px 8px 0 0 #5a4528}h1{font-size:clamp(43px,10vw,65px)}.brand,.footer-brand{width:212px}.brand-wordmark strong{font-size:26px}.brand-wordmark>span{font-size:6.8px}.brand img{width:59px;height:59px}.menu-toggle{gap:10px;padding:8px}.principles-strip{font-size:8px}.details{padding-top:65px}.portfolio-grid{grid-template-rows:420px 270px}.portfolio-grid figcaption span{font-size:23px}.contact form{padding:25px 20px}.footer-top>p{font-size:24px}}
@media(max-width:400px){.portfolio-grid{grid-template-rows:370px 310px 270px}.hero-actions{gap:16px}.brand{width:202px}.site-header{gap:10px}.hero-image{height:410px}}

/* Featured project: Valley Center bathroom remodel. */
.featured-project{margin-bottom:44px;border:1px solid #615038;background:#101010}
.project-photo{display:block;position:relative;overflow:hidden;text-decoration:none;background:#26231e}
.project-photo>img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:center;transition:transform .5s ease}
.project-photo:hover>img{transform:scale(1.015)}
.photo-expand{position:absolute;right:22px;bottom:22px;background:#0b0b0be6;color:#f1dfbd;border:1px solid #b48b4a;padding:9px 14px;font-size:11px;letter-spacing:.03em}
.project-caption{display:grid;grid-template-columns:1fr 1fr;gap:7vw;padding:38px 40px 42px}
.project-caption .eyebrow{font-size:10px;margin-bottom:17px}
.project-caption h3{font-family:Georgia,'Times New Roman',serif;font-size:clamp(30px,3vw,43px);line-height:1.15;font-weight:400;letter-spacing:-.025em}
.project-caption>div>p:not(.eyebrow){font-size:14px;line-height:1.85;color:#c6beb2;max-width:470px}
.project-details{display:flex;flex-wrap:wrap;gap:10px 20px;list-style:none;padding:0;margin:20px 0 24px;color:#d9b77c;font-size:10px;letter-spacing:.1em;text-transform:uppercase}
.project-details li+li{border-left:1px solid #665030;padding-left:20px}
.project-caption .text-link{display:inline-block;color:#f1dfbd}
#project-viewer{padding:0;border:1px solid #916a34;background:#0c0c0c;color:#faf7f0;width:min(1280px,94vw);max-width:94vw;max-height:94dvh;overflow:auto}
#project-viewer::backdrop{background:#000e}
.viewer-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:13px 18px;position:sticky;top:0;background:#101010;z-index:1;border-bottom:1px solid #564125}
.viewer-toolbar p{font-size:13px;color:#e2c798}
.viewer-toolbar button{display:flex;gap:16px;align-items:center;color:#fff;background:transparent;border:1px solid #7e6543;padding:6px 13px;min-height:44px;font-size:12px}
.viewer-toolbar button span{font-size:22px}
#project-viewer>img{width:100%;height:auto}
.viewer-open{overflow:hidden}
.mobile-contact{display:none}
@media(max-width:760px){.project-photo>img{aspect-ratio:4/3}.photo-expand{right:12px;bottom:12px;font-size:10px;padding:7px 10px}.project-caption{grid-template-columns:1fr;gap:24px;padding:27px 22px 30px}.project-caption h3{font-size:34px}.project-caption .eyebrow{font-size:9px;letter-spacing:.12em}.featured-project{margin-bottom:25px}.mobile-contact{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:10;background:#0c0c0cf5;backdrop-filter:blur(10px);border-top:1px solid #94713c;padding:9px 6% calc(9px + env(safe-area-inset-bottom));gap:10px}.mobile-contact a{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:9px 16px;border:1px solid #8a6939;text-decoration:none;font-size:12px;font-weight:600}.mobile-contact a:first-child{background:#c3964b;color:#111}.mobile-contact a:last-child{color:#ead9b9}.site-footer{padding-bottom:calc(98px + env(safe-area-inset-bottom))}.viewer-toolbar{padding:10px 12px}.viewer-toolbar p{font-size:11px}#project-viewer{max-height:90dvh}.hero-actions .button{gap:20px}.portfolio-note{font-size:11px}}
@media(prefers-reduced-motion:reduce){.project-photo>img{transition:none}.project-photo:hover>img{transform:none}}

.arrow-icon{display:inline-block;vertical-align:-2px;flex-shrink:0}

/* Founder portfolio: actual project photographs, with construction stages identified. */
.site-header nav a[aria-current="page"]{color:#e4bb78;border-bottom:1px solid #c3964b;padding-bottom:5px}
.portfolio-image-link{display:block;position:absolute;inset:0;text-decoration:none}
.portfolio-image-link:focus-visible{outline-offset:-6px;outline-width:4px}
.portfolio-grid figure:after{display:none}
.portfolio-image-link:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#000c);pointer-events:none}
.portfolio-browse{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:30px 0 7px}
.portfolio-browse>p{font-family:Georgia,serif;font-size:24px;line-height:1.4}
.portfolio-browse>p>span{font-family:Arial,sans-serif;font-size:12px;color:#bbb2a5}
.gallery-intro{background:radial-gradient(ellipse at 15% 25%,#302517 0,transparent 60%),#101010;padding-bottom:65px;border-bottom:1px solid #4b3923}
.gallery-intro-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:10%;align-items:end}
.gallery-intro h1{margin:0;font-size:clamp(58px,6.5vw,96px);max-width:700px}
.gallery-intro-grid>div{max-width:430px;padding-bottom:7px}
.gallery-intro-grid>div>p:first-child{font-family:Georgia,serif;font-size:26px;line-height:1.5;color:#ecdfc9}
.gallery-intro-grid>div>p+p{color:#bdb5a9;font-size:14px;line-height:1.8}
.gallery-section{padding-top:42px;background:#151515}
.gallery-controls{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-bottom:28px;margin-bottom:34px;border-bottom:1px solid #4a3c2b}
.gallery-filters{display:none;gap:9px;flex-wrap:wrap}.js .gallery-filters{display:flex}
.gallery-filters button{border:1px solid #665239;background:transparent;color:#e2d7c7;padding:11px 16px;min-height:44px;font-size:12px}
.gallery-filters button span{margin-left:13px;opacity:.7;font-size:10px}
.gallery-filters button[aria-pressed="true"]{background:#c3964b;border-color:#d7b171;color:#111}
.gallery-filters button:hover{border-color:#d7b171}
#gallery-count{color:#bdb2a1;font-size:11px;white-space:nowrap}
.gallery-grid{columns:3;column-gap:28px}
.gallery-card{break-inside:avoid;display:inline-block;width:100%;margin:0 0 35px;border-bottom:1px solid #493a28;padding-bottom:26px}
.gallery-card[hidden]{display:none}
.gallery-photo{display:block;position:relative;overflow:hidden;background:#0b0b0b;border:1px solid #615038;text-decoration:none}
.gallery-photo>img{width:100%;height:auto;transition:transform .35s ease}
.gallery-photo:hover>img{transform:scale(1.02)}
.gallery-expand{position:absolute;bottom:12px;right:12px;background:#090909e8;border:1px solid #88704d;padding:6px 10px;color:#f3e5cf;font-size:10px;opacity:0;transition:opacity .2s}
.gallery-photo:hover .gallery-expand,.gallery-photo:focus-visible .gallery-expand{opacity:1}
.gallery-card figcaption{padding:19px 2px 0}
.gallery-kicker{font-size:9px;text-transform:uppercase;letter-spacing:.16em;color:#cba66b;margin-bottom:10px}
.gallery-card h2{font-size:26px;line-height:1.2;letter-spacing:-.025em;margin-bottom:11px}
.gallery-card figcaption>p:not(.gallery-kicker){font-size:12px;color:#bfb7ab;line-height:1.8}
.stage-label{display:inline-block;margin-top:14px;padding:3px 8px;border:1px solid #62503a;color:#d9bd92;font-size:9px;letter-spacing:.05em}
.gallery-section .portfolio-note{border-top:1px solid #493a28;padding-top:24px;max-width:none;margin-top:8px}
.gallery-contact{display:grid;grid-template-columns:1.2fr 1fr;gap:10%;align-items:center;background:radial-gradient(ellipse at bottom left,#302415,transparent 65%),#0b0b0b;border-top:1px solid #4b3923}
.gallery-contact>div>p:not(.eyebrow){max-width:390px;font-size:14px;color:#c9bfb0;margin-bottom:25px}
#project-viewer{width:min(1160px,94vw)}
#project-viewer>img{display:block;width:100%;height:min(68dvh,850px);object-fit:contain;background:#080808}
.viewer-bottom{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:16px 20px;border-top:1px solid #44331e}
#viewer-caption{font-size:12px;color:#d4c9b8;max-width:750px;line-height:1.7}
.viewer-pagination{display:flex;align-items:center;gap:14px;flex-shrink:0}
.viewer-pagination[hidden]{display:none}.viewer-pagination button{height:44px;width:44px;background:transparent;color:#efd2a2;border:1px solid #806541;font-size:20px}.viewer-pagination button:hover{background:#352b1c}
#viewer-position{font-size:11px;color:#d4c9b8;min-width:39px;text-align:center}
@media(max-width:1000px){.gallery-grid{columns:2}.gallery-intro-grid,.gallery-contact{gap:6%}.gallery-intro-grid>div>p:first-child{font-size:23px}.gallery-controls{align-items:start}#gallery-count{margin-top:14px}}
@media(max-width:760px){.gallery-intro{padding-top:55px;padding-bottom:45px}.gallery-intro-grid{grid-template-columns:1fr;gap:30px}.gallery-intro h1{font-size:clamp(53px,11vw,76px)}.gallery-intro-grid>div{max-width:500px}.gallery-section{padding-top:26px}.gallery-controls{display:block;margin-bottom:25px}.gallery-filters{gap:8px}.gallery-filters button{padding:9px 12px;font-size:11px}.gallery-filters button span{margin-left:9px}.gallery-grid{column-gap:20px}.gallery-card h2{font-size:24px}.gallery-expand{opacity:1}.gallery-contact{grid-template-columns:1fr;gap:28px}.portfolio-browse{align-items:start;flex-direction:column;padding-top:25px}.portfolio-browse .button{width:100%}.viewer-bottom{flex-direction:column;gap:14px;align-items:stretch;padding:13px 15px}.viewer-pagination{justify-content:space-between}#viewer-caption{font-size:11px}#project-viewer>img{height:54dvh}}
@media(max-width:620px){.gallery-grid{columns:1}.gallery-card{margin-bottom:30px}.gallery-card h2{font-size:29px}.gallery-card figcaption>p:not(.gallery-kicker){font-size:13px}.gallery-photo>img{max-height:600px;object-fit:contain}.gallery-kicker{font-size:10px}}
@media(prefers-reduced-motion:reduce){.gallery-photo>img{transition:none}.gallery-photo:hover>img{transform:none}}

.portfolio-grid figcaption{pointer-events:none}
@media(max-width:760px){.gallery-intro{padding-top:36px;padding-bottom:30px}.gallery-intro .eyebrow{margin-bottom:18px}.gallery-intro-grid{gap:20px}.gallery-intro-grid>div>p:first-child{font-size:22px;line-height:1.45}.gallery-intro-grid>div>p+p{font-size:13px;margin-top:14px}.gallery-controls{padding-bottom:20px;margin-bottom:20px}}
