:root{color-scheme:dark;--bg:#141516;--surface:#1e1e1f;--copper:#dfa080;--cream:#f4e9dc;--muted:#b7ada3;--line:rgba(223,160,128,.3)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at 15% 8%,#292624 0,transparent 40%),radial-gradient(ellipse at 85% 65%,#24201f 0,transparent 38%),var(--bg);color:var(--cream);font-family:Arial,Helvetica,sans-serif;line-height:1.6}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath filter='url(%23n)' opacity='.7' d='M0 0h160v160H0z'/%3E%3C/svg%3E")}.icon-defs{position:absolute;width:0;height:0;overflow:hidden}.page{width:min(100% - 40px,660px);margin:auto}.brand{text-align:center;padding-top:42px}.eyebrow{font-size:11px;letter-spacing:.23em;text-transform:uppercase;color:var(--copper);margin:0 0 16px}.city{display:flex;align-items:center;justify-content:center;gap:22px;color:var(--cream)}.city span{height:1px;width:45px;background:var(--line)}.logo{display:block;width:min(80%,340px);height:auto;margin:28px auto 35px}.intro{text-align:center}.welcome{font-size:9px;color:var(--muted);letter-spacing:.16em}h1,h2,h3,.motto{font-family:Georgia,"Times New Roman",serif;font-weight:400}h1{font-size:clamp(43px,8.6vw,70px);line-height:1.05;letter-spacing:-.045em;margin:0 0 19px}h1 span{white-space:nowrap}.specialty{font-size:clamp(11px,2.5vw,14px);letter-spacing:.11em;margin:0;color:var(--cream)}.fine-rule{width:110px;height:1px;background:linear-gradient(90deg,transparent,var(--copper),transparent);margin:28px auto 21px}.motto{font-style:italic;font-size:clamp(22px,4.8vw,29px);line-height:1.4;margin:0 0 30px;color:#ecd0b8}.portrait{position:relative;max-width:390px;margin:0 auto 32px;aspect-ratio:1.05;border:1px solid #966b50;border-radius:24px;padding:8px;background:linear-gradient(135deg,rgba(223,160,128,.06),transparent)}.portrait-inner{border:1px solid rgba(223,160,128,.1);border-radius:17px;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at 45% 40%,#37312b,#1c1c1c 70%);gap:10px}.monogram{font-family:Georgia,serif;font-size:80px;color:#b48667;opacity:.65;font-style:italic;line-height:1.2}.portrait-note{font-size:11px;color:#a49a8c;letter-spacing:.05em}.portrait-caption{position:absolute;bottom:25px;left:27px;font-size:9px;text-align:left;letter-spacing:.1em;text-transform:uppercase;line-height:1.8;color:#c5b39f}.actions{max-width:500px;margin:auto}.button{display:flex;gap:14px;align-items:center;justify-content:center;width:100%;min-height:62px;border-radius:13px;padding:16px 20px;color:var(--cream);text-decoration:none;font-size:16px;line-height:1.3;transition:background .2s,transform .2s;border:1px solid var(--copper)}.button:hover{transform:translateY(-2px);background-color:#352820}.button:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #ffe2bf;outline-offset:5px}.button.primary{background:linear-gradient(125deg,#f0bb91,#cb8c64);color:#22170f;border-color:#e2ab81;font-weight:600}.button.primary:hover{background:linear-gradient(125deg,#f7cda7,#d99b75)}.button.secondary{background:rgba(12,12,12,.25)}.icon{width:22px;height:22px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.button .arrow{margin-left:auto;width:20px}.button>span{flex:1;text-align:center}.booking-note{font-size:11px;color:var(--muted);text-align:center;margin:10px 0 21px}.phone-number{display:block;text-align:center;text-decoration:none;font-size:20px;letter-spacing:.14em;color:var(--cream);margin:20px 0 0;font-variant-numeric:tabular-nums}.about,.portfolio{border-top:1px solid var(--line);margin-top:43px;padding-top:32px}h2{font-size:clamp(31px,6vw,42px);line-height:1.17;margin:0 0 18px;letter-spacing:-.025em}.about>p:not(.eyebrow){font-size:15px;color:var(--muted);max-width:540px}.locations{display:flex;gap:12px;margin-top:23px}.locations span{border:1px solid var(--line);border-radius:30px;padding:5px 15px;font-size:12px}.locations i{display:inline-block;width:5px;height:5px;background:var(--copper);border-radius:50%;margin-right:7px;vertical-align:middle}.section-heading{display:flex;align-items:center;justify-content:space-between}.section-heading h2{margin:0}.section-heading .eyebrow{margin-bottom:10px}.section-index{font-size:11px;letter-spacing:.12em;color:var(--muted)}.section-description{font-size:13px;color:var(--muted);margin:17px 0 22px}.comparison{position:relative;isolation:isolate;width:100%;aspect-ratio:1.5;overflow:hidden;background:#242220;border:1px solid #91694f;border-radius:18px}.compare-panel{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;font-size:12px;color:#ada093;background:radial-gradient(ellipse at 70% 25%,#39332d,#242321)}.before-panel{clip-path:inset(0 calc(100% - var(--split)) 0 0);background:radial-gradient(ellipse at 20% 80%,#292b2b,#34322f)}.photo-icon{font-size:48px;color:#8d7764;line-height:1}.compare-panel>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.image-label{position:absolute;top:15px;border:1px solid #6d5b4d;background:rgba(20,20,20,.65);border-radius:22px;padding:3px 16px;font-size:11px;color:var(--cream);z-index:2}.before-label{left:15px}.after-label{right:15px}.split-line{position:absolute;left:var(--split);top:0;bottom:0;width:1px;background:#dca27c;pointer-events:none;z-index:3}.split-line span{position:absolute;left:0;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:44px;height:44px;background:#e6ad84;border:1px solid #efc5a6;color:#211811;font-size:24px;border-radius:50%;letter-spacing:3px;padding-left:3px}.compare-range{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:ew-resize;z-index:4;touch-action:pan-y}.comparison:focus-within{outline:2px solid #f3cbad;outline-offset:5px}.slider-note{font-size:11px;text-align:center;color:var(--muted);margin:14px 0}.case-details h3{font-size:23px;margin:22px 0 7px}.case-details p{font-size:13px;color:var(--muted)}.gallery-nav{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:18px}.gallery-nav[hidden],.case-details[hidden]{display:none}.gallery-nav button{font-size:22px;width:44px;height:44px;border:1px solid var(--line);background:transparent;color:var(--cream);border-radius:50%;cursor:pointer}.gallery-nav span{font-size:12px;color:var(--muted)}.save-contact{margin:35px auto 0;max-width:500px}.contact-note{text-align:center;font-size:11px;color:var(--muted);margin:11px 0}footer{border-top:1px solid var(--line);text-align:center;padding:28px 0 35px;margin-top:38px}footer img{max-width:180px;height:auto;opacity:.8}footer p{font-size:10px;letter-spacing:.15em;color:var(--muted);margin:10px 0}.footer-note{font-family:Georgia,serif;font-style:italic;letter-spacing:0;font-size:13px}@media(min-width:800px){.page{max-width:680px}.brand{padding-top:54px}.portrait{max-width:360px}.about,.portfolio{margin-top:55px}.intro h1{font-size:70px}.actions{max-width:500px}}@media(max-width:360px){.page{width:calc(100% - 28px)}h1{font-size:39px}.button{font-size:14px;padding-inline:13px}.specialty{letter-spacing:.04em}.portrait-caption{font-size:8px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Approved portrait layout: quiet controls and a full-size portfolio. */
.page{width:min(100% - 40px,760px)}.brand{padding-top:38px}.logo{max-width:300px;margin-bottom:42px}h1{font-size:clamp(40px,8.2vw,66px);margin-bottom:20px}.specialty{letter-spacing:.09em}.portrait-cutout{max-width:420px;width:90%;aspect-ratio:4/5;border:0;border-radius:0;padding:0;background:none;margin:32px auto 48px}.portrait-cutout .portrait-inner{border:0;border-radius:0;background:none;display:block;position:relative}.portrait-cutout img{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 10px 24px rgba(184,118,78,.1));mask-image:linear-gradient(#000 0%,#000 82%,transparent 100%)}.actions{max-width:560px}.button,.button.primary,.button.secondary{background:rgba(18,18,18,.6);border:1px solid rgba(207,148,111,.62);border-radius:7px;color:#eee4d8;font-weight:400;min-height:60px;font-size:16px;padding:17px 22px;box-shadow:none}.button.primary{border-color:#c58d69}.button:hover,.button.primary:hover{background:#25201d;transform:none;border-color:#e6b18d}.button .icon{color:#ce9470;width:21px;height:21px}.button .arrow{width:18px}.booking-note{margin:13px 0 30px;font-size:11px}.actions .motto{margin:46px -12px 0;font-size:clamp(24px,5.2vw,32px);line-height:1.5;color:#dfa580}.portfolio{border:0;padding-top:0;margin-top:64px}.section-heading{justify-content:center;text-align:center;position:relative}.section-heading h2{font-size:clamp(40px,8vw,52px);margin-bottom:12px}.section-heading .eyebrow{color:#c7bcb1;font-size:10px}.section-index{position:absolute;right:0;bottom:-20px}.section-description{text-align:center;margin:12px 0 28px}.comparison{aspect-ratio:4/3;border-color:#ac7b59;border-radius:12px}.compare-panel{font-size:13px}.photo-icon{font-size:60px}.image-label{top:18px}.before-label{left:18px}.after-label{right:56px}.split-line span{width:46px;height:46px}.expand-image{position:absolute;right:8px;top:10px;width:40px;height:40px;border:0;background:rgba(15,15,15,.45);border-radius:6px;font-size:27px;color:#eee2d5;z-index:6;cursor:pointer}.expand-image[hidden]{display:none}.slider-note{margin:17px 0}.photo-series{margin-top:44px}.photo-series h3{font-size:27px;text-align:center;margin:0 0 24px}.photo-placeholder{aspect-ratio:4/3;display:flex;flex-direction:column;gap:12px;align-items:center;justify-content:center;border:1px solid #8c654d;border-radius:12px;background:radial-gradient(ellipse,#2c2925,#1b1b1b);color:#a99b8e}.photo-placeholder>span{font-size:60px;line-height:1}.photo-placeholder p{font-size:13px;margin:0}.photo-gallery{display:grid;gap:26px}.photo-work{margin:0}.photo-work button{display:block;padding:0;width:100%;border:1px solid var(--line);border-radius:12px;background:#1a1a1a;overflow:hidden;cursor:zoom-in;position:relative}.photo-work img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.photo-work button:after{content:'⤢';position:absolute;right:12px;top:8px;color:#fff;font-size:28px;text-shadow:0 1px 5px #000}.photo-work figcaption{font-size:13px;color:var(--muted);padding-top:10px}.save-contact{max-width:560px;margin-top:44px}.contact-note{margin-top:14px}footer{margin-top:50px}#image-viewer{width:min(96vw,1200px);max-width:96vw;max-height:94dvh;overflow:auto;background:#151515;border:1px solid #9d7357;border-radius:10px;color:var(--cream);padding:54px 16px 18px}#image-viewer::backdrop{background:rgba(0,0,0,.9)}.viewer-close{position:absolute;top:7px;right:12px;width:40px;height:40px;border:0;background:none;color:var(--cream);font-size:32px;cursor:pointer}#viewer-content img{width:100%;max-height:75dvh;object-fit:contain;display:block}#viewer-content .comparison{width:100%;max-height:75dvh;aspect-ratio:4/3}#viewer-content .compare-range{touch-action:pan-y}#viewer-caption{text-align:center;font-size:14px;margin:15px 0 0}@media(min-width:800px){.portrait-cutout{max-width:430px;margin-bottom:55px}.portfolio{margin-top:80px}.actions .motto{margin-top:55px}.comparison,.photo-placeholder{aspect-ratio:4/3}}@media(max-width:360px){.page{width:calc(100% - 28px)}h1{font-size:38px}.button{font-size:14px;padding:15px 14px}.specialty{font-size:10px;letter-spacing:.04em}}
/* Small emblem on the scrub top, with quieter interface outlines. */
.brand{padding-top:30px;padding-bottom:25px}.brand .city{margin-bottom:0}.intro h1{margin-top:0}.portrait-cutout{position:relative}.portrait-cutout .portrait-emblem{position:absolute;right:16%;top:70%;width:27%;height:auto;object-fit:contain;mask-image:none;filter:none;opacity:.57;mix-blend-mode:multiply;transform:rotate(-2deg);pointer-events:none}.button,.button.primary,.button.secondary{border-color:rgba(204,150,115,.25);background:rgba(24,23,22,.27);border-radius:7px;box-shadow:0 0 13px rgba(211,153,115,.025);backdrop-filter:blur(7px)}.button.primary{border-color:rgba(204,150,115,.38)}.button:hover,.button.primary:hover{border-color:rgba(220,171,139,.65);background:rgba(48,40,34,.5)}.button .icon{color:rgba(222,164,128,.76)}.booking-note{color:#b4aaa0;font-size:10px}.section-heading h2{margin-bottom:27px}.section-description[hidden]{display:none}.photo-series{margin-top:40px}.save-contact{margin-bottom:64px}.photo-placeholder p{color:#b6aaa0}
/* Exact approved portrait, displayed through a crop viewport; no regenerated face. */
.portrait-approved{width:100%;max-width:500px;aspect-ratio:862/680;margin:28px auto 0;padding:0;overflow:hidden;mask-image:linear-gradient(#000 0%,#000 88%,transparent 100%)}.portrait-approved .portrait-inner{position:relative;height:100%;overflow:hidden}.portrait-approved .portrait-inner>img{position:absolute;display:block;left:0;top:-51.470588%;width:100%;height:auto;max-width:none;object-fit:initial;object-position:initial;mask-image:none;filter:none;border-radius:0}.portrait-signature{display:block;width:185px;max-width:45%;height:auto;margin:24px auto 42px;opacity:.78}@media(min-width:800px){.portrait-approved{max-width:500px;margin-bottom:0}.portrait-signature{margin-bottom:48px}}@media(max-width:360px){.portrait-signature{width:160px;margin-top:20px;margin-bottom:34px}}
/* Restore the supplied reference layout. */
body{background:#101010}.page{width:min(86%,650px)}.brand{padding:28px 0 0}.city{font-size:10px;letter-spacing:.25em;gap:18px}.city span{width:48px;background:#ae7654}.brand .logo{display:block;width:64%;max-width:340px;height:auto;margin:22px auto 26px;opacity:1}.intro h1{font-size:clamp(31px,7.65vw,62px);line-height:1.12;letter-spacing:-.04em;margin:0 0 15px}.specialty{font-size:clamp(9px,2.2vw,13px);letter-spacing:.15em;white-space:nowrap}.portrait-approved{width:calc(100% + 46px);max-width:none;margin:20px -23px 0;aspect-ratio:862/680;mask-image:linear-gradient(#000 0%,#000 94%,transparent 100%)}.portrait-approved .portrait-inner>img{top:-51.470588%;width:100%;height:auto}.actions{max-width:none;margin-top:0}.button,.button.primary,.button.secondary{background:#111;border:1px solid #ce956f;border-radius:10px;box-shadow:none;backdrop-filter:none;min-height:59px;padding:16px 20px;font-size:clamp(14px,3.1vw,18px);color:#f2ebe2;font-weight:400}.button.primary{border-color:#dfa47d}.button:hover,.button.primary:hover{background:#221d19;border-color:#edbb97}.button .icon{color:#dfa47d;width:23px;height:23px}.booking-note{font-size:clamp(9px,2.1vw,12px);margin:9px 0 19px;line-height:1.5;color:#b9b1a7}.actions .motto{font-size:clamp(14px,3.32vw,25px);line-height:1.5;margin:14px -12px 0;white-space:nowrap;color:#edbb95;font-style:italic}.portfolio{border-top:1px solid #a77653;margin-top:19px;padding-top:19px}.section-heading h2{font-size:clamp(33px,7.1vw,48px);margin:0 0 5px}.section-heading .eyebrow{font-size:9px;letter-spacing:.27em;margin:0 0 22px}.comparison{aspect-ratio:3.7;border:1px solid #b98159;border-radius:12px;background:#1e1d1c}.compare-panel{background:radial-gradient(ellipse at 80% 20%,#302e2b,#1b1b1b)}.before-panel{background:radial-gradient(ellipse at 20% 80%,#282725,#1b1b1b)}.compare-panel>span:not(.photo-icon){display:none}.photo-icon{font-size:40px;color:#736a61;opacity:.6}.image-label{font-size:10px;top:10px;padding:2px 13px;border-color:#504a43}.before-label{left:12px}.after-label{right:12px}.split-line span{width:37px;height:37px;font-size:22px;background:#e9ad80}.save-contact{max-width:none;margin:26px 0 48px}.photo-series[hidden]{display:none}@media(min-width:800px){.portrait-approved{width:calc(100% + 64px);margin:25px -32px 0;max-width:none}.brand{padding-top:30px}.actions .motto{margin-top:20px}.portfolio{margin-top:22px;padding-top:22px}.comparison{aspect-ratio:3.7}}@media(max-width:360px){.page{width:88%}.brand .logo{margin-bottom:23px}.intro h1{font-size:29px}.specialty{font-size:8px;letter-spacing:.12em}.actions .motto{font-size:12px}.button{padding:14px;min-height:54px}.comparison{aspect-ratio:3.2}.portrait-approved{margin-top:18px}}
/* Final approved composition: low watermark and full portfolio. */
.brand{padding:24px 0 24px}.intro h1{margin-top:0}.portrait-approved{position:relative;isolation:isolate;margin-top:18px}.portrait-approved .portrait-watermark{position:absolute;left:29%;top:auto;bottom:4%;width:42%;height:auto;object-fit:contain;mask-image:none;filter:none;opacity:.4;pointer-events:none;z-index:2}.button,.button.primary,.button.secondary{background:rgba(18,18,18,.25);border-color:transparent;box-shadow:none;position:relative;isolation:isolate}.button:before{content:'';position:absolute;inset:0;border:1px solid rgba(207,151,113,.2);border-radius:inherit;filter:blur(.55px);pointer-events:none}.button.primary:before{border-color:rgba(207,151,113,.24)}.button:hover,.button.primary:hover{border-color:transparent;background:rgba(37,31,27,.55)}.button:hover:before{border-color:rgba(222,171,136,.45)}.button:focus-visible{outline:2px solid #e6b591;outline-offset:5px}.portfolio{margin-top:19px}.comparison{aspect-ratio:2.8}.gallery-nav{margin:15px 0 0}.photo-series{margin-top:25px}.photo-series h3{display:flex;align-items:center;gap:18px;font-size:27px;margin-bottom:22px}.photo-series h3:before,.photo-series h3:after{content:'';height:1px;background:rgba(205,146,103,.3);flex:1}.photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.gallery-empty{position:relative;aspect-ratio:1.35;display:flex;align-items:center;justify-content:center;border:1px solid rgba(203,147,108,.24);border-radius:12px;background:radial-gradient(ellipse at 50% 30%,#2b2824,#191919);color:#81796f}.gallery-empty>span{font-size:45px;line-height:1;opacity:.7}.gallery-empty>p{position:absolute;left:12px;bottom:9px;font-size:11px;margin:0;color:#aea296}.portfolio-empty-note{text-align:center;font-size:11px;color:#a99d92;margin:18px 0 0}.photo-work[hidden]{display:none}.photo-work img{aspect-ratio:1.35}.photo-work figcaption{font-size:11px}.photo-series>.button{margin-top:25px;font-size:14px}#show-all-works[hidden]{display:none}.save-contact{margin-top:34px}.section-heading .eyebrow{color:#bbb1a6}.compare-panel{color:#a69a8f}.viewer-series{display:grid;gap:18px}@media(max-width:360px){.brand{padding-bottom:22px}.photo-gallery{gap:10px}.photo-series h3{font-size:24px}.comparison{aspect-ratio:2.3}}@media(min-width:800px){.brand{padding-top:28px;padding-bottom:28px}.portrait-approved{margin-top:22px}.comparison{aspect-ratio:2.8}}

/* Feather the portrait viewport into the page without changing the photograph. */
.portrait-approved{mask-image:none;-webkit-mask-image:none;overflow:visible}.portrait-approved .portrait-inner{-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 13%,#000 85%,transparent 100%),linear-gradient(to right,transparent 0%,#000 10%,#000 90%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,#000 13%,#000 85%,transparent 100%),linear-gradient(to right,transparent 0%,#000 10%,#000 90%,transparent 100%);-webkit-mask-composite:source-in;mask-composite:intersect;overflow:hidden}.portrait-approved .portrait-watermark{opacity:.4}
/* Center the slogan inside the same width as the controls. */
.actions .motto{display:block;width:100%;max-width:100%;margin:18px auto 0;padding:0 2px;text-align:center;white-space:normal;text-wrap:balance;line-height:1.5;font-size:clamp(14px,3.1vw,24px)}

/* Enlarged comparison and gallery opened from a single button. */
.portfolio #comparison{aspect-ratio:4/3}
.all-works-button{width:100%;margin-top:26px;cursor:pointer;font-family:inherit}
#portfolio-gallery{width:min(92vw,900px);max-height:88dvh;box-sizing:border-box;overflow:auto;border:1px solid rgba(207,151,113,.3);border-radius:16px;background:#141414;color:var(--cream);padding:36px 24px 24px}
#portfolio-gallery::backdrop{background:rgba(0,0,0,.85);backdrop-filter:blur(5px)}
#gallery-title{text-align:center;font-family:Georgia,serif;font-size:30px;margin:0 30px 26px}
.gallery-close{position:absolute;top:8px;right:12px;width:40px;height:40px;border:0;background:none;color:var(--cream);font-size:32px;cursor:pointer}
#portfolio-gallery .photo-work{margin:0;min-width:0}
#portfolio-gallery .photo-work button{display:block;width:100%;padding:0;border:0;border-radius:10px;overflow:hidden;background:#1d1d1d;cursor:zoom-in}
#portfolio-gallery .photo-work img{display:block;width:100%;aspect-ratio:1;object-fit:cover}
#portfolio-gallery .photo-work figcaption{margin-top:10px;line-height:1.5}
#portfolio-gallery .portfolio-empty-note{font-size:15px;margin:30px 0}

.portrait-approved .portrait-watermark{opacity:.82}
