.section{padding:110px 7%;max-width:1700px;margin:auto}.section-heading{margin-bottom:65px}.section-heading .eyebrow{margin-bottom:25px;color:var(--muted)}h2{font-family:var(--serif);font-size:clamp(48px,5.2vw,82px);line-height:1.03;letter-spacing:-1.7px}h2 em{color:#77786e}.experience-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.experience-photo{position:relative;margin-left:6%}.experience-photo:before{content:'';position:absolute;top:24px;left:-24px;width:100%;height:100%;border:1px solid #b7b6ac;z-index:-1}.experience-photo img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}.experience-photo figcaption{font-size:12px;letter-spacing:1px;margin-top:14px;color:var(--muted)}.small-label{font-size:12px;letter-spacing:2px;color:var(--muted)}.experience-copy h3{font-family:var(--serif);font-size:49px;line-height:1.08;margin:25px 0}.experience-copy>p{font-size:16px;color:#5e6058;margin:17px 0}.experience-steps{margin:28px 0}.experience-steps>div{display:grid;grid-template-columns:32px 1fr;gap:14px;border-top:1px solid var(--line);padding:17px 0}.experience-steps>div>span{font-family:var(--serif);color:#888;font-size:23px}.experience-steps p{font-size:14px;color:var(--muted)}.experience-steps strong{display:block;font-weight:500;font-size:15px;color:var(--ink);margin-bottom:3px}.text-link{display:inline-flex;justify-content:space-between;align-items:center;gap:25px;border-bottom:1px solid currentColor;padding:10px 0;font-size:14px}.text-link span{font-size:22px;transition:transform .3s}.text-link:hover span{transform:translate(3px,-3px)}.experience-bottom{margin-top:110px;padding-top:40px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:12%}.experience-bottom h3{font-family:var(--serif);font-size:49px;line-height:1.1}.experience-bottom>div>p{color:var(--muted);font-size:16px}details{margin-top:25px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}summary{cursor:pointer;padding:19px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:14px;list-style:none}summary::-webkit-details-marker{display:none}summary>span{font-size:21px;transition:transform .3s}details[open]>summary>span{transform:rotate(45deg)}.details-copy{padding-bottom:20px}.details-copy p{font-size:16px;color:var(--muted);margin-bottom:16px}
.portfolio-section{padding:100px 7%;background:#e9e8e2}.portfolio-heading{display:flex;align-items:end;justify-content:space-between;gap:40px}.portfolio-heading>p{font-size:16px;color:var(--muted);padding-bottom:8px}.portfolio-grid{display:grid;grid-template-columns:1fr .82fr 1fr;gap:55px 35px;align-items:start}.portrait{position:relative;padding:0;text-align:left;display:block;width:100%;overflow:hidden}.portrait:nth-child(3n + 2){margin-top:85px}.portrait img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;transition:transform .75s,filter .75s}.portrait:hover img{transform:scale(1.035);filter:brightness(.93)}.portrait .portrait-label{display:flex;align-items:center;justify-content:space-between;position:relative;background:#e9e8e2;padding-top:13px;font-size:12px;letter-spacing:.8px}.portrait .portrait-label>span{font-size:21px}.portrait .view-mark{position:absolute;top:20px;right:20px;width:40px;height:40px;border:1px solid #fff9;border-radius:50%;color:white;display:grid;place-items:center;font-size:22px;opacity:0;transform:translateY(5px);transition:.3s}.portrait:hover .view-mark,.portrait:focus-visible .view-mark{opacity:1;transform:translateY(0)}.portfolio-more{text-align:center;margin-top:65px}.gallery-count{font-size:12px;color:var(--muted);margin-bottom:18px}.button-outline{border:1px solid #898a80}.button-outline:hover{background:var(--ink);color:var(--paper)}[hidden]{display:none!important}.no-js-gallery{display:flex;gap:20px}.no-js-gallery img{width:30%}.no-js{margin:30px 0}
.about{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding-top:130px;padding-bottom:130px}.about .eyebrow{margin-bottom:30px}.signature{font-family:var(--serif);font-style:italic;font-size:49px;margin-top:45px}.about-copy{padding-top:36px}.about-copy h3{font-family:var(--serif);font-size:29px;line-height:1.4;margin-bottom:27px}.about-copy>p{font-size:16px;color:var(--muted);margin-bottom:22px}.testimonials{text-align:center;padding:80px 15%;background:#dedfd7;position:relative}.testimonials .eyebrow{color:#5b5e50}.quote-mark{display:block;height:105px;font-family:var(--serif);font-size:150px;line-height:1.2;color:#8f9484}.testimonial-content{max-width:880px;margin:auto;min-height:270px}.testimonial-content blockquote{font-family:var(--serif);font-size:clamp(28px,3.3vw,46px);line-height:1.25;margin:0 0 28px}.testimonial-content>p{font-size:16px}.testimonial-content>span{display:block;font-size:12px;color:var(--muted);margin-top:7px}.testimonial-controls{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:24px}.round-button{border:1px solid #9b9e91;border-radius:50%;width:44px;height:44px;transition:.3s}.round-button:hover{background:var(--ink);color:var(--paper)}#quote-index{font-size:12px;letter-spacing:3px}
.section-intro{max-width:680px;color:var(--muted);font-size:16px;margin-top:30px}.price-grid{display:grid;grid-template-columns:1fr 1fr 1.05fr;border:1px solid var(--line)}.price-card{padding:35px 30px;display:flex;flex-direction:column;border-right:1px solid var(--line)}.price-card:last-child{border:0}.price-card h3{font-family:var(--serif);font-size:36px;margin:20px 0 8px;line-height:1.2}.price{font-family:var(--serif);font-size:56px;line-height:1.2}.price>span{font-size:31px}.price-card ul{list-style:none;margin:28px 0 30px;padding:0;flex:1}.price-card li{padding:10px 0 10px 18px;font-size:14px;line-height:1.6;border-top:1px solid var(--line);position:relative}.price-card li:before{content:'·';position:absolute;left:0}.price-card .text-link{font-size:14px;gap:10px}.price-card.featured{background:#262924;color:var(--paper)}.featured .small-label{color:#c4c5b9}.featured li{border-color:#4b4e45}.all-prices{margin-top:30px}.all-prices>summary{font-size:14px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:690px;text-align:left;font-size:14px}caption{text-align:left;font-size:16px;margin:12px 0 20px}th,td{padding:15px 12px;border-bottom:1px solid var(--line)}th{font-weight:500}thead th{color:var(--muted);font-size:12px}td:last-child{white-space:nowrap}.table-note{font-size:12px;color:var(--muted);padding:20px 0}
.art-section{background:#252722;color:var(--paper);display:grid;grid-template-columns:43% 57%;align-items:center}.art-copy{padding:70px 14%}.art-copy h2{font-size:clamp(45px,4.8vw,70px);margin:28px 0}.art-copy h2 em{color:var(--accent)}.art-copy>p:not(.eyebrow){font-size:16px;line-height:1.9;color:#cdcec4;margin-top:20px}.art-copy p.art-quote{font-family:var(--serif);font-size:31px;font-style:italic;color:var(--paper)}.art-photo{height:100%;position:relative;min-height:600px}.art-photo img{width:100%;height:100%;object-fit:cover;position:absolute}.art-photo figcaption{position:absolute;bottom:0;left:0;right:0;padding:20px;color:white;background:linear-gradient(transparent,#0009);font-size:12px;text-align:center}.news{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.news h2{font-size:55px;margin-top:25px}.news>div>p:not(.eyebrow){color:var(--muted);font-size:16px}.social-links{display:flex;gap:35px;margin-top:30px}.social-links>a{font-size:14px;border-bottom:1px solid var(--line);padding:10px 0;min-width:125px;display:flex;justify-content:space-between}.social-links>a:hover{border-color:var(--ink)}
.contact{background:var(--dark);color:var(--paper);padding:60px 7% 70px}.contact-top{display:flex;justify-content:space-between;gap:30px}.contact-top>p:last-child{font-size:12px;letter-spacing:1.3px;text-align:right;color:#a8ac9e}.contact h2{font-size:clamp(70px,10.8vw,155px);line-height:.95;margin:45px 0 55px}.contact h2 em{color:var(--accent)}.contact-bottom{display:flex;align-items:flex-start;justify-content:space-between;gap:40px;border-top:1px solid #4c4f43;padding-top:33px}.contact-mail{font-family:var(--serif);font-size:clamp(24px,3vw,44px);border-bottom:1px solid #858878;line-height:1.8}.contact-mail>span{font-family:var(--sans);font-size:27px;margin-left:35px}.contact-bottom>div>a:first-child{font-size:20px}.contact-bottom address{font-style:normal;font-size:14px;color:#b6b9aa;margin:15px 0}.map-link{font-size:14px;border-bottom:1px solid #676c5b}footer{padding:35px 4.5%;display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-brand>span{font-size:25px}.footer-brand small{font-size:8px}footer>p{font-size:12px;color:var(--muted)}footer>div{display:flex;flex-direction:column;gap:6px;font-size:12px}.back-top{border:1px solid var(--line);width:44px;height:44px;display:grid;place-items:center;flex-shrink:0}
dialog{border:none;padding:0;background:#10110f;color:var(--paper);max-width:none;max-height:none;width:100%;height:100%;overflow:hidden}dialog::backdrop{background:#10110ff5}dialog[open]{display:grid;grid-template-columns:80px 1fr 80px;align-items:center}dialog figure{height:calc(100svh - 100px);margin-top:50px;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0}#lightbox-image{width:100%;height:calc(100% - 38px);object-fit:contain}#lightbox-caption{font-size:12px;text-align:center;padding-top:15px;color:#ccc}.lightbox-close{position:absolute;top:18px;right:28px;font-size:14px;display:flex;align-items:center;gap:20px;z-index:2;min-height:44px}.lightbox-close span{font-size:30px}.lightbox-prev,.lightbox-next{font-size:25px;width:60px;height:60px;border:1px solid #555a4b;border-radius:50%;justify-self:center}body.motion-ready .reveal{opacity:0;transform:translateY(25px);transition:opacity .8s ease,transform .8s ease}body.motion-ready .reveal.visible{opacity:1;transform:translateY(0)}.legal-main{max-width:850px;padding:70px 30px 100px;margin:auto}.legal-main h1{font-family:var(--serif);font-size:64px;line-height:1.05;margin-bottom:45px}.legal-main h2{font-family:var(--sans);font-size:20px;letter-spacing:0;margin:35px 0 15px}.legal-main p{font-size:16px;color:var(--muted);margin-bottom:15px}.legal-main a{text-decoration:underline}
@media(max-width:1100px){.experience-grid,.experience-bottom,.about,.news{gap:7%}.section{padding:85px 6%}.price-card{padding:27px 21px}.price-card h3{font-size:30px}.price-card .small-label{font-size:12px}.art-copy{padding:50px 12%}.art-photo{min-height:600px}.portfolio-grid{gap:35px 22px}.contact-mail>span{margin-left:10px}}
@media(max-width:800px){.section{padding:75px 7%}.section-heading{margin-bottom:45px}h2{font-size:52px}.experience-grid{gap:7%;align-items:start}.experience-copy h3{font-size:37px;margin-top:16px}.experience-photo{margin-top:10px;margin-left:0}.experience-photo:before{left:-14px;top:14px}.experience-steps{margin:20px 0}.experience-bottom{margin-top:65px}.about{gap:7%}.about-copy{padding-top:0}.about-copy h3{font-size:24px}.portfolio-section{padding:75px 6%}.portfolio-grid{gap:30px 18px}.portrait:nth-child(3n + 2){margin-top:40px}.portfolio-heading>p{font-size:14px}.testimonials{padding:65px 10%}.testimonial-content{min-height:260px}.price-grid{grid-template-columns:1fr}.price-card{border-right:0;border-bottom:1px solid var(--line);padding:30px}.price-card h3{font-size:39px}.price-card ul{display:grid;grid-template-columns:1fr 1fr;gap:0 25px;margin-top:25px}.art-section{grid-template-columns:1fr 1fr}.art-copy{padding:40px 12%}.art-copy h2{font-size:43px}.art-photo{min-height:590px}.news h2{font-size:44px}.social-links{gap:20px}.social-links>a{min-width:100px}.contact h2{font-size:95px}.contact-bottom{gap:25px}.contact-mail{font-size:28px}.contact-mail>span{font-size:20px}footer{flex-wrap:wrap}footer>p{order:4;width:100%;text-align:center}}
@media(max-width:600px){.section{padding:65px 7%}.section-heading .eyebrow{margin-bottom:20px}h2{font-size:clamp(42px,10.8vw,58px);letter-spacing:-1px}.experience-grid{grid-template-columns:1fr;gap:44px}.experience-photo{margin-left:12px;margin-right:12px}.experience-photo img{max-height:590px}.experience-copy h3{font-size:46px}.experience-bottom{grid-template-columns:1fr;gap:24px;margin-top:48px}.experience-bottom h3{font-size:42px}.portfolio-section{padding:65px 6%}.portfolio-heading{display:block}.portfolio-heading>p{margin-top:25px;font-size:16px}.portfolio-grid{grid-template-columns:1fr 1fr;gap:30px 15px}.portrait:nth-child(3n + 2){margin-top:0}.portrait:nth-child(even){margin-top:45px}.portrait .portrait-label{font-size:12px;letter-spacing:0;line-height:1.4}.portrait .portrait-label>span{font-size:17px}.portfolio-more{margin-top:40px}.about{grid-template-columns:1fr;gap:40px}.signature{margin-top:30px}.about-copy h3{font-size:28px}.testimonials{padding:60px 8%}.testimonial-content{min-height:325px}.testimonial-content blockquote{font-size:30px}.quote-mark{height:90px;font-size:130px}.section-intro{margin-top:25px}.price-card{padding:28px 25px}.price-card ul{display:block}.price-card h3{font-size:37px}.art-section{display:flex;flex-direction:column}.art-copy{padding:60px 8%}.art-copy h2{font-size:52px}.art-photo{min-height:0;width:100%;height:440px}.art-photo img{object-position:center}.news{grid-template-columns:1fr;gap:28px}.news h2{font-size:44px}.contact{padding:45px 7%}.contact-top{display:block}.contact-top>p:last-child{text-align:left;margin-top:22px}.contact h2{font-size:clamp(65px,17vw,100px);margin:35px 0 40px}.contact-bottom{display:block;padding-top:22px}.contact-mail{font-size:clamp(23px,6.2vw,32px);display:flex;justify-content:space-between}.contact-mail>span{margin-left:8px}.contact-bottom>div{margin-top:30px}footer{padding:35px 7%;gap:25px}.footer-brand>span{font-size:23px}footer>div{order:3;width:100%;gap:12px}footer>p{margin-top:0;text-align:left}.back-top{margin-left:auto}dialog[open]{grid-template-columns:44px 1fr 44px}.lightbox-prev,.lightbox-next{width:38px;height:44px;font-size:22px;border:0}.lightbox-close{right:18px}.legal-main h1{font-size:48px}}
@media(prefers-reduced-motion:reduce){body.motion-ready .reveal{opacity:1;transform:none}}
.skip-link:not(:focus){clip-path:inset(50%);width:1px;height:1px;padding:0;overflow:hidden;white-space:nowrap}.hero .eyebrow{font-size:12px;max-width:95%}.hero-note,.photo-caption,.intro-strip>span{font-size:12px}.scroll-cue{font-size:12px}.hero-description{font-size:16px}.interior-strip{padding:30px 4% 25px;background:#252722;color:#cccfc1}.interior-strip>div{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.interior-strip img{width:100%;aspect-ratio:4/3;height:auto;object-fit:cover}.interior-strip>p{font-size:12px;text-align:center;padding-top:20px}nav>a{font-size:14px}
@media(max-width:1100px){.menu-toggle{display:flex;align-items:center;gap:15px;font-size:14px}.menu-toggle span{font-size:26px}nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:30px 7%;border-bottom:1px solid var(--line);max-height:calc(100svh - 105px);overflow:auto}nav.open{display:flex;flex-direction:column;align-items:stretch;gap:18px}nav>a{font-size:18px}.nav-contact{margin:0;padding-bottom:5px}}
@media(max-width:600px){.hero{min-height:0}.hero-gallery{height:390px}.hero-text{width:100%;padding:30px 26px 38px}.hero .eyebrow{font-size:12px;letter-spacing:1.2px}.hero-description{font-size:16px}.hero .button{font-size:14px}.hero h1{white-space:normal}.interior-strip{padding:20px 6% 25px}.interior-strip>div{grid-template-columns:1fr 1fr;gap:15px}.interior-strip>p{font-size:12px;line-height:1.6}.intro-strip>span{font-size:12px}.intro-strip p{font-size:26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* Preserve each complete portrait in the introductory slideshow. */
.hero-gallery{background:#20211f}.hero-photo{object-fit:contain;object-position:center;transform:none;transition:opacity 1.3s ease}.hero-photo.active{transform:none}
/* Small editorial movements; photographs keep their original framing. */
@keyframes intro-rise{from{opacity:0;translate:0 22px}to{opacity:1;translate:0 0}}
@keyframes line-enter{from{scale:0 1}to{scale:1 1}}
@media(prefers-reduced-motion:no-preference){
 .hero-text>.eyebrow{animation:intro-rise .8s ease both .1s}
 .hero-text h1{animation:intro-rise 1s cubic-bezier(.2,.65,.3,1) both .22s}
 .hero-description{animation:intro-rise .9s ease both .38s}
 .hero-text .button{animation:intro-rise .9s ease both .52s}
 .hero-note{animation:intro-rise .9s ease both .7s}
 .hero-note .fine-line{transform-origin:left;animation:line-enter 1s ease both .85s}
 body.motion-ready .reveal{transition:opacity .9s ease var(--reveal-delay,0ms),transform .9s cubic-bezier(.2,.65,.3,1) var(--reveal-delay,0ms)}
 .portrait{transition:translate .4s ease,box-shadow .4s ease}
 .portrait:hover,.portrait:focus-visible{translate:0 -6px}
 .portrait img,.portrait:hover img{transform:none;filter:none}
 .experience-photo img,.interior-strip img{transition:box-shadow .6s ease,filter .6s ease}
 .experience-photo:hover img,.interior-strip img:hover{box-shadow:0 14px 30px #0002;filter:brightness(1.035)}
 .contact-mail span,.social-links span{display:inline-block;transition:translate .3s ease}
 .contact-mail:hover span,.social-links a:hover span{translate:3px -3px}
 .round-button:hover,.slide-controls button:hover{translate:0 -2px}
 .lightbox-close:hover span{rotate:90deg;transition:rotate .3s ease}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;translate:none!important}body.motion-ready .reveal{opacity:1!important;transform:none!important}}

/* The source is a regular static font: declare its actual weight for bold synthesis in offers. */
@font-face{font-family:ManropeOffers;src:url(assets/sans.woff2) format('woff2');font-display:swap;font-weight:400}
.price-card li.price-enlargement{font-size:18px;line-height:1.5;grid-column:1/-1}.price-enlargement strong{display:block;font-family:ManropeOffers,Arial,sans-serif;font-weight:700}.price-enlargement .enlargement-size{font-size:14px;line-height:1.6}
