/* Portrait and hierarchy refinements */
.portrait-section{padding:7vw 4vw;display:grid;grid-template-columns:1.05fr .95fr;gap:7vw;align-items:end;background:var(--sand)}
.portrait-section figure{margin:0;position:relative}.portrait-section figure::after{content:"";position:absolute;inset:0;background:linear-gradient(130deg,rgba(175,220,224,.38),rgba(124,16,48,.16));mix-blend-mode:multiply;pointer-events:none}.portrait-section img{width:100%;max-height:760px;object-fit:cover;object-position:center 34%;display:block;filter:saturate(.82) contrast(.9)}.portrait-section figcaption{font-size:10px;letter-spacing:.08em;text-transform:uppercase;margin-top:10px}.portrait-section>div{padding-bottom:4vw}.portrait-section p{font-size:11px;text-transform:uppercase;letter-spacing:.1em}.portrait-section h2{font:clamp(48px,6vw,100px)/.9 Gunter,sans-serif;letter-spacing:-.06em;margin:4vw 0}.portrait-section h2 em{font-style:normal;color:var(--coral)}.portrait-section span{display:block;max-width:400px;font-size:20px;line-height:1.25}
.about-copy .big-copy{font-size:clamp(32px,3.8vw,62px);line-height:1;letter-spacing:-.045em}
.page-intro,.case.coral,.about-copy{background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E");background-blend-mode:soft-light}
@media(max-width:700px){.portrait-section{display:block;padding:20vw 20px}.portrait-section>div{padding:18vw 0 0}.portrait-section h2{font-size:15vw;margin:13vw 0}.portrait-section span{font-size:18px}.about-copy .big-copy{font-size:10vw;line-height:.96}}

/* Page navigation stays visible and every label shares the same baseline. */
.page-nav nav{align-items:center}.page-nav nav a{display:inline-flex;align-items:center;height:22px;line-height:1}.work-page .page-nav,.work-with-me-page .page-nav{color:var(--sand)}.page-nav nav a.active{padding-bottom:0}
.about-notes{display:grid;grid-template-columns:1.15fr .85fr;gap:7vw;padding:9vw 4vw;background:var(--sand);color:var(--coral)}.about-notes p{font-size:11px;letter-spacing:.1em;text-transform:uppercase;margin:0 0 4vw}.working-promise blockquote{margin:0;font:clamp(42px,5vw,78px)/.94 Gunter,sans-serif;letter-spacing:-.055em}.working-promise blockquote em{font-style:normal;color:var(--sea)}.working-promise span{display:block;max-width:370px;margin-top:4vw;font-size:13px;line-height:1.3}.outside-studio ul{list-style:none;padding:0;margin:0;border-top:1px solid rgba(124,16,48,.45)}.outside-studio li{font:clamp(22px,2.6vw,42px)/1 Gunter,sans-serif;letter-spacing:-.04em;padding:15px 0;border-bottom:1px solid rgba(124,16,48,.45)}
@media(max-width:700px){.about-notes{display:block;padding:20vw 20px}.outside-studio{margin-top:18vw}.working-promise blockquote{font-size:11vw}}

/* Work cards: editorial portrait proportions rather than square blocks. */
.work-grid .case img{height:auto;aspect-ratio:4 / 5;max-height:none;object-fit:cover}.work-grid .case.tall img{aspect-ratio:3 / 4}
@media(max-width:700px){.work-grid .case img{height:auto;aspect-ratio:4 / 5}.work-grid .case.tall img{aspect-ratio:3 / 4}}

/* Copy-led pages: clear routes for working together and getting in touch. */
.page-cta{padding:8vw 4vw;display:flex;justify-content:space-between;gap:4vw;align-items:end;background:var(--coral);color:var(--sand)}.page-cta p{max-width:620px;margin:0;font:clamp(28px,3.6vw,54px)/.96 Gunter,sans-serif;letter-spacing:-.045em}.page-cta a{color:var(--sea);white-space:nowrap;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:5px}.sea-cta{background:var(--sea);color:var(--coral)}.sea-cta a{color:var(--coral)}
.ways-grid{display:grid;grid-template-columns:1fr 1fr}.ways-grid article{min-height:760px;padding:8vw 4vw;display:flex;flex-direction:column;background:var(--sand);color:var(--coral)}.ways-grid article+article{background:var(--coral);color:var(--sand)}.ways-grid article>p,.process>p{margin:0;font-size:11px;letter-spacing:.1em;text-transform:uppercase}.ways-grid h2{max-width:620px;margin:7vw 0 auto;font:clamp(45px,5vw,78px)/.88 Gunter,sans-serif;letter-spacing:-.06em}.ways-grid article div{max-width:500px;font-size:18px;line-height:1.35}.ways-grid article span{display:block;margin:30px 0;font-size:12px;line-height:1.4;text-transform:uppercase;letter-spacing:.08em}.ways-grid article a{display:inline-block;color:inherit;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:5px}.process{padding:9vw 4vw;background:var(--sand);color:var(--coral)}.process ol{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:3vw;padding:5vw 0 0;margin:0;border-top:1px solid rgba(124,16,48,.45)}.process li{font-size:16px;line-height:1.35}.process b{display:block;margin-bottom:24px;font:clamp(26px,3vw,46px)/.9 Gunter,sans-serif;letter-spacing:-.04em}
.about-personal{display:block;padding:9vw 4vw;background:var(--sand)}.about-personal .outside-studio{max-width:850px}.about-personal .outside-studio p{margin-bottom:4vw}.working-section{display:block}.working-section .working-promise{max-width:980px}.working-section .working-promise span{font-size:17px;line-height:1.4;max-width:560px}
.working-section .working-promise{max-width:none;min-height:31vw;position:relative}.working-promise a{position:absolute;right:0;bottom:0;display:inline-block;margin:0;color:var(--coral);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:5px}.working-promise a .arrow-icon{display:inline-block;max-width:none;margin:0 0 0 .2em;font-size:1em;line-height:1;vertical-align:-.04em}
@media(max-width:700px){.working-section .working-promise{min-height:0}.working-promise a{position:static;margin-top:12vw}}

/* Hidden Netlify Forms spam trap; it remains accessible to bots without affecting the layout. */
.form-honeypot{position:absolute;overflow:hidden;clip:rect(0 0 0 0);height:1px;width:1px;margin:-1px;padding:0;border:0}
.contact-page{background:var(--coral);color:var(--sand)}.contact-page .page-nav{color:var(--sand)}.contact-page-main{min-height:100vh;padding:22vh 4vw 8vw}.contact-page-main>p{margin:0;font-size:11px;letter-spacing:.1em;text-transform:uppercase}.contact-page-main h1{margin:5vw 0 3vw;font:clamp(78px,13vw,220px)/.86 Gunter,sans-serif;letter-spacing:-.065em}.contact-page-main h1 em{font-style:normal;color:var(--sea)}.contact-lede{max-width:490px;margin-left:auto;font-size:clamp(19px,2vw,27px);line-height:1.25}.contact-form{width:min(100%,850px);margin:7vw 0 0 auto;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(253,247,212,.6);border-left:1px solid rgba(253,247,212,.6)}.contact-form label{display:block;padding:11px 14px 14px;border-right:1px solid rgba(253,247,212,.6);border-bottom:1px solid rgba(253,247,212,.6);font-size:10px;letter-spacing:.09em;text-transform:uppercase}.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;border:0;outline:0;background:transparent;color:var(--sand);padding:10px 0 0;font:16px/1.25 Arial,sans-serif}.contact-form .message-field{grid-column:1/-1}.contact-form button{margin-top:15px;padding:15px 18px;border:0;background:var(--sea);color:var(--coral);font:18px Gunter,sans-serif;letter-spacing:-.03em;cursor:pointer;justify-self:start}.contact-form small{grid-column:1/-1;margin-top:10px;font-size:10px;letter-spacing:.06em;text-transform:uppercase;opacity:.7}.contact-email{display:inline-block;margin-top:8vw;color:var(--sea);font:clamp(22px,3vw,48px) Gunter,sans-serif;letter-spacing:-.04em;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:10px}
.contact-linkedin{display:inline-flex;align-items:center;margin:8vw 0 0 2vw;color:var(--sea);font:clamp(22px,3vw,48px) Gunter,sans-serif;letter-spacing:-.04em;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:10px}
@media(max-width:700px){.page-nav nav{gap:8px;font-size:10px}.page-nav nav a:nth-child(2){display:inline-flex}.page-cta{display:block;padding:20vw 20px}.page-cta a{display:inline-block;margin-top:10vw}.ways-grid{display:block}.ways-grid article{min-height:0;padding:20vw 20px}.ways-grid h2{margin:16vw 0}.process{padding:20vw 20px}.process ol{display:block;margin-top:15vw}.process li{margin-bottom:14vw}.contact-page-main{padding:150px 20px 70px}.contact-page-main h1{font-size:18vw;line-height:.9;margin:17vw 0}.contact-lede{margin-left:0;font-size:18px}.contact-form{grid-template-columns:1fr;margin-top:18vw}.contact-form .message-field{grid-column:auto}.contact-email{margin-top:20vw;font-size:8vw}}
@media(max-width:700px){.contact-linkedin{display:flex;width:max-content;margin:16px 0 0;font-size:5vw;line-height:1.08}}

/* Individual project pages. */
.case-link{display:block;color:inherit;text-decoration:none}.case-link h2{transition:color .25s}.case-link:hover h2{color:var(--sea)}.case h2 a{color:inherit;text-decoration:none}.case h2 a:hover{color:var(--sea)}
.case-study-page{background:var(--sand);color:var(--coral)}.case-study-page .page-nav{color:var(--sand)}.case-study-hero{min-height:84vh;padding:22vh 4vw 8vw;background:var(--coral);color:var(--sand);position:relative;overflow:hidden}.case-study-hero:after{content:"";position:absolute;width:46vw;aspect-ratio:1;border:1px solid var(--sea);border-radius:50%;right:-12vw;bottom:-25vw;opacity:.6}.case-study-hero>p{margin:0;font-size:11px;letter-spacing:.1em;text-transform:uppercase}.case-study-hero h1{max-width:1450px;margin:5vw 0 4vw;font:clamp(70px,12vw,205px)/.82 Gunter,sans-serif;letter-spacing:-.07em;position:relative;z-index:1}.case-study-hero h1 em{font-style:normal;color:var(--sea)}.case-study-hero>div{max-width:490px;margin-left:auto;font-size:clamp(19px,2.1vw,29px);line-height:1.22;position:relative;z-index:1}.case-study-visual{padding:5vw 4vw;background:var(--sand)}.case-study-visual img{width:100%;max-height:1000px;display:block;object-fit:cover}.case-study-details{display:grid;grid-template-columns:.72fr 1.28fr;gap:7vw;padding:9vw 4vw;background:var(--sea);color:var(--coral)}.case-study-details aside{font-size:11px;text-transform:uppercase;letter-spacing:.1em}.case-study-details article{display:grid;gap:5vw}.case-study-details h2{margin:0 0 16px;font:clamp(34px,4vw,62px)/.9 Gunter,sans-serif;letter-spacing:-.05em}.case-study-details p{max-width:620px;margin:0;font-size:18px;line-height:1.38}.case-study-details ul{list-style:none;padding:0;margin:0;border-top:1px solid rgba(124,16,48,.45)}.case-study-details li{padding:12px 0;border-bottom:1px solid rgba(124,16,48,.45);font-size:14px;letter-spacing:.03em;text-transform:uppercase}.case-study-next{display:flex;justify-content:space-between;align-items:end;gap:4vw;padding:8vw 4vw;background:var(--coral);color:var(--sand)}.case-study-next p{margin:0;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.case-study-next a{max-width:900px;color:var(--sand);font:clamp(45px,7vw,115px)/.83 Gunter,sans-serif;letter-spacing:-.06em;text-decoration:none}.case-study-next a em{font-style:normal;color:var(--sea)}
@media(max-width:700px){.case-study-hero{min-height:680px;padding:150px 20px 60px}.case-study-hero h1{font-size:18vw;line-height:.86;margin:17vw 0}.case-study-hero>div{margin-left:0;font-size:18px}.case-study-visual{padding:30px 20px}.case-study-details{display:block;padding:20vw 20px}.case-study-details article{margin-top:16vw;gap:14vw}.case-study-details h2{font-size:11vw}.case-study-next{display:block;padding:20vw 20px}.case-study-next a{display:block;margin-top:14vw;font-size:15vw}}

/* The first image establishes the story; added details form a flexible editorial grid. */
.case-study-visual{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.case-study-visual img{height:100%;max-height:1000px}.case-study-visual img:first-child,.case-study-visual img:nth-child(4n){grid-column:1/-1}
.case-study-visual.gallery-3{grid-template-columns:repeat(3,minmax(0,1fr))}.case-study-visual.gallery-3 img:first-child,.case-study-visual.gallery-3 img:nth-child(4n){grid-column:auto}.case-study-visual.gallery-4{grid-template-columns:repeat(4,minmax(0,1fr))}.case-study-visual.gallery-4 img:first-child,.case-study-visual.gallery-4 img:nth-child(4n){grid-column:auto}
@media(max-width:700px){.case-study-visual,.case-study-visual.gallery-3,.case-study-visual.gallery-4{grid-template-columns:1fr;gap:10px}.case-study-visual img:first-child,.case-study-visual img:nth-child(4n){grid-column:auto}}

/* Slightly calmer display scale and editable image focus on the Work grid. */
.page-intro h1{font-size:clamp(64px,10.5vw,180px)}
.case h2{font-size:clamp(27px,3.3vw,54px);line-height:.97}
.case img{object-position:var(--image-position,center)}
.case.sea h2 a:hover{color:#EEC76F}

/* Final image and type refinements. */
.page-logo{line-height:.9}.work-grid .case.tall img{aspect-ratio:4 / 5}.page-intro h1,.about-hero h1,.case-study-hero h1,.case h2,.ways-grid h2,.contact-page-main h1,.about-lede,.page-intro>div:not(.orbit-dots),.contact-lede,.case p,.case-study-details p,.working-promise span{text-wrap:balance}
.work-with-me-page .page-intro .orbit-dots{position:absolute;z-index:1;width:36vw;aspect-ratio:1;right:-7vw;bottom:-19vw;margin:0;max-width:none;font-size:0;animation:orbit-spin 14s linear infinite}.work-with-me-page .orbit-dots i{position:absolute;left:21%;top:8%;width:10px;height:10px;border-radius:50%;background:#EEC76F;box-shadow:0 0 0 3px rgba(238,199,111,.14)}.work-with-me-page .orbit-dots i:nth-child(2){left:79%;top:auto;bottom:8%;width:7px;height:7px;animation:orbit-pulse 2.5s ease-in-out infinite}@keyframes orbit-spin{to{transform:rotate(360deg)}}@keyframes orbit-pulse{50%{transform:scale(1.5);opacity:.65}}
@media(max-width:700px){.work-with-me-page .page-intro .orbit-dots{width:74vw;right:-27vw;bottom:-22vw}}

/* Ochre orbit markers carry the sea/sun motif through the Work and About pages. */
.work-page .page-intro .orbit-dots{position:absolute;z-index:1;width:36vw;aspect-ratio:1;right:-7vw;bottom:-19vw;margin:0;max-width:none;font-size:0;animation:orbit-spin 14s linear infinite}.work-page .orbit-dots i{position:absolute;left:21%;top:8%;width:10px;height:10px;border-radius:50%;background:#EEC76F;box-shadow:0 0 0 3px rgba(238,199,111,.14)}.work-page .orbit-dots i:nth-child(2){left:79%;top:auto;bottom:8%;width:7px;height:7px;animation:orbit-pulse 2.5s ease-in-out infinite}.about-hero::after{content:"";position:absolute;z-index:0;width:42vw;aspect-ratio:1;right:-10vw;bottom:-25vw;border:1px solid rgba(124,16,48,.38);border-radius:50%}.about-hero>p,.about-hero>h1,.about-hero>.about-lede{position:relative;z-index:1}.about-hero .orbit-dots{position:absolute;z-index:0;width:42vw;aspect-ratio:1;right:-10vw;bottom:-25vw;animation:orbit-spin 16s linear infinite}.about-hero .orbit-dots i{position:absolute;left:21%;top:8%;width:10px;height:10px;border-radius:50%;background:#EEC76F;box-shadow:0 0 0 3px rgba(238,199,111,.16)}.about-hero .orbit-dots i:nth-child(2){left:79%;top:auto;bottom:8%;width:7px;height:7px;animation:orbit-pulse 2.5s ease-in-out infinite}

/* Make the Work invitation read in two clear beats. */
.page-cta .cta-copy{max-width:720px}.page-cta .cta-question{max-width:720px;font:clamp(34px,3.6vw,54px)/.96 Gunter,sans-serif;letter-spacing:-.045em}.page-cta .cta-answer{max-width:480px;margin-top:18px;font:18px/1.3 Arial,sans-serif;letter-spacing:0}

@media(max-width:700px){.work-page .page-intro .orbit-dots{width:74vw;right:-27vw;bottom:-22vw}.about-hero::after,.about-hero .orbit-dots{width:78vw;right:-24vw;bottom:-23vw}.page-cta .cta-answer{font-size:17px}}

/* Keep About's opening note at the same calm reading scale as Work pages. */
.about-hero .about-lede{max-width:400px;font-size:20px;line-height:1.3}
@media(max-width:700px){.about-hero .about-lede{font-size:18px}}

/* Work cards are full, generous click targets with an editorial lift on hover. */
.work-grid .case-link{transition:transform .42s cubic-bezier(.2,.8,.2,1),box-shadow .42s ease}.work-grid .case-link.coral{color:var(--sea)}.work-grid .case-link.sea,.work-grid .case-link.sand{color:var(--coral)}.work-grid .case-link img{transition:transform .6s cubic-bezier(.2,.8,.2,1)}.work-grid .case-link h2{transition:color .25s ease}.work-grid .case-link:hover{transform:translateY(-10px);box-shadow:0 18px 28px rgba(75,8,26,.18)}.work-grid .case-link:hover img{transform:scale(1.025)}.work-grid .case-link.coral:hover h2{color:#EEC76F}.work-grid .case-link.sand:hover h2{color:var(--sea)}.work-grid .case-link.sea:hover h2{color:#EEC76F}.work-grid .case-link:focus-visible{outline:3px solid var(--sea);outline-offset:4px}
.page-cta a,.ways-grid a,.small-copy a,.contact-email,.page-footer a{display:inline-block;transition:transform .3s ease}.page-cta a:hover,.ways-grid a:hover,.small-copy a:hover,.contact-email:hover,.page-footer a:hover{transform:translate(5px,-5px)}

/* All action links share the same small, tactile bounce. */
.round-link,.text-link,.email-arrow,.page-cta a,.ways-grid a,.small-copy a,.working-promise a,.contact-email,.contact-linkedin,.page-footer a,.case-study-next a,.contact-form button,.inquiry-form button{transform-origin:center}
.round-link:hover,.round-link:focus-visible,.text-link:hover,.text-link:focus-visible,.email-arrow:hover,.email-arrow:focus-visible,.page-cta a:hover,.page-cta a:focus-visible,.ways-grid a:hover,.ways-grid a:focus-visible,.small-copy a:hover,.small-copy a:focus-visible,.working-promise a:hover,.working-promise a:focus-visible,.contact-email:hover,.contact-email:focus-visible,.contact-linkedin:hover,.contact-linkedin:focus-visible,.page-footer a:hover,.page-footer a:focus-visible,.case-study-next a:hover,.case-study-next a:focus-visible,.contact-form button:hover,.contact-form button:focus-visible,.inquiry-form button:hover,.inquiry-form button:focus-visible{animation:action-bounce .62s cubic-bezier(.2,.85,.35,1)}
@keyframes action-bounce{0%,100%{transform:translate(0,0)}35%{transform:translate(7px,-10px)}62%{transform:translate(3px,-4px)}80%{transform:translate(5px,-7px)}}
@media(prefers-reduced-motion:reduce){.round-link,.text-link,.email-arrow,.page-cta a,.ways-grid a,.small-copy a,.working-promise a,.contact-email,.contact-linkedin,.page-footer a,.case-study-next a,.contact-form button,.inquiry-form button{animation:none!important;transition:none!important}}

/* On small screens the orbit and its path share the same geometry. */
@media(max-width:700px){.work-page .page-intro:after,.work-with-me-page .page-intro:after{width:74vw;right:-27vw;bottom:-22vw}}

/* Keep Unicode arrows as typographic symbols on iOS, never emoji. */
body{font-variant-emoji:text}

/* Phone hero type: intentional line breaks, no cropped letters. */
@media(max-width:700px){
  .contact-page-main h1{font-size:13vw;line-height:.92;letter-spacing:-.06em}
  .page-intro h1,.about-hero h1,.case-study-hero h1{font-size:14vw;line-height:.9}
  .contact-email{font-size:6vw;line-height:1.05;overflow-wrap:anywhere}
}

/* Final phone pass: keep every display heading inside the viewport. */
@media(max-width:700px){
  body{overflow-x:hidden}
  .page-intro h1,.about-hero h1,.case-study-hero h1{font-size:11.5vw;line-height:.92;letter-spacing:-.055em}
  .contact-page-main h1{font-size:11.5vw;line-height:.94;letter-spacing:-.055em}
  .working-promise blockquote{font-size:8.8vw;line-height:.96;overflow-wrap:anywhere}
  .contact-email{display:block;width:100%;font-size:5vw;line-height:1.08;overflow-wrap:anywhere;word-break:break-word}
  .page-footer{gap:8px;font-size:9px}
}

/* Rum Club campaign gallery: social formats shown at their native proportions. */
.rum-gallery{padding:5vw 4vw;background:var(--sand);display:grid;gap:8vw}
.rum-gallery__group{display:grid;grid-template-columns:1fr 2fr;gap:2vw;align-items:start}
.rum-gallery figure{margin:0}.rum-gallery img{display:block;width:100%;height:auto}
.rum-gallery__eyebrow{margin:0;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--coral)}
.rum-gallery__feature{grid-column:2}
.rum-gallery__posts{grid-column:2;display:grid;grid-template-columns:repeat(3,1fr);gap:2vw}
.rum-gallery__stories{grid-column:2;display:grid;grid-template-columns:repeat(2,1fr);gap:2vw}
@media(max-width:700px){
  .rum-gallery{padding:30px 20px;gap:72px}
  .rum-gallery__group{display:grid;grid-template-columns:1fr;gap:18px}
  .rum-gallery__feature,.rum-gallery__posts,.rum-gallery__stories{grid-column:auto}
  .rum-gallery__posts{grid-template-columns:repeat(3,1fr);gap:8px}
  .rum-gallery__stories{grid-template-columns:repeat(2,1fr);gap:8px}
}

/* Long-form formats sit beside a quiet editorial label. */
.case-format-showcase{display:grid;grid-template-columns:1fr 2fr;gap:2vw;align-items:start;padding:5vw 4vw;background:var(--sand)}
.case-format-showcase__eyebrow{margin:0;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--coral)}
.case-format-showcase figure{grid-column:2;margin:0}.case-format-showcase img{display:block;width:100%;height:auto}
@media(max-width:700px){.case-format-showcase{grid-template-columns:1fr;gap:18px;padding:30px 20px}.case-format-showcase figure{grid-column:auto}}

/* Alternate design directions are presented as a compact comparison. */
.merch-directions{display:grid;grid-template-columns:1fr 2fr;gap:2vw;align-items:start;padding:5vw 4vw;background:var(--sand);color:var(--coral)}
.merch-directions p{margin:0;font-size:15px;line-height:1.35}.merch-directions__eyebrow{margin-bottom:12px!important;font-size:11px!important;letter-spacing:.1em;text-transform:uppercase}
.merch-directions__grid{grid-column:2;display:grid;grid-template-columns:repeat(2,1fr);gap:2vw}.merch-directions img{display:block;width:100%;height:auto}
@media(max-width:700px){.merch-directions{grid-template-columns:1fr;gap:18px;padding:30px 20px}.merch-directions__grid{grid-column:auto;gap:8px}}

/* Aburi Group newsletter archive. */
.email-archive{display:grid;grid-template-columns:1fr 2fr;gap:2vw;align-items:start;padding:5vw 4vw;background:var(--sand);color:var(--coral)}
.email-archive p{margin:0;font-size:15px;line-height:1.35}.email-archive__eyebrow{margin-bottom:12px!important;font-size:11px!important;letter-spacing:.1em;text-transform:uppercase}
.email-archive__grid{grid-column:2;display:grid;grid-template-columns:repeat(4,1fr);gap:1.25vw}.email-archive img{display:block;width:100%;height:auto}
@media(max-width:700px){.email-archive{grid-template-columns:1fr;gap:18px;padding:30px 20px}.email-archive__grid{grid-column:auto;grid-template-columns:repeat(2,1fr);gap:8px}}

/* Every project hero uses the same orbit: ochre markers sit directly on its circle. */
.case-study-hero::before{content:"";position:absolute;z-index:0;width:46vw;aspect-ratio:1;right:-12vw;bottom:-25vw;background:radial-gradient(circle at 50% 1%,#eec76f 0 5px,transparent 6px),radial-gradient(circle at 99% 50%,#eec76f 0 4px,transparent 5px),radial-gradient(circle at 14.8% 85.2%,#eec76f 0 4px,transparent 5px);filter:drop-shadow(0 0 3px rgba(238,199,111,.35));animation:orbit-spin 18s linear infinite}

/* Portfolio media never extends the page width on a narrow screen. */
.case-study-page img{max-width:100%}
@media(max-width:700px){.case-study-hero::before{width:78vw;right:-24vw;bottom:-23vw;background:radial-gradient(circle at 50% 1%,#eec76f 0 4px,transparent 5px),radial-gradient(circle at 99% 50%,#eec76f 0 3px,transparent 4px),radial-gradient(circle at 14.8% 85.2%,#eec76f 0 3px,transparent 4px)}.case-study-hero:after{width:78vw;right:-24vw;bottom:-23vw}.case-study-hero h1{max-width:100%;overflow-wrap:anywhere}.case-study-hero>div{max-width:34rem}.rum-gallery img,.merch-directions img,.email-archive img,.case-format-showcase img{max-width:100%}}

/* Keep next-project links generous, but inside the phone viewport. */
@media(max-width:700px){.case-study-next a{max-width:100%;font-size:9vw;line-height:.88;overflow-wrap:anywhere}}

/* UPrep photographs share a precise display frame despite their slightly different source heights. */
.uprep-merch .merch-directions__grid img{aspect-ratio:1170 / 1332;object-fit:cover;object-position:center top}

/* The next-project link has an intentional, playful response on hover and tap. */
.case-study-next a{display:inline-flex;align-items:center;transform-origin:center}
.case-study-next a:hover,.case-study-next a:focus-visible,.case-study-next a:active{animation:case-next-bounce .62s cubic-bezier(.2,.85,.35,1)}
@keyframes case-next-bounce{0%,100%{transform:translate(0,0)}35%{transform:translate(10px,-14px)}62%{transform:translate(5px,-5px)}80%{transform:translate(8px,-9px)}}

/* CSS-drawn arrows stay typographic on every iPhone and never become emoji. */
.arrow-icon{display:inline-block;position:relative;flex:none;width:.86em;height:.86em;margin-left:.2em;vertical-align:-.04em;color:currentColor}
.arrow-icon::before{content:"";position:absolute;left:.06em;bottom:.1em;width:.98em;height:1.5px;background:currentColor;transform:rotate(-45deg);transform-origin:left center}
.arrow-icon::after{content:"";position:absolute;right:.03em;top:.03em;width:.38em;height:.38em;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor}
.arrow-icon--down::before{transform:rotate(45deg);transform-origin:left center;bottom:.76em}.arrow-icon--down::after{top:auto;bottom:.03em;transform:rotate(90deg)}
.arrow-icon--up::before{transform:rotate(-90deg);transform-origin:left center;bottom:.08em}.arrow-icon--up::after{right:.24em;top:.03em;transform:rotate(-45deg)}
.email-arrow .arrow-icon{margin-left:0}

/* Page copy styles target generic spans; keep CSS arrows compact and inline. */
.ways-grid article .arrow-icon,.text-link .arrow-icon,.page-cta .arrow-icon,.page-footer .arrow-icon{display:inline-block;margin:0 0 0 .2em;font:inherit;letter-spacing:normal;text-transform:none}

/* A quieter display scale for every project-page title. */
.case-study-hero h1{font-size:clamp(64px,10.5vw,180px);line-height:.84;letter-spacing:-.065em}
@media(max-width:700px){.case-study-hero h1{font-size:10.2vw;line-height:.93;letter-spacing:-.055em}}

/* About and service-page statements should feel spacious, not oversized. */
.page-intro h1,.about-hero h1{font-size:clamp(52px,7vw,132px);line-height:.9;letter-spacing:-.06em}
@media(max-width:700px){.page-intro h1,.about-hero h1{font-size:9.2vw;line-height:.94;letter-spacing:-.05em}}
