:root{--pink:#171717;--ink:#171717;--muted:#626262;--line:#dedede;--paper:#fff;--soft:#f4f4f4}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--paper);font-family:"degular-text",Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--pink);outline-offset:6px}img{display:block;width:100%;height:100%;object-fit:cover}header{max-width:1440px;margin:auto;padding:30px 5%;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.wordmark{font-size:25px;font-weight:700;letter-spacing:-1px}.wordmark span{color:var(--pink);margin-left:5px}nav{display:flex;gap:26px;font-size:14px}nav a:hover,.text-link:hover{color:var(--pink)}main{max-width:1440px;margin:auto}.hero{padding:54px 5% 62px}.hero-meta{display:flex;justify-content:space-between;font-size:13px;letter-spacing:1.8px}.hero h1{font-size:clamp(56px,8.7vw,128px);line-height:1.05;letter-spacing:-.065em;font-weight:700;margin:40px 0 30px}.hero em,.about em{font-style:normal;color:var(--pink)}.hero-bottom{display:flex;justify-content:space-between;align-items:center}.hero-bottom p{font-size:20px;line-height:1.4;margin:0}.pill{display:inline-block;border:1px solid var(--ink);border-radius:40px;padding:13px 24px;font-size:14px;font-weight:700;transition:background .2s,color .2s}.pill:hover{background:var(--pink);border-color:var(--pink);color:white}.work-section{padding:66px 5%;border-top:1px solid var(--line)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:36px}.index{font-size:12px;letter-spacing:1.6px;font-weight:700;color:var(--muted)}h2{font-size:clamp(34px,4.4vw,60px);line-height:1.12;letter-spacing:-.055em;margin:12px 0 0}h2 span{color:var(--pink)}.text-link{font-size:14px;border-bottom:1px solid currentColor;padding-bottom:4px;display:inline-block}.design-grid{display:grid;grid-template-columns:1fr 1fr;gap:38px 26px}.project-image{aspect-ratio:16/9;background:var(--soft);overflow:hidden}.project-image img{transition:transform .45s}.project:hover img{transform:scale(1.025)}.project-caption{display:flex;flex-wrap:wrap;gap:5px 20px;align-items:baseline;justify-content:space-between;padding-top:15px}.project-caption h3{font-size:21px;margin:0;letter-spacing:-.5px}.project-caption span{font-size:12px;letter-spacing:.7px;color:var(--muted)}.additional{margin-top:60px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:40px;border-top:1px solid var(--line);padding-top:44px}.additional>div h3{font-size:38px;letter-spacing:-1.5px;margin:10px 0}.additional>div p{max-width:300px;color:var(--muted)}.additional .reel{max-width:400px;width:100%;justify-self:center}.section-note{font-size:16px;line-height:1.5;color:var(--muted);margin:0}.reels-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.reel{border:1px solid var(--line);overflow:hidden;background:white;min-width:0}.reel-top{padding:16px;display:flex;gap:10px;justify-content:space-between;font-size:11px;letter-spacing:1px;font-weight:700}.reel iframe{display:block;width:100%;border:0;background:var(--soft)}.reel-bottom{padding:22px}.reel-bottom h3{margin:0 0 12px;font-size:21px;letter-spacing:-.6px}.embed-note{font-size:14px;color:var(--muted);margin:22px 0 0}.web-project{display:grid;grid-template-columns:1.3fr 1fr;background:var(--soft)}.web-preview{min-height:420px;overflow:hidden}.web-preview img{height:100%;min-height:420px}.web-copy{padding:45px;display:flex;flex-direction:column;align-items:start;justify-content:center}.web-copy h3{font-size:clamp(26px,3vw,44px);line-height:1.15;letter-spacing:-1.8px;margin:24px 0 18px}.web-copy p{color:var(--muted);max-width:330px}.tag{font-size:12px;border:1px solid #ccc;border-radius:20px;padding:5px 12px;margin:8px 0 28px}.dark{background:var(--ink);color:white}.web-title{padding:50px;background:var(--pink);color:white;font-size:60px;font-weight:700;line-height:1.1;letter-spacing:-3px}.photo-grid{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:24px;align-items:center}.photo-space{height:290px;background:#f2f2f2;border:1px solid #e7e7e7}.photo-space:nth-child(2){height:340px}.about{padding:70px 5%;display:grid;grid-template-columns:1fr 1fr;gap:20px 40px;background:var(--ink);color:white}.about>.index{grid-column:1/-1;color:#bbb}.about h2{margin:0}.about>div{max-width:410px;padding-top:6px}.about p{font-size:18px;color:#ddd;margin:0 0 25px}footer{max-width:1440px;margin:auto;display:flex;gap:24px;align-items:center;justify-content:space-between;padding:36px 5%;font-size:13px;color:var(--muted)}footer .wordmark{color:var(--ink)}.skip{position:fixed;top:-100px;left:16px;padding:12px;background:white;z-index:10}.skip:focus{top:12px}@media(max-width:900px){nav{gap:16px}.reels-grid{gap:14px}.reel-top{padding:12px;font-size:10px;letter-spacing:.4px}.web-copy{padding:28px}.project-caption{display:block}.project-caption span{display:block;margin-top:5px}}@media(max-width:650px){header{padding:22px 6%;flex-wrap:wrap;gap:17px}nav{width:100%;justify-content:space-between;gap:8px;font-size:12px}.hero{padding:32px 6% 42px}.hero-meta{font-size:10px;letter-spacing:1px}.hero h1{font-size:64px;margin:32px 0;max-width:360px}.hero-bottom{gap:20px;align-items:start;flex-direction:column}.hero-bottom p{font-size:18px}.work-section{padding:44px 6%}.section-heading{align-items:start;flex-direction:column;gap:18px;margin-bottom:26px}.design-grid,.reels-grid{grid-template-columns:1fr;gap:30px}.project-caption h3{font-size:20px}.additional{grid-template-columns:1fr;gap:20px;margin-top:40px;padding-top:30px}.additional .reel{max-width:none}.reel-top{font-size:11px;padding:16px}.section-note br{display:none}.web-project{grid-template-columns:1fr}.web-preview,.web-preview img{min-height:0;height:240px}.web-copy{padding:28px}.web-copy h3{font-size:34px}.photo-grid{gap:12px}.photo-space{height:140px}.photo-space:nth-child(2){height:180px}.about{grid-template-columns:1fr;padding:44px 6%;gap:25px}.about>.index{grid-column:auto}.about h2{font-size:46px}.about p{font-size:16px}footer{padding:30px 6%;flex-wrap:wrap}footer>span{order:3;width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Portfolio refinements */
.hero em{color:var(--ink)}.hero h1{font-size:clamp(56px,7.4vw,106px);max-width:1200px}.reel-top{justify-content:flex-end}.scrolling-preview{border:1px solid var(--line);background:var(--soft);overflow:hidden}.scrolling-preview iframe{display:block;width:100%;height:760px;border:0;background:white}.about h2 span{color:var(--pink)}@media(max-width:650px){.hero h1{font-size:56px;max-width:100%}.scrolling-preview iframe{height:620px}}

.web-previews-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.web-preview-card{min-width:0}.web-preview-caption{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:20px}.web-preview-caption h3{font-size:21px;letter-spacing:-.5px;margin:0}.web-previews-grid .scrolling-preview iframe{height:700px}@media(max-width:700px){.web-previews-grid{grid-template-columns:1fr;gap:36px}.web-previews-grid .scrolling-preview iframe{height:620px}}

.web-previews-grid{grid-template-columns:minmax(0,1fr);gap:42px}.web-previews-grid .scrolling-preview iframe{height:760px}.saved-preview-note{font-size:13px;color:var(--muted)}@media(max-width:650px){.web-previews-grid .scrolling-preview iframe{height:620px}}

/* Monochrome portfolio accents */
.about h2 span{color:#fff}.pill:hover{background:#171717;border-color:#171717;color:#fff}.dark:hover{background:#fff;border-color:#171717;color:#171717}.about .text-link:hover{color:#fff}

/* Adobe Fonts: same Degular Text family as the original portfolio. */
body{font-family:"degular-text",Arial,Helvetica,sans-serif}button,input,select,textarea{font-family:inherit}.hero h1{letter-spacing:-.035em}h2{letter-spacing:-.035em}.wordmark{letter-spacing:-.5px}

/* Uppercase section headings */
h2{text-transform:uppercase}

/* Centered name header */
header{flex-direction:column;justify-content:center;gap:20px;text-align:center}.site-name{margin:0;font-size:25px;line-height:1.5;font-weight:400}header .wordmark{text-transform:uppercase;font-weight:400;letter-spacing:1px}header nav{justify-content:center;flex-wrap:wrap}.hero{padding-top:32px;padding-bottom:40px}.hero-meta{margin-bottom:25px}@media(max-width:650px){header nav{gap:10px 18px}.hero{padding-top:24px;padding-bottom:30px}}

/* Instagram controls its embed height, so posts expand without a nested scroll area. */
.reel .instagram-media{width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important}.reel blockquote{padding:24px}.reel iframe.instagram-media-rendered{display:block;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;border:0!important}.reels-grid{align-items:start}

/* Persistent navigation and anchor clearance */
header{position:sticky;top:0;z-index:20;background:var(--paper)}html{scroll-padding-top:160px}.web-design-description{max-width:720px;margin:0;color:var(--muted);font-size:16px;line-height:1.5}@media(max-width:650px){html{scroll-padding-top:180px}}

/* Contact links and matching footer wordmark */
.contact-links{display:flex;align-items:center;gap:16px}.contact-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;color:white;border:1px solid #777;border-radius:50%;transition:background .2s,color .2s}.contact-icon:hover{background:white;color:var(--ink)}footer .wordmark{font-weight:400;letter-spacing:1px;text-transform:uppercase}

/* Photography collage and website hero previews. */
.photo-collage{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:1050px;margin:0 auto}.collage-column{display:flex;flex-direction:column;gap:24px}.collage-photo{margin:0}.collage-photo img{width:100%;height:auto;object-fit:contain}.photography-website{margin-top:56px}.photography-subtitle{font-size:18px;font-weight:400;letter-spacing:.3px;margin:0 0 24px}.photography-heroes{display:grid;gap:32px}.photography-hero-banner{position:relative;isolation:isolate;overflow:hidden}.photography-hero-banner:after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.2);z-index:1}.photography-hero-banner img{width:100%;height:auto;aspect-ratio:12/5;object-fit:cover}.photography-hero-text{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.5);font-family:Arial,Helvetica,sans-serif}.photography-hero-text h4{font-size:clamp(28px,4.2vw,56px);font-weight:400;line-height:1.15;margin:0 0 18px}.photography-hero-text p{font-size:clamp(14px,1.7vw,22px);line-height:1.4;margin:0}.photography-hero-caption{display:block;margin-top:12px;font-size:14px;color:var(--muted)}.photography-instagram{margin-top:56px}@media(max-width:650px){.photo-collage,.collage-column{gap:12px}.photography-website,.photography-instagram{margin-top:40px}.photography-heroes{gap:26px}.photography-hero-text{padding:16px}.photography-hero-text h4{margin-bottom:10px}.photography-hero-banner img{min-height:210px}.photography-hero-text p{max-width:280px}}

/* Original Stones Boatyard hero typography from its Shopify font files. */
@font-face{font-family:"Stones Quicksand";font-style:normal;font-weight:400;font-display:swap;src:url("stones-quicksand-regular.woff2") format("woff2")}
@font-face{font-family:"Stones Playfair Display";font-style:normal;font-weight:700;font-display:swap;src:url("stones-playfair-bold.woff2") format("woff2")}
.photography-hero-text{text-shadow:none;font-family:"Stones Quicksand",sans-serif;letter-spacing:.6px}.photography-hero-text h4{font-family:"Stones Playfair Display",serif;font-weight:700;font-style:normal;font-size:44px;line-height:1.272727;letter-spacing:.66px;margin:0}.photography-hero-text p{font-family:"Stones Quicksand",sans-serif;font-size:18px;line-height:1.8;font-weight:400;letter-spacing:.6px;margin:10px 0 0}@media(max-width:749px){.photography-hero-text h4{font-size:32px}.photography-hero-text p{font-size:18px;max-width:100%}}@media(max-width:420px){.photography-hero-banner img{min-height:270px}}

/* Three portraits and website navigation within photography previews. */
.photo-collage{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none;gap:24px}.collage-photo img{aspect-ratio:2/3;width:100%;height:auto;object-fit:cover}.stones-preview-nav{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 30px;background:#fff;border:1px solid var(--line);border-bottom:0;color:#171717;font-family:"Stones Quicksand",sans-serif}.stones-preview-logo{flex-shrink:0}.stones-preview-logo img{width:120px;height:auto;object-fit:contain}.stones-preview-nav nav{font-family:"Stones Quicksand",sans-serif;font-size:16px;gap:24px;flex-wrap:wrap;justify-content:flex-end}.stones-preview-nav nav a:hover{text-decoration:underline}.stones-preview-page{display:block}.photography-hero-text h4{font-size:36px}@media(max-width:749px){.photography-hero-text h4{font-size:28px}.stones-preview-nav{padding:16px;gap:16px;flex-direction:column}.stones-preview-nav nav{justify-content:center;gap:12px 20px;font-size:14px}.stones-preview-logo img{width:100px}}@media(max-width:650px){.photo-collage{grid-template-columns:1fr;gap:20px}}
