@charset "UTF-8";:root{--ink:#191919;--paper:#f6f6f3;--line:#d5d5cf;--muted:#666760}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #939eaa;outline-offset:6px}.skip{position:fixed;top:-100px;left:20px;z-index:99;padding:15px;background:white;color:black}.skip:focus{top:15px}header{height:100px;padding:0 5.5%;display:flex;align-items:center;justify-content:space-between;background:#090909;color:white;border-bottom:1px solid #ffffff25}.brand{display:block;width:250px;height:78px}.logo{display:block;width:250px;height:78px;background:url('assets/logo.jpg') center 49%/740px auto no-repeat}nav{display:flex;align-items:center;gap:34px;font-size:14px}nav a{transition:opacity .2s}nav a:hover{opacity:.65}.nav-contact{border:1px solid #ffffff55;border-radius:30px;padding:15px 22px}.nav-contact span{margin-left:20px}.hero{position:relative;min-height:790px;background:#111;color:#fff;padding:34px 5.5% 0;overflow:hidden;isolation:isolate}.hero:before{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse at 88% 58%,#77797255,transparent 52%),linear-gradient(115deg,#101010 32%,#252624 75%,#161616)}.hero-top{display:flex;justify-content:space-between}.eyebrow,.location{font-size:12px;letter-spacing:.17em;line-height:1.6;font-weight:600}.location{color:#b0b0aa}.hero-content{position:relative;z-index:2;padding:85px 0 95px;max-width:760px}.muted{color:#b4b5af;margin-bottom:24px}h1{font-size:clamp(58px,6.4vw,96px);line-height:1.02;letter-spacing:-.065em;font-weight:500;margin:0 0 28px}h1 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.07em;color:#d4d4ca}.hero-copy{font-size:17px;line-height:1.8;color:#bcbdb7;margin-bottom:34px}.button{display:inline-flex;gap:32px;align-items:center;justify-content:space-between;padding:18px 24px;border-radius:40px;font-size:14px;transition:transform .25s,background .25s}.button:hover{transform:translateY(-3px)}.light{background:var(--paper);color:#191919}.hero-art{position:absolute;right:4%;top:190px;width:40%;height:470px;display:flex;align-items:center;justify-content:center;transform:rotate(-9deg);user-select:none}.art-word{font-size:clamp(70px,9.5vw,145px);font-weight:600;letter-spacing:-.09em;line-height:.82;color:transparent;background:linear-gradient(130deg,#eeeeea 7%,#7e817b 26%,#e2e3dc 41%,#6f716b 62%,#c5c8bf 79%,#646660);background-clip:text;filter:drop-shadow(0 13px 12px #0008);animation:float 8s ease-in-out infinite}.art-word span{display:block}.art-line{position:absolute;inset:0;border:1px solid #ffffff20;border-radius:50%;transform:rotate(-25deg) scaleY(.8);z-index:-1}.art-caption{position:absolute;bottom:25px;font-size:10px;letter-spacing:.3em;color:#b0b2a9}.art-number{position:absolute;top:0;right:10px;font-size:12px;color:#b0b2a9}.hero-bottom{display:flex;justify-content:space-between;padding:25px 0;border-top:1px solid #ffffff30;color:#b8b9b2;font-size:13px}.hero-bottom a span{margin-left:25px}@keyframes float{50%{transform:translateY(-13px)}}@media(max-width:760px){header{height:85px;padding:0 6%}.brand,.logo{width:205px}.logo{background-size:610px}header nav>a:not(.nav-contact){display:none}.nav-contact{font-size:12px;padding:12px}.nav-contact span{display:none}.hero{padding:26px 6% 0;min-height:850px}.location{display:none}.hero-content{padding:54px 0 280px}h1{font-size:clamp(50px,11vw,76px)}.hero-copy{font-size:16px}.hero-art{top:auto;bottom:85px;right:12%;height:245px;width:70%}.art-word{font-size:88px}.art-caption{bottom:0}.hero-bottom{font-size:12px;gap:20px}.hero-top .eyebrow{font-size:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.section{padding:85px 5.5% 95px}.section-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:30px;border-bottom:1px solid var(--line);margin-bottom:62px}.small-note{font-size:13px;color:var(--muted)}h2{font-size:clamp(36px,4vw,60px);font-weight:500;letter-spacing:-.055em;line-height:1.12;margin:0}.subtle{color:#7d7f76}.intro-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:8%;align-items:start}.intro-text>p:first-child{font-size:23px;line-height:1.5;letter-spacing:-.025em;margin:0 0 20px}.body-copy{font-size:16px;line-height:1.85;color:var(--muted)}.text-link{display:inline-flex;align-items:center;gap:30px;padding:13px 0;border-bottom:1px solid #777;font-size:14px;transition:gap .25s}.text-link:hover{gap:42px}.image-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:24px;margin-top:65px}.photo-placeholder{position:relative;margin:0;min-height:400px;overflow:hidden;background:radial-gradient(ellipse at 20% 25%,#d8d9d2,transparent 60%),linear-gradient(135deg,#c9cbc4,#a8aaa3);color:#45483e;border:1px solid #00000008}.portrait{background:radial-gradient(ellipse at 80% 10%,#60645b,transparent 65%),linear-gradient(150deg,#474c43,#252923);color:#e2e4dc}.photo-tag{position:absolute;left:26px;top:26px;font-size:11px;letter-spacing:.16em}.placeholder-center{position:absolute;inset:60px 20px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;font-size:20px;letter-spacing:-.025em}.placeholder-cross{font-size:48px;font-weight:200;opacity:.45}.monogram{font-family:Georgia,serif;font-style:italic;font-size:110px;letter-spacing:-.1em;opacity:.45}figcaption{position:absolute;bottom:24px;left:26px;right:26px;display:flex;justify-content:space-between;align-items:end;font-size:12px}figcaption strong{display:block;font-size:19px;font-weight:400;margin-bottom:8px}figcaption div span{display:block;opacity:.65}.craft{background:#eaece6}.craft-heading{display:flex;justify-content:space-between;gap:50px;align-items:end}.craft-heading p{max-width:360px;margin:0}.principles{display:grid;grid-template-columns:repeat(3,1fr);margin-top:60px;border-top:1px solid #bfc2b8;border-bottom:1px solid #bfc2b8}.principle{padding:32px 35px 32px 0;position:relative}.principle+.principle{border-left:1px solid #bfc2b8;padding-left:35px}.index{font-size:13px;color:#75796e}h3{font-size:32px;line-height:1.15;letter-spacing:-.04em;font-weight:500;margin:35px 0 20px}.principle p{font-size:16px;line-height:1.8;color:#64685e;max-width:31ch;margin-bottom:45px}.principle-label{font-size:11px;letter-spacing:.17em}.statement{padding:100px 6%;text-align:center;background:radial-gradient(ellipse at 50% 100%,#494c43,#181b17 73%);color:#f7f7ef}.statement>.eyebrow{color:#b0b5a7}.statement>p{font-size:clamp(32px,4.7vw,68px);letter-spacing:-.05em;line-height:1.15;margin:34px 0}.statement>p span{font-family:Georgia,serif;font-style:italic;color:#b8bdb0}.statement .text-link{border-color:#777f6e}.contact{padding-bottom:110px}.contact-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:10%}.contact h2 em{font-family:Georgia,serif;font-weight:400}.contact .body-copy{margin:25px 0 28px}.dark{background:#20231e;color:white}.contact-details{padding-top:0}.contact-row{display:block;position:relative;padding:27px 30px 27px 0;border-bottom:1px solid var(--line)}.contact-row:first-child{padding-top:8px}.contact-row>.eyebrow{display:block;color:#73776c;font-size:11px;margin-bottom:13px}.contact-row strong{font-weight:400;font-size:clamp(20px,2.2vw,30px);letter-spacing:-.04em;line-height:1.5;overflow-wrap:anywhere}.row-arrow{position:absolute;right:0;top:50%;font-size:24px}.route-link{display:block;margin-top:15px;text-decoration:underline;text-underline-offset:5px;font-size:14px}footer{background:#090909;color:#aaa;padding:25px 5.5%}.footer-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:28px}.footer-top>span{font-size:19px;letter-spacing:-.03em}.back-top{border:1px solid #555;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-size:20px}.footer-bottom{border-top:1px solid #333;display:flex;justify-content:space-between;align-items:center;gap:24px;padding-top:25px;font-size:12px}.footer-bottom button{background:none;border:0;color:#bcbcb7;font-size:12px;cursor:pointer;padding:10px}.draft-label{font-size:10px;letter-spacing:.12em;color:#81817b}dialog{width:min(620px,calc(100% - 32px));max-height:85vh;overflow:auto;border:1px solid #bbb;padding:48px;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#0009;backdrop-filter:blur(5px)}dialog h2{font-size:36px;margin:25px 0}dialog p{line-height:1.8}.close-dialog{position:absolute;right:14px;top:8px;font-size:30px;border:0;background:none;cursor:pointer;padding:6px 10px}.reveal{transition:opacity .65s ease,transform .65s ease}.js-motion .reveal:not(.visible){opacity:0;transform:translateY(24px)}@media(min-width:1550px){header,.hero,.section,footer{padding-left:max(5.5%,calc((100% - 1450px)/2));padding-right:max(5.5%,calc((100% - 1450px)/2))}.hero-art{right:max(4%,calc((100% - 1450px)/2))}}@media(max-width:1000px){.craft-heading{display:block}.craft-heading p{max-width:550px;margin-top:25px}.intro-grid{gap:5%}.principle{padding-right:22px}.principle+.principle{padding-left:22px}h3{font-size:27px}.hero-art{opacity:.7;right:0}}@media(max-width:760px){.section{padding:55px 6%}.section-top{margin-bottom:35px;padding-bottom:22px}.small-note{display:none}.intro-grid,.contact-grid{grid-template-columns:1fr;gap:28px}h2{font-size:37px}.intro-text>p:first-child{font-size:20px}.image-grid{grid-template-columns:1fr;margin-top:35px;gap:18px}.photo-placeholder{min-height:320px}.portrait{min-height:340px}.principles{grid-template-columns:1fr;margin-top:35px}.principle,.principle+.principle{padding:26px 0;border-left:0}.principle+.principle{border-top:1px solid #bfc2b8}.principle h3{margin:20px 0 15px;font-size:29px}.principle p{max-width:none;margin-bottom:24px}.statement{padding:65px 6%}.statement>p{font-size:36px}.contact-details{margin-top:10px}.footer-top{flex-wrap:wrap;gap:20px}.footer-top>span{display:none}.footer-bottom{flex-direction:column;align-items:flex-start;gap:12px}.footer-bottom button:first-child{padding-left:0}dialog{padding:38px 25px}.hero-art{opacity:1;right:12%}.hero-bottom>span{max-width:95px}.hero-bottom a{align-self:center}.hero-bottom a span{margin-left:8px}}@media(prefers-reduced-motion:reduce){.js-motion .reveal:not(.visible){opacity:1;transform:none}}
/* Preserve the complete supplied logo within the header. */
header .brand,header .logo{height:90px}header .logo{background-size:540px auto}footer .logo{background-size:470px auto}@media(max-width:760px){header .brand,header .logo{width:150px;height:70px}header .logo{background-size:430px auto}.nav-contact{white-space:nowrap}}@media(max-width:380px){h1{font-size:45px}.hero-top .eyebrow{font-size:9px}.nav-contact{padding:11px 9px;font-size:11px}}
/* Editorial photography, moving image strip and location. */
.hero-photo{position:absolute;right:5.5%;top:150px;width:38%;height:490px;margin:0;overflow:hidden;border-radius:180px 180px 8px 8px;background:#30312e;box-shadow:0 30px 100px #0005}.hero-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(.8);animation:photo-drift 16s ease-in-out infinite alternate}.hero-photo:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#000b)}.hero-photo figcaption{z-index:1;color:white;display:flex;flex-direction:column;align-items:start;gap:8px;font-size:17px}.hero-photo small,.editorial-photo small{font-size:11px;letter-spacing:.05em;opacity:.8}.hero-content{max-width:64%}.hero h1{font-size:clamp(56px,6.1vw,89px)}.hero-photo img:hover{filter:grayscale(0)}.editorial-photo{position:relative;margin:0;min-height:430px;overflow:hidden;background:#ccc}.editorial-photo img{position:absolute;width:100%;height:100%;object-fit:cover;filter:grayscale(.7);transition:transform 1s,filter 1s}.editorial-photo:hover img{transform:scale(1.04);filter:grayscale(0)}.editorial-photo:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#0009)}.editorial-photo figcaption{z-index:1;color:white;font-size:18px;gap:15px}.editorial-photo.portrait img{object-position:60% center}.gallery-section{padding:80px 0;background:#f6f6f3;overflow:hidden}.gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;padding:0 5.5% 40px}.gallery-heading h2{margin-top:18px}.gallery-heading h2 em{font-family:Georgia,serif;font-weight:400}.gallery-toggle{background:transparent;border:1px solid #999d94;padding:13px 20px;border-radius:30px;cursor:pointer;white-space:nowrap;font-size:14px}.gallery-toggle:hover{background:#e4e6df}.gallery-window{overflow:hidden}.gallery-track{display:flex;width:max-content;animation:gallery-run 36s linear infinite}.gallery-group{display:flex;flex-shrink:0;gap:24px;padding-right:24px}.gallery-image{position:relative;flex-shrink:0;width:380px;height:310px;margin:0;overflow:hidden}.gallery-image:nth-child(2){width:470px}.gallery-image img{height:100%;width:100%;object-fit:cover;filter:grayscale(.6);transition:filter .5s,transform 1s}.gallery-image:hover img{filter:grayscale(0);transform:scale(1.035)}.gallery-image:after{content:"";position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#0009)}.gallery-image figcaption{color:white;z-index:1;font-size:17px;bottom:22px;left:22px}.gallery-window:hover .gallery-track,.gallery-window:focus-within .gallery-track,.gallery-section.is-paused .gallery-track{animation-play-state:paused}.image-disclaimer{font-size:12px;line-height:1.6;color:#696d62;padding:24px 5.5% 0;margin:0}.map-section{display:grid;grid-template-columns:.8fr 1.5fr;background:#e5e7e0;padding:65px 5.5%;gap:7%;align-items:center}.map-address h2{margin:24px 0}.map-address h2 em{font-family:Georgia,serif;font-weight:400}.map-address p{line-height:1.8;color:#64695b;margin-bottom:24px}.map-container{height:420px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 70% 0%,#51574b,#242922);color:white}.map-consent{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:35px}.map-consent h3{margin:20px 0 16px;font-size:30px}.map-consent p{font-size:14px;line-height:1.7;color:#d0d4c8;max-width:48ch;margin:0 0 22px}.map-consent>.eyebrow{color:#b4bca9}.map-consent>a{font-size:12px;margin-top:16px;text-decoration:underline;text-underline-offset:4px}.map-consent button{border:0;cursor:pointer}.map-container iframe{height:100%;width:100%;border:0;background:#e4e7de;filter:grayscale(1)}.map-status{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:12px;color:#656a5d;padding-top:13px;line-height:1.5}.map-status button{background:none;border:0;text-decoration:underline;cursor:pointer;font-size:12px;color:inherit}.back-top{width:auto;height:auto;padding:13px 20px;font-size:12px;border-radius:24px}.footer-bottom>div{display:flex;gap:24px}.footer-bottom>div>a:hover{text-decoration:underline;text-underline-offset:4px}.button:empty{display:none}@keyframes gallery-run{to{transform:translateX(-50%)}}@keyframes photo-drift{to{transform:scale(1.06)}}
/* Readable standalone legal documents. */
.legal-page{max-width:1000px;margin:auto;padding:60px 6% 90px}.legal-heading{padding:45px 0 32px}.legal-heading h1{font-size:clamp(44px,7vw,76px);margin-top:20px}.legal-heading>p{font-size:16px;line-height:1.7;color:#6a6e62}.legal-page section{border-top:1px solid #d6d9ce;padding:30px 0 15px;scroll-margin-top:30px}.legal-page section h2{font-size:28px;letter-spacing:-.025em;line-height:1.3;margin:0 0 22px}.legal-page section h3{font-size:21px;margin:28px 0 15px}.legal-page section p,.legal-page li,.legal-page address{font-size:16px;line-height:1.85;color:#4b5145;font-style:normal}.legal-page li{margin-bottom:12px}.legal-page section a{color:#242a1d;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.legal-note{background:#e8ebe1;padding:25px 28px;border-left:3px solid #626e50;margin-bottom:35px}.legal-note p{font-size:14px;line-height:1.8;margin-bottom:0;color:#555e49}.pending{background:#eceee7;padding:18px 20px;border-left:2px solid #9ca78d}.legal-toc{display:flex;flex-wrap:wrap;gap:15px 25px;font-size:14px;padding-bottom:30px}.legal-toc a{text-decoration:underline;text-underline-offset:4px}@media(max-width:1050px) and (min-width:761px){.hero-photo{width:34%;height:430px;top:180px}.hero h1{font-size:64px}.hero-copy br{display:none}}@media(max-width:760px){.hero-content{max-width:100%;padding-bottom:340px}.hero-photo{top:auto;bottom:102px;right:6%;width:88%;height:260px;border-radius:90px 90px 4px 4px}.hero-photo img{object-position:center 48%}.hero h1{font-size:clamp(45px,11vw,76px)}.hero-photo figcaption{bottom:20px;font-size:16px}.hero-bottom{position:relative;margin-top:0}.editorial-photo{min-height:340px}.editorial-photo figcaption{flex-direction:column;align-items:start;font-size:17px}.gallery-section{padding:55px 0}.gallery-heading{align-items:start;flex-direction:column;padding:0 6% 28px;gap:25px}.gallery-image,.gallery-image:nth-child(2){width:290px;height:260px}.gallery-group{gap:16px;padding-right:16px}.map-section{grid-template-columns:1fr;gap:35px;padding:50px 6%}.map-container{height:410px}.map-consent{padding:25px}.map-consent h3{font-size:25px}.map-status{align-items:start;flex-wrap:wrap}.legal-page{padding:25px 6% 60px}.legal-page section h2{font-size:25px}.legal-heading{padding-top:32px}.legal-note{padding:20px}.legal-toc{align-items:start;flex-direction:column;gap:15px}.footer-bottom>div{padding:8px 0}}@media(prefers-reduced-motion:reduce){.gallery-track{animation:none}.gallery-window{overflow-x:auto}.gallery-group[aria-hidden=true]{display:none}.hero-photo img{animation:none}}
[hidden]{display:none!important}

/* Gentle button pulse on pointer hover and keyboard focus. */
.button,.nav-contact,.gallery-toggle,.back-top{--pulse-ring:rgba(93,101,82,.2);transition:transform .25s,background .25s,box-shadow .25s}.light,.nav-contact,.back-top{--pulse-ring:rgba(235,238,229,.22)}.call-button{gap:12px}.phone-icon{flex:0 0 20px;display:block}
@keyframes button-pulse{0%,100%{transform:translateY(-2px) scale(1);box-shadow:0 0 0 0 var(--pulse-ring)}50%{transform:translateY(-2px) scale(1.025);box-shadow:0 0 0 7px transparent}}
@media(prefers-reduced-motion:no-preference){.button:focus-visible,.nav-contact:focus-visible,.gallery-toggle:focus-visible,.back-top:focus-visible{animation:button-pulse 1.8s ease-in-out infinite}}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.button:hover,.nav-contact:hover,.gallery-toggle:hover,.back-top:hover{animation:button-pulse 1.8s ease-in-out infinite}}
@media(prefers-reduced-motion:reduce){.button:hover,.button:focus-visible,.nav-contact:hover,.gallery-toggle:hover,.back-top:hover{transform:none;animation:none}}

/* Reserved appointment section; no booking provider loads until configured. */
.booking{background:#edeFE9}.booking-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;align-items:center}.booking-copy h2{font-size:clamp(34px,3.7vw,54px)}.booking-copy h2 em{font-family:Georgia,serif;font-weight:400}.booking-copy .body-copy{max-width:46ch;margin:26px 0 20px}.booking-placeholder{padding:44px 35px;text-align:center;border:1px solid #d0d5c9;border-radius:16px;background:linear-gradient(145deg,#fbfcf9,#e2e6dc);box-shadow:0 18px 55px #252c1810;display:flex;align-items:center;flex-direction:column}.calendar-icon{margin-bottom:22px;color:#555f49}.booking-label{font-size:11px;letter-spacing:.17em;color:#626e52}.booking-placeholder h3{font-size:30px;margin:20px 0 14px}.booking-placeholder p{font-size:15px;line-height:1.8;color:#646d59;max-width:35ch;margin:0 0 25px}.booking-status{font-size:13px;color:#5e6951;padding:10px 17px;border-radius:24px;background:#dbe1d3}.booking .section-top{margin-bottom:45px}@media(max-width:1050px) and (min-width:761px){header nav{gap:18px;font-size:13px}}@media(max-width:760px){.booking-grid{grid-template-columns:1fr;gap:32px}.booking-placeholder{padding:32px 24px}.booking-copy h2{font-size:36px}}

/* Clear client photo labels and company story with a true 16:9 video slot. */
.hero-photo .client-photo-label,.editorial-photo .client-photo-label,.gallery-image .client-photo-label{display:flex;flex-direction:column;align-items:flex-start;gap:8px;z-index:2;color:#fff}.client-photo-label>span{font-size:clamp(17px,1.6vw,23px);line-height:1.3;font-weight:500;letter-spacing:-.025em}.client-photo-label>small{font-size:12px;line-height:1.5;color:#eee;opacity:1}.hero-photo:after,.editorial-photo:after,.gallery-image:after{inset:40% 0 0;background:linear-gradient(transparent,#000c)}
.story{background:#e7e9e3}.story-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;align-items:start;margin-bottom:48px}.story-kicker{display:block;margin-bottom:20px;color:#626b57}.story h2 em{font-family:Georgia,serif;font-weight:400}.story-lead{font-size:24px;line-height:1.4;letter-spacing:-.03em;margin:0 0 18px}.story-copy .body-copy{margin:12px 0}.story-draft{display:inline-block;margin-top:15px;font-size:12px;color:#606957;border-bottom:1px solid #a4ae98;padding-bottom:5px}.company-video{position:relative;aspect-ratio:16/9;margin:0;overflow:hidden;background:radial-gradient(ellipse at 75% 15%,#555a50,transparent 60%),linear-gradient(135deg,#242822,#121510);border:1px solid #ffffff22;border-radius:10px;color:#f4f5f0}.video-placeholder-content{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:30px 30px 70px;gap:20px}.video-placeholder-content svg{color:#c8cec1}.video-placeholder-content>span{font-size:clamp(22px,3.4vw,46px);line-height:1.15;letter-spacing:-.04em}.video-placeholder-content p{font-size:16px;line-height:1.6;color:#bac2b2;margin:0}.company-video figcaption{position:absolute;left:30px;right:30px;bottom:23px;display:flex;justify-content:space-between;font-size:12px;color:#bac2b2}@media(max-width:760px){.story-intro{grid-template-columns:1fr;gap:28px;margin-bottom:30px}.video-placeholder-content{padding:18px 16px 40px;gap:10px}.video-placeholder-content svg{width:30px;height:30px}.video-placeholder-content p{display:none}.company-video figcaption{left:16px;right:16px;bottom:13px;font-size:10px}.video-placeholder-content>span{font-size:clamp(19px,5vw,30px)}.story h2{font-size:35px}}

/* Customer photography, October 2026 */
.hero-photo img,.editorial-photo img,.gallery-image img{filter:none}
.hero-photo:after,.editorial-photo:after{display:none}
.hero-photo img{object-position:50% 50%}
.editorial-photo.portrait img{object-position:50% 0%}
.gallery-track{animation-duration:60s}
.gallery-image:after{inset:65% 0 0;background:linear-gradient(transparent,#0009)}
@media(max-width:760px){.editorial-photo.portrait{min-height:460px}.hero-photo img{object-position:50% 52%}}

/* Full-bleed photographic hero and aligned principles — 2026-10-06 */
.hero{display:flex;flex-direction:column;min-height:790px}
.hero .hero-photo{inset:0;width:100%;height:100%;border-radius:0;box-shadow:none;z-index:0}
.hero .hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 52%;animation:none}
.hero:before{z-index:1;background:linear-gradient(90deg,rgba(8,10,11,.88) 0%,rgba(8,10,11,.72) 35%,rgba(8,10,11,.24) 75%),linear-gradient(0deg,rgba(8,10,11,.8),transparent 28%,transparent 78%,rgba(8,10,11,.35));pointer-events:none}
.hero-top,.hero-bottom{position:relative;z-index:2}
.hero .hero-content{max-width:760px;padding:85px 0 95px}
.hero-bottom{margin-top:auto;color:#e2e2dd;border-color:#ffffff50}
.hero .hero-copy,.hero .muted,.hero .location{color:#e2e2dd}
.principles{grid-template-rows:auto auto 1fr auto;column-gap:0;row-gap:0}
.principle{display:grid;grid-row:span 4;grid-template-rows:subgrid;padding:32px 35px}
.principle:first-child{padding-left:0}
.principle h3{margin:35px 0 20px}
.principle p{margin:0 0 45px;max-width:31ch}
.principle-label{align-self:end}
@media(max-width:760px){
.hero{min-height:780px}
.hero .hero-photo{inset:0;width:100%;height:100%;border-radius:0}
.hero .hero-photo img{object-position:58% center}
.hero:before{background:linear-gradient(90deg,#080a0bce,#080a0b75),linear-gradient(0deg,#080a0bd9,transparent 40%)}
.hero .hero-content{max-width:100%;padding:64px 0 90px}
.hero-bottom>span{max-width:none}
.principles{grid-template-rows:none}
.principle,.principle+.principle{display:block;grid-row:auto;padding:26px 0}
.principle h3{margin:20px 0 15px}
.principle p{margin-bottom:24px;max-width:none}
}

/* Gentle highlight for the three principles */
.principle{isolation:isolate}
.principle::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(135deg,#dedfd8,#d1d3cb);opacity:0;transition:opacity .4s ease}
@media(hover:hover) and (pointer:fine){.principle:hover::before{opacity:1}}
.principle:focus-within::before{opacity:1}
@media(prefers-reduced-motion:reduce){.principle::before{transition:none}}

.principle h3{transform-origin:left center;transition:transform .4s cubic-bezier(.2,.7,.2,1)}
@media(hover:hover) and (pointer:fine){.principle:hover h3{transform:scale(1.035)}}
.principle:focus-within h3{transform:scale(1.035)}
@media(prefers-reduced-motion:reduce){.principle h3{transition:none}.principle:hover h3,.principle:focus-within h3{transform:none}}

/* Equal breathing room across all three cards */
.principle,.principle:first-child,.principle+.principle{padding-left:clamp(24px,3vw,48px);padding-right:clamp(24px,3vw,48px)}
@media(max-width:760px){.principle,.principle:first-child,.principle+.principle{padding-left:20px;padding-right:20px}}

.company-video .video-filler{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 42%}

/* Matched workshop photographs */
.image-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.image-grid .editorial-photo{min-height:0;aspect-ratio:3/2}
.image-grid .editorial-photo img{object-position:center}
@media(max-width:760px){.image-grid{grid-template-columns:1fr}}

.footer-social{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 30px}.footer-social a{display:inline-flex;align-items:center;gap:10px;padding:12px 20px;border:1px solid #777;border-radius:999px;color:inherit;text-decoration:none;transition:background .25s,color .25s,transform .25s}.footer-social a:hover,.footer-social a:focus-visible{background:#f4f4ef;color:#171717;transform:translateY(-2px)}.footer-social svg{flex-shrink:0}

.google-rating{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:24px 28px;margin:0 0 26px;border:1px solid #444;border-radius:12px;background:#151515;color:#f5f5ef;text-decoration:none;transition:background .3s,border-color .3s}.google-rating:hover,.google-rating:focus-visible{background:#242424;border-color:#888}.rating-brand{font-size:25px;font-weight:600;letter-spacing:-.04em}.rating-brand>span{display:block;font-size:12px;font-weight:400;letter-spacing:0;color:#bdbdb5;margin-top:4px}.rating-score{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.rating-score strong{font-size:30px;font-weight:500}.rating-stars{color:#f5bd4f;letter-spacing:3px;font-size:23px}.rating-score>span:last-child{font-size:14px;color:#c8c8c1}.rating-action{font-size:14px}.rating-action small{display:block;margin-top:7px;color:#a3a39b;font-size:11px}@media(max-width:760px){.google-rating{align-items:flex-start;flex-direction:column;gap:16px;padding:22px}.rating-score{gap:10px}.rating-score>span:last-child{flex-basis:100%}}

.google-rating{display:inline-flex;width:auto;max-width:100%;justify-content:flex-start;padding:14px 18px;gap:12px;border-radius:12px;vertical-align:top;box-sizing:border-box}.rating-g{font-size:32px;font-weight:700;color:#fff}.rating-compact{display:flex;flex-direction:column;gap:5px}.rating-compact strong{font-size:13px;font-weight:500}.rating-compact>span{font-size:12px}.rating-compact .rating-stars{font-size:13px;letter-spacing:1px;margin-right:5px}.rating-compact small{font-size:10px;color:#aaa}.made-by{position:relative;width:280px;height:64px;overflow:hidden;margin:25px auto 0}.made-by img{position:absolute;width:280px;max-width:none;height:auto;left:0;top:-74px}@media(max-width:760px){.google-rating{flex-direction:row;align-items:center;padding:14px 16px;gap:12px}}

/* Subtle continuous hero motion */
@keyframes hero-gentle-zoom{from{transform:scale(1)}to{transform:scale(1.045)}}
.hero .hero-photo{overflow:hidden}
.hero .hero-photo img{transform-origin:55% 52%;animation:hero-gentle-zoom 18s ease-in-out infinite alternate;will-change:transform}
@media(prefers-reduced-motion:reduce){.hero .hero-photo img{animation:none;transform:none;will-change:auto}}

/* Practice case-transfer preview: disabled until secure service is configured. */
.practice{background:#eeeee8}.practice-layout{display:grid;grid-template-columns:1fr 1fr;gap:7%;margin-top:55px}.practice h2{font-size:clamp(34px,3.7vw,58px)}.practice h2 em{font-family:Georgia,serif;font-weight:400}.practice-steps{padding:0;list-style:none;counter-reset:steps;margin:35px 0}.practice-steps li{counter-increment:steps;position:relative;padding:18px 0 18px 45px;border-bottom:1px solid #ccc}.practice-steps li:before{content:'0' counter(steps);position:absolute;left:0;color:#777}.practice-steps strong,.practice-steps span{display:block}.practice-steps span{color:#686b62;font-size:14px;line-height:1.6;margin-top:5px}.practice-panel{background:#fafaf7;padding:32px;border:1px solid #d3d5cc;border-radius:12px}.practice-panel h3{font-size:28px;letter-spacing:-.04em;margin:15px 0}.practice-status{font-size:14px;line-height:1.6;background:#e9ebe3;padding:15px;border-radius:6px}.practice fieldset{border:0;padding:0;margin:24px 0 0;min-width:0}.practice legend{font-size:12px;color:#6a6d62;margin-bottom:20px}.practice-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.practice label{display:block;font-size:13px;margin-bottom:18px}.practice input,.practice textarea{box-sizing:border-box;width:100%;padding:12px;border:1px solid #d4d6cd;border-radius:5px;background:#f1f2ed;color:#777;font:inherit;display:block;margin-top:8px}.practice-upload{padding:30px 15px;border:1px dashed #a2a797;border-radius:8px;text-align:center;margin:20px 0}.practice-upload>*{display:block}.practice-upload span,.practice-upload small{margin-top:10px;color:#73796b}.practice button:disabled{opacity:.55;cursor:not-allowed;animation:none;transform:none}@media(max-width:900px){.practice-layout{grid-template-columns:1fr;gap:35px}}@media(max-width:450px){.practice-panel{padding:20px}.practice-fields{grid-template-columns:1fr}}

/* Clean white logo with genuine transparency */
header .logo,footer .logo{background-image:url('assets/logo-weiss-transparent.png');background-size:contain;background-position:left center}
header .brand,header .logo{width:220px;height:100px}
footer .brand,footer .logo{width:205px;height:96px}
@media(max-width:760px){header .brand,header .logo{width:150px;height:72px}}

/* Company history and specialisms supplied by the laboratory, October 2026. */
.history-timeline{list-style:none;margin:0 0 56px;padding:0;border-top:1px solid #bdc2b5}.history-timeline li{display:grid;grid-template-columns:160px 1fr 1.25fr;gap:28px;align-items:start;padding:28px 0;border-bottom:1px solid #bdc2b5}.history-date{font-size:12px;letter-spacing:.09em;line-height:1.7;color:#58624e}.history-timeline h3{font-size:24px;margin:0;line-height:1.25}.history-timeline p{font-size:15px;line-height:1.8;color:#64685e;margin:0}.expertise{margin-top:65px}.expertise-heading h3{margin:18px 0 30px;font-size:30px}.expertise-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.expertise-grid article{border-top:1px solid #bfc2b8;padding-top:25px}.expertise h4{font-size:21px;font-weight:500;letter-spacing:-.025em;line-height:1.35;margin:0 0 15px}.expertise p{font-size:16px;line-height:1.8;color:#64685e;margin:0}@media(max-width:900px){.history-timeline li{grid-template-columns:120px 1fr;gap:14px 24px}.history-timeline p{grid-column:2}}@media(max-width:760px){.history-timeline li{grid-template-columns:1fr;gap:12px;padding:24px 0}.history-timeline p{grid-column:auto}.history-timeline h3{font-size:24px}.expertise-grid{grid-template-columns:1fr;gap:26px}.expertise{margin-top:40px}}

/* Fallauftrag: Vorschau und leere Druckvorlage */
.practice-required{font-size:12px;line-height:1.6;color:#686b62}
