
:root{--paper:#f5f1e8;--ink:#282825;--muted:#6c6962;--rust:#b24b3e;--sage:#6d7865;--line:#d8d1c5;--white:#fff;--dark:#242421;--serif:Georgia,"Times New Roman",serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.6}img{max-width:100%;display:block}a{color:inherit}.container{width:min(1180px,92vw);margin:auto}
.logo-stage{background:var(--paper);text-align:center;padding:26px 20px 18px;border-bottom:1px solid rgba(40,40,37,.08)}.logo-wrap{display:inline-block;position:relative}.logo-wrap img{width:min(580px,80vw);margin:auto;opacity:0;transform:translateY(6px);animation:logoIn 1.1s ease .15s forwards}.logo-glow{position:absolute;left:50%;top:12%;width:38%;height:45%;transform:translateX(-50%);border-radius:50%;background:rgba(207,83,57,.20);filter:blur(28px);opacity:0;animation:sunrise 2.7s ease .35s forwards;pointer-events:none}@keyframes logoIn{to{opacity:1;transform:none}}@keyframes sunrise{0%{opacity:0}45%{opacity:.15}100%{opacity:1}}
.tagline{font-family:var(--serif);font-size:clamp(1.3rem,2.5vw,2rem);margin-top:5px}.tagline em{color:var(--rust)}.motif{font-size:.76rem;text-transform:uppercase;letter-spacing:.2em;color:var(--muted);margin-top:7px}
.site-header{position:sticky;top:0;z-index:60;background:rgba(245,241,232,.96);backdrop-filter:blur(10px);border-bottom:1px solid rgba(40,40,37,.08)}.nav{min-height:62px;display:flex;justify-content:center;align-items:center}.nav-links{display:flex;gap:27px;align-items:center;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}.nav-links a{text-decoration:none}.nav-links a:hover{color:var(--rust)}.menu-btn{display:none;border:0;background:none;font-size:1.7rem}
.hero{position:relative;min-height:72vh;display:grid;align-items:end;background:#111;overflow:hidden}.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.4s ease}.hero-slide.active{opacity:1}.hero-slide img{width:100%;height:100%;object-fit:cover;filter:brightness(.72)}.hero-content{position:relative;z-index:2;color:#fff;padding:0 0 70px}.hero-content h1{font-family:var(--serif);font-weight:400;line-height:1.02;font-size:clamp(3rem,7vw,6.5rem);max-width:950px;margin:0}.hero-content h1 em{font-weight:400}.hero-content p{font-size:1.14rem;max-width:760px;color:#f0efea}.btn{display:inline-block;padding:14px 22px;background:var(--rust);color:#fff;text-decoration:none;border-radius:2px;font-weight:700;letter-spacing:.04em}.btn.alt{background:transparent;border:1px solid currentColor}
.section{padding:92px 0}.section.alt{background:#eee8dd}.section.dark{background:var(--dark);color:#fff}.eyebrow{color:var(--rust);font-weight:700;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;margin-bottom:14px}h2,h3{font-family:var(--serif);font-weight:500;line-height:1.12;margin:0 0 16px}h2{font-size:clamp(2.3rem,5vw,4.6rem)}h3{font-size:1.8rem}.lead{font-family:var(--serif);font-size:clamp(1.65rem,3vw,2.6rem);line-height:1.32}.intro-grid,.about-grid,.contact-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:70px;align-items:center}.rule{width:90px;height:2px;background:var(--rust);margin:24px 0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:#fff}.card img{height:320px;width:100%;object-fit:cover}.copy{padding:22px}.copy p{color:var(--muted)}
.full-photo{position:relative;height:68vh;min-height:520px}.full-photo img{width:100%;height:100%;object-fit:cover;filter:none}.caption-band{position:absolute;left:0;right:0;bottom:0;background:rgba(245,241,232,.90);padding:26px max(5vw,30px);display:grid;grid-template-columns:.45fr 1.55fr;gap:35px;align-items:center;backdrop-filter:blur(3px)}.caption-band h3{font-size:clamp(2rem,4vw,3.5rem);margin:0}.caption-band p{margin:0;color:#4f4c46;font-size:1.05rem}
.materials{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.materials figure{margin:0;position:relative;overflow:hidden}.materials img{height:260px;width:100%;object-fit:cover;transition:transform .5s ease}.materials figure:hover img{transform:scale(1.04)}.materials figcaption{position:absolute;left:12px;bottom:10px;background:rgba(36,36,33,.72);color:#fff;padding:7px 10px;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}
.quote-band{text-align:center;background:#292926;color:#fff;padding:78px 0}.quote{font-family:var(--serif);font-size:clamp(1.9rem,4vw,3.6rem);max-width:1020px;margin:0 auto 20px}.quote-by{text-transform:uppercase;letter-spacing:.15em;font-size:.76rem;color:#d7d2c8}.gallery{columns:3 300px;column-gap:20px}.gallery figure{break-inside:avoid;background:#fff;margin:0 0 20px}.gallery figcaption{padding:12px 14px;color:var(--muted);font-size:.9rem}.process{display:grid;grid-template-columns:repeat(5,1fr);gap:20px}.step{border-top:1px solid var(--line);padding-top:18px}.num{font-family:var(--serif);font-size:2.5rem;color:var(--rust)}
.testimonials{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.testimonial{background:#fff;border-left:3px solid var(--rust);padding:30px}.testimonial p{font-family:var(--serif);font-size:1.2rem}.testimonial small{font-weight:700;color:var(--muted)}
.scheduler{background:#fff;border:1px solid var(--line);padding:30px}.scheduler-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}label{font-size:.82rem;font-weight:700}input,textarea,select{width:100%;padding:12px;border:1px solid #bbb;background:#fcfbf8;font:inherit}textarea{min-height:120px}.note{font-size:.86rem;color:var(--muted)}
.hero-small{padding:100px 0 66px;background:var(--dark);color:#fff}.hero-small h1{font-family:var(--serif);font-size:clamp(3rem,6vw,5.7rem);margin:0}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:36px}.logo-story{display:grid;grid-template-columns:.9fr 1.1fr;gap:55px;align-items:center}.logo-story img{width:100%}.watermark-section{position:relative;overflow:hidden}.watermark-section:before{content:"";position:absolute;inset:5% 0 auto 50%;width:700px;height:400px;background:url('logo-restored.png') center/contain no-repeat;opacity:.045;transform:translateX(-20%);pointer-events:none}.footer{padding:36px 0;border-top:1px solid var(--line);font-size:.9rem;color:var(--muted)}
@media(max-width:900px){.menu-btn{display:block;margin-left:auto}.nav{justify-content:flex-end}.nav-links{display:none;position:absolute;top:62px;left:0;right:0;background:var(--paper);padding:22px;flex-direction:column}.nav-links.open{display:flex}.intro-grid,.about-grid,.contact-grid,.two-col,.logo-story,.caption-band{grid-template-columns:1fr}.cards,.process,.testimonials{grid-template-columns:1fr}.materials{grid-template-columns:repeat(2,1fr)}.caption-band{gap:8px}.full-photo{height:62vh}.scheduler-grid{grid-template-columns:1fr}.hero{min-height:62vh}}


/* VERSION 4: stronger phone layout */
@media(max-width:700px){
  body{overflow-x:hidden}
  .container{width:min(92vw,560px)}
  .logo-stage{padding:16px 10px 12px}
  .logo-wrap{width:100%}
  .logo-wrap img{width:min(92vw,520px);max-height:230px;object-fit:contain}
  .logo-glow{width:45%;height:38%;top:13%}
  .tagline{font-size:1.35rem;line-height:1.15;margin-top:0}
  .motif{font-size:.62rem;letter-spacing:.13em;line-height:1.5;padding:0 12px}

  .site-header{position:sticky}
  .nav{min-height:56px;justify-content:flex-end}
  .menu-btn{display:block;font-size:1.55rem;padding:8px 4px}
  .nav-links{
    display:none;position:absolute;top:56px;left:0;right:0;
    background:var(--paper);padding:18px 22px 22px;
    flex-direction:column;align-items:flex-start;gap:15px;
    border-bottom:1px solid var(--line);box-shadow:0 10px 24px rgba(0,0,0,.08)
  }
  .nav-links.open{display:flex}
  .nav-links a{font-size:.82rem}

  .hero{min-height:64svh}
  .hero-content{padding:0 0 34px}
  .hero-content h1{font-size:clamp(2.65rem,13vw,4.2rem);line-height:1.0}
  .hero-content p{font-size:1rem;line-height:1.45;margin:15px 0 20px}
  .btn{width:100%;text-align:center;padding:13px 14px}

  .section{padding:58px 0}
  h2{font-size:clamp(2.15rem,10vw,3.4rem)}
  .lead{font-size:1.65rem}
  .intro-grid,.about-grid,.contact-grid,.two-col,.logo-story{grid-template-columns:1fr;gap:32px}
  .cards,.process,.testimonials{grid-template-columns:1fr;gap:18px}
  .card img{height:auto;aspect-ratio:4/3}
  .copy{padding:18px}

  .full-photo{height:auto;min-height:0;background:var(--paper)}
  .full-photo img{height:auto;width:100%;object-fit:contain}
  .caption-band{
    position:relative;left:auto;right:auto;bottom:auto;
    display:block;background:rgba(245,241,232,.98);
    padding:22px 5vw;backdrop-filter:none
  }
  .caption-band h3{font-size:2rem;margin-bottom:8px}
  .caption-band p{font-size:.98rem}

  .materials{grid-template-columns:1fr 1fr;gap:8px}
  .materials img{height:155px}
  .gallery{columns:1}
  .gallery figure{margin-bottom:16px}

  .quote-band{padding:55px 0}
  .quote{font-size:1.8rem;line-height:1.25}

  .process{gap:0}
  .step{padding:18px 0;border-top:1px solid var(--line)}
  .num{font-size:2rem}

  .testimonial{padding:22px}
  .testimonial p{font-size:1.08rem}

  .scheduler{padding:20px}
  .scheduler-grid{grid-template-columns:1fr}
  input,textarea,select{font-size:16px} /* prevents iPhone zoom */

  .hero-small{padding:64px 0 46px}
  .hero-small h1{font-size:clamp(2.7rem,12vw,4.2rem)}
  .watermark-section:before{width:115vw;height:55vw;left:20%;top:8%}
}

@media(max-width:390px){
  .materials{grid-template-columns:1fr}
  .materials img{height:190px}
  .logo-wrap img{width:96vw}
}


/* VERSION 5: live Google Calendar appointment scheduling */
.calendar-booking{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:minmax(260px,.7fr) minmax(560px,1.3fr);
  gap:38px;
  align-items:start;
  margin-top:20px;
}
.calendar-copy{
  position:sticky;
  top:110px;
}
.calendar-copy h2{font-size:clamp(2rem,4vw,3.6rem);margin-bottom:18px}
.calendar-open{margin-top:12px}
.calendar-frame-wrap{
  background:#fff;
  border:1px solid var(--line);
  border-radius:8px;
  overflow:hidden;
  min-height:720px;
  box-shadow:0 14px 35px rgba(0,0,0,.06);
}
.calendar-frame-wrap iframe{
  display:block;
  width:100%;
  min-height:720px;
  border:0;
  background:#fff;
}
@media(max-width:900px){
  .calendar-booking{grid-template-columns:1fr;gap:24px}
  .calendar-copy{position:static}
  .calendar-frame-wrap{min-height:760px}
  .calendar-frame-wrap iframe{min-height:760px}
}
@media(max-width:560px){
  .calendar-booking{width:100%;margin-top:8px}
  .calendar-frame-wrap{
    min-height:820px;
    border-radius:0;
    margin-left:-4vw;
    margin-right:-4vw;
    width:108%;
  }
  .calendar-frame-wrap iframe{min-height:820px}
}

/* VERSION 6: Clayton personal photo */
.clayton-photo{
  width:100%;
  height:auto;
  display:block;
  object-fit:cover;
  object-position:center center;
}
@media(min-width:701px){
  .about-grid .clayton-photo,
  .logo-story .clayton-photo{
    aspect-ratio:4/3;
    object-fit:cover;
    object-position:center 42%;
  }
}
@media(max-width:700px){
  .clayton-photo{
    aspect-ratio:auto;
    object-fit:contain;
  }
}


/* VERSION 7 — HOME + SEO REFINEMENT */
.logo-wrap img{
  image-rendering:auto;
  width:min(760px,92vw);
  height:auto;
}
.hero-slide img{
  object-fit:cover;
  object-position:center center;
  transform:scale(.88);
  width:114%;
  height:114%;
  margin-left:-7%;
  margin-top:-7%;
}
.section-title{max-width:850px;margin:8px 0 8px}
.section-intro{max-width:720px;margin:0 0 28px;color:var(--muted)}
.center-link{text-align:center;margin-top:24px}
.center-link a,.text-link{font-weight:700;text-decoration:none;border-bottom:1px solid currentColor}

.cycle-frame{position:relative;overflow:hidden;background:#ddd}
.card .cycle-frame{height:300px}
.materials .cycle-frame{height:250px}
.cycle-img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center;
  opacity:0;transition:opacity .65s ease, transform .8s ease;
  transform:scale(.92);
}
.cycle-img.active{opacity:1}
.hover-gallery:hover .cycle-img.active,
.material-gallery:hover .cycle-img.active{transform:scale(.88)}
.hover-gallery,.material-gallery{cursor:pointer}
.materials figure>img{display:none}
.materials figcaption{position:relative}
.art-mark{padding-top:72px;padding-bottom:72px}
.art-mark-logo{display:flex;align-items:center;justify-content:center}
.art-mark-logo img{width:min(520px,100%);height:auto}
.service-area{border-top:1px solid var(--line)}
.service-area .container{max-width:960px}
.service-area h2{max-width:900px}
.service-area p{font-size:1.08rem;line-height:1.8}

@media(max-width:700px){
  .hero-slide img{
    transform:scale(.96);
    width:104%;height:104%;margin-left:-2%;margin-top:-2%;
  }
  .card .cycle-frame{height:auto;aspect-ratio:4/3}
  .materials .cycle-frame{height:auto;aspect-ratio:4/3}
  .cycle-img{transform:scale(.96)}
  .hover-gallery:hover .cycle-img.active,
  .material-gallery:hover .cycle-img.active{transform:scale(.94)}
  .art-mark{padding-top:55px;padding-bottom:55px}
}


/* VERSION 8 — PHOTO FRAMING CORRECTIONS */
/* Show the full composition rather than cropping tightly. */
.hero-slide{
  display:flex;
  align-items:center;
  justify-content:center;
  background:#1f201e;
}
.hero-slide img{
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  transform:none !important;
  object-fit:contain !important;
  object-position:center center !important;
}

/* Selected Works and Materials: back off the crop and reveal more of each image. */
.cycle-frame{
  background:#e7e2d8;
  display:flex;
  align-items:center;
  justify-content:center;
}
.cycle-img{
  width:100% !important;
  height:100% !important;
  transform:none !important;
  object-fit:contain !important;
  object-position:center center !important;
}
.hover-gallery:hover .cycle-img.active,
.material-gallery:hover .cycle-img.active{
  transform:none !important;
}

/* Selected Works page gallery should also avoid aggressive cropping. */
.gallery img{
  object-fit:contain !important;
  background:#e7e2d8;
}

@media(max-width:700px){
  .hero-slide img,
  .cycle-img{
    object-fit:contain !important;
    transform:none !important;
    margin:0 !important;
  }
}
