@charset "UTF-8";
:root{--blue:#183cbd;--pink:#ffcade;--paper:#fffdf7;--ink:#172959;--line:rgba(24,60,189,.25)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--blue);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid currentColor;outline-offset:6px}::selection{background:var(--blue);color:var(--pink)}.skip{position:fixed;left:20px;top:-100px;padding:14px;background:var(--blue);color:white;z-index:10}.skip:focus{top:15px}.header{height:110px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;border-bottom:1px solid var(--line);background:var(--paper)}.brand{font-family:Georgia,serif;font-weight:900;font-size:42px;letter-spacing:-3px;line-height:.85}.brand span{display:block;font-family:Arial,sans-serif;font-size:10px;letter-spacing:4px;text-align:center;margin-top:11px}nav{display:flex;gap:36px;align-items:center;font-size:15px;font-weight:600}nav a:not(.nav-contact):hover{text-decoration:underline;text-underline-offset:6px}.nav-contact{border:1px solid var(--blue);border-radius:30px;padding:13px 25px}.nav-contact:hover,.button:hover{background:var(--ink);color:white}.hero{display:grid;grid-template-columns:1.08fr 1fr;min-height:710px;overflow:hidden}.hero-copy{padding:86px 7% 60px 11.1%}.eyebrow{font-size:12px;letter-spacing:1.7px;font-weight:700;margin:0 0 35px;line-height:1.5}h1,h2,p{margin-top:0}h1{font-family:Georgia,'Times New Roman',serif;letter-spacing:-6px;font-weight:700;font-size:clamp(72px,7.7vw,120px);line-height:1;margin-bottom:30px}em{font-weight:400}p{font-size:18px;line-height:1.7}.intro{max-width:345px;color:var(--ink)}.button{display:inline-block;background:var(--blue);color:white;border-radius:40px;padding:19px 29px;font-size:15px;font-weight:bold;margin-top:13px;transition:background .2s}.hero-note{font-size:12px;margin-top:33px;max-width:330px}.hero-art{background:var(--pink);position:relative;display:flex;align-items:center;justify-content:center;padding:54px 65px 70px}.photo{margin:0;position:relative;overflow:hidden}.photo img{display:block;object-fit:cover;width:100%;height:100%}.hero-photo{width:100%;max-width:390px;aspect-ratio:4/5;border-radius:180px 180px 8px 8px;border:1px solid var(--blue);transform:rotate(5deg)}figcaption{position:absolute;bottom:22px;left:10px;right:10px;text-align:center;font-size:10px;letter-spacing:1.4px;font-weight:bold}.round-label{position:absolute;bottom:110px;left:18px;background:var(--blue);color:var(--pink);border-radius:50%;width:137px;height:137px;display:flex;flex-direction:column;justify-content:center;text-align:center;transform:rotate(-13deg);font-family:Georgia,serif;font-size:23px;line-height:1.1;border:6px double var(--pink)}.round-label span{font-family:Arial,sans-serif;font-size:9px;letter-spacing:1px;margin-top:8px}.photo-index{position:absolute;bottom:25px;right:30px;font-size:10px;letter-spacing:1.6px}.ribbon{display:flex;align-items:center;justify-content:space-around;gap:32px;background:var(--blue);color:var(--paper);padding:22px;white-space:nowrap;overflow:hidden;font-size:13px;letter-spacing:2px;font-weight:bold}.ribbon b{color:var(--pink);font-size:29px;line-height:1}.section{padding:110px 8%;scroll-margin-top:20px}.about{display:grid;grid-template-columns:1fr 1.05fr;gap:11%;align-items:center}.about-photo{aspect-ratio:9/10;border-radius:6px;background:#e3eaff}.about-copy h2,.contact h2{font-family:Georgia,serif;font-size:clamp(45px,4.4vw,70px);line-height:1.08;letter-spacing:-2.7px;margin-bottom:30px}.about-copy p:not(.eyebrow){font-size:16px;color:var(--ink);max-width:470px}.signature{border-top:1px solid var(--line);padding-top:25px;margin-top:32px;font-size:13px}.signature span{display:block;font-family:Georgia,serif;font-style:italic;font-size:34px;margin-top:10px}.contact{background:var(--pink);display:grid;grid-template-columns:1fr 1fr;gap:11%;border-top:1px solid var(--line)}.contact-heading>p:last-child{font-size:16px;max-width:310px}.contact-details{padding-top:45px}.contact-row{border-top:1px solid var(--line);padding:27px 0;display:flex;gap:30px}.number{font-size:12px;padding-top:5px}.contact-row h3{font-size:20px;margin:0 0 12px;letter-spacing:-.5px}.contact-row p{font-size:16px;line-height:1.8;margin-bottom:0;color:var(--ink)}footer{background:var(--blue);color:var(--pink);padding:45px 6% 25px}.footer-brand{display:block;font-family:Georgia,serif;font-weight:bold;letter-spacing:-1.1vw;font-size:clamp(70px,19vw,290px);line-height:1.05;white-space:nowrap}.footer-brand span{display:inline-block;font-family:Arial,sans-serif;font-size:20px;vertical-align:top;letter-spacing:0;margin:30px 0 0 15px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,202,222,.4);padding-top:25px;margin-top:30px;font-size:11px;letter-spacing:.6px}.footer-bottom a:hover{text-decoration:underline}
@media(min-width:1600px){.hero,.section,.header,footer{padding-left:max(6%,calc((100% - 1440px)/2));padding-right:max(6%,calc((100% - 1440px)/2))}.hero{padding:0 max(0px,calc((100% - 1600px)/2))}.hero-copy{padding-left:12%}}
/* Keep grid children and long contact details within narrow viewports. */
.hero > *, .section > *, .contact-row > div { min-width: 0; }
.contact-row p { overflow-wrap: anywhere; }
h1, h2, .footer-brand { overflow-wrap: anywhere; }
a { -webkit-tap-highlight-color: rgba(24, 60, 189, .15); }
@media (max-width: 1000px) {
  .header { padding: 0 5%; height: 95px; }
  nav a { display: inline-flex; align-items: center; min-height: 48px; }
  .hero { min-height: 0; }
  .hero-copy { padding: 56px 7% 44px 10%; }
  h1 { font-size: clamp(3.4rem, 7.6vw, 4.75rem); letter-spacing: -.055em; }
  .hero-art { padding: 44px 32px 60px; }
  .round-label { width: 110px; height: 110px; font-size: 19px; left: 8px; bottom: 75px; }
  .section { padding: 72px 6%; gap: 7%; }
  .about-copy h2, .contact h2 { font-size: clamp(2.4rem, 4.7vw, 3rem); letter-spacing: -.045em; }
  .eyebrow { font-size: .75rem; letter-spacing: 1.2px; }
  .intro { font-size: 1.0625rem; }
}
@media (max-width: 760px) {
  html { scroll-padding-top: 24px; }
  .hero { grid-template-columns: minmax(0, 1fr); }
  .hero-copy { padding: 42px 6% 36px; }
  .eyebrow { margin-bottom: 24px; }
  h1 { font-size: clamp(3.3rem, 12.8vw, 5.75rem); line-height: 1.04; letter-spacing: -.055em; margin-bottom: 24px; }
  .intro { max-width: 35ch; }
  .button { min-height: 48px; padding: 17px 24px; font-size: .9375rem; line-height: 1.4; text-align: center; }
  .hero-note { font-size: .8125rem; line-height: 1.6; margin: 24px 0 0; }
  .hero-art { min-height: 0; padding: 32px 18% 52px; }
  .hero-photo { max-width: 290px; }
  .round-label { left: max(16px, calc(50% - 180px)); bottom: 48px; width: 106px; height: 106px; font-size: 18px; }
  .round-label span { font-size: 9px; }
  .photo-index { bottom: 16px; right: 6%; font-size: 10px; }
  figcaption { font-size: 10px; letter-spacing: 1px; }
  .ribbon { justify-content: flex-start; padding: 16px 6%; gap: 24px; font-size: .75rem; }
  .section { padding: 56px 6%; grid-template-columns: minmax(0, 1fr); gap: 32px; scroll-margin-top: 0; }
  .about-copy { grid-row: 1; }
  .about-copy h2, .contact h2 { font-size: clamp(2.35rem, 8.7vw, 3.8rem); line-height: 1.12; letter-spacing: -.045em; margin-bottom: 24px; }
  .about-copy p:not(.eyebrow), .contact-heading > p:last-child, .contact-row p { font-size: 1rem; line-height: 1.7; }
  .about-photo { width: 100%; max-width: 480px; aspect-ratio: 1; justify-self: center; }
  .signature { margin-top: 24px; padding-top: 20px; font-size: .875rem; }
  .contact { gap: 12px; }
  .contact-heading > p:last-child { max-width: 35ch; }
  .contact-details { padding-top: 12px; }
  .contact-row { padding: 24px 0; gap: 20px; }
  .contact-row h3 { font-size: 1.25rem; }
  footer { padding: 32px 6% max(24px, env(safe-area-inset-bottom)); }
  .footer-brand { font-size: clamp(4.5rem, 19vw, 9rem); white-space: normal; }
  .footer-bottom { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px; font-size: .75rem; line-height: 1.6; letter-spacing: .3px; margin-top: 24px; padding-top: 16px; }
  .footer-bottom a { display: flex; align-items: center; justify-content: flex-end; min-width: 64px; min-height: 48px; }
  .footer-bottom span:last-child { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
  .header { height: auto; padding: 22px 6% 12px; flex-direction: column; gap: 19px; }
  .brand { font-size: 2.35rem; letter-spacing: -2px; }
  .brand span { font-size: .625rem; letter-spacing: 3px; }
  nav { width: 100%; max-width: 420px; display: flex; flex-wrap: wrap; gap: 8px; font-size: .875rem; }
  nav a { flex: 1 1 auto; min-width: 80px; display: flex; align-items: center; justify-content: center; min-height: 48px; padding: 10px 4px; text-align: center; line-height: 1.3; }
  .nav-contact { padding: 10px 4px; }
}
@media (max-width: 360px) {
  .hero-copy { padding-top: 32px; }
  .hero-art { padding-left: 16%; padding-right: 16%; }
  .round-label { width: 92px; height: 92px; font-size: 16px; }
  .round-label span { font-size: 8px; letter-spacing: .5px; }
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
