
:root {
  --bg:#fbf1f5; --paper:#fff; --cream:#fff8f1; --pink:#f5dce8; --pink-strong:#d9769e; --rose:#b9577d; --coral:#c97866; --sage:#7d886d; --ink:#322b29; --muted:#756b66; --line:#ead2d9; --shadow:0 22px 60px rgba(185,87,125,.13); --max:1180px; --radius:18px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;background:linear-gradient(180deg,rgba(255,255,255,.64),transparent 480px),var(--bg);color:var(--ink);font-family:Inter,Arial,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none} p,h1,h2,h3,ul,figure{margin:0} img{display:block;width:100%;height:auto;object-fit:cover}
.site-nav{width:min(var(--max),calc(100% - 44px));min-height:86px;margin:0 auto;display:grid;grid-template-columns:230px 1fr 290px;gap:24px;align-items:center}
.brand{display:inline-flex;align-items:center;gap:11px;font-family:'Playfair Display',Georgia,serif;font-size:1.34rem;font-weight:600}.brand img{width:34px;height:34px;object-fit:contain;border-radius:50%}
.nav-links{justify-self:center;display:flex;gap:20px;color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.socials{justify-self:end;display:flex;gap:13px;color:var(--rose);font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.nav-links a:hover,.socials a:hover{color:var(--coral)}
.hero{width:min(var(--max),calc(100% - 44px));margin:0 auto;padding:54px 0 34px;display:grid;grid-template-columns:.92fr 1.08fr;gap:56px;align-items:center}.hero-copy{max-width:590px}
.eyebrow{margin-bottom:14px;color:var(--rose);font-size:.72rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.script{margin-bottom:10px;color:var(--coral);font-family:'Instrument Serif',Georgia,serif;font-size:1.42rem;font-style:italic;line-height:1}
h1,h2{font-family:'Instrument Serif',Georgia,serif;font-weight:400;line-height:1.02;letter-spacing:-.025em}h1{font-size:clamp(3rem,5.2vw,5.55rem)}h2{font-size:clamp(2.45rem,4.4vw,4.8rem)}h3{font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:1.05;letter-spacing:-.02em;font-size:clamp(1.5rem,2.35vw,2.35rem)}
.hero-text{max-width:500px;margin-top:23px;color:var(--muted);font-size:1.02rem}.hero-collage{min-height:640px;position:relative}.hero-photo{position:absolute;background:var(--paper);padding:13px 13px 42px;box-shadow:var(--shadow)}.hero-photo.main{width:68%;height:auto;right:8%;top:5%;transform:rotate(2deg)}.hero-photo.top{width:42%;height:auto;left:3%;top:0;transform:rotate(-4deg)}.hero-photo.bottom{width:42%;height:auto;left:0;bottom:4%;transform:rotate(4deg)}
.intro-strip{width:min(980px,calc(100% - 44px));margin:0 auto 62px;padding:18px 26px;background:rgba(255,255,255,.76);border:1px solid var(--line);border-radius:999px;box-shadow:0 12px 40px rgba(185,87,125,.08);text-align:center}.intro-strip p{color:var(--muted);font-size:.92rem}
.portfolio-highlights{width:min(var(--max),calc(100% - 44px));margin:0 auto;padding:44px 0 82px;text-align:center}.highlight-row{margin-top:34px;display:flex;justify-content:center;align-items:flex-start;gap:clamp(10px,2vw,26px);flex-wrap:wrap}.mini-polaroid{width:205px;padding:10px 10px 34px;background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow)}.mini-polaroid img{height:auto}.mini-polaroid figcaption{margin-top:10px;color:var(--rose);font-family:'Instrument Serif',Georgia,serif;font-size:1.1rem;font-style:italic}.tilt-left{transform:rotate(-5deg)}.tilt-right{transform:rotate(4deg);margin-top:24px}.tilt-left-low{transform:rotate(-2deg);margin-top:4px}.tilt-right-low{transform:rotate(6deg);margin-top:28px}
.section{width:min(var(--max),calc(100% - 44px));margin:0 auto;padding:88px 0}.category-section{border-top:1px solid var(--line)}.category-section.alt{width:100%;max-width:none;padding-left:max(22px,calc((100% - var(--max))/2));padding-right:max(22px,calc((100% - var(--max))/2));background:rgba(255,248,241,.68)}
.category-heading{margin-bottom:38px;display:grid;grid-template-columns:90px minmax(0,860px);gap:28px;align-items:start}.section-number{color:var(--pink-strong);font-family:'Instrument Serif',Georgia,serif;font-size:4.8rem;line-height:.8}
.photo-editorial{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:start}.feature-image img,.side-gallery img,.sage-image img,.phone-frame img,.editing-feature img,.edit-pair img{border:12px solid var(--paper);box-shadow:var(--shadow)}.feature-image>img{height:auto}.side-gallery{display:grid;gap:26px}.side-gallery img{height:auto}.work-caption{padding:18px 4px 0}.work-caption p{margin-bottom:5px;color:var(--rose);font-size:.72rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.work-caption span{color:var(--muted)}
.sage-section{width:100%;max-width:none;padding:96px max(22px,calc((100% - var(--max))/2));display:grid;grid-template-columns:.74fr 1.26fr;gap:54px;align-items:center;background:var(--sage);color:white}.sage-copy{max-width:520px}.sage-copy .script{color:rgba(255,255,255,.8)}.sage-image img{height:auto}
.content-layout{display:grid;grid-template-columns:1fr .9fr;gap:70px;align-items:center}.content-collage{min-height:620px;position:relative}.phone-frame{position:absolute;background:var(--paper);padding:12px 12px 44px;box-shadow:var(--shadow)}.phone-frame img{border:0;box-shadow:none}.phone-frame span{display:block;margin-top:12px;color:var(--rose);font-family:'Instrument Serif',Georgia,serif;font-size:1.1rem;font-style:italic;text-align:center}.large-phone{width:62%;right:0;top:0;transform:rotate(3deg)}.large-phone img{height:auto}.floating-phone{width:42%;left:2%;bottom:0;transform:rotate(-5deg)}.floating-phone img{height:auto}
.content-copy p:not(.script),.content-copy li{color:var(--muted)}.content-copy h3{margin-bottom:16px;font-size:clamp(2rem,4vw,4rem)}.soft-list{margin-top:24px;padding:0;display:grid;gap:10px;list-style:none}.soft-list li{padding-top:10px;border-top:1px solid var(--line)}
.editing-layout{display:grid;gap:34px}.editing-feature{display:grid;grid-template-columns:.82fr 1.18fr;gap:46px;align-items:center}.editing-feature img{height:auto}.editing-feature p:not(.script){color:var(--muted);margin-top:16px}.edit-pair{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:start}.edit-pair img{height:auto}
.campaign-board{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:stretch}.board-card{padding:40px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.board-card h3{margin-bottom:16px;font-size:clamp(2.1rem,4vw,4.2rem)}.board-card p:not(.script){color:var(--muted)}.board-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.board-grid div{min-height:210px;display:grid;place-items:center;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 12px 36px rgba(185,87,125,.08);color:var(--rose);font-weight:900;letter-spacing:.12em;text-align:center;text-transform:uppercase}
.about-section{width:min(var(--max),calc(100% - 44px));margin:0 auto;padding:98px 0;display:grid;grid-template-columns:.82fr 1.18fr;gap:68px;align-items:center}.about-polaroid{max-width:420px;margin:0 auto;padding:34px 34px 54px;background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);transform:rotate(-4deg)}.about-polaroid img{height:auto;object-fit:cover}.about-polaroid figcaption{margin-top:18px;color:var(--rose);font-family:'Instrument Serif',Georgia,serif;font-size:1.28rem;font-style:italic;text-align:center}.about-copy p:not(.script),.can-do li{color:var(--muted)}.about-copy>p{margin-top:20px}.can-do{margin-top:30px;padding:28px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 12px 34px rgba(185,87,125,.08)}.can-do h3{margin-bottom:16px}.can-do ul{padding:0;display:grid;gap:10px;list-style:none}.can-do li{padding-top:10px;border-top:1px solid var(--line)}
.contact{width:min(960px,calc(100% - 44px));margin:0 auto 70px;padding:clamp(38px,6vw,72px);background:var(--pink);border-radius:40px;text-align:center;box-shadow:var(--shadow)}.contact h2{max-width:760px;margin:0 auto}.contact-links{margin-top:30px;display:flex;justify-content:center;flex-wrap:wrap;gap:12px}.contact-links a{padding:12px 18px;background:var(--paper);border:1px solid var(--line);border-radius:999px;color:var(--rose);font-weight:800;font-size:.9rem}.footer{width:min(var(--max),calc(100% - 44px));margin:0 auto;padding:0 0 44px;color:var(--muted);text-align:center;font-size:.9rem}
@media (max-width:980px){
  .site-nav{min-height:auto;padding:22px 0;grid-template-columns:1fr;gap:16px}
  .brand,.nav-links,.socials{justify-self:center}
  .nav-links,.socials{flex-wrap:wrap;justify-content:center}
  .hero,.photo-editorial,.sage-section,.content-layout,.editing-feature,.campaign-board,.about-section{grid-template-columns:1fr}
  .hero-collage,.content-collage{min-height:auto;display:grid;grid-template-columns:1fr .72fr;gap:18px}
  .hero-photo,.hero-photo.main,.hero-photo.top,.hero-photo.bottom,.large-phone,.floating-phone{position:static;width:auto;height:auto;transform:none}
  .large-phone img,.floating-phone img,.hero-photo img{height:auto !important}
  .category-heading{grid-template-columns:1fr;gap:10px}
  .feature-image>img,.sage-image img,.editing-feature img,.edit-pair img{height:auto !important}
}
@media (max-width:640px){
  .site-nav,.hero,.section,.about-section,.contact,.footer,.intro-strip,.portfolio-highlights{width:min(100% - 32px,var(--max))}
  h1{font-size:clamp(2.2rem,10vw,3.6rem)}
  h2{font-size:clamp(1.8rem,8vw,2.8rem)}
  h3{font-size:clamp(1.3rem,6vw,1.8rem)}
  .hero{padding-top:28px}
  .hero-collage,.content-collage,.edit-pair,.board-grid{grid-template-columns:1fr}
  .hero-photo img,.large-phone img,.floating-phone img,.feature-image>img,.side-gallery img,.sage-image img,.editing-feature img,.edit-pair img{height:auto !important;max-height:none !important;border-width:6px !important}
  .about-polaroid img{height:auto !important;object-fit:cover}
  .about-polaroid{padding:16px 16px 28px;max-width:280px;transform:none !important}
  .section,.about-section,.portfolio-highlights{padding:44px 0 !important}
  .sage-section{padding:44px 16px !important;grid-template-columns:1fr;gap:24px}
  .category-section.alt{padding:44px 16px !important}
  .intro-strip{padding:12px 16px;margin-bottom:36px}
  .intro-strip p{font-size:0.82rem;line-height:1.4}
  .mini-polaroid{transform:none !important;margin-top:0 !important;width:calc(50% - 10px) !important;min-width:130px;padding:8px 8px 24px;box-shadow:var(--shadow)}
  .mini-polaroid img{height:auto !important}
  .mini-polaroid figcaption{font-size:0.95rem;margin-top:6px}
  .highlight-row{gap:12px;justify-content:center}
  .board-grid div{min-height:90px;padding:12px;font-size:0.75rem;border-radius:12px}
  .board-card{padding:24px}
  .contact{padding:32px 20px !important;border-radius:24px !important}
  .contact-links{gap:8px}
  .contact-links a{padding:8px 14px;font-size:0.8rem}
  .nav-links{gap:12px}
  .socials{gap:10px}
  .can-do{padding:20px;margin-top:20px}
  .section-number{font-size:3.6rem;line-height:1;margin-bottom:4px}
}
