/* Morningstar Cafe — berry ink, strawberry sugar, and generous reading space. */
body.portfolio-shell.light {
  --cafe-paper:#fff7ef; --cafe-ink:#341b2d; --cafe-muted:#745469;
  --cafe-rose:#a52854; --cafe-line:#e8cad6; --cafe-pink:#ff9cbe;
  background:#221321!important; color:#fff4ec!important;
  background-image:radial-gradient(#f4aaca10 1px,transparent 1px)!important;
  background-size:22px 22px!important;
}
body.portfolio-shell::before { display:none; }
body.portfolio-shell .portfolio-icon { width:20px; height:20px; flex:none; vertical-align:middle; }
body.portfolio-shell a { text-underline-offset:4px; }
body.portfolio-shell :is(a,button,summary,input,textarea,select):focus-visible { outline:3px solid #e86394; outline-offset:4px; }
body.portfolio-shell [hidden] { display:none!important; }
.portfolio-skip { position:fixed; top:12px; left:12px; z-index:9999; padding:12px 18px; background:#fff; color:#341b2d; transform:translateY(-180%); border-radius:8px; }
.portfolio-skip:focus { transform:none; }
body.portfolio-shell #profileHeader { z-index:20; }
body.portfolio-shell #profileHeader .navbar { background:#21121ff2!important; border-bottom:1px solid #ffffff19; padding:13px 0!important; backdrop-filter:blur(16px); }
body.portfolio-shell #profileHeader .container-fluid { max-width:1344px; padding:0 32px; margin:auto!important; }
body.portfolio-shell .navbar-brand { font-size:1.35rem; letter-spacing:-.025em; color:#fff4ec!important; font-weight:600; }
body.portfolio-shell .navbar-brand img { margin-right:7px; border-radius:50%; }
body.portfolio-shell #profileHeader #search { max-width:155px; font-size:12px; background:#ffffff08!important; color:#fff4ec!important; border-color:#ffffff30!important; padding:9px 14px; box-shadow:none; }
body.portfolio-shell #search::placeholder { color:#e3c4d7; }
body.portfolio-shell #profileHeader .nav-link { font-family:var(--font-body)!important; color:#f7d6e5!important; font-size:12px; }
body.portfolio-shell #profileHeader .nav-link:hover { color:#fff!important; }
body.portfolio-shell .navbar-toggler { min-width:44px; min-height:44px; border:1px solid #ffffff55; border-radius:50%; }
body.portfolio-shell .navbar-toggler svg { fill:#ffcadf; }
body.portfolio-shell #hero.cafe-hero { position:relative; isolation:isolate; max-width:1600px; min-height:670px; margin:auto; padding:78px max(40px,calc((100% - 1216px)/2)); display:flex; align-items:center; line-height:1.5; overflow:hidden; }
.cafe-hero-scene { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 45%; z-index:-2; }
.cafe-hero::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#221321ee 0%,#221321be 28%,#22132110 58%,transparent 80%); z-index:-1; }
.cafe-hero-copy { width:540px; max-width:49%; }
body.portfolio-shell .cafe-eyebrow { margin:0 0 22px!important; color:var(--cafe-pink); font:700 10px/1.8 var(--font-body); letter-spacing:.15em; text-transform:uppercase; opacity:1!important; }
.cafe-eyebrow > span:not(.cafe-live-dot) { font-size:18px; margin-right:5px; vertical-align:-1px; }
body.portfolio-shell #hero h1 { font-size:clamp(52px,5.4vw,80px); line-height:1.02; font-weight:600; letter-spacing:-.045em; margin:0 0 25px; color:#fff4e9; }
body.portfolio-shell :is(h1,h2) em { font-family:Georgia,'Times New Roman',serif; font-weight:400; letter-spacing:-.055em; color:var(--cafe-pink); }
body.portfolio-shell #hero .cafe-intro { max-width:395px; margin:0 0 28px; font-size:14px; line-height:1.9; color:#e6cbdc; opacity:1; }
.cafe-intro strong { color:#fff4e9; font-weight:700; }
.cafe-hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px 20px; }
body.portfolio-shell .cafe-button { display:inline-flex; align-items:center; justify-content:center; gap:12px; padding:14px 21px; min-height:48px; background:#ff9cbe; color:#35142b!important; font:700 12px/1.5 var(--font-body); border:1px solid transparent; border-radius:30px; text-decoration:none; box-shadow:0 4px 0 #a83b64; transition:background .2s,transform .2s,box-shadow .2s; cursor:pointer; }
body.portfolio-shell .cafe-button:hover { background:#ffd0df; transform:translateY(-2px); box-shadow:0 6px 0 #a83b64; }
body.portfolio-shell .cafe-button:active { transform:translateY(2px); box-shadow:0 1px 0 #a83b64; }
body.portfolio-shell .cafe-button:disabled { opacity:.65; cursor:wait; transform:none; }
body.portfolio-shell .cafe-text-link { display:inline-flex; align-items:center; gap:8px; min-height:44px; font:500 12px/1.5 var(--font-body); color:#fff1e9; background:none; border:0; padding:0; text-decoration:none; }
.cafe-text-link:hover { text-decoration:underline!important; }
.cafe-signature { display:flex; align-items:center; gap:11px; margin-top:28px; }
.cafe-signature img { border-radius:50%; border:2px solid #ffc6da; object-fit:cover; }
.cafe-signature strong,.cafe-signature span { display:block; font-size:10px; line-height:1.9; }
.cafe-signature strong { font-weight:700; color:#fff1e9; }
.cafe-signature span { color:#d0acc2; }
.cafe-hero-seal { position:absolute; right:5%; bottom:26px; transform:rotate(9deg); background:#fff4e8; border:1px dashed #a53758; outline:6px solid #fff4e8; border-radius:50%; padding:16px 12px; color:#742847; text-align:center; font:italic 12px/1.3 Georgia,serif; box-shadow:0 4px 24px #0003; }
.cafe-hero-seal b { font:26px/1.2 Georgia,serif; }
.cafe-marquee { display:flex; gap:45px; justify-content:center; align-items:center; overflow:hidden; white-space:nowrap; padding:16px 0; border-block:1px solid #ffffff20; background:#ee83ac; color:#401a33; font:600 12px var(--font-display); letter-spacing:.13em; }
.cafe-marquee i { font-size:19px; font-style:normal; }
.cafe-fresh { max-width:1216px; margin:0 auto; padding:28px 0; display:grid; grid-template-columns:170px 1fr 1fr; gap:25px; align-items:center; border-bottom:1px solid #ffffff23; }
body.portfolio-shell .cafe-fresh .cafe-eyebrow { margin:0!important; color:#d4adc5; letter-spacing:.1em; }
.cafe-live-dot { display:inline-block; width:6px; height:6px; border-radius:50%; background:#ff9cbe; box-shadow:0 0 0 4px #ff9cbe15; margin-right:8px; vertical-align:1px; }
body.portfolio-shell .cafe-fresh a { display:flex; gap:16px; align-items:center; color:#fff4ec; text-decoration:none; padding:12px 16px; border:1px solid #ffffff1c; border-radius:12px; background:#ffffff03; transition:background .2s,border-color .2s; }
body.portfolio-shell .cafe-fresh a:hover { background:#ff9cbe10; border-color:#ff9cbe80; }
.cafe-fresh-icon { display:grid; place-items:center; color:#ffb7cf; width:40px; height:50px; }
.cafe-fresh-icon .portfolio-icon { width:29px!important; height:29px!important; }
.cafe-fresh a > span:nth-child(2) { flex:1; }
.cafe-fresh small,.cafe-fresh strong,.cafe-fresh a > span > span { display:block; }
.cafe-fresh small { font-size:8px; letter-spacing:.15em; color:#c39cb7; }
.cafe-fresh strong { font:500 22px/1.4 var(--font-display); }
.cafe-fresh a > span > span { font-size:10px; color:#d4adc5; }
body.portfolio-shell #projects.cafe-projects { max-width:1280px; padding:72px 32px 20px; margin:0 auto; animation:none; scroll-margin-top:80px; }
.cafe-section-heading { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:29px; }
body.portfolio-shell .cafe-section-heading .cafe-eyebrow { margin-bottom:12px!important; }
body.portfolio-shell .cafe-section-heading :is(h1,h2) { color:#fff4ec; font-size:52px; letter-spacing:-.04em; margin:0; line-height:1.06; font-weight:500; }
.cafe-section-heading > p { font-size:12px; line-height:1.9; color:#d3aebf; margin:0 0 2px; }
.cafe-filter-bar { display:flex; align-items:center; justify-content:space-between; gap:15px; padding-bottom:24px; margin-bottom:8px; }
.cafe-filters { display:flex; flex-wrap:wrap; gap:8px; }
.cafe-filters button { display:inline-flex; align-items:center; gap:8px; min-height:44px; border:1px solid #ffffff2c; border-radius:30px; padding:9px 17px; font:500 12px/1.5 var(--font-body); background:transparent; color:#eac9da; transition:background .2s,color .2s; }
.cafe-filters button:hover { background:#ff9cbe18; }
.cafe-filters button[aria-pressed=true] { border-color:#ffd0df; background:#ffd0df; color:#431a34; font-weight:700; }
.cafe-filters button span { opacity:.7; font-size:10px; }
.cafe-filters .portfolio-icon { width:15px; height:15px; }
.cafe-filter-count { font-size:10px; color:#d3aebf; margin:0; }
.cafe-projects #project-collections { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:25px; }
.cafe-projects .visual-work { background:#fff7ef; color:#341b2d; border:1px solid #fff7ef; border-radius:15px; box-shadow:0 5px 0 #100b14; backdrop-filter:none; overflow:hidden; transform:none; padding:8px; transition:transform .25s,box-shadow .25s; }
.cafe-projects .visual-work:hover { transform:translateY(-5px); box-shadow:0 10px 0 #100b14,0 0 0 2px #f09bc0; }
.cafe-projects .ms-work-cover { position:relative; border-radius:9px; aspect-ratio:16/10; overflow:hidden; background:#211820; }
.cafe-projects .ms-work-cover img { object-fit:contain; transition:transform .4s; width:100%; height:100%; }
.cafe-projects .ms-work-cover:hover img { transform:scale(1.04); }
.cafe-cover-arrow { position:absolute; right:11px; bottom:11px; display:grid; place-items:center; width:34px; height:34px; background:#fff4e9; color:#48152e; border-radius:50%; opacity:0; transform:translateY(5px); transition:opacity .2s,transform .2s; }
.ms-work-cover:is(:hover,:focus-visible) .cafe-cover-arrow { opacity:1; transform:none; }
.cafe-new-tag { position:absolute; top:10px; left:10px; background:#ffd0df; color:#531b32; border-radius:5px; padding:6px 9px; font-size:8px; font-weight:700; letter-spacing:.03em; }
.cafe-projects .ms-work-body { padding:18px 14px 12px; gap:0; display:flex; flex-direction:column; flex:1; }
.cafe-work-meta { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; color:#a52854; font-size:9px; font-weight:700; margin:0 0 10px; }
.cafe-work-meta span { color:#78566a; font-weight:400; }
.cafe-work-meta .portfolio-icon { width:12px; height:12px; vertical-align:-2px; }
.cafe-projects .ms-work-title { font-size:27px; font-weight:500; margin:0 0 10px; letter-spacing:-.035em; }
body.portfolio-shell .ms-work-title a { color:#341b2d!important; }
body.portfolio-shell .ms-work-title a:hover { color:#a52854!important; }
.cafe-projects .ms-work-desc { font-size:12px; line-height:1.8; color:#745469; margin:0 0 21px; }
.cafe-projects .ms-work-actions { gap:8px; margin-top:auto; align-items:center; }
body.portfolio-shell .cafe-play { border:1px solid #ddbfce; background:#fae8ed; padding:8px 12px; min-height:40px; border-radius:25px; font-size:10px; font-weight:700; color:#732144; transition:background .2s,border-color .2s; }
body.portfolio-shell .cafe-play:hover { border-color:#a52854; background:#ffccdd; }
.cafe-play .portfolio-icon { width:15px; height:15px; }
.cafe-projects .ms-detail-link { display:inline-flex; gap:5px; align-items:center; margin-left:auto; padding:8px 0; font-size:10px; min-height:40px; color:#745469; text-decoration:none; }
.cafe-projects .ms-detail-link:hover { color:#a52854; text-decoration:underline; }
.cafe-projects .ms-detail-link .portfolio-icon { width:15px; height:15px; }
.cafe-projects .ms-image-note { margin:12px 0 0; font-size:9px; line-height:1.5; color:#8b6c7d; }
.cafe-about { max-width:1216px; margin:90px auto 0; padding:65px; background:#f7ccd9; color:#341b2d; border-radius:20px; display:grid; grid-template-columns:260px 1fr; gap:85px; align-items:center; scroll-margin-top:95px; position:relative; }
.cafe-about::after { content:'✦'; position:absolute; top:17px; right:28px; color:#a52854; font-size:65px; }
.cafe-about-portrait { position:relative; padding:12px 12px 46px; background:#fff9ef; transform:rotate(-5deg); box-shadow:4px 8px 0 #b8597f30; }
.cafe-about-portrait img { width:100%; height:auto; aspect-ratio:1; object-fit:cover; }
.cafe-portrait-label { position:absolute; bottom:15px; left:0; width:100%; text-align:center; font:italic 14px Georgia,serif; color:#745469; }
body.portfolio-shell .cafe-about .cafe-eyebrow { color:#9b2753; }
body.portfolio-shell .cafe-about h2 { font-size:46px; font-weight:500; line-height:1.12; letter-spacing:-.04em; margin:0 0 18px; }
body.portfolio-shell .cafe-about h2 em { color:#96284f; }
.cafe-about-copy > p:not(.cafe-eyebrow) { font-size:13px; line-height:1.9; color:#6e4056; max-width:520px; }
.cafe-about-copy strong { color:#341b2d; }
.cafe-practice { display:flex; flex-wrap:wrap; gap:7px; margin:21px 0; }
.cafe-practice span { font-size:10px; padding:6px 10px; border:1px solid #c18a9f; border-radius:20px; }
.cafe-about .ms-about-details { font-size:12px; color:#6e4056; }
.cafe-about .ms-about-details summary { min-height:44px; font-weight:600; padding:12px 0; cursor:pointer; }
.cafe-background { font-size:12px; line-height:1.9; padding-top:10px; }
.cafe-about-links { display:flex; flex-wrap:wrap; gap:22px; margin-top:12px; }
body.portfolio-shell .cafe-about-links a { display:inline-flex; align-items:center; gap:5px; min-height:44px; color:#8c1c4a; font-size:11px; text-decoration:none; }
.cafe-about-links a:hover { text-decoration:underline; }
.cafe-about-links .portfolio-icon { width:14px; height:14px; }
.cafe-contact { max-width:1216px; margin:0 auto; padding:90px 0 50px; display:grid; grid-template-columns:.85fr 1.15fr; align-items:start; gap:45px 65px; scroll-margin-top:75px; }
body.portfolio-shell .cafe-contact h2 { font-size:52px; font-weight:500; line-height:1.1; letter-spacing:-.03em; margin-bottom:25px; color:#fff4ec; }
.cafe-contact-intro > p:not(.cafe-eyebrow) { font-size:13px; line-height:1.9; color:#d8b4c9; max-width:340px; margin:0 0 23px; }
body.portfolio-shell .cafe-email { display:inline-flex; align-items:center; gap:12px; font-size:17px; color:#ffb7cf; text-decoration:none; font-weight:600; }
.cafe-email:hover { text-decoration:underline!important; }
.cafe-copy-email { display:flex; align-items:center; gap:7px; min-height:44px; background:none; border:0; color:#d3aebf; padding:8px 0; font-size:10px; margin-bottom:20px; }
.cafe-copy-email .portfolio-icon { width:14px!important; height:14px!important; }
.cafe-contact-intro .cafe-contact-note { font-size:11px!important; }
.cafe-contact-candy { width:270px; height:auto; max-width:85%; margin:-25px 0 -30px 45px; pointer-events:none; }
.cafe-guestbook { background:#fff7ef; color:#341b2d; padding:35px; border-radius:18px; border:1px solid #fff3e5; box-shadow:6px 7px 0 #ad527247; position:relative; }
.cafe-guestbook::before { content:''; width:95px; height:25px; background:#f193b5d9; border-inline:2px dashed #fff3e580; position:absolute; left:calc(50% - 47px); top:-12px; transform:rotate(-4deg); }
.cafe-guestbook > header { display:flex; gap:15px; align-items:center; margin:0 0 15px; }
body.portfolio-shell .cafe-guestbook .cafe-eyebrow { color:#9e345d; margin:0 0 4px!important; font-size:9px; }
.cafe-guestbook h3 { font-size:30px; font-weight:500; letter-spacing:-.035em; margin:0; }
.cafe-guestbook-mark { background:#f9dbe6; color:#a52854; width:46px; height:46px; display:grid; place-items:center; border-radius:50%; flex:none; }
.cafe-guestbook-help { color:#78546a; font-size:11px; line-height:1.7; margin-bottom:23px; }
.cafe-guestbook label { display:block; font-size:11px; font-weight:700; color:#573046; margin:0 0 16px; width:100%; }
.cafe-guestbook label > span { font-size:9px; font-weight:400; color:#876877; }
.cafe-form-pair { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.cafe-guestbook :is(input,select,textarea) { display:block; width:100%; margin-top:7px; padding:11px 12px; border:1px solid #dbc2ce; border-radius:8px; background:#fffcf7; color:#341b2d; font:400 12px/1.65 var(--font-body); min-height:44px; }
.cafe-guestbook :is(input,textarea)::placeholder { color:#95798a; }
.cafe-guestbook textarea { resize:vertical; min-height:120px; max-height:380px; }
.cafe-form-trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.cafe-note-bottom { display:flex; justify-content:space-between; align-items:center; gap:15px; }
.cafe-note-bottom > span { font-size:9px; color:#78546a; white-space:nowrap; }
.cafe-note-bottom .cafe-button { font-size:11px!important; padding:11px 17px!important; }
.cafe-note-status { margin:15px 0 0; font-size:12px; line-height:1.8; color:#82445d; }
.cafe-note-status:empty { display:none; }
.cafe-note-status[data-kind=error] { color:#a02b34; }
.cafe-note-status[data-kind=success] { color:#285b46; border-top:1px dashed #dbc2ce; padding-top:14px; }
.cafe-noticeboard { grid-column:1/-1; margin-top:20px; padding-top:32px; border-top:1px solid #ffffff25; }
.cafe-board-heading { display:flex; justify-content:space-between; align-items:center; gap:15px; margin-bottom:23px; }
.cafe-board-heading h3 { font-size:25px; font-weight:500; color:#fff4ec; margin:0; }
.cafe-board-heading > span,.cafe-noticeboard > p { font-size:11px; color:#d3aebf; line-height:1.9; }
.cafe-notes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.cafe-note { padding:23px; border-radius:4px 15px 15px 15px; background:#f6e6d9; color:#341b2d; position:relative; overflow-wrap:anywhere; }
.cafe-note:nth-child(3n+2) { background:#f3d2de; }
.cafe-note:nth-child(3n+3) { background:#e5ddef; }
.cafe-note > p { white-space:pre-wrap; font-size:12px; line-height:1.9; margin-bottom:20px; }
.cafe-note footer { display:flex; align-items:center; justify-content:space-between; gap:12px; border:0!important; padding:0!important; font-size:10px; color:#795669; }
.cafe-note footer strong { color:#542c44; }
.cafe-note small { display:block; color:#815369; font-size:9px; margin-bottom:8px; }
.cafe-noticeboard > .cafe-text-link { margin-top:20px; }
body.portfolio-shell footer { margin-top:0!important; border-color:#ffffff22!important; color:#d3aebf; }
body.portfolio-shell footer a { color:#ffb7cf; }
body.portfolio-shell footer .ms-footer-note { font-size:10px; padding-bottom:0; line-height:1.9; }
body.portfolio-shell footer .container { padding-top:18px!important; padding-bottom:18px!important; }
body.portfolio-shell footer > .container:first-child,body.portfolio-shell footer .pb-2 { display:none; }
@media(min-width:1600px) { body.portfolio-shell #hero.cafe-hero { padding-left:192px; min-height:750px; } }
@media(max-width:1280px) {
 .cafe-fresh,.cafe-about,.cafe-contact { margin-left:32px; margin-right:32px; }
 body.portfolio-shell #hero.cafe-hero { min-height:620px; padding:65px 40px; }
 .cafe-hero-copy { max-width:49%; }
 .cafe-hero-scene { object-position:55% center; }
 .cafe-fresh { grid-template-columns:150px 1fr 1fr; gap:15px; }
 .cafe-about { padding:50px; gap:55px; }
 .cafe-contact { gap:45px; }
}
@media(max-width:991px) {
 body.portfolio-shell #hero.cafe-hero { min-height:640px; padding:52px 32px; }
 body.portfolio-shell #hero h1 { font-size:56px; }
 .cafe-hero-copy { max-width:52%; }
 .cafe-hero-scene { object-position:63% center; opacity:.85; }
 .cafe-hero::after { background:linear-gradient(90deg,#221321eb 0%,#221321a8 35%,transparent 78%); }
 .cafe-hero-seal { display:none; }
 .cafe-fresh { grid-template-columns:1fr 1fr; }
 .cafe-fresh > p { grid-column:1/-1; }
 .cafe-projects #project-collections { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .cafe-section-heading > p { max-width:190px; }
 .cafe-filter-count { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
 .cafe-about { grid-template-columns:190px 1fr; gap:35px; padding:40px 30px; }
 body.portfolio-shell .cafe-about h2 { font-size:37px; }
 .cafe-contact { grid-template-columns:1fr 1.25fr; gap:30px; }
 body.portfolio-shell .cafe-contact h2 { font-size:41px; }
 .cafe-guestbook { padding:25px; }
 .cafe-guestbook h3 { font-size:25px; }
 .cafe-form-pair { grid-template-columns:1fr; gap:0; }
 .cafe-note-bottom { flex-wrap:wrap; }
 body.portfolio-shell .navbar-nav { text-align:left!important; padding-top:12px; }
 body.portfolio-shell #navbarContent .nav-link { padding:12px!important; }
 .cafe-contact-candy { margin-left:0; margin-top:0; }
}
@media(max-width:700px) {
 body.portfolio-shell #hero.cafe-hero { display:flex; flex-direction:column; align-items:start; min-height:0; padding:0; }
 .cafe-hero-scene { position:relative; z-index:0; width:100%; height:360px; object-fit:cover; object-position:83% 34%; opacity:1; order:0; }
 .cafe-hero::after { inset:260px 0 auto; height:100px; background:linear-gradient(transparent,#221321); z-index:1; }
 .cafe-hero-copy { max-width:none; width:100%; position:relative; padding:10px 25px 40px; order:1; background:#221321; }
 body.portfolio-shell #hero .cafe-eyebrow { font-size:9px; margin-bottom:19px!important; }
 body.portfolio-shell #hero h1 { font-size:clamp(48px,10vw,67px); }
 body.portfolio-shell #hero .cafe-intro { max-width:440px; font-size:13px; margin-bottom:21px; }
 .cafe-hero-actions { gap:12px 20px; }
 .cafe-signature { margin-top:21px; }
 .cafe-marquee { padding:13px 0; font-size:10px; gap:26px; }
 .cafe-fresh,.cafe-about,.cafe-contact { margin-left:22px; margin-right:22px; }
 .cafe-fresh { padding:25px 0; gap:15px; }
 .cafe-fresh a { padding:12px!important; gap:10px!important; }
 .cafe-fresh strong { font-size:19px; }
 .cafe-fresh-icon { display:none; }
 .cafe-fresh a > .portfolio-icon { display:none; }
 .cafe-fresh a > span > span { font-size:9px; }
 body.portfolio-shell #projects.cafe-projects { padding:45px 22px 5px; }
 body.portfolio-shell .cafe-section-heading :is(h1,h2) { font-size:42px; }
 .cafe-section-heading > p { display:none; }
 .cafe-filters { gap:7px; }
 .cafe-filters button { font-size:10px; min-height:44px; padding:8px 12px; }
 .cafe-about { grid-template-columns:1fr; padding:35px 27px; gap:37px; margin-top:55px; }
 .cafe-about-portrait { max-width:210px; justify-self:center; }
 .cafe-about::after { right:25px; top:18px; }
 body.portfolio-shell .cafe-about h2 { font-size:37px; }
 .cafe-contact { grid-template-columns:1fr; padding:55px 0 40px; gap:28px; }
 body.portfolio-shell .cafe-contact h2 { font-size:44px; }
 .cafe-contact-intro { position:relative; }
 .cafe-contact-intro > p:not(.cafe-eyebrow) { max-width:380px; }
 .cafe-contact-candy { display:none; }
 .cafe-guestbook { padding:29px 24px; }
 .cafe-form-pair { grid-template-columns:1fr 1fr; gap:12px; }
 .cafe-notes { grid-template-columns:1fr; }
 .cafe-board-heading { align-items:start; }
 .cafe-board-heading > span { display:none; }
 .cafe-board-heading h3 { font-size:24px; }
 body.portfolio-shell #profileHeader .container-fluid { padding:0 22px; }
 body.portfolio-shell .navbar-brand { font-size:18px; }
}
@media(max-width:540px) {
 .cafe-projects #project-collections { grid-template-columns:1fr; gap:25px; }
 .cafe-projects .ms-work-cover { aspect-ratio:16/9; }
 .cafe-projects .ms-work-body { padding:18px 15px 14px; }
 .cafe-projects .ms-work-desc { font-size:13px; }
 .cafe-work-meta { font-size:10px; }
 body.portfolio-shell .cafe-play,.cafe-projects .ms-detail-link { font-size:11px; min-height:44px; }
 .cafe-cover-arrow { opacity:1; transform:none; }
 body.portfolio-shell .cafe-eyebrow { font-size:9px; letter-spacing:.1em; }
 .cafe-form-pair { grid-template-columns:1fr; gap:0; }
 .cafe-hero-scene { height:290px; }
 .cafe-hero::after { top:190px; }
 .cafe-fresh strong { font-size:18px; line-height:1.15; margin:7px 0; }
 .cafe-fresh a > span > span { font-size:9px; line-height:1.6; }
}
@media(prefers-reduced-motion:reduce) { body.portfolio-shell *,body.portfolio-shell *::before,body.portfolio-shell *::after { animation:none!important; scroll-behavior:auto!important; transition:none!important; } }
@media(max-width:700px) { .cafe-guestbook :is(input,select,textarea) { font-size:16px; } }
