:root{--ink:#191917;--ink-2:#24241f;--cream:#f4f1e9;--paper:#fbf9f4;--gold:#c7a269;--gold-dark:#846034;--muted:#66645e;--line:#d9d5ca;--serif:Georgia,'Times New Roman',serif;--sans:system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%}figure,p,h1,h2,h3{margin:0}button{border-radius:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}[hidden]{display:none!important}::selection{background:var(--gold);color:var(--ink)}em{font-weight:400;color:var(--gold-dark)}.skip-link{position:fixed;top:-90px;left:20px;z-index:999;background:var(--cream);padding:12px 20px}.skip-link:focus{top:10px}
.header{height:94px;padding:0 5.4%;display:flex;align-items:center;justify-content:space-between;background:var(--ink);color:var(--cream);border-bottom:1px solid #ffffff1e;position:sticky;top:0;z-index:50}.wordmark{font:400 22px/1.2 var(--serif);letter-spacing:-.6px;white-space:nowrap}.wordmark span{color:var(--gold)}.wordmark small{display:block;font:400 9px/1.3 var(--sans);letter-spacing:3px;margin-top:8px;color:#b7b5ad}.desktop-nav{display:flex;gap:36px;margin-left:auto;margin-right:50px}.desktop-nav a{font-size:13px;color:#d0cec6}.desktop-nav a:hover{color:var(--gold)}.header-cta{border:1px solid #c7a26975;padding:10px 20px;min-height:44px;font-size:13px;display:flex;gap:26px;align-items:center}.header-cta:hover{background:var(--gold);color:var(--ink)}.header-cta span{font-size:19px}.menu-button{display:none;background:none;border:0;padding:10px;color:var(--cream);width:44px;height:44px}.menu-button span{display:block;height:1px;background:currentColor;margin:7px 0;width:23px;transition:transform .2s}.menu-button[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-button[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-menu{position:fixed;inset:80px 0 auto;background:var(--ink);color:var(--cream);padding:24px;z-index:60;border-bottom:1px solid #c7a26975;box-shadow:0 10px 40px #0005}.mobile-menu a{display:block;font:28px/1.5 var(--serif);padding:8px 0}
.hero{display:grid;grid-template-columns:1fr 1.02fr;min-height:690px;background:var(--ink);color:var(--cream)}.hero-copy{padding:64px 7% 42px 10.8%;position:relative;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:10px;font-weight:500;letter-spacing:2.3px;line-height:1.5;color:var(--gold-dark);text-transform:uppercase;margin-bottom:24px;display:flex;align-items:center;gap:12px}.hero .eyebrow,.portfolio-section .eyebrow,.contact-section .eyebrow{color:var(--gold)}.short-line{width:25px;height:1px;background:currentColor;flex-shrink:0}.hero h1{font:400 clamp(44px,5.1vw,78px)/1.12 var(--serif);letter-spacing:-2.8px}.hero h1 em{color:var(--gold);white-space:nowrap}.hero-description{font-size:15px;line-height:1.8;color:#cecbc1;max-width:380px;margin-top:27px}.hero-actions{display:flex;align-items:center;gap:26px;margin-top:33px;flex-wrap:wrap}.button{display:inline-flex;gap:25px;justify-content:space-between;align-items:center;min-height:51px;padding:14px 23px;font-size:12px;font-weight:500;line-height:1.4;transition:background .2s,color .2s;border:1px solid transparent}.button span{font-size:19px}.button-gold{background:var(--gold);color:var(--ink)}.button-gold:hover{background:#d6b67f}.button-outline{border-color:#898477;background:transparent}.button-outline:hover{background:var(--ink);color:var(--cream)}.text-link{font-size:12px;border-bottom:1px solid currentColor;padding:8px 0;display:inline-flex;align-items:center;gap:24px}.text-link span{font-size:18px}.text-link:hover{color:var(--gold)}.hero-note{display:flex;gap:20px;align-items:center;margin-top:50px;font-size:11px;line-height:1.7;color:#9e9e92}.note-index{color:var(--gold);font-size:12px}.hero-visual{position:relative;min-width:0;overflow:hidden;background:#36332c;min-height:560px}.hero-visual>img{width:100%;height:100%;object-fit:cover;object-position:54% center;position:absolute;inset:0}.hero-visual::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#000b,transparent 42%);pointer-events:none}.hero-visual figcaption{position:absolute;bottom:38px;left:34px;right:34px;z-index:1;display:flex;flex-direction:column;gap:5px;color:#fff}.hero-visual figcaption>span:first-child{font:italic 23px/1.3 var(--serif)}.image-label{font-size:9px;letter-spacing:2px;color:#d0ccc2}.hero-image-counter{position:absolute;top:26px;right:28px;color:#fff;border:1px solid #ffffff65;padding:7px 9px;font-size:10px;letter-spacing:3px;z-index:1}.clients{padding:28px 5.4%;display:flex;gap:44px;align-items:center;background:#eae6dc;border-bottom:1px solid var(--line)}.clients>p{font-size:9px;letter-spacing:1.6px;max-width:115px;color:var(--muted)}.client-names{display:flex;align-items:center;justify-content:space-between;gap:25px;flex:1;flex-wrap:wrap}.client-names span{font:500 clamp(16px,1.8vw,24px)/1.2 var(--serif);color:#666358}.client-names span:first-child{font-family:var(--sans);font-weight:700;letter-spacing:-1px}.client-names span:nth-child(3){font-family:var(--sans);font-weight:600;letter-spacing:-1px}
.section{padding:100px 7.5%}.section-heading{display:flex;justify-content:space-between;gap:50px;align-items:flex-end;margin-bottom:50px}.section-heading>div{min-width:0}h2{font:400 clamp(34px,3.7vw,55px)/1.17 var(--serif);letter-spacing:-1.8px}.section-intro{max-width:360px;font-size:13px;line-height:1.95;color:var(--muted);padding-bottom:4px}.section-cream{background:var(--cream)}.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.service-image{aspect-ratio:1.53;position:relative;overflow:hidden;margin-bottom:25px;background:var(--line)}.service-image img{height:100%;width:100%;object-fit:cover;transition:transform .5s}.service:hover .service-image img{transform:scale(1.035)}.service-image>span{position:absolute;bottom:0;left:0;background:var(--cream);padding:6px 13px;font-size:10px;letter-spacing:1px}.service h3{font:400 26px/1.25 var(--serif);letter-spacing:-.6px;margin-bottom:14px}.service>p{font-size:12px;line-height:1.9;color:var(--muted);min-height:92px}.inline-list{display:flex;flex-wrap:wrap;gap:8px 12px;list-style:none;padding:0;margin:20px 0;font-size:9px;text-transform:uppercase;letter-spacing:.8px;color:var(--gold-dark)}.inline-list li+li::before{content:'·';margin-right:12px}.service-link{border-top:1px solid var(--line);padding-top:16px;display:flex;justify-content:space-between;gap:12px;font-size:12px}.service-link span{font-size:19px}.service-link:hover{color:var(--gold-dark)}
.portfolio-section{background:var(--ink);color:var(--cream)}.portfolio-section h2 em{color:var(--gold)}.portfolio-section .section-intro{color:#bbb9af}.gallery-toolbar{border-top:1px solid #ffffff29;padding:25px 0;display:flex;align-items:center;justify-content:space-between;gap:20px}.filter-list{display:flex;flex-wrap:wrap;gap:7px}.filter{border:1px solid #ffffff30;background:transparent;padding:9px 14px;min-height:40px;color:#d0cdc4;font-size:11px}.filter:hover{border-color:var(--gold)}.filter.active{background:var(--gold);border-color:var(--gold);color:var(--ink)}.gallery-hint{font-size:9px;color:#a7a59a;max-width:155px;line-height:1.6;text-align:right}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.gallery-item{padding:0;position:relative;overflow:hidden;background:#302f29;border:0;text-align:left;aspect-ratio:1.2;color:white}.gallery-item>img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;object-position:center 38%}.gallery-item:hover>img{transform:scale(1.04)}.gallery-item.portrait-tile img{object-position:center 24%}.gallery-item>span{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(transparent,#000b);padding:35px 18px 16px;font-size:11px;letter-spacing:.5px}.gallery-item>span>span{font-size:21px}.gallery-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:26px;color:#bdb9ad}.gallery-bottom p{font-size:10px;letter-spacing:.5px}.gallery-bottom .text-link{color:var(--gold)}
.process-section{background:var(--paper)}.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;list-style:none;padding:0;margin:0}.process-grid li{border-top:1px solid #bcb4a6;padding-top:20px}.step-number{font:400 33px/1.3 var(--serif);color:#b8a587}.process-grid h3{font-size:15px;font-weight:500;margin:24px 0 10px}.process-grid p{font-size:12px;line-height:1.9;color:var(--muted)}
.rates-section{background:var(--cream);border-top:1px solid var(--line)}.rates-section .section-heading{margin-bottom:20px}.draft-note{font-size:10px;color:var(--muted);margin-bottom:30px;display:flex;gap:10px;align-items:center}.draft-note>span{color:var(--gold-dark);font-size:20px}.rate-tabs{display:flex;gap:28px;border-bottom:1px solid var(--line);margin-bottom:10px}.rate-tabs>button{padding:12px 0 16px;background:transparent;border:0;border-bottom:2px solid transparent;font-size:12px;color:var(--muted)}.rate-tabs>button[aria-selected=true]{border-bottom-color:var(--gold-dark);color:var(--ink)}.single-rate{padding:27px 0;display:flex;align-items:center;gap:30px;justify-content:space-between;border-bottom:1px solid var(--line)}.rate-label{color:var(--gold-dark);font-size:9px;letter-spacing:1.4px;font-weight:500;margin-bottom:8px}.single-rate h3{font:400 27px/1.3 var(--serif);margin-bottom:8px;letter-spacing:-.5px}.single-rate>div>p:last-child{font-size:11px;color:var(--muted)}.rate-end{text-align:right;flex-shrink:0}.rate-end>p{font-size:10px;color:var(--muted)}.rate-end strong{font:400 33px/1.2 var(--serif);color:var(--ink);margin-left:10px}.rate-end>a{display:inline-flex;align-items:center;gap:28px;font-size:10px;border-bottom:1px solid #a69b88;padding:10px 0 4px;margin-top:5px}.rate-end>a:hover{color:var(--gold-dark)}.rate-end>a>span{font-size:19px}.monthly-intro{font-size:12px;color:var(--muted);margin:22px 0}.monthly-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.monthly-card{border:1px solid var(--line);padding:30px 23px;display:flex;flex-direction:column;background:var(--paper)}.monthly-card h3{font:400 29px/1.3 var(--serif)}.monthly-price{font:400 39px/1.4 var(--serif);margin-top:20px}.monthly-price span{font:400 11px var(--sans);color:var(--muted);margin-left:7px}.monthly-card ul{padding:0;margin:25px 0 30px;list-style:none;flex:1}.monthly-card li{font-size:11px;padding:8px 0;border-bottom:1px solid var(--line)}.monthly-card .button{font-size:11px;padding:12px 16px;gap:12px}.monthly-card.featured{background:var(--ink);color:var(--cream);border-color:var(--ink)}.monthly-card.featured .rate-label{color:var(--gold)}.monthly-card.featured li{border-bottom-color:#ffffff25}.monthly-card.featured .monthly-price span{color:#b8b6ae}.rate-footnote{font-size:10px;color:var(--muted);margin-top:22px}
.about-section{display:grid;grid-template-columns:1fr 1fr;gap:80px;background:#eae6dc;border-top:1px solid var(--line)}.about-title h2{font-size:clamp(40px,4.5vw,65px);line-height:1.15}.signature{display:inline-block;margin-top:36px;font:italic 20px var(--serif);color:var(--gold-dark)}.about-copy{max-width:460px;padding-top:30px}.about-lead{font:400 25px/1.5 var(--serif);margin-bottom:22px}.about-copy>p:not(.about-lead){color:var(--muted);font-size:13px;line-height:1.95;margin-bottom:18px}.about-copy .text-link{margin-top:8px}.about-meta{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #c9c2b4;padding-top:25px;margin-top:32px;font-size:9px;letter-spacing:1px;color:var(--muted)}.faq-section{display:grid;grid-template-columns:1fr 1.2fr;gap:65px;background:var(--paper)}.faqs details{border-bottom:1px solid var(--line);padding:20px 0}.faqs details:first-child{border-top:1px solid var(--line)}.faqs summary{list-style:none;cursor:pointer;font-size:13px;display:flex;justify-content:space-between;gap:22px;align-items:center}.faqs summary::-webkit-details-marker{display:none}.faqs summary>span{font-size:24px;font-weight:400;color:var(--gold-dark)}.faqs details[open] summary>span{transform:rotate(45deg)}.faqs details p{font-size:12px;color:var(--muted);line-height:1.9;padding-top:16px;padding-right:20px}
.contact-section{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;background:var(--ink);color:var(--cream)}.contact-heading h2{font-size:clamp(37px,4.1vw,60px)}.contact-heading h2 em{color:var(--gold)}.contact-heading>p:not(.eyebrow){font-size:13px;line-height:1.85;color:#bdbbb0;margin-top:28px}.contact-email{display:inline-block;font-size:15px;margin-top:35px;padding-bottom:8px;border-bottom:1px solid #ffffff45;overflow-wrap:anywhere}.contact-email>span{margin-left:12px}.contact-phone{display:block;font-size:12px;color:#bdbbb0;margin-top:15px}.contact-brief{padding:30px;border:1px solid #ffffff30;background:#20201c}.brief-label{font-size:9px;color:var(--gold);letter-spacing:1.7px;margin-bottom:22px}.contact-brief label{display:block;font-size:11px;margin:17px 0 8px;color:#d3d0c6}.contact-brief label>span{font-size:10px;color:#aaa89d}.contact-brief input,.contact-brief textarea,.contact-brief select{display:block;width:100%;border:1px solid #ffffff38;background:#191917;color:var(--cream);padding:12px;font-size:12px;min-height:46px;max-width:100%;border-radius:0}.contact-brief select{color-scheme:dark}.contact-brief textarea{resize:vertical;min-height:100px}.contact-brief input::placeholder,.contact-brief textarea::placeholder{color:#a7a599}.contact-brief .button{width:100%;margin-top:20px}.brief-privacy{font-size:9px;line-height:1.7;color:#aaa89c;margin-top:14px}.footer{background:var(--ink);color:var(--cream);border-top:1px solid #ffffff29;padding:34px 5.4%;display:flex;justify-content:space-between;align-items:center;gap:35px}.footer .wordmark{font-size:18px}.footer>div>p{font-size:9px;color:#a4a297;margin-top:9px}.footer-links{display:flex;gap:24px;font-size:10px;color:#c8c5bb}.footer-status{text-align:right;max-width:230px}.footer-status>span{font-size:8px;letter-spacing:1.4px;color:var(--gold)}.footer-status>p{font-size:9px!important;line-height:1.6}.floating-contact{position:fixed;bottom:22px;right:22px;z-index:45;background:var(--gold);color:var(--ink);padding:10px 18px;box-shadow:0 6px 25px #0003;border:1px solid #e5c692;font-size:11px;display:flex;align-items:center;gap:10px;min-height:44px}.floating-contact>span{font-size:20px}.floating-contact:hover{background:#d8b881}
.lightbox{border:0;padding:25px;background:#11110f;color:var(--cream);width:96vw;height:94vh;max-width:1500px;max-height:1000px;overflow:hidden}.lightbox::backdrop{background:#000d}.lightbox-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;height:50px}.lightbox-toolbar p{font-size:12px}.lightbox-close{color:var(--cream);background:transparent;border:1px solid #ffffff45;padding:8px 15px;min-height:44px;font-size:12px;display:flex;align-items:center;gap:20px}.lightbox-close>span{font-size:24px}.lightbox-stage{height:calc(100% - 93px);display:grid;grid-template-columns:50px minmax(0,1fr) 50px;align-items:center;gap:15px}.lightbox-stage>img{width:100%;height:100%;object-fit:contain;min-height:0}.lightbox-prev,.lightbox-next{border:1px solid #ffffff45;background:#25251f;color:var(--cream);font-size:22px;width:48px;height:48px}.lightbox-help{font-size:10px;color:#aca99e;text-align:center;margin-top:15px}
@media(min-width:1600px){.hero-copy{padding-top:90px;padding-bottom:60px}.hero{min-height:790px}.section{padding-left:max(7.5%,calc((100vw - 1340px)/2));padding-right:max(7.5%,calc((100vw - 1340px)/2));}.hero h1{font-size:83px}}
@media(max-width:1050px){.header{padding:0 4%;height:82px}.hero-copy{padding-left:8%;padding-top:55px}.hero{min-height:640px}.hero h1{font-size:clamp(39px,5.1vw,65px);letter-spacing:-1.7px}.hero-actions{gap:18px}.hero-actions .button{padding:14px 18px;font-size:11px;gap:15px}.hero-description{font-size:13px}.hero-note{margin-top:35px}.desktop-nav{gap:25px;margin-right:30px}.section{padding:75px 5%}.services-grid{gap:22px}.service h3{font-size:23px}.section-heading{gap:35px}.section-intro{max-width:310px}.gallery-hint{display:none}.contact-section{gap:40px}.contact-brief{padding:23px}.about-section{gap:45px}.footer{gap:25px;flex-wrap:wrap}.footer-status{text-align:left}.client-names{gap:20px}.clients{gap:25px}}
@media(max-width:760px){html{scroll-padding-top:90px}.header{height:80px;padding:0 22px}.wordmark{font-size:19px}.wordmark small{font-size:8px;letter-spacing:2.1px;margin-top:6px}.desktop-nav{display:none}.header-cta{margin-left:auto;margin-right:12px;padding:8px 12px;gap:12px;font-size:11px}.menu-button{display:block}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:44px 24px 38px}.hero .eyebrow{font-size:9px;letter-spacing:1.5px;margin-bottom:23px}.hero h1{font-size:clamp(43px,10vw,66px);letter-spacing:-2px;line-height:1.1}.hero-description{font-size:14px;max-width:400px;margin-top:23px}.hero-actions{margin-top:27px;gap:24px}.hero-actions .button{font-size:12px;padding:15px 20px}.hero-note{margin-top:28px}.hero-visual{height:370px;min-height:0}.hero-visual>img{object-position:center 37%}.hero-visual figcaption{bottom:25px;left:24px;right:24px}.hero-visual figcaption>span:first-child{font-size:22px}.hero-image-counter{top:23px;right:24px}.clients{display:block;padding:27px 24px}.clients>p{max-width:none;font-size:9px;margin-bottom:22px;letter-spacing:1.7px}.client-names{display:grid;grid-template-columns:repeat(3,1fr);gap:24px 20px}.client-names span{font-size:20px}.section{padding:62px 24px}.section-heading{display:block;margin-bottom:32px}.eyebrow{font-size:9px;margin-bottom:20px;letter-spacing:1.6px}h2{font-size:39px;letter-spacing:-1.3px}.section-intro{max-width:440px;margin-top:23px;font-size:13px}.services-grid{grid-template-columns:1fr;gap:38px}.service{padding-bottom:3px}.service-image{aspect-ratio:1.7;margin-bottom:21px}.service h3{font-size:29px;margin-bottom:12px}.service>p{font-size:13px;min-height:0}.inline-list{margin:18px 0}.service-link{font-size:12px;min-height:44px}.gallery-toolbar{padding:20px 0}.filter-list{gap:8px}.filter{padding:10px 12px;min-height:44px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gallery-item{aspect-ratio:.81}.gallery-item>span{font-size:10px;padding:35px 11px 10px}.gallery-item>span>span{font-size:18px}.gallery-bottom{align-items:flex-start}.gallery-bottom .text-link{font-size:10px;gap:10px;padding-top:0}.gallery-bottom p{font-size:9px;max-width:140px}.process-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 25px}.process-grid h3{margin-top:18px;font-size:14px}.process-grid p{font-size:12px}.step-number{font-size:30px}.draft-note{font-size:10px;align-items:flex-start;line-height:1.7}.rate-tabs{gap:24px}.rate-tabs>button{font-size:11px;padding-bottom:14px;min-height:44px}.single-rate{align-items:flex-start;flex-direction:column;gap:18px;padding:25px 0}.single-rate h3{font-size:26px}.single-rate>div>p:last-child{font-size:11px}.rate-end{display:flex;width:100%;justify-content:space-between;align-items:center;text-align:left;gap:20px}.rate-end strong{font-size:29px}.rate-end>a{font-size:10px;gap:12px;margin:0;padding-top:0;min-height:40px}.monthly-grid{grid-template-columns:1fr}.monthly-card{padding:28px}.monthly-card li{font-size:12px}.monthly-card .button{font-size:12px}.about-section{grid-template-columns:1fr;gap:25px}.about-title h2{font-size:46px}.signature{margin-top:27px}.about-copy{padding-top:0;max-width:none}.about-lead{font-size:24px;margin-bottom:20px}.about-copy>p:not(.about-lead){font-size:13px}.faq-section{grid-template-columns:1fr;gap:32px}.faqs summary{font-size:12px}.faqs details p{font-size:12px}.contact-section{grid-template-columns:1fr;gap:38px}.contact-heading h2{font-size:42px}.contact-email{font-size:14px;margin-top:27px}.contact-brief{padding:22px}.contact-brief label{font-size:12px}.contact-brief input,.contact-brief select,.contact-brief textarea{font-size:16px}.brief-privacy{font-size:10px}.footer{padding:32px 24px 84px;gap:27px;align-items:flex-start;flex-direction:column}.footer-links{font-size:12px}.footer-status{max-width:280px}.floating-contact{bottom:16px;right:16px}.lightbox{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:15px}.lightbox-toolbar p{font-size:10px;max-width:60%}.lightbox-close{font-size:10px;gap:10px;padding:5px 10px}.lightbox-stage{grid-template-columns:44px minmax(0,1fr) 44px;gap:5px}.lightbox-prev,.lightbox-next{width:44px;height:44px}.lightbox-help{font-size:9px}}
@media(max-width:380px){.header{padding:0 15px}.wordmark{font-size:17px}.header-cta{font-size:10px;padding:8px 10px;gap:10px;margin-right:5px}.hero-copy,.section{padding-left:20px;padding-right:20px}.hero h1{font-size:40px;letter-spacing:-1.6px}.hero-actions{gap:15px}.hero-actions .button{font-size:11px;padding:13px 14px;gap:10px}.hero-actions .text-link{font-size:11px;gap:12px}.contact-heading h2{font-size:37px}.contact-email{font-size:12px}.gallery-item>span{font-size:9px}.filter{font-size:10px;padding:10px}.about-meta{font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Legal information stays readable and available without JavaScript. */
.legal-section { background: var(--paper); padding-top: 56px; padding-bottom: 64px; }
.legal-section h2 { font-size: clamp(30px, 3vw, 42px); }
.legal-draft { max-width: 900px; margin: 20px 0 28px; padding: 16px 20px; background: #eee8db; border-left: 3px solid var(--gold-dark); font-size: 14px; color: #514f48; }
.legal-panel { border-top: 1px solid var(--line); scroll-margin-top: 112px; }
.legal-panel:last-child { border-bottom: 1px solid var(--line); }
.legal-panel > summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 64px; padding: 18px 0; font-size: 17px; cursor: pointer; list-style: none; }
.legal-panel > summary::-webkit-details-marker { display: none; }
.legal-panel > summary > span { font-size: 25px; color: var(--gold-dark); }
.legal-panel[open] > summary > span { transform: rotate(45deg); }
.legal-content { max-width: 900px; padding: 0 0 32px; font-size: 16px; line-height: 1.8; color: #514f48; overflow-wrap: anywhere; }
.legal-content h3 { margin: 24px 0 12px; font: 500 23px/1.35 var(--serif); color: var(--ink); }
.legal-content p { margin: 12px 0; }
.legal-content ul { padding-left: 24px; }
.legal-content li { margin-bottom: 12px; }
.legal-content a, .brief-privacy a { text-decoration: underline; text-underline-offset: 3px; }
.legal-identity { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 8px 24px; }
.legal-identity dt { font-weight: 600; color: var(--ink); }
.legal-identity dd { margin: 0; }
.contact-brief .brief-privacy { font-size: 12px; line-height: 1.75; color: #c5c2b7; overflow-wrap: anywhere; }
.footer { flex-wrap: wrap; }
.footer-legal { display: flex; flex-wrap: wrap; gap: 8px 20px; font-size: 12px; }
.footer-legal a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 760px) {
  .legal-section { padding-top: 40px; padding-bottom: 48px; }
  .legal-identity { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .legal-identity dd { margin-bottom: 10px; }
}

/* Frank's supplied portrait is displayed in full, without cropping. */
.about-section { align-items: center; }
.about-portrait { margin: 0; min-width: 0; }
.about-portrait img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; background: #191917; }
.about-portrait .signature { margin-top: 18px; }
.about-section .about-copy { padding-top: 0; max-width: 540px; min-width: 0; }
.about-section .about-copy > p:not(.about-lead) { font-size: 16px; line-height: 1.8; color: #514f48; margin-bottom: 20px; }
.about-copy .text-link { font-size: 14px; min-height: 44px; }
.about-meta { font-size: 10px; line-height: 1.6; flex-wrap: wrap; }
.about-title { margin-bottom: 28px; }
@media (max-width: 760px) {
  .about-section { gap: 38px; }
  .about-section .about-copy { max-width: none; }
  .about-title { margin-bottom: 24px; }
}

/* Full-width hero: photograph behind the copy at every breakpoint. */
.hero {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 690px;
  min-height: clamp(640px, calc(100svh - 94px), 900px);
  overflow: hidden;
}
.hero-copy {
  z-index: 2;
  width: 100%;
  min-height: inherit;
  padding: 70px 7.5% 108px;
  justify-content: center;
}
.hero h1 { font-size: clamp(52px, 5.5vw, 88px); }
.hero-description { color: #e2ded4; max-width: 400px; }
.hero-note { color: #d3cebf; }
.hero-visual {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
}
.hero-visual > img { object-position: center 48%; }
.hero-visual::after {
  background:
    linear-gradient(90deg, rgba(12,12,10,.88) 0%, rgba(12,12,10,.72) 34%, rgba(12,12,10,.16) 65%, rgba(12,12,10,.04) 100%),
    linear-gradient(0deg, rgba(12,12,10,.60) 0%, transparent 35%);
}
.hero-visual figcaption {
  left: auto;
  right: 7.5%;
  bottom: 36px;
  max-width: 42%;
  text-align: right;
}
.hero-image-counter { right: 7.5%; top: 30px; }
.gallery-toolbar { scroll-margin-top: 112px; }
@media (max-width: 1050px) {
  .hero { min-height: clamp(620px, calc(100svh - 82px), 860px); }
  .hero-copy { padding: 60px 5% 108px; }
  .hero h1 { font-size: clamp(48px, 6.8vw, 72px); }
  .hero-visual figcaption { right: 5%; }
  .hero-image-counter { right: 5%; }
}
@media (max-width: 760px) {
  .hero { min-height: 680px; min-height: max(650px, calc(100svh - 80px)); }
  .hero-copy { padding: 64px 24px 116px; min-height: inherit; }
  .hero h1 { font-size: clamp(43px, 10.7vw, 64px); }
  .hero-visual { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0; }
  .hero-visual > img { object-position: 58% center; }
  .hero-visual::after {
    background:
      linear-gradient(90deg, rgba(12,12,10,.30), transparent 90%),
      linear-gradient(180deg, rgba(12,12,10,.56) 0%, rgba(12,12,10,.65) 48%, rgba(12,12,10,.88) 100%);
  }
  .hero-visual figcaption { left: 24px; right: 24px; bottom: 25px; max-width: none; text-align: left; }
  .hero-visual figcaption > span:first-child { font-size: 20px; }
  .hero-image-counter { top: 22px; right: 24px; }
  .hero .eyebrow { max-width: calc(100% - 10px); }
  .hero-note { margin-top: 30px; }
}
@media (max-width: 380px) {
  .about-title h2 { font-size: 40px; }
  .hero-copy { padding-left: 20px; padding-right: 20px; }
  .hero h1 { font-size: 40px; letter-spacing: -1.6px; }
  .hero-visual figcaption { left: 20px; right: 20px; }
}

/* Legibility pass for the hosted preview. */
body { font-size: 1rem; }
.eyebrow,
.wordmark small,
.image-label,
.hero-image-counter,
.clients > p,
.gallery-hint,
.gallery-bottom p,
.rate-label,
.draft-note,
.rate-footnote,
.about-meta,
.brief-label,
.lightbox-help,
.footer-status > span { font-size: .75rem; }
.desktop-nav a,
.header-cta,
.button,
.text-link,
.service > p,
.service-link,
.inline-list,
.section-intro,
.process-grid p,
.single-rate > div > p:last-child,
.rate-tabs > button,
.rate-end > p,
.rate-end > a,
.monthly-intro,
.monthly-price span,
.monthly-card li,
.monthly-card .button,
.filter,
.floating-contact,
.lightbox-close,
.footer-links,
.footer-legal { font-size: .875rem; }
.hero-description,
.about-section .about-copy > p:not(.about-lead),
.legal-content,
.contact-brief input,
.contact-brief select,
.contact-brief textarea { font-size: 1rem; }
.hero-note,
.gallery-item > span,
.contact-heading > p:not(.eyebrow),
.faqs summary,
.faqs details p,
.contact-brief label { font-size: .9375rem; }
.brief-privacy,
.footer > div > p,
.footer-status > p { font-size: .8125rem !important; }
.service-image > span,
.contact-brief label > span,
.lightbox-toolbar p { font-size: .75rem; }
.section-intro,
.service > p,
.process-grid p,
.faqs details p,
.contact-heading > p:not(.eyebrow) { line-height: 1.8; }
.button,
.text-link,
.service-link,
.rate-end > a,
.footer a { min-height: 44px; }
@media (max-width: 760px) {
  .hero-description,
  .section-intro,
  .service > p,
  .about-section .about-copy > p:not(.about-lead),
  .faqs details p,
  .legal-content { font-size: 1rem; }
  .filter,
  .gallery-item > span,
  .gallery-bottom .text-link,
  .rate-end > a { font-size: .8125rem; }
  .gallery-bottom p,
  .draft-note,
  .rate-footnote { font-size: .75rem; }
  .hero-actions .button,
  .hero-actions .text-link { font-size: .875rem; }
}
