:root{--ink:#3a2919;--green:#865006;--paper:#fff9ed;--pale:#f4e6c9;--line:#dfccaa}
header{background:#fff9ed}.hero{max-width:none;background:linear-gradient(90deg,rgba(255,249,237,.95),rgba(255,249,237,.86) 39%,rgba(169,104,5,.25)),url('amber-lake.png') center/cover;padding-left:max(36px,calc((100% - 1148px)/2));padding-right:max(36px,calc((100% - 1148px)/2))}
.hero h1 em{color:#875006}.intro,.note,.section-heading>p:last-child,.help-grid p,.steps p,details p{color:#66513b}.portrait{background:rgba(255,242,212,.84);border:1px solid rgba(255,247,227,.7)}.monogram{color:#926014}.portrait-line{background:#b08a4c}.portrait-caption{background:#e8ce9a;color:#4e3218}.trust{background:#eddbb5;color:#66421a}.button:hover{background:#633a05}.help-grid article,.steps article{border-color:#cbb17e}.help-grid span,.steps span{color:#886328}.credential{border-color:#d8bf94}.contact{background:linear-gradient(90deg,rgba(74,40,4,.94),rgba(115,64,4,.84)),url('amber-lake.png') center/cover;color:#fff8e8}.light{background:#fff0cd;color:#613b08}.light:hover{background:#f4dda8}.contact-info{border-color:#aa7f41}a:focus-visible,button:focus-visible,summary:focus-visible{outline-color:#a86a09}.price strong{color:#ffe5aa}
@media(max-width:800px){.hero{padding-left:24px;padding-right:24px;background:linear-gradient(180deg,rgba(255,249,237,.96),rgba(255,249,237,.83) 55%,rgba(169,104,5,.35)),url('amber-lake.png') center/cover}.contact-info{border-color:#aa7f41}}

.welcome{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;border-bottom:1px solid var(--line)}.welcome-heading{align-self:start}.welcome-copy{max-width:710px}.welcome-copy p{margin-bottom:24px}.welcome-copy .button{margin-top:8px}@media(max-width:800px){.welcome{grid-template-columns:1fr;gap:10px}}

.trust{font-size:calc(12px + 2pt)}@media(max-width:800px){.trust{font-size:calc(11px + 2pt)}}

.certificate-link{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}.certificate-link:hover{text-decoration-thickness:2px}
.hero .eyebrow{font-size:calc(11px + 4pt);font-weight:700}

.about{grid-template-columns:.8fr 1.2fr;align-items:start}.about-copy ul{padding-left:22px;margin:24px 0 32px;font-size:16px}.about-copy li{margin-bottom:13px}.about-copy p{margin-bottom:24px}@media(max-width:800px){.about{grid-template-columns:1fr}}

.portrait{display:block;min-height:0;border-radius:140px 140px 6px 6px}.portrait img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%}.portrait-caption{position:relative;line-height:1.5;padding:17px 14px}@media(max-width:800px){.portrait img{height:auto;aspect-ratio:4/5}.portrait{max-width:440px}}
.portrait{border:3px solid #c6a04f;box-shadow:0 0 0 1px #e8cf8c,0 12px 30px rgba(99,58,5,.12)}
/* Subtle warm grading, preserving the original photograph. */
.portrait img{filter:saturate(.52) sepia(.16) contrast(.95) brightness(1.025)}

/* Transparent portrait exposes the continuous hero landscape. */
.portrait{background:transparent;box-shadow:0 0 0 1px #e8cf8c}.portrait img{filter:none;background:transparent;object-position:50% 20%}.portrait-caption{background:rgba(244,225,185,.94)}
/* Upper-body portrait: keep the elbow and hand outside the frame. */
.portrait img{aspect-ratio:1/1;object-fit:cover;object-position:center top;height:auto}
@media(max-width:800px){.portrait img{aspect-ratio:1/1;object-position:center top;height:auto}}

.working{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}.working-copy h3:not(:first-child){margin-top:35px}.working-copy p{font-size:16px;margin-bottom:22px}.working .lead{font-size:17px}@media(max-width:1100px) and (min-width:801px){header{flex-wrap:wrap}header nav{flex-wrap:wrap}}@media(max-width:800px){.working{grid-template-columns:1fr;gap:20px}}

.back-to-top{position:fixed;right:22px;bottom:24px;z-index:20;display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 17px;border:1px solid #c6a04f;border-radius:25px;background:#fff4dc;color:#613b08;box-shadow:0 3px 16px #633a0526;font-size:14px;font-weight:600;text-decoration:none}.back-to-top[hidden]{display:none}.back-to-top:hover{background:#f4dda8}@media(max-width:800px){.back-to-top{bottom:calc(84px + env(safe-area-inset-bottom));right:16px}}

.contact-email{margin-bottom:30px}.contact-email a{font-size:18px;overflow-wrap:anywhere;text-underline-offset:4px}

/* Mobile refinement: calm portrait background and compact navigation. */
@media (max-width: 800px) {
  .hero {
    background-color: #fff9ed;
    background-image: linear-gradient(to bottom, #fff9ed 0%, rgba(255,249,237,.68) 24%, rgba(255,249,237,.24) 65%, rgba(255,249,237,.36) 100%), url('amber-lake.png');
    background-size: 100% 560px, auto 560px;
    background-position: center bottom;
    background-repeat: no-repeat;
  }
  /* A single landscape behind the transparent portrait keeps the horizon continuous. */
  .hero .portrait {
    background: transparent;
  }
  .back-to-top {
    width: 46px;
    height: 46px;
    min-height: 46px;
    padding: 0;
    border-radius: 50%;
    font-size: 0;
    bottom: calc(88px + env(safe-area-inset-bottom, 0px));
    right: 14px;
  }
  .back-to-top::before { content: "↑"; font-size: 24px; line-height: 1; }
  .mobile-bar { padding-bottom: calc(10px + env(safe-area-inset-bottom, 0px)); }
  footer { padding-bottom: calc(120px + env(safe-area-inset-bottom, 0px)); }
}
