/* Shared RayDesign visual system. The service pages set the visual direction. */
:root{--paper:#f0f1ed;--ink:#111211;--accent:#e7463a;--line:#d5d8d1;--muted:#5e625b}
html{scroll-behavior:smooth;scroll-padding-top:108px}
body{background:var(--paper);color:var(--ink);overflow-x:hidden}
body.business-home,body.photography-page{background:var(--paper);color:var(--ink)}
.header,.business-home .header,.photography-page .header{position:sticky;top:0;z-index:50;height:96px;margin:0 0 -96px;padding:0 5%;gap:28px;background:#111211;color:#f8f8f5;border:0;border-radius:0;box-shadow:0 1px 0 #ffffff10;backdrop-filter:none;-webkit-backdrop-filter:none}
.header:after{display:none}.header .logo{display:flex;align-items:center;margin:0 auto 0 0}.header .logo img{width:190px;max-width:34vw;height:auto}
.header nav,.business-home .header nav,.photography-page .header nav{display:flex;align-items:center;gap:30px;font-size:13px;color:#f8f8f5}
.header nav a{opacity:.76;transition:opacity .25s,color .25s}.header nav a:hover,.header nav a[aria-current="page"]{opacity:1;color:#fff}
.header .contact-button,.business-home .header .contact-button,.photography-page .header .contact-button{display:flex;align-items:center;justify-content:center;gap:18px;min-height:48px;padding:0 22px;border:0;border-radius:40px;background:var(--accent);color:white;font-size:13px;font-weight:600;white-space:nowrap;transition:background .25s,transform .25s}
.header .contact-button:hover{background:#cf352c;transform:translateY(-2px)}
.header .menu-button,.business-home .header .menu-button,.photography-page .header .menu-button{display:flex;align-items:center;gap:12px;min-height:48px;padding:0;background:transparent;color:#f8f8f5;font-size:12px}
.header .menu-glyph{display:block;position:relative;width:46px;height:46px;margin:0;border:1px solid #ffffff30;border-radius:50%}
.header .menu-glyph:before,.header .menu-glyph:after{content:"";position:absolute;left:12px;right:12px;height:1px;background:#fff;transition:transform .25s,background .25s}.header .menu-glyph:before{top:17px}.header .menu-glyph:after{top:25px;left:18px;background:#ff7569}.header .menu-button:hover .menu-glyph:after{transform:translateX(-5px)}
#mobile-nav{position:fixed;inset:0;z-index:100;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#131412;color:#f8f8f5;overflow:auto;overscroll-behavior:contain}
#mobile-nav[hidden]{display:none!important}#mobile-nav[open]{display:block;animation:menu-arrive .25s ease-out}#mobile-nav::backdrop{background:#111}
.menu-heading{display:flex;align-items:center;justify-content:space-between;padding:24px 6%;border-bottom:1px solid #ffffff1c}.menu-heading .logo img{width:190px;height:auto}.menu-close{display:flex;align-items:center;gap:12px;padding:0;background:none;color:#fff;font-size:13px}.menu-close span{font-size:28px;line-height:1}
.menu-layout{display:grid;grid-template-columns:1.05fr .95fr;min-height:calc(100dvh - 96px)}.menu-links{display:flex;flex-direction:column;justify-content:center;padding:42px 9%}.menu-links>a{display:flex;align-items:center;gap:22px;padding:12px 0;border-bottom:1px solid #ffffff16;font:500 clamp(26px,3.2vw,48px)/1.2 Manrope,Arial,sans-serif;letter-spacing:-1.8px;transition:color .2s}.menu-links>a>span{width:25px;font:500 10px 'DM Sans',Arial,sans-serif;letter-spacing:1px;color:#9ea198}.menu-links .ui-icon{width:20px;height:20px;margin-left:auto;opacity:.55;transition:transform .2s,color .2s}.menu-links>a:hover{color:#ff7569}.menu-links>a:hover .ui-icon{transform:translate(3px,-3px);color:#ff7569}
.menu-story{position:relative;min-height:560px;overflow:hidden;background:#242420}.menu-story-photo,.menu-story-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.menu-story-photo img{object-position:center 52%;opacity:.72}.menu-story:after{content:"";position:absolute;inset:30% 0 0;background:linear-gradient(transparent,#10110ff0)}.menu-story-copy{position:absolute;z-index:1;left:8%;right:8%;bottom:8%;color:#fff}.menu-story-copy>p{font:500 clamp(34px,4vw,60px)/1.02 Manrope,Arial,sans-serif;letter-spacing:-2px}.menu-story-copy>p em{color:#ff7569}.menu-story-copy>span{display:block;margin-top:16px;color:#d8dad3;font-size:13px;line-height:1.7}.menu-story-copy>a{display:flex;align-items:center;gap:22px;margin-top:25px;padding-bottom:10px;border-bottom:1px solid #ffffff50;font-size:16px}.menu-story-copy>a svg{width:20px;height:20px;margin-left:auto}
/* The homepage and photography page now use the same cream, charcoal and red editorial layout as webdesign. */
.home-hero{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"copy image" "foot foot";align-items:center;gap:0;min-height:760px;padding:120px 6.5% 74px;background:var(--paper);color:var(--ink);overflow:hidden}
.home-hero-photo{position:relative;grid-area:image;inset:auto;width:100%;height:min(56vw,600px);min-height:420px;border-radius:8px;background:url('raymond-webdesign-home-1440.webp') center 43%/cover no-repeat;opacity:1;filter:none;box-shadow:0 22px 54px #17191420}
.home-hero-shade{display:none}.home-hero-copy{grid-area:copy;position:relative;z-index:1;width:auto;max-width:650px;padding:25px 8% 25px 0}
.home-hero .home-kicker,.photo-hero .home-kicker{color:#8d302b}.home-hero h1,.photo-hero h1{font-size:clamp(54px,6vw,86px);letter-spacing:-4px;color:#111211;margin:26px 0 22px;line-height:1.02}.home-hero h1 em,.photo-hero h1 em{color:#858881}.home-lead,.photo-hero-copy>p:not(.home-kicker){font-size:17px;line-height:1.8;color:#50564b;max-width:540px}
.home-actions{gap:12px;margin-top:28px}.home-button{min-width:190px;min-height:52px;padding:15px 18px;border-radius:3px;transition:transform .28s,background .25s,box-shadow .25s}.home-button:hover{transform:translateY(-2px);box-shadow:0 9px 24px #191b1720}.home-button-red{background:var(--accent);color:#fff}.home-button-ghost{border:1px solid #9a9c94;color:var(--ink)}.home-signoff{margin-top:36px;color:#5c6058}.home-dot{background:var(--accent);box-shadow:0 0 0 4px #e7463a22}.home-hero-foot{grid-area:foot;position:static;display:flex;margin-top:26px;color:#73766e;border-top:1px solid var(--line);padding-top:16px}
.home-intro{padding:86px 9% 34px;max-width:1440px;margin:auto}.home-intro .home-kicker{color:#8d302b}.home-intro h2,.home-work-head h2,.home-contact h2,.photo-about h2,.photo-section-head h2,.photo-how h2,.photo-contact h2{font-family:Manrope,Arial,sans-serif;color:var(--ink)}
.home-paths{padding:20px 6.5% 78px;max-width:1600px;margin:auto}.home-path{background:#fff;border:1px solid #e4e5df;border-radius:6px;box-shadow:0 8px 24px #14171108;transition:transform .3s,box-shadow .3s}.home-path:hover{transform:translateY(-4px);box-shadow:0 16px 36px #14171116}.home-path-photo{background:#151615;color:#f8f8f5;border-color:#151615}.path-art{border-radius:3px}.home-path>p{color:#64675f}.home-path-photo>p{color:#c1c2bc}.home-work{background:#f7f8f4}.home-work-grid{gap:16px}.home-work-card{border-radius:4px}.home-trust{max-width:1440px;margin-inline:auto;padding-inline:0}.home-contact{background:#111211;color:#fff}.home-contact .home-kicker{color:#ff978f}.home-contact h2{color:#fff}.home-contact h2 em{color:#f06c61}.home-contact>a{background:var(--accent);border-radius:3px;transition:background .2s,transform .2s}.home-contact>a:hover{background:#cf352c;transform:translateY(-2px)}
.photo-hero{position:relative;display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"copy image" "index image";align-items:center;gap:0;min-height:720px;padding:125px 6.5% 65px;background:var(--paper);color:var(--ink);overflow:hidden}.photo-hero-copy{grid-area:copy;position:relative;z-index:1;width:100%;max-width:none;padding:26px 5% 20px 0}.photo-hero-art{grid-area:image;position:relative;inset:auto;width:100%;height:min(54vw,570px);min-height:400px;margin:0;overflow:hidden;border-radius:8px;background:#252523;box-shadow:0 22px 54px #17191420}.photo-hero-art img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 42%;filter:saturate(.86)}.photo-hero-art:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#111c)}.photo-hero-art figcaption{position:absolute;z-index:1;left:24px;bottom:22px;color:white;font-size:10px;letter-spacing:1.4px}.photo-hero-index{grid-area:index;position:static;display:flex;align-items:center;gap:18px;margin-top:24px;color:#73766e;font-size:10px}.photo-hero-index i{width:50px;height:1px;background:var(--accent)}
.photo-hero h1{font-size:clamp(50px,3.3vw,56px);letter-spacing:-2.5px}
.photo-about,.photo-albums,.photo-how,.photo-contact{background:var(--paper);color:var(--ink)}.photo-about{padding-top:75px;padding-bottom:75px;border-top:1px solid var(--line)}.photo-about>div:first-child .home-kicker,.photo-section-head .home-kicker,.photo-how>.home-kicker,.photo-contact>.home-kicker{color:#8d302b}.album-feature{background:#fff;border:1px solid #e1e3dc;border-radius:6px;overflow:hidden}.album-cover{min-height:360px}.album-info{padding:38px}.photo-grid{gap:16px}.photo-card{background:#fff;border:1px solid #e1e3dc;border-radius:5px;overflow:hidden}.photo-card-info{padding:12px 14px}.demo-notice{border-radius:4px;background:#e9ebe4;color:#4f544b}.photo-how-steps article{border-top:1px solid var(--line)}.photo-price-note{background:#111211;color:white;border-radius:4px}.photo-contact{padding-top:86px;padding-bottom:86px;border-top:1px solid var(--line)}
.site-footer,.business-home .site-footer,.photography-page .site-footer{background:#111211;color:#f8f8f5;border-top:0}.footer-bottom{border-color:#ffffff25}.site-footer .footer-nav a,.site-footer .footer-contact a,.site-footer .footer-legal a{transition:color .2s}.site-footer .footer-nav a:hover,.site-footer .footer-contact a:hover,.site-footer .footer-legal a:hover{color:#ff7569}
.home-path,.home-work-card,.photo-card,.album-feature,.photo-how-steps article{transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .35s}.home-work-card:hover,.photo-card:hover,.album-feature:hover{transform:translateY(-3px);box-shadow:0 14px 32px #11121118}
@media(max-width:900px){.header,.business-home .header,.photography-page .header{height:84px;margin-bottom:-84px;padding:0 5.5%;gap:16px}.header .logo img{width:165px}.header nav{gap:18px}.header .contact-button{padding:0 16px}.menu-layout{grid-template-columns:1fr 1fr}.menu-story{min-height:500px}.home-hero,.photo-hero{min-height:650px;padding:112px 5% 52px}.home-hero h1,.photo-hero h1{font-size:clamp(46px,6.5vw,67px);letter-spacing:-3px}.home-hero-copy,.photo-hero-copy{padding-right:8%}.home-hero-photo,.photo-hero-art{min-height:360px}.home-intro{padding-inline:7%}.home-trust{margin-inline:5%}}
@media(max-width:700px){html{scroll-padding-top:82px}.header,.business-home .header,.photography-page .header{height:76px;margin-bottom:-76px;padding-inline:6%;gap:10px}.header .logo img{width:150px}.header nav,.header>.contact-button{display:none!important}.header .menu-button{display:flex!important;gap:8px;font-size:11px}.header .menu-glyph{width:42px;height:42px}.menu-heading{padding:20px 6%}.menu-heading .logo img{width:158px}.menu-layout{display:flex;flex-direction:column}.menu-links{padding:22px 6% 32px}.menu-links>a{font-size:30px;letter-spacing:-1px;padding:10px 0}.menu-story{min-height:310px}.menu-story-photo img{object-position:center 62%}.menu-story-copy{left:6%;right:6%;bottom:7%}.menu-story-copy>p{font-size:36px}.menu-story-copy>span{font-size:12px;margin-top:10px}
.home-hero{grid-template-columns:1fr;grid-template-areas:"copy" "image" "foot";min-height:0;padding:108px 6% 26px;gap:0}.home-hero-copy{padding:32px 0 25px;width:100%}.home-hero h1,.photo-hero h1{font-size:clamp(48px,12vw,72px);letter-spacing:-3px;margin:22px 0 18px}.home-lead,.photo-hero-copy>p:not(.home-kicker){font-size:15px;line-height:1.75}.home-actions{display:flex;flex-direction:row;flex-wrap:wrap;align-items:stretch}.home-button{flex:1 1 190px;min-width:0}.home-signoff{margin-top:25px}.home-hero-photo{height:80vw;min-height:300px;max-height:480px;background-position:center 48%;border-radius:5px}.home-hero-foot{margin-top:18px;font-size:8px;gap:14px}.home-intro{padding:54px 6% 26px}.home-intro .home-kicker{margin-bottom:20px}.home-intro h2,.home-contact h2,.photo-about h2,.photo-section-head h2,.photo-how h2,.photo-contact h2{font-size:42px;letter-spacing:-1.8px}.home-paths{grid-template-columns:1fr;padding:14px 6% 52px;gap:14px}.home-path{padding:20px 18px}.path-art{height:235px}.path-browser{width:78%;height:76%;border-width:6px}.path-phone{right:5%;height:57%;width:20%;border-width:5px}.home-path h3{font-size:30px}.path-bottom{padding-top:18px;margin-top:20px}.home-work{padding:48px 6%}.home-work-head{display:block}.home-work-head>a{display:inline-block;margin-top:16px}.home-work-grid{grid-template-columns:1fr 1fr;gap:10px}.home-work-card{height:160px}.home-work-card:first-child{grid-column:1/-1;height:190px}.home-work-card span{font-size:8px;left:10px;bottom:10px}.home-trust{margin:0 6%;padding:17px 0;grid-template-columns:1fr 1fr;gap:13px;font-size:10px}.home-trust i{display:none}.home-contact{margin-top:42px;padding:40px 6%;display:block}.home-contact h2{margin-top:17px}.home-contact>a{margin-top:24px;justify-content:space-between;padding:17px}
.photo-hero{grid-template-columns:1fr;grid-template-areas:"copy" "image" "index";min-height:0;padding:108px 6% 28px}.photo-hero-copy{padding:30px 0 24px}.photo-hero-art{height:88vw;min-height:320px;max-height:500px;border-radius:5px}.photo-hero-art img{object-position:center 45%}.photo-hero-index{margin-top:18px}.photo-about{padding:48px 6%;display:grid;grid-template-columns:1fr;gap:20px}.photo-section-head{display:block}.photo-section-head>p{margin-top:18px}.photo-albums{padding:48px 6%}.album-feature{grid-template-columns:1fr}.album-cover{min-height:300px}.album-info{padding:24px 20px}.demo-gallery-intro{display:block}.demo-gallery-intro>p{margin-top:16px}.photo-grid{grid-template-columns:1fr;gap:12px}.photo-how{padding:52px 6%}.photo-how-steps{grid-template-columns:1fr;gap:18px}.photo-how-steps article{padding:20px 0}.photo-price-note{padding:24px 20px}.photo-contact{padding:52px 6%}.business-home .footer-grid,.photography-page .footer-grid{grid-template-columns:1fr 1fr;gap:25px}.business-home .footer-brand,.photography-page .footer-brand{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
/* Album cards and portrait-friendly photography previews */
.photography-page .album-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:16px;margin:0 0 28px}
.photography-page .album-choice{position:relative;display:grid;grid-template-columns:76px 1fr 24px;align-items:center;gap:14px;width:100%;min-height:98px;padding:10px;background:#fff;border:1px solid #e1e3dc;border-radius:5px;box-shadow:0 4px 18px #17191708;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.photography-page .album-choice:hover{transform:translateY(-3px);border-color:#c6c8c0;box-shadow:0 12px 26px #17191712}
.photography-page .album-choice[aria-pressed=true]{background:#171817;color:#fff;border-color:#171817;box-shadow:0 12px 28px #17191720}
.album-choice-image{display:grid;place-items:center;width:76px;height:76px;overflow:hidden;background:#e6e6e0;border-radius:3px}.album-choice-image img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.album-choice:hover .album-choice-image img{transform:scale(1.06)}
.album-choice-placeholder{font:600 35px Manrope,Arial,sans-serif;color:#ee382e}.album-choice-info{display:grid;gap:7px;min-width:0}.album-choice-info strong{font:600 14px Manrope,Arial,sans-serif;line-height:1.35}.album-choice-info small{font:500 9px 'DM Sans',Arial,sans-serif;letter-spacing:.45px;opacity:.68}.album-choice-arrow{justify-self:end;font-size:18px;color:#ee382e;transition:transform .2s ease}.album-choice:hover .album-choice-arrow{transform:translate(2px,-2px)}
.photo-preview{height:280px;aspect-ratio:4/3;background:#e3e3dd}.photo-preview img{object-fit:contain!important;filter:none}.photo-preview:hover img{transform:scale(1.015)}
@media(max-width:800px){.photography-page .album-list{grid-template-columns:1fr 1fr;gap:10px}.photography-page .album-choice{grid-template-columns:58px 1fr 18px;gap:10px;min-height:80px;padding:8px}.album-choice-image{width:58px;height:62px}.album-choice-info strong{font-size:12px}.photo-preview{height:210px}}
@media(max-width:480px){.photography-page .album-list{grid-template-columns:1fr}.photo-preview{height:260px}}

.photo-lightbox .lightbox-image{box-sizing:border-box;width:92%;height:84%;padding:0;border:0;min-width:0;min-height:0}
.photo-lightbox .lightbox-image img{display:block;width:auto;height:auto;max-width:82vw;max-height:78vh;object-fit:contain}
