*{box-sizing:border-box}html{background:#f4f2ed;color:#111;font-family:Arial,Helvetica,sans-serif}body{margin:0;min-height:100vh}.site-header{height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 3vw;position:relative;z-index:50;background:#f4f2ed}.brand{font-size:clamp(22px,2.2vw,36px);font-weight:800;letter-spacing:-.055em;color:inherit;text-decoration:none}.nav{display:flex;align-items:center;gap:2vw;font-size:11px;font-weight:700;letter-spacing:.09em}.nav a{color:inherit;text-decoration:none}.nav-group{position:relative;padding:38px 0}.dropdown{display:none;position:absolute;top:68px;left:-18px;background:#111;color:#fff;padding:18px;min-width:170px;gap:12px;flex-direction:column}.nav-group:hover .dropdown{display:flex}.menu-toggle{display:none;border:0;background:none;font:inherit;font-size:11px;font-weight:700}.carousel{height:calc(100vh - 92px);position:relative;overflow:hidden;background:#111}.slide{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .8s ease;color:white}.slide.active{opacity:1;pointer-events:auto}.slide img{width:100%;height:100%;object-fit:cover;filter:brightness(.78)}.slide-credit{position:absolute;left:3vw;bottom:5.5vw;text-shadow:0 2px 25px rgba(0,0,0,.35)}.slide-credit h1{font-size:clamp(36px,6vw,96px);line-height:.9;letter-spacing:-.06em;margin:0 0 12px;max-width:900px}.slide-credit p{font-size:11px;font-weight:700;letter-spacing:.15em;margin:0}.carousel-ui{position:absolute;right:3vw;bottom:3vw;color:#fff;z-index:4;display:flex;align-items:center;gap:18px;font-size:11px;letter-spacing:.12em}.carousel-ui button{border:0;background:none;color:#fff;font-size:22px;cursor:pointer}.footer{min-height:76px;padding:0 3vw;display:flex;align-items:center;gap:12px;font-size:9px;font-weight:700;letter-spacing:.12em}.easter{margin-left:auto;border:0;background:none;font-size:18px;cursor:pointer}.verse{opacity:0;transform:translateX(8px);transition:.25s}.verse.show{opacity:.65;transform:none}.portfolio{padding:7vw 3vw}.page-head{margin-bottom:5vw}.page-head p,.eyebrow{font-size:11px;font-weight:700;letter-spacing:.16em}.page-head h1{font-size:clamp(56px,10vw,150px);letter-spacing:-.07em;line-height:.8;margin:18px 0}.work-grid{columns:2;column-gap:1.2vw}.work-card{break-inside:avoid;margin:0 0 1.2vw;position:relative;background:#111;overflow:hidden}.work-card img{display:block;width:100%;height:auto;transition:transform .45s ease,opacity .35s}.work-card figcaption{position:absolute;inset:auto 0 0;padding:22px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.78));opacity:0;transition:.3s}.work-card:hover figcaption,.work-card:focus figcaption{opacity:1}.work-card:hover img{transform:scale(1.015)}.work-card h2{font-size:24px;letter-spacing:-.04em;margin:30px 0 4px}.work-card p,.work-card span{display:block;font-size:10px;letter-spacing:.1em;text-transform:uppercase;margin:4px 0}.about{padding:8vw 8vw 12vw;max-width:1500px}.about-copy{max-width:1050px}.about-copy p{font-size:clamp(24px,3.2vw,50px);line-height:1.08;letter-spacing:-.045em;margin:0 0 1.2em}.credentials{border-top:1px solid #bbb;border-bottom:1px solid #bbb;padding:24px 0;display:flex;justify-content:space-between;gap:20px;font-size:10px;font-weight:700;letter-spacing:.1em}.pro-links{display:flex;gap:30px;margin-top:36px}.pro-links a,.contact-link{color:inherit;font-weight:800;text-decoration:none;border-bottom:2px solid #111;padding-bottom:4px}.contact{padding:9vw 8vw 14vw}.contact h1{font-size:clamp(72px,14vw,210px);line-height:.72;letter-spacing:-.08em;margin:40px 0 60px}.contact>p{font-size:11px;font-weight:700;letter-spacing:.12em}.contact-link{display:table;margin:24px 0;font-size:clamp(20px,3vw,42px)}.location{margin-top:70px!important}
@media(max-width:800px){.site-header{height:72px;padding:0 20px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:72px;left:0;right:0;background:#f4f2ed;padding:20px;flex-direction:column;align-items:flex-start;gap:22px}.nav.open{display:flex}.nav-group{padding:0;width:100%}.dropdown{display:flex;position:static;background:transparent;color:#555;padding:12px 0 0 18px;gap:10px}.carousel{height:calc(100svh - 72px)}.slide-credit{left:20px;right:20px;bottom:90px}.slide-credit h1{font-size:clamp(44px,14vw,72px)}.carousel-ui{left:15px;right:15px;bottom:25px;justify-content:space-between}.footer{padding:0 20px}.portfolio{padding:60px 16px}.work-grid{columns:1}.work-card{margin-bottom:16px}.work-card figcaption{opacity:1}.page-head h1{font-size:18vw}.about,.contact{padding:70px 22px 100px}.about-copy p{font-size:28px}.credentials{flex-direction:column}.pro-links{flex-direction:column;align-items:flex-start}.contact h1{font-size:20vw}}

/* Homepage carousel: portfolio imagery only, no overlaid captions. */
.home .slide img{filter:none}
.home .slide-credit{display:none}

/* Private contact form */
.contact-form-page{max-width:1350px}
.contact-form-page h1{margin-bottom:40px}
.contact-intro{margin-bottom:54px!important}
.contact-form{max-width:900px;display:flex;flex-direction:column;gap:30px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.contact-form label{display:flex;flex-direction:column;gap:10px}
.contact-form label>span{font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.contact-form input,.contact-form textarea{width:100%;border:0;border-bottom:1px solid #777;background:transparent;color:#111;border-radius:0;padding:14px 0;font:inherit;font-size:18px;outline:none}
.contact-form textarea{border:1px solid #aaa;padding:16px;resize:vertical;min-height:170px}
.contact-form input:focus{border-bottom-color:#111}
.contact-form textarea:focus{border-color:#111}
.captcha-row{max-width:360px}
.submit-button{align-self:flex-start;border:0;background:#111;color:#fff;padding:17px 22px;font-size:11px;font-weight:800;letter-spacing:.12em;cursor:pointer}
.submit-button:hover{opacity:.78}
.form-notice{max-width:900px;padding:16px 18px;margin:0 0 28px;font-size:12px;font-weight:700;letter-spacing:.04em;border:1px solid #111}
.form-notice.success{background:#111;color:#fff}
.form-notice.error{background:transparent}
.privacy-note{font-size:9px!important;font-weight:600!important;letter-spacing:.08em!important;opacity:.58;margin:0!important}
.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:800px){.form-grid{grid-template-columns:1fr}.contact-intro{margin-bottom:36px!important}.contact-form{gap:24px}.contact-form input,.contact-form textarea{font-size:16px}.carousel-ui{background:rgba(0,0,0,.18);backdrop-filter:blur(5px);border-radius:999px;padding:3px 8px}}

/* V3 refinements */
.easter{color:#f4f2ed}
.about-visuals{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(220px,.65fr);gap:1.2vw;margin:32px 0 6vw;align-items:end}.about-visuals img{display:block;width:100%;height:auto}.about-portrait{max-height:820px;object-fit:cover}.about-personal{max-height:520px;object-fit:cover}@media(max-width:800px){.about-visuals{grid-template-columns:1fr;gap:16px;margin:24px 0 50px}.about-personal{max-height:none}}

/* V4 refinements */
/* Keep the John 3:16 trigger visually hidden against the footer background. */
.footer .easter,
.footer .easter:hover,
.footer .easter:focus,
.footer .easter:active{
  color:#f4f2ed!important;
  -webkit-text-fill-color:#f4f2ed!important;
  background:#f4f2ed!important;
  border:0!important;
  outline:0;
  appearance:none;
  -webkit-appearance:none;
}

/* About: editorial copy left, compact personal image stack right. */
.about-v4{max-width:1580px;padding-left:6vw;padding-right:6vw}
.about-v4 .about-layout{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(250px,.62fr);gap:clamp(36px,6vw,110px);align-items:start;margin:34px 0 6vw}
.about-v4 .about-copy{max-width:none}
.about-v4 .about-copy p{font-size:clamp(22px,2.55vw,42px);line-height:1.1}
.about-images{position:relative;display:flex;flex-direction:column;gap:18px;padding-top:8px;max-width:420px;justify-self:end}
.about-images img{display:block;width:100%;height:auto;object-fit:cover}
.about-images .about-portrait{aspect-ratio:4/5;max-height:none}
.about-images .about-personal{width:78%;align-self:flex-end;aspect-ratio:1/1;max-height:none;margin-top:-44px;border:8px solid #f4f2ed;transform:rotate(2deg)}

/* Contact: every visible form field uses the same width and box treatment. */
.contact-form-page .contact-form{width:min(100%,900px)}
.contact-form-page .form-grid{display:flex;flex-direction:column;gap:30px;width:100%}
.contact-form-page .contact-form label{width:100%;max-width:none}
.contact-form-page .contact-form input,
.contact-form-page .contact-form textarea{
  width:100%;
  border:1px solid #aaa;
  background:transparent;
  padding:16px;
  min-height:56px;
}
.contact-form-page .contact-form textarea{min-height:180px}
.contact-form-page .contact-form input:focus,
.contact-form-page .contact-form textarea:focus{border-color:#111}
.contact-form-page .captcha-row{max-width:none}

@media(max-width:800px){
  .about-v4{padding-left:22px;padding-right:22px}
  .about-v4 .about-layout{grid-template-columns:1fr;gap:34px;margin-top:24px}
  .about-v4 .about-copy p{font-size:27px}
  .about-images{max-width:330px;justify-self:start;padding-top:0}
  .about-images .about-personal{margin-top:-34px}
  .contact-form-page .form-grid{gap:24px}
}


/* V5 final refinements */
.footer{background:#f4f2ed;position:relative;flex-wrap:wrap}
.footer-links{display:flex;gap:18px;margin-left:auto}
.footer-links a{color:#111;text-decoration:none;font-size:9px;font-weight:700;letter-spacing:.12em}
.footer .easter,.footer .easter:hover,.footer .easter:focus,.footer .easter:active{color:#f4f2ed!important;-webkit-text-fill-color:#f4f2ed!important;background:#f4f2ed!important;box-shadow:none!important;text-shadow:none!important}
.footer .verse{color:#f4f2ed!important;-webkit-text-fill-color:#f4f2ed!important;opacity:1!important;text-shadow:none!important}
.footer .verse.show{color:#111!important;-webkit-text-fill-color:#111!important;opacity:.55!important}
/* Keep About photos compact and genuinely beside the biography on desktop. */
.about-v4 .about-layout{grid-template-columns:minmax(0,2.25fr) minmax(220px,.52fr);gap:clamp(30px,5vw,80px);align-items:start}
.about-images{width:100%;max-width:330px;justify-self:end;gap:12px;padding-top:4px}
.about-images .about-portrait{aspect-ratio:4/5}
.about-images .about-personal{width:70%;margin-top:-28px;border-width:6px}
/* Contact fields share an identical width and input height; message stays taller for writing. */
.contact-form-page .contact-form input{height:58px;min-height:58px}
.contact-form-page .contact-form textarea{min-height:180px}
@media(max-width:800px){
 .footer{gap:10px 14px;padding-top:18px;padding-bottom:18px}
 .footer-links{order:3;width:100%;margin-left:0;gap:16px}
 .about-v4 .about-layout{grid-template-columns:1fr}
 .about-images{max-width:280px;justify-self:start}
 .about-images .about-personal{width:68%;margin-top:-22px}
}

/* V6: genuinely invisible Easter-egg trigger — no cross/glyph rendered. */
.footer .easter,
.footer .easter:hover,
.footer .easter:focus,
.footer .easter:active{
  position:absolute!important;
  right:8px!important;
  bottom:8px!important;
  width:28px!important;
  height:28px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  color:transparent!important;
  -webkit-text-fill-color:transparent!important;
  box-shadow:none!important;
  text-shadow:none!important;
  font-size:0!important;
  opacity:0!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  cursor:default;
}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* V7 About: compact editorial photos integrated beside the biography. */
@media (min-width:801px){
  .about-v4{max-width:1500px;padding:7vw 6vw 10vw}
  .about-v4 .about-layout{display:grid!important;grid-template-columns:minmax(0,1.8fr) 260px!important;gap:clamp(32px,4vw,64px)!important;align-items:start!important;margin:28px 0 4vw!important}
  .about-v4 .about-copy{grid-column:1!important;min-width:0}
  .about-v4 .about-copy p{font-size:clamp(21px,2.25vw,36px)!important;line-height:1.12!important}
  .about-v4 .about-images{grid-column:2!important;grid-row:1!important;width:260px!important;max-width:260px!important;justify-self:end!important;align-self:start!important;display:grid!important;gap:14px!important;padding:0!important;margin:0!important;position:sticky!important;top:112px!important}
  .about-v4 .about-images .about-portrait{width:230px!important;max-width:230px!important;aspect-ratio:4/5!important;justify-self:end!important;object-fit:cover!important}
  .about-v4 .about-images .about-personal{width:165px!important;max-width:165px!important;aspect-ratio:1/1!important;justify-self:start!important;align-self:auto!important;margin:-28px 0 0 0!important;border:5px solid #f4f2ed!important;transform:rotate(1.5deg)!important;object-fit:cover!important}
}
@media (max-width:800px){
  .about-v4 .about-layout{display:grid!important;grid-template-columns:minmax(0,1fr) 104px!important;gap:18px!important;align-items:start!important}
  .about-v4 .about-copy p{font-size:24px!important}
  .about-v4 .about-images{grid-column:2!important;grid-row:1!important;width:104px!important;max-width:104px!important;justify-self:end!important;display:grid!important;gap:8px!important;margin:0!important;padding:0!important}
  .about-v4 .about-images .about-portrait{width:104px!important;aspect-ratio:4/5!important;object-fit:cover!important}
  .about-v4 .about-images .about-personal{width:76px!important;aspect-ratio:1/1!important;margin:-14px 0 0 -12px!important;border:3px solid #f4f2ed!important;object-fit:cover!important}
}
